From 9a3330545b4d6e36637d7b9d4d2921686e49c640 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Mon, 9 Oct 2023 20:55:29 -0700 Subject: [PATCH 01/25] Update k8s deps for flytepropeller Signed-off-by: Haytham Abuelfutuh --- .../go/tasks/pluginmachinery/k8s/client.go | 20 +- flytepropeller/cmd/controller/cmd/root.go | 28 +- flytepropeller/cmd/controller/cmd/webhook.go | 31 +- flytepropeller/go.mod | 79 +- flytepropeller/go.sum | 742 +++--------------- .../pkg/compiler/validators/utils.go | 14 +- flytepropeller/pkg/controller/controller.go | 2 +- .../pkg/controller/executors/kube.go | 22 +- .../pkg/controller/garbage_collector.go | 7 +- .../pkg/controller/garbage_collector_test.go | 10 +- .../nodes/task/backoff/controller.go | 2 +- .../controller/nodes/task/backoff/handler.go | 2 +- .../nodes/task/backoff/handler_test.go | 6 +- .../nodes/task/k8s/event_watcher.go | 4 +- .../nodes/task/k8s/plugin_manager.go | 17 +- .../pkg/leaderelection/leader_election.go | 3 +- flytepropeller/plugins/loader.go | 2 +- 17 files changed, 215 insertions(+), 776 deletions(-) diff --git a/flyteplugins/go/tasks/pluginmachinery/k8s/client.go b/flyteplugins/go/tasks/pluginmachinery/k8s/client.go index fa6ec67d21..8fc47673b3 100644 --- a/flyteplugins/go/tasks/pluginmachinery/k8s/client.go +++ b/flyteplugins/go/tasks/pluginmachinery/k8s/client.go @@ -4,6 +4,7 @@ package k8s import ( "context" + "net/http" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" @@ -75,21 +76,8 @@ func (f *fallbackClientBuilder) WithUncached(objs ...client.Object) ClientBuilde return f } -func (f fallbackClientBuilder) Build(cache cache.Cache, config *rest.Config, options client.Options) (client.Client, error) { - c, err := client.New(config, options) - if err != nil { - return nil, err - } - - return client.NewDelegatingClient(client.NewDelegatingClientInput{ - Client: c, - CacheReader: fallbackClientReader{ - orderedClients: []client.Reader{cache, c}, - }, - UncachedObjects: f.uncached, - // TODO figure out if this should be true? - // CacheUnstructured: true, - }) +func (f *fallbackClientBuilder) Build(_ cache.Cache, config *rest.Config, options client.Options) (client.Client, error) { + return client.New(config, options) } // Creates a new k8s client that uses the cached client for reads and falls back to making API @@ -109,7 +97,7 @@ type Options struct { func NewKubeClient(config *rest.Config, options Options) (core.KubeClient, error) { if options.MapperProvider == nil { options.MapperProvider = func(c *rest.Config) (meta.RESTMapper, error) { - return apiutil.NewDynamicRESTMapper(config) + return apiutil.NewDynamicRESTMapper(config, http.DefaultClient) } } mapper, err := options.MapperProvider(config) diff --git a/flytepropeller/cmd/controller/cmd/root.go b/flytepropeller/cmd/controller/cmd/root.go index 7547418a71..4bead00ab6 100644 --- a/flytepropeller/cmd/controller/cmd/root.go +++ b/flytepropeller/cmd/controller/cmd/root.go @@ -4,14 +4,14 @@ package cmd import ( "context" "flag" - "net/http" - "os" - "runtime" - "github.com/flyteorg/flyte/flytepropeller/pkg/controller" config2 "github.com/flyteorg/flyte/flytepropeller/pkg/controller/config" "github.com/flyteorg/flyte/flytepropeller/pkg/controller/executors" "github.com/flyteorg/flyte/flytepropeller/pkg/signals" + "net/http" + "os" + "runtime" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "github.com/flyteorg/flyte/flytestdlib/config" "github.com/flyteorg/flyte/flytestdlib/config/viper" @@ -126,16 +126,26 @@ func executeRootCmd(baseCtx context.Context, cfg *config2.Config) error { // Add the propeller subscope because the MetricsPrefix only has "flyte:" to get uniform collection of metrics. propellerScope := promutils.NewScope(cfg.MetricsPrefix).NewSubScope("propeller").NewSubScope(cfg.LimitNamespace) limitNamespace := "" + var namespaceConfigs map[string]cache.Config if cfg.LimitNamespace != defaultNamespace { limitNamespace = cfg.LimitNamespace + namespaceConfigs = map[string]cache.Config{ + limitNamespace: {}, + } } + options := manager.Options{ - Namespace: limitNamespace, - SyncPeriod: &cfg.DownstreamEval.Duration, - NewClient: func(cache cache.Cache, config *rest.Config, options client.Options, uncachedObjects ...client.Object) (client.Client, error) { - return executors.NewFallbackClientBuilder(propellerScope.NewSubScope("kube")).Build(cache, config, options) + Cache: cache.Options{ + SyncPeriod: &cfg.DownstreamEval.Duration, + DefaultNamespaces: namespaceConfigs, + }, + NewClient: func(config *rest.Config, options client.Options) (client.Client, error) { + return executors.NewFallbackClientBuilder(propellerScope.NewSubScope("kube")).Build(nil, config, options) + }, + Metrics: metricsserver.Options{ + // Disable metrics serving + BindAddress: "0", }, - MetricsBindAddress: "0", } mgr, err := controller.CreateControllerManager(ctx, cfg, options) diff --git a/flytepropeller/cmd/controller/cmd/webhook.go b/flytepropeller/cmd/controller/cmd/webhook.go index a6b9be0492..fc0f1b237d 100644 --- a/flytepropeller/cmd/controller/cmd/webhook.go +++ b/flytepropeller/cmd/controller/cmd/webhook.go @@ -2,13 +2,14 @@ package cmd import ( "context" - "github.com/flyteorg/flyte/flytepropeller/pkg/controller" "github.com/flyteorg/flyte/flytepropeller/pkg/controller/config" "github.com/flyteorg/flyte/flytepropeller/pkg/controller/executors" "github.com/flyteorg/flyte/flytepropeller/pkg/signals" "github.com/flyteorg/flyte/flytepropeller/pkg/webhook" webhookConfig "github.com/flyteorg/flyte/flytepropeller/pkg/webhook/config" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" + ctrlWebhook "sigs.k8s.io/controller-runtime/pkg/webhook" "github.com/flyteorg/flyte/flytestdlib/contextutils" "github.com/flyteorg/flyte/flytestdlib/logger" @@ -100,19 +101,29 @@ func runWebhook(origContext context.Context, propellerCfg *config.Config, cfg *w } webhookScope := promutils.NewScope(cfg.MetricsPrefix).NewSubScope("webhook") - limitNamespace := "" + var namespaceConfigs map[string]cache.Config if propellerCfg.LimitNamespace != defaultNamespace { - limitNamespace = propellerCfg.LimitNamespace + namespaceConfigs = map[string]cache.Config{ + propellerCfg.LimitNamespace: {}, + } } + options := manager.Options{ - Namespace: limitNamespace, - SyncPeriod: &propellerCfg.DownstreamEval.Duration, - NewClient: func(cache cache.Cache, config *rest.Config, options client.Options, uncachedObjects ...client.Object) (client.Client, error) { - return executors.NewFallbackClientBuilder(webhookScope).Build(cache, config, options) + Cache: cache.Options{ + SyncPeriod: &propellerCfg.DownstreamEval.Duration, + DefaultNamespaces: namespaceConfigs, + }, + NewClient: func(config *rest.Config, options client.Options) (client.Client, error) { + return executors.NewFallbackClientBuilder(webhookScope).Build(nil, config, options) + }, + Metrics: metricsserver.Options{ + // Disable metrics serving + BindAddress: "0", }, - CertDir: cfg.CertDir, - Port: cfg.ListenPort, - MetricsBindAddress: "0", + WebhookServer: ctrlWebhook.NewServer(ctrlWebhook.Options{ + CertDir: cfg.CertDir, + Port: cfg.ListenPort, + }), } mgr, err := controller.CreateControllerManager(ctx, propellerCfg, options) diff --git a/flytepropeller/go.mod b/flytepropeller/go.mod index 249353d809..673dd9aa7c 100644 --- a/flytepropeller/go.mod +++ b/flytepropeller/go.mod @@ -20,21 +20,22 @@ require ( github.com/magiconair/properties v1.8.6 github.com/mitchellh/mapstructure v1.5.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.12.1 - github.com/sirupsen/logrus v1.8.1 - github.com/spf13/cobra v1.4.0 + github.com/prometheus/client_golang v1.16.0 + github.com/sirupsen/logrus v1.9.0 + github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.4 golang.org/x/exp v0.0.0-20231005195138-3e424a577f31 - golang.org/x/sync v0.1.0 - golang.org/x/time v0.1.0 + golang.org/x/sync v0.2.0 + golang.org/x/time v0.3.0 google.golang.org/grpc v1.56.1 google.golang.org/protobuf v1.30.0 - k8s.io/api v0.24.1 - k8s.io/apiextensions-apiserver v0.24.1 - k8s.io/apimachinery v0.24.1 - k8s.io/client-go v0.24.1 + k8s.io/api v0.28.2 + k8s.io/apiextensions-apiserver v0.28.0 + k8s.io/apimachinery v0.28.2 + k8s.io/client-go v0.28.1 k8s.io/klog v1.0.0 + k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 sigs.k8s.io/controller-runtime v0.12.1 ) @@ -43,7 +44,7 @@ require ( cloud.google.com/go/compute v1.19.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/storage v1.28.1 // indirect + cloud.google.com/go/storage v1.29.0 // indirect github.com/Azure/azure-sdk-for-go v63.4.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2 // indirect @@ -55,8 +56,6 @@ require ( github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 // indirect - github.com/Masterminds/semver v1.5.0 // indirect - github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d // indirect github.com/aws/aws-sdk-go v1.44.2 // indirect github.com/aws/aws-sdk-go-v2 v1.2.0 // indirect github.com/aws/aws-sdk-go-v2/config v1.0.0 // indirect @@ -73,18 +72,19 @@ require ( github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/evanphx/json-patch v5.6.0+incompatible // indirect + github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/flyteorg/stow v0.3.7 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/go-logr/logr v1.2.3 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/go-logr/logr v1.2.4 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.1 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.4.1 // indirect + github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect + github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect @@ -92,7 +92,7 @@ require ( github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -100,8 +100,8 @@ require ( github.com/kubeflow/training-operator v1.5.0-rc.0 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect @@ -110,9 +110,9 @@ require ( github.com/pelletier/go-toml/v2 v2.0.0-beta.8 // indirect github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect - github.com/prometheus/procfs v0.7.3 // indirect + github.com/prometheus/client_model v0.4.0 // indirect + github.com/prometheus/common v0.44.0 // indirect + github.com/prometheus/procfs v0.10.1 // indirect github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c // indirect github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.4.1 // indirect @@ -121,25 +121,26 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.2.0 // indirect go.opencensus.io v0.24.0 // indirect - golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect - golang.org/x/net v0.9.0 // indirect - golang.org/x/oauth2 v0.7.0 // indirect + golang.org/x/crypto v0.11.0 // indirect + golang.org/x/net v0.13.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect golang.org/x/sys v0.12.0 // indirect - golang.org/x/term v0.7.0 // indirect - golang.org/x/text v0.9.0 // indirect + golang.org/x/term v0.10.0 // indirect + golang.org/x/text v0.11.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect + gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/api v0.114.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/component-base v0.24.1 // indirect - k8s.io/klog/v2 v2.90.1 // indirect - k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect - k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect + k8s.io/component-base v0.28.1 // indirect + k8s.io/klog/v2 v2.100.1 // indirect + k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect @@ -147,10 +148,12 @@ require ( replace ( github.com/aws/amazon-sagemaker-operator-for-k8s => github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d - github.com/flyteorg/flyte/datacatalog => ../datacatalog - github.com/flyteorg/flyte/flyteadmin => ../flyteadmin github.com/flyteorg/flyte/flyteidl => ../flyteidl github.com/flyteorg/flyte/flyteplugins => ../flyteplugins - github.com/flyteorg/flyte/flytepropeller => ../flytepropeller github.com/flyteorg/flyte/flytestdlib => ../flytestdlib + k8s.io/api => k8s.io/api v0.28.2 + k8s.io/apimachinery => k8s.io/apimachinery v0.28.2 + k8s.io/client-go => k8s.io/client-go v0.28.2 + k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20230905202853-d090da108d2f + sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.16.2 ) diff --git a/flytepropeller/go.sum b/flytepropeller/go.sum index 5430099db3..6949600a0a 100644 --- a/flytepropeller/go.sum +++ b/flytepropeller/go.sum @@ -17,9 +17,6 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -34,7 +31,6 @@ cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGB cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= @@ -48,8 +44,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v63.4.0+incompatible h1:fle3M5Q7vr8auaiPffKyUQmLbvYeqpw30bKU6PrWJFo= github.com/Azure/azure-sdk-for-go v63.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -60,31 +56,20 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2 h1:Px2KVERcYEg2Lv25AqC2hVr github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2/go.mod h1:CdSJQNNzZhCkwDaV27XV1w48ZBPtxe7mlrZAsPNxD5g= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0 h1:0nJeKDmB7a1a8RDMjTltahlPsaNlWjq/LpkZleSwINk= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0/go.mod h1:mbwxKc/fW+IkF0GG591MuXw0KuEQBDkeRoZ9vmVJPxg= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= github.com/Azure/go-autorest/autorest/adal v0.9.18 h1:kLnPsRjzZZUF3K5REu/Kc+qMQrvuza2bwSnNdhmzLfQ= github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= @@ -94,39 +79,9 @@ github.com/DiSiqueira/GoTree v1.0.1-0.20180907134536-53a8e837f295 h1:xJ0dAkuxJXf github.com/DiSiqueira/GoTree v1.0.1-0.20180907134536-53a8e837f295/go.mod h1:e0aH495YLkrsIe9fhedd6aSR6fgU/qhKvtroi6y7G/M= github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 h1:cQyO5JQ2iuHnEcF3v24kdDMsgh04RjyFPDtuvD6PCE0= github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625/go.mod h1:6PnrZv6zUDkrNMw0mIoGRmGBR7i9LulhKPmxFq4rUiM= -github.com/Jeffail/gabs/v2 v2.5.1/go.mod h1:xCn81vdHKxFUuWWAaD5jCTQDNPBMh5pPs9IJ+NcziBI= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/adammck/venv v0.0.0-20160819025605-8a9c907a37d3/go.mod h1:3zXR2a/VSQndtpShh783rUTaEA2mpqN2VqZclBARBc0= -github.com/adammck/venv v0.0.0-20200610172036-e77789703e7c h1:RoL0r3mR3JSkLur8q8AD59cByJ+kRwJHODNimZBd7GI= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d h1:O+ayl/Vp3bDEXReXItmYHzCnsz/LKusXdRNiJKVxjPs= -github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d/go.mod h1:mZUP7GJmjiWtf8v3FD1X/QdK08BqyeH/1Ejt0qhNzCs= -github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.44.2 h1:5VBk5r06bgxgRKVaUtm1/4NT/rtrnH2E4cnAYv5zgQc= github.com/aws/aws-sdk-go v1.44.2/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.0.0/go.mod h1:smfAbmpW+tcRVuNUjo3MOArSZmW72t62rkCzc2i0TWM= @@ -147,25 +102,13 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.0.0/go.mod h1:5f+cELGATgill5Pu3/vK3E github.com/aws/smithy-go v1.0.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= github.com/aws/smithy-go v1.1.0 h1:D6CSsM3gdxaGaqXnPgOBCeL6Mophqzu7KJOu7zW78sU= github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 h1:VRtJdDi2lqc3MFwmouppm2jlm6icF+7H3WYKpLENMTo= github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1/go.mod h1:jvdWlw8vowVGnZqSDC7yhPd7AifQeQbRDkZcQXV2nRg= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= @@ -176,51 +119,17 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/coocood/freecache v1.1.1 h1:uukNF7QKCZEdZ9gAV7WQzvh0SbjwdMF6m3x3rxEkaPc= github.com/coocood/freecache v1.1.1/go.mod h1:OKrEjkGVoxZhyWAJoeFi5BMLUJm2Tit0kpGkIr7NGYY= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -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.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26 h1:6RByIva89lKEvwIzNQSUNcu8NG1p1wwwC4mJfVk/kqw= github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26/go.mod h1:OqIYr2QnxR3sQK2XahJIyWVcjz38LQ4GNcUzqezFpRg= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= -github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -228,129 +137,51 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= +github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= +github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flyteorg/stow v0.3.7 h1:Cx7j8/Ux6+toD5hp5fy++927V+yAcAttDeQAlUD/864= github.com/flyteorg/stow v0.3.7/go.mod h1:5dfBitPM004dwaZdoVylVjxFT4GWAgI0ghAndhNUzCo= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.2.1/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= -github.com/go-logr/zapr v0.2.0/go.mod h1:qhKdvif7YF5GI9NWEpyxTSSBdGmzkNguibrdCNVPunU= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/zapr v1.2.4 h1:QHVo+6stLbfJmYGkQ7uGHUCu5hnAFAj6mDe6Ea0SeOo= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.20.1 h1:FBLnyygC4/IZZr893oiomc9XaghoveYTrLC1F86HID8= -github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= github.com/go-redis/redis v6.15.7+incompatible h1:3skhDh95XQMpnqeqNftPkQD9jL9e5e36z/1SUm6dy1U= github.com/go-redis/redis v6.15.7+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= -github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ= -github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -363,8 +194,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -380,17 +209,12 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -405,7 +229,6 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= @@ -423,11 +246,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -437,96 +257,46 @@ 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/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= 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= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -535,184 +305,82 @@ github.com/kubeflow/common v0.4.3/go.mod h1:Qb/5aON7/OWVkN8OnjRqqT0i8X/XzMekRIZ8 github.com/kubeflow/training-operator v1.5.0-rc.0 h1:MaxbG80SYpIbDG63tSiwav4OXczrSFA5AFnaQavzgbw= github.com/kubeflow/training-operator v1.5.0-rc.0/go.mod h1:xgcu/ZI/RwKbTvYgzU7ZWFpxbsefSey5We3KmKroALY= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/ncw/swift v1.0.53 h1:luHjjTNtekIEvHg5KdAFIBaH7bWfNkefwFnpDffSIks= github.com/ncw/swift v1.0.53/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.0-beta.8 h1:dy81yyLYJDwMTifq24Oi/IslOslRrDSb3jwDggjz3Z0= github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= +github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= +github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= +github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c h1:eEqXhtlsUVt798HNUEbdQsMRZSjHSOF5Ilsywuhlgfc= github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c/go.mod h1:uLBlYqsCS2nsKiVlxJxI5EVgq8CrqNeHDP5uq3hde+c= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -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.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -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= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -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= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -720,7 +388,6 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf 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.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -729,99 +396,35 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= -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-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -847,7 +450,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -858,33 +460,18 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -895,7 +482,6 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -904,20 +490,13 @@ golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY= +golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= 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= @@ -927,12 +506,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= 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= @@ -943,41 +518,21 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -990,93 +545,60 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= 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.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= -golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1096,7 +618,6 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1112,9 +633,6 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1122,9 +640,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= +gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= +gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1144,8 +661,6 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -1188,29 +703,22 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 h1:9NWlQfY2ePejTmfwUH1OWwmznFa+0kKcHGPDvcPza9M= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1224,11 +732,6 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1243,50 +746,29 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/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-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1294,79 +776,33 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78= -k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI= -k8s.io/api v0.18.8/go.mod h1:d/CXqwWv+Z2XEG1LgceeDmHQwpUJhROPx16SlxJgERY= -k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= -k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= -k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY= -k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M= -k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= -k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= -k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA= -k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko= -k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig= -k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= -k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw= -k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg= -k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= -k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU= -k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q= -k8s.io/client-go v0.18.8/go.mod h1:HqFqMllQ5NnQJNwjro9k5zMyfhZlOwpuTLVrxjkYSxU= -k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= -k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= -k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= -k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= -k8s.io/code-generator v0.24.1 h1:zS+dvmUNaOcvsQ4faV9hXNjsKG9/pQaLnts1Wma4RM8= -k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM= -k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14= -k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= -k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= +k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= +k8s.io/apiextensions-apiserver v0.28.0 h1:CszgmBL8CizEnj4sj7/PtLGey6Na3YgWyGCPONv7E9E= +k8s.io/apiextensions-apiserver v0.28.0/go.mod h1:uRdYiwIuu0SyqJKriKmqEN2jThIJPhVmOWETm8ud1VE= +k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ= +k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU= +k8s.io/client-go v0.28.2 h1:DNoYI1vGq0slMBN/SWKMZMw0Rq+0EQW6/AK4v9+3VeY= +k8s.io/client-go v0.28.2/go.mod h1:sMkApowspLuc7omj1FOSUxSoqjr+d5Q0Yc0LOFnYFJY= +k8s.io/code-generator v0.28.0 h1:msdkRVJNVFgdiIJ8REl/d3cZsMB9HByFcWMmn13NyuE= +k8s.io/component-base v0.28.1 h1:LA4AujMlK2mr0tZbQDZkjWbdhTV5bRyEyAFe0TJxlWg= +k8s.io/component-base v0.28.1/go.mod h1:jI11OyhbX21Qtbav7JkhehyBsIRfnO8oEgoAR12ArIU= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= -k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= -k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= -k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20230209194617-a36077c30491 h1:r0BAOLElQnnFhE/ApUsg3iHdVYYPBjNSSOMowRZxxsY= -k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= +k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20230905202853-d090da108d2f h1:eeEUOoGYWhOz7EyXqhlR2zHKNw2mNJ9vzJmub6YN6kk= +k8s.io/kube-openapi v0.0.0-20230905202853-d090da108d2f/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.6.2/go.mod h1:vhcq/rlnENJ09SIRp3EveTaZ0yqH526hjf9iJdbUJ/E= -sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= -sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= -sigs.k8s.io/controller-tools v0.3.0/go.mod h1:enhtKGfxZD1GFEoMgP8Fdbu+uKQ/cq1/WGJhdVChfvI= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/controller-runtime v0.16.2 h1:mwXAVuEk3EQf478PQwQ48zGOXvW27UJc8NHktQVuIPU= +sigs.k8s.io/controller-runtime v0.16.2/go.mod h1:vpMu3LpI5sYWtujJOa2uPK61nB5rbwlN7BAB8aSLvGU= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= -sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/flytepropeller/pkg/compiler/validators/utils.go b/flytepropeller/pkg/compiler/validators/utils.go index 462cb94905..8edd1d7a11 100644 --- a/flytepropeller/pkg/compiler/validators/utils.go +++ b/flytepropeller/pkg/compiler/validators/utils.go @@ -2,8 +2,6 @@ package validators import ( "fmt" - "strings" - "golang.org/x/exp/slices" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" @@ -185,7 +183,17 @@ func literalTypeForLiterals(literals []*core.Literal) *core.LiteralType { } // sort inner types to ensure consistent union types are generated - slices.SortFunc(innerType, func(a, b *core.LiteralType) int { return strings.Compare(a.String(), b.String()) }) + slices.SortFunc(innerType, func(a, b *core.LiteralType) int { + aStr := a.String() + bStr := b.String() + if aStr < bStr { + return -1 + } else if aStr > bStr { + return 1 + } + + return 0 + }) return &core.LiteralType{ Type: &core.LiteralType_UnionType{ diff --git a/flytepropeller/pkg/controller/controller.go b/flytepropeller/pkg/controller/controller.go index 1ff81ef28c..1597806afa 100644 --- a/flytepropeller/pkg/controller/controller.go +++ b/flytepropeller/pkg/controller/controller.go @@ -56,7 +56,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/util/clock" + "k8s.io/utils/clock" k8sInformers "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" diff --git a/flytepropeller/pkg/controller/executors/kube.go b/flytepropeller/pkg/controller/executors/kube.go index d7bf3db776..278a12c0cd 100644 --- a/flytepropeller/pkg/controller/executors/kube.go +++ b/flytepropeller/pkg/controller/executors/kube.go @@ -70,26 +70,12 @@ func (f *FallbackClientBuilder) WithUncached(objs ...client.Object) ClientBuilde return f } -func (f FallbackClientBuilder) Build(cache cache.Cache, config *rest.Config, options client.Options) (client.Client, error) { - c, err := client.New(config, options) - if err != nil { - return nil, err +func (f *FallbackClientBuilder) Build(_ cache.Cache, config *rest.Config, options client.Options) (client.Client, error) { + if len(f.uncached) > 0 { + options.Cache.DisableFor = f.uncached } - c, err = newWriteThroughCachingWriter(c, 50000, f.scope) - if err != nil { - return nil, err - } - - return client.NewDelegatingClient(client.NewDelegatingClientInput{ - Client: c, - CacheReader: fallbackClientReader{ - orderedClients: []client.Reader{cache, c}, - }, - UncachedObjects: f.uncached, - // TODO figure out if this should be true? - // CacheUnstructured: true, - }) + return client.New(config, options) } // NewFallbackClientBuilder Creates a new k8s client that uses the cached client for reads and falls back to making API diff --git a/flytepropeller/pkg/controller/garbage_collector.go b/flytepropeller/pkg/controller/garbage_collector.go index 0b5e9094eb..7cdb0e31b9 100644 --- a/flytepropeller/pkg/controller/garbage_collector.go +++ b/flytepropeller/pkg/controller/garbage_collector.go @@ -15,7 +15,8 @@ import ( "github.com/flyteorg/flyte/flytestdlib/promutils" "github.com/flyteorg/flyte/flytestdlib/promutils/labeled" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/clock" + "k8s.io/utils/clock" + corev1 "k8s.io/client-go/kubernetes/typed/core/v1" ) @@ -129,7 +130,7 @@ func (g *GarbageCollector) deleteWorkflowsForNamespace(ctx context.Context, name } // runGC runs GC periodically -func (g *GarbageCollector) runGC(ctx context.Context, ticker clock.Ticker) { +func (g *GarbageCollector) runGC(ctx context.Context, ticker clock.Timer) { logger.Infof(ctx, "Background workflow garbage collection started, with duration [%s], TTL [%d] hours", g.interval.String(), g.ttlHours) ctx = contextutils.WithGoroutineLabel(ctx, "gc-worker") @@ -163,7 +164,7 @@ func (g *GarbageCollector) StartGC(ctx context.Context) error { logger.Warningf(ctx, "Garbage collector is disabled, as ttl [%d] is <=0", g.ttlHours) return nil } - ticker := g.clk.NewTicker(g.interval) + ticker := g.clk.NewTimer(g.interval) go g.runGC(ctx, ticker) return nil } diff --git a/flytepropeller/pkg/controller/garbage_collector_test.go b/flytepropeller/pkg/controller/garbage_collector_test.go index c972bc4c6a..ec94033180 100644 --- a/flytepropeller/pkg/controller/garbage_collector_test.go +++ b/flytepropeller/pkg/controller/garbage_collector_test.go @@ -2,6 +2,7 @@ package controller import ( "context" + testing2 "k8s.io/utils/clock/testing" "strings" "sync" "testing" @@ -15,7 +16,6 @@ import ( "github.com/stretchr/testify/assert" corev1Types "k8s.io/api/core/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/clock" corev1 "k8s.io/client-go/kubernetes/typed/core/v1" ) @@ -26,7 +26,7 @@ func TestNewGarbageCollector(t *testing.T) { MaxTTLInHours: 2, LimitNamespace: "flyte", } - gc, err := NewGarbageCollector(cfg, promutils.NewTestScope(), clock.NewFakeClock(time.Now()), nil, nil) + gc, err := NewGarbageCollector(cfg, promutils.NewTestScope(), testing2.NewFakeClock(time.Now()), nil, nil) assert.NoError(t, err) assert.Equal(t, 2, gc.ttlHours) }) @@ -37,7 +37,7 @@ func TestNewGarbageCollector(t *testing.T) { MaxTTLInHours: 24, LimitNamespace: "flyte", } - gc, err := NewGarbageCollector(cfg, promutils.NewTestScope(), clock.NewFakeClock(time.Now()), nil, nil) + gc, err := NewGarbageCollector(cfg, promutils.NewTestScope(), testing2.NewFakeClock(time.Now()), nil, nil) assert.NoError(t, err) assert.Equal(t, 23, gc.ttlHours) }) @@ -146,7 +146,7 @@ func TestGarbageCollector_StartGC(t *testing.T) { LimitNamespace: "flyte", } - fakeClock := clock.NewFakeClock(b) + fakeClock := testing2.NewFakeClock(b) mockNamespaceInvoked = false gc, err := NewGarbageCollector(cfg, promutils.NewTestScope(), fakeClock, mockNamespaceClient, mockClient) assert.NoError(t, err) @@ -167,7 +167,7 @@ func TestGarbageCollector_StartGC(t *testing.T) { LimitNamespace: "all", } - fakeClock := clock.NewFakeClock(b) + fakeClock := testing2.NewFakeClock(b) mockNamespaceInvoked = false gc, err := NewGarbageCollector(cfg, promutils.NewTestScope(), fakeClock, mockNamespaceClient, mockClient) assert.NoError(t, err) diff --git a/flytepropeller/pkg/controller/nodes/task/backoff/controller.go b/flytepropeller/pkg/controller/nodes/task/backoff/controller.go index 89faff559a..17f518c615 100644 --- a/flytepropeller/pkg/controller/nodes/task/backoff/controller.go +++ b/flytepropeller/pkg/controller/nodes/task/backoff/controller.go @@ -11,7 +11,7 @@ import ( "github.com/flyteorg/flyte/flytestdlib/logger" - "k8s.io/apimachinery/pkg/util/clock" + "k8s.io/utils/clock" ) // Controller is a name-spaced collection of back-off handlers diff --git a/flytepropeller/pkg/controller/nodes/task/backoff/handler.go b/flytepropeller/pkg/controller/nodes/task/backoff/handler.go index 8decfa09eb..a4b3a6f8ea 100644 --- a/flytepropeller/pkg/controller/nodes/task/backoff/handler.go +++ b/flytepropeller/pkg/controller/nodes/task/backoff/handler.go @@ -13,7 +13,7 @@ import ( v1 "k8s.io/api/core/v1" apiErrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/resource" - "k8s.io/apimachinery/pkg/util/clock" + "k8s.io/utils/clock" ) var ( diff --git a/flytepropeller/pkg/controller/nodes/task/backoff/handler_test.go b/flytepropeller/pkg/controller/nodes/task/backoff/handler_test.go index a164348b46..ec036f88af 100644 --- a/flytepropeller/pkg/controller/nodes/task/backoff/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/task/backoff/handler_test.go @@ -18,7 +18,7 @@ import ( apiErrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/clock" + "k8s.io/utils/clock" ) func TestComputeResourceAwareBackOffHandler_Handle(t *testing.T) { @@ -38,7 +38,7 @@ func TestComputeResourceAwareBackOffHandler_Handle(t *testing.T) { } ctx := context.TODO() - tc := clock.NewFakeClock(time.Now()) + tc := testing.NewFakeClock(time.Now()) type fields struct { SimpleBackOffBlocker *SimpleBackOffBlocker ComputeResourceCeilings *ComputeResourceCeilings @@ -475,7 +475,7 @@ func TestIsResourceQuotaExceeded(t *testing.T) { } func TestSimpleBackOffBlocker_backOff(t *testing.T) { - tc := clock.NewFakeClock(time.Now()) + tc := testing.NewFakeClock(time.Now()) maxBackOffDuration := 10 * time.Minute type fields struct { Clock clock.Clock diff --git a/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go b/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go index 660ccc8827..32d4b8f12a 100644 --- a/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go +++ b/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go @@ -2,6 +2,7 @@ package k8s import ( "context" + "k8s.io/client-go/tools/cache" "sort" "sync" "time" @@ -28,6 +29,7 @@ type EventWatcher interface { // Note that cardinality of per object events is relatively low (10s), while they may occur repeatedly. For example // the ImagePullBackOff event may continue to fire, but this is only backed by a single event. type eventWatcher struct { + cache.ResourceEventHandler informer informerEventsv1.EventInformer objectCache sync.Map } @@ -46,7 +48,7 @@ type EventInfo struct { RecordedAt time.Time } -func (e *eventWatcher) OnAdd(obj interface{}) { +func (e *eventWatcher) OnAdd(obj interface{}, isInInitialList bool) { event := obj.(*eventsv1.Event) objectNsName := types.NamespacedName{Namespace: event.Regarding.Namespace, Name: event.Regarding.Name} eventNsName := types.NamespacedName{Namespace: event.Namespace, Name: event.Name} diff --git a/flytepropeller/pkg/controller/nodes/task/k8s/plugin_manager.go b/flytepropeller/pkg/controller/nodes/task/k8s/plugin_manager.go index a1c58a00cb..f32651caa4 100644 --- a/flytepropeller/pkg/controller/nodes/task/k8s/plugin_manager.go +++ b/flytepropeller/pkg/controller/nodes/task/k8s/plugin_manager.go @@ -539,9 +539,7 @@ func NewPluginManager(ctx context.Context, iCtx pluginsCore.SetupContext, entry } logger.Infof(ctx, "Initializing K8s plugin [%s]", entry.ID) - src := source.Kind{ - Type: entry.ResourceToWatch, - } + src := source.Kind(iCtx.KubeClient().GetCache(), entry.ResourceToWatch) workflowParentPredicate := func(o metav1.Object) bool { if entry.Plugin.GetProperties().DisableInjectOwnerReferences { @@ -558,11 +556,6 @@ func NewPluginManager(ctx context.Context, iCtx pluginsCore.SetupContext, entry return false } - if err := src.InjectCache(kubeClient.GetCache()); err != nil { - logger.Errorf(ctx, "failed to set informers for ObjectType %s", src.String()) - return nil, err - } - metricsScope := iCtx.MetricsScope().NewSubScope(entry.ID) updateCount := labeled.NewCounter("informer_update", "Update events from informer", metricsScope) droppedUpdateCount := labeled.NewCounter("informer_update_dropped", "Update events from informer that have the same resource version", metricsScope) @@ -573,10 +566,10 @@ func NewPluginManager(ctx context.Context, iCtx pluginsCore.SetupContext, entry ctx, // Handlers handler.Funcs{ - CreateFunc: func(evt event.CreateEvent, q2 workqueue.RateLimitingInterface) { + CreateFunc: func(ctx context.Context, evt event.CreateEvent, q2 workqueue.RateLimitingInterface) { logger.Debugf(context.Background(), "Create received for %s, ignoring.", evt.Object.GetName()) }, - UpdateFunc: func(evt event.UpdateEvent, q2 workqueue.RateLimitingInterface) { + UpdateFunc: func(ctx context.Context, evt event.UpdateEvent, q2 workqueue.RateLimitingInterface) { if evt.ObjectNew == nil { logger.Warn(context.Background(), "Received an Update event with nil MetaNew.") } else if evt.ObjectOld == nil || evt.ObjectOld.GetResourceVersion() != evt.ObjectNew.GetResourceVersion() { @@ -601,10 +594,10 @@ func NewPluginManager(ctx context.Context, iCtx pluginsCore.SetupContext, entry droppedUpdateCount.Inc(newCtx) } }, - DeleteFunc: func(evt event.DeleteEvent, q2 workqueue.RateLimitingInterface) { + DeleteFunc: func(ctx context.Context, evt event.DeleteEvent, q2 workqueue.RateLimitingInterface) { logger.Debugf(context.Background(), "Delete received for %s, ignoring.", evt.Object.GetName()) }, - GenericFunc: func(evt event.GenericEvent, q2 workqueue.RateLimitingInterface) { + GenericFunc: func(ctx context.Context, evt event.GenericEvent, q2 workqueue.RateLimitingInterface) { logger.Debugf(context.Background(), "Generic received for %s, ignoring.", evt.Object.GetName()) genericCount.Inc(ctx) }, diff --git a/flytepropeller/pkg/leaderelection/leader_election.go b/flytepropeller/pkg/leaderelection/leader_election.go index cbd895d036..d7e193b23a 100644 --- a/flytepropeller/pkg/leaderelection/leader_election.go +++ b/flytepropeller/pkg/leaderelection/leader_election.go @@ -41,7 +41,8 @@ func NewResourceLock(corev1 v1.CoreV1Interface, coordinationV1 v12.CoordinationV } // Leader id, needs to be unique - return resourcelock.New(resourcelock.ConfigMapsLeasesResourceLock, + return resourcelock.New( + resourcelock.LeasesResourceLock, options.LockConfigMap.Namespace, options.LockConfigMap.Name, corev1, diff --git a/flytepropeller/plugins/loader.go b/flytepropeller/plugins/loader.go index 47620a5172..5afa0ebd05 100644 --- a/flytepropeller/plugins/loader.go +++ b/flytepropeller/plugins/loader.go @@ -12,7 +12,7 @@ import ( _ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/k8s/kfoperators/tensorflow" _ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/k8s/pod" _ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/k8s/ray" - _ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/k8s/sagemaker" + //_ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/k8s/sagemaker" _ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/k8s/spark" _ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/webapi/athena" _ "github.com/flyteorg/flyte/flyteplugins/go/tasks/plugins/webapi/bigquery" From 638a8d18e70362c33d8c62fbd68d16c65a8364a6 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Tue, 10 Oct 2023 14:15:10 -0700 Subject: [PATCH 02/25] wip Signed-off-by: Haytham Abuelfutuh --- flyteadmin/go.mod | 58 +++--- flyteadmin/go.sum | 360 +++++++--------------------------- go.mod | 64 +++--- go.sum | 488 ++++++++-------------------------------------- 4 files changed, 211 insertions(+), 759 deletions(-) diff --git a/flyteadmin/go.mod b/flyteadmin/go.mod index 72806a06af..224e92dff0 100644 --- a/flyteadmin/go.mod +++ b/flyteadmin/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( cloud.google.com/go/iam v0.13.0 - cloud.google.com/go/storage v1.28.1 + cloud.google.com/go/storage v1.29.0 github.com/NYTimes/gizmo v1.3.6 github.com/Selvatico/go-mocket v1.0.7 github.com/aws/aws-sdk-go v1.44.2 @@ -12,7 +12,7 @@ require ( github.com/cloudevents/sdk-go/binding/format/protobuf/v2 v2.8.0 github.com/cloudevents/sdk-go/v2 v2.8.0 github.com/coreos/go-oidc v2.2.1+incompatible - github.com/evanphx/json-patch v4.12.0+incompatible + github.com/evanphx/json-patch v5.6.0+incompatible github.com/flyteorg/flyte/flyteidl v0.0.0-00010101000000-000000000000 github.com/flyteorg/flyte/flyteplugins v0.0.0-00010101000000-000000000000 github.com/flyteorg/flyte/flytepropeller v0.0.0-00010101000000-000000000000 @@ -21,7 +21,7 @@ require ( github.com/ghodss/yaml v1.0.0 github.com/go-gormigrate/gormigrate/v2 v2.0.0 github.com/gogo/protobuf v1.3.2 - github.com/golang-jwt/jwt/v4 v4.4.1 + github.com/golang-jwt/jwt/v4 v4.5.0 github.com/golang/glog v1.1.0 github.com/golang/protobuf v1.5.3 github.com/google/uuid v1.3.0 @@ -39,26 +39,26 @@ require ( github.com/ory/fosite v0.42.2 github.com/ory/x v0.0.214 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.12.1 - github.com/prometheus/client_model v0.2.0 + github.com/prometheus/client_golang v1.16.0 + github.com/prometheus/client_model v0.4.0 github.com/robfig/cron/v3 v3.0.0 github.com/sendgrid/sendgrid-go v3.10.0+incompatible - github.com/spf13/cobra v1.4.0 + github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.4 - golang.org/x/oauth2 v0.7.0 + golang.org/x/oauth2 v0.8.0 golang.org/x/time v0.3.0 google.golang.org/api v0.114.0 - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 + google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 google.golang.org/grpc v1.56.1 google.golang.org/protobuf v1.30.0 gorm.io/driver/mysql v1.4.4 gorm.io/driver/postgres v1.4.5 gorm.io/driver/sqlite v1.1.1 gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755 - k8s.io/api v0.24.1 - k8s.io/apimachinery v0.24.1 - k8s.io/client-go v0.24.1 + k8s.io/api v0.28.2 + k8s.io/apimachinery v0.28.2 + k8s.io/client-go v0.28.1 sigs.k8s.io/controller-runtime v0.12.1 ) @@ -93,11 +93,11 @@ require ( github.com/eapache/queue v1.1.0 // indirect github.com/emicklei/go-restful/v3 v3.9.0 // indirect github.com/fatih/color v1.13.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/go-logr/logr v1.2.3 // indirect + github.com/felixge/httpsnoop v1.0.3 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/go-logr/logr v1.2.4 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.1 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/go-test/deep v1.0.7 // indirect @@ -105,7 +105,7 @@ require ( github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.3 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect + github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect @@ -113,7 +113,7 @@ require ( github.com/hashicorp/go-uuid v1.0.2 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect github.com/jackc/pgio v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect @@ -136,10 +136,10 @@ require ( github.com/lib/pq v1.10.4 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect github.com/mattn/goveralls v0.0.6 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect @@ -154,10 +154,10 @@ require ( github.com/pierrec/lz4 v2.5.2+incompatible // indirect github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/procfs v0.7.3 // indirect + github.com/prometheus/procfs v0.10.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect github.com/sendgrid/rest v2.6.8+incompatible // indirect - github.com/sirupsen/logrus v1.8.1 // indirect + github.com/sirupsen/logrus v1.9.0 // indirect github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.4.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -175,6 +175,8 @@ require ( golang.org/x/tools v0.13.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/jcmturner/aescts.v1 v1.0.1 // indirect @@ -184,7 +186,7 @@ require ( gopkg.in/square/go-jose.v2 v2.5.2-0.20210529014059-a5c7eec3c614 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.24.1 // indirect + k8s.io/apiextensions-apiserver v0.28.0 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) @@ -196,13 +198,13 @@ require ( github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2 v2.8.0 github.com/imdario/mergo v0.3.13 // indirect github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 // indirect - github.com/prometheus/common v0.32.1 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect + github.com/prometheus/common v0.44.0 // indirect + go.uber.org/atomic v1.10.0 // indirect + go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.19.1 // indirect - k8s.io/klog/v2 v2.90.1 // indirect - k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect - k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect + k8s.io/klog/v2 v2.100.1 // indirect + k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect + k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect ) diff --git a/flyteadmin/go.sum b/flyteadmin/go.sum index 7604bb29ec..f1ec5d6b18 100644 --- a/flyteadmin/go.sum +++ b/flyteadmin/go.sum @@ -20,9 +20,6 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -37,7 +34,6 @@ cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGB cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g= @@ -55,8 +51,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= contrib.go.opencensus.io/exporter/stackdriver v0.13.1/go.mod h1:z2tyTZtPmQ2HvWH4cOmVDgtY+1lomfKdbLnkJvZdc8c= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v63.4.0+incompatible h1:fle3M5Q7vr8auaiPffKyUQmLbvYeqpw30bKU6PrWJFo= @@ -69,13 +65,10 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2/go.mod h1:CdSJQNNzZhCkwDaV github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0 h1:0nJeKDmB7a1a8RDMjTltahlPsaNlWjq/LpkZleSwINk= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0/go.mod h1:mbwxKc/fW+IkF0GG591MuXw0KuEQBDkeRoZ9vmVJPxg= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= github.com/Azure/go-autorest/autorest/adal v0.9.18 h1:kLnPsRjzZZUF3K5REu/Kc+qMQrvuza2bwSnNdhmzLfQ= github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= @@ -104,8 +97,6 @@ github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcy github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/NYTimes/gizmo v1.3.6 h1:K+GRagPdAxojsT1TlTQlMkTeOmgfLxSdvuOhdki7GG0= github.com/NYTimes/gizmo v1.3.6/go.mod h1:8S8QVnITA40p/1jGsUMcPI8R9SSKkoKu+8WF13s9Uhw= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/NYTimes/logrotate v1.0.0/go.mod h1:GxNz1cSw1c6t99PXoZlw+nm90H6cyQyrH66pjVv7x88= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= @@ -125,19 +116,11 @@ github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMx github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= @@ -149,7 +132,6 @@ github.com/aws/aws-sdk-go v1.31.3/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU github.com/aws/aws-sdk-go v1.44.2 h1:5VBk5r06bgxgRKVaUtm1/4NT/rtrnH2E4cnAYv5zgQc= github.com/aws/aws-sdk-go v1.44.2/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 h1:VRtJdDi2lqc3MFwmouppm2jlm6icF+7H3WYKpLENMTo= @@ -158,9 +140,6 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/bmatcuk/doublestar/v2 v2.0.3/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737 h1:rRISKWyXfVxvoa702s91Zl5oREZTrR3yv+tXrrX7G/g= @@ -169,12 +148,8 @@ github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QH github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= @@ -192,15 +167,11 @@ github.com/cloudevents/sdk-go/v2 v2.8.0/go.mod h1:GpCBmUj7DIRiDhVvsK5d6WCbgTWs8D github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= @@ -211,23 +182,18 @@ github.com/coocood/freecache v1.1.1 h1:uukNF7QKCZEdZ9gAV7WQzvh0SbjwdMF6m3x3rxEka github.com/coocood/freecache v1.1.1/go.mod h1:OKrEjkGVoxZhyWAJoeFi5BMLUJm2Tit0kpGkIr7NGYY= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= 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.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -253,7 +219,6 @@ github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompati github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -266,10 +231,7 @@ github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/elazarl/goproxy v0.0.0-20181003060214-f58a169a71a5/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= @@ -278,25 +240,22 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= +github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flyteorg/stow v0.3.7 h1:Cx7j8/Ux6+toD5hp5fy++927V+yAcAttDeQAlUD/864= github.com/flyteorg/stow v0.3.7/go.mod h1:5dfBitPM004dwaZdoVylVjxFT4GWAgI0ghAndhNUzCo= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= @@ -305,10 +264,8 @@ github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8 github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= @@ -325,13 +282,10 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= @@ -349,16 +303,14 @@ github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwds github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.20.1 h1:FBLnyygC4/IZZr893oiomc9XaghoveYTrLC1F86HID8= -github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= @@ -389,7 +341,6 @@ github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= @@ -403,6 +354,7 @@ github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LB github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= @@ -655,7 +607,6 @@ github.com/gobuffalo/x v0.0.0-20181003152136-452098b06085/go.mod h1:WevpGD+5YOre github.com/gobuffalo/x v0.0.0-20181007152206-913e47c59ca7/go.mod h1:9rDPXaB3kXdKWzMc4odGQQdG2e2DIEmANy5aSJ9yesY= github.com/goccy/go-json v0.4.8 h1:TfwOxfSp8hXH+ivoOk36RyDNmXATUETRdaNWDaZglf8= github.com/goccy/go-json v0.4.8/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= @@ -666,21 +617,19 @@ github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFG github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ= -github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/gddo v0.0.0-20180828051604-96d2a289f41e/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -696,7 +645,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -715,8 +663,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -725,11 +671,8 @@ github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -745,7 +688,6 @@ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-jsonnet v0.16.0/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= @@ -763,8 +705,7 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -800,7 +741,6 @@ github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0U github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gotestyourself/gotestyourself v1.3.0/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= @@ -812,41 +752,26 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 h1:7xsUJsB2NrdcttQPa7JLEaGzvdbk7KvfrjgHZXOQRo0= github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69/go.mod h1:YLEMZOtU+AZ7dhN9T/IpGhXVGly2bvkJQ+zxj3WeVQo= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-retryablehttp v0.6.8/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inhies/go-bytesize v0.0.0-20201103132853-d0aed0d254f8/go.mod h1:KrtyD5PFj++GKkFS/7/RRrfnRhAMGQwy75GLCHWrCNs= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -945,13 +870,10 @@ github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqx github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= @@ -959,7 +881,6 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= @@ -991,8 +912,8 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= @@ -1036,7 +957,6 @@ github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= @@ -1069,7 +989,6 @@ github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -1077,8 +996,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= @@ -1089,28 +1009,19 @@ github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpe github.com/mattn/goveralls v0.0.6 h1:cr8Y0VMo/MnEZBjxNN/vh6G90SZ7IMb6lms1dzMoO+Y= github.com/mattn/goveralls v0.0.6/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -1125,35 +1036,27 @@ github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGE github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/moul/http2curl v0.0.0-20170919181001-9ac6cf4d929b/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/ncw/swift v1.0.53 h1:luHjjTNtekIEvHg5KdAFIBaH7bWfNkefwFnpDffSIks= github.com/ncw/swift v1.0.53/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oleiade/reflections v1.0.0/go.mod h1:RbATFBbKYkVdqmSFtx13Bb/tVhR0lgOBXunWTZKeL4w= github.com/oleiade/reflections v1.0.1 h1:D1XO3LVEYroYskEsoSiGItp9RUxG6jWnCVvrqH0HHQM= github.com/oleiade/reflections v1.0.1/go.mod h1:rdFxbxq4QXVZWj0F+e9jqjDkc7dbp97vkRixKo2JR60= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/ginkgo/v2 v2.9.4 h1:xR7vG4IXt5RWx6FfIjyAtsoMAtnc3C/rFXBBd2AjZwE= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -1161,8 +1064,7 @@ github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= @@ -1204,7 +1106,6 @@ github.com/ory/x v0.0.127/go.mod h1:FwUujfFuCj5d+xgLn4fGMYPnzriR5bdAIulFXMtnK0M= github.com/ory/x v0.0.214 h1:nz5ijvm5MVhYxWsQSuUrW1hj9F5QLZvPn/nLo5s06T4= github.com/ory/x v0.0.214/go.mod h1:aRl57gzyD4GF0HQCekovXhv0xTZgAgiht3o8eVhsm9Q= github.com/parnurzeal/gorequest v0.2.15/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -1216,7 +1117,6 @@ github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhEC github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.0-beta.8 h1:dy81yyLYJDwMTifq24Oi/IslOslRrDSb3jwDggjz3Z0= github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -1236,38 +1136,30 @@ github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v0.9.4/go.mod h1:oCXIBxdI62A4cR6aTRJCgetEjecSIYzOEaeAn4iYEpM= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= +github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= +github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -1284,6 +1176,7 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= @@ -1292,11 +1185,9 @@ github.com/rubenv/sql-migrate v0.0.0-20190212093014-1007f53448d7/go.mod h1:WS0rl github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= github.com/santhosh-tekuri/jsonschema/v2 v2.1.0/go.mod h1:yzJzKUGV4RbWqWIBBP4wSOBqavX5saE02yirLS0OTyg= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c/go.mod h1:/THDZYi7F/BsVEcYzYPqdcWFQ+1C2InkawTKfLOAnzg= github.com/segmentio/analytics-go v3.0.1+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= github.com/segmentio/analytics-go v3.1.0+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= @@ -1334,14 +1225,12 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= 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= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= @@ -1350,7 +1239,6 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= @@ -1365,9 +1253,8 @@ github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tL github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -1380,12 +1267,10 @@ github.com/spf13/viper v1.2.1/go.mod h1:P4AexN0a+C9tGAnUFNwDMYYZv3pjFuvmeiMyKRaN github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= github.com/sqs/goreturns v0.0.0-20181028201513-538ac6014518/go.mod h1:CKI4AZ4XmGV240rTHfO0hfE83S6/a3/Q1siZJ/vXf7A= github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693/go.mod h1:6hSY48PjDm4UObWmGLyJE9DxYVKTgR9kbCspXXJEhcU= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -1419,7 +1304,6 @@ github.com/tidwall/sjson v1.0.4/go.mod h1:bURseu1nuBkFpIES5cz6zBtjmYeOQmEESshn7V github.com/tidwall/sjson v1.1.5/go.mod h1:VuJzsZnTowhSxWdOgsAnb886i4AjEyTkk7tNtsL7EYE= github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= @@ -1446,7 +1330,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= go.elastic.co/apm v1.8.0/go.mod h1:tCw6CkOJgkWnzEthFN9HUP1uL3Gjc/Ur6m7gRPLaoH0= @@ -1454,17 +1337,6 @@ go.elastic.co/apm/module/apmhttp v1.8.0/go.mod h1:9LPFlEON51/lRbnWDfqAWErihIiAFD go.elastic.co/apm/module/apmot v1.8.0/go.mod h1:Q5Xzabte8G/fkvDjr1jlDuOSUt9hkVWNZEHh6ZNaTjI= go.elastic.co/fastjson v1.0.0/go.mod h1:PmeUOMMtLHQr9ZS9J9owrAVg0FkaZDRZJEFTTGHtchs= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= @@ -1476,48 +1348,34 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib v0.18.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.18.0/go.mod h1:iK1G0FgHurSJ/aYLg5LpnPI0pqdanM73S3dhyDp0Lk4= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= go.opentelemetry.io/otel v0.18.0/go.mod h1:PT5zQj4lTsR1YeARt8YNKcFb88/c2IKoSABK9mX0r78= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/metric v0.18.0/go.mod h1:kEH2QtzAyBy3xDVQfGZKIcok4ZZFvd5xyKPfPcuK6pE= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/oteltest v0.18.0/go.mod h1:NyierCU3/G8DLTva7KRzGii2fdxdR89zXKH1bNWY7Bo= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.18.0/go.mod h1:FzdUu3BPwZSZebfQ1vl5/tAa8LyMLXSJN57AXIt/iDk= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +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/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1530,7 +1388,6 @@ golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1560,7 +1417,6 @@ golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201217014255-9d1352758620/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= @@ -1569,7 +1425,6 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= @@ -1603,7 +1458,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -1615,7 +1469,6 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1631,7 +1484,6 @@ golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1662,7 +1514,6 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -1672,16 +1523,10 @@ golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= @@ -1696,12 +1541,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= 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= @@ -1717,7 +1558,6 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180831094639-fa5fdf94c789/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1757,16 +1597,13 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200121082415-34d275377bf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1781,41 +1618,28 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1829,7 +1653,6 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3 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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= @@ -1837,9 +1660,7 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= 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.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1900,8 +1721,6 @@ golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1926,7 +1745,6 @@ golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1946,9 +1764,7 @@ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210114065538-d78b04bdf963/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1959,7 +1775,7 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= +gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= @@ -1987,8 +1803,6 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -2037,24 +1851,18 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 h1:9NWlQfY2ePejTmfwUH1OWwmznFa+0kKcHGPDvcPza9M= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -2078,10 +1886,6 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= @@ -2097,7 +1901,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/DataDog/dd-trace-go.v1 v1.22.0/go.mod h1:DVp8HmDh8PuTu2Z0fVVlBsyWaC++fzwVCaGWylTe3tg= @@ -2138,7 +1941,6 @@ gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuv gopkg.in/jcmturner/rpc.v1 v1.1.0 h1:QHIUxTX1ISuAv9dD2wJ9HWQVuWDX/Zc0PfeC2tjc4rU= gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8= gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.1.9/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -2152,7 +1954,6 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -2183,7 +1984,6 @@ gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755/go.mod h1:DVrVomtaYTbqs7gB/x2 gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2192,32 +1992,21 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= -k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= -k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= -k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= -k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= -k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= -k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= -k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= -k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= -k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= -k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= -k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20230209194617-a36077c30491 h1:r0BAOLElQnnFhE/ApUsg3iHdVYYPBjNSSOMowRZxxsY= -k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= +k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= +k8s.io/apiextensions-apiserver v0.28.0 h1:CszgmBL8CizEnj4sj7/PtLGey6Na3YgWyGCPONv7E9E= +k8s.io/apiextensions-apiserver v0.28.0/go.mod h1:uRdYiwIuu0SyqJKriKmqEN2jThIJPhVmOWETm8ud1VE= +k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ= +k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU= +k8s.io/client-go v0.28.1 h1:pRhMzB8HyLfVwpngWKE8hDcXRqifh1ga2Z/PU9SXVK8= +k8s.io/client-go v0.28.1/go.mod h1:pEZA3FqOsVkCc07pFVzK076R+P/eXqsgx5zuuRWukNE= +k8s.io/component-base v0.28.1 h1:LA4AujMlK2mr0tZbQDZkjWbdhTV5bRyEyAFe0TJxlWg= +k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= +k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= +k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= @@ -2227,16 +2016,11 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/go.mod b/go.mod index 889bfc66ec..3a05f16cc7 100644 --- a/go.mod +++ b/go.mod @@ -8,12 +8,12 @@ require ( github.com/flyteorg/flyte/flytepropeller v1.9.4 github.com/flyteorg/flyte/flytestdlib v1.9.4 github.com/golang/glog v1.1.0 - github.com/prometheus/client_golang v1.12.1 - github.com/spf13/cobra v1.4.0 + github.com/prometheus/client_golang v1.16.0 + github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 golang.org/x/sync v0.3.0 gorm.io/driver/postgres v1.4.5 - k8s.io/client-go v0.24.1 + k8s.io/client-go v0.28.1 sigs.k8s.io/controller-runtime v0.12.1 ) @@ -23,7 +23,7 @@ require ( cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v0.13.0 // indirect cloud.google.com/go/pubsub v1.30.0 // indirect - cloud.google.com/go/storage v1.28.1 // indirect + cloud.google.com/go/storage v1.29.0 // indirect github.com/Azure/azure-sdk-for-go v63.4.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2 // indirect @@ -35,11 +35,9 @@ require ( github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 // indirect - github.com/Masterminds/semver v1.5.0 // indirect github.com/NYTimes/gizmo v1.3.6 // indirect github.com/Shopify/sarama v1.26.4 // indirect github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 // indirect - github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d // indirect github.com/aws/aws-sdk-go v1.44.2 // indirect github.com/aws/aws-sdk-go-v2 v1.2.0 // indirect github.com/aws/aws-sdk-go-v2/config v1.0.0 // indirect @@ -68,29 +66,29 @@ require ( github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect github.com/eapache/queue v1.1.0 // indirect github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/evanphx/json-patch v5.6.0+incompatible // indirect github.com/fatih/color v1.13.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/felixge/httpsnoop v1.0.3 // indirect github.com/flyteorg/flyte/flyteidl v0.0.0-00010101000000-000000000000 // indirect github.com/flyteorg/flyte/flyteplugins v0.0.0-00010101000000-000000000000 // indirect github.com/flyteorg/stow v0.3.7 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-gormigrate/gormigrate/v2 v2.0.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/logr v1.2.4 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.1 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/go-redis/redis v6.15.7+incompatible // indirect github.com/go-test/deep v1.0.7 // indirect github.com/goccy/go-json v0.4.8 // indirect github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.4.1 // indirect + github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.3 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect + github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.3.0 // indirect @@ -107,7 +105,7 @@ require ( github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/imdario/mergo v0.3.13 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect github.com/jackc/pgconn v1.13.0 // indirect github.com/jackc/pgio v1.0.0 // indirect @@ -134,10 +132,10 @@ require ( github.com/magiconair/properties v1.8.6 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect github.com/mattn/goveralls v0.0.6 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect @@ -157,15 +155,15 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect - github.com/prometheus/procfs v0.7.3 // indirect + github.com/prometheus/client_model v0.4.0 // indirect + github.com/prometheus/common v0.44.0 // indirect + github.com/prometheus/procfs v0.10.1 // indirect github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c // indirect github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect github.com/robfig/cron/v3 v3.0.0 // indirect github.com/sendgrid/rest v2.6.8+incompatible // indirect github.com/sendgrid/sendgrid-go v3.10.0+incompatible // indirect - github.com/sirupsen/logrus v1.8.1 // indirect + github.com/sirupsen/logrus v1.9.0 // indirect github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.4.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -174,23 +172,25 @@ require ( github.com/stretchr/testify v1.8.4 // indirect github.com/subosito/gotenv v1.2.0 // indirect go.opencensus.io v0.24.0 // indirect - go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.8.0 // indirect + go.uber.org/atomic v1.10.0 // indirect + go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.21.0 // indirect golang.org/x/crypto v0.13.0 // indirect golang.org/x/exp v0.0.0-20231005195138-3e424a577f31 // indirect golang.org/x/net v0.15.0 // indirect - golang.org/x/oauth2 v0.7.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect golang.org/x/sys v0.12.0 // indirect golang.org/x/term v0.12.0 // indirect golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.13.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect + gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/api v0.114.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect google.golang.org/grpc v1.56.1 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect @@ -204,13 +204,13 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect gorm.io/driver/sqlite v1.1.1 // indirect gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755 // indirect - k8s.io/api v0.24.1 // indirect - k8s.io/apiextensions-apiserver v0.24.1 // indirect - k8s.io/apimachinery v0.24.1 // indirect - k8s.io/component-base v0.24.1 // indirect - k8s.io/klog/v2 v2.90.1 // indirect - k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect - k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect + k8s.io/api v0.28.2 // indirect + k8s.io/apiextensions-apiserver v0.28.0 // indirect + k8s.io/apimachinery v0.28.2 // indirect + k8s.io/component-base v0.28.1 // indirect + k8s.io/klog/v2 v2.100.1 // indirect + k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect + k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect diff --git a/go.sum b/go.sum index edc4408994..0c43c76ab1 100644 --- a/go.sum +++ b/go.sum @@ -20,9 +20,6 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -37,7 +34,6 @@ cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGB cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g= @@ -55,8 +51,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= contrib.go.opencensus.io/exporter/stackdriver v0.13.1/go.mod h1:z2tyTZtPmQ2HvWH4cOmVDgtY+1lomfKdbLnkJvZdc8c= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v63.4.0+incompatible h1:fle3M5Q7vr8auaiPffKyUQmLbvYeqpw30bKU6PrWJFo= @@ -69,30 +65,20 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2/go.mod h1:CdSJQNNzZhCkwDaV github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0 h1:0nJeKDmB7a1a8RDMjTltahlPsaNlWjq/LpkZleSwINk= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0/go.mod h1:mbwxKc/fW+IkF0GG591MuXw0KuEQBDkeRoZ9vmVJPxg= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= github.com/Azure/go-autorest/autorest/adal v0.9.18 h1:kLnPsRjzZZUF3K5REu/Kc+qMQrvuza2bwSnNdhmzLfQ= github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= @@ -104,10 +90,8 @@ github.com/DataDog/datadog-go v4.0.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 github.com/DataDog/opencensus-go-exporter-datadog v0.0.0-20191210083620-6965a1cfed68/go.mod h1:gMGUEe16aZh0QN941HgDjwrdjU4iTthPoz2/AtDRADE= github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 h1:cQyO5JQ2iuHnEcF3v24kdDMsgh04RjyFPDtuvD6PCE0= github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625/go.mod h1:6PnrZv6zUDkrNMw0mIoGRmGBR7i9LulhKPmxFq4rUiM= -github.com/Jeffail/gabs/v2 v2.5.1/go.mod h1:xCn81vdHKxFUuWWAaD5jCTQDNPBMh5pPs9IJ+NcziBI= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= @@ -115,17 +99,13 @@ github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcy github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/NYTimes/gizmo v1.3.6 h1:K+GRagPdAxojsT1TlTQlMkTeOmgfLxSdvuOhdki7GG0= github.com/NYTimes/gizmo v1.3.6/go.mod h1:8S8QVnITA40p/1jGsUMcPI8R9SSKkoKu+8WF13s9Uhw= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/NYTimes/logrotate v1.0.0/go.mod h1:GxNz1cSw1c6t99PXoZlw+nm90H6cyQyrH66pjVv7x88= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Selvatico/go-mocket v1.0.7 h1:sXuFMnMfVL9b/Os8rGXPgbOFbr4HJm8aHsulD/uMTUk= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -134,37 +114,22 @@ github.com/Shopify/sarama v1.26.4 h1:+17TxUq/PJEAfZAll0T7XJjSgQWCpaQSoki/x5yN8o8 github.com/Shopify/sarama v1.26.4/go.mod h1:NbSGBSSndYaIhRcBtY9V0U7AyH+x71bG668AuWys/yU= github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/adammck/venv v0.0.0-20160819025605-8a9c907a37d3/go.mod h1:3zXR2a/VSQndtpShh783rUTaEA2mpqN2VqZclBARBc0= -github.com/adammck/venv v0.0.0-20200610172036-e77789703e7c h1:RoL0r3mR3JSkLur8q8AD59cByJ+kRwJHODNimZBd7GI= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY= github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d h1:O+ayl/Vp3bDEXReXItmYHzCnsz/LKusXdRNiJKVxjPs= -github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d/go.mod h1:mZUP7GJmjiWtf8v3FD1X/QdK08BqyeH/1Ejt0qhNzCs= github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.3/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.44.2 h1:5VBk5r06bgxgRKVaUtm1/4NT/rtrnH2E4cnAYv5zgQc= github.com/aws/aws-sdk-go v1.44.2/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.0.0/go.mod h1:smfAbmpW+tcRVuNUjo3MOArSZmW72t62rkCzc2i0TWM= @@ -186,7 +151,6 @@ github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDy github.com/aws/smithy-go v1.0.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= github.com/aws/smithy-go v1.1.0 h1:D6CSsM3gdxaGaqXnPgOBCeL6Mophqzu7KJOu7zW78sU= github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 h1:VRtJdDi2lqc3MFwmouppm2jlm6icF+7H3WYKpLENMTo= @@ -195,10 +159,6 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/bmatcuk/doublestar/v2 v2.0.3/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= @@ -208,12 +168,8 @@ github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QH github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= @@ -231,16 +187,11 @@ github.com/cloudevents/sdk-go/v2 v2.8.0/go.mod h1:GpCBmUj7DIRiDhVvsK5d6WCbgTWs8D github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= @@ -251,26 +202,18 @@ github.com/coocood/freecache v1.1.1 h1:uukNF7QKCZEdZ9gAV7WQzvh0SbjwdMF6m3x3rxEka github.com/coocood/freecache v1.1.1/go.mod h1:OKrEjkGVoxZhyWAJoeFi5BMLUJm2Tit0kpGkIr7NGYY= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= 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.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA= github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26 h1:6RByIva89lKEvwIzNQSUNcu8NG1p1wwwC4mJfVk/kqw= github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26/go.mod h1:OqIYr2QnxR3sQK2XahJIyWVcjz38LQ4GNcUzqezFpRg= @@ -294,13 +237,10 @@ github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8 github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -313,10 +253,7 @@ github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/elazarl/goproxy v0.0.0-20181003060214-f58a169a71a5/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= @@ -325,30 +262,22 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= +github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flyteorg/stow v0.3.7 h1:Cx7j8/Ux6+toD5hp5fy++927V+yAcAttDeQAlUD/864= github.com/flyteorg/stow v0.3.7/go.mod h1:5dfBitPM004dwaZdoVylVjxFT4GWAgI0ghAndhNUzCo= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= @@ -357,11 +286,8 @@ github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8 github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= @@ -378,16 +304,10 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.2.1/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= -github.com/go-logr/zapr v0.2.0/go.mod h1:qhKdvif7YF5GI9NWEpyxTSSBdGmzkNguibrdCNVPunU= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= @@ -401,35 +321,29 @@ github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.20.0/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.20.1 h1:FBLnyygC4/IZZr893oiomc9XaghoveYTrLC1F86HID8= -github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= @@ -443,20 +357,17 @@ github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6 github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= github.com/go-redis/redis v6.15.7+incompatible h1:3skhDh95XQMpnqeqNftPkQD9jL9e5e36z/1SUm6dy1U= github.com/go-redis/redis v6.15.7+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= @@ -465,6 +376,7 @@ github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= @@ -717,7 +629,6 @@ github.com/gobuffalo/x v0.0.0-20181003152136-452098b06085/go.mod h1:WevpGD+5YOre github.com/gobuffalo/x v0.0.0-20181007152206-913e47c59ca7/go.mod h1:9rDPXaB3kXdKWzMc4odGQQdG2e2DIEmANy5aSJ9yesY= github.com/goccy/go-json v0.4.8 h1:TfwOxfSp8hXH+ivoOk36RyDNmXATUETRdaNWDaZglf8= github.com/goccy/go-json v0.4.8/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= @@ -728,24 +639,21 @@ github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFG github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ= -github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/gddo v0.0.0-20180828051604-96d2a289f41e/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -759,10 +667,8 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -779,8 +685,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -789,11 +693,8 @@ github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -809,7 +710,6 @@ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-jsonnet v0.16.0/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= @@ -827,8 +727,7 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -842,11 +741,7 @@ 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/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gopherjs/gopherjs v0.0.0-20181004151105-1babbf986f6f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -863,62 +758,42 @@ github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyC github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.1.2/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gotestyourself/gotestyourself v1.3.0/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= 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= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 h1:7xsUJsB2NrdcttQPa7JLEaGzvdbk7KvfrjgHZXOQRo0= github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69/go.mod h1:YLEMZOtU+AZ7dhN9T/IpGhXVGly2bvkJQ+zxj3WeVQo= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-retryablehttp v0.6.8/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inhies/go-bytesize v0.0.0-20201103132853-d0aed0d254f8/go.mod h1:KrtyD5PFj++GKkFS/7/RRrfnRhAMGQwy75GLCHWrCNs= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -1017,15 +892,10 @@ github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqx github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= @@ -1033,7 +903,6 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= @@ -1065,8 +934,8 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= @@ -1108,14 +977,11 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= @@ -1148,7 +1014,6 @@ github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -1156,9 +1021,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= @@ -1169,28 +1034,19 @@ github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpe github.com/mattn/goveralls v0.0.6 h1:cr8Y0VMo/MnEZBjxNN/vh6G90SZ7IMb6lms1dzMoO+Y= github.com/mattn/goveralls v0.0.6/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -1205,37 +1061,27 @@ github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGE github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/moul/http2curl v0.0.0-20170919181001-9ac6cf4d929b/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/ncw/swift v1.0.53 h1:luHjjTNtekIEvHg5KdAFIBaH7bWfNkefwFnpDffSIks= github.com/ncw/swift v1.0.53/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oleiade/reflections v1.0.0/go.mod h1:RbATFBbKYkVdqmSFtx13Bb/tVhR0lgOBXunWTZKeL4w= github.com/oleiade/reflections v1.0.1 h1:D1XO3LVEYroYskEsoSiGItp9RUxG6jWnCVvrqH0HHQM= github.com/oleiade/reflections v1.0.1/go.mod h1:rdFxbxq4QXVZWj0F+e9jqjDkc7dbp97vkRixKo2JR60= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/ginkgo/v2 v2.9.4 h1:xR7vG4IXt5RWx6FfIjyAtsoMAtnc3C/rFXBBd2AjZwE= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -1243,9 +1089,7 @@ github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= @@ -1287,7 +1131,6 @@ github.com/ory/x v0.0.127/go.mod h1:FwUujfFuCj5d+xgLn4fGMYPnzriR5bdAIulFXMtnK0M= github.com/ory/x v0.0.214 h1:nz5ijvm5MVhYxWsQSuUrW1hj9F5QLZvPn/nLo5s06T4= github.com/ory/x v0.0.214/go.mod h1:aRl57gzyD4GF0HQCekovXhv0xTZgAgiht3o8eVhsm9Q= github.com/parnurzeal/gorequest v0.2.15/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -1299,7 +1142,6 @@ github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhEC github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.0-beta.8 h1:dy81yyLYJDwMTifq24Oi/IslOslRrDSb3jwDggjz3Z0= github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -1319,40 +1161,30 @@ github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac h1:jWKYCNlX4J5s8M0nHYkh7Y7c9gRVDEb3mq51j5J0F5M= github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac/go.mod h1:hoLfEwdY11HjRfKFH6KqnPsfxlo3BP6bJehpDv8t6sQ= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v0.9.4/go.mod h1:oCXIBxdI62A4cR6aTRJCgetEjecSIYzOEaeAn4iYEpM= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= +github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= +github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c h1:eEqXhtlsUVt798HNUEbdQsMRZSjHSOF5Ilsywuhlgfc= github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c/go.mod h1:uLBlYqsCS2nsKiVlxJxI5EVgq8CrqNeHDP5uq3hde+c= @@ -1371,6 +1203,7 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= @@ -1379,11 +1212,9 @@ github.com/rubenv/sql-migrate v0.0.0-20190212093014-1007f53448d7/go.mod h1:WS0rl github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= github.com/santhosh-tekuri/jsonschema/v2 v2.1.0/go.mod h1:yzJzKUGV4RbWqWIBBP4wSOBqavX5saE02yirLS0OTyg= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c/go.mod h1:/THDZYi7F/BsVEcYzYPqdcWFQ+1C2InkawTKfLOAnzg= github.com/segmentio/analytics-go v3.0.1+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= github.com/segmentio/analytics-go v3.1.0+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= @@ -1421,14 +1252,12 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= 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= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= @@ -1437,7 +1266,6 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= @@ -1452,15 +1280,12 @@ github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tL github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= 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= @@ -1469,12 +1294,10 @@ github.com/spf13/viper v1.2.1/go.mod h1:P4AexN0a+C9tGAnUFNwDMYYZv3pjFuvmeiMyKRaN github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= github.com/sqs/goreturns v0.0.0-20181028201513-538ac6014518/go.mod h1:CKI4AZ4XmGV240rTHfO0hfE83S6/a3/Q1siZJ/vXf7A= github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693/go.mod h1:6hSY48PjDm4UObWmGLyJE9DxYVKTgR9kbCspXXJEhcU= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -1507,9 +1330,7 @@ github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV github.com/tidwall/sjson v1.0.4/go.mod h1:bURseu1nuBkFpIES5cz6zBtjmYeOQmEESshn7VpF15Y= github.com/tidwall/sjson v1.1.5/go.mod h1:VuJzsZnTowhSxWdOgsAnb886i4AjEyTkk7tNtsL7EYE= github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= @@ -1521,11 +1342,9 @@ github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a h1:pTbOzzOh94yt3 github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= @@ -1538,7 +1357,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= go.elastic.co/apm v1.8.0/go.mod h1:tCw6CkOJgkWnzEthFN9HUP1uL3Gjc/Ur6m7gRPLaoH0= @@ -1546,22 +1364,8 @@ go.elastic.co/apm/module/apmhttp v1.8.0/go.mod h1:9LPFlEON51/lRbnWDfqAWErihIiAFD go.elastic.co/apm/module/apmot v1.8.0/go.mod h1:Q5Xzabte8G/fkvDjr1jlDuOSUt9hkVWNZEHh6ZNaTjI= go.elastic.co/fastjson v1.0.0/go.mod h1:PmeUOMMtLHQr9ZS9J9owrAVg0FkaZDRZJEFTTGHtchs= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -1571,52 +1375,34 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib v0.18.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.18.0/go.mod h1:iK1G0FgHurSJ/aYLg5LpnPI0pqdanM73S3dhyDp0Lk4= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= go.opentelemetry.io/otel v0.18.0/go.mod h1:PT5zQj4lTsR1YeARt8YNKcFb88/c2IKoSABK9mX0r78= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/metric v0.18.0/go.mod h1:kEH2QtzAyBy3xDVQfGZKIcok4ZZFvd5xyKPfPcuK6pE= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/oteltest v0.18.0/go.mod h1:NyierCU3/G8DLTva7KRzGii2fdxdR89zXKH1bNWY7Bo= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.18.0/go.mod h1:FzdUu3BPwZSZebfQ1vl5/tAa8LyMLXSJN57AXIt/iDk= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +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/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1629,14 +1415,12 @@ golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190102171810-8d7daa0c54b3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1656,12 +1440,10 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201217014255-9d1352758620/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= @@ -1670,7 +1452,6 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= @@ -1704,7 +1485,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -1716,9 +1496,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1733,7 +1511,6 @@ golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1753,7 +1530,6 @@ golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1765,7 +1541,6 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -1775,16 +1550,10 @@ golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= @@ -1799,12 +1568,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= 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= @@ -1819,9 +1584,7 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180831094639-fa5fdf94c789/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1843,7 +1606,6 @@ golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181206074257-70b957f3b65e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1862,17 +1624,13 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200121082415-34d275377bf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1887,41 +1645,28 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1929,25 +1674,20 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= 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.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1956,7 +1696,6 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20181003024731-2f84ea8ef872/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181006002542-f60d9635b16a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181013182035-5e66757b835f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181017214349-06f26fdaaa28/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1978,7 +1717,6 @@ golang.org/x/tools v0.0.0-20190104182027-498d95493402/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190111214448-fc1d57b08d7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -2005,14 +1743,11 @@ golang.org/x/tools v0.0.0-20190711191110-9a621aea19f8/go.mod h1:jcCCGcm9btYwXyDq golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -2037,7 +1772,6 @@ golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -2057,9 +1791,7 @@ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210114065538-d78b04bdf963/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2070,9 +1802,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= +gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= +gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= @@ -2100,8 +1831,6 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -2150,24 +1879,18 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 h1:9NWlQfY2ePejTmfwUH1OWwmznFa+0kKcHGPDvcPza9M= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -2191,10 +1914,6 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= @@ -2210,7 +1929,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/DataDog/dd-trace-go.v1 v1.22.0/go.mod h1:DVp8HmDh8PuTu2Z0fVVlBsyWaC++fzwVCaGWylTe3tg= @@ -2224,7 +1942,6 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= @@ -2252,7 +1969,6 @@ gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuv gopkg.in/jcmturner/rpc.v1 v1.1.0 h1:QHIUxTX1ISuAv9dD2wJ9HWQVuWDX/Zc0PfeC2tjc4rU= gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8= gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.1.9/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -2266,13 +1982,11 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/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-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -2296,7 +2010,6 @@ gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755/go.mod h1:DVrVomtaYTbqs7gB/x2 gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2305,59 +2018,23 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= -k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78= -k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI= -k8s.io/api v0.18.8/go.mod h1:d/CXqwWv+Z2XEG1LgceeDmHQwpUJhROPx16SlxJgERY= -k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= -k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= -k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY= -k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M= -k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= -k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= -k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA= -k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko= -k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig= -k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= -k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw= -k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg= -k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= -k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU= -k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q= -k8s.io/client-go v0.18.8/go.mod h1:HqFqMllQ5NnQJNwjro9k5zMyfhZlOwpuTLVrxjkYSxU= -k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= -k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= -k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= -k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= -k8s.io/code-generator v0.24.1 h1:zS+dvmUNaOcvsQ4faV9hXNjsKG9/pQaLnts1Wma4RM8= -k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM= -k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14= -k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= -k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= -k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= -k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= -k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20230209194617-a36077c30491 h1:r0BAOLElQnnFhE/ApUsg3iHdVYYPBjNSSOMowRZxxsY= -k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= +k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= +k8s.io/apiextensions-apiserver v0.28.0 h1:CszgmBL8CizEnj4sj7/PtLGey6Na3YgWyGCPONv7E9E= +k8s.io/apiextensions-apiserver v0.28.0/go.mod h1:uRdYiwIuu0SyqJKriKmqEN2jThIJPhVmOWETm8ud1VE= +k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ= +k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU= +k8s.io/client-go v0.28.1 h1:pRhMzB8HyLfVwpngWKE8hDcXRqifh1ga2Z/PU9SXVK8= +k8s.io/client-go v0.28.1/go.mod h1:pEZA3FqOsVkCc07pFVzK076R+P/eXqsgx5zuuRWukNE= +k8s.io/code-generator v0.28.0 h1:msdkRVJNVFgdiIJ8REl/d3cZsMB9HByFcWMmn13NyuE= +k8s.io/component-base v0.28.1 h1:LA4AujMlK2mr0tZbQDZkjWbdhTV5bRyEyAFe0TJxlWg= +k8s.io/component-base v0.28.1/go.mod h1:jI11OyhbX21Qtbav7JkhehyBsIRfnO8oEgoAR12ArIU= +k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= +k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= +k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= @@ -2367,22 +2044,11 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.6.2/go.mod h1:vhcq/rlnENJ09SIRp3EveTaZ0yqH526hjf9iJdbUJ/E= sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= -sigs.k8s.io/controller-tools v0.3.0/go.mod h1:enhtKGfxZD1GFEoMgP8Fdbu+uKQ/cq1/WGJhdVChfvI= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= -sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= From f38bc63676357660dfb7425af60c4286bf888184 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Wed, 11 Oct 2023 15:05:26 -0700 Subject: [PATCH 03/25] Introduce InputData and OutputData wrappers Signed-off-by: Haytham Abuelfutuh --- .../gen/pb-cpp/flyteidl/admin/agent.pb.cc | 317 ++- flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.h | 206 +- .../gen/pb-cpp/flyteidl/admin/event.pb.cc | 6 +- .../gen/pb-cpp/flyteidl/admin/execution.pb.cc | 534 ++-- .../gen/pb-cpp/flyteidl/admin/execution.pb.h | 221 +- .../pb-cpp/flyteidl/admin/launch_plan.pb.cc | 181 +- .../pb-cpp/flyteidl/admin/launch_plan.pb.h | 73 +- .../flyteidl/admin/node_execution.pb.cc | 196 +- .../pb-cpp/flyteidl/admin/node_execution.pb.h | 148 +- .../flyteidl/admin/task_execution.pb.cc | 198 +- .../pb-cpp/flyteidl/admin/task_execution.pb.h | 148 +- .../gen/pb-cpp/flyteidl/core/literals.pb.cc | 703 ++++- .../gen/pb-cpp/flyteidl/core/literals.pb.h | 368 ++- .../gen/pb-cpp/flyteidl/event/event.pb.cc | 815 ++++-- flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h | 385 ++- .../pb-cpp/flyteidl/service/dataproxy.pb.cc | 229 +- .../pb-cpp/flyteidl/service/dataproxy.pb.h | 94 + .../service/external_plugin_service.pb.cc | 327 ++- .../service/external_plugin_service.pb.h | 207 +- flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go | 139 +- .../pb-go/flyteidl/admin/agent.pb.validate.go | 24 +- .../gen/pb-go/flyteidl/admin/execution.pb.go | 281 +- .../flyteidl/admin/execution.pb.validate.go | 30 + .../pb-go/flyteidl/admin/launch_plan.pb.go | 162 +- .../flyteidl/admin/launch_plan.pb.validate.go | 10 + .../pb-go/flyteidl/admin/node_execution.pb.go | 182 +- .../admin/node_execution.pb.validate.go | 20 + .../pb-go/flyteidl/admin/task_execution.pb.go | 147 +- .../admin/task_execution.pb.validate.go | 20 + .../gen/pb-go/flyteidl/core/literals.pb.go | 233 +- .../flyteidl/core/literals.pb.validate.go | 148 ++ flyteidl/gen/pb-go/flyteidl/event/event.pb.go | 302 ++- .../pb-go/flyteidl/event/event.pb.validate.go | 60 + .../pb-go/flyteidl/service/admin.swagger.json | 96 +- .../pb-go/flyteidl/service/agent.swagger.json | 22 +- .../pb-go/flyteidl/service/dataproxy.pb.go | 149 +- .../flyteidl/service/dataproxy.swagger.json | 24 + .../service/external_plugin_service.pb.go | 116 +- .../external_plugin_service.swagger.json | 22 +- .../flyteidl/service/flyteadmin/README.md | 2 + .../service/flyteadmin/api/swagger.yaml | 132 +- .../model_admin_execution_create_request.go | 2 + .../model_admin_launch_plan_spec.go | 3 +- ..._admin_node_execution_get_data_response.go | 8 +- ..._admin_task_execution_get_data_response.go | 8 +- ...in_workflow_execution_get_data_response.go | 8 +- .../flyteadmin/model_core_input_data.go | 14 + .../flyteadmin/model_core_output_data.go | 14 + .../model_event_node_execution_event.go | 8 +- .../model_event_task_execution_event.go | 10 +- .../model_event_workflow_execution_event.go | 3 +- .../gen/pb-go/flyteidl/service/openapi.go | 4 +- .../gen/pb-java/flyteidl/admin/Agent.java | 903 +++++-- .../flyteidl/admin/ExecutionOuterClass.java | 1229 +++++++-- .../flyteidl/admin/LaunchPlanOuterClass.java | 420 ++- .../admin/NodeExecutionOuterClass.java | 706 ++++- .../admin/TaskExecutionOuterClass.java | 674 ++++- .../gen/pb-java/flyteidl/core/Literals.java | 1291 +++++++++- .../gen/pb-java/flyteidl/event/Event.java | 2280 ++++++++++++++--- .../pb-java/flyteidl/service/Dataproxy.java | 601 ++++- .../ExternalPluginServiceOuterClass.java | 914 +++++-- flyteidl/gen/pb-js/flyteidl.d.ts | 274 +- flyteidl/gen/pb-js/flyteidl.js | 762 +++++- .../gen/pb_python/flyteidl/admin/agent_pb2.py | 36 +- .../pb_python/flyteidl/admin/agent_pb2.pyi | 18 +- .../pb_python/flyteidl/admin/execution_pb2.py | 106 +- .../flyteidl/admin/execution_pb2.pyi | 14 +- .../flyteidl/admin/launch_plan_pb2.py | 34 +- .../flyteidl/admin/launch_plan_pb2.pyi | 6 +- .../flyteidl/admin/node_execution_pb2.py | 8 +- .../flyteidl/admin/node_execution_pb2.pyi | 8 +- .../flyteidl/admin/task_execution_pb2.py | 8 +- .../flyteidl/admin/task_execution_pb2.pyi | 8 +- .../pb_python/flyteidl/core/literals_pb2.py | 38 +- .../pb_python/flyteidl/core/literals_pb2.pyi | 12 + .../gen/pb_python/flyteidl/event/event_pb2.py | 62 +- .../pb_python/flyteidl/event/event_pb2.pyi | 32 +- .../flyteidl/service/dataproxy_pb2.py | 12 +- .../flyteidl/service/dataproxy_pb2.pyi | 8 +- .../service/external_plugin_service_pb2.py | 37 +- .../service/external_plugin_service_pb2.pyi | 19 +- .../flyteidl/service/flyteadmin/README.md | 2 + .../service/flyteadmin/flyteadmin/__init__.py | 2 + .../flyteadmin/flyteadmin/models/__init__.py | 2 + .../models/admin_execution_create_request.py | 35 +- .../models/admin_launch_plan_spec.py | 33 +- .../admin_node_execution_get_data_response.py | 68 +- .../admin_task_execution_get_data_response.py | 68 +- ...in_workflow_execution_get_data_response.py | 72 +- .../flyteadmin/models/core_input_data.py | 117 + .../flyteadmin/models/core_output_data.py | 117 + .../models/event_node_execution_event.py | 72 +- .../models/event_task_execution_event.py | 76 +- .../models/event_workflow_execution_event.py | 35 +- .../flyteadmin/test/test_core_input_data.py | 40 + .../flyteadmin/test/test_core_output_data.py | 40 + flyteidl/gen/pb_rust/flyteidl.admin.rs | 63 +- flyteidl/gen/pb_rust/flyteidl.core.rs | 12 + flyteidl/gen/pb_rust/flyteidl.event.rs | 46 +- flyteidl/gen/pb_rust/flyteidl.service.rs | 25 +- flyteidl/protos/flyteidl/admin/agent.proto | 14 +- .../protos/flyteidl/admin/execution.proto | 20 +- .../protos/flyteidl/admin/launch_plan.proto | 6 +- .../flyteidl/admin/node_execution.proto | 14 +- .../flyteidl/admin/task_execution.proto | 12 +- flyteidl/protos/flyteidl/core/literals.proto | 8 + flyteidl/protos/flyteidl/event/event.proto | 36 +- .../protos/flyteidl/service/dataproxy.proto | 6 + .../service/external_plugin_service.proto | 16 +- 109 files changed, 16135 insertions(+), 3201 deletions(-) create mode 100644 flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go create mode 100644 flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go create mode 100644 flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py create mode 100644 flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py create mode 100644 flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_input_data.py create mode 100644 flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_output_data.py diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.cc index 3ca2f983e2..efdb9d9120 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.cc @@ -19,9 +19,11 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fagent_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_TaskExecutionMetadata_AnnotationsEntry_DoNotUse_flyteidl_2fadmin_2fagent_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fagent_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_TaskExecutionMetadata_EnvironmentVariablesEntry_DoNotUse_flyteidl_2fadmin_2fagent_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fagent_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_TaskExecutionMetadata_LabelsEntry_DoNotUse_flyteidl_2fadmin_2fagent_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fagent_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Resource_flyteidl_2fadmin_2fagent_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fagent_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_Resource_flyteidl_2fadmin_2fagent_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fagent_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_TaskExecutionMetadata_flyteidl_2fadmin_2fagent_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftasks_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_TaskTemplate_flyteidl_2fcore_2ftasks_2eproto; namespace flyteidl { @@ -140,11 +142,12 @@ static void InitDefaultsCreateTaskRequest_flyteidl_2fadmin_2fagent_2eproto() { ::flyteidl::admin::CreateTaskRequest::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<3> scc_info_CreateTaskRequest_flyteidl_2fadmin_2fagent_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsCreateTaskRequest_flyteidl_2fadmin_2fagent_2eproto}, { +::google::protobuf::internal::SCCInfo<4> scc_info_CreateTaskRequest_flyteidl_2fadmin_2fagent_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsCreateTaskRequest_flyteidl_2fadmin_2fagent_2eproto}, { &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_TaskTemplate_flyteidl_2fcore_2ftasks_2eproto.base, - &scc_info_TaskExecutionMetadata_flyteidl_2fadmin_2fagent_2eproto.base,}}; + &scc_info_TaskExecutionMetadata_flyteidl_2fadmin_2fagent_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; static void InitDefaultsCreateTaskResponse_flyteidl_2fadmin_2fagent_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -200,9 +203,10 @@ static void InitDefaultsResource_flyteidl_2fadmin_2fagent_2eproto() { ::flyteidl::admin::Resource::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<1> scc_info_Resource_flyteidl_2fadmin_2fagent_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsResource_flyteidl_2fadmin_2fagent_2eproto}, { - &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; +::google::protobuf::internal::SCCInfo<2> scc_info_Resource_flyteidl_2fadmin_2fagent_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsResource_flyteidl_2fadmin_2fagent_2eproto}, { + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; static void InitDefaultsDeleteTaskRequest_flyteidl_2fadmin_2fagent_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -294,10 +298,11 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fagent_2eproto::o ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flyteidl::admin::CreateTaskRequest, inputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::CreateTaskRequest, deprecated_inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::CreateTaskRequest, template__), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::CreateTaskRequest, output_prefix_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::CreateTaskRequest, task_execution_metadata_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::CreateTaskRequest, inputs_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::CreateTaskResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -323,6 +328,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fagent_2eproto::o ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Resource, state_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Resource, deprecated_outputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Resource, outputs_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::DeleteTaskRequest, _internal_metadata_), @@ -343,12 +349,12 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 18, 25, sizeof(::flyteidl::admin::TaskExecutionMetadata_EnvironmentVariablesEntry_DoNotUse)}, { 27, -1, sizeof(::flyteidl::admin::TaskExecutionMetadata)}, { 38, -1, sizeof(::flyteidl::admin::CreateTaskRequest)}, - { 47, -1, sizeof(::flyteidl::admin::CreateTaskResponse)}, - { 53, -1, sizeof(::flyteidl::admin::GetTaskRequest)}, - { 60, -1, sizeof(::flyteidl::admin::GetTaskResponse)}, - { 66, -1, sizeof(::flyteidl::admin::Resource)}, - { 73, -1, sizeof(::flyteidl::admin::DeleteTaskRequest)}, - { 80, -1, sizeof(::flyteidl::admin::DeleteTaskResponse)}, + { 48, -1, sizeof(::flyteidl::admin::CreateTaskResponse)}, + { 54, -1, sizeof(::flyteidl::admin::GetTaskRequest)}, + { 61, -1, sizeof(::flyteidl::admin::GetTaskResponse)}, + { 67, -1, sizeof(::flyteidl::admin::Resource)}, + { 75, -1, sizeof(::flyteidl::admin::DeleteTaskRequest)}, + { 82, -1, sizeof(::flyteidl::admin::DeleteTaskResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -389,30 +395,33 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fagent_2eproto[] = "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0322\n\020Anno" "tationsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" ":\0028\001\032;\n\031EnvironmentVariablesEntry\022\013\n\003key" - "\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\314\001\n\021CreateTask" - "Request\022)\n\006inputs\030\001 \001(\0132\031.flyteidl.core." - "LiteralMap\022-\n\010template\030\002 \001(\0132\033.flyteidl." - "core.TaskTemplate\022\025\n\routput_prefix\030\003 \001(\t" - "\022F\n\027task_execution_metadata\030\004 \001(\0132%.flyt" - "eidl.admin.TaskExecutionMetadata\"+\n\022Crea" - "teTaskResponse\022\025\n\rresource_meta\030\001 \001(\014\":\n" - "\016GetTaskRequest\022\021\n\ttask_type\030\001 \001(\t\022\025\n\rre" - "source_meta\030\002 \001(\014\"=\n\017GetTaskResponse\022*\n\010" - "resource\030\001 \001(\0132\030.flyteidl.admin.Resource" - "\"\\\n\010Resource\022$\n\005state\030\001 \001(\0162\025.flyteidl.a" - "dmin.State\022*\n\007outputs\030\002 \001(\0132\031.flyteidl.c" - "ore.LiteralMap\"=\n\021DeleteTaskRequest\022\021\n\tt" - "ask_type\030\001 \001(\t\022\025\n\rresource_meta\030\002 \001(\014\"\024\n" - "\022DeleteTaskResponse*^\n\005State\022\025\n\021RETRYABL" - "E_FAILURE\020\000\022\025\n\021PERMANENT_FAILURE\020\001\022\013\n\007PE" - "NDING\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDED\020\004B=Z;g" - "ithub.com/flyteorg/flyte/flyteidl/gen/pb" - "-go/flyteidl/adminb\006proto3" + "\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\205\002\n\021CreateTask" + "Request\0228\n\021deprecated_inputs\030\001 \001(\0132\031.fly" + "teidl.core.LiteralMapB\002\030\001\022-\n\010template\030\002 " + "\001(\0132\033.flyteidl.core.TaskTemplate\022\025\n\routp" + "ut_prefix\030\003 \001(\t\022F\n\027task_execution_metada" + "ta\030\004 \001(\0132%.flyteidl.admin.TaskExecutionM" + "etadata\022(\n\006inputs\030\005 \001(\0132\030.flyteidl.core." + "InputData\"+\n\022CreateTaskResponse\022\025\n\rresou" + "rce_meta\030\001 \001(\014\":\n\016GetTaskRequest\022\021\n\ttask" + "_type\030\001 \001(\t\022\025\n\rresource_meta\030\002 \001(\014\"=\n\017Ge" + "tTaskResponse\022*\n\010resource\030\001 \001(\0132\030.flytei" + "dl.admin.Resource\"\227\001\n\010Resource\022$\n\005state\030" + "\001 \001(\0162\025.flyteidl.admin.State\0229\n\022deprecat" + "ed_outputs\030\002 \001(\0132\031.flyteidl.core.Literal" + "MapB\002\030\001\022*\n\007outputs\030\003 \001(\0132\031.flyteidl.core" + ".OutputData\"=\n\021DeleteTaskRequest\022\021\n\ttask" + "_type\030\001 \001(\t\022\025\n\rresource_meta\030\002 \001(\014\"\024\n\022De" + "leteTaskResponse*^\n\005State\022\025\n\021RETRYABLE_F" + "AILURE\020\000\022\025\n\021PERMANENT_FAILURE\020\001\022\013\n\007PENDI" + "NG\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDED\020\004B=Z;gith" + "ub.com/flyteorg/flyte/flyteidl/gen/pb-go" + "/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fagent_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fagent_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fagent_2eproto, - "flyteidl/admin/agent.proto", &assign_descriptors_table_flyteidl_2fadmin_2fagent_2eproto, 1426, + "flyteidl/admin/agent.proto", &assign_descriptors_table_flyteidl_2fadmin_2fagent_2eproto, 1543, }; void AddDescriptors_flyteidl_2fadmin_2fagent_2eproto() { @@ -1503,23 +1512,26 @@ ::google::protobuf::Metadata TaskExecutionMetadata::GetMetadata() const { // =================================================================== void CreateTaskRequest::InitAsDefaultInstance() { - ::flyteidl::admin::_CreateTaskRequest_default_instance_._instance.get_mutable()->inputs_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::admin::_CreateTaskRequest_default_instance_._instance.get_mutable()->deprecated_inputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); ::flyteidl::admin::_CreateTaskRequest_default_instance_._instance.get_mutable()->template__ = const_cast< ::flyteidl::core::TaskTemplate*>( ::flyteidl::core::TaskTemplate::internal_default_instance()); ::flyteidl::admin::_CreateTaskRequest_default_instance_._instance.get_mutable()->task_execution_metadata_ = const_cast< ::flyteidl::admin::TaskExecutionMetadata*>( ::flyteidl::admin::TaskExecutionMetadata::internal_default_instance()); + ::flyteidl::admin::_CreateTaskRequest_default_instance_._instance.get_mutable()->inputs_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); } class CreateTaskRequest::HasBitSetters { public: - static const ::flyteidl::core::LiteralMap& inputs(const CreateTaskRequest* msg); + static const ::flyteidl::core::LiteralMap& deprecated_inputs(const CreateTaskRequest* msg); static const ::flyteidl::core::TaskTemplate& template_(const CreateTaskRequest* msg); static const ::flyteidl::admin::TaskExecutionMetadata& task_execution_metadata(const CreateTaskRequest* msg); + static const ::flyteidl::core::InputData& inputs(const CreateTaskRequest* msg); }; const ::flyteidl::core::LiteralMap& -CreateTaskRequest::HasBitSetters::inputs(const CreateTaskRequest* msg) { - return *msg->inputs_; +CreateTaskRequest::HasBitSetters::deprecated_inputs(const CreateTaskRequest* msg) { + return *msg->deprecated_inputs_; } const ::flyteidl::core::TaskTemplate& CreateTaskRequest::HasBitSetters::template_(const CreateTaskRequest* msg) { @@ -1529,11 +1541,15 @@ const ::flyteidl::admin::TaskExecutionMetadata& CreateTaskRequest::HasBitSetters::task_execution_metadata(const CreateTaskRequest* msg) { return *msg->task_execution_metadata_; } -void CreateTaskRequest::clear_inputs() { - if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { - delete inputs_; +const ::flyteidl::core::InputData& +CreateTaskRequest::HasBitSetters::inputs(const CreateTaskRequest* msg) { + return *msg->inputs_; +} +void CreateTaskRequest::clear_deprecated_inputs() { + if (GetArenaNoVirtual() == nullptr && deprecated_inputs_ != nullptr) { + delete deprecated_inputs_; } - inputs_ = nullptr; + deprecated_inputs_ = nullptr; } void CreateTaskRequest::clear_template_() { if (GetArenaNoVirtual() == nullptr && template__ != nullptr) { @@ -1541,11 +1557,18 @@ void CreateTaskRequest::clear_template_() { } template__ = nullptr; } +void CreateTaskRequest::clear_inputs() { + if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { + delete inputs_; + } + inputs_ = nullptr; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int CreateTaskRequest::kInputsFieldNumber; +const int CreateTaskRequest::kDeprecatedInputsFieldNumber; const int CreateTaskRequest::kTemplateFieldNumber; const int CreateTaskRequest::kOutputPrefixFieldNumber; const int CreateTaskRequest::kTaskExecutionMetadataFieldNumber; +const int CreateTaskRequest::kInputsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 CreateTaskRequest::CreateTaskRequest() @@ -1561,10 +1584,10 @@ CreateTaskRequest::CreateTaskRequest(const CreateTaskRequest& from) if (from.output_prefix().size() > 0) { output_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_prefix_); } - if (from.has_inputs()) { - inputs_ = new ::flyteidl::core::LiteralMap(*from.inputs_); + if (from.has_deprecated_inputs()) { + deprecated_inputs_ = new ::flyteidl::core::LiteralMap(*from.deprecated_inputs_); } else { - inputs_ = nullptr; + deprecated_inputs_ = nullptr; } if (from.has_template_()) { template__ = new ::flyteidl::core::TaskTemplate(*from.template__); @@ -1576,6 +1599,11 @@ CreateTaskRequest::CreateTaskRequest(const CreateTaskRequest& from) } else { task_execution_metadata_ = nullptr; } + if (from.has_inputs()) { + inputs_ = new ::flyteidl::core::InputData(*from.inputs_); + } else { + inputs_ = nullptr; + } // @@protoc_insertion_point(copy_constructor:flyteidl.admin.CreateTaskRequest) } @@ -1583,9 +1611,9 @@ void CreateTaskRequest::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_CreateTaskRequest_flyteidl_2fadmin_2fagent_2eproto.base); output_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&inputs_, 0, static_cast( - reinterpret_cast(&task_execution_metadata_) - - reinterpret_cast(&inputs_)) + sizeof(task_execution_metadata_)); + ::memset(&deprecated_inputs_, 0, static_cast( + reinterpret_cast(&inputs_) - + reinterpret_cast(&deprecated_inputs_)) + sizeof(inputs_)); } CreateTaskRequest::~CreateTaskRequest() { @@ -1595,9 +1623,10 @@ CreateTaskRequest::~CreateTaskRequest() { void CreateTaskRequest::SharedDtor() { output_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete inputs_; + if (this != internal_default_instance()) delete deprecated_inputs_; if (this != internal_default_instance()) delete template__; if (this != internal_default_instance()) delete task_execution_metadata_; + if (this != internal_default_instance()) delete inputs_; } void CreateTaskRequest::SetCachedSize(int size) const { @@ -1616,10 +1645,10 @@ void CreateTaskRequest::Clear() { (void) cached_has_bits; output_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { - delete inputs_; + if (GetArenaNoVirtual() == nullptr && deprecated_inputs_ != nullptr) { + delete deprecated_inputs_; } - inputs_ = nullptr; + deprecated_inputs_ = nullptr; if (GetArenaNoVirtual() == nullptr && template__ != nullptr) { delete template__; } @@ -1628,6 +1657,10 @@ void CreateTaskRequest::Clear() { delete task_execution_metadata_; } task_execution_metadata_ = nullptr; + if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { + delete inputs_; + } + inputs_ = nullptr; _internal_metadata_.Clear(); } @@ -1644,13 +1677,13 @@ const char* CreateTaskRequest::_InternalParse(const char* begin, const char* end ptr = ::google::protobuf::io::Parse32(ptr, &tag); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); switch (tag >> 3) { - // .flyteidl.core.LiteralMap inputs = 1; + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; case 1: { if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; - object = msg->mutable_inputs(); + object = msg->mutable_deprecated_inputs(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( @@ -1699,6 +1732,19 @@ const char* CreateTaskRequest::_InternalParse(const char* begin, const char* end {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.InputData inputs = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_inputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1733,11 +1779,11 @@ bool CreateTaskRequest::MergePartialFromCodedStream( tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // .flyteidl.core.LiteralMap inputs = 1; + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; case 1: { if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_inputs())); + input, mutable_deprecated_inputs())); } else { goto handle_unusual; } @@ -1781,6 +1827,17 @@ bool CreateTaskRequest::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData inputs = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_inputs())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1808,10 +1865,10 @@ void CreateTaskRequest::SerializeWithCachedSizes( ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - // .flyteidl.core.LiteralMap inputs = 1; - if (this->has_inputs()) { + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + if (this->has_deprecated_inputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, HasBitSetters::inputs(this), output); + 1, HasBitSetters::deprecated_inputs(this), output); } // .flyteidl.core.TaskTemplate template = 2; @@ -1836,6 +1893,12 @@ void CreateTaskRequest::SerializeWithCachedSizes( 4, HasBitSetters::task_execution_metadata(this), output); } + // .flyteidl.core.InputData inputs = 5; + if (this->has_inputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, HasBitSetters::inputs(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1849,11 +1912,11 @@ ::google::protobuf::uint8* CreateTaskRequest::InternalSerializeWithCachedSizesTo ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - // .flyteidl.core.LiteralMap inputs = 1; - if (this->has_inputs()) { + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + if (this->has_deprecated_inputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 1, HasBitSetters::inputs(this), target); + 1, HasBitSetters::deprecated_inputs(this), target); } // .flyteidl.core.TaskTemplate template = 2; @@ -1881,6 +1944,13 @@ ::google::protobuf::uint8* CreateTaskRequest::InternalSerializeWithCachedSizesTo 4, HasBitSetters::task_execution_metadata(this), target); } + // .flyteidl.core.InputData inputs = 5; + if (this->has_inputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 5, HasBitSetters::inputs(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1909,11 +1979,11 @@ size_t CreateTaskRequest::ByteSizeLong() const { this->output_prefix()); } - // .flyteidl.core.LiteralMap inputs = 1; - if (this->has_inputs()) { + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + if (this->has_deprecated_inputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( - *inputs_); + *deprecated_inputs_); } // .flyteidl.core.TaskTemplate template = 2; @@ -1930,6 +2000,13 @@ size_t CreateTaskRequest::ByteSizeLong() const { *task_execution_metadata_); } + // .flyteidl.core.InputData inputs = 5; + if (this->has_inputs()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *inputs_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -1961,8 +2038,8 @@ void CreateTaskRequest::MergeFrom(const CreateTaskRequest& from) { output_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_prefix_); } - if (from.has_inputs()) { - mutable_inputs()->::flyteidl::core::LiteralMap::MergeFrom(from.inputs()); + if (from.has_deprecated_inputs()) { + mutable_deprecated_inputs()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_inputs()); } if (from.has_template_()) { mutable_template_()->::flyteidl::core::TaskTemplate::MergeFrom(from.template_()); @@ -1970,6 +2047,9 @@ void CreateTaskRequest::MergeFrom(const CreateTaskRequest& from) { if (from.has_task_execution_metadata()) { mutable_task_execution_metadata()->::flyteidl::admin::TaskExecutionMetadata::MergeFrom(from.task_execution_metadata()); } + if (from.has_inputs()) { + mutable_inputs()->::flyteidl::core::InputData::MergeFrom(from.inputs()); + } } void CreateTaskRequest::CopyFrom(const ::google::protobuf::Message& from) { @@ -1999,9 +2079,10 @@ void CreateTaskRequest::InternalSwap(CreateTaskRequest* other) { _internal_metadata_.Swap(&other->_internal_metadata_); output_prefix_.Swap(&other->output_prefix_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); - swap(inputs_, other->inputs_); + swap(deprecated_inputs_, other->deprecated_inputs_); swap(template__, other->template__); swap(task_execution_metadata_, other->task_execution_metadata_); + swap(inputs_, other->inputs_); } ::google::protobuf::Metadata CreateTaskRequest::GetMetadata() const { @@ -2941,18 +3022,31 @@ ::google::protobuf::Metadata GetTaskResponse::GetMetadata() const { // =================================================================== void Resource::InitAsDefaultInstance() { - ::flyteidl::admin::_Resource_default_instance_._instance.get_mutable()->outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::admin::_Resource_default_instance_._instance.get_mutable()->deprecated_outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_Resource_default_instance_._instance.get_mutable()->outputs_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); } class Resource::HasBitSetters { public: - static const ::flyteidl::core::LiteralMap& outputs(const Resource* msg); + static const ::flyteidl::core::LiteralMap& deprecated_outputs(const Resource* msg); + static const ::flyteidl::core::OutputData& outputs(const Resource* msg); }; const ::flyteidl::core::LiteralMap& +Resource::HasBitSetters::deprecated_outputs(const Resource* msg) { + return *msg->deprecated_outputs_; +} +const ::flyteidl::core::OutputData& Resource::HasBitSetters::outputs(const Resource* msg) { return *msg->outputs_; } +void Resource::clear_deprecated_outputs() { + if (GetArenaNoVirtual() == nullptr && deprecated_outputs_ != nullptr) { + delete deprecated_outputs_; + } + deprecated_outputs_ = nullptr; +} void Resource::clear_outputs() { if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) { delete outputs_; @@ -2961,6 +3055,7 @@ void Resource::clear_outputs() { } #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int Resource::kStateFieldNumber; +const int Resource::kDeprecatedOutputsFieldNumber; const int Resource::kOutputsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -2973,8 +3068,13 @@ Resource::Resource(const Resource& from) : ::google::protobuf::Message(), _internal_metadata_(nullptr) { _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_deprecated_outputs()) { + deprecated_outputs_ = new ::flyteidl::core::LiteralMap(*from.deprecated_outputs_); + } else { + deprecated_outputs_ = nullptr; + } if (from.has_outputs()) { - outputs_ = new ::flyteidl::core::LiteralMap(*from.outputs_); + outputs_ = new ::flyteidl::core::OutputData(*from.outputs_); } else { outputs_ = nullptr; } @@ -2985,9 +3085,9 @@ Resource::Resource(const Resource& from) void Resource::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_Resource_flyteidl_2fadmin_2fagent_2eproto.base); - ::memset(&outputs_, 0, static_cast( + ::memset(&deprecated_outputs_, 0, static_cast( reinterpret_cast(&state_) - - reinterpret_cast(&outputs_)) + sizeof(state_)); + reinterpret_cast(&deprecated_outputs_)) + sizeof(state_)); } Resource::~Resource() { @@ -2996,6 +3096,7 @@ Resource::~Resource() { } void Resource::SharedDtor() { + if (this != internal_default_instance()) delete deprecated_outputs_; if (this != internal_default_instance()) delete outputs_; } @@ -3014,6 +3115,10 @@ void Resource::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + if (GetArenaNoVirtual() == nullptr && deprecated_outputs_ != nullptr) { + delete deprecated_outputs_; + } + deprecated_outputs_ = nullptr; if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) { delete outputs_; } @@ -3043,12 +3148,25 @@ const char* Resource::_InternalParse(const char* begin, const char* end, void* o GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; case 2: { if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; + object = msg->mutable_deprecated_outputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.OutputData outputs = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; object = msg->mutable_outputs(); if (size > end - ptr) goto len_delim_till_end; ptr += size; @@ -3100,9 +3218,20 @@ bool Resource::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_deprecated_outputs())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.OutputData outputs = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( input, mutable_outputs())); } else { @@ -3144,10 +3273,16 @@ void Resource::SerializeWithCachedSizes( 1, this->state(), output); } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + if (this->has_deprecated_outputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::deprecated_outputs(this), output); + } + + // .flyteidl.core.OutputData outputs = 3; if (this->has_outputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, HasBitSetters::outputs(this), output); + 3, HasBitSetters::outputs(this), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -3169,11 +3304,18 @@ ::google::protobuf::uint8* Resource::InternalSerializeWithCachedSizesToArray( 1, this->state(), target); } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + if (this->has_deprecated_outputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::deprecated_outputs(this), target); + } + + // .flyteidl.core.OutputData outputs = 3; if (this->has_outputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 2, HasBitSetters::outputs(this), target); + 3, HasBitSetters::outputs(this), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -3197,7 +3339,14 @@ size_t Resource::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + if (this->has_deprecated_outputs()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *deprecated_outputs_); + } + + // .flyteidl.core.OutputData outputs = 3; if (this->has_outputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -3237,8 +3386,11 @@ void Resource::MergeFrom(const Resource& from) { ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; + if (from.has_deprecated_outputs()) { + mutable_deprecated_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_outputs()); + } if (from.has_outputs()) { - mutable_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.outputs()); + mutable_outputs()->::flyteidl::core::OutputData::MergeFrom(from.outputs()); } if (from.state() != 0) { set_state(from.state()); @@ -3270,6 +3422,7 @@ void Resource::Swap(Resource* other) { void Resource::InternalSwap(Resource* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + swap(deprecated_outputs_, other->deprecated_outputs_); swap(outputs_, other->outputs_); swap(state_, other->state_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.h index 5ee08079fc..c55197a1b2 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/agent.pb.h @@ -509,14 +509,14 @@ class CreateTaskRequest final : ::std::string* release_output_prefix(); void set_allocated_output_prefix(::std::string* output_prefix); - // .flyteidl.core.LiteralMap inputs = 1; - bool has_inputs() const; - void clear_inputs(); - static const int kInputsFieldNumber = 1; - const ::flyteidl::core::LiteralMap& inputs() const; - ::flyteidl::core::LiteralMap* release_inputs(); - ::flyteidl::core::LiteralMap* mutable_inputs(); - void set_allocated_inputs(::flyteidl::core::LiteralMap* inputs); + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_inputs() const; + PROTOBUF_DEPRECATED void clear_deprecated_inputs(); + PROTOBUF_DEPRECATED static const int kDeprecatedInputsFieldNumber = 1; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_inputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_inputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_inputs(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_inputs(::flyteidl::core::LiteralMap* deprecated_inputs); // .flyteidl.core.TaskTemplate template = 2; bool has_template_() const; @@ -536,15 +536,25 @@ class CreateTaskRequest final : ::flyteidl::admin::TaskExecutionMetadata* mutable_task_execution_metadata(); void set_allocated_task_execution_metadata(::flyteidl::admin::TaskExecutionMetadata* task_execution_metadata); + // .flyteidl.core.InputData inputs = 5; + bool has_inputs() const; + void clear_inputs(); + static const int kInputsFieldNumber = 5; + const ::flyteidl::core::InputData& inputs() const; + ::flyteidl::core::InputData* release_inputs(); + ::flyteidl::core::InputData* mutable_inputs(); + void set_allocated_inputs(::flyteidl::core::InputData* inputs); + // @@protoc_insertion_point(class_scope:flyteidl.admin.CreateTaskRequest) private: class HasBitSetters; ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr output_prefix_; - ::flyteidl::core::LiteralMap* inputs_; + ::flyteidl::core::LiteralMap* deprecated_inputs_; ::flyteidl::core::TaskTemplate* template__; ::flyteidl::admin::TaskExecutionMetadata* task_execution_metadata_; + ::flyteidl::core::InputData* inputs_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fagent_2eproto; }; @@ -1015,14 +1025,23 @@ class Resource final : // accessors ------------------------------------------------------- - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_outputs() const; + PROTOBUF_DEPRECATED void clear_deprecated_outputs(); + PROTOBUF_DEPRECATED static const int kDeprecatedOutputsFieldNumber = 2; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_outputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_outputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_outputs(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_outputs(::flyteidl::core::LiteralMap* deprecated_outputs); + + // .flyteidl.core.OutputData outputs = 3; bool has_outputs() const; void clear_outputs(); - static const int kOutputsFieldNumber = 2; - const ::flyteidl::core::LiteralMap& outputs() const; - ::flyteidl::core::LiteralMap* release_outputs(); - ::flyteidl::core::LiteralMap* mutable_outputs(); - void set_allocated_outputs(::flyteidl::core::LiteralMap* outputs); + static const int kOutputsFieldNumber = 3; + const ::flyteidl::core::OutputData& outputs() const; + ::flyteidl::core::OutputData* release_outputs(); + ::flyteidl::core::OutputData* mutable_outputs(); + void set_allocated_outputs(::flyteidl::core::OutputData* outputs); // .flyteidl.admin.State state = 1; void clear_state(); @@ -1035,7 +1054,8 @@ class Resource final : class HasBitSetters; ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::flyteidl::core::LiteralMap* outputs_; + ::flyteidl::core::LiteralMap* deprecated_outputs_; + ::flyteidl::core::OutputData* outputs_; int state_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fagent_2eproto; @@ -1506,49 +1526,49 @@ TaskExecutionMetadata::mutable_environment_variables() { // CreateTaskRequest -// .flyteidl.core.LiteralMap inputs = 1; -inline bool CreateTaskRequest::has_inputs() const { - return this != internal_default_instance() && inputs_ != nullptr; +// .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; +inline bool CreateTaskRequest::has_deprecated_inputs() const { + return this != internal_default_instance() && deprecated_inputs_ != nullptr; } -inline const ::flyteidl::core::LiteralMap& CreateTaskRequest::inputs() const { - const ::flyteidl::core::LiteralMap* p = inputs_; - // @@protoc_insertion_point(field_get:flyteidl.admin.CreateTaskRequest.inputs) +inline const ::flyteidl::core::LiteralMap& CreateTaskRequest::deprecated_inputs() const { + const ::flyteidl::core::LiteralMap* p = deprecated_inputs_; + // @@protoc_insertion_point(field_get:flyteidl.admin.CreateTaskRequest.deprecated_inputs) return p != nullptr ? *p : *reinterpret_cast( &::flyteidl::core::_LiteralMap_default_instance_); } -inline ::flyteidl::core::LiteralMap* CreateTaskRequest::release_inputs() { - // @@protoc_insertion_point(field_release:flyteidl.admin.CreateTaskRequest.inputs) +inline ::flyteidl::core::LiteralMap* CreateTaskRequest::release_deprecated_inputs() { + // @@protoc_insertion_point(field_release:flyteidl.admin.CreateTaskRequest.deprecated_inputs) - ::flyteidl::core::LiteralMap* temp = inputs_; - inputs_ = nullptr; + ::flyteidl::core::LiteralMap* temp = deprecated_inputs_; + deprecated_inputs_ = nullptr; return temp; } -inline ::flyteidl::core::LiteralMap* CreateTaskRequest::mutable_inputs() { +inline ::flyteidl::core::LiteralMap* CreateTaskRequest::mutable_deprecated_inputs() { - if (inputs_ == nullptr) { + if (deprecated_inputs_ == nullptr) { auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); - inputs_ = p; + deprecated_inputs_ = p; } - // @@protoc_insertion_point(field_mutable:flyteidl.admin.CreateTaskRequest.inputs) - return inputs_; + // @@protoc_insertion_point(field_mutable:flyteidl.admin.CreateTaskRequest.deprecated_inputs) + return deprecated_inputs_; } -inline void CreateTaskRequest::set_allocated_inputs(::flyteidl::core::LiteralMap* inputs) { +inline void CreateTaskRequest::set_allocated_deprecated_inputs(::flyteidl::core::LiteralMap* deprecated_inputs) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); if (message_arena == nullptr) { - delete reinterpret_cast< ::google::protobuf::MessageLite*>(inputs_); + delete reinterpret_cast< ::google::protobuf::MessageLite*>(deprecated_inputs_); } - if (inputs) { + if (deprecated_inputs) { ::google::protobuf::Arena* submessage_arena = nullptr; if (message_arena != submessage_arena) { - inputs = ::google::protobuf::internal::GetOwnedMessage( - message_arena, inputs, submessage_arena); + deprecated_inputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_inputs, submessage_arena); } } else { } - inputs_ = inputs; - // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.CreateTaskRequest.inputs) + deprecated_inputs_ = deprecated_inputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.CreateTaskRequest.deprecated_inputs) } // .flyteidl.core.TaskTemplate template = 2; @@ -1700,6 +1720,51 @@ inline void CreateTaskRequest::set_allocated_task_execution_metadata(::flyteidl: // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.CreateTaskRequest.task_execution_metadata) } +// .flyteidl.core.InputData inputs = 5; +inline bool CreateTaskRequest::has_inputs() const { + return this != internal_default_instance() && inputs_ != nullptr; +} +inline const ::flyteidl::core::InputData& CreateTaskRequest::inputs() const { + const ::flyteidl::core::InputData* p = inputs_; + // @@protoc_insertion_point(field_get:flyteidl.admin.CreateTaskRequest.inputs) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* CreateTaskRequest::release_inputs() { + // @@protoc_insertion_point(field_release:flyteidl.admin.CreateTaskRequest.inputs) + + ::flyteidl::core::InputData* temp = inputs_; + inputs_ = nullptr; + return temp; +} +inline ::flyteidl::core::InputData* CreateTaskRequest::mutable_inputs() { + + if (inputs_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::InputData>(GetArenaNoVirtual()); + inputs_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.CreateTaskRequest.inputs) + return inputs_; +} +inline void CreateTaskRequest::set_allocated_inputs(::flyteidl::core::InputData* inputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(inputs_); + } + if (inputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + inputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, inputs, submessage_arena); + } + + } else { + + } + inputs_ = inputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.CreateTaskRequest.inputs) +} + // ------------------------------------------------------------------- // CreateTaskResponse @@ -1940,33 +2005,78 @@ inline void Resource::set_state(::flyteidl::admin::State value) { // @@protoc_insertion_point(field_set:flyteidl.admin.Resource.state) } -// .flyteidl.core.LiteralMap outputs = 2; +// .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; +inline bool Resource::has_deprecated_outputs() const { + return this != internal_default_instance() && deprecated_outputs_ != nullptr; +} +inline const ::flyteidl::core::LiteralMap& Resource::deprecated_outputs() const { + const ::flyteidl::core::LiteralMap* p = deprecated_outputs_; + // @@protoc_insertion_point(field_get:flyteidl.admin.Resource.deprecated_outputs) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* Resource::release_deprecated_outputs() { + // @@protoc_insertion_point(field_release:flyteidl.admin.Resource.deprecated_outputs) + + ::flyteidl::core::LiteralMap* temp = deprecated_outputs_; + deprecated_outputs_ = nullptr; + return temp; +} +inline ::flyteidl::core::LiteralMap* Resource::mutable_deprecated_outputs() { + + if (deprecated_outputs_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); + deprecated_outputs_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.Resource.deprecated_outputs) + return deprecated_outputs_; +} +inline void Resource::set_allocated_deprecated_outputs(::flyteidl::core::LiteralMap* deprecated_outputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(deprecated_outputs_); + } + if (deprecated_outputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + deprecated_outputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_outputs, submessage_arena); + } + + } else { + + } + deprecated_outputs_ = deprecated_outputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.Resource.deprecated_outputs) +} + +// .flyteidl.core.OutputData outputs = 3; inline bool Resource::has_outputs() const { return this != internal_default_instance() && outputs_ != nullptr; } -inline const ::flyteidl::core::LiteralMap& Resource::outputs() const { - const ::flyteidl::core::LiteralMap* p = outputs_; +inline const ::flyteidl::core::OutputData& Resource::outputs() const { + const ::flyteidl::core::OutputData* p = outputs_; // @@protoc_insertion_point(field_get:flyteidl.admin.Resource.outputs) - return p != nullptr ? *p : *reinterpret_cast( - &::flyteidl::core::_LiteralMap_default_instance_); + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_OutputData_default_instance_); } -inline ::flyteidl::core::LiteralMap* Resource::release_outputs() { +inline ::flyteidl::core::OutputData* Resource::release_outputs() { // @@protoc_insertion_point(field_release:flyteidl.admin.Resource.outputs) - ::flyteidl::core::LiteralMap* temp = outputs_; + ::flyteidl::core::OutputData* temp = outputs_; outputs_ = nullptr; return temp; } -inline ::flyteidl::core::LiteralMap* Resource::mutable_outputs() { +inline ::flyteidl::core::OutputData* Resource::mutable_outputs() { if (outputs_ == nullptr) { - auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); + auto* p = CreateMaybeMessage<::flyteidl::core::OutputData>(GetArenaNoVirtual()); outputs_ = p; } // @@protoc_insertion_point(field_mutable:flyteidl.admin.Resource.outputs) return outputs_; } -inline void Resource::set_allocated_outputs(::flyteidl::core::LiteralMap* outputs) { +inline void Resource::set_allocated_outputs(::flyteidl::core::OutputData* outputs) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); if (message_arena == nullptr) { delete reinterpret_cast< ::google::protobuf::MessageLite*>(outputs_); diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/event.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/event.pb.cc index 87191a9ca8..fff4ef5692 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/event.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/event.pb.cc @@ -18,9 +18,9 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fevent_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_EventErrorAlreadyInTerminalState_flyteidl_2fadmin_2fevent_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fevent_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_EventErrorIncompatibleCluster_flyteidl_2fadmin_2fevent_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_WorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<8> scc_info_NodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_TaskExecutionEvent_flyteidl_2fevent_2fevent_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<10> scc_info_NodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<11> scc_info_TaskExecutionEvent_flyteidl_2fevent_2fevent_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<5> scc_info_WorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto; namespace flyteidl { namespace admin { class EventErrorAlreadyInTerminalStateDefaultTypeInternal { diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc index 23298b14a7..2d354514c1 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc @@ -38,6 +38,8 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::pr extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fmetrics_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_Span_flyteidl_2fcore_2fmetrics_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fsecurity_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_SecurityContext_flyteidl_2fcore_2fsecurity_2eproto; @@ -160,10 +162,11 @@ static void InitDefaultsExecutionCreateRequest_flyteidl_2fadmin_2fexecution_2epr ::flyteidl::admin::ExecutionCreateRequest::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<2> scc_info_ExecutionCreateRequest_flyteidl_2fadmin_2fexecution_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsExecutionCreateRequest_flyteidl_2fadmin_2fexecution_2eproto}, { +::google::protobuf::internal::SCCInfo<3> scc_info_ExecutionCreateRequest_flyteidl_2fadmin_2fexecution_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsExecutionCreateRequest_flyteidl_2fadmin_2fexecution_2eproto}, { &scc_info_ExecutionSpec_flyteidl_2fadmin_2fexecution_2eproto.base, - &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; static void InitDefaultsExecutionRelaunchRequest_flyteidl_2fadmin_2fexecution_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -439,10 +442,12 @@ static void InitDefaultsWorkflowExecutionGetDataResponse_flyteidl_2fadmin_2fexec ::flyteidl::admin::WorkflowExecutionGetDataResponse::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<2> scc_info_WorkflowExecutionGetDataResponse_flyteidl_2fadmin_2fexecution_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsWorkflowExecutionGetDataResponse_flyteidl_2fadmin_2fexecution_2eproto}, { +::google::protobuf::internal::SCCInfo<4> scc_info_WorkflowExecutionGetDataResponse_flyteidl_2fadmin_2fexecution_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsWorkflowExecutionGetDataResponse_flyteidl_2fadmin_2fexecution_2eproto}, { &scc_info_UrlBlob_flyteidl_2fadmin_2fcommon_2eproto.base, - &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; static void InitDefaultsExecutionUpdateRequest_flyteidl_2fadmin_2fexecution_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -559,6 +564,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fexecution_2eprot PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, name_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, spec_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, inputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, input_data_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionRelaunchRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -712,6 +718,8 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fexecution_2eprot PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowExecutionGetDataResponse, inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowExecutionGetDataResponse, full_inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowExecutionGetDataResponse, full_outputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowExecutionGetDataResponse, input_data_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowExecutionGetDataResponse, output_data_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionUpdateRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -748,28 +756,28 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fexecution_2eprot }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::ExecutionCreateRequest)}, - { 10, -1, sizeof(::flyteidl::admin::ExecutionRelaunchRequest)}, - { 18, -1, sizeof(::flyteidl::admin::ExecutionRecoverRequest)}, - { 26, -1, sizeof(::flyteidl::admin::ExecutionCreateResponse)}, - { 32, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetRequest)}, - { 38, -1, sizeof(::flyteidl::admin::Execution)}, - { 46, -1, sizeof(::flyteidl::admin::ExecutionList)}, - { 53, -1, sizeof(::flyteidl::admin::LiteralMapBlob)}, - { 61, -1, sizeof(::flyteidl::admin::AbortMetadata)}, - { 68, -1, sizeof(::flyteidl::admin::ExecutionClosure)}, - { 88, -1, sizeof(::flyteidl::admin::SystemMetadata)}, - { 95, -1, sizeof(::flyteidl::admin::ExecutionMetadata)}, - { 107, -1, sizeof(::flyteidl::admin::NotificationList)}, - { 113, -1, sizeof(::flyteidl::admin::ExecutionSpec)}, - { 136, -1, sizeof(::flyteidl::admin::ExecutionTerminateRequest)}, - { 143, -1, sizeof(::flyteidl::admin::ExecutionTerminateResponse)}, - { 148, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataRequest)}, - { 154, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataResponse)}, - { 163, -1, sizeof(::flyteidl::admin::ExecutionUpdateRequest)}, - { 170, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, - { 178, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, - { 183, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, - { 190, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, + { 11, -1, sizeof(::flyteidl::admin::ExecutionRelaunchRequest)}, + { 19, -1, sizeof(::flyteidl::admin::ExecutionRecoverRequest)}, + { 27, -1, sizeof(::flyteidl::admin::ExecutionCreateResponse)}, + { 33, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetRequest)}, + { 39, -1, sizeof(::flyteidl::admin::Execution)}, + { 47, -1, sizeof(::flyteidl::admin::ExecutionList)}, + { 54, -1, sizeof(::flyteidl::admin::LiteralMapBlob)}, + { 62, -1, sizeof(::flyteidl::admin::AbortMetadata)}, + { 69, -1, sizeof(::flyteidl::admin::ExecutionClosure)}, + { 89, -1, sizeof(::flyteidl::admin::SystemMetadata)}, + { 96, -1, sizeof(::flyteidl::admin::ExecutionMetadata)}, + { 108, -1, sizeof(::flyteidl::admin::NotificationList)}, + { 114, -1, sizeof(::flyteidl::admin::ExecutionSpec)}, + { 137, -1, sizeof(::flyteidl::admin::ExecutionTerminateRequest)}, + { 144, -1, sizeof(::flyteidl::admin::ExecutionTerminateResponse)}, + { 149, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataRequest)}, + { 155, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataResponse)}, + { 166, -1, sizeof(::flyteidl::admin::ExecutionUpdateRequest)}, + { 173, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, + { 181, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, + { 186, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, + { 193, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -814,118 +822,122 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto[] = "\032\034flyteidl/core/security.proto\032\036google/p" "rotobuf/duration.proto\032\037google/protobuf/" "timestamp.proto\032\036google/protobuf/wrapper" - "s.proto\"\237\001\n\026ExecutionCreateRequest\022\017\n\007pr" + "s.proto\"\321\001\n\026ExecutionCreateRequest\022\017\n\007pr" "oject\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\014\n\004name\030\003 \001(" "\t\022+\n\004spec\030\004 \001(\0132\035.flyteidl.admin.Executi" - "onSpec\022)\n\006inputs\030\005 \001(\0132\031.flyteidl.core.L" - "iteralMap\"\177\n\030ExecutionRelaunchRequest\0226\n" - "\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExecut" - "ionIdentifier\022\014\n\004name\030\003 \001(\t\022\027\n\017overwrite" - "_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027ExecutionRecoverR" - "equest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workf" - "lowExecutionIdentifier\022\014\n\004name\030\002 \001(\t\0223\n\010" - "metadata\030\003 \001(\0132!.flyteidl.admin.Executio" - "nMetadata\"Q\n\027ExecutionCreateResponse\0226\n\002" - "id\030\001 \001(\0132*.flyteidl.core.WorkflowExecuti" - "onIdentifier\"U\n\033WorkflowExecutionGetRequ" - "est\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workflow" - "ExecutionIdentifier\"\243\001\n\tExecution\0226\n\002id\030" - "\001 \001(\0132*.flyteidl.core.WorkflowExecutionI" - "dentifier\022+\n\004spec\030\002 \001(\0132\035.flyteidl.admin" - ".ExecutionSpec\0221\n\007closure\030\003 \001(\0132 .flytei" - "dl.admin.ExecutionClosure\"M\n\rExecutionLi" - "st\022-\n\nexecutions\030\001 \003(\0132\031.flyteidl.admin." - "Execution\022\r\n\005token\030\002 \001(\t\"X\n\016LiteralMapBl" - "ob\022/\n\006values\030\001 \001(\0132\031.flyteidl.core.Liter" - "alMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004data\"1\n\rAb" - "ortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\tprincipal\030" - "\002 \001(\t\"\360\005\n\020ExecutionClosure\0225\n\007outputs\030\001 " - "\001(\0132\036.flyteidl.admin.LiteralMapBlobB\002\030\001H" - "\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.core.Executi" - "onErrorH\000\022\031\n\013abort_cause\030\n \001(\tB\002\030\001H\000\0227\n\016" - "abort_metadata\030\014 \001(\0132\035.flyteidl.admin.Ab" - "ortMetadataH\000\0224\n\013output_data\030\r \001(\0132\031.fly" - "teidl.core.LiteralMapB\002\030\001H\000\0226\n\017computed_" - "inputs\030\003 \001(\0132\031.flyteidl.core.LiteralMapB" - "\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyteidl.core.Workf" - "lowExecution.Phase\022.\n\nstarted_at\030\005 \001(\0132\032" - ".google.protobuf.Timestamp\022+\n\010duration\030\006" - " \001(\0132\031.google.protobuf.Duration\022.\n\ncreat" - "ed_at\030\007 \001(\0132\032.google.protobuf.Timestamp\022" - ".\n\nupdated_at\030\010 \001(\0132\032.google.protobuf.Ti" - "mestamp\0223\n\rnotifications\030\t \003(\0132\034.flyteid" - "l.admin.Notification\022.\n\013workflow_id\030\013 \001(" - "\0132\031.flyteidl.core.Identifier\022I\n\024state_ch" - "ange_details\030\016 \001(\0132+.flyteidl.admin.Exec" - "utionStateChangeDetailsB\017\n\routput_result" - "\">\n\016SystemMetadata\022\031\n\021execution_cluster\030" - "\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\332\003\n\021ExecutionMe" - "tadata\022=\n\004mode\030\001 \001(\0162/.flyteidl.admin.Ex" - "ecutionMetadata.ExecutionMode\022\021\n\tprincip" - "al\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\0220\n\014scheduled_a" - "t\030\004 \001(\0132\032.google.protobuf.Timestamp\022E\n\025p" - "arent_node_execution\030\005 \001(\0132&.flyteidl.co" - "re.NodeExecutionIdentifier\022G\n\023reference_" - "execution\030\020 \001(\0132*.flyteidl.core.Workflow" - "ExecutionIdentifier\0227\n\017system_metadata\030\021" - " \001(\0132\036.flyteidl.admin.SystemMetadata\"g\n\r" - "ExecutionMode\022\n\n\006MANUAL\020\000\022\r\n\tSCHEDULED\020\001" - "\022\n\n\006SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016CHILD_WORK" - "FLOW\020\004\022\r\n\tRECOVERED\020\005\"G\n\020NotificationLis" - "t\0223\n\rnotifications\030\001 \003(\0132\034.flyteidl.admi" - "n.Notification\"\262\006\n\rExecutionSpec\022.\n\013laun" - "ch_plan\030\001 \001(\0132\031.flyteidl.core.Identifier" - "\022-\n\006inputs\030\002 \001(\0132\031.flyteidl.core.Literal" - "MapB\002\030\001\0223\n\010metadata\030\003 \001(\0132!.flyteidl.adm" - "in.ExecutionMetadata\0229\n\rnotifications\030\005 " - "\001(\0132 .flyteidl.admin.NotificationListH\000\022" - "\025\n\013disable_all\030\006 \001(\010H\000\022&\n\006labels\030\007 \001(\0132\026" - ".flyteidl.admin.Labels\0220\n\013annotations\030\010 " - "\001(\0132\033.flyteidl.admin.Annotations\0228\n\020secu" - "rity_context\030\n \001(\0132\036.flyteidl.core.Secur" - "ityContext\022/\n\tauth_role\030\020 \001(\0132\030.flyteidl" - ".admin.AuthRoleB\002\030\001\022;\n\022quality_of_servic" - "e\030\021 \001(\0132\037.flyteidl.core.QualityOfService" - "\022\027\n\017max_parallelism\030\022 \001(\005\022C\n\026raw_output_" - "data_config\030\023 \001(\0132#.flyteidl.admin.RawOu" - "tputDataConfig\022=\n\022cluster_assignment\030\024 \001" - "(\0132!.flyteidl.admin.ClusterAssignment\0221\n" - "\rinterruptible\030\025 \001(\0132\032.google.protobuf.B" - "oolValue\022\027\n\017overwrite_cache\030\026 \001(\010\022\"\n\004env" - "s\030\027 \001(\0132\024.flyteidl.admin.Envs\022\014\n\004tags\030\030 " - "\003(\tB\030\n\026notification_overridesJ\004\010\004\020\005\"b\n\031E" - "xecutionTerminateRequest\0226\n\002id\030\001 \001(\0132*.f" - "lyteidl.core.WorkflowExecutionIdentifier" - "\022\r\n\005cause\030\002 \001(\t\"\034\n\032ExecutionTerminateRes" - "ponse\"Y\n\037WorkflowExecutionGetDataRequest" - "\0226\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExe" - "cutionIdentifier\"\336\001\n WorkflowExecutionGe" - "tDataResponse\022,\n\007outputs\030\001 \001(\0132\027.flyteid" - "l.admin.UrlBlobB\002\030\001\022+\n\006inputs\030\002 \001(\0132\027.fl" - "yteidl.admin.UrlBlobB\002\030\001\022.\n\013full_inputs\030" - "\003 \001(\0132\031.flyteidl.core.LiteralMap\022/\n\014full" - "_outputs\030\004 \001(\0132\031.flyteidl.core.LiteralMa" - "p\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001(\0132" - "*.flyteidl.core.WorkflowExecutionIdentif" - "ier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.Exec" - "utionState\"\220\001\n\033ExecutionStateChangeDetai" - "ls\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin.Execu" - "tionState\022/\n\013occurred_at\030\002 \001(\0132\032.google." - "protobuf.Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n" - "\027ExecutionUpdateResponse\"k\n\"WorkflowExec" - "utionGetMetricsRequest\0226\n\002id\030\001 \001(\0132*.fly" - "teidl.core.WorkflowExecutionIdentifier\022\r" - "\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionGetMet" - "ricsResponse\022!\n\004span\030\001 \001(\0132\023.flyteidl.co" - "re.Span*>\n\016ExecutionState\022\024\n\020EXECUTION_A" - "CTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;githu" - "b.com/flyteorg/flyte/flyteidl/gen/pb-go/" - "flyteidl/adminb\006proto3" + "onSpec\022-\n\006inputs\030\005 \001(\0132\031.flyteidl.core.L" + "iteralMapB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyt" + "eidl.core.InputData\"\177\n\030ExecutionRelaunch" + "Request\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Work" + "flowExecutionIdentifier\022\014\n\004name\030\003 \001(\t\022\027\n" + "\017overwrite_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027Executi" + "onRecoverRequest\0226\n\002id\030\001 \001(\0132*.flyteidl." + "core.WorkflowExecutionIdentifier\022\014\n\004name" + "\030\002 \001(\t\0223\n\010metadata\030\003 \001(\0132!.flyteidl.admi" + "n.ExecutionMetadata\"Q\n\027ExecutionCreateRe" + "sponse\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workf" + "lowExecutionIdentifier\"U\n\033WorkflowExecut" + "ionGetRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.cor" + "e.WorkflowExecutionIdentifier\"\243\001\n\tExecut" + "ion\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workflow" + "ExecutionIdentifier\022+\n\004spec\030\002 \001(\0132\035.flyt" + "eidl.admin.ExecutionSpec\0221\n\007closure\030\003 \001(" + "\0132 .flyteidl.admin.ExecutionClosure\"M\n\rE" + "xecutionList\022-\n\nexecutions\030\001 \003(\0132\031.flyte" + "idl.admin.Execution\022\r\n\005token\030\002 \001(\t\"X\n\016Li" + "teralMapBlob\022/\n\006values\030\001 \001(\0132\031.flyteidl." + "core.LiteralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004" + "data\"1\n\rAbortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\t" + "principal\030\002 \001(\t\"\360\005\n\020ExecutionClosure\0225\n\007" + "outputs\030\001 \001(\0132\036.flyteidl.admin.LiteralMa" + "pBlobB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.co" + "re.ExecutionErrorH\000\022\031\n\013abort_cause\030\n \001(\t" + "B\002\030\001H\000\0227\n\016abort_metadata\030\014 \001(\0132\035.flyteid" + "l.admin.AbortMetadataH\000\0224\n\013output_data\030\r" + " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000\0226\n" + "\017computed_inputs\030\003 \001(\0132\031.flyteidl.core.L" + "iteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyteidl." + "core.WorkflowExecution.Phase\022.\n\nstarted_" + "at\030\005 \001(\0132\032.google.protobuf.Timestamp\022+\n\010" + "duration\030\006 \001(\0132\031.google.protobuf.Duratio" + "n\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." + "Timestamp\022.\n\nupdated_at\030\010 \001(\0132\032.google.p" + "rotobuf.Timestamp\0223\n\rnotifications\030\t \003(\013" + "2\034.flyteidl.admin.Notification\022.\n\013workfl" + "ow_id\030\013 \001(\0132\031.flyteidl.core.Identifier\022I" + "\n\024state_change_details\030\016 \001(\0132+.flyteidl." + "admin.ExecutionStateChangeDetailsB\017\n\rout" + "put_result\">\n\016SystemMetadata\022\031\n\021executio" + "n_cluster\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\332\003\n\021E" + "xecutionMetadata\022=\n\004mode\030\001 \001(\0162/.flyteid" + "l.admin.ExecutionMetadata.ExecutionMode\022" + "\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\0220\n\014s" + "cheduled_at\030\004 \001(\0132\032.google.protobuf.Time" + "stamp\022E\n\025parent_node_execution\030\005 \001(\0132&.f" + "lyteidl.core.NodeExecutionIdentifier\022G\n\023" + "reference_execution\030\020 \001(\0132*.flyteidl.cor" + "e.WorkflowExecutionIdentifier\0227\n\017system_" + "metadata\030\021 \001(\0132\036.flyteidl.admin.SystemMe" + "tadata\"g\n\rExecutionMode\022\n\n\006MANUAL\020\000\022\r\n\tS" + "CHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016" + "CHILD_WORKFLOW\020\004\022\r\n\tRECOVERED\020\005\"G\n\020Notif" + "icationList\0223\n\rnotifications\030\001 \003(\0132\034.fly" + "teidl.admin.Notification\"\262\006\n\rExecutionSp" + "ec\022.\n\013launch_plan\030\001 \001(\0132\031.flyteidl.core." + "Identifier\022-\n\006inputs\030\002 \001(\0132\031.flyteidl.co" + "re.LiteralMapB\002\030\001\0223\n\010metadata\030\003 \001(\0132!.fl" + "yteidl.admin.ExecutionMetadata\0229\n\rnotifi" + "cations\030\005 \001(\0132 .flyteidl.admin.Notificat" + "ionListH\000\022\025\n\013disable_all\030\006 \001(\010H\000\022&\n\006labe" + "ls\030\007 \001(\0132\026.flyteidl.admin.Labels\0220\n\013anno" + "tations\030\010 \001(\0132\033.flyteidl.admin.Annotatio" + "ns\0228\n\020security_context\030\n \001(\0132\036.flyteidl." + "core.SecurityContext\022/\n\tauth_role\030\020 \001(\0132" + "\030.flyteidl.admin.AuthRoleB\002\030\001\022;\n\022quality" + "_of_service\030\021 \001(\0132\037.flyteidl.core.Qualit" + "yOfService\022\027\n\017max_parallelism\030\022 \001(\005\022C\n\026r" + "aw_output_data_config\030\023 \001(\0132#.flyteidl.a" + "dmin.RawOutputDataConfig\022=\n\022cluster_assi" + "gnment\030\024 \001(\0132!.flyteidl.admin.ClusterAss" + "ignment\0221\n\rinterruptible\030\025 \001(\0132\032.google." + "protobuf.BoolValue\022\027\n\017overwrite_cache\030\026 " + "\001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteidl.admin.Envs\022" + "\014\n\004tags\030\030 \003(\tB\030\n\026notification_overridesJ" + "\004\010\004\020\005\"b\n\031ExecutionTerminateRequest\0226\n\002id" + "\030\001 \001(\0132*.flyteidl.core.WorkflowExecution" + "Identifier\022\r\n\005cause\030\002 \001(\t\"\034\n\032ExecutionTe" + "rminateResponse\"Y\n\037WorkflowExecutionGetD" + "ataRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.W" + "orkflowExecutionIdentifier\"\304\002\n WorkflowE" + "xecutionGetDataResponse\022,\n\007outputs\030\001 \001(\013" + "2\027.flyteidl.admin.UrlBlobB\002\030\001\022+\n\006inputs\030" + "\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\0222\n\013fu" + "ll_inputs\030\003 \001(\0132\031.flyteidl.core.LiteralM" + "apB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyteidl." + "core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005 \001(\0132" + "\030.flyteidl.core.InputData\022.\n\013output_data" + "\030\006 \001(\0132\031.flyteidl.core.OutputData\"\177\n\026Exe" + "cutionUpdateRequest\0226\n\002id\030\001 \001(\0132*.flytei" + "dl.core.WorkflowExecutionIdentifier\022-\n\005s" + "tate\030\002 \001(\0162\036.flyteidl.admin.ExecutionSta" + "te\"\220\001\n\033ExecutionStateChangeDetails\022-\n\005st" + "ate\030\001 \001(\0162\036.flyteidl.admin.ExecutionStat" + "e\022/\n\013occurred_at\030\002 \001(\0132\032.google.protobuf" + ".Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n\027Executi" + "onUpdateResponse\"k\n\"WorkflowExecutionGet" + "MetricsRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.co" + "re.WorkflowExecutionIdentifier\022\r\n\005depth\030" + "\002 \001(\005\"H\n#WorkflowExecutionGetMetricsResp" + "onse\022!\n\004span\030\001 \001(\0132\023.flyteidl.core.Span*" + ">\n\016ExecutionState\022\024\n\020EXECUTION_ACTIVE\020\000\022" + "\026\n\022EXECUTION_ARCHIVED\020\001B=Z;github.com/fl" + "yteorg/flyte/flyteidl/gen/pb-go/flyteidl" + "/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto, - "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4622, + "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4774, }; void AddDescriptors_flyteidl_2fadmin_2fexecution_2eproto() { @@ -1000,11 +1012,14 @@ void ExecutionCreateRequest::InitAsDefaultInstance() { ::flyteidl::admin::ExecutionSpec::internal_default_instance()); ::flyteidl::admin::_ExecutionCreateRequest_default_instance_._instance.get_mutable()->inputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_ExecutionCreateRequest_default_instance_._instance.get_mutable()->input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); } class ExecutionCreateRequest::HasBitSetters { public: static const ::flyteidl::admin::ExecutionSpec& spec(const ExecutionCreateRequest* msg); static const ::flyteidl::core::LiteralMap& inputs(const ExecutionCreateRequest* msg); + static const ::flyteidl::core::InputData& input_data(const ExecutionCreateRequest* msg); }; const ::flyteidl::admin::ExecutionSpec& @@ -1015,18 +1030,29 @@ const ::flyteidl::core::LiteralMap& ExecutionCreateRequest::HasBitSetters::inputs(const ExecutionCreateRequest* msg) { return *msg->inputs_; } +const ::flyteidl::core::InputData& +ExecutionCreateRequest::HasBitSetters::input_data(const ExecutionCreateRequest* msg) { + return *msg->input_data_; +} void ExecutionCreateRequest::clear_inputs() { if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { delete inputs_; } inputs_ = nullptr; } +void ExecutionCreateRequest::clear_input_data() { + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ExecutionCreateRequest::kProjectFieldNumber; const int ExecutionCreateRequest::kDomainFieldNumber; const int ExecutionCreateRequest::kNameFieldNumber; const int ExecutionCreateRequest::kSpecFieldNumber; const int ExecutionCreateRequest::kInputsFieldNumber; +const int ExecutionCreateRequest::kInputDataFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ExecutionCreateRequest::ExecutionCreateRequest() @@ -1060,6 +1086,11 @@ ExecutionCreateRequest::ExecutionCreateRequest(const ExecutionCreateRequest& fro } else { inputs_ = nullptr; } + if (from.has_input_data()) { + input_data_ = new ::flyteidl::core::InputData(*from.input_data_); + } else { + input_data_ = nullptr; + } // @@protoc_insertion_point(copy_constructor:flyteidl.admin.ExecutionCreateRequest) } @@ -1070,8 +1101,8 @@ void ExecutionCreateRequest::SharedCtor() { domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&spec_, 0, static_cast( - reinterpret_cast(&inputs_) - - reinterpret_cast(&spec_)) + sizeof(inputs_)); + reinterpret_cast(&input_data_) - + reinterpret_cast(&spec_)) + sizeof(input_data_)); } ExecutionCreateRequest::~ExecutionCreateRequest() { @@ -1085,6 +1116,7 @@ void ExecutionCreateRequest::SharedDtor() { name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete spec_; if (this != internal_default_instance()) delete inputs_; + if (this != internal_default_instance()) delete input_data_; } void ExecutionCreateRequest::SetCachedSize(int size) const { @@ -1113,6 +1145,10 @@ void ExecutionCreateRequest::Clear() { delete inputs_; } inputs_ = nullptr; + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; _internal_metadata_.Clear(); } @@ -1190,7 +1226,7 @@ const char* ExecutionCreateRequest::_InternalParse(const char* begin, const char {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap inputs = 5; + // .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; case 5: { if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -1203,6 +1239,19 @@ const char* ExecutionCreateRequest::_InternalParse(const char* begin, const char {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.InputData input_data = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1293,7 +1342,7 @@ bool ExecutionCreateRequest::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap inputs = 5; + // .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; case 5: { if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -1304,6 +1353,17 @@ bool ExecutionCreateRequest::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData input_data = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_input_data())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1367,12 +1427,18 @@ void ExecutionCreateRequest::SerializeWithCachedSizes( 4, HasBitSetters::spec(this), output); } - // .flyteidl.core.LiteralMap inputs = 5; + // .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; if (this->has_inputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 5, HasBitSetters::inputs(this), output); } + // .flyteidl.core.InputData input_data = 6; + if (this->has_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 6, HasBitSetters::input_data(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1426,13 +1492,20 @@ ::google::protobuf::uint8* ExecutionCreateRequest::InternalSerializeWithCachedSi 4, HasBitSetters::spec(this), target); } - // .flyteidl.core.LiteralMap inputs = 5; + // .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; if (this->has_inputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 5, HasBitSetters::inputs(this), target); } + // .flyteidl.core.InputData input_data = 6; + if (this->has_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 6, HasBitSetters::input_data(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1482,13 +1555,20 @@ size_t ExecutionCreateRequest::ByteSizeLong() const { *spec_); } - // .flyteidl.core.LiteralMap inputs = 5; + // .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; if (this->has_inputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *inputs_); } + // .flyteidl.core.InputData input_data = 6; + if (this->has_input_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *input_data_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -1534,6 +1614,9 @@ void ExecutionCreateRequest::MergeFrom(const ExecutionCreateRequest& from) { if (from.has_inputs()) { mutable_inputs()->::flyteidl::core::LiteralMap::MergeFrom(from.inputs()); } + if (from.has_input_data()) { + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); + } } void ExecutionCreateRequest::CopyFrom(const ::google::protobuf::Message& from) { @@ -1569,6 +1652,7 @@ void ExecutionCreateRequest::InternalSwap(ExecutionCreateRequest* other) { GetArenaNoVirtual()); swap(spec_, other->spec_); swap(inputs_, other->inputs_); + swap(input_data_, other->input_data_); } ::google::protobuf::Metadata ExecutionCreateRequest::GetMetadata() const { @@ -9466,6 +9550,10 @@ void WorkflowExecutionGetDataResponse::InitAsDefaultInstance() { ::flyteidl::core::LiteralMap::internal_default_instance()); ::flyteidl::admin::_WorkflowExecutionGetDataResponse_default_instance_._instance.get_mutable()->full_outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_WorkflowExecutionGetDataResponse_default_instance_._instance.get_mutable()->input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); + ::flyteidl::admin::_WorkflowExecutionGetDataResponse_default_instance_._instance.get_mutable()->output_data_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); } class WorkflowExecutionGetDataResponse::HasBitSetters { public: @@ -9473,6 +9561,8 @@ class WorkflowExecutionGetDataResponse::HasBitSetters { static const ::flyteidl::admin::UrlBlob& inputs(const WorkflowExecutionGetDataResponse* msg); static const ::flyteidl::core::LiteralMap& full_inputs(const WorkflowExecutionGetDataResponse* msg); static const ::flyteidl::core::LiteralMap& full_outputs(const WorkflowExecutionGetDataResponse* msg); + static const ::flyteidl::core::InputData& input_data(const WorkflowExecutionGetDataResponse* msg); + static const ::flyteidl::core::OutputData& output_data(const WorkflowExecutionGetDataResponse* msg); }; const ::flyteidl::admin::UrlBlob& @@ -9491,6 +9581,14 @@ const ::flyteidl::core::LiteralMap& WorkflowExecutionGetDataResponse::HasBitSetters::full_outputs(const WorkflowExecutionGetDataResponse* msg) { return *msg->full_outputs_; } +const ::flyteidl::core::InputData& +WorkflowExecutionGetDataResponse::HasBitSetters::input_data(const WorkflowExecutionGetDataResponse* msg) { + return *msg->input_data_; +} +const ::flyteidl::core::OutputData& +WorkflowExecutionGetDataResponse::HasBitSetters::output_data(const WorkflowExecutionGetDataResponse* msg) { + return *msg->output_data_; +} void WorkflowExecutionGetDataResponse::clear_outputs() { if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) { delete outputs_; @@ -9515,11 +9613,25 @@ void WorkflowExecutionGetDataResponse::clear_full_outputs() { } full_outputs_ = nullptr; } +void WorkflowExecutionGetDataResponse::clear_input_data() { + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; +} +void WorkflowExecutionGetDataResponse::clear_output_data() { + if (GetArenaNoVirtual() == nullptr && output_data_ != nullptr) { + delete output_data_; + } + output_data_ = nullptr; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int WorkflowExecutionGetDataResponse::kOutputsFieldNumber; const int WorkflowExecutionGetDataResponse::kInputsFieldNumber; const int WorkflowExecutionGetDataResponse::kFullInputsFieldNumber; const int WorkflowExecutionGetDataResponse::kFullOutputsFieldNumber; +const int WorkflowExecutionGetDataResponse::kInputDataFieldNumber; +const int WorkflowExecutionGetDataResponse::kOutputDataFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 WorkflowExecutionGetDataResponse::WorkflowExecutionGetDataResponse() @@ -9551,6 +9663,16 @@ WorkflowExecutionGetDataResponse::WorkflowExecutionGetDataResponse(const Workflo } else { full_outputs_ = nullptr; } + if (from.has_input_data()) { + input_data_ = new ::flyteidl::core::InputData(*from.input_data_); + } else { + input_data_ = nullptr; + } + if (from.has_output_data()) { + output_data_ = new ::flyteidl::core::OutputData(*from.output_data_); + } else { + output_data_ = nullptr; + } // @@protoc_insertion_point(copy_constructor:flyteidl.admin.WorkflowExecutionGetDataResponse) } @@ -9558,8 +9680,8 @@ void WorkflowExecutionGetDataResponse::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_WorkflowExecutionGetDataResponse_flyteidl_2fadmin_2fexecution_2eproto.base); ::memset(&outputs_, 0, static_cast( - reinterpret_cast(&full_outputs_) - - reinterpret_cast(&outputs_)) + sizeof(full_outputs_)); + reinterpret_cast(&output_data_) - + reinterpret_cast(&outputs_)) + sizeof(output_data_)); } WorkflowExecutionGetDataResponse::~WorkflowExecutionGetDataResponse() { @@ -9572,6 +9694,8 @@ void WorkflowExecutionGetDataResponse::SharedDtor() { if (this != internal_default_instance()) delete inputs_; if (this != internal_default_instance()) delete full_inputs_; if (this != internal_default_instance()) delete full_outputs_; + if (this != internal_default_instance()) delete input_data_; + if (this != internal_default_instance()) delete output_data_; } void WorkflowExecutionGetDataResponse::SetCachedSize(int size) const { @@ -9605,6 +9729,14 @@ void WorkflowExecutionGetDataResponse::Clear() { delete full_outputs_; } full_outputs_ = nullptr; + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; + if (GetArenaNoVirtual() == nullptr && output_data_ != nullptr) { + delete output_data_; + } + output_data_ = nullptr; _internal_metadata_.Clear(); } @@ -9647,7 +9779,7 @@ const char* WorkflowExecutionGetDataResponse::_InternalParse(const char* begin, {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; case 3: { if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -9660,7 +9792,7 @@ const char* WorkflowExecutionGetDataResponse::_InternalParse(const char* begin, {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; case 4: { if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -9673,6 +9805,32 @@ const char* WorkflowExecutionGetDataResponse::_InternalParse(const char* begin, {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.InputData input_data = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.OutputData output_data = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_output_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -9725,7 +9883,7 @@ bool WorkflowExecutionGetDataResponse::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; case 3: { if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -9736,7 +9894,7 @@ bool WorkflowExecutionGetDataResponse::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; case 4: { if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -9747,6 +9905,28 @@ bool WorkflowExecutionGetDataResponse::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData input_data = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_input_data())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.OutputData output_data = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_output_data())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -9786,18 +9966,30 @@ void WorkflowExecutionGetDataResponse::SerializeWithCachedSizes( 2, HasBitSetters::inputs(this), output); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 3, HasBitSetters::full_inputs(this), output); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 4, HasBitSetters::full_outputs(this), output); } + // .flyteidl.core.InputData input_data = 5; + if (this->has_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, HasBitSetters::input_data(this), output); + } + + // .flyteidl.core.OutputData output_data = 6; + if (this->has_output_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 6, HasBitSetters::output_data(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -9825,20 +10017,34 @@ ::google::protobuf::uint8* WorkflowExecutionGetDataResponse::InternalSerializeWi 2, HasBitSetters::inputs(this), target); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 3, HasBitSetters::full_inputs(this), target); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 4, HasBitSetters::full_outputs(this), target); } + // .flyteidl.core.InputData input_data = 5; + if (this->has_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 5, HasBitSetters::input_data(this), target); + } + + // .flyteidl.core.OutputData output_data = 6; + if (this->has_output_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 6, HasBitSetters::output_data(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -9874,20 +10080,34 @@ size_t WorkflowExecutionGetDataResponse::ByteSizeLong() const { *inputs_); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *full_inputs_); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *full_outputs_); } + // .flyteidl.core.InputData input_data = 5; + if (this->has_input_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *input_data_); + } + + // .flyteidl.core.OutputData output_data = 6; + if (this->has_output_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_data_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -9927,6 +10147,12 @@ void WorkflowExecutionGetDataResponse::MergeFrom(const WorkflowExecutionGetDataR if (from.has_full_outputs()) { mutable_full_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.full_outputs()); } + if (from.has_input_data()) { + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); + } + if (from.has_output_data()) { + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); + } } void WorkflowExecutionGetDataResponse::CopyFrom(const ::google::protobuf::Message& from) { @@ -9958,6 +10184,8 @@ void WorkflowExecutionGetDataResponse::InternalSwap(WorkflowExecutionGetDataResp swap(inputs_, other->inputs_); swap(full_inputs_, other->full_inputs_); swap(full_outputs_, other->full_outputs_); + swap(input_data_, other->input_data_); + swap(output_data_, other->output_data_); } ::google::protobuf::Metadata WorkflowExecutionGetDataResponse::GetMetadata() const { diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h index 9665aff4c4..f141973649 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h @@ -356,14 +356,23 @@ class ExecutionCreateRequest final : ::flyteidl::admin::ExecutionSpec* mutable_spec(); void set_allocated_spec(::flyteidl::admin::ExecutionSpec* spec); - // .flyteidl.core.LiteralMap inputs = 5; - bool has_inputs() const; - void clear_inputs(); - static const int kInputsFieldNumber = 5; - const ::flyteidl::core::LiteralMap& inputs() const; - ::flyteidl::core::LiteralMap* release_inputs(); - ::flyteidl::core::LiteralMap* mutable_inputs(); - void set_allocated_inputs(::flyteidl::core::LiteralMap* inputs); + // .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_inputs() const; + PROTOBUF_DEPRECATED void clear_inputs(); + PROTOBUF_DEPRECATED static const int kInputsFieldNumber = 5; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& inputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_inputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_inputs(); + PROTOBUF_DEPRECATED void set_allocated_inputs(::flyteidl::core::LiteralMap* inputs); + + // .flyteidl.core.InputData input_data = 6; + bool has_input_data() const; + void clear_input_data(); + static const int kInputDataFieldNumber = 6; + const ::flyteidl::core::InputData& input_data() const; + ::flyteidl::core::InputData* release_input_data(); + ::flyteidl::core::InputData* mutable_input_data(); + void set_allocated_input_data(::flyteidl::core::InputData* input_data); // @@protoc_insertion_point(class_scope:flyteidl.admin.ExecutionCreateRequest) private: @@ -375,6 +384,7 @@ class ExecutionCreateRequest final : ::google::protobuf::internal::ArenaStringPtr name_; ::flyteidl::admin::ExecutionSpec* spec_; ::flyteidl::core::LiteralMap* inputs_; + ::flyteidl::core::InputData* input_data_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fexecution_2eproto; }; @@ -2942,23 +2952,41 @@ class WorkflowExecutionGetDataResponse final : PROTOBUF_DEPRECATED ::flyteidl::admin::UrlBlob* mutable_inputs(); PROTOBUF_DEPRECATED void set_allocated_inputs(::flyteidl::admin::UrlBlob* inputs); - // .flyteidl.core.LiteralMap full_inputs = 3; - bool has_full_inputs() const; - void clear_full_inputs(); - static const int kFullInputsFieldNumber = 3; - const ::flyteidl::core::LiteralMap& full_inputs() const; - ::flyteidl::core::LiteralMap* release_full_inputs(); - ::flyteidl::core::LiteralMap* mutable_full_inputs(); - void set_allocated_full_inputs(::flyteidl::core::LiteralMap* full_inputs); - - // .flyteidl.core.LiteralMap full_outputs = 4; - bool has_full_outputs() const; - void clear_full_outputs(); - static const int kFullOutputsFieldNumber = 4; - const ::flyteidl::core::LiteralMap& full_outputs() const; - ::flyteidl::core::LiteralMap* release_full_outputs(); - ::flyteidl::core::LiteralMap* mutable_full_outputs(); - void set_allocated_full_outputs(::flyteidl::core::LiteralMap* full_outputs); + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_full_inputs() const; + PROTOBUF_DEPRECATED void clear_full_inputs(); + PROTOBUF_DEPRECATED static const int kFullInputsFieldNumber = 3; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& full_inputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_full_inputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_full_inputs(); + PROTOBUF_DEPRECATED void set_allocated_full_inputs(::flyteidl::core::LiteralMap* full_inputs); + + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_full_outputs() const; + PROTOBUF_DEPRECATED void clear_full_outputs(); + PROTOBUF_DEPRECATED static const int kFullOutputsFieldNumber = 4; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& full_outputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_full_outputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_full_outputs(); + PROTOBUF_DEPRECATED void set_allocated_full_outputs(::flyteidl::core::LiteralMap* full_outputs); + + // .flyteidl.core.InputData input_data = 5; + bool has_input_data() const; + void clear_input_data(); + static const int kInputDataFieldNumber = 5; + const ::flyteidl::core::InputData& input_data() const; + ::flyteidl::core::InputData* release_input_data(); + ::flyteidl::core::InputData* mutable_input_data(); + void set_allocated_input_data(::flyteidl::core::InputData* input_data); + + // .flyteidl.core.OutputData output_data = 6; + bool has_output_data() const; + void clear_output_data(); + static const int kOutputDataFieldNumber = 6; + const ::flyteidl::core::OutputData& output_data() const; + ::flyteidl::core::OutputData* release_output_data(); + ::flyteidl::core::OutputData* mutable_output_data(); + void set_allocated_output_data(::flyteidl::core::OutputData* output_data); // @@protoc_insertion_point(class_scope:flyteidl.admin.WorkflowExecutionGetDataResponse) private: @@ -2969,6 +2997,8 @@ class WorkflowExecutionGetDataResponse final : ::flyteidl::admin::UrlBlob* inputs_; ::flyteidl::core::LiteralMap* full_inputs_; ::flyteidl::core::LiteralMap* full_outputs_; + ::flyteidl::core::InputData* input_data_; + ::flyteidl::core::OutputData* output_data_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fexecution_2eproto; }; @@ -3794,7 +3824,7 @@ inline void ExecutionCreateRequest::set_allocated_spec(::flyteidl::admin::Execut // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ExecutionCreateRequest.spec) } -// .flyteidl.core.LiteralMap inputs = 5; +// .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; inline bool ExecutionCreateRequest::has_inputs() const { return this != internal_default_instance() && inputs_ != nullptr; } @@ -3839,6 +3869,51 @@ inline void ExecutionCreateRequest::set_allocated_inputs(::flyteidl::core::Liter // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ExecutionCreateRequest.inputs) } +// .flyteidl.core.InputData input_data = 6; +inline bool ExecutionCreateRequest::has_input_data() const { + return this != internal_default_instance() && input_data_ != nullptr; +} +inline const ::flyteidl::core::InputData& ExecutionCreateRequest::input_data() const { + const ::flyteidl::core::InputData* p = input_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.ExecutionCreateRequest.input_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* ExecutionCreateRequest::release_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ExecutionCreateRequest.input_data) + + ::flyteidl::core::InputData* temp = input_data_; + input_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::InputData* ExecutionCreateRequest::mutable_input_data() { + + if (input_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::InputData>(GetArenaNoVirtual()); + input_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ExecutionCreateRequest.input_data) + return input_data_; +} +inline void ExecutionCreateRequest::set_allocated_input_data(::flyteidl::core::InputData* input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(input_data_); + } + if (input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, input_data, submessage_arena); + } + + } else { + + } + input_data_ = input_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ExecutionCreateRequest.input_data) +} + // ------------------------------------------------------------------- // ExecutionRelaunchRequest @@ -6706,7 +6781,7 @@ inline void WorkflowExecutionGetDataResponse::set_allocated_inputs(::flyteidl::a // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowExecutionGetDataResponse.inputs) } -// .flyteidl.core.LiteralMap full_inputs = 3; +// .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; inline bool WorkflowExecutionGetDataResponse::has_full_inputs() const { return this != internal_default_instance() && full_inputs_ != nullptr; } @@ -6751,7 +6826,7 @@ inline void WorkflowExecutionGetDataResponse::set_allocated_full_inputs(::flytei // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowExecutionGetDataResponse.full_inputs) } -// .flyteidl.core.LiteralMap full_outputs = 4; +// .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; inline bool WorkflowExecutionGetDataResponse::has_full_outputs() const { return this != internal_default_instance() && full_outputs_ != nullptr; } @@ -6796,6 +6871,96 @@ inline void WorkflowExecutionGetDataResponse::set_allocated_full_outputs(::flyte // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowExecutionGetDataResponse.full_outputs) } +// .flyteidl.core.InputData input_data = 5; +inline bool WorkflowExecutionGetDataResponse::has_input_data() const { + return this != internal_default_instance() && input_data_ != nullptr; +} +inline const ::flyteidl::core::InputData& WorkflowExecutionGetDataResponse::input_data() const { + const ::flyteidl::core::InputData* p = input_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.WorkflowExecutionGetDataResponse.input_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* WorkflowExecutionGetDataResponse::release_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.WorkflowExecutionGetDataResponse.input_data) + + ::flyteidl::core::InputData* temp = input_data_; + input_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::InputData* WorkflowExecutionGetDataResponse::mutable_input_data() { + + if (input_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::InputData>(GetArenaNoVirtual()); + input_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.WorkflowExecutionGetDataResponse.input_data) + return input_data_; +} +inline void WorkflowExecutionGetDataResponse::set_allocated_input_data(::flyteidl::core::InputData* input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(input_data_); + } + if (input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, input_data, submessage_arena); + } + + } else { + + } + input_data_ = input_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowExecutionGetDataResponse.input_data) +} + +// .flyteidl.core.OutputData output_data = 6; +inline bool WorkflowExecutionGetDataResponse::has_output_data() const { + return this != internal_default_instance() && output_data_ != nullptr; +} +inline const ::flyteidl::core::OutputData& WorkflowExecutionGetDataResponse::output_data() const { + const ::flyteidl::core::OutputData* p = output_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.WorkflowExecutionGetDataResponse.output_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_OutputData_default_instance_); +} +inline ::flyteidl::core::OutputData* WorkflowExecutionGetDataResponse::release_output_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.WorkflowExecutionGetDataResponse.output_data) + + ::flyteidl::core::OutputData* temp = output_data_; + output_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::OutputData* WorkflowExecutionGetDataResponse::mutable_output_data() { + + if (output_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::OutputData>(GetArenaNoVirtual()); + output_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.WorkflowExecutionGetDataResponse.output_data) + return output_data_; +} +inline void WorkflowExecutionGetDataResponse::set_allocated_output_data(::flyteidl::core::OutputData* output_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(output_data_); + } + if (output_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + output_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, output_data, submessage_arena); + } + + } else { + + } + output_data_ = output_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowExecutionGetDataResponse.output_data) +} + // ------------------------------------------------------------------- // ExecutionUpdateRequest diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc index bcde2fea45..241f30daee 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc @@ -25,7 +25,7 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::prot extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Labels_flyteidl_2fadmin_2fcommon_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_Notification_flyteidl_2fadmin_2fcommon_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2flaunch_5fplan_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Auth_flyteidl_2fadmin_2flaunch_5fplan_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2flaunch_5fplan_2eproto ::google::protobuf::internal::SCCInfo<13> scc_info_LaunchPlanSpec_flyteidl_2fadmin_2flaunch_5fplan_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2flaunch_5fplan_2eproto ::google::protobuf::internal::SCCInfo<14> scc_info_LaunchPlanSpec_flyteidl_2fadmin_2flaunch_5fplan_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2flaunch_5fplan_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_LaunchPlanMetadata_flyteidl_2fadmin_2flaunch_5fplan_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2flaunch_5fplan_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_LaunchPlanClosure_flyteidl_2fadmin_2flaunch_5fplan_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2flaunch_5fplan_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_LaunchPlan_flyteidl_2fadmin_2flaunch_5fplan_2eproto; @@ -34,6 +34,7 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::pr extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2finterface_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ParameterMap_flyteidl_2fcore_2finterface_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2finterface_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_VariableMap_flyteidl_2fcore_2finterface_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fsecurity_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_SecurityContext_flyteidl_2fcore_2fsecurity_2eproto; extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2ftimestamp_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto; @@ -177,12 +178,13 @@ static void InitDefaultsLaunchPlanSpec_flyteidl_2fadmin_2flaunch_5fplan_2eproto( ::flyteidl::admin::LaunchPlanSpec::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<13> scc_info_LaunchPlanSpec_flyteidl_2fadmin_2flaunch_5fplan_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 13, InitDefaultsLaunchPlanSpec_flyteidl_2fadmin_2flaunch_5fplan_2eproto}, { +::google::protobuf::internal::SCCInfo<14> scc_info_LaunchPlanSpec_flyteidl_2fadmin_2flaunch_5fplan_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 14, InitDefaultsLaunchPlanSpec_flyteidl_2fadmin_2flaunch_5fplan_2eproto}, { &scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto.base, &scc_info_LaunchPlanMetadata_flyteidl_2fadmin_2flaunch_5fplan_2eproto.base, &scc_info_ParameterMap_flyteidl_2fcore_2finterface_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_Labels_flyteidl_2fadmin_2fcommon_2eproto.base, &scc_info_Annotations_flyteidl_2fadmin_2fcommon_2eproto.base, &scc_info_Auth_flyteidl_2fadmin_2flaunch_5fplan_2eproto.base, @@ -348,6 +350,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2flaunch_5fplan_2e PROTOBUF_FIELD_OFFSET(::flyteidl::admin::LaunchPlanSpec, entity_metadata_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::LaunchPlanSpec, default_inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::LaunchPlanSpec, fixed_inputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::LaunchPlanSpec, fixed_input_data_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::LaunchPlanSpec, role_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::LaunchPlanSpec, labels_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::LaunchPlanSpec, annotations_), @@ -413,12 +416,12 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 20, -1, sizeof(::flyteidl::admin::LaunchPlanList)}, { 27, -1, sizeof(::flyteidl::admin::Auth)}, { 34, -1, sizeof(::flyteidl::admin::LaunchPlanSpec)}, - { 55, -1, sizeof(::flyteidl::admin::LaunchPlanClosure)}, - { 65, -1, sizeof(::flyteidl::admin::LaunchPlanMetadata)}, - { 72, -1, sizeof(::flyteidl::admin::LaunchPlanUpdateRequest)}, - { 79, -1, sizeof(::flyteidl::admin::LaunchPlanUpdateResponse)}, - { 84, -1, sizeof(::flyteidl::admin::ActiveLaunchPlanRequest)}, - { 90, -1, sizeof(::flyteidl::admin::ActiveLaunchPlanListRequest)}, + { 56, -1, sizeof(::flyteidl::admin::LaunchPlanClosure)}, + { 66, -1, sizeof(::flyteidl::admin::LaunchPlanMetadata)}, + { 73, -1, sizeof(::flyteidl::admin::LaunchPlanUpdateRequest)}, + { 80, -1, sizeof(::flyteidl::admin::LaunchPlanUpdateResponse)}, + { 85, -1, sizeof(::flyteidl::admin::ActiveLaunchPlanRequest)}, + { 91, -1, sizeof(::flyteidl::admin::ActiveLaunchPlanListRequest)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -462,52 +465,54 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2flaunch_5fplan_2eproto[] "0\n\014launch_plans\030\001 \003(\0132\032.flyteidl.admin.L" "aunchPlan\022\r\n\005token\030\002 \001(\t\"J\n\004Auth\022\032\n\022assu" "mable_iam_role\030\001 \001(\t\022\"\n\032kubernetes_servi" - "ce_account\030\002 \001(\t:\002\030\001\"\355\005\n\016LaunchPlanSpec\022" + "ce_account\030\002 \001(\t:\002\030\001\"\245\006\n\016LaunchPlanSpec\022" ".\n\013workflow_id\030\001 \001(\0132\031.flyteidl.core.Ide" "ntifier\022;\n\017entity_metadata\030\002 \001(\0132\".flyte" "idl.admin.LaunchPlanMetadata\0223\n\016default_" "inputs\030\003 \001(\0132\033.flyteidl.core.ParameterMa" - "p\022/\n\014fixed_inputs\030\004 \001(\0132\031.flyteidl.core." - "LiteralMap\022\020\n\004role\030\005 \001(\tB\002\030\001\022&\n\006labels\030\006" - " \001(\0132\026.flyteidl.admin.Labels\0220\n\013annotati" - "ons\030\007 \001(\0132\033.flyteidl.admin.Annotations\022&" - "\n\004auth\030\010 \001(\0132\024.flyteidl.admin.AuthB\002\030\001\022/" - "\n\tauth_role\030\t \001(\0132\030.flyteidl.admin.AuthR" - "oleB\002\030\001\0228\n\020security_context\030\n \001(\0132\036.flyt" - "eidl.core.SecurityContext\022;\n\022quality_of_" - "service\030\020 \001(\0132\037.flyteidl.core.QualityOfS" - "ervice\022C\n\026raw_output_data_config\030\021 \001(\0132#" - ".flyteidl.admin.RawOutputDataConfig\022\027\n\017m" - "ax_parallelism\030\022 \001(\005\0221\n\rinterruptible\030\023 " - "\001(\0132\032.google.protobuf.BoolValue\022\027\n\017overw" - "rite_cache\030\024 \001(\010\022\"\n\004envs\030\025 \001(\0132\024.flyteid" - "l.admin.Envs\"\217\002\n\021LaunchPlanClosure\022.\n\005st" - "ate\030\001 \001(\0162\037.flyteidl.admin.LaunchPlanSta" - "te\0224\n\017expected_inputs\030\002 \001(\0132\033.flyteidl.c" - "ore.ParameterMap\0224\n\020expected_outputs\030\003 \001" - "(\0132\032.flyteidl.core.VariableMap\022.\n\ncreate" - "d_at\030\004 \001(\0132\032.google.protobuf.Timestamp\022." - "\n\nupdated_at\030\005 \001(\0132\032.google.protobuf.Tim" - "estamp\"u\n\022LaunchPlanMetadata\022*\n\010schedule" - "\030\001 \001(\0132\030.flyteidl.admin.Schedule\0223\n\rnoti" - "fications\030\002 \003(\0132\034.flyteidl.admin.Notific" - "ation\"p\n\027LaunchPlanUpdateRequest\022%\n\002id\030\001" - " \001(\0132\031.flyteidl.core.Identifier\022.\n\005state" - "\030\002 \001(\0162\037.flyteidl.admin.LaunchPlanState\"" - "\032\n\030LaunchPlanUpdateResponse\"L\n\027ActiveLau" - "nchPlanRequest\0221\n\002id\030\001 \001(\0132%.flyteidl.ad" - "min.NamedEntityIdentifier\"\203\001\n\033ActiveLaun" - "chPlanListRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006do" - "main\030\002 \001(\t\022\r\n\005limit\030\003 \001(\r\022\r\n\005token\030\004 \001(\t" - "\022%\n\007sort_by\030\005 \001(\0132\024.flyteidl.admin.Sort*" - "+\n\017LaunchPlanState\022\014\n\010INACTIVE\020\000\022\n\n\006ACTI" - "VE\020\001B=Z;github.com/flyteorg/flyte/flytei" - "dl/gen/pb-go/flyteidl/adminb\006proto3" + "p\0223\n\014fixed_inputs\030\004 \001(\0132\031.flyteidl.core." + "LiteralMapB\002\030\001\0222\n\020fixed_input_data\030\026 \001(\013" + "2\030.flyteidl.core.InputData\022\020\n\004role\030\005 \001(\t" + "B\002\030\001\022&\n\006labels\030\006 \001(\0132\026.flyteidl.admin.La" + "bels\0220\n\013annotations\030\007 \001(\0132\033.flyteidl.adm" + "in.Annotations\022&\n\004auth\030\010 \001(\0132\024.flyteidl." + "admin.AuthB\002\030\001\022/\n\tauth_role\030\t \001(\0132\030.flyt" + "eidl.admin.AuthRoleB\002\030\001\0228\n\020security_cont" + "ext\030\n \001(\0132\036.flyteidl.core.SecurityContex" + "t\022;\n\022quality_of_service\030\020 \001(\0132\037.flyteidl" + ".core.QualityOfService\022C\n\026raw_output_dat" + "a_config\030\021 \001(\0132#.flyteidl.admin.RawOutpu" + "tDataConfig\022\027\n\017max_parallelism\030\022 \001(\005\0221\n\r" + "interruptible\030\023 \001(\0132\032.google.protobuf.Bo" + "olValue\022\027\n\017overwrite_cache\030\024 \001(\010\022\"\n\004envs" + "\030\025 \001(\0132\024.flyteidl.admin.Envs\"\217\002\n\021LaunchP" + "lanClosure\022.\n\005state\030\001 \001(\0162\037.flyteidl.adm" + "in.LaunchPlanState\0224\n\017expected_inputs\030\002 " + "\001(\0132\033.flyteidl.core.ParameterMap\0224\n\020expe" + "cted_outputs\030\003 \001(\0132\032.flyteidl.core.Varia" + "bleMap\022.\n\ncreated_at\030\004 \001(\0132\032.google.prot" + "obuf.Timestamp\022.\n\nupdated_at\030\005 \001(\0132\032.goo" + "gle.protobuf.Timestamp\"u\n\022LaunchPlanMeta" + "data\022*\n\010schedule\030\001 \001(\0132\030.flyteidl.admin." + "Schedule\0223\n\rnotifications\030\002 \003(\0132\034.flytei" + "dl.admin.Notification\"p\n\027LaunchPlanUpdat" + "eRequest\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Ide" + "ntifier\022.\n\005state\030\002 \001(\0162\037.flyteidl.admin." + "LaunchPlanState\"\032\n\030LaunchPlanUpdateRespo" + "nse\"L\n\027ActiveLaunchPlanRequest\0221\n\002id\030\001 \001" + "(\0132%.flyteidl.admin.NamedEntityIdentifie" + "r\"\203\001\n\033ActiveLaunchPlanListRequest\022\017\n\007pro" + "ject\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003 \001(" + "\r\022\r\n\005token\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyt" + "eidl.admin.Sort*+\n\017LaunchPlanState\022\014\n\010IN" + "ACTIVE\020\000\022\n\n\006ACTIVE\020\001B=Z;github.com/flyte" + "org/flyte/flyteidl/gen/pb-go/flyteidl/ad" + "minb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2flaunch_5fplan_2eproto = { false, InitDefaults_flyteidl_2fadmin_2flaunch_5fplan_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2flaunch_5fplan_2eproto, - "flyteidl/admin/launch_plan.proto", &assign_descriptors_table_flyteidl_2fadmin_2flaunch_5fplan_2eproto, 2395, + "flyteidl/admin/launch_plan.proto", &assign_descriptors_table_flyteidl_2fadmin_2flaunch_5fplan_2eproto, 2451, }; void AddDescriptors_flyteidl_2fadmin_2flaunch_5fplan_2eproto() { @@ -2280,6 +2285,8 @@ void LaunchPlanSpec::InitAsDefaultInstance() { ::flyteidl::core::ParameterMap::internal_default_instance()); ::flyteidl::admin::_LaunchPlanSpec_default_instance_._instance.get_mutable()->fixed_inputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_LaunchPlanSpec_default_instance_._instance.get_mutable()->fixed_input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); ::flyteidl::admin::_LaunchPlanSpec_default_instance_._instance.get_mutable()->labels_ = const_cast< ::flyteidl::admin::Labels*>( ::flyteidl::admin::Labels::internal_default_instance()); ::flyteidl::admin::_LaunchPlanSpec_default_instance_._instance.get_mutable()->annotations_ = const_cast< ::flyteidl::admin::Annotations*>( @@ -2305,6 +2312,7 @@ class LaunchPlanSpec::HasBitSetters { static const ::flyteidl::admin::LaunchPlanMetadata& entity_metadata(const LaunchPlanSpec* msg); static const ::flyteidl::core::ParameterMap& default_inputs(const LaunchPlanSpec* msg); static const ::flyteidl::core::LiteralMap& fixed_inputs(const LaunchPlanSpec* msg); + static const ::flyteidl::core::InputData& fixed_input_data(const LaunchPlanSpec* msg); static const ::flyteidl::admin::Labels& labels(const LaunchPlanSpec* msg); static const ::flyteidl::admin::Annotations& annotations(const LaunchPlanSpec* msg); static const ::flyteidl::admin::Auth& auth(const LaunchPlanSpec* msg); @@ -2332,6 +2340,10 @@ const ::flyteidl::core::LiteralMap& LaunchPlanSpec::HasBitSetters::fixed_inputs(const LaunchPlanSpec* msg) { return *msg->fixed_inputs_; } +const ::flyteidl::core::InputData& +LaunchPlanSpec::HasBitSetters::fixed_input_data(const LaunchPlanSpec* msg) { + return *msg->fixed_input_data_; +} const ::flyteidl::admin::Labels& LaunchPlanSpec::HasBitSetters::labels(const LaunchPlanSpec* msg) { return *msg->labels_; @@ -2386,6 +2398,12 @@ void LaunchPlanSpec::clear_fixed_inputs() { } fixed_inputs_ = nullptr; } +void LaunchPlanSpec::clear_fixed_input_data() { + if (GetArenaNoVirtual() == nullptr && fixed_input_data_ != nullptr) { + delete fixed_input_data_; + } + fixed_input_data_ = nullptr; +} void LaunchPlanSpec::clear_labels() { if (GetArenaNoVirtual() == nullptr && labels_ != nullptr) { delete labels_; @@ -2439,6 +2457,7 @@ const int LaunchPlanSpec::kWorkflowIdFieldNumber; const int LaunchPlanSpec::kEntityMetadataFieldNumber; const int LaunchPlanSpec::kDefaultInputsFieldNumber; const int LaunchPlanSpec::kFixedInputsFieldNumber; +const int LaunchPlanSpec::kFixedInputDataFieldNumber; const int LaunchPlanSpec::kRoleFieldNumber; const int LaunchPlanSpec::kLabelsFieldNumber; const int LaunchPlanSpec::kAnnotationsFieldNumber; @@ -2531,6 +2550,11 @@ LaunchPlanSpec::LaunchPlanSpec(const LaunchPlanSpec& from) } else { envs_ = nullptr; } + if (from.has_fixed_input_data()) { + fixed_input_data_ = new ::flyteidl::core::InputData(*from.fixed_input_data_); + } else { + fixed_input_data_ = nullptr; + } ::memcpy(&max_parallelism_, &from.max_parallelism_, static_cast(reinterpret_cast(&overwrite_cache_) - reinterpret_cast(&max_parallelism_)) + sizeof(overwrite_cache_)); @@ -2566,6 +2590,7 @@ void LaunchPlanSpec::SharedDtor() { if (this != internal_default_instance()) delete raw_output_data_config_; if (this != internal_default_instance()) delete interruptible_; if (this != internal_default_instance()) delete envs_; + if (this != internal_default_instance()) delete fixed_input_data_; } void LaunchPlanSpec::SetCachedSize(int size) const { @@ -2636,6 +2661,10 @@ void LaunchPlanSpec::Clear() { delete envs_; } envs_ = nullptr; + if (GetArenaNoVirtual() == nullptr && fixed_input_data_ != nullptr) { + delete fixed_input_data_; + } + fixed_input_data_ = nullptr; ::memset(&max_parallelism_, 0, static_cast( reinterpret_cast(&overwrite_cache_) - reinterpret_cast(&max_parallelism_)) + sizeof(overwrite_cache_)); @@ -2694,7 +2723,7 @@ const char* LaunchPlanSpec::_InternalParse(const char* begin, const char* end, v {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap fixed_inputs = 4; + // .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; case 4: { if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -2854,6 +2883,19 @@ const char* LaunchPlanSpec::_InternalParse(const char* begin, const char* end, v {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.InputData fixed_input_data = 22; + case 22: { + if (static_cast<::google::protobuf::uint8>(tag) != 178) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_fixed_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -2921,7 +2963,7 @@ bool LaunchPlanSpec::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap fixed_inputs = 4; + // .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; case 4: { if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -3072,6 +3114,17 @@ bool LaunchPlanSpec::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData fixed_input_data = 22; + case 22: { + if (static_cast< ::google::protobuf::uint8>(tag) == (178 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_fixed_input_data())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -3117,7 +3170,7 @@ void LaunchPlanSpec::SerializeWithCachedSizes( 3, HasBitSetters::default_inputs(this), output); } - // .flyteidl.core.LiteralMap fixed_inputs = 4; + // .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; if (this->has_fixed_inputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 4, HasBitSetters::fixed_inputs(this), output); @@ -3197,6 +3250,12 @@ void LaunchPlanSpec::SerializeWithCachedSizes( 21, HasBitSetters::envs(this), output); } + // .flyteidl.core.InputData fixed_input_data = 22; + if (this->has_fixed_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 22, HasBitSetters::fixed_input_data(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -3231,7 +3290,7 @@ ::google::protobuf::uint8* LaunchPlanSpec::InternalSerializeWithCachedSizesToArr 3, HasBitSetters::default_inputs(this), target); } - // .flyteidl.core.LiteralMap fixed_inputs = 4; + // .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; if (this->has_fixed_inputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( @@ -3322,6 +3381,13 @@ ::google::protobuf::uint8* LaunchPlanSpec::InternalSerializeWithCachedSizesToArr 21, HasBitSetters::envs(this), target); } + // .flyteidl.core.InputData fixed_input_data = 22; + if (this->has_fixed_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 22, HasBitSetters::fixed_input_data(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -3371,7 +3437,7 @@ size_t LaunchPlanSpec::ByteSizeLong() const { *default_inputs_); } - // .flyteidl.core.LiteralMap fixed_inputs = 4; + // .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; if (this->has_fixed_inputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -3441,6 +3507,13 @@ size_t LaunchPlanSpec::ByteSizeLong() const { *envs_); } + // .flyteidl.core.InputData fixed_input_data = 22; + if (this->has_fixed_input_data()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *fixed_input_data_); + } + // int32 max_parallelism = 18; if (this->max_parallelism() != 0) { total_size += 2 + @@ -3523,6 +3596,9 @@ void LaunchPlanSpec::MergeFrom(const LaunchPlanSpec& from) { if (from.has_envs()) { mutable_envs()->::flyteidl::admin::Envs::MergeFrom(from.envs()); } + if (from.has_fixed_input_data()) { + mutable_fixed_input_data()->::flyteidl::core::InputData::MergeFrom(from.fixed_input_data()); + } if (from.max_parallelism() != 0) { set_max_parallelism(from.max_parallelism()); } @@ -3571,6 +3647,7 @@ void LaunchPlanSpec::InternalSwap(LaunchPlanSpec* other) { swap(raw_output_data_config_, other->raw_output_data_config_); swap(interruptible_, other->interruptible_); swap(envs_, other->envs_); + swap(fixed_input_data_, other->fixed_input_data_); swap(max_parallelism_, other->max_parallelism_); swap(overwrite_cache_, other->overwrite_cache_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h index 122f1b8c24..4f48ef3bb0 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h @@ -909,14 +909,14 @@ class LaunchPlanSpec final : ::flyteidl::core::ParameterMap* mutable_default_inputs(); void set_allocated_default_inputs(::flyteidl::core::ParameterMap* default_inputs); - // .flyteidl.core.LiteralMap fixed_inputs = 4; - bool has_fixed_inputs() const; - void clear_fixed_inputs(); - static const int kFixedInputsFieldNumber = 4; - const ::flyteidl::core::LiteralMap& fixed_inputs() const; - ::flyteidl::core::LiteralMap* release_fixed_inputs(); - ::flyteidl::core::LiteralMap* mutable_fixed_inputs(); - void set_allocated_fixed_inputs(::flyteidl::core::LiteralMap* fixed_inputs); + // .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_fixed_inputs() const; + PROTOBUF_DEPRECATED void clear_fixed_inputs(); + PROTOBUF_DEPRECATED static const int kFixedInputsFieldNumber = 4; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& fixed_inputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_fixed_inputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_fixed_inputs(); + PROTOBUF_DEPRECATED void set_allocated_fixed_inputs(::flyteidl::core::LiteralMap* fixed_inputs); // .flyteidl.admin.Labels labels = 6; bool has_labels() const; @@ -999,6 +999,15 @@ class LaunchPlanSpec final : ::flyteidl::admin::Envs* mutable_envs(); void set_allocated_envs(::flyteidl::admin::Envs* envs); + // .flyteidl.core.InputData fixed_input_data = 22; + bool has_fixed_input_data() const; + void clear_fixed_input_data(); + static const int kFixedInputDataFieldNumber = 22; + const ::flyteidl::core::InputData& fixed_input_data() const; + ::flyteidl::core::InputData* release_fixed_input_data(); + ::flyteidl::core::InputData* mutable_fixed_input_data(); + void set_allocated_fixed_input_data(::flyteidl::core::InputData* fixed_input_data); + // int32 max_parallelism = 18; void clear_max_parallelism(); static const int kMaxParallelismFieldNumber = 18; @@ -1030,6 +1039,7 @@ class LaunchPlanSpec final : ::flyteidl::admin::RawOutputDataConfig* raw_output_data_config_; ::google::protobuf::BoolValue* interruptible_; ::flyteidl::admin::Envs* envs_; + ::flyteidl::core::InputData* fixed_input_data_; ::google::protobuf::int32 max_parallelism_; bool overwrite_cache_; mutable ::google::protobuf::internal::CachedSize _cached_size_; @@ -2428,7 +2438,7 @@ inline void LaunchPlanSpec::set_allocated_default_inputs(::flyteidl::core::Param // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.LaunchPlanSpec.default_inputs) } -// .flyteidl.core.LiteralMap fixed_inputs = 4; +// .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; inline bool LaunchPlanSpec::has_fixed_inputs() const { return this != internal_default_instance() && fixed_inputs_ != nullptr; } @@ -2473,6 +2483,51 @@ inline void LaunchPlanSpec::set_allocated_fixed_inputs(::flyteidl::core::Literal // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.LaunchPlanSpec.fixed_inputs) } +// .flyteidl.core.InputData fixed_input_data = 22; +inline bool LaunchPlanSpec::has_fixed_input_data() const { + return this != internal_default_instance() && fixed_input_data_ != nullptr; +} +inline const ::flyteidl::core::InputData& LaunchPlanSpec::fixed_input_data() const { + const ::flyteidl::core::InputData* p = fixed_input_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.LaunchPlanSpec.fixed_input_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* LaunchPlanSpec::release_fixed_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.LaunchPlanSpec.fixed_input_data) + + ::flyteidl::core::InputData* temp = fixed_input_data_; + fixed_input_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::InputData* LaunchPlanSpec::mutable_fixed_input_data() { + + if (fixed_input_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::InputData>(GetArenaNoVirtual()); + fixed_input_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.LaunchPlanSpec.fixed_input_data) + return fixed_input_data_; +} +inline void LaunchPlanSpec::set_allocated_fixed_input_data(::flyteidl::core::InputData* fixed_input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(fixed_input_data_); + } + if (fixed_input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + fixed_input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, fixed_input_data, submessage_arena); + } + + } else { + + } + fixed_input_data_ = fixed_input_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.LaunchPlanSpec.fixed_input_data) +} + // string role = 5 [deprecated = true]; inline void LaunchPlanSpec::clear_role() { role_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc index 88da69ad52..c1b66fcd11 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc @@ -32,6 +32,8 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::p extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fduration_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Duration_google_2fprotobuf_2fduration_2eproto; extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2ftimestamp_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto; @@ -277,10 +279,12 @@ static void InitDefaultsNodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fe ::flyteidl::admin::NodeExecutionGetDataResponse::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<4> scc_info_NodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsNodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, { +::google::protobuf::internal::SCCInfo<6> scc_info_NodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 6, InitDefaultsNodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, { &scc_info_UrlBlob_flyteidl_2fadmin_2fcommon_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base, &scc_info_FlyteURLs_flyteidl_2fadmin_2fcommon_2eproto.base,}}; @@ -413,6 +417,8 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fnode_5fexecution PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, outputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, full_inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, full_outputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, input_data_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, output_data_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, dynamic_workflow_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, flyte_urls_), }; @@ -510,23 +516,25 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fnode_5fexecution_2eproto "(\0132&.flyteidl.core.CompiledWorkflowClosu" "re\022\034\n\024dynamic_job_spec_uri\030\003 \001(\t\"Q\n\033Node" "ExecutionGetDataRequest\0222\n\002id\030\001 \001(\0132&.fl" - "yteidl.core.NodeExecutionIdentifier\"\320\002\n\034" + "yteidl.core.NodeExecutionIdentifier\"\266\003\n\034" "NodeExecutionGetDataResponse\022+\n\006inputs\030\001" " \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022,\n\007out" "puts\030\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022" - ".\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lit" - "eralMap\022/\n\014full_outputs\030\004 \001(\0132\031.flyteidl" - ".core.LiteralMap\022E\n\020dynamic_workflow\030\020 \001" - "(\0132+.flyteidl.admin.DynamicWorkflowNodeM" - "etadata\022-\n\nflyte_urls\030\021 \001(\0132\031.flyteidl.a" - "dmin.FlyteURLsB=Z;github.com/flyteorg/fl" - "yte/flyteidl/gen/pb-go/flyteidl/adminb\006p" - "roto3" + "2\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lit" + "eralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyt" + "eidl.core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005" + " \001(\0132\030.flyteidl.core.InputData\022.\n\013output" + "_data\030\006 \001(\0132\031.flyteidl.core.OutputData\022E" + "\n\020dynamic_workflow\030\020 \001(\0132+.flyteidl.admi" + "n.DynamicWorkflowNodeMetadata\022-\n\nflyte_u" + "rls\030\021 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;" + "github.com/flyteorg/flyte/flyteidl/gen/p" + "b-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fnode_5fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fnode_5fexecution_2eproto, - "flyteidl/admin/node_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto, 2725, + "flyteidl/admin/node_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto, 2827, }; void AddDescriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto() { @@ -6030,6 +6038,10 @@ void NodeExecutionGetDataResponse::InitAsDefaultInstance() { ::flyteidl::core::LiteralMap::internal_default_instance()); ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->full_outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); + ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->output_data_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->dynamic_workflow_ = const_cast< ::flyteidl::admin::DynamicWorkflowNodeMetadata*>( ::flyteidl::admin::DynamicWorkflowNodeMetadata::internal_default_instance()); ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->flyte_urls_ = const_cast< ::flyteidl::admin::FlyteURLs*>( @@ -6041,6 +6053,8 @@ class NodeExecutionGetDataResponse::HasBitSetters { static const ::flyteidl::admin::UrlBlob& outputs(const NodeExecutionGetDataResponse* msg); static const ::flyteidl::core::LiteralMap& full_inputs(const NodeExecutionGetDataResponse* msg); static const ::flyteidl::core::LiteralMap& full_outputs(const NodeExecutionGetDataResponse* msg); + static const ::flyteidl::core::InputData& input_data(const NodeExecutionGetDataResponse* msg); + static const ::flyteidl::core::OutputData& output_data(const NodeExecutionGetDataResponse* msg); static const ::flyteidl::admin::DynamicWorkflowNodeMetadata& dynamic_workflow(const NodeExecutionGetDataResponse* msg); static const ::flyteidl::admin::FlyteURLs& flyte_urls(const NodeExecutionGetDataResponse* msg); }; @@ -6061,6 +6075,14 @@ const ::flyteidl::core::LiteralMap& NodeExecutionGetDataResponse::HasBitSetters::full_outputs(const NodeExecutionGetDataResponse* msg) { return *msg->full_outputs_; } +const ::flyteidl::core::InputData& +NodeExecutionGetDataResponse::HasBitSetters::input_data(const NodeExecutionGetDataResponse* msg) { + return *msg->input_data_; +} +const ::flyteidl::core::OutputData& +NodeExecutionGetDataResponse::HasBitSetters::output_data(const NodeExecutionGetDataResponse* msg) { + return *msg->output_data_; +} const ::flyteidl::admin::DynamicWorkflowNodeMetadata& NodeExecutionGetDataResponse::HasBitSetters::dynamic_workflow(const NodeExecutionGetDataResponse* msg) { return *msg->dynamic_workflow_; @@ -6093,6 +6115,18 @@ void NodeExecutionGetDataResponse::clear_full_outputs() { } full_outputs_ = nullptr; } +void NodeExecutionGetDataResponse::clear_input_data() { + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; +} +void NodeExecutionGetDataResponse::clear_output_data() { + if (GetArenaNoVirtual() == nullptr && output_data_ != nullptr) { + delete output_data_; + } + output_data_ = nullptr; +} void NodeExecutionGetDataResponse::clear_flyte_urls() { if (GetArenaNoVirtual() == nullptr && flyte_urls_ != nullptr) { delete flyte_urls_; @@ -6104,6 +6138,8 @@ const int NodeExecutionGetDataResponse::kInputsFieldNumber; const int NodeExecutionGetDataResponse::kOutputsFieldNumber; const int NodeExecutionGetDataResponse::kFullInputsFieldNumber; const int NodeExecutionGetDataResponse::kFullOutputsFieldNumber; +const int NodeExecutionGetDataResponse::kInputDataFieldNumber; +const int NodeExecutionGetDataResponse::kOutputDataFieldNumber; const int NodeExecutionGetDataResponse::kDynamicWorkflowFieldNumber; const int NodeExecutionGetDataResponse::kFlyteUrlsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -6137,6 +6173,16 @@ NodeExecutionGetDataResponse::NodeExecutionGetDataResponse(const NodeExecutionGe } else { full_outputs_ = nullptr; } + if (from.has_input_data()) { + input_data_ = new ::flyteidl::core::InputData(*from.input_data_); + } else { + input_data_ = nullptr; + } + if (from.has_output_data()) { + output_data_ = new ::flyteidl::core::OutputData(*from.output_data_); + } else { + output_data_ = nullptr; + } if (from.has_dynamic_workflow()) { dynamic_workflow_ = new ::flyteidl::admin::DynamicWorkflowNodeMetadata(*from.dynamic_workflow_); } else { @@ -6168,6 +6214,8 @@ void NodeExecutionGetDataResponse::SharedDtor() { if (this != internal_default_instance()) delete outputs_; if (this != internal_default_instance()) delete full_inputs_; if (this != internal_default_instance()) delete full_outputs_; + if (this != internal_default_instance()) delete input_data_; + if (this != internal_default_instance()) delete output_data_; if (this != internal_default_instance()) delete dynamic_workflow_; if (this != internal_default_instance()) delete flyte_urls_; } @@ -6203,6 +6251,14 @@ void NodeExecutionGetDataResponse::Clear() { delete full_outputs_; } full_outputs_ = nullptr; + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; + if (GetArenaNoVirtual() == nullptr && output_data_ != nullptr) { + delete output_data_; + } + output_data_ = nullptr; if (GetArenaNoVirtual() == nullptr && dynamic_workflow_ != nullptr) { delete dynamic_workflow_; } @@ -6253,7 +6309,7 @@ const char* NodeExecutionGetDataResponse::_InternalParse(const char* begin, cons {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; case 3: { if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -6266,7 +6322,7 @@ const char* NodeExecutionGetDataResponse::_InternalParse(const char* begin, cons {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; case 4: { if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -6279,6 +6335,32 @@ const char* NodeExecutionGetDataResponse::_InternalParse(const char* begin, cons {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.InputData input_data = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.OutputData output_data = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_output_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16; case 16: { if (static_cast<::google::protobuf::uint8>(tag) != 130) goto handle_unusual; @@ -6357,7 +6439,7 @@ bool NodeExecutionGetDataResponse::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; case 3: { if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -6368,7 +6450,7 @@ bool NodeExecutionGetDataResponse::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; case 4: { if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -6379,6 +6461,28 @@ bool NodeExecutionGetDataResponse::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData input_data = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_input_data())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.OutputData output_data = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_output_data())); + } else { + goto handle_unusual; + } + break; + } + // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16; case 16: { if (static_cast< ::google::protobuf::uint8>(tag) == (130 & 0xFF)) { @@ -6440,18 +6544,30 @@ void NodeExecutionGetDataResponse::SerializeWithCachedSizes( 2, HasBitSetters::outputs(this), output); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 3, HasBitSetters::full_inputs(this), output); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 4, HasBitSetters::full_outputs(this), output); } + // .flyteidl.core.InputData input_data = 5; + if (this->has_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, HasBitSetters::input_data(this), output); + } + + // .flyteidl.core.OutputData output_data = 6; + if (this->has_output_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 6, HasBitSetters::output_data(this), output); + } + // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16; if (this->has_dynamic_workflow()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( @@ -6491,20 +6607,34 @@ ::google::protobuf::uint8* NodeExecutionGetDataResponse::InternalSerializeWithCa 2, HasBitSetters::outputs(this), target); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 3, HasBitSetters::full_inputs(this), target); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 4, HasBitSetters::full_outputs(this), target); } + // .flyteidl.core.InputData input_data = 5; + if (this->has_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 5, HasBitSetters::input_data(this), target); + } + + // .flyteidl.core.OutputData output_data = 6; + if (this->has_output_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 6, HasBitSetters::output_data(this), target); + } + // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16; if (this->has_dynamic_workflow()) { target = ::google::protobuf::internal::WireFormatLite:: @@ -6554,20 +6684,34 @@ size_t NodeExecutionGetDataResponse::ByteSizeLong() const { *outputs_); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *full_inputs_); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *full_outputs_); } + // .flyteidl.core.InputData input_data = 5; + if (this->has_input_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *input_data_); + } + + // .flyteidl.core.OutputData output_data = 6; + if (this->has_output_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_data_); + } + // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16; if (this->has_dynamic_workflow()) { total_size += 2 + @@ -6621,6 +6765,12 @@ void NodeExecutionGetDataResponse::MergeFrom(const NodeExecutionGetDataResponse& if (from.has_full_outputs()) { mutable_full_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.full_outputs()); } + if (from.has_input_data()) { + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); + } + if (from.has_output_data()) { + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); + } if (from.has_dynamic_workflow()) { mutable_dynamic_workflow()->::flyteidl::admin::DynamicWorkflowNodeMetadata::MergeFrom(from.dynamic_workflow()); } @@ -6658,6 +6808,8 @@ void NodeExecutionGetDataResponse::InternalSwap(NodeExecutionGetDataResponse* ot swap(outputs_, other->outputs_); swap(full_inputs_, other->full_inputs_); swap(full_outputs_, other->full_outputs_); + swap(input_data_, other->input_data_); + swap(output_data_, other->output_data_); swap(dynamic_workflow_, other->dynamic_workflow_); swap(flyte_urls_, other->flyte_urls_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h index 88da7e3612..4c70a24afc 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h @@ -1906,23 +1906,41 @@ class NodeExecutionGetDataResponse final : PROTOBUF_DEPRECATED ::flyteidl::admin::UrlBlob* mutable_outputs(); PROTOBUF_DEPRECATED void set_allocated_outputs(::flyteidl::admin::UrlBlob* outputs); - // .flyteidl.core.LiteralMap full_inputs = 3; - bool has_full_inputs() const; - void clear_full_inputs(); - static const int kFullInputsFieldNumber = 3; - const ::flyteidl::core::LiteralMap& full_inputs() const; - ::flyteidl::core::LiteralMap* release_full_inputs(); - ::flyteidl::core::LiteralMap* mutable_full_inputs(); - void set_allocated_full_inputs(::flyteidl::core::LiteralMap* full_inputs); - - // .flyteidl.core.LiteralMap full_outputs = 4; - bool has_full_outputs() const; - void clear_full_outputs(); - static const int kFullOutputsFieldNumber = 4; - const ::flyteidl::core::LiteralMap& full_outputs() const; - ::flyteidl::core::LiteralMap* release_full_outputs(); - ::flyteidl::core::LiteralMap* mutable_full_outputs(); - void set_allocated_full_outputs(::flyteidl::core::LiteralMap* full_outputs); + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_full_inputs() const; + PROTOBUF_DEPRECATED void clear_full_inputs(); + PROTOBUF_DEPRECATED static const int kFullInputsFieldNumber = 3; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& full_inputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_full_inputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_full_inputs(); + PROTOBUF_DEPRECATED void set_allocated_full_inputs(::flyteidl::core::LiteralMap* full_inputs); + + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_full_outputs() const; + PROTOBUF_DEPRECATED void clear_full_outputs(); + PROTOBUF_DEPRECATED static const int kFullOutputsFieldNumber = 4; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& full_outputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_full_outputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_full_outputs(); + PROTOBUF_DEPRECATED void set_allocated_full_outputs(::flyteidl::core::LiteralMap* full_outputs); + + // .flyteidl.core.InputData input_data = 5; + bool has_input_data() const; + void clear_input_data(); + static const int kInputDataFieldNumber = 5; + const ::flyteidl::core::InputData& input_data() const; + ::flyteidl::core::InputData* release_input_data(); + ::flyteidl::core::InputData* mutable_input_data(); + void set_allocated_input_data(::flyteidl::core::InputData* input_data); + + // .flyteidl.core.OutputData output_data = 6; + bool has_output_data() const; + void clear_output_data(); + static const int kOutputDataFieldNumber = 6; + const ::flyteidl::core::OutputData& output_data() const; + ::flyteidl::core::OutputData* release_output_data(); + ::flyteidl::core::OutputData* mutable_output_data(); + void set_allocated_output_data(::flyteidl::core::OutputData* output_data); // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16; bool has_dynamic_workflow() const; @@ -1951,6 +1969,8 @@ class NodeExecutionGetDataResponse final : ::flyteidl::admin::UrlBlob* outputs_; ::flyteidl::core::LiteralMap* full_inputs_; ::flyteidl::core::LiteralMap* full_outputs_; + ::flyteidl::core::InputData* input_data_; + ::flyteidl::core::OutputData* output_data_; ::flyteidl::admin::DynamicWorkflowNodeMetadata* dynamic_workflow_; ::flyteidl::admin::FlyteURLs* flyte_urls_; mutable ::google::protobuf::internal::CachedSize _cached_size_; @@ -3961,7 +3981,7 @@ inline void NodeExecutionGetDataResponse::set_allocated_outputs(::flyteidl::admi // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionGetDataResponse.outputs) } -// .flyteidl.core.LiteralMap full_inputs = 3; +// .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; inline bool NodeExecutionGetDataResponse::has_full_inputs() const { return this != internal_default_instance() && full_inputs_ != nullptr; } @@ -4006,7 +4026,7 @@ inline void NodeExecutionGetDataResponse::set_allocated_full_inputs(::flyteidl:: // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionGetDataResponse.full_inputs) } -// .flyteidl.core.LiteralMap full_outputs = 4; +// .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; inline bool NodeExecutionGetDataResponse::has_full_outputs() const { return this != internal_default_instance() && full_outputs_ != nullptr; } @@ -4051,6 +4071,96 @@ inline void NodeExecutionGetDataResponse::set_allocated_full_outputs(::flyteidl: // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionGetDataResponse.full_outputs) } +// .flyteidl.core.InputData input_data = 5; +inline bool NodeExecutionGetDataResponse::has_input_data() const { + return this != internal_default_instance() && input_data_ != nullptr; +} +inline const ::flyteidl::core::InputData& NodeExecutionGetDataResponse::input_data() const { + const ::flyteidl::core::InputData* p = input_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.NodeExecutionGetDataResponse.input_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* NodeExecutionGetDataResponse::release_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.NodeExecutionGetDataResponse.input_data) + + ::flyteidl::core::InputData* temp = input_data_; + input_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::InputData* NodeExecutionGetDataResponse::mutable_input_data() { + + if (input_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::InputData>(GetArenaNoVirtual()); + input_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.NodeExecutionGetDataResponse.input_data) + return input_data_; +} +inline void NodeExecutionGetDataResponse::set_allocated_input_data(::flyteidl::core::InputData* input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(input_data_); + } + if (input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, input_data, submessage_arena); + } + + } else { + + } + input_data_ = input_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionGetDataResponse.input_data) +} + +// .flyteidl.core.OutputData output_data = 6; +inline bool NodeExecutionGetDataResponse::has_output_data() const { + return this != internal_default_instance() && output_data_ != nullptr; +} +inline const ::flyteidl::core::OutputData& NodeExecutionGetDataResponse::output_data() const { + const ::flyteidl::core::OutputData* p = output_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.NodeExecutionGetDataResponse.output_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_OutputData_default_instance_); +} +inline ::flyteidl::core::OutputData* NodeExecutionGetDataResponse::release_output_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.NodeExecutionGetDataResponse.output_data) + + ::flyteidl::core::OutputData* temp = output_data_; + output_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::OutputData* NodeExecutionGetDataResponse::mutable_output_data() { + + if (output_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::OutputData>(GetArenaNoVirtual()); + output_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.NodeExecutionGetDataResponse.output_data) + return output_data_; +} +inline void NodeExecutionGetDataResponse::set_allocated_output_data(::flyteidl::core::OutputData* output_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(output_data_); + } + if (output_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + output_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, output_data, submessage_arena); + } + + } else { + + } + output_data_ = output_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionGetDataResponse.output_data) +} + // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16; inline bool NodeExecutionGetDataResponse::has_dynamic_workflow() const { return this != internal_default_instance() && dynamic_workflow_ != nullptr; diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc index ad02254db8..ee1917496e 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc @@ -26,6 +26,8 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::pr extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_TaskLog_flyteidl_2fcore_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecutionMetadata_flyteidl_2fevent_2fevent_2eproto; extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fduration_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Duration_google_2fprotobuf_2fduration_2eproto; @@ -195,10 +197,12 @@ static void InitDefaultsTaskExecutionGetDataResponse_flyteidl_2fadmin_2ftask_5fe ::flyteidl::admin::TaskExecutionGetDataResponse::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<3> scc_info_TaskExecutionGetDataResponse_flyteidl_2fadmin_2ftask_5fexecution_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsTaskExecutionGetDataResponse_flyteidl_2fadmin_2ftask_5fexecution_2eproto}, { +::google::protobuf::internal::SCCInfo<5> scc_info_TaskExecutionGetDataResponse_flyteidl_2fadmin_2ftask_5fexecution_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 5, InitDefaultsTaskExecutionGetDataResponse_flyteidl_2fadmin_2ftask_5fexecution_2eproto}, { &scc_info_UrlBlob_flyteidl_2fadmin_2fcommon_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_FlyteURLs_flyteidl_2fadmin_2fcommon_2eproto.base,}}; void InitDefaults_flyteidl_2fadmin_2ftask_5fexecution_2eproto() { @@ -292,6 +296,8 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2ftask_5fexecution PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionGetDataResponse, outputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionGetDataResponse, full_inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionGetDataResponse, full_outputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionGetDataResponse, input_data_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionGetDataResponse, output_data_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionGetDataResponse, flyte_urls_), }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -363,21 +369,23 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2ftask_5fexecution_2eproto "curred_at\030\001 \001(\0132\032.google.protobuf.Timest" "amp\022\017\n\007message\030\002 \001(\t\"Q\n\033TaskExecutionGet" "DataRequest\0222\n\002id\030\001 \001(\0132&.flyteidl.core." - "TaskExecutionIdentifier\"\211\002\n\034TaskExecutio" + "TaskExecutionIdentifier\"\357\002\n\034TaskExecutio" "nGetDataResponse\022+\n\006inputs\030\001 \001(\0132\027.flyte" "idl.admin.UrlBlobB\002\030\001\022,\n\007outputs\030\002 \001(\0132\027" - ".flyteidl.admin.UrlBlobB\002\030\001\022.\n\013full_inpu" - "ts\030\003 \001(\0132\031.flyteidl.core.LiteralMap\022/\n\014f" - "ull_outputs\030\004 \001(\0132\031.flyteidl.core.Litera" - "lMap\022-\n\nflyte_urls\030\005 \001(\0132\031.flyteidl.admi" - "n.FlyteURLsB=Z;github.com/flyteorg/flyte" - "/flyteidl/gen/pb-go/flyteidl/adminb\006prot" - "o3" + ".flyteidl.admin.UrlBlobB\002\030\001\0222\n\013full_inpu" + "ts\030\003 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001\022" + "3\n\014full_outputs\030\004 \001(\0132\031.flyteidl.core.Li" + "teralMapB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyte" + "idl.core.InputData\022.\n\013output_data\030\007 \001(\0132" + "\031.flyteidl.core.OutputData\022-\n\nflyte_urls" + "\030\005 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;git" + "hub.com/flyteorg/flyte/flyteidl/gen/pb-g" + "o/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2ftask_5fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2ftask_5fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2ftask_5fexecution_2eproto, - "flyteidl/admin/task_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2ftask_5fexecution_2eproto, 1962, + "flyteidl/admin/task_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2ftask_5fexecution_2eproto, 2064, }; void AddDescriptors_flyteidl_2fadmin_2ftask_5fexecution_2eproto() { @@ -4062,6 +4070,10 @@ void TaskExecutionGetDataResponse::InitAsDefaultInstance() { ::flyteidl::core::LiteralMap::internal_default_instance()); ::flyteidl::admin::_TaskExecutionGetDataResponse_default_instance_._instance.get_mutable()->full_outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_TaskExecutionGetDataResponse_default_instance_._instance.get_mutable()->input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); + ::flyteidl::admin::_TaskExecutionGetDataResponse_default_instance_._instance.get_mutable()->output_data_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); ::flyteidl::admin::_TaskExecutionGetDataResponse_default_instance_._instance.get_mutable()->flyte_urls_ = const_cast< ::flyteidl::admin::FlyteURLs*>( ::flyteidl::admin::FlyteURLs::internal_default_instance()); } @@ -4071,6 +4083,8 @@ class TaskExecutionGetDataResponse::HasBitSetters { static const ::flyteidl::admin::UrlBlob& outputs(const TaskExecutionGetDataResponse* msg); static const ::flyteidl::core::LiteralMap& full_inputs(const TaskExecutionGetDataResponse* msg); static const ::flyteidl::core::LiteralMap& full_outputs(const TaskExecutionGetDataResponse* msg); + static const ::flyteidl::core::InputData& input_data(const TaskExecutionGetDataResponse* msg); + static const ::flyteidl::core::OutputData& output_data(const TaskExecutionGetDataResponse* msg); static const ::flyteidl::admin::FlyteURLs& flyte_urls(const TaskExecutionGetDataResponse* msg); }; @@ -4090,6 +4104,14 @@ const ::flyteidl::core::LiteralMap& TaskExecutionGetDataResponse::HasBitSetters::full_outputs(const TaskExecutionGetDataResponse* msg) { return *msg->full_outputs_; } +const ::flyteidl::core::InputData& +TaskExecutionGetDataResponse::HasBitSetters::input_data(const TaskExecutionGetDataResponse* msg) { + return *msg->input_data_; +} +const ::flyteidl::core::OutputData& +TaskExecutionGetDataResponse::HasBitSetters::output_data(const TaskExecutionGetDataResponse* msg) { + return *msg->output_data_; +} const ::flyteidl::admin::FlyteURLs& TaskExecutionGetDataResponse::HasBitSetters::flyte_urls(const TaskExecutionGetDataResponse* msg) { return *msg->flyte_urls_; @@ -4118,6 +4140,18 @@ void TaskExecutionGetDataResponse::clear_full_outputs() { } full_outputs_ = nullptr; } +void TaskExecutionGetDataResponse::clear_input_data() { + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; +} +void TaskExecutionGetDataResponse::clear_output_data() { + if (GetArenaNoVirtual() == nullptr && output_data_ != nullptr) { + delete output_data_; + } + output_data_ = nullptr; +} void TaskExecutionGetDataResponse::clear_flyte_urls() { if (GetArenaNoVirtual() == nullptr && flyte_urls_ != nullptr) { delete flyte_urls_; @@ -4129,6 +4163,8 @@ const int TaskExecutionGetDataResponse::kInputsFieldNumber; const int TaskExecutionGetDataResponse::kOutputsFieldNumber; const int TaskExecutionGetDataResponse::kFullInputsFieldNumber; const int TaskExecutionGetDataResponse::kFullOutputsFieldNumber; +const int TaskExecutionGetDataResponse::kInputDataFieldNumber; +const int TaskExecutionGetDataResponse::kOutputDataFieldNumber; const int TaskExecutionGetDataResponse::kFlyteUrlsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -4166,6 +4202,16 @@ TaskExecutionGetDataResponse::TaskExecutionGetDataResponse(const TaskExecutionGe } else { flyte_urls_ = nullptr; } + if (from.has_input_data()) { + input_data_ = new ::flyteidl::core::InputData(*from.input_data_); + } else { + input_data_ = nullptr; + } + if (from.has_output_data()) { + output_data_ = new ::flyteidl::core::OutputData(*from.output_data_); + } else { + output_data_ = nullptr; + } // @@protoc_insertion_point(copy_constructor:flyteidl.admin.TaskExecutionGetDataResponse) } @@ -4173,8 +4219,8 @@ void TaskExecutionGetDataResponse::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_TaskExecutionGetDataResponse_flyteidl_2fadmin_2ftask_5fexecution_2eproto.base); ::memset(&inputs_, 0, static_cast( - reinterpret_cast(&flyte_urls_) - - reinterpret_cast(&inputs_)) + sizeof(flyte_urls_)); + reinterpret_cast(&output_data_) - + reinterpret_cast(&inputs_)) + sizeof(output_data_)); } TaskExecutionGetDataResponse::~TaskExecutionGetDataResponse() { @@ -4188,6 +4234,8 @@ void TaskExecutionGetDataResponse::SharedDtor() { if (this != internal_default_instance()) delete full_inputs_; if (this != internal_default_instance()) delete full_outputs_; if (this != internal_default_instance()) delete flyte_urls_; + if (this != internal_default_instance()) delete input_data_; + if (this != internal_default_instance()) delete output_data_; } void TaskExecutionGetDataResponse::SetCachedSize(int size) const { @@ -4225,6 +4273,14 @@ void TaskExecutionGetDataResponse::Clear() { delete flyte_urls_; } flyte_urls_ = nullptr; + if (GetArenaNoVirtual() == nullptr && input_data_ != nullptr) { + delete input_data_; + } + input_data_ = nullptr; + if (GetArenaNoVirtual() == nullptr && output_data_ != nullptr) { + delete output_data_; + } + output_data_ = nullptr; _internal_metadata_.Clear(); } @@ -4267,7 +4323,7 @@ const char* TaskExecutionGetDataResponse::_InternalParse(const char* begin, cons {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; case 3: { if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -4280,7 +4336,7 @@ const char* TaskExecutionGetDataResponse::_InternalParse(const char* begin, cons {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; case 4: { if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); @@ -4306,6 +4362,32 @@ const char* TaskExecutionGetDataResponse::_InternalParse(const char* begin, cons {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.InputData input_data = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.OutputData output_data = 7; + case 7: { + if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_output_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -4358,7 +4440,7 @@ bool TaskExecutionGetDataResponse::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; case 3: { if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -4369,7 +4451,7 @@ bool TaskExecutionGetDataResponse::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; case 4: { if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( @@ -4391,6 +4473,28 @@ bool TaskExecutionGetDataResponse::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData input_data = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_input_data())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.OutputData output_data = 7; + case 7: { + if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_output_data())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -4430,13 +4534,13 @@ void TaskExecutionGetDataResponse::SerializeWithCachedSizes( 2, HasBitSetters::outputs(this), output); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 3, HasBitSetters::full_inputs(this), output); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 4, HasBitSetters::full_outputs(this), output); @@ -4448,6 +4552,18 @@ void TaskExecutionGetDataResponse::SerializeWithCachedSizes( 5, HasBitSetters::flyte_urls(this), output); } + // .flyteidl.core.InputData input_data = 6; + if (this->has_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 6, HasBitSetters::input_data(this), output); + } + + // .flyteidl.core.OutputData output_data = 7; + if (this->has_output_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 7, HasBitSetters::output_data(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -4475,14 +4591,14 @@ ::google::protobuf::uint8* TaskExecutionGetDataResponse::InternalSerializeWithCa 2, HasBitSetters::outputs(this), target); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 3, HasBitSetters::full_inputs(this), target); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( @@ -4496,6 +4612,20 @@ ::google::protobuf::uint8* TaskExecutionGetDataResponse::InternalSerializeWithCa 5, HasBitSetters::flyte_urls(this), target); } + // .flyteidl.core.InputData input_data = 6; + if (this->has_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 6, HasBitSetters::input_data(this), target); + } + + // .flyteidl.core.OutputData output_data = 7; + if (this->has_output_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 7, HasBitSetters::output_data(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -4531,14 +4661,14 @@ size_t TaskExecutionGetDataResponse::ByteSizeLong() const { *outputs_); } - // .flyteidl.core.LiteralMap full_inputs = 3; + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; if (this->has_full_inputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *full_inputs_); } - // .flyteidl.core.LiteralMap full_outputs = 4; + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; if (this->has_full_outputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -4552,6 +4682,20 @@ size_t TaskExecutionGetDataResponse::ByteSizeLong() const { *flyte_urls_); } + // .flyteidl.core.InputData input_data = 6; + if (this->has_input_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *input_data_); + } + + // .flyteidl.core.OutputData output_data = 7; + if (this->has_output_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_data_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -4594,6 +4738,12 @@ void TaskExecutionGetDataResponse::MergeFrom(const TaskExecutionGetDataResponse& if (from.has_flyte_urls()) { mutable_flyte_urls()->::flyteidl::admin::FlyteURLs::MergeFrom(from.flyte_urls()); } + if (from.has_input_data()) { + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); + } + if (from.has_output_data()) { + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); + } } void TaskExecutionGetDataResponse::CopyFrom(const ::google::protobuf::Message& from) { @@ -4626,6 +4776,8 @@ void TaskExecutionGetDataResponse::InternalSwap(TaskExecutionGetDataResponse* ot swap(full_inputs_, other->full_inputs_); swap(full_outputs_, other->full_outputs_); swap(flyte_urls_, other->flyte_urls_); + swap(input_data_, other->input_data_); + swap(output_data_, other->output_data_); } ::google::protobuf::Metadata TaskExecutionGetDataResponse::GetMetadata() const { diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h index f792f0bb96..4f2c9515b1 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h @@ -1309,23 +1309,23 @@ class TaskExecutionGetDataResponse final : PROTOBUF_DEPRECATED ::flyteidl::admin::UrlBlob* mutable_outputs(); PROTOBUF_DEPRECATED void set_allocated_outputs(::flyteidl::admin::UrlBlob* outputs); - // .flyteidl.core.LiteralMap full_inputs = 3; - bool has_full_inputs() const; - void clear_full_inputs(); - static const int kFullInputsFieldNumber = 3; - const ::flyteidl::core::LiteralMap& full_inputs() const; - ::flyteidl::core::LiteralMap* release_full_inputs(); - ::flyteidl::core::LiteralMap* mutable_full_inputs(); - void set_allocated_full_inputs(::flyteidl::core::LiteralMap* full_inputs); - - // .flyteidl.core.LiteralMap full_outputs = 4; - bool has_full_outputs() const; - void clear_full_outputs(); - static const int kFullOutputsFieldNumber = 4; - const ::flyteidl::core::LiteralMap& full_outputs() const; - ::flyteidl::core::LiteralMap* release_full_outputs(); - ::flyteidl::core::LiteralMap* mutable_full_outputs(); - void set_allocated_full_outputs(::flyteidl::core::LiteralMap* full_outputs); + // .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_full_inputs() const; + PROTOBUF_DEPRECATED void clear_full_inputs(); + PROTOBUF_DEPRECATED static const int kFullInputsFieldNumber = 3; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& full_inputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_full_inputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_full_inputs(); + PROTOBUF_DEPRECATED void set_allocated_full_inputs(::flyteidl::core::LiteralMap* full_inputs); + + // .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_full_outputs() const; + PROTOBUF_DEPRECATED void clear_full_outputs(); + PROTOBUF_DEPRECATED static const int kFullOutputsFieldNumber = 4; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& full_outputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_full_outputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_full_outputs(); + PROTOBUF_DEPRECATED void set_allocated_full_outputs(::flyteidl::core::LiteralMap* full_outputs); // .flyteidl.admin.FlyteURLs flyte_urls = 5; bool has_flyte_urls() const; @@ -1336,6 +1336,24 @@ class TaskExecutionGetDataResponse final : ::flyteidl::admin::FlyteURLs* mutable_flyte_urls(); void set_allocated_flyte_urls(::flyteidl::admin::FlyteURLs* flyte_urls); + // .flyteidl.core.InputData input_data = 6; + bool has_input_data() const; + void clear_input_data(); + static const int kInputDataFieldNumber = 6; + const ::flyteidl::core::InputData& input_data() const; + ::flyteidl::core::InputData* release_input_data(); + ::flyteidl::core::InputData* mutable_input_data(); + void set_allocated_input_data(::flyteidl::core::InputData* input_data); + + // .flyteidl.core.OutputData output_data = 7; + bool has_output_data() const; + void clear_output_data(); + static const int kOutputDataFieldNumber = 7; + const ::flyteidl::core::OutputData& output_data() const; + ::flyteidl::core::OutputData* release_output_data(); + ::flyteidl::core::OutputData* mutable_output_data(); + void set_allocated_output_data(::flyteidl::core::OutputData* output_data); + // @@protoc_insertion_point(class_scope:flyteidl.admin.TaskExecutionGetDataResponse) private: class HasBitSetters; @@ -1346,6 +1364,8 @@ class TaskExecutionGetDataResponse final : ::flyteidl::core::LiteralMap* full_inputs_; ::flyteidl::core::LiteralMap* full_outputs_; ::flyteidl::admin::FlyteURLs* flyte_urls_; + ::flyteidl::core::InputData* input_data_; + ::flyteidl::core::OutputData* output_data_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2ftask_5fexecution_2eproto; }; @@ -2760,7 +2780,7 @@ inline void TaskExecutionGetDataResponse::set_allocated_outputs(::flyteidl::admi // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.TaskExecutionGetDataResponse.outputs) } -// .flyteidl.core.LiteralMap full_inputs = 3; +// .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; inline bool TaskExecutionGetDataResponse::has_full_inputs() const { return this != internal_default_instance() && full_inputs_ != nullptr; } @@ -2805,7 +2825,7 @@ inline void TaskExecutionGetDataResponse::set_allocated_full_inputs(::flyteidl:: // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.TaskExecutionGetDataResponse.full_inputs) } -// .flyteidl.core.LiteralMap full_outputs = 4; +// .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; inline bool TaskExecutionGetDataResponse::has_full_outputs() const { return this != internal_default_instance() && full_outputs_ != nullptr; } @@ -2850,6 +2870,96 @@ inline void TaskExecutionGetDataResponse::set_allocated_full_outputs(::flyteidl: // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.TaskExecutionGetDataResponse.full_outputs) } +// .flyteidl.core.InputData input_data = 6; +inline bool TaskExecutionGetDataResponse::has_input_data() const { + return this != internal_default_instance() && input_data_ != nullptr; +} +inline const ::flyteidl::core::InputData& TaskExecutionGetDataResponse::input_data() const { + const ::flyteidl::core::InputData* p = input_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.TaskExecutionGetDataResponse.input_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* TaskExecutionGetDataResponse::release_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.TaskExecutionGetDataResponse.input_data) + + ::flyteidl::core::InputData* temp = input_data_; + input_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::InputData* TaskExecutionGetDataResponse::mutable_input_data() { + + if (input_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::InputData>(GetArenaNoVirtual()); + input_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.TaskExecutionGetDataResponse.input_data) + return input_data_; +} +inline void TaskExecutionGetDataResponse::set_allocated_input_data(::flyteidl::core::InputData* input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(input_data_); + } + if (input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, input_data, submessage_arena); + } + + } else { + + } + input_data_ = input_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.TaskExecutionGetDataResponse.input_data) +} + +// .flyteidl.core.OutputData output_data = 7; +inline bool TaskExecutionGetDataResponse::has_output_data() const { + return this != internal_default_instance() && output_data_ != nullptr; +} +inline const ::flyteidl::core::OutputData& TaskExecutionGetDataResponse::output_data() const { + const ::flyteidl::core::OutputData* p = output_data_; + // @@protoc_insertion_point(field_get:flyteidl.admin.TaskExecutionGetDataResponse.output_data) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_OutputData_default_instance_); +} +inline ::flyteidl::core::OutputData* TaskExecutionGetDataResponse::release_output_data() { + // @@protoc_insertion_point(field_release:flyteidl.admin.TaskExecutionGetDataResponse.output_data) + + ::flyteidl::core::OutputData* temp = output_data_; + output_data_ = nullptr; + return temp; +} +inline ::flyteidl::core::OutputData* TaskExecutionGetDataResponse::mutable_output_data() { + + if (output_data_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::OutputData>(GetArenaNoVirtual()); + output_data_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.TaskExecutionGetDataResponse.output_data) + return output_data_; +} +inline void TaskExecutionGetDataResponse::set_allocated_output_data(::flyteidl::core::OutputData* output_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(output_data_); + } + if (output_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + output_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, output_data, submessage_arena); + } + + } else { + + } + output_data_ = output_data; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.TaskExecutionGetDataResponse.output_data) +} + // .flyteidl.admin.FlyteURLs flyte_urls = 5; inline bool TaskExecutionGetDataResponse::has_flyte_urls() const { return this != internal_default_instance() && flyte_urls_ != nullptr; diff --git a/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.cc index 5ab3524696..64e9ed9abd 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.cc @@ -111,6 +111,14 @@ class LiteralMapDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; } _LiteralMap_default_instance_; +class InputDataDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _InputData_default_instance_; +class OutputDataDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _OutputData_default_instance_; class BindingDataCollectionDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; @@ -320,6 +328,36 @@ ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2flite &scc_info_StructuredDataset_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_LiteralType_flyteidl_2fcore_2ftypes_2eproto.base,}}; +static void InitDefaultsInputData_flyteidl_2fcore_2fliterals_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_InputData_default_instance_; + new (ptr) ::flyteidl::core::InputData(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::InputData::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsInputData_flyteidl_2fcore_2fliterals_2eproto}, { + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; + +static void InitDefaultsOutputData_flyteidl_2fcore_2fliterals_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::core::_OutputData_default_instance_; + new (ptr) ::flyteidl::core::OutputData(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::core::OutputData::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsOutputData_flyteidl_2fcore_2fliterals_2eproto}, { + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; + static void InitDefaultsUnionInfo_flyteidl_2fcore_2fliterals_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -422,6 +460,8 @@ void InitDefaults_flyteidl_2fcore_2fliterals_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_StructuredDatasetMetadata_flyteidl_2fcore_2fliterals_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_StructuredDataset_flyteidl_2fcore_2fliterals_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_UnionInfo_flyteidl_2fcore_2fliterals_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_BindingData_flyteidl_2fcore_2fliterals_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_Binding_flyteidl_2fcore_2fliterals_2eproto.base); @@ -429,7 +469,7 @@ void InitDefaults_flyteidl_2fcore_2fliterals_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_RetryStrategy_flyteidl_2fcore_2fliterals_2eproto.base); } -::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fliterals_2eproto[22]; +::google::protobuf::Metadata file_level_metadata_flyteidl_2fcore_2fliterals_2eproto[24]; constexpr ::google::protobuf::EnumDescriptor const** file_level_enum_descriptors_flyteidl_2fcore_2fliterals_2eproto = nullptr; constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fcore_2fliterals_2eproto = nullptr; @@ -545,6 +585,18 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fliterals_2eproto: ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::LiteralMap, literals_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::InputData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::InputData, inputs_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::OutputData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::core::OutputData, outputs_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::BindingDataCollection, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -618,14 +670,16 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 89, -1, sizeof(::flyteidl::core::LiteralCollection)}, { 95, 102, sizeof(::flyteidl::core::LiteralMap_LiteralsEntry_DoNotUse)}, { 104, -1, sizeof(::flyteidl::core::LiteralMap)}, - { 110, -1, sizeof(::flyteidl::core::BindingDataCollection)}, - { 116, 123, sizeof(::flyteidl::core::BindingDataMap_BindingsEntry_DoNotUse)}, - { 125, -1, sizeof(::flyteidl::core::BindingDataMap)}, - { 131, -1, sizeof(::flyteidl::core::UnionInfo)}, - { 137, -1, sizeof(::flyteidl::core::BindingData)}, - { 148, -1, sizeof(::flyteidl::core::Binding)}, - { 155, -1, sizeof(::flyteidl::core::KeyValuePair)}, - { 162, -1, sizeof(::flyteidl::core::RetryStrategy)}, + { 110, -1, sizeof(::flyteidl::core::InputData)}, + { 116, -1, sizeof(::flyteidl::core::OutputData)}, + { 122, -1, sizeof(::flyteidl::core::BindingDataCollection)}, + { 128, 135, sizeof(::flyteidl::core::BindingDataMap_BindingsEntry_DoNotUse)}, + { 137, -1, sizeof(::flyteidl::core::BindingDataMap)}, + { 143, -1, sizeof(::flyteidl::core::UnionInfo)}, + { 149, -1, sizeof(::flyteidl::core::BindingData)}, + { 160, -1, sizeof(::flyteidl::core::Binding)}, + { 167, -1, sizeof(::flyteidl::core::KeyValuePair)}, + { 174, -1, sizeof(::flyteidl::core::RetryStrategy)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -643,6 +697,8 @@ static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast(&::flyteidl::core::_LiteralCollection_default_instance_), reinterpret_cast(&::flyteidl::core::_LiteralMap_LiteralsEntry_DoNotUse_default_instance_), reinterpret_cast(&::flyteidl::core::_LiteralMap_default_instance_), + reinterpret_cast(&::flyteidl::core::_InputData_default_instance_), + reinterpret_cast(&::flyteidl::core::_OutputData_default_instance_), reinterpret_cast(&::flyteidl::core::_BindingDataCollection_default_instance_), reinterpret_cast(&::flyteidl::core::_BindingDataMap_BindingsEntry_DoNotUse_default_instance_), reinterpret_cast(&::flyteidl::core::_BindingDataMap_default_instance_), @@ -656,7 +712,7 @@ static ::google::protobuf::Message const * const file_default_instances[] = { ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fcore_2fliterals_2eproto = { {}, AddDescriptors_flyteidl_2fcore_2fliterals_2eproto, "flyteidl/core/literals.proto", schemas, file_default_instances, TableStruct_flyteidl_2fcore_2fliterals_2eproto::offsets, - file_level_metadata_flyteidl_2fcore_2fliterals_2eproto, 22, file_level_enum_descriptors_flyteidl_2fcore_2fliterals_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fliterals_2eproto, + file_level_metadata_flyteidl_2fcore_2fliterals_2eproto, 24, file_level_enum_descriptors_flyteidl_2fcore_2fliterals_2eproto, file_level_service_descriptors_flyteidl_2fcore_2fliterals_2eproto, }; const char descriptor_table_protodef_flyteidl_2fcore_2fliterals_2eproto[] = @@ -702,31 +758,34 @@ const char descriptor_table_protodef_flyteidl_2fcore_2fliterals_2eproto[] = "erals\030\001 \003(\0132\'.flyteidl.core.LiteralMap.L" "iteralsEntry\032G\n\rLiteralsEntry\022\013\n\003key\030\001 \001" "(\t\022%\n\005value\030\002 \001(\0132\026.flyteidl.core.Litera" - "l:\0028\001\"E\n\025BindingDataCollection\022,\n\010bindin" - "gs\030\001 \003(\0132\032.flyteidl.core.BindingData\"\234\001\n" - "\016BindingDataMap\022=\n\010bindings\030\001 \003(\0132+.flyt" - "eidl.core.BindingDataMap.BindingsEntry\032K" - "\n\rBindingsEntry\022\013\n\003key\030\001 \001(\t\022)\n\005value\030\002 " - "\001(\0132\032.flyteidl.core.BindingData:\0028\001\";\n\tU" - "nionInfo\022.\n\ntargetType\030\001 \001(\0132\032.flyteidl." - "core.LiteralType\"\205\002\n\013BindingData\022\'\n\006scal" - "ar\030\001 \001(\0132\025.flyteidl.core.ScalarH\000\022:\n\ncol" - "lection\030\002 \001(\0132$.flyteidl.core.BindingDat" - "aCollectionH\000\0221\n\007promise\030\003 \001(\0132\036.flyteid" - "l.core.OutputReferenceH\000\022,\n\003map\030\004 \001(\0132\035." - "flyteidl.core.BindingDataMapH\000\022\'\n\005union\030" - "\005 \001(\0132\030.flyteidl.core.UnionInfoB\007\n\005value" - "\"C\n\007Binding\022\013\n\003var\030\001 \001(\t\022+\n\007binding\030\002 \001(" - "\0132\032.flyteidl.core.BindingData\"*\n\014KeyValu" - "ePair\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\" \n\rRet" - "ryStrategy\022\017\n\007retries\030\005 \001(\rBinputs_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::core::LiteralMap::internal_default_instance()); +} +class InputData::HasBitSetters { + public: + static const ::flyteidl::core::LiteralMap& inputs(const InputData* msg); +}; + +const ::flyteidl::core::LiteralMap& +InputData::HasBitSetters::inputs(const InputData* msg) { + return *msg->inputs_; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int InputData::kInputsFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +InputData::InputData() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.InputData) +} +InputData::InputData(const InputData& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_inputs()) { + inputs_ = new ::flyteidl::core::LiteralMap(*from.inputs_); + } else { + inputs_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.InputData) +} + +void InputData::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base); + inputs_ = nullptr; +} + +InputData::~InputData() { + // @@protoc_insertion_point(destructor:flyteidl.core.InputData) + SharedDtor(); +} + +void InputData::SharedDtor() { + if (this != internal_default_instance()) delete inputs_; +} + +void InputData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const InputData& InputData::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base); + return *internal_default_instance(); +} + + +void InputData::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.InputData) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { + delete inputs_; + } + inputs_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* InputData::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.core.LiteralMap inputs = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; + object = msg->mutable_inputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool InputData::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.core.InputData) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.core.LiteralMap inputs = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_inputs())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.core.InputData) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.InputData) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void InputData::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.InputData) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.LiteralMap inputs = 1; + if (this->has_inputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::inputs(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.core.InputData) +} + +::google::protobuf::uint8* InputData::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.InputData) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.LiteralMap inputs = 1; + if (this->has_inputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::inputs(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.InputData) + return target; +} + +size_t InputData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.InputData) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .flyteidl.core.LiteralMap inputs = 1; + if (this->has_inputs()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *inputs_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void InputData::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.InputData) + GOOGLE_DCHECK_NE(&from, this); + const InputData* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.InputData) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.InputData) + MergeFrom(*source); + } +} + +void InputData::MergeFrom(const InputData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.InputData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_inputs()) { + mutable_inputs()->::flyteidl::core::LiteralMap::MergeFrom(from.inputs()); + } +} + +void InputData::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.InputData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void InputData::CopyFrom(const InputData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.InputData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool InputData::IsInitialized() const { + return true; +} + +void InputData::Swap(InputData* other) { + if (other == this) return; + InternalSwap(other); +} +void InputData::InternalSwap(InputData* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(inputs_, other->inputs_); +} + +::google::protobuf::Metadata InputData::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fliterals_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fliterals_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void OutputData::InitAsDefaultInstance() { + ::flyteidl::core::_OutputData_default_instance_._instance.get_mutable()->outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::core::LiteralMap::internal_default_instance()); +} +class OutputData::HasBitSetters { + public: + static const ::flyteidl::core::LiteralMap& outputs(const OutputData* msg); +}; + +const ::flyteidl::core::LiteralMap& +OutputData::HasBitSetters::outputs(const OutputData* msg) { + return *msg->outputs_; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int OutputData::kOutputsFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +OutputData::OutputData() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.core.OutputData) +} +OutputData::OutputData(const OutputData& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_outputs()) { + outputs_ = new ::flyteidl::core::LiteralMap(*from.outputs_); + } else { + outputs_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.core.OutputData) +} + +void OutputData::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base); + outputs_ = nullptr; +} + +OutputData::~OutputData() { + // @@protoc_insertion_point(destructor:flyteidl.core.OutputData) + SharedDtor(); +} + +void OutputData::SharedDtor() { + if (this != internal_default_instance()) delete outputs_; +} + +void OutputData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const OutputData& OutputData::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base); + return *internal_default_instance(); +} + + +void OutputData::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.core.OutputData) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) { + delete outputs_; + } + outputs_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* OutputData::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.core.LiteralMap outputs = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; + object = msg->mutable_outputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool OutputData::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.core.OutputData) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.core.LiteralMap outputs = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_outputs())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.core.OutputData) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.core.OutputData) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void OutputData::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.core.OutputData) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.LiteralMap outputs = 1; + if (this->has_outputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::outputs(this), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.core.OutputData) +} + +::google::protobuf::uint8* OutputData::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.core.OutputData) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.core.LiteralMap outputs = 1; + if (this->has_outputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::outputs(this), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.core.OutputData) + return target; +} + +size_t OutputData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.core.OutputData) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .flyteidl.core.LiteralMap outputs = 1; + if (this->has_outputs()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *outputs_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void OutputData::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.core.OutputData) + GOOGLE_DCHECK_NE(&from, this); + const OutputData* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.core.OutputData) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.core.OutputData) + MergeFrom(*source); + } +} + +void OutputData::MergeFrom(const OutputData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.core.OutputData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_outputs()) { + mutable_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.outputs()); + } +} + +void OutputData::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.core.OutputData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void OutputData::CopyFrom(const OutputData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.core.OutputData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool OutputData::IsInitialized() const { + return true; +} + +void OutputData::Swap(OutputData* other) { + if (other == this) return; + InternalSwap(other); +} +void OutputData::InternalSwap(OutputData* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(outputs_, other->outputs_); +} + +::google::protobuf::Metadata OutputData::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fliterals_2eproto); + return ::file_level_metadata_flyteidl_2fcore_2fliterals_2eproto[kIndexInFileMessages]; +} + + // =================================================================== void BindingDataCollection::InitAsDefaultInstance() { @@ -6521,7 +7154,7 @@ void BindingDataMap_BindingsEntry_DoNotUse::MergeFrom(const BindingDataMap_Bindi } ::google::protobuf::Metadata BindingDataMap_BindingsEntry_DoNotUse::GetMetadata() const { ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fcore_2fliterals_2eproto); - return ::file_level_metadata_flyteidl_2fcore_2fliterals_2eproto[15]; + return ::file_level_metadata_flyteidl_2fcore_2fliterals_2eproto[17]; } void BindingDataMap_BindingsEntry_DoNotUse::MergeFrom( const ::google::protobuf::Message& other) { @@ -8891,6 +9524,12 @@ template<> PROTOBUF_NOINLINE ::flyteidl::core::LiteralMap_LiteralsEntry_DoNotUse template<> PROTOBUF_NOINLINE ::flyteidl::core::LiteralMap* Arena::CreateMaybeMessage< ::flyteidl::core::LiteralMap >(Arena* arena) { return Arena::CreateInternal< ::flyteidl::core::LiteralMap >(arena); } +template<> PROTOBUF_NOINLINE ::flyteidl::core::InputData* Arena::CreateMaybeMessage< ::flyteidl::core::InputData >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::InputData >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::core::OutputData* Arena::CreateMaybeMessage< ::flyteidl::core::OutputData >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::core::OutputData >(arena); +} template<> PROTOBUF_NOINLINE ::flyteidl::core::BindingDataCollection* Arena::CreateMaybeMessage< ::flyteidl::core::BindingDataCollection >(Arena* arena) { return Arena::CreateInternal< ::flyteidl::core::BindingDataCollection >(arena); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.h b/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.h index ebb369623b..be6c4a09d3 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/core/literals.pb.h @@ -48,7 +48,7 @@ struct TableStruct_flyteidl_2fcore_2fliterals_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::google::protobuf::internal::ParseTable schema[22] + static const ::google::protobuf::internal::ParseTable schema[24] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; @@ -81,6 +81,9 @@ extern BlobDefaultTypeInternal _Blob_default_instance_; class BlobMetadata; class BlobMetadataDefaultTypeInternal; extern BlobMetadataDefaultTypeInternal _BlobMetadata_default_instance_; +class InputData; +class InputDataDefaultTypeInternal; +extern InputDataDefaultTypeInternal _InputData_default_instance_; class KeyValuePair; class KeyValuePairDefaultTypeInternal; extern KeyValuePairDefaultTypeInternal _KeyValuePair_default_instance_; @@ -96,6 +99,9 @@ extern LiteralMapDefaultTypeInternal _LiteralMap_default_instance_; class LiteralMap_LiteralsEntry_DoNotUse; class LiteralMap_LiteralsEntry_DoNotUseDefaultTypeInternal; extern LiteralMap_LiteralsEntry_DoNotUseDefaultTypeInternal _LiteralMap_LiteralsEntry_DoNotUse_default_instance_; +class OutputData; +class OutputDataDefaultTypeInternal; +extern OutputDataDefaultTypeInternal _OutputData_default_instance_; class Primitive; class PrimitiveDefaultTypeInternal; extern PrimitiveDefaultTypeInternal _Primitive_default_instance_; @@ -135,11 +141,13 @@ template<> ::flyteidl::core::BindingDataMap* Arena::CreateMaybeMessage<::flyteid template<> ::flyteidl::core::BindingDataMap_BindingsEntry_DoNotUse* Arena::CreateMaybeMessage<::flyteidl::core::BindingDataMap_BindingsEntry_DoNotUse>(Arena*); template<> ::flyteidl::core::Blob* Arena::CreateMaybeMessage<::flyteidl::core::Blob>(Arena*); template<> ::flyteidl::core::BlobMetadata* Arena::CreateMaybeMessage<::flyteidl::core::BlobMetadata>(Arena*); +template<> ::flyteidl::core::InputData* Arena::CreateMaybeMessage<::flyteidl::core::InputData>(Arena*); template<> ::flyteidl::core::KeyValuePair* Arena::CreateMaybeMessage<::flyteidl::core::KeyValuePair>(Arena*); template<> ::flyteidl::core::Literal* Arena::CreateMaybeMessage<::flyteidl::core::Literal>(Arena*); template<> ::flyteidl::core::LiteralCollection* Arena::CreateMaybeMessage<::flyteidl::core::LiteralCollection>(Arena*); template<> ::flyteidl::core::LiteralMap* Arena::CreateMaybeMessage<::flyteidl::core::LiteralMap>(Arena*); template<> ::flyteidl::core::LiteralMap_LiteralsEntry_DoNotUse* Arena::CreateMaybeMessage<::flyteidl::core::LiteralMap_LiteralsEntry_DoNotUse>(Arena*); +template<> ::flyteidl::core::OutputData* Arena::CreateMaybeMessage<::flyteidl::core::OutputData>(Arena*); template<> ::flyteidl::core::Primitive* Arena::CreateMaybeMessage<::flyteidl::core::Primitive>(Arena*); template<> ::flyteidl::core::RetryStrategy* Arena::CreateMaybeMessage<::flyteidl::core::RetryStrategy>(Arena*); template<> ::flyteidl::core::Scalar* Arena::CreateMaybeMessage<::flyteidl::core::Scalar>(Arena*); @@ -2000,6 +2008,236 @@ class LiteralMap final : }; // ------------------------------------------------------------------- +class InputData final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.InputData) */ { + public: + InputData(); + virtual ~InputData(); + + InputData(const InputData& from); + + inline InputData& operator=(const InputData& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + InputData(InputData&& from) noexcept + : InputData() { + *this = ::std::move(from); + } + + inline InputData& operator=(InputData&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const InputData& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const InputData* internal_default_instance() { + return reinterpret_cast( + &_InputData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 14; + + void Swap(InputData* other); + friend void swap(InputData& a, InputData& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline InputData* New() const final { + return CreateMaybeMessage(nullptr); + } + + InputData* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const InputData& from); + void MergeFrom(const InputData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(InputData* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .flyteidl.core.LiteralMap inputs = 1; + bool has_inputs() const; + void clear_inputs(); + static const int kInputsFieldNumber = 1; + const ::flyteidl::core::LiteralMap& inputs() const; + ::flyteidl::core::LiteralMap* release_inputs(); + ::flyteidl::core::LiteralMap* mutable_inputs(); + void set_allocated_inputs(::flyteidl::core::LiteralMap* inputs); + + // @@protoc_insertion_point(class_scope:flyteidl.core.InputData) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::flyteidl::core::LiteralMap* inputs_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fcore_2fliterals_2eproto; +}; +// ------------------------------------------------------------------- + +class OutputData final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.OutputData) */ { + public: + OutputData(); + virtual ~OutputData(); + + OutputData(const OutputData& from); + + inline OutputData& operator=(const OutputData& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + OutputData(OutputData&& from) noexcept + : OutputData() { + *this = ::std::move(from); + } + + inline OutputData& operator=(OutputData&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const OutputData& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const OutputData* internal_default_instance() { + return reinterpret_cast( + &_OutputData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 15; + + void Swap(OutputData* other); + friend void swap(OutputData& a, OutputData& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline OutputData* New() const final { + return CreateMaybeMessage(nullptr); + } + + OutputData* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const OutputData& from); + void MergeFrom(const OutputData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(OutputData* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .flyteidl.core.LiteralMap outputs = 1; + bool has_outputs() const; + void clear_outputs(); + static const int kOutputsFieldNumber = 1; + const ::flyteidl::core::LiteralMap& outputs() const; + ::flyteidl::core::LiteralMap* release_outputs(); + ::flyteidl::core::LiteralMap* mutable_outputs(); + void set_allocated_outputs(::flyteidl::core::LiteralMap* outputs); + + // @@protoc_insertion_point(class_scope:flyteidl.core.OutputData) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::flyteidl::core::LiteralMap* outputs_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fcore_2fliterals_2eproto; +}; +// ------------------------------------------------------------------- + class BindingDataCollection final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.core.BindingDataCollection) */ { public: @@ -2038,7 +2276,7 @@ class BindingDataCollection final : &_BindingDataCollection_default_instance_); } static constexpr int kIndexInFileMessages = - 14; + 16; void Swap(BindingDataCollection* other); friend void swap(BindingDataCollection& a, BindingDataCollection& b) { @@ -2180,7 +2418,7 @@ class BindingDataMap final : &_BindingDataMap_default_instance_); } static constexpr int kIndexInFileMessages = - 16; + 18; void Swap(BindingDataMap* other); friend void swap(BindingDataMap& a, BindingDataMap& b) { @@ -2301,7 +2539,7 @@ class UnionInfo final : &_UnionInfo_default_instance_); } static constexpr int kIndexInFileMessages = - 17; + 19; void Swap(UnionInfo* other); friend void swap(UnionInfo& a, UnionInfo& b) { @@ -2424,7 +2662,7 @@ class BindingData final : &_BindingData_default_instance_); } static constexpr int kIndexInFileMessages = - 18; + 20; void Swap(BindingData* other); friend void swap(BindingData& a, BindingData& b) { @@ -2593,7 +2831,7 @@ class Binding final : &_Binding_default_instance_); } static constexpr int kIndexInFileMessages = - 19; + 21; void Swap(Binding* other); friend void swap(Binding& a, Binding& b) { @@ -2723,7 +2961,7 @@ class KeyValuePair final : &_KeyValuePair_default_instance_); } static constexpr int kIndexInFileMessages = - 20; + 22; void Swap(KeyValuePair* other); friend void swap(KeyValuePair& a, KeyValuePair& b) { @@ -2858,7 +3096,7 @@ class RetryStrategy final : &_RetryStrategy_default_instance_); } static constexpr int kIndexInFileMessages = - 21; + 23; void Swap(RetryStrategy* other); friend void swap(RetryStrategy& a, RetryStrategy& b) { @@ -4448,6 +4686,116 @@ LiteralMap::mutable_literals() { // ------------------------------------------------------------------- +// InputData + +// .flyteidl.core.LiteralMap inputs = 1; +inline bool InputData::has_inputs() const { + return this != internal_default_instance() && inputs_ != nullptr; +} +inline void InputData::clear_inputs() { + if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { + delete inputs_; + } + inputs_ = nullptr; +} +inline const ::flyteidl::core::LiteralMap& InputData::inputs() const { + const ::flyteidl::core::LiteralMap* p = inputs_; + // @@protoc_insertion_point(field_get:flyteidl.core.InputData.inputs) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* InputData::release_inputs() { + // @@protoc_insertion_point(field_release:flyteidl.core.InputData.inputs) + + ::flyteidl::core::LiteralMap* temp = inputs_; + inputs_ = nullptr; + return temp; +} +inline ::flyteidl::core::LiteralMap* InputData::mutable_inputs() { + + if (inputs_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); + inputs_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.InputData.inputs) + return inputs_; +} +inline void InputData::set_allocated_inputs(::flyteidl::core::LiteralMap* inputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete inputs_; + } + if (inputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + inputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, inputs, submessage_arena); + } + + } else { + + } + inputs_ = inputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.InputData.inputs) +} + +// ------------------------------------------------------------------- + +// OutputData + +// .flyteidl.core.LiteralMap outputs = 1; +inline bool OutputData::has_outputs() const { + return this != internal_default_instance() && outputs_ != nullptr; +} +inline void OutputData::clear_outputs() { + if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) { + delete outputs_; + } + outputs_ = nullptr; +} +inline const ::flyteidl::core::LiteralMap& OutputData::outputs() const { + const ::flyteidl::core::LiteralMap* p = outputs_; + // @@protoc_insertion_point(field_get:flyteidl.core.OutputData.outputs) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* OutputData::release_outputs() { + // @@protoc_insertion_point(field_release:flyteidl.core.OutputData.outputs) + + ::flyteidl::core::LiteralMap* temp = outputs_; + outputs_ = nullptr; + return temp; +} +inline ::flyteidl::core::LiteralMap* OutputData::mutable_outputs() { + + if (outputs_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); + outputs_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.core.OutputData.outputs) + return outputs_; +} +inline void OutputData::set_allocated_outputs(::flyteidl::core::LiteralMap* outputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete outputs_; + } + if (outputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + outputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, outputs, submessage_arena); + } + + } else { + + } + outputs_ = outputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.OutputData.outputs) +} + +// ------------------------------------------------------------------- + // BindingDataCollection // repeated .flyteidl.core.BindingData bindings = 1; @@ -5056,6 +5404,10 @@ inline void RetryStrategy::set_retries(::google::protobuf::uint32 value) { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc index 5d705b5b46..27cfee5854 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc @@ -24,6 +24,8 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::p extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ParentNodeExecutionMetadata_flyteidl_2fevent_2fevent_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fevent_2fevent_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ResourcePoolInfo_flyteidl_2fevent_2fevent_2eproto; @@ -43,16 +45,19 @@ class WorkflowExecutionEventDefaultTypeInternal { ::google::protobuf::internal::ExplicitlyConstructed _instance; ::google::protobuf::internal::ArenaStringPtr output_uri_; const ::flyteidl::core::ExecutionError* error_; - const ::flyteidl::core::LiteralMap* output_data_; + const ::flyteidl::core::LiteralMap* deprecated_output_data_; + const ::flyteidl::core::OutputData* output_data_; } _WorkflowExecutionEvent_default_instance_; class NodeExecutionEventDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; ::google::protobuf::internal::ArenaStringPtr input_uri_; - const ::flyteidl::core::LiteralMap* input_data_; + const ::flyteidl::core::LiteralMap* deprecated_input_data_; + const ::flyteidl::core::InputData* input_data_; ::google::protobuf::internal::ArenaStringPtr output_uri_; const ::flyteidl::core::ExecutionError* error_; - const ::flyteidl::core::LiteralMap* output_data_; + const ::flyteidl::core::LiteralMap* deprecated_output_data_; + const ::flyteidl::core::OutputData* output_data_; const ::flyteidl::event::WorkflowNodeMetadata* workflow_node_metadata_; const ::flyteidl::event::TaskNodeMetadata* task_node_metadata_; } _NodeExecutionEvent_default_instance_; @@ -84,10 +89,12 @@ class TaskExecutionEventDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed _instance; ::google::protobuf::internal::ArenaStringPtr input_uri_; - const ::flyteidl::core::LiteralMap* input_data_; + const ::flyteidl::core::LiteralMap* deprecated_input_data_; + const ::flyteidl::core::InputData* input_data_; ::google::protobuf::internal::ArenaStringPtr output_uri_; const ::flyteidl::core::ExecutionError* error_; - const ::flyteidl::core::LiteralMap* output_data_; + const ::flyteidl::core::LiteralMap* deprecated_output_data_; + const ::flyteidl::core::OutputData* output_data_; } _TaskExecutionEvent_default_instance_; class ExternalResourceInfoDefaultTypeInternal { public: @@ -114,12 +121,13 @@ static void InitDefaultsWorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto( ::flyteidl::event::WorkflowExecutionEvent::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<4> scc_info_WorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsWorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto}, { +::google::protobuf::internal::SCCInfo<5> scc_info_WorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 5, InitDefaultsWorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto}, { &scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base, &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto.base, - &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; static void InitDefaultsNodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -132,12 +140,14 @@ static void InitDefaultsNodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto() { ::flyteidl::event::NodeExecutionEvent::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<8> scc_info_NodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 8, InitDefaultsNodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto}, { +::google::protobuf::internal::SCCInfo<10> scc_info_NodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 10, InitDefaultsNodeExecutionEvent_flyteidl_2fevent_2fevent_2eproto}, { &scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base, &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_WorkflowNodeMetadata_flyteidl_2fevent_2fevent_2eproto.base, &scc_info_TaskNodeMetadata_flyteidl_2fevent_2fevent_2eproto.base, &scc_info_ParentTaskExecutionMetadata_flyteidl_2fevent_2fevent_2eproto.base, @@ -245,14 +255,16 @@ static void InitDefaultsTaskExecutionEvent_flyteidl_2fevent_2fevent_2eproto() { ::flyteidl::event::TaskExecutionEvent::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<9> scc_info_TaskExecutionEvent_flyteidl_2fevent_2fevent_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 9, InitDefaultsTaskExecutionEvent_flyteidl_2fevent_2fevent_2eproto}, { +::google::protobuf::internal::SCCInfo<11> scc_info_TaskExecutionEvent_flyteidl_2fevent_2fevent_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 11, InitDefaultsTaskExecutionEvent_flyteidl_2fevent_2fevent_2eproto}, { &scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto.base, &scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base, &scc_info_TaskLog_flyteidl_2fcore_2fexecution_2eproto.base, &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_ListValue_google_2fprotobuf_2fstruct_2eproto.base, &scc_info_EventReason_flyteidl_2fevent_2fevent_2eproto.base, &scc_info_TaskExecutionMetadata_flyteidl_2fevent_2fevent_2eproto.base,}}; @@ -333,6 +345,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fevent_2fevent_2eproto::o PROTOBUF_FIELD_OFFSET(::flyteidl::event::WorkflowExecutionEvent, occurred_at_), offsetof(::flyteidl::event::WorkflowExecutionEventDefaultTypeInternal, output_uri_), offsetof(::flyteidl::event::WorkflowExecutionEventDefaultTypeInternal, error_), + offsetof(::flyteidl::event::WorkflowExecutionEventDefaultTypeInternal, deprecated_output_data_), offsetof(::flyteidl::event::WorkflowExecutionEventDefaultTypeInternal, output_data_), PROTOBUF_FIELD_OFFSET(::flyteidl::event::WorkflowExecutionEvent, output_result_), ~0u, // no _has_bits_ @@ -345,9 +358,11 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fevent_2fevent_2eproto::o PROTOBUF_FIELD_OFFSET(::flyteidl::event::NodeExecutionEvent, phase_), PROTOBUF_FIELD_OFFSET(::flyteidl::event::NodeExecutionEvent, occurred_at_), offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, input_uri_), + offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, deprecated_input_data_), offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, input_data_), offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, output_uri_), offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, error_), + offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, deprecated_output_data_), offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, output_data_), offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, workflow_node_metadata_), offsetof(::flyteidl::event::NodeExecutionEventDefaultTypeInternal, task_node_metadata_), @@ -421,9 +436,11 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fevent_2fevent_2eproto::o PROTOBUF_FIELD_OFFSET(::flyteidl::event::TaskExecutionEvent, logs_), PROTOBUF_FIELD_OFFSET(::flyteidl::event::TaskExecutionEvent, occurred_at_), offsetof(::flyteidl::event::TaskExecutionEventDefaultTypeInternal, input_uri_), + offsetof(::flyteidl::event::TaskExecutionEventDefaultTypeInternal, deprecated_input_data_), offsetof(::flyteidl::event::TaskExecutionEventDefaultTypeInternal, input_data_), offsetof(::flyteidl::event::TaskExecutionEventDefaultTypeInternal, output_uri_), offsetof(::flyteidl::event::TaskExecutionEventDefaultTypeInternal, error_), + offsetof(::flyteidl::event::TaskExecutionEventDefaultTypeInternal, deprecated_output_data_), offsetof(::flyteidl::event::TaskExecutionEventDefaultTypeInternal, output_data_), PROTOBUF_FIELD_OFFSET(::flyteidl::event::TaskExecutionEvent, custom_info_), PROTOBUF_FIELD_OFFSET(::flyteidl::event::TaskExecutionEvent, phase_version_), @@ -466,17 +483,17 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fevent_2fevent_2eproto::o }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::event::WorkflowExecutionEvent)}, - { 13, -1, sizeof(::flyteidl::event::NodeExecutionEvent)}, - { 43, -1, sizeof(::flyteidl::event::WorkflowNodeMetadata)}, - { 49, -1, sizeof(::flyteidl::event::TaskNodeMetadata)}, - { 59, -1, sizeof(::flyteidl::event::DynamicWorkflowNodeMetadata)}, - { 67, -1, sizeof(::flyteidl::event::ParentTaskExecutionMetadata)}, - { 73, -1, sizeof(::flyteidl::event::ParentNodeExecutionMetadata)}, - { 79, -1, sizeof(::flyteidl::event::EventReason)}, - { 86, -1, sizeof(::flyteidl::event::TaskExecutionEvent)}, - { 113, -1, sizeof(::flyteidl::event::ExternalResourceInfo)}, - { 124, -1, sizeof(::flyteidl::event::ResourcePoolInfo)}, - { 131, -1, sizeof(::flyteidl::event::TaskExecutionMetadata)}, + { 14, -1, sizeof(::flyteidl::event::NodeExecutionEvent)}, + { 46, -1, sizeof(::flyteidl::event::WorkflowNodeMetadata)}, + { 52, -1, sizeof(::flyteidl::event::TaskNodeMetadata)}, + { 62, -1, sizeof(::flyteidl::event::DynamicWorkflowNodeMetadata)}, + { 70, -1, sizeof(::flyteidl::event::ParentTaskExecutionMetadata)}, + { 76, -1, sizeof(::flyteidl::event::ParentNodeExecutionMetadata)}, + { 82, -1, sizeof(::flyteidl::event::EventReason)}, + { 89, -1, sizeof(::flyteidl::event::TaskExecutionEvent)}, + { 118, -1, sizeof(::flyteidl::event::ExternalResourceInfo)}, + { 129, -1, sizeof(::flyteidl::event::ResourcePoolInfo)}, + { 136, -1, sizeof(::flyteidl::event::TaskExecutionMetadata)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -507,101 +524,109 @@ const char descriptor_table_protodef_flyteidl_2fevent_2fevent_2eproto[] = "execution.proto\032\036flyteidl/core/identifie" "r.proto\032\033flyteidl/core/catalog.proto\032\037go" "ogle/protobuf/timestamp.proto\032\034google/pr" - "otobuf/struct.proto\"\340\002\n\026WorkflowExecutio" + "otobuf/struct.proto\"\241\003\n\026WorkflowExecutio" "nEvent\022@\n\014execution_id\030\001 \001(\0132*.flyteidl." "core.WorkflowExecutionIdentifier\022\023\n\013prod" "ucer_id\030\002 \001(\t\0225\n\005phase\030\003 \001(\0162&.flyteidl." "core.WorkflowExecution.Phase\022/\n\013occurred" "_at\030\004 \001(\0132\032.google.protobuf.Timestamp\022\024\n" "\noutput_uri\030\005 \001(\tH\000\022.\n\005error\030\006 \001(\0132\035.fly" - "teidl.core.ExecutionErrorH\000\0220\n\013output_da" - "ta\030\007 \001(\0132\031.flyteidl.core.LiteralMapH\000B\017\n" - "\routput_result\"\241\007\n\022NodeExecutionEvent\0222\n" - "\002id\030\001 \001(\0132&.flyteidl.core.NodeExecutionI" - "dentifier\022\023\n\013producer_id\030\002 \001(\t\0221\n\005phase\030" - "\003 \001(\0162\".flyteidl.core.NodeExecution.Phas" - "e\022/\n\013occurred_at\030\004 \001(\0132\032.google.protobuf" - ".Timestamp\022\023\n\tinput_uri\030\005 \001(\tH\000\022/\n\ninput" - "_data\030\024 \001(\0132\031.flyteidl.core.LiteralMapH\000" - "\022\024\n\noutput_uri\030\006 \001(\tH\001\022.\n\005error\030\007 \001(\0132\035." - "flyteidl.core.ExecutionErrorH\001\0220\n\013output" - "_data\030\017 \001(\0132\031.flyteidl.core.LiteralMapH\001" - "\022F\n\026workflow_node_metadata\030\010 \001(\0132$.flyte" - "idl.event.WorkflowNodeMetadataH\002\022>\n\022task" - "_node_metadata\030\016 \001(\0132 .flyteidl.event.Ta" - "skNodeMetadataH\002\022I\n\024parent_task_metadata" - "\030\t \001(\0132+.flyteidl.event.ParentTaskExecut" - "ionMetadata\022I\n\024parent_node_metadata\030\n \001(" - "\0132+.flyteidl.event.ParentNodeExecutionMe" - "tadata\022\023\n\013retry_group\030\013 \001(\t\022\024\n\014spec_node" - "_id\030\014 \001(\t\022\021\n\tnode_name\030\r \001(\t\022\025\n\revent_ve" - "rsion\030\020 \001(\005\022\021\n\tis_parent\030\021 \001(\010\022\022\n\nis_dyn" - "amic\030\022 \001(\010\022\020\n\010deck_uri\030\023 \001(\t\022/\n\013reported" - "_at\030\025 \001(\0132\032.google.protobuf.Timestamp\022\020\n" - "\010is_array\030\026 \001(\010B\r\n\013input_valueB\017\n\routput" - "_resultB\021\n\017target_metadata\"X\n\024WorkflowNo" - "deMetadata\022@\n\014execution_id\030\001 \001(\0132*.flyte" - "idl.core.WorkflowExecutionIdentifier\"\245\002\n" - "\020TaskNodeMetadata\0227\n\014cache_status\030\001 \001(\0162" - "!.flyteidl.core.CatalogCacheStatus\0223\n\013ca" - "talog_key\030\002 \001(\0132\036.flyteidl.core.CatalogM" - "etadata\022D\n\022reservation_status\030\003 \001(\0162(.fl" - "yteidl.core.CatalogReservation.Status\022\026\n" - "\016checkpoint_uri\030\004 \001(\t\022E\n\020dynamic_workflo" - "w\030\020 \001(\0132+.flyteidl.event.DynamicWorkflow" - "NodeMetadata\"\245\001\n\033DynamicWorkflowNodeMeta" - "data\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Identif" - "ier\022A\n\021compiled_workflow\030\002 \001(\0132&.flyteid" - "l.core.CompiledWorkflowClosure\022\034\n\024dynami" - "c_job_spec_uri\030\003 \001(\t\"Q\n\033ParentTaskExecut" - "ionMetadata\0222\n\002id\030\001 \001(\0132&.flyteidl.core." - "TaskExecutionIdentifier\".\n\033ParentNodeExe" - "cutionMetadata\022\017\n\007node_id\030\001 \001(\t\"N\n\013Event" - "Reason\022\016\n\006reason\030\001 \001(\t\022/\n\013occurred_at\030\002 " - "\001(\0132\032.google.protobuf.Timestamp\"\271\006\n\022Task" - "ExecutionEvent\022*\n\007task_id\030\001 \001(\0132\031.flytei" - "dl.core.Identifier\022H\n\030parent_node_execut" - "ion_id\030\002 \001(\0132&.flyteidl.core.NodeExecuti" - "onIdentifier\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005p" - "hase\030\004 \001(\0162\".flyteidl.core.TaskExecution" - ".Phase\022\023\n\013producer_id\030\005 \001(\t\022$\n\004logs\030\006 \003(" - "\0132\026.flyteidl.core.TaskLog\022/\n\013occurred_at" - "\030\007 \001(\0132\032.google.protobuf.Timestamp\022\023\n\tin" - "put_uri\030\010 \001(\tH\000\022/\n\ninput_data\030\023 \001(\0132\031.fl" - "yteidl.core.LiteralMapH\000\022\024\n\noutput_uri\030\t" - " \001(\tH\001\022.\n\005error\030\n \001(\0132\035.flyteidl.core.Ex" - "ecutionErrorH\001\0220\n\013output_data\030\021 \001(\0132\031.fl" - "yteidl.core.LiteralMapH\001\022,\n\013custom_info\030" - "\013 \001(\0132\027.google.protobuf.Struct\022\025\n\rphase_" - "version\030\014 \001(\r\022\022\n\006reason\030\r \001(\tB\002\030\001\022,\n\007rea" - "sons\030\025 \003(\0132\033.flyteidl.event.EventReason\022" - "\021\n\ttask_type\030\016 \001(\t\0227\n\010metadata\030\020 \001(\0132%.f" - "lyteidl.event.TaskExecutionMetadata\022\025\n\re" - "vent_version\030\022 \001(\005\022/\n\013reported_at\030\024 \001(\0132" - "\032.google.protobuf.TimestampB\r\n\013input_val" - "ueB\017\n\routput_result\"\343\001\n\024ExternalResource" - "Info\022\023\n\013external_id\030\001 \001(\t\022\r\n\005index\030\002 \001(\r" - "\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162\"" - ".flyteidl.core.TaskExecution.Phase\0227\n\014ca" - "che_status\030\005 \001(\0162!.flyteidl.core.Catalog" - "CacheStatus\022$\n\004logs\030\006 \003(\0132\026.flyteidl.cor" - "e.TaskLog\"\?\n\020ResourcePoolInfo\022\030\n\020allocat" - "ion_token\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025T" - "askExecutionMetadata\022\026\n\016generated_name\030\001" - " \001(\t\022@\n\022external_resources\030\002 \003(\0132$.flyte" - "idl.event.ExternalResourceInfo\022<\n\022resour" - "ce_pool_info\030\003 \003(\0132 .flyteidl.event.Reso" - "urcePoolInfo\022\031\n\021plugin_identifier\030\004 \001(\t\022" - "K\n\016instance_class\030\020 \001(\01623.flyteidl.event" - ".TaskExecutionMetadata.InstanceClass\"/\n\r" - "InstanceClass\022\013\n\007DEFAULT\020\000\022\021\n\rINTERRUPTI" - "BLE\020\001B=Z;github.com/flyteorg/flyte/flyte" - "idl/gen/pb-go/flyteidl/eventb\006proto3" + "teidl.core.ExecutionErrorH\000\022\?\n\026deprecate" + "d_output_data\030\007 \001(\0132\031.flyteidl.core.Lite" + "ralMapB\002\030\001H\000\0220\n\013output_data\030\010 \001(\0132\031.flyt" + "eidl.core.OutputDataH\000B\017\n\routput_result\"" + "\241\010\n\022NodeExecutionEvent\0222\n\002id\030\001 \001(\0132&.fly" + "teidl.core.NodeExecutionIdentifier\022\023\n\013pr" + "oducer_id\030\002 \001(\t\0221\n\005phase\030\003 \001(\0162\".flyteid" + "l.core.NodeExecution.Phase\022/\n\013occurred_a" + "t\030\004 \001(\0132\032.google.protobuf.Timestamp\022\023\n\ti" + "nput_uri\030\005 \001(\tH\000\022>\n\025deprecated_input_dat" + "a\030\024 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000" + "\022.\n\ninput_data\030\030 \001(\0132\030.flyteidl.core.Inp" + "utDataH\000\022\024\n\noutput_uri\030\006 \001(\tH\001\022.\n\005error\030" + "\007 \001(\0132\035.flyteidl.core.ExecutionErrorH\001\022\?" + "\n\026deprecated_output_data\030\017 \001(\0132\031.flyteid" + "l.core.LiteralMapB\002\030\001H\001\0220\n\013output_data\030\027" + " \001(\0132\031.flyteidl.core.OutputDataH\001\022F\n\026wor" + "kflow_node_metadata\030\010 \001(\0132$.flyteidl.eve" + "nt.WorkflowNodeMetadataH\002\022>\n\022task_node_m" + "etadata\030\016 \001(\0132 .flyteidl.event.TaskNodeM" + "etadataH\002\022I\n\024parent_task_metadata\030\t \001(\0132" + "+.flyteidl.event.ParentTaskExecutionMeta" + "data\022I\n\024parent_node_metadata\030\n \001(\0132+.fly" + "teidl.event.ParentNodeExecutionMetadata\022" + "\023\n\013retry_group\030\013 \001(\t\022\024\n\014spec_node_id\030\014 \001" + "(\t\022\021\n\tnode_name\030\r \001(\t\022\025\n\revent_version\030\020" + " \001(\005\022\021\n\tis_parent\030\021 \001(\010\022\022\n\nis_dynamic\030\022 " + "\001(\010\022\020\n\010deck_uri\030\023 \001(\t\022/\n\013reported_at\030\025 \001" + "(\0132\032.google.protobuf.Timestamp\022\020\n\010is_arr" + "ay\030\026 \001(\010B\r\n\013input_valueB\017\n\routput_result" + "B\021\n\017target_metadata\"X\n\024WorkflowNodeMetad" + "ata\022@\n\014execution_id\030\001 \001(\0132*.flyteidl.cor" + "e.WorkflowExecutionIdentifier\"\245\002\n\020TaskNo" + "deMetadata\0227\n\014cache_status\030\001 \001(\0162!.flyte" + "idl.core.CatalogCacheStatus\0223\n\013catalog_k" + "ey\030\002 \001(\0132\036.flyteidl.core.CatalogMetadata" + "\022D\n\022reservation_status\030\003 \001(\0162(.flyteidl." + "core.CatalogReservation.Status\022\026\n\016checkp" + "oint_uri\030\004 \001(\t\022E\n\020dynamic_workflow\030\020 \001(\013" + "2+.flyteidl.event.DynamicWorkflowNodeMet" + "adata\"\245\001\n\033DynamicWorkflowNodeMetadata\022%\n" + "\002id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A\n\021" + "compiled_workflow\030\002 \001(\0132&.flyteidl.core." + "CompiledWorkflowClosure\022\034\n\024dynamic_job_s" + "pec_uri\030\003 \001(\t\"Q\n\033ParentTaskExecutionMeta" + "data\0222\n\002id\030\001 \001(\0132&.flyteidl.core.TaskExe" + "cutionIdentifier\".\n\033ParentNodeExecutionM" + "etadata\022\017\n\007node_id\030\001 \001(\t\"N\n\013EventReason\022" + "\016\n\006reason\030\001 \001(\t\022/\n\013occurred_at\030\002 \001(\0132\032.g" + "oogle.protobuf.Timestamp\"\271\007\n\022TaskExecuti" + "onEvent\022*\n\007task_id\030\001 \001(\0132\031.flyteidl.core" + ".Identifier\022H\n\030parent_node_execution_id\030" + "\002 \001(\0132&.flyteidl.core.NodeExecutionIdent" + "ifier\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 " + "\001(\0162\".flyteidl.core.TaskExecution.Phase\022" + "\023\n\013producer_id\030\005 \001(\t\022$\n\004logs\030\006 \003(\0132\026.fly" + "teidl.core.TaskLog\022/\n\013occurred_at\030\007 \001(\0132" + "\032.google.protobuf.Timestamp\022\023\n\tinput_uri" + "\030\010 \001(\tH\000\022>\n\025deprecated_input_data\030\023 \001(\0132" + "\031.flyteidl.core.LiteralMapB\002\030\001H\000\022.\n\ninpu" + "t_data\030\027 \001(\0132\030.flyteidl.core.InputDataH\000" + "\022\024\n\noutput_uri\030\t \001(\tH\001\022.\n\005error\030\n \001(\0132\035." + "flyteidl.core.ExecutionErrorH\001\022\?\n\026deprec" + "ated_output_data\030\021 \001(\0132\031.flyteidl.core.L" + "iteralMapB\002\030\001H\001\0220\n\013output_data\030\026 \001(\0132\031.f" + "lyteidl.core.OutputDataH\001\022,\n\013custom_info" + "\030\013 \001(\0132\027.google.protobuf.Struct\022\025\n\rphase" + "_version\030\014 \001(\r\022\022\n\006reason\030\r \001(\tB\002\030\001\022,\n\007re" + "asons\030\025 \003(\0132\033.flyteidl.event.EventReason" + "\022\021\n\ttask_type\030\016 \001(\t\0227\n\010metadata\030\020 \001(\0132%." + "flyteidl.event.TaskExecutionMetadata\022\025\n\r" + "event_version\030\022 \001(\005\022/\n\013reported_at\030\024 \001(\013" + "2\032.google.protobuf.TimestampB\r\n\013input_va" + "lueB\017\n\routput_result\"\343\001\n\024ExternalResourc" + "eInfo\022\023\n\013external_id\030\001 \001(\t\022\r\n\005index\030\002 \001(" + "\r\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162" + "\".flyteidl.core.TaskExecution.Phase\0227\n\014c" + "ache_status\030\005 \001(\0162!.flyteidl.core.Catalo" + "gCacheStatus\022$\n\004logs\030\006 \003(\0132\026.flyteidl.co" + "re.TaskLog\"\?\n\020ResourcePoolInfo\022\030\n\020alloca" + "tion_token\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025" + "TaskExecutionMetadata\022\026\n\016generated_name\030" + "\001 \001(\t\022@\n\022external_resources\030\002 \003(\0132$.flyt" + "eidl.event.ExternalResourceInfo\022<\n\022resou" + "rce_pool_info\030\003 \003(\0132 .flyteidl.event.Res" + "ourcePoolInfo\022\031\n\021plugin_identifier\030\004 \001(\t" + "\022K\n\016instance_class\030\020 \001(\01623.flyteidl.even" + "t.TaskExecutionMetadata.InstanceClass\"/\n" + "\rInstanceClass\022\013\n\007DEFAULT\020\000\022\021\n\rINTERRUPT" + "IBLE\020\001B=Z;github.com/flyteorg/flyte/flyt" + "eidl/gen/pb-go/flyteidl/eventb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fevent_2fevent_2eproto = { false, InitDefaults_flyteidl_2fevent_2fevent_2eproto, descriptor_table_protodef_flyteidl_2fevent_2fevent_2eproto, - "flyteidl/event/event.proto", &assign_descriptors_table_flyteidl_2fevent_2fevent_2eproto, 3836, + "flyteidl/event/event.proto", &assign_descriptors_table_flyteidl_2fevent_2fevent_2eproto, 4157, }; void AddDescriptors_flyteidl_2fevent_2fevent_2eproto() { @@ -655,15 +680,18 @@ void WorkflowExecutionEvent::InitAsDefaultInstance() { &::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::flyteidl::event::_WorkflowExecutionEvent_default_instance_.error_ = const_cast< ::flyteidl::core::ExecutionError*>( ::flyteidl::core::ExecutionError::internal_default_instance()); - ::flyteidl::event::_WorkflowExecutionEvent_default_instance_.output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::event::_WorkflowExecutionEvent_default_instance_.deprecated_output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::event::_WorkflowExecutionEvent_default_instance_.output_data_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); } class WorkflowExecutionEvent::HasBitSetters { public: static const ::flyteidl::core::WorkflowExecutionIdentifier& execution_id(const WorkflowExecutionEvent* msg); static const ::google::protobuf::Timestamp& occurred_at(const WorkflowExecutionEvent* msg); static const ::flyteidl::core::ExecutionError& error(const WorkflowExecutionEvent* msg); - static const ::flyteidl::core::LiteralMap& output_data(const WorkflowExecutionEvent* msg); + static const ::flyteidl::core::LiteralMap& deprecated_output_data(const WorkflowExecutionEvent* msg); + static const ::flyteidl::core::OutputData& output_data(const WorkflowExecutionEvent* msg); }; const ::flyteidl::core::WorkflowExecutionIdentifier& @@ -679,6 +707,10 @@ WorkflowExecutionEvent::HasBitSetters::error(const WorkflowExecutionEvent* msg) return *msg->output_result_.error_; } const ::flyteidl::core::LiteralMap& +WorkflowExecutionEvent::HasBitSetters::deprecated_output_data(const WorkflowExecutionEvent* msg) { + return *msg->output_result_.deprecated_output_data_; +} +const ::flyteidl::core::OutputData& WorkflowExecutionEvent::HasBitSetters::output_data(const WorkflowExecutionEvent* msg) { return *msg->output_result_.output_data_; } @@ -714,7 +746,27 @@ void WorkflowExecutionEvent::clear_error() { clear_has_output_result(); } } -void WorkflowExecutionEvent::set_allocated_output_data(::flyteidl::core::LiteralMap* output_data) { +void WorkflowExecutionEvent::set_allocated_deprecated_output_data(::flyteidl::core::LiteralMap* deprecated_output_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_output_result(); + if (deprecated_output_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + deprecated_output_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_output_data, submessage_arena); + } + set_has_deprecated_output_data(); + output_result_.deprecated_output_data_ = deprecated_output_data; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.event.WorkflowExecutionEvent.deprecated_output_data) +} +void WorkflowExecutionEvent::clear_deprecated_output_data() { + if (has_deprecated_output_data()) { + delete output_result_.deprecated_output_data_; + clear_has_output_result(); + } +} +void WorkflowExecutionEvent::set_allocated_output_data(::flyteidl::core::OutputData* output_data) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_output_result(); if (output_data) { @@ -741,6 +793,7 @@ const int WorkflowExecutionEvent::kPhaseFieldNumber; const int WorkflowExecutionEvent::kOccurredAtFieldNumber; const int WorkflowExecutionEvent::kOutputUriFieldNumber; const int WorkflowExecutionEvent::kErrorFieldNumber; +const int WorkflowExecutionEvent::kDeprecatedOutputDataFieldNumber; const int WorkflowExecutionEvent::kOutputDataFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -778,8 +831,12 @@ WorkflowExecutionEvent::WorkflowExecutionEvent(const WorkflowExecutionEvent& fro mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error()); break; } + case kDeprecatedOutputData: { + mutable_deprecated_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_output_data()); + break; + } case kOutputData: { - mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); break; } case OUTPUT_RESULT_NOT_SET: { @@ -833,6 +890,10 @@ void WorkflowExecutionEvent::clear_output_result() { delete output_result_.error_; break; } + case kDeprecatedOutputData: { + delete output_result_.deprecated_output_data_; + break; + } case kOutputData: { delete output_result_.output_data_; break; @@ -957,12 +1018,25 @@ const char* WorkflowExecutionEvent::_InternalParse(const char* begin, const char {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap output_data = 7; + // .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; case 7: { if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; + object = msg->mutable_deprecated_output_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.OutputData output_data = 8; + case 8: { + if (static_cast<::google::protobuf::uint8>(tag) != 66) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; object = msg->mutable_output_data(); if (size > end - ptr) goto len_delim_till_end; ptr += size; @@ -1081,9 +1155,20 @@ bool WorkflowExecutionEvent::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap output_data = 7; + // .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; case 7: { if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_deprecated_output_data())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.OutputData output_data = 8; + case 8: { + if (static_cast< ::google::protobuf::uint8>(tag) == (66 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( input, mutable_output_data())); } else { @@ -1163,10 +1248,16 @@ void WorkflowExecutionEvent::SerializeWithCachedSizes( 6, HasBitSetters::error(this), output); } - // .flyteidl.core.LiteralMap output_data = 7; + // .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + if (has_deprecated_output_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 7, HasBitSetters::deprecated_output_data(this), output); + } + + // .flyteidl.core.OutputData output_data = 8; if (has_output_data()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 7, HasBitSetters::output_data(this), output); + 8, HasBitSetters::output_data(this), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -1231,11 +1322,18 @@ ::google::protobuf::uint8* WorkflowExecutionEvent::InternalSerializeWithCachedSi 6, HasBitSetters::error(this), target); } - // .flyteidl.core.LiteralMap output_data = 7; + // .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + if (has_deprecated_output_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 7, HasBitSetters::deprecated_output_data(this), target); + } + + // .flyteidl.core.OutputData output_data = 8; if (has_output_data()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 7, HasBitSetters::output_data(this), target); + 8, HasBitSetters::output_data(this), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -1301,7 +1399,14 @@ size_t WorkflowExecutionEvent::ByteSizeLong() const { *output_result_.error_); break; } - // .flyteidl.core.LiteralMap output_data = 7; + // .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + case kDeprecatedOutputData: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_result_.deprecated_output_data_); + break; + } + // .flyteidl.core.OutputData output_data = 8; case kOutputData: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -1361,8 +1466,12 @@ void WorkflowExecutionEvent::MergeFrom(const WorkflowExecutionEvent& from) { mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error()); break; } + case kDeprecatedOutputData: { + mutable_deprecated_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_output_data()); + break; + } case kOutputData: { - mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); break; } case OUTPUT_RESULT_NOT_SET: { @@ -1420,14 +1529,18 @@ void NodeExecutionEvent::InitAsDefaultInstance() { ::google::protobuf::Timestamp::internal_default_instance()); ::flyteidl::event::_NodeExecutionEvent_default_instance_.input_uri_.UnsafeSetDefault( &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::flyteidl::event::_NodeExecutionEvent_default_instance_.input_data_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::event::_NodeExecutionEvent_default_instance_.deprecated_input_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::event::_NodeExecutionEvent_default_instance_.input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); ::flyteidl::event::_NodeExecutionEvent_default_instance_.output_uri_.UnsafeSetDefault( &::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::flyteidl::event::_NodeExecutionEvent_default_instance_.error_ = const_cast< ::flyteidl::core::ExecutionError*>( ::flyteidl::core::ExecutionError::internal_default_instance()); - ::flyteidl::event::_NodeExecutionEvent_default_instance_.output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::event::_NodeExecutionEvent_default_instance_.deprecated_output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::event::_NodeExecutionEvent_default_instance_.output_data_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); ::flyteidl::event::_NodeExecutionEvent_default_instance_.workflow_node_metadata_ = const_cast< ::flyteidl::event::WorkflowNodeMetadata*>( ::flyteidl::event::WorkflowNodeMetadata::internal_default_instance()); ::flyteidl::event::_NodeExecutionEvent_default_instance_.task_node_metadata_ = const_cast< ::flyteidl::event::TaskNodeMetadata*>( @@ -1443,9 +1556,11 @@ class NodeExecutionEvent::HasBitSetters { public: static const ::flyteidl::core::NodeExecutionIdentifier& id(const NodeExecutionEvent* msg); static const ::google::protobuf::Timestamp& occurred_at(const NodeExecutionEvent* msg); - static const ::flyteidl::core::LiteralMap& input_data(const NodeExecutionEvent* msg); + static const ::flyteidl::core::LiteralMap& deprecated_input_data(const NodeExecutionEvent* msg); + static const ::flyteidl::core::InputData& input_data(const NodeExecutionEvent* msg); static const ::flyteidl::core::ExecutionError& error(const NodeExecutionEvent* msg); - static const ::flyteidl::core::LiteralMap& output_data(const NodeExecutionEvent* msg); + static const ::flyteidl::core::LiteralMap& deprecated_output_data(const NodeExecutionEvent* msg); + static const ::flyteidl::core::OutputData& output_data(const NodeExecutionEvent* msg); static const ::flyteidl::event::WorkflowNodeMetadata& workflow_node_metadata(const NodeExecutionEvent* msg); static const ::flyteidl::event::TaskNodeMetadata& task_node_metadata(const NodeExecutionEvent* msg); static const ::flyteidl::event::ParentTaskExecutionMetadata& parent_task_metadata(const NodeExecutionEvent* msg); @@ -1462,6 +1577,10 @@ NodeExecutionEvent::HasBitSetters::occurred_at(const NodeExecutionEvent* msg) { return *msg->occurred_at_; } const ::flyteidl::core::LiteralMap& +NodeExecutionEvent::HasBitSetters::deprecated_input_data(const NodeExecutionEvent* msg) { + return *msg->input_value_.deprecated_input_data_; +} +const ::flyteidl::core::InputData& NodeExecutionEvent::HasBitSetters::input_data(const NodeExecutionEvent* msg) { return *msg->input_value_.input_data_; } @@ -1470,6 +1589,10 @@ NodeExecutionEvent::HasBitSetters::error(const NodeExecutionEvent* msg) { return *msg->output_result_.error_; } const ::flyteidl::core::LiteralMap& +NodeExecutionEvent::HasBitSetters::deprecated_output_data(const NodeExecutionEvent* msg) { + return *msg->output_result_.deprecated_output_data_; +} +const ::flyteidl::core::OutputData& NodeExecutionEvent::HasBitSetters::output_data(const NodeExecutionEvent* msg) { return *msg->output_result_.output_data_; } @@ -1505,7 +1628,27 @@ void NodeExecutionEvent::clear_occurred_at() { } occurred_at_ = nullptr; } -void NodeExecutionEvent::set_allocated_input_data(::flyteidl::core::LiteralMap* input_data) { +void NodeExecutionEvent::set_allocated_deprecated_input_data(::flyteidl::core::LiteralMap* deprecated_input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_input_value(); + if (deprecated_input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + deprecated_input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_input_data, submessage_arena); + } + set_has_deprecated_input_data(); + input_value_.deprecated_input_data_ = deprecated_input_data; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.event.NodeExecutionEvent.deprecated_input_data) +} +void NodeExecutionEvent::clear_deprecated_input_data() { + if (has_deprecated_input_data()) { + delete input_value_.deprecated_input_data_; + clear_has_input_value(); + } +} +void NodeExecutionEvent::set_allocated_input_data(::flyteidl::core::InputData* input_data) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_input_value(); if (input_data) { @@ -1545,7 +1688,27 @@ void NodeExecutionEvent::clear_error() { clear_has_output_result(); } } -void NodeExecutionEvent::set_allocated_output_data(::flyteidl::core::LiteralMap* output_data) { +void NodeExecutionEvent::set_allocated_deprecated_output_data(::flyteidl::core::LiteralMap* deprecated_output_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_output_result(); + if (deprecated_output_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + deprecated_output_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_output_data, submessage_arena); + } + set_has_deprecated_output_data(); + output_result_.deprecated_output_data_ = deprecated_output_data; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.event.NodeExecutionEvent.deprecated_output_data) +} +void NodeExecutionEvent::clear_deprecated_output_data() { + if (has_deprecated_output_data()) { + delete output_result_.deprecated_output_data_; + clear_has_output_result(); + } +} +void NodeExecutionEvent::set_allocated_output_data(::flyteidl::core::OutputData* output_data) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_output_result(); if (output_data) { @@ -1605,9 +1768,11 @@ const int NodeExecutionEvent::kProducerIdFieldNumber; const int NodeExecutionEvent::kPhaseFieldNumber; const int NodeExecutionEvent::kOccurredAtFieldNumber; const int NodeExecutionEvent::kInputUriFieldNumber; +const int NodeExecutionEvent::kDeprecatedInputDataFieldNumber; const int NodeExecutionEvent::kInputDataFieldNumber; const int NodeExecutionEvent::kOutputUriFieldNumber; const int NodeExecutionEvent::kErrorFieldNumber; +const int NodeExecutionEvent::kDeprecatedOutputDataFieldNumber; const int NodeExecutionEvent::kOutputDataFieldNumber; const int NodeExecutionEvent::kWorkflowNodeMetadataFieldNumber; const int NodeExecutionEvent::kTaskNodeMetadataFieldNumber; @@ -1687,8 +1852,12 @@ NodeExecutionEvent::NodeExecutionEvent(const NodeExecutionEvent& from) set_input_uri(from.input_uri()); break; } + case kDeprecatedInputData: { + mutable_deprecated_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_input_data()); + break; + } case kInputData: { - mutable_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.input_data()); + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); break; } case INPUT_VALUE_NOT_SET: { @@ -1705,8 +1874,12 @@ NodeExecutionEvent::NodeExecutionEvent(const NodeExecutionEvent& from) mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error()); break; } + case kDeprecatedOutputData: { + mutable_deprecated_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_output_data()); + break; + } case kOutputData: { - mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); break; } case OUTPUT_RESULT_NOT_SET: { @@ -1789,6 +1962,10 @@ void NodeExecutionEvent::clear_input_value() { input_value_.input_uri_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); break; } + case kDeprecatedInputData: { + delete input_value_.deprecated_input_data_; + break; + } case kInputData: { delete input_value_.input_data_; break; @@ -1811,6 +1988,10 @@ void NodeExecutionEvent::clear_output_result() { delete output_result_.error_; break; } + case kDeprecatedOutputData: { + delete output_result_.deprecated_output_data_; + break; + } case kOutputData: { delete output_result_.output_data_; break; @@ -2089,13 +2270,13 @@ const char* NodeExecutionEvent::_InternalParse(const char* begin, const char* en {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap output_data = 15; + // .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; case 15: { if (static_cast<::google::protobuf::uint8>(tag) != 122) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; - object = msg->mutable_output_data(); + object = msg->mutable_deprecated_output_data(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( @@ -2139,13 +2320,13 @@ const char* NodeExecutionEvent::_InternalParse(const char* begin, const char* en ptr += size; break; } - // .flyteidl.core.LiteralMap input_data = 20; + // .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; case 20: { if (static_cast<::google::protobuf::uint8>(tag) != 162) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; - object = msg->mutable_input_data(); + object = msg->mutable_deprecated_input_data(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( @@ -2172,6 +2353,32 @@ const char* NodeExecutionEvent::_InternalParse(const char* begin, const char* en GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // .flyteidl.core.OutputData output_data = 23; + case 23: { + if (static_cast<::google::protobuf::uint8>(tag) != 186) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_output_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.InputData input_data = 24; + case 24: { + if (static_cast<::google::protobuf::uint8>(tag) != 194) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -2387,11 +2594,11 @@ bool NodeExecutionEvent::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap output_data = 15; + // .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; case 15: { if (static_cast< ::google::protobuf::uint8>(tag) == (122 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_output_data())); + input, mutable_deprecated_output_data())); } else { goto handle_unusual; } @@ -2452,11 +2659,11 @@ bool NodeExecutionEvent::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap input_data = 20; + // .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; case 20: { if (static_cast< ::google::protobuf::uint8>(tag) == (162 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_input_data())); + input, mutable_deprecated_input_data())); } else { goto handle_unusual; } @@ -2487,6 +2694,28 @@ bool NodeExecutionEvent::MergePartialFromCodedStream( break; } + // .flyteidl.core.OutputData output_data = 23; + case 23: { + if (static_cast< ::google::protobuf::uint8>(tag) == (186 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_output_data())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.InputData input_data = 24; + case 24: { + if (static_cast< ::google::protobuf::uint8>(tag) == (194 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_input_data())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -2622,10 +2851,10 @@ void NodeExecutionEvent::SerializeWithCachedSizes( 14, HasBitSetters::task_node_metadata(this), output); } - // .flyteidl.core.LiteralMap output_data = 15; - if (has_output_data()) { + // .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + if (has_deprecated_output_data()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 15, HasBitSetters::output_data(this), output); + 15, HasBitSetters::deprecated_output_data(this), output); } // int32 event_version = 16; @@ -2653,10 +2882,10 @@ void NodeExecutionEvent::SerializeWithCachedSizes( 19, this->deck_uri(), output); } - // .flyteidl.core.LiteralMap input_data = 20; - if (has_input_data()) { + // .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + if (has_deprecated_input_data()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 20, HasBitSetters::input_data(this), output); + 20, HasBitSetters::deprecated_input_data(this), output); } // .google.protobuf.Timestamp reported_at = 21; @@ -2670,6 +2899,18 @@ void NodeExecutionEvent::SerializeWithCachedSizes( ::google::protobuf::internal::WireFormatLite::WriteBool(22, this->is_array(), output); } + // .flyteidl.core.OutputData output_data = 23; + if (has_output_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 23, HasBitSetters::output_data(this), output); + } + + // .flyteidl.core.InputData input_data = 24; + if (has_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 24, HasBitSetters::input_data(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -2804,11 +3045,11 @@ ::google::protobuf::uint8* NodeExecutionEvent::InternalSerializeWithCachedSizesT 14, HasBitSetters::task_node_metadata(this), target); } - // .flyteidl.core.LiteralMap output_data = 15; - if (has_output_data()) { + // .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + if (has_deprecated_output_data()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 15, HasBitSetters::output_data(this), target); + 15, HasBitSetters::deprecated_output_data(this), target); } // int32 event_version = 16; @@ -2837,11 +3078,11 @@ ::google::protobuf::uint8* NodeExecutionEvent::InternalSerializeWithCachedSizesT 19, this->deck_uri(), target); } - // .flyteidl.core.LiteralMap input_data = 20; - if (has_input_data()) { + // .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + if (has_deprecated_input_data()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 20, HasBitSetters::input_data(this), target); + 20, HasBitSetters::deprecated_input_data(this), target); } // .google.protobuf.Timestamp reported_at = 21; @@ -2856,6 +3097,20 @@ ::google::protobuf::uint8* NodeExecutionEvent::InternalSerializeWithCachedSizesT target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(22, this->is_array(), target); } + // .flyteidl.core.OutputData output_data = 23; + if (has_output_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 23, HasBitSetters::output_data(this), target); + } + + // .flyteidl.core.InputData input_data = 24; + if (has_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 24, HasBitSetters::input_data(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -2983,7 +3238,14 @@ size_t NodeExecutionEvent::ByteSizeLong() const { this->input_uri()); break; } - // .flyteidl.core.LiteralMap input_data = 20; + // .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + case kDeprecatedInputData: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *input_value_.deprecated_input_data_); + break; + } + // .flyteidl.core.InputData input_data = 24; case kInputData: { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -3009,9 +3271,16 @@ size_t NodeExecutionEvent::ByteSizeLong() const { *output_result_.error_); break; } - // .flyteidl.core.LiteralMap output_data = 15; - case kOutputData: { + // .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + case kDeprecatedOutputData: { total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_result_.deprecated_output_data_); + break; + } + // .flyteidl.core.OutputData output_data = 23; + case kOutputData: { + total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSize( *output_result_.output_data_); break; @@ -3121,8 +3390,12 @@ void NodeExecutionEvent::MergeFrom(const NodeExecutionEvent& from) { set_input_uri(from.input_uri()); break; } + case kDeprecatedInputData: { + mutable_deprecated_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_input_data()); + break; + } case kInputData: { - mutable_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.input_data()); + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); break; } case INPUT_VALUE_NOT_SET: { @@ -3138,8 +3411,12 @@ void NodeExecutionEvent::MergeFrom(const NodeExecutionEvent& from) { mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error()); break; } + case kDeprecatedOutputData: { + mutable_deprecated_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_output_data()); + break; + } case kOutputData: { - mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); break; } case OUTPUT_RESULT_NOT_SET: { @@ -5462,14 +5739,18 @@ void TaskExecutionEvent::InitAsDefaultInstance() { ::google::protobuf::Timestamp::internal_default_instance()); ::flyteidl::event::_TaskExecutionEvent_default_instance_.input_uri_.UnsafeSetDefault( &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::flyteidl::event::_TaskExecutionEvent_default_instance_.input_data_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::event::_TaskExecutionEvent_default_instance_.deprecated_input_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::event::_TaskExecutionEvent_default_instance_.input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); ::flyteidl::event::_TaskExecutionEvent_default_instance_.output_uri_.UnsafeSetDefault( &::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::flyteidl::event::_TaskExecutionEvent_default_instance_.error_ = const_cast< ::flyteidl::core::ExecutionError*>( ::flyteidl::core::ExecutionError::internal_default_instance()); - ::flyteidl::event::_TaskExecutionEvent_default_instance_.output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::event::_TaskExecutionEvent_default_instance_.deprecated_output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::event::_TaskExecutionEvent_default_instance_.output_data_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); ::flyteidl::event::_TaskExecutionEvent_default_instance_._instance.get_mutable()->custom_info_ = const_cast< ::google::protobuf::Struct*>( ::google::protobuf::Struct::internal_default_instance()); ::flyteidl::event::_TaskExecutionEvent_default_instance_._instance.get_mutable()->metadata_ = const_cast< ::flyteidl::event::TaskExecutionMetadata*>( @@ -5482,9 +5763,11 @@ class TaskExecutionEvent::HasBitSetters { static const ::flyteidl::core::Identifier& task_id(const TaskExecutionEvent* msg); static const ::flyteidl::core::NodeExecutionIdentifier& parent_node_execution_id(const TaskExecutionEvent* msg); static const ::google::protobuf::Timestamp& occurred_at(const TaskExecutionEvent* msg); - static const ::flyteidl::core::LiteralMap& input_data(const TaskExecutionEvent* msg); + static const ::flyteidl::core::LiteralMap& deprecated_input_data(const TaskExecutionEvent* msg); + static const ::flyteidl::core::InputData& input_data(const TaskExecutionEvent* msg); static const ::flyteidl::core::ExecutionError& error(const TaskExecutionEvent* msg); - static const ::flyteidl::core::LiteralMap& output_data(const TaskExecutionEvent* msg); + static const ::flyteidl::core::LiteralMap& deprecated_output_data(const TaskExecutionEvent* msg); + static const ::flyteidl::core::OutputData& output_data(const TaskExecutionEvent* msg); static const ::google::protobuf::Struct& custom_info(const TaskExecutionEvent* msg); static const ::flyteidl::event::TaskExecutionMetadata& metadata(const TaskExecutionEvent* msg); static const ::google::protobuf::Timestamp& reported_at(const TaskExecutionEvent* msg); @@ -5503,6 +5786,10 @@ TaskExecutionEvent::HasBitSetters::occurred_at(const TaskExecutionEvent* msg) { return *msg->occurred_at_; } const ::flyteidl::core::LiteralMap& +TaskExecutionEvent::HasBitSetters::deprecated_input_data(const TaskExecutionEvent* msg) { + return *msg->input_value_.deprecated_input_data_; +} +const ::flyteidl::core::InputData& TaskExecutionEvent::HasBitSetters::input_data(const TaskExecutionEvent* msg) { return *msg->input_value_.input_data_; } @@ -5511,6 +5798,10 @@ TaskExecutionEvent::HasBitSetters::error(const TaskExecutionEvent* msg) { return *msg->output_result_.error_; } const ::flyteidl::core::LiteralMap& +TaskExecutionEvent::HasBitSetters::deprecated_output_data(const TaskExecutionEvent* msg) { + return *msg->output_result_.deprecated_output_data_; +} +const ::flyteidl::core::OutputData& TaskExecutionEvent::HasBitSetters::output_data(const TaskExecutionEvent* msg) { return *msg->output_result_.output_data_; } @@ -5547,7 +5838,27 @@ void TaskExecutionEvent::clear_occurred_at() { } occurred_at_ = nullptr; } -void TaskExecutionEvent::set_allocated_input_data(::flyteidl::core::LiteralMap* input_data) { +void TaskExecutionEvent::set_allocated_deprecated_input_data(::flyteidl::core::LiteralMap* deprecated_input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_input_value(); + if (deprecated_input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + deprecated_input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_input_data, submessage_arena); + } + set_has_deprecated_input_data(); + input_value_.deprecated_input_data_ = deprecated_input_data; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.event.TaskExecutionEvent.deprecated_input_data) +} +void TaskExecutionEvent::clear_deprecated_input_data() { + if (has_deprecated_input_data()) { + delete input_value_.deprecated_input_data_; + clear_has_input_value(); + } +} +void TaskExecutionEvent::set_allocated_input_data(::flyteidl::core::InputData* input_data) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_input_value(); if (input_data) { @@ -5587,7 +5898,27 @@ void TaskExecutionEvent::clear_error() { clear_has_output_result(); } } -void TaskExecutionEvent::set_allocated_output_data(::flyteidl::core::LiteralMap* output_data) { +void TaskExecutionEvent::set_allocated_deprecated_output_data(::flyteidl::core::LiteralMap* deprecated_output_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_output_result(); + if (deprecated_output_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + deprecated_output_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_output_data, submessage_arena); + } + set_has_deprecated_output_data(); + output_result_.deprecated_output_data_ = deprecated_output_data; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.event.TaskExecutionEvent.deprecated_output_data) +} +void TaskExecutionEvent::clear_deprecated_output_data() { + if (has_deprecated_output_data()) { + delete output_result_.deprecated_output_data_; + clear_has_output_result(); + } +} +void TaskExecutionEvent::set_allocated_output_data(::flyteidl::core::OutputData* output_data) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_output_result(); if (output_data) { @@ -5628,9 +5959,11 @@ const int TaskExecutionEvent::kProducerIdFieldNumber; const int TaskExecutionEvent::kLogsFieldNumber; const int TaskExecutionEvent::kOccurredAtFieldNumber; const int TaskExecutionEvent::kInputUriFieldNumber; +const int TaskExecutionEvent::kDeprecatedInputDataFieldNumber; const int TaskExecutionEvent::kInputDataFieldNumber; const int TaskExecutionEvent::kOutputUriFieldNumber; const int TaskExecutionEvent::kErrorFieldNumber; +const int TaskExecutionEvent::kDeprecatedOutputDataFieldNumber; const int TaskExecutionEvent::kOutputDataFieldNumber; const int TaskExecutionEvent::kCustomInfoFieldNumber; const int TaskExecutionEvent::kPhaseVersionFieldNumber; @@ -5704,8 +6037,12 @@ TaskExecutionEvent::TaskExecutionEvent(const TaskExecutionEvent& from) set_input_uri(from.input_uri()); break; } + case kDeprecatedInputData: { + mutable_deprecated_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_input_data()); + break; + } case kInputData: { - mutable_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.input_data()); + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); break; } case INPUT_VALUE_NOT_SET: { @@ -5722,8 +6059,12 @@ TaskExecutionEvent::TaskExecutionEvent(const TaskExecutionEvent& from) mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error()); break; } + case kDeprecatedOutputData: { + mutable_deprecated_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_output_data()); + break; + } case kOutputData: { - mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); break; } case OUTPUT_RESULT_NOT_SET: { @@ -5785,6 +6126,10 @@ void TaskExecutionEvent::clear_input_value() { input_value_.input_uri_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); break; } + case kDeprecatedInputData: { + delete input_value_.deprecated_input_data_; + break; + } case kInputData: { delete input_value_.input_data_; break; @@ -5807,6 +6152,10 @@ void TaskExecutionEvent::clear_output_result() { delete output_result_.error_; break; } + case kDeprecatedOutputData: { + delete output_result_.deprecated_output_data_; + break; + } case kOutputData: { delete output_result_.output_data_; break; @@ -6071,13 +6420,13 @@ const char* TaskExecutionEvent::_InternalParse(const char* begin, const char* en {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.LiteralMap output_data = 17; + // .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; case 17: { if (static_cast<::google::protobuf::uint8>(tag) != 138) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; - object = msg->mutable_output_data(); + object = msg->mutable_deprecated_output_data(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( @@ -6091,13 +6440,13 @@ const char* TaskExecutionEvent::_InternalParse(const char* begin, const char* en GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } - // .flyteidl.core.LiteralMap input_data = 19; + // .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; case 19: { if (static_cast<::google::protobuf::uint8>(tag) != 154) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; - object = msg->mutable_input_data(); + object = msg->mutable_deprecated_input_data(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( @@ -6133,6 +6482,32 @@ const char* TaskExecutionEvent::_InternalParse(const char* begin, const char* en } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 65535) == 426 && (ptr += 2)); break; } + // .flyteidl.core.OutputData output_data = 22; + case 22: { + if (static_cast<::google::protobuf::uint8>(tag) != 178) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_output_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.InputData input_data = 23; + case 23: { + if (static_cast<::google::protobuf::uint8>(tag) != 186) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -6359,11 +6734,11 @@ bool TaskExecutionEvent::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap output_data = 17; + // .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; case 17: { if (static_cast< ::google::protobuf::uint8>(tag) == (138 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_output_data())); + input, mutable_deprecated_output_data())); } else { goto handle_unusual; } @@ -6383,11 +6758,11 @@ bool TaskExecutionEvent::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap input_data = 19; + // .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; case 19: { if (static_cast< ::google::protobuf::uint8>(tag) == (154 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_input_data())); + input, mutable_deprecated_input_data())); } else { goto handle_unusual; } @@ -6416,6 +6791,28 @@ bool TaskExecutionEvent::MergePartialFromCodedStream( break; } + // .flyteidl.core.OutputData output_data = 22; + case 22: { + if (static_cast< ::google::protobuf::uint8>(tag) == (178 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_output_data())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.InputData input_data = 23; + case 23: { + if (static_cast< ::google::protobuf::uint8>(tag) == (186 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_input_data())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -6554,10 +6951,10 @@ void TaskExecutionEvent::SerializeWithCachedSizes( 16, HasBitSetters::metadata(this), output); } - // .flyteidl.core.LiteralMap output_data = 17; - if (has_output_data()) { + // .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + if (has_deprecated_output_data()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 17, HasBitSetters::output_data(this), output); + 17, HasBitSetters::deprecated_output_data(this), output); } // int32 event_version = 18; @@ -6565,10 +6962,10 @@ void TaskExecutionEvent::SerializeWithCachedSizes( ::google::protobuf::internal::WireFormatLite::WriteInt32(18, this->event_version(), output); } - // .flyteidl.core.LiteralMap input_data = 19; - if (has_input_data()) { + // .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + if (has_deprecated_input_data()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 19, HasBitSetters::input_data(this), output); + 19, HasBitSetters::deprecated_input_data(this), output); } // .google.protobuf.Timestamp reported_at = 20; @@ -6586,6 +6983,18 @@ void TaskExecutionEvent::SerializeWithCachedSizes( output); } + // .flyteidl.core.OutputData output_data = 22; + if (has_output_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 22, HasBitSetters::output_data(this), output); + } + + // .flyteidl.core.InputData input_data = 23; + if (has_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 23, HasBitSetters::input_data(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -6720,11 +7129,11 @@ ::google::protobuf::uint8* TaskExecutionEvent::InternalSerializeWithCachedSizesT 16, HasBitSetters::metadata(this), target); } - // .flyteidl.core.LiteralMap output_data = 17; - if (has_output_data()) { + // .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + if (has_deprecated_output_data()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 17, HasBitSetters::output_data(this), target); + 17, HasBitSetters::deprecated_output_data(this), target); } // int32 event_version = 18; @@ -6732,11 +7141,11 @@ ::google::protobuf::uint8* TaskExecutionEvent::InternalSerializeWithCachedSizesT target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(18, this->event_version(), target); } - // .flyteidl.core.LiteralMap input_data = 19; - if (has_input_data()) { + // .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + if (has_deprecated_input_data()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 19, HasBitSetters::input_data(this), target); + 19, HasBitSetters::deprecated_input_data(this), target); } // .google.protobuf.Timestamp reported_at = 20; @@ -6754,6 +7163,20 @@ ::google::protobuf::uint8* TaskExecutionEvent::InternalSerializeWithCachedSizesT 21, this->reasons(static_cast(i)), target); } + // .flyteidl.core.OutputData output_data = 22; + if (has_output_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 22, HasBitSetters::output_data(this), target); + } + + // .flyteidl.core.InputData input_data = 23; + if (has_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 23, HasBitSetters::input_data(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -6895,7 +7318,14 @@ size_t TaskExecutionEvent::ByteSizeLong() const { this->input_uri()); break; } - // .flyteidl.core.LiteralMap input_data = 19; + // .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + case kDeprecatedInputData: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *input_value_.deprecated_input_data_); + break; + } + // .flyteidl.core.InputData input_data = 23; case kInputData: { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -6921,7 +7351,14 @@ size_t TaskExecutionEvent::ByteSizeLong() const { *output_result_.error_); break; } - // .flyteidl.core.LiteralMap output_data = 17; + // .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + case kDeprecatedOutputData: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_result_.deprecated_output_data_); + break; + } + // .flyteidl.core.OutputData output_data = 22; case kOutputData: { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -7008,8 +7445,12 @@ void TaskExecutionEvent::MergeFrom(const TaskExecutionEvent& from) { set_input_uri(from.input_uri()); break; } + case kDeprecatedInputData: { + mutable_deprecated_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_input_data()); + break; + } case kInputData: { - mutable_input_data()->::flyteidl::core::LiteralMap::MergeFrom(from.input_data()); + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); break; } case INPUT_VALUE_NOT_SET: { @@ -7025,8 +7466,12 @@ void TaskExecutionEvent::MergeFrom(const TaskExecutionEvent& from) { mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error()); break; } + case kDeprecatedOutputData: { + mutable_deprecated_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_output_data()); + break; + } case kOutputData: { - mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); break; } case OUTPUT_RESULT_NOT_SET: { diff --git a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h index bca21d5c6d..533042c9f2 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h @@ -173,7 +173,8 @@ class WorkflowExecutionEvent final : enum OutputResultCase { kOutputUri = 5, kError = 6, - kOutputData = 7, + kDeprecatedOutputData = 7, + kOutputData = 8, OUTPUT_RESULT_NOT_SET = 0, }; @@ -304,14 +305,23 @@ class WorkflowExecutionEvent final : ::flyteidl::core::ExecutionError* mutable_error(); void set_allocated_error(::flyteidl::core::ExecutionError* error); - // .flyteidl.core.LiteralMap output_data = 7; + // .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_output_data() const; + PROTOBUF_DEPRECATED void clear_deprecated_output_data(); + PROTOBUF_DEPRECATED static const int kDeprecatedOutputDataFieldNumber = 7; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_output_data() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_output_data(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_output_data(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_output_data(::flyteidl::core::LiteralMap* deprecated_output_data); + + // .flyteidl.core.OutputData output_data = 8; bool has_output_data() const; void clear_output_data(); - static const int kOutputDataFieldNumber = 7; - const ::flyteidl::core::LiteralMap& output_data() const; - ::flyteidl::core::LiteralMap* release_output_data(); - ::flyteidl::core::LiteralMap* mutable_output_data(); - void set_allocated_output_data(::flyteidl::core::LiteralMap* output_data); + static const int kOutputDataFieldNumber = 8; + const ::flyteidl::core::OutputData& output_data() const; + ::flyteidl::core::OutputData* release_output_data(); + ::flyteidl::core::OutputData* mutable_output_data(); + void set_allocated_output_data(::flyteidl::core::OutputData* output_data); void clear_output_result(); OutputResultCase output_result_case() const; @@ -320,6 +330,7 @@ class WorkflowExecutionEvent final : class HasBitSetters; void set_has_output_uri(); void set_has_error(); + void set_has_deprecated_output_data(); void set_has_output_data(); inline bool has_output_result() const; @@ -334,7 +345,8 @@ class WorkflowExecutionEvent final : OutputResultUnion() {} ::google::protobuf::internal::ArenaStringPtr output_uri_; ::flyteidl::core::ExecutionError* error_; - ::flyteidl::core::LiteralMap* output_data_; + ::flyteidl::core::LiteralMap* deprecated_output_data_; + ::flyteidl::core::OutputData* output_data_; } output_result_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::uint32 _oneof_case_[1]; @@ -377,14 +389,16 @@ class NodeExecutionEvent final : enum InputValueCase { kInputUri = 5, - kInputData = 20, + kDeprecatedInputData = 20, + kInputData = 24, INPUT_VALUE_NOT_SET = 0, }; enum OutputResultCase { kOutputUri = 6, kError = 7, - kOutputData = 15, + kDeprecatedOutputData = 15, + kOutputData = 23, OUTPUT_RESULT_NOT_SET = 0, }; @@ -619,14 +633,23 @@ class NodeExecutionEvent final : ::std::string* release_input_uri(); void set_allocated_input_uri(::std::string* input_uri); - // .flyteidl.core.LiteralMap input_data = 20; + // .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_input_data() const; + PROTOBUF_DEPRECATED void clear_deprecated_input_data(); + PROTOBUF_DEPRECATED static const int kDeprecatedInputDataFieldNumber = 20; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_input_data() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_input_data(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_input_data(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_input_data(::flyteidl::core::LiteralMap* deprecated_input_data); + + // .flyteidl.core.InputData input_data = 24; bool has_input_data() const; void clear_input_data(); - static const int kInputDataFieldNumber = 20; - const ::flyteidl::core::LiteralMap& input_data() const; - ::flyteidl::core::LiteralMap* release_input_data(); - ::flyteidl::core::LiteralMap* mutable_input_data(); - void set_allocated_input_data(::flyteidl::core::LiteralMap* input_data); + static const int kInputDataFieldNumber = 24; + const ::flyteidl::core::InputData& input_data() const; + ::flyteidl::core::InputData* release_input_data(); + ::flyteidl::core::InputData* mutable_input_data(); + void set_allocated_input_data(::flyteidl::core::InputData* input_data); // string output_uri = 6; private: @@ -654,14 +677,23 @@ class NodeExecutionEvent final : ::flyteidl::core::ExecutionError* mutable_error(); void set_allocated_error(::flyteidl::core::ExecutionError* error); - // .flyteidl.core.LiteralMap output_data = 15; + // .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_output_data() const; + PROTOBUF_DEPRECATED void clear_deprecated_output_data(); + PROTOBUF_DEPRECATED static const int kDeprecatedOutputDataFieldNumber = 15; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_output_data() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_output_data(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_output_data(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_output_data(::flyteidl::core::LiteralMap* deprecated_output_data); + + // .flyteidl.core.OutputData output_data = 23; bool has_output_data() const; void clear_output_data(); - static const int kOutputDataFieldNumber = 15; - const ::flyteidl::core::LiteralMap& output_data() const; - ::flyteidl::core::LiteralMap* release_output_data(); - ::flyteidl::core::LiteralMap* mutable_output_data(); - void set_allocated_output_data(::flyteidl::core::LiteralMap* output_data); + static const int kOutputDataFieldNumber = 23; + const ::flyteidl::core::OutputData& output_data() const; + ::flyteidl::core::OutputData* release_output_data(); + ::flyteidl::core::OutputData* mutable_output_data(); + void set_allocated_output_data(::flyteidl::core::OutputData* output_data); // .flyteidl.event.WorkflowNodeMetadata workflow_node_metadata = 8; bool has_workflow_node_metadata() const; @@ -691,9 +723,11 @@ class NodeExecutionEvent final : private: class HasBitSetters; void set_has_input_uri(); + void set_has_deprecated_input_data(); void set_has_input_data(); void set_has_output_uri(); void set_has_error(); + void set_has_deprecated_output_data(); void set_has_output_data(); void set_has_workflow_node_metadata(); void set_has_task_node_metadata(); @@ -726,13 +760,15 @@ class NodeExecutionEvent final : union InputValueUnion { InputValueUnion() {} ::google::protobuf::internal::ArenaStringPtr input_uri_; - ::flyteidl::core::LiteralMap* input_data_; + ::flyteidl::core::LiteralMap* deprecated_input_data_; + ::flyteidl::core::InputData* input_data_; } input_value_; union OutputResultUnion { OutputResultUnion() {} ::google::protobuf::internal::ArenaStringPtr output_uri_; ::flyteidl::core::ExecutionError* error_; - ::flyteidl::core::LiteralMap* output_data_; + ::flyteidl::core::LiteralMap* deprecated_output_data_; + ::flyteidl::core::OutputData* output_data_; } output_result_; union TargetMetadataUnion { TargetMetadataUnion() {} @@ -1554,14 +1590,16 @@ class TaskExecutionEvent final : enum InputValueCase { kInputUri = 8, - kInputData = 19, + kDeprecatedInputData = 19, + kInputData = 23, INPUT_VALUE_NOT_SET = 0, }; enum OutputResultCase { kOutputUri = 9, kError = 10, - kOutputData = 17, + kDeprecatedOutputData = 17, + kOutputData = 22, OUTPUT_RESULT_NOT_SET = 0, }; @@ -1789,14 +1827,23 @@ class TaskExecutionEvent final : ::std::string* release_input_uri(); void set_allocated_input_uri(::std::string* input_uri); - // .flyteidl.core.LiteralMap input_data = 19; + // .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_input_data() const; + PROTOBUF_DEPRECATED void clear_deprecated_input_data(); + PROTOBUF_DEPRECATED static const int kDeprecatedInputDataFieldNumber = 19; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_input_data() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_input_data(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_input_data(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_input_data(::flyteidl::core::LiteralMap* deprecated_input_data); + + // .flyteidl.core.InputData input_data = 23; bool has_input_data() const; void clear_input_data(); - static const int kInputDataFieldNumber = 19; - const ::flyteidl::core::LiteralMap& input_data() const; - ::flyteidl::core::LiteralMap* release_input_data(); - ::flyteidl::core::LiteralMap* mutable_input_data(); - void set_allocated_input_data(::flyteidl::core::LiteralMap* input_data); + static const int kInputDataFieldNumber = 23; + const ::flyteidl::core::InputData& input_data() const; + ::flyteidl::core::InputData* release_input_data(); + ::flyteidl::core::InputData* mutable_input_data(); + void set_allocated_input_data(::flyteidl::core::InputData* input_data); // string output_uri = 9; private: @@ -1824,14 +1871,23 @@ class TaskExecutionEvent final : ::flyteidl::core::ExecutionError* mutable_error(); void set_allocated_error(::flyteidl::core::ExecutionError* error); - // .flyteidl.core.LiteralMap output_data = 17; + // .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_output_data() const; + PROTOBUF_DEPRECATED void clear_deprecated_output_data(); + PROTOBUF_DEPRECATED static const int kDeprecatedOutputDataFieldNumber = 17; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_output_data() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_output_data(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_output_data(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_output_data(::flyteidl::core::LiteralMap* deprecated_output_data); + + // .flyteidl.core.OutputData output_data = 22; bool has_output_data() const; void clear_output_data(); - static const int kOutputDataFieldNumber = 17; - const ::flyteidl::core::LiteralMap& output_data() const; - ::flyteidl::core::LiteralMap* release_output_data(); - ::flyteidl::core::LiteralMap* mutable_output_data(); - void set_allocated_output_data(::flyteidl::core::LiteralMap* output_data); + static const int kOutputDataFieldNumber = 22; + const ::flyteidl::core::OutputData& output_data() const; + ::flyteidl::core::OutputData* release_output_data(); + ::flyteidl::core::OutputData* mutable_output_data(); + void set_allocated_output_data(::flyteidl::core::OutputData* output_data); void clear_input_value(); InputValueCase input_value_case() const; @@ -1841,9 +1897,11 @@ class TaskExecutionEvent final : private: class HasBitSetters; void set_has_input_uri(); + void set_has_deprecated_input_data(); void set_has_input_data(); void set_has_output_uri(); void set_has_error(); + void set_has_deprecated_output_data(); void set_has_output_data(); inline bool has_input_value() const; @@ -1871,13 +1929,15 @@ class TaskExecutionEvent final : union InputValueUnion { InputValueUnion() {} ::google::protobuf::internal::ArenaStringPtr input_uri_; - ::flyteidl::core::LiteralMap* input_data_; + ::flyteidl::core::LiteralMap* deprecated_input_data_; + ::flyteidl::core::InputData* input_data_; } input_value_; union OutputResultUnion { OutputResultUnion() {} ::google::protobuf::internal::ArenaStringPtr output_uri_; ::flyteidl::core::ExecutionError* error_; - ::flyteidl::core::LiteralMap* output_data_; + ::flyteidl::core::LiteralMap* deprecated_output_data_; + ::flyteidl::core::OutputData* output_data_; } output_result_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::uint32 _oneof_case_[2]; @@ -2670,35 +2730,70 @@ inline ::flyteidl::core::ExecutionError* WorkflowExecutionEvent::mutable_error() return output_result_.error_; } -// .flyteidl.core.LiteralMap output_data = 7; +// .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; +inline bool WorkflowExecutionEvent::has_deprecated_output_data() const { + return output_result_case() == kDeprecatedOutputData; +} +inline void WorkflowExecutionEvent::set_has_deprecated_output_data() { + _oneof_case_[0] = kDeprecatedOutputData; +} +inline ::flyteidl::core::LiteralMap* WorkflowExecutionEvent::release_deprecated_output_data() { + // @@protoc_insertion_point(field_release:flyteidl.event.WorkflowExecutionEvent.deprecated_output_data) + if (has_deprecated_output_data()) { + clear_has_output_result(); + ::flyteidl::core::LiteralMap* temp = output_result_.deprecated_output_data_; + output_result_.deprecated_output_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::LiteralMap& WorkflowExecutionEvent::deprecated_output_data() const { + // @@protoc_insertion_point(field_get:flyteidl.event.WorkflowExecutionEvent.deprecated_output_data) + return has_deprecated_output_data() + ? *output_result_.deprecated_output_data_ + : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* WorkflowExecutionEvent::mutable_deprecated_output_data() { + if (!has_deprecated_output_data()) { + clear_output_result(); + set_has_deprecated_output_data(); + output_result_.deprecated_output_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.event.WorkflowExecutionEvent.deprecated_output_data) + return output_result_.deprecated_output_data_; +} + +// .flyteidl.core.OutputData output_data = 8; inline bool WorkflowExecutionEvent::has_output_data() const { return output_result_case() == kOutputData; } inline void WorkflowExecutionEvent::set_has_output_data() { _oneof_case_[0] = kOutputData; } -inline ::flyteidl::core::LiteralMap* WorkflowExecutionEvent::release_output_data() { +inline ::flyteidl::core::OutputData* WorkflowExecutionEvent::release_output_data() { // @@protoc_insertion_point(field_release:flyteidl.event.WorkflowExecutionEvent.output_data) if (has_output_data()) { clear_has_output_result(); - ::flyteidl::core::LiteralMap* temp = output_result_.output_data_; + ::flyteidl::core::OutputData* temp = output_result_.output_data_; output_result_.output_data_ = nullptr; return temp; } else { return nullptr; } } -inline const ::flyteidl::core::LiteralMap& WorkflowExecutionEvent::output_data() const { +inline const ::flyteidl::core::OutputData& WorkflowExecutionEvent::output_data() const { // @@protoc_insertion_point(field_get:flyteidl.event.WorkflowExecutionEvent.output_data) return has_output_data() ? *output_result_.output_data_ - : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); + : *reinterpret_cast< ::flyteidl::core::OutputData*>(&::flyteidl::core::_OutputData_default_instance_); } -inline ::flyteidl::core::LiteralMap* WorkflowExecutionEvent::mutable_output_data() { +inline ::flyteidl::core::OutputData* WorkflowExecutionEvent::mutable_output_data() { if (!has_output_data()) { clear_output_result(); set_has_output_data(); - output_result_.output_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + output_result_.output_data_ = CreateMaybeMessage< ::flyteidl::core::OutputData >( GetArenaNoVirtual()); } // @@protoc_insertion_point(field_mutable:flyteidl.event.WorkflowExecutionEvent.output_data) @@ -2968,35 +3063,70 @@ inline void NodeExecutionEvent::set_allocated_input_uri(::std::string* input_uri // @@protoc_insertion_point(field_set_allocated:flyteidl.event.NodeExecutionEvent.input_uri) } -// .flyteidl.core.LiteralMap input_data = 20; +// .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; +inline bool NodeExecutionEvent::has_deprecated_input_data() const { + return input_value_case() == kDeprecatedInputData; +} +inline void NodeExecutionEvent::set_has_deprecated_input_data() { + _oneof_case_[0] = kDeprecatedInputData; +} +inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::release_deprecated_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.event.NodeExecutionEvent.deprecated_input_data) + if (has_deprecated_input_data()) { + clear_has_input_value(); + ::flyteidl::core::LiteralMap* temp = input_value_.deprecated_input_data_; + input_value_.deprecated_input_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::LiteralMap& NodeExecutionEvent::deprecated_input_data() const { + // @@protoc_insertion_point(field_get:flyteidl.event.NodeExecutionEvent.deprecated_input_data) + return has_deprecated_input_data() + ? *input_value_.deprecated_input_data_ + : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::mutable_deprecated_input_data() { + if (!has_deprecated_input_data()) { + clear_input_value(); + set_has_deprecated_input_data(); + input_value_.deprecated_input_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.event.NodeExecutionEvent.deprecated_input_data) + return input_value_.deprecated_input_data_; +} + +// .flyteidl.core.InputData input_data = 24; inline bool NodeExecutionEvent::has_input_data() const { return input_value_case() == kInputData; } inline void NodeExecutionEvent::set_has_input_data() { _oneof_case_[0] = kInputData; } -inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::release_input_data() { +inline ::flyteidl::core::InputData* NodeExecutionEvent::release_input_data() { // @@protoc_insertion_point(field_release:flyteidl.event.NodeExecutionEvent.input_data) if (has_input_data()) { clear_has_input_value(); - ::flyteidl::core::LiteralMap* temp = input_value_.input_data_; + ::flyteidl::core::InputData* temp = input_value_.input_data_; input_value_.input_data_ = nullptr; return temp; } else { return nullptr; } } -inline const ::flyteidl::core::LiteralMap& NodeExecutionEvent::input_data() const { +inline const ::flyteidl::core::InputData& NodeExecutionEvent::input_data() const { // @@protoc_insertion_point(field_get:flyteidl.event.NodeExecutionEvent.input_data) return has_input_data() ? *input_value_.input_data_ - : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); + : *reinterpret_cast< ::flyteidl::core::InputData*>(&::flyteidl::core::_InputData_default_instance_); } -inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::mutable_input_data() { +inline ::flyteidl::core::InputData* NodeExecutionEvent::mutable_input_data() { if (!has_input_data()) { clear_input_value(); set_has_input_data(); - input_value_.input_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + input_value_.input_data_ = CreateMaybeMessage< ::flyteidl::core::InputData >( GetArenaNoVirtual()); } // @@protoc_insertion_point(field_mutable:flyteidl.event.NodeExecutionEvent.input_data) @@ -3130,35 +3260,70 @@ inline ::flyteidl::core::ExecutionError* NodeExecutionEvent::mutable_error() { return output_result_.error_; } -// .flyteidl.core.LiteralMap output_data = 15; +// .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; +inline bool NodeExecutionEvent::has_deprecated_output_data() const { + return output_result_case() == kDeprecatedOutputData; +} +inline void NodeExecutionEvent::set_has_deprecated_output_data() { + _oneof_case_[1] = kDeprecatedOutputData; +} +inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::release_deprecated_output_data() { + // @@protoc_insertion_point(field_release:flyteidl.event.NodeExecutionEvent.deprecated_output_data) + if (has_deprecated_output_data()) { + clear_has_output_result(); + ::flyteidl::core::LiteralMap* temp = output_result_.deprecated_output_data_; + output_result_.deprecated_output_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::LiteralMap& NodeExecutionEvent::deprecated_output_data() const { + // @@protoc_insertion_point(field_get:flyteidl.event.NodeExecutionEvent.deprecated_output_data) + return has_deprecated_output_data() + ? *output_result_.deprecated_output_data_ + : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::mutable_deprecated_output_data() { + if (!has_deprecated_output_data()) { + clear_output_result(); + set_has_deprecated_output_data(); + output_result_.deprecated_output_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.event.NodeExecutionEvent.deprecated_output_data) + return output_result_.deprecated_output_data_; +} + +// .flyteidl.core.OutputData output_data = 23; inline bool NodeExecutionEvent::has_output_data() const { return output_result_case() == kOutputData; } inline void NodeExecutionEvent::set_has_output_data() { _oneof_case_[1] = kOutputData; } -inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::release_output_data() { +inline ::flyteidl::core::OutputData* NodeExecutionEvent::release_output_data() { // @@protoc_insertion_point(field_release:flyteidl.event.NodeExecutionEvent.output_data) if (has_output_data()) { clear_has_output_result(); - ::flyteidl::core::LiteralMap* temp = output_result_.output_data_; + ::flyteidl::core::OutputData* temp = output_result_.output_data_; output_result_.output_data_ = nullptr; return temp; } else { return nullptr; } } -inline const ::flyteidl::core::LiteralMap& NodeExecutionEvent::output_data() const { +inline const ::flyteidl::core::OutputData& NodeExecutionEvent::output_data() const { // @@protoc_insertion_point(field_get:flyteidl.event.NodeExecutionEvent.output_data) return has_output_data() ? *output_result_.output_data_ - : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); + : *reinterpret_cast< ::flyteidl::core::OutputData*>(&::flyteidl::core::_OutputData_default_instance_); } -inline ::flyteidl::core::LiteralMap* NodeExecutionEvent::mutable_output_data() { +inline ::flyteidl::core::OutputData* NodeExecutionEvent::mutable_output_data() { if (!has_output_data()) { clear_output_result(); set_has_output_data(); - output_result_.output_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + output_result_.output_data_ = CreateMaybeMessage< ::flyteidl::core::OutputData >( GetArenaNoVirtual()); } // @@protoc_insertion_point(field_mutable:flyteidl.event.NodeExecutionEvent.output_data) @@ -4616,35 +4781,70 @@ inline void TaskExecutionEvent::set_allocated_input_uri(::std::string* input_uri // @@protoc_insertion_point(field_set_allocated:flyteidl.event.TaskExecutionEvent.input_uri) } -// .flyteidl.core.LiteralMap input_data = 19; +// .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; +inline bool TaskExecutionEvent::has_deprecated_input_data() const { + return input_value_case() == kDeprecatedInputData; +} +inline void TaskExecutionEvent::set_has_deprecated_input_data() { + _oneof_case_[0] = kDeprecatedInputData; +} +inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::release_deprecated_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.event.TaskExecutionEvent.deprecated_input_data) + if (has_deprecated_input_data()) { + clear_has_input_value(); + ::flyteidl::core::LiteralMap* temp = input_value_.deprecated_input_data_; + input_value_.deprecated_input_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::LiteralMap& TaskExecutionEvent::deprecated_input_data() const { + // @@protoc_insertion_point(field_get:flyteidl.event.TaskExecutionEvent.deprecated_input_data) + return has_deprecated_input_data() + ? *input_value_.deprecated_input_data_ + : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::mutable_deprecated_input_data() { + if (!has_deprecated_input_data()) { + clear_input_value(); + set_has_deprecated_input_data(); + input_value_.deprecated_input_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.event.TaskExecutionEvent.deprecated_input_data) + return input_value_.deprecated_input_data_; +} + +// .flyteidl.core.InputData input_data = 23; inline bool TaskExecutionEvent::has_input_data() const { return input_value_case() == kInputData; } inline void TaskExecutionEvent::set_has_input_data() { _oneof_case_[0] = kInputData; } -inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::release_input_data() { +inline ::flyteidl::core::InputData* TaskExecutionEvent::release_input_data() { // @@protoc_insertion_point(field_release:flyteidl.event.TaskExecutionEvent.input_data) if (has_input_data()) { clear_has_input_value(); - ::flyteidl::core::LiteralMap* temp = input_value_.input_data_; + ::flyteidl::core::InputData* temp = input_value_.input_data_; input_value_.input_data_ = nullptr; return temp; } else { return nullptr; } } -inline const ::flyteidl::core::LiteralMap& TaskExecutionEvent::input_data() const { +inline const ::flyteidl::core::InputData& TaskExecutionEvent::input_data() const { // @@protoc_insertion_point(field_get:flyteidl.event.TaskExecutionEvent.input_data) return has_input_data() ? *input_value_.input_data_ - : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); + : *reinterpret_cast< ::flyteidl::core::InputData*>(&::flyteidl::core::_InputData_default_instance_); } -inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::mutable_input_data() { +inline ::flyteidl::core::InputData* TaskExecutionEvent::mutable_input_data() { if (!has_input_data()) { clear_input_value(); set_has_input_data(); - input_value_.input_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + input_value_.input_data_ = CreateMaybeMessage< ::flyteidl::core::InputData >( GetArenaNoVirtual()); } // @@protoc_insertion_point(field_mutable:flyteidl.event.TaskExecutionEvent.input_data) @@ -4778,35 +4978,70 @@ inline ::flyteidl::core::ExecutionError* TaskExecutionEvent::mutable_error() { return output_result_.error_; } -// .flyteidl.core.LiteralMap output_data = 17; +// .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; +inline bool TaskExecutionEvent::has_deprecated_output_data() const { + return output_result_case() == kDeprecatedOutputData; +} +inline void TaskExecutionEvent::set_has_deprecated_output_data() { + _oneof_case_[1] = kDeprecatedOutputData; +} +inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::release_deprecated_output_data() { + // @@protoc_insertion_point(field_release:flyteidl.event.TaskExecutionEvent.deprecated_output_data) + if (has_deprecated_output_data()) { + clear_has_output_result(); + ::flyteidl::core::LiteralMap* temp = output_result_.deprecated_output_data_; + output_result_.deprecated_output_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::LiteralMap& TaskExecutionEvent::deprecated_output_data() const { + // @@protoc_insertion_point(field_get:flyteidl.event.TaskExecutionEvent.deprecated_output_data) + return has_deprecated_output_data() + ? *output_result_.deprecated_output_data_ + : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::mutable_deprecated_output_data() { + if (!has_deprecated_output_data()) { + clear_output_result(); + set_has_deprecated_output_data(); + output_result_.deprecated_output_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.event.TaskExecutionEvent.deprecated_output_data) + return output_result_.deprecated_output_data_; +} + +// .flyteidl.core.OutputData output_data = 22; inline bool TaskExecutionEvent::has_output_data() const { return output_result_case() == kOutputData; } inline void TaskExecutionEvent::set_has_output_data() { _oneof_case_[1] = kOutputData; } -inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::release_output_data() { +inline ::flyteidl::core::OutputData* TaskExecutionEvent::release_output_data() { // @@protoc_insertion_point(field_release:flyteidl.event.TaskExecutionEvent.output_data) if (has_output_data()) { clear_has_output_result(); - ::flyteidl::core::LiteralMap* temp = output_result_.output_data_; + ::flyteidl::core::OutputData* temp = output_result_.output_data_; output_result_.output_data_ = nullptr; return temp; } else { return nullptr; } } -inline const ::flyteidl::core::LiteralMap& TaskExecutionEvent::output_data() const { +inline const ::flyteidl::core::OutputData& TaskExecutionEvent::output_data() const { // @@protoc_insertion_point(field_get:flyteidl.event.TaskExecutionEvent.output_data) return has_output_data() ? *output_result_.output_data_ - : *reinterpret_cast< ::flyteidl::core::LiteralMap*>(&::flyteidl::core::_LiteralMap_default_instance_); + : *reinterpret_cast< ::flyteidl::core::OutputData*>(&::flyteidl::core::_OutputData_default_instance_); } -inline ::flyteidl::core::LiteralMap* TaskExecutionEvent::mutable_output_data() { +inline ::flyteidl::core::OutputData* TaskExecutionEvent::mutable_output_data() { if (!has_output_data()) { clear_output_result(); set_has_output_data(); - output_result_.output_data_ = CreateMaybeMessage< ::flyteidl::core::LiteralMap >( + output_result_.output_data_ = CreateMaybeMessage< ::flyteidl::core::OutputData >( GetArenaNoVirtual()); } // @@protoc_insertion_point(field_mutable:flyteidl.event.TaskExecutionEvent.output_data) diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.cc index bf07425eb0..4476c0fe61 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.cc @@ -17,6 +17,8 @@ #include extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fservice_2fdataproxy_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_PreSignedURLs_flyteidl_2fservice_2fdataproxy_2eproto; extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fduration_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Duration_google_2fprotobuf_2fduration_2eproto; @@ -62,6 +64,8 @@ class GetDataResponseDefaultTypeInternal { const ::flyteidl::core::LiteralMap* literal_map_; const ::flyteidl::service::PreSignedURLs* pre_signed_urls_; const ::flyteidl::core::Literal* literal_; + const ::flyteidl::core::InputData* input_data_; + const ::flyteidl::core::OutputData* output_data_; } _GetDataResponse_default_instance_; } // namespace service } // namespace flyteidl @@ -197,10 +201,12 @@ static void InitDefaultsGetDataResponse_flyteidl_2fservice_2fdataproxy_2eproto() ::flyteidl::service::GetDataResponse::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<2> scc_info_GetDataResponse_flyteidl_2fservice_2fdataproxy_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsGetDataResponse_flyteidl_2fservice_2fdataproxy_2eproto}, { +::google::protobuf::internal::SCCInfo<4> scc_info_GetDataResponse_flyteidl_2fservice_2fdataproxy_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsGetDataResponse_flyteidl_2fservice_2fdataproxy_2eproto}, { &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, - &scc_info_PreSignedURLs_flyteidl_2fservice_2fdataproxy_2eproto.base,}}; + &scc_info_PreSignedURLs_flyteidl_2fservice_2fdataproxy_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; void InitDefaults_flyteidl_2fservice_2fdataproxy_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_CreateUploadLocationResponse_flyteidl_2fservice_2fdataproxy_2eproto.base); @@ -290,6 +296,8 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fservice_2fdataproxy_2epr offsetof(::flyteidl::service::GetDataResponseDefaultTypeInternal, literal_map_), offsetof(::flyteidl::service::GetDataResponseDefaultTypeInternal, pre_signed_urls_), offsetof(::flyteidl::service::GetDataResponseDefaultTypeInternal, literal_), + offsetof(::flyteidl::service::GetDataResponseDefaultTypeInternal, input_data_), + offsetof(::flyteidl::service::GetDataResponseDefaultTypeInternal, output_data_), PROTOBUF_FIELD_OFFSET(::flyteidl::service::GetDataResponse, data_), }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -353,35 +361,38 @@ const char descriptor_table_protodef_flyteidl_2fservice_2fdataproxy_2eproto[] = "ignedURLs\"S\n\rPreSignedURLs\022\022\n\nsigned_url" "\030\001 \003(\t\022.\n\nexpires_at\030\002 \001(\0132\032.google.prot" "obuf.Timestamp\"#\n\016GetDataRequest\022\021\n\tflyt" - "e_url\030\001 \001(\t\"\262\001\n\017GetDataResponse\0220\n\013liter" + "e_url\030\001 \001(\t\"\224\002\n\017GetDataResponse\0220\n\013liter" "al_map\030\001 \001(\0132\031.flyteidl.core.LiteralMapH" "\000\022:\n\017pre_signed_urls\030\002 \001(\0132\037.flyteidl.se" "rvice.PreSignedURLsH\000\022)\n\007literal\030\003 \001(\0132\026" - ".flyteidl.core.LiteralH\000B\006\n\004data*C\n\014Arti" - "factType\022\033\n\027ARTIFACT_TYPE_UNDEFINED\020\000\022\026\n" - "\022ARTIFACT_TYPE_DECK\020\0012\342\004\n\020DataProxyServi" - "ce\022\240\001\n\024CreateUploadLocation\022-.flyteidl.s" - "ervice.CreateUploadLocationRequest\032..fly" - "teidl.service.CreateUploadLocationRespon" - "se\")\202\323\344\223\002#\"\036/api/v1/dataproxy/artifact_u" - "rn:\001*\022\246\001\n\026CreateDownloadLocation\022/.flyte" - "idl.service.CreateDownloadLocationReques" - "t\0320.flyteidl.service.CreateDownloadLocat" - "ionResponse\")\210\002\001\202\323\344\223\002 \022\036/api/v1/dataprox" - "y/artifact_urn\022\233\001\n\022CreateDownloadLink\022+." - "flyteidl.service.CreateDownloadLinkReque" - "st\032,.flyteidl.service.CreateDownloadLink" - "Response\"*\202\323\344\223\002$\"\037/api/v1/dataproxy/arti" - "fact_link:\001*\022d\n\007GetData\022 .flyteidl.servi" - "ce.GetDataRequest\032!.flyteidl.service.Get" - "DataResponse\"\024\202\323\344\223\002\016\022\014/api/v1/dataB\?Z=gi" - "thub.com/flyteorg/flyte/flyteidl/gen/pb-" - "go/flyteidl/serviceb\006proto3" + ".flyteidl.core.LiteralH\000\022.\n\ninput_data\030\004" + " \001(\0132\030.flyteidl.core.InputDataH\000\0220\n\013outp" + "ut_data\030\005 \001(\0132\031.flyteidl.core.OutputData" + "H\000B\006\n\004data*C\n\014ArtifactType\022\033\n\027ARTIFACT_T" + "YPE_UNDEFINED\020\000\022\026\n\022ARTIFACT_TYPE_DECK\020\0012" + "\342\004\n\020DataProxyService\022\240\001\n\024CreateUploadLoc" + "ation\022-.flyteidl.service.CreateUploadLoc" + "ationRequest\032..flyteidl.service.CreateUp" + "loadLocationResponse\")\202\323\344\223\002#\"\036/api/v1/da" + "taproxy/artifact_urn:\001*\022\246\001\n\026CreateDownlo" + "adLocation\022/.flyteidl.service.CreateDown" + "loadLocationRequest\0320.flyteidl.service.C" + "reateDownloadLocationResponse\")\210\002\001\202\323\344\223\002 " + "\022\036/api/v1/dataproxy/artifact_urn\022\233\001\n\022Cre" + "ateDownloadLink\022+.flyteidl.service.Creat" + "eDownloadLinkRequest\032,.flyteidl.service." + "CreateDownloadLinkResponse\"*\202\323\344\223\002$\"\037/api" + "/v1/dataproxy/artifact_link:\001*\022d\n\007GetDat" + "a\022 .flyteidl.service.GetDataRequest\032!.fl" + "yteidl.service.GetDataResponse\"\024\202\323\344\223\002\016\022\014" + "/api/v1/dataB\?Z=github.com/flyteorg/flyt" + "e/flyteidl/gen/pb-go/flyteidl/serviceb\006p" + "roto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fservice_2fdataproxy_2eproto = { false, InitDefaults_flyteidl_2fservice_2fdataproxy_2eproto, descriptor_table_protodef_flyteidl_2fservice_2fdataproxy_2eproto, - "flyteidl/service/dataproxy.proto", &assign_descriptors_table_flyteidl_2fservice_2fdataproxy_2eproto, 2147, + "flyteidl/service/dataproxy.proto", &assign_descriptors_table_flyteidl_2fservice_2fdataproxy_2eproto, 2245, }; void AddDescriptors_flyteidl_2fservice_2fdataproxy_2eproto() { @@ -3811,12 +3822,18 @@ void GetDataResponse::InitAsDefaultInstance() { ::flyteidl::service::PreSignedURLs::internal_default_instance()); ::flyteidl::service::_GetDataResponse_default_instance_.literal_ = const_cast< ::flyteidl::core::Literal*>( ::flyteidl::core::Literal::internal_default_instance()); + ::flyteidl::service::_GetDataResponse_default_instance_.input_data_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); + ::flyteidl::service::_GetDataResponse_default_instance_.output_data_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); } class GetDataResponse::HasBitSetters { public: static const ::flyteidl::core::LiteralMap& literal_map(const GetDataResponse* msg); static const ::flyteidl::service::PreSignedURLs& pre_signed_urls(const GetDataResponse* msg); static const ::flyteidl::core::Literal& literal(const GetDataResponse* msg); + static const ::flyteidl::core::InputData& input_data(const GetDataResponse* msg); + static const ::flyteidl::core::OutputData& output_data(const GetDataResponse* msg); }; const ::flyteidl::core::LiteralMap& @@ -3831,6 +3848,14 @@ const ::flyteidl::core::Literal& GetDataResponse::HasBitSetters::literal(const GetDataResponse* msg) { return *msg->data_.literal_; } +const ::flyteidl::core::InputData& +GetDataResponse::HasBitSetters::input_data(const GetDataResponse* msg) { + return *msg->data_.input_data_; +} +const ::flyteidl::core::OutputData& +GetDataResponse::HasBitSetters::output_data(const GetDataResponse* msg) { + return *msg->data_.output_data_; +} void GetDataResponse::set_allocated_literal_map(::flyteidl::core::LiteralMap* literal_map) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_data(); @@ -3885,10 +3910,52 @@ void GetDataResponse::clear_literal() { clear_has_data(); } } +void GetDataResponse::set_allocated_input_data(::flyteidl::core::InputData* input_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_data(); + if (input_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + input_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, input_data, submessage_arena); + } + set_has_input_data(); + data_.input_data_ = input_data; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.service.GetDataResponse.input_data) +} +void GetDataResponse::clear_input_data() { + if (has_input_data()) { + delete data_.input_data_; + clear_has_data(); + } +} +void GetDataResponse::set_allocated_output_data(::flyteidl::core::OutputData* output_data) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_data(); + if (output_data) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + output_data = ::google::protobuf::internal::GetOwnedMessage( + message_arena, output_data, submessage_arena); + } + set_has_output_data(); + data_.output_data_ = output_data; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.service.GetDataResponse.output_data) +} +void GetDataResponse::clear_output_data() { + if (has_output_data()) { + delete data_.output_data_; + clear_has_data(); + } +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int GetDataResponse::kLiteralMapFieldNumber; const int GetDataResponse::kPreSignedUrlsFieldNumber; const int GetDataResponse::kLiteralFieldNumber; +const int GetDataResponse::kInputDataFieldNumber; +const int GetDataResponse::kOutputDataFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 GetDataResponse::GetDataResponse() @@ -3914,6 +3981,14 @@ GetDataResponse::GetDataResponse(const GetDataResponse& from) mutable_literal()->::flyteidl::core::Literal::MergeFrom(from.literal()); break; } + case kInputData: { + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); + break; + } + case kOutputData: { + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); + break; + } case DATA_NOT_SET: { break; } @@ -3962,6 +4037,14 @@ void GetDataResponse::clear_data() { delete data_.literal_; break; } + case kInputData: { + delete data_.input_data_; + break; + } + case kOutputData: { + delete data_.output_data_; + break; + } case DATA_NOT_SET: { break; } @@ -4032,6 +4115,32 @@ const char* GetDataResponse::_InternalParse(const char* begin, const char* end, {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.InputData input_data = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_input_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.OutputData output_data = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_output_data(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -4095,6 +4204,28 @@ bool GetDataResponse::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData input_data = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_input_data())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.OutputData output_data = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_output_data())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -4140,6 +4271,18 @@ void GetDataResponse::SerializeWithCachedSizes( 3, HasBitSetters::literal(this), output); } + // .flyteidl.core.InputData input_data = 4; + if (has_input_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 4, HasBitSetters::input_data(this), output); + } + + // .flyteidl.core.OutputData output_data = 5; + if (has_output_data()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, HasBitSetters::output_data(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -4174,6 +4317,20 @@ ::google::protobuf::uint8* GetDataResponse::InternalSerializeWithCachedSizesToAr 3, HasBitSetters::literal(this), target); } + // .flyteidl.core.InputData input_data = 4; + if (has_input_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 4, HasBitSetters::input_data(this), target); + } + + // .flyteidl.core.OutputData output_data = 5; + if (has_output_data()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 5, HasBitSetters::output_data(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -4217,6 +4374,20 @@ size_t GetDataResponse::ByteSizeLong() const { *data_.literal_); break; } + // .flyteidl.core.InputData input_data = 4; + case kInputData: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *data_.input_data_); + break; + } + // .flyteidl.core.OutputData output_data = 5; + case kOutputData: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *data_.output_data_); + break; + } case DATA_NOT_SET: { break; } @@ -4261,6 +4432,14 @@ void GetDataResponse::MergeFrom(const GetDataResponse& from) { mutable_literal()->::flyteidl::core::Literal::MergeFrom(from.literal()); break; } + case kInputData: { + mutable_input_data()->::flyteidl::core::InputData::MergeFrom(from.input_data()); + break; + } + case kOutputData: { + mutable_output_data()->::flyteidl::core::OutputData::MergeFrom(from.output_data()); + break; + } case DATA_NOT_SET: { break; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.h b/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.h index 3332d747b5..41586ed396 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/service/dataproxy.pb.h @@ -1309,6 +1309,8 @@ class GetDataResponse final : kLiteralMap = 1, kPreSignedUrls = 2, kLiteral = 3, + kInputData = 4, + kOutputData = 5, DATA_NOT_SET = 0, }; @@ -1402,6 +1404,24 @@ class GetDataResponse final : ::flyteidl::core::Literal* mutable_literal(); void set_allocated_literal(::flyteidl::core::Literal* literal); + // .flyteidl.core.InputData input_data = 4; + bool has_input_data() const; + void clear_input_data(); + static const int kInputDataFieldNumber = 4; + const ::flyteidl::core::InputData& input_data() const; + ::flyteidl::core::InputData* release_input_data(); + ::flyteidl::core::InputData* mutable_input_data(); + void set_allocated_input_data(::flyteidl::core::InputData* input_data); + + // .flyteidl.core.OutputData output_data = 5; + bool has_output_data() const; + void clear_output_data(); + static const int kOutputDataFieldNumber = 5; + const ::flyteidl::core::OutputData& output_data() const; + ::flyteidl::core::OutputData* release_output_data(); + ::flyteidl::core::OutputData* mutable_output_data(); + void set_allocated_output_data(::flyteidl::core::OutputData* output_data); + void clear_data(); DataCase data_case() const; // @@protoc_insertion_point(class_scope:flyteidl.service.GetDataResponse) @@ -1410,6 +1430,8 @@ class GetDataResponse final : void set_has_literal_map(); void set_has_pre_signed_urls(); void set_has_literal(); + void set_has_input_data(); + void set_has_output_data(); inline bool has_data() const; inline void clear_has_data(); @@ -1420,6 +1442,8 @@ class GetDataResponse final : ::flyteidl::core::LiteralMap* literal_map_; ::flyteidl::service::PreSignedURLs* pre_signed_urls_; ::flyteidl::core::Literal* literal_; + ::flyteidl::core::InputData* input_data_; + ::flyteidl::core::OutputData* output_data_; } data_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::uint32 _oneof_case_[1]; @@ -2679,6 +2703,76 @@ inline ::flyteidl::core::Literal* GetDataResponse::mutable_literal() { return data_.literal_; } +// .flyteidl.core.InputData input_data = 4; +inline bool GetDataResponse::has_input_data() const { + return data_case() == kInputData; +} +inline void GetDataResponse::set_has_input_data() { + _oneof_case_[0] = kInputData; +} +inline ::flyteidl::core::InputData* GetDataResponse::release_input_data() { + // @@protoc_insertion_point(field_release:flyteidl.service.GetDataResponse.input_data) + if (has_input_data()) { + clear_has_data(); + ::flyteidl::core::InputData* temp = data_.input_data_; + data_.input_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::InputData& GetDataResponse::input_data() const { + // @@protoc_insertion_point(field_get:flyteidl.service.GetDataResponse.input_data) + return has_input_data() + ? *data_.input_data_ + : *reinterpret_cast< ::flyteidl::core::InputData*>(&::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* GetDataResponse::mutable_input_data() { + if (!has_input_data()) { + clear_data(); + set_has_input_data(); + data_.input_data_ = CreateMaybeMessage< ::flyteidl::core::InputData >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.service.GetDataResponse.input_data) + return data_.input_data_; +} + +// .flyteidl.core.OutputData output_data = 5; +inline bool GetDataResponse::has_output_data() const { + return data_case() == kOutputData; +} +inline void GetDataResponse::set_has_output_data() { + _oneof_case_[0] = kOutputData; +} +inline ::flyteidl::core::OutputData* GetDataResponse::release_output_data() { + // @@protoc_insertion_point(field_release:flyteidl.service.GetDataResponse.output_data) + if (has_output_data()) { + clear_has_data(); + ::flyteidl::core::OutputData* temp = data_.output_data_; + data_.output_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::OutputData& GetDataResponse::output_data() const { + // @@protoc_insertion_point(field_get:flyteidl.service.GetDataResponse.output_data) + return has_output_data() + ? *data_.output_data_ + : *reinterpret_cast< ::flyteidl::core::OutputData*>(&::flyteidl::core::_OutputData_default_instance_); +} +inline ::flyteidl::core::OutputData* GetDataResponse::mutable_output_data() { + if (!has_output_data()) { + clear_data(); + set_has_output_data(); + data_.output_data_ = CreateMaybeMessage< ::flyteidl::core::OutputData >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.service.GetDataResponse.output_data) + return data_.output_data_; +} + inline bool GetDataResponse::has_data() const { return data_case() != DATA_NOT_SET; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.cc index 5dee118038..a709975d7d 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.cc @@ -16,6 +16,8 @@ // @@protoc_insertion_point(includes) #include +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2ftasks_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_TaskTemplate_flyteidl_2fcore_2ftasks_2eproto; namespace flyteidl { @@ -57,10 +59,11 @@ static void InitDefaultsTaskCreateRequest_flyteidl_2fservice_2fexternal_5fplugin ::flyteidl::service::TaskCreateRequest::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<2> scc_info_TaskCreateRequest_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsTaskCreateRequest_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto}, { +::google::protobuf::internal::SCCInfo<3> scc_info_TaskCreateRequest_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsTaskCreateRequest_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto}, { &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, - &scc_info_TaskTemplate_flyteidl_2fcore_2ftasks_2eproto.base,}}; + &scc_info_TaskTemplate_flyteidl_2fcore_2ftasks_2eproto.base, + &scc_info_InputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; static void InitDefaultsTaskCreateResponse_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -101,9 +104,10 @@ static void InitDefaultsTaskGetResponse_flyteidl_2fservice_2fexternal_5fplugin_5 ::flyteidl::service::TaskGetResponse::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<1> scc_info_TaskGetResponse_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsTaskGetResponse_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto}, { - &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}}; +::google::protobuf::internal::SCCInfo<2> scc_info_TaskGetResponse_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsTaskGetResponse_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto}, { + &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base,}}; static void InitDefaultsTaskDeleteRequest_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -152,9 +156,10 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fservice_2fexternal_5fplu ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskCreateRequest, inputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskCreateRequest, deprecated_inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskCreateRequest, template__), PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskCreateRequest, output_prefix_), + PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskCreateRequest, inputs_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskCreateResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -174,6 +179,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fservice_2fexternal_5fplu ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskGetResponse, state_), + PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskGetResponse, deprecated_outputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskGetResponse, outputs_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::service::TaskDeleteRequest, _internal_metadata_), @@ -190,11 +196,11 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fservice_2fexternal_5fplu }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::service::TaskCreateRequest)}, - { 8, -1, sizeof(::flyteidl::service::TaskCreateResponse)}, - { 14, -1, sizeof(::flyteidl::service::TaskGetRequest)}, - { 21, -1, sizeof(::flyteidl::service::TaskGetResponse)}, - { 28, -1, sizeof(::flyteidl::service::TaskDeleteRequest)}, - { 35, -1, sizeof(::flyteidl::service::TaskDeleteResponse)}, + { 9, -1, sizeof(::flyteidl::service::TaskCreateResponse)}, + { 15, -1, sizeof(::flyteidl::service::TaskGetRequest)}, + { 22, -1, sizeof(::flyteidl::service::TaskGetResponse)}, + { 30, -1, sizeof(::flyteidl::service::TaskDeleteRequest)}, + { 37, -1, sizeof(::flyteidl::service::TaskDeleteResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -216,45 +222,46 @@ const char descriptor_table_protodef_flyteidl_2fservice_2fexternal_5fplugin_5fse "\n.flyteidl/service/external_plugin_servi" "ce.proto\022\020flyteidl.service\032\034flyteidl/cor" "e/literals.proto\032\031flyteidl/core/tasks.pr" - "oto\032\035flyteidl/core/interface.proto\"\210\001\n\021T" - "askCreateRequest\022)\n\006inputs\030\001 \001(\0132\031.flyte" - "idl.core.LiteralMap\022-\n\010template\030\002 \001(\0132\033." - "flyteidl.core.TaskTemplate\022\025\n\routput_pre" - "fix\030\003 \001(\t:\002\030\001\"(\n\022TaskCreateResponse\022\016\n\006j" - "ob_id\030\001 \001(\t:\002\030\001\"7\n\016TaskGetRequest\022\021\n\ttas" - "k_type\030\001 \001(\t\022\016\n\006job_id\030\002 \001(\t:\002\030\001\"i\n\017Task" - "GetResponse\022&\n\005state\030\001 \001(\0162\027.flyteidl.se" - "rvice.State\022*\n\007outputs\030\002 \001(\0132\031.flyteidl." - "core.LiteralMap:\002\030\001\":\n\021TaskDeleteRequest" - "\022\021\n\ttask_type\030\001 \001(\t\022\016\n\006job_id\030\002 \001(\t:\002\030\001\"" - "\030\n\022TaskDeleteResponse:\002\030\001*b\n\005State\022\025\n\021RE" - "TRYABLE_FAILURE\020\000\022\025\n\021PERMANENT_FAILURE\020\001" - "\022\013\n\007PENDING\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDED\020" - "\004\032\002\030\0012\250\002\n\025ExternalPluginService\022\\\n\nCreat" - "eTask\022#.flyteidl.service.TaskCreateReque" - "st\032$.flyteidl.service.TaskCreateResponse" - "\"\003\210\002\001\022S\n\007GetTask\022 .flyteidl.service.Task" - "GetRequest\032!.flyteidl.service.TaskGetRes" - "ponse\"\003\210\002\001\022\\\n\nDeleteTask\022#.flyteidl.serv" - "ice.TaskDeleteRequest\032$.flyteidl.service" - ".TaskDeleteResponse\"\003\210\002\001B\?Z=github.com/f" - "lyteorg/flyte/flyteidl/gen/pb-go/flyteid" - "l/serviceb\006proto3" + "oto\"\301\001\n\021TaskCreateRequest\0228\n\021deprecated_" + "inputs\030\001 \001(\0132\031.flyteidl.core.LiteralMapB" + "\002\030\001\022-\n\010template\030\002 \001(\0132\033.flyteidl.core.Ta" + "skTemplate\022\025\n\routput_prefix\030\003 \001(\t\022(\n\006inp" + "uts\030\004 \001(\0132\030.flyteidl.core.InputData:\002\030\001\"" + "(\n\022TaskCreateResponse\022\016\n\006job_id\030\001 \001(\t:\002\030" + "\001\"7\n\016TaskGetRequest\022\021\n\ttask_type\030\001 \001(\t\022\016" + "\n\006job_id\030\002 \001(\t:\002\030\001\"\240\001\n\017TaskGetResponse\022&" + "\n\005state\030\001 \001(\0162\027.flyteidl.service.State\0225" + "\n\022deprecated_outputs\030\002 \001(\0132\031.flyteidl.co" + "re.LiteralMap\022*\n\007outputs\030\003 \001(\0132\031.flyteid" + "l.core.OutputData:\002\030\001\":\n\021TaskDeleteReque" + "st\022\021\n\ttask_type\030\001 \001(\t\022\016\n\006job_id\030\002 \001(\t:\002\030" + "\001\"\030\n\022TaskDeleteResponse:\002\030\001*b\n\005State\022\025\n\021" + "RETRYABLE_FAILURE\020\000\022\025\n\021PERMANENT_FAILURE" + "\020\001\022\013\n\007PENDING\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDE" + "D\020\004\032\002\030\0012\250\002\n\025ExternalPluginService\022\\\n\nCre" + "ateTask\022#.flyteidl.service.TaskCreateReq" + "uest\032$.flyteidl.service.TaskCreateRespon" + "se\"\003\210\002\001\022S\n\007GetTask\022 .flyteidl.service.Ta" + "skGetRequest\032!.flyteidl.service.TaskGetR" + "esponse\"\003\210\002\001\022\\\n\nDeleteTask\022#.flyteidl.se" + "rvice.TaskDeleteRequest\032$.flyteidl.servi" + "ce.TaskDeleteResponse\"\003\210\002\001B\?Z=github.com" + "/flyteorg/flyte/flyteidl/gen/pb-go/flyte" + "idl/serviceb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto = { false, InitDefaults_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto, descriptor_table_protodef_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto, - "flyteidl/service/external_plugin_service.proto", &assign_descriptors_table_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto, 1057, + "flyteidl/service/external_plugin_service.proto", &assign_descriptors_table_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto, 1139, }; void AddDescriptors_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto() { - static constexpr ::google::protobuf::internal::InitFunc deps[3] = + static constexpr ::google::protobuf::internal::InitFunc deps[2] = { ::AddDescriptors_flyteidl_2fcore_2fliterals_2eproto, ::AddDescriptors_flyteidl_2fcore_2ftasks_2eproto, - ::AddDescriptors_flyteidl_2fcore_2finterface_2eproto, }; - ::google::protobuf::internal::AddDescriptors(&descriptor_table_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto, deps, 3); + ::google::protobuf::internal::AddDescriptors(&descriptor_table_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto, deps, 2); } // Force running AddDescriptors() at dynamic initialization time. @@ -282,30 +289,37 @@ bool State_IsValid(int value) { // =================================================================== void TaskCreateRequest::InitAsDefaultInstance() { - ::flyteidl::service::_TaskCreateRequest_default_instance_._instance.get_mutable()->inputs_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::service::_TaskCreateRequest_default_instance_._instance.get_mutable()->deprecated_inputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); ::flyteidl::service::_TaskCreateRequest_default_instance_._instance.get_mutable()->template__ = const_cast< ::flyteidl::core::TaskTemplate*>( ::flyteidl::core::TaskTemplate::internal_default_instance()); + ::flyteidl::service::_TaskCreateRequest_default_instance_._instance.get_mutable()->inputs_ = const_cast< ::flyteidl::core::InputData*>( + ::flyteidl::core::InputData::internal_default_instance()); } class TaskCreateRequest::HasBitSetters { public: - static const ::flyteidl::core::LiteralMap& inputs(const TaskCreateRequest* msg); + static const ::flyteidl::core::LiteralMap& deprecated_inputs(const TaskCreateRequest* msg); static const ::flyteidl::core::TaskTemplate& template_(const TaskCreateRequest* msg); + static const ::flyteidl::core::InputData& inputs(const TaskCreateRequest* msg); }; const ::flyteidl::core::LiteralMap& -TaskCreateRequest::HasBitSetters::inputs(const TaskCreateRequest* msg) { - return *msg->inputs_; +TaskCreateRequest::HasBitSetters::deprecated_inputs(const TaskCreateRequest* msg) { + return *msg->deprecated_inputs_; } const ::flyteidl::core::TaskTemplate& TaskCreateRequest::HasBitSetters::template_(const TaskCreateRequest* msg) { return *msg->template__; } -void TaskCreateRequest::clear_inputs() { - if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { - delete inputs_; +const ::flyteidl::core::InputData& +TaskCreateRequest::HasBitSetters::inputs(const TaskCreateRequest* msg) { + return *msg->inputs_; +} +void TaskCreateRequest::clear_deprecated_inputs() { + if (GetArenaNoVirtual() == nullptr && deprecated_inputs_ != nullptr) { + delete deprecated_inputs_; } - inputs_ = nullptr; + deprecated_inputs_ = nullptr; } void TaskCreateRequest::clear_template_() { if (GetArenaNoVirtual() == nullptr && template__ != nullptr) { @@ -313,10 +327,17 @@ void TaskCreateRequest::clear_template_() { } template__ = nullptr; } +void TaskCreateRequest::clear_inputs() { + if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { + delete inputs_; + } + inputs_ = nullptr; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int TaskCreateRequest::kInputsFieldNumber; +const int TaskCreateRequest::kDeprecatedInputsFieldNumber; const int TaskCreateRequest::kTemplateFieldNumber; const int TaskCreateRequest::kOutputPrefixFieldNumber; +const int TaskCreateRequest::kInputsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 TaskCreateRequest::TaskCreateRequest() @@ -332,16 +353,21 @@ TaskCreateRequest::TaskCreateRequest(const TaskCreateRequest& from) if (from.output_prefix().size() > 0) { output_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_prefix_); } - if (from.has_inputs()) { - inputs_ = new ::flyteidl::core::LiteralMap(*from.inputs_); + if (from.has_deprecated_inputs()) { + deprecated_inputs_ = new ::flyteidl::core::LiteralMap(*from.deprecated_inputs_); } else { - inputs_ = nullptr; + deprecated_inputs_ = nullptr; } if (from.has_template_()) { template__ = new ::flyteidl::core::TaskTemplate(*from.template__); } else { template__ = nullptr; } + if (from.has_inputs()) { + inputs_ = new ::flyteidl::core::InputData(*from.inputs_); + } else { + inputs_ = nullptr; + } // @@protoc_insertion_point(copy_constructor:flyteidl.service.TaskCreateRequest) } @@ -349,9 +375,9 @@ void TaskCreateRequest::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_TaskCreateRequest_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto.base); output_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&inputs_, 0, static_cast( - reinterpret_cast(&template__) - - reinterpret_cast(&inputs_)) + sizeof(template__)); + ::memset(&deprecated_inputs_, 0, static_cast( + reinterpret_cast(&inputs_) - + reinterpret_cast(&deprecated_inputs_)) + sizeof(inputs_)); } TaskCreateRequest::~TaskCreateRequest() { @@ -361,8 +387,9 @@ TaskCreateRequest::~TaskCreateRequest() { void TaskCreateRequest::SharedDtor() { output_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete inputs_; + if (this != internal_default_instance()) delete deprecated_inputs_; if (this != internal_default_instance()) delete template__; + if (this != internal_default_instance()) delete inputs_; } void TaskCreateRequest::SetCachedSize(int size) const { @@ -381,14 +408,18 @@ void TaskCreateRequest::Clear() { (void) cached_has_bits; output_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { - delete inputs_; + if (GetArenaNoVirtual() == nullptr && deprecated_inputs_ != nullptr) { + delete deprecated_inputs_; } - inputs_ = nullptr; + deprecated_inputs_ = nullptr; if (GetArenaNoVirtual() == nullptr && template__ != nullptr) { delete template__; } template__ = nullptr; + if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) { + delete inputs_; + } + inputs_ = nullptr; _internal_metadata_.Clear(); } @@ -405,13 +436,13 @@ const char* TaskCreateRequest::_InternalParse(const char* begin, const char* end ptr = ::google::protobuf::io::Parse32(ptr, &tag); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); switch (tag >> 3) { - // .flyteidl.core.LiteralMap inputs = 1; + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; case 1: { if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; - object = msg->mutable_inputs(); + object = msg->mutable_deprecated_inputs(); if (size > end - ptr) goto len_delim_till_end; ptr += size; GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( @@ -447,6 +478,19 @@ const char* TaskCreateRequest::_InternalParse(const char* begin, const char* end ptr += size; break; } + // .flyteidl.core.InputData inputs = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::InputData::_InternalParse; + object = msg->mutable_inputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -481,11 +525,11 @@ bool TaskCreateRequest::MergePartialFromCodedStream( tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // .flyteidl.core.LiteralMap inputs = 1; + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; case 1: { if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_inputs())); + input, mutable_deprecated_inputs())); } else { goto handle_unusual; } @@ -518,6 +562,17 @@ bool TaskCreateRequest::MergePartialFromCodedStream( break; } + // .flyteidl.core.InputData inputs = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_inputs())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -545,10 +600,10 @@ void TaskCreateRequest::SerializeWithCachedSizes( ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - // .flyteidl.core.LiteralMap inputs = 1; - if (this->has_inputs()) { + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + if (this->has_deprecated_inputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, HasBitSetters::inputs(this), output); + 1, HasBitSetters::deprecated_inputs(this), output); } // .flyteidl.core.TaskTemplate template = 2; @@ -567,6 +622,12 @@ void TaskCreateRequest::SerializeWithCachedSizes( 3, this->output_prefix(), output); } + // .flyteidl.core.InputData inputs = 4; + if (this->has_inputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 4, HasBitSetters::inputs(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -580,11 +641,11 @@ ::google::protobuf::uint8* TaskCreateRequest::InternalSerializeWithCachedSizesTo ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - // .flyteidl.core.LiteralMap inputs = 1; - if (this->has_inputs()) { + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + if (this->has_deprecated_inputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 1, HasBitSetters::inputs(this), target); + 1, HasBitSetters::deprecated_inputs(this), target); } // .flyteidl.core.TaskTemplate template = 2; @@ -605,6 +666,13 @@ ::google::protobuf::uint8* TaskCreateRequest::InternalSerializeWithCachedSizesTo 3, this->output_prefix(), target); } + // .flyteidl.core.InputData inputs = 4; + if (this->has_inputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 4, HasBitSetters::inputs(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -633,11 +701,11 @@ size_t TaskCreateRequest::ByteSizeLong() const { this->output_prefix()); } - // .flyteidl.core.LiteralMap inputs = 1; - if (this->has_inputs()) { + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + if (this->has_deprecated_inputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( - *inputs_); + *deprecated_inputs_); } // .flyteidl.core.TaskTemplate template = 2; @@ -647,6 +715,13 @@ size_t TaskCreateRequest::ByteSizeLong() const { *template__); } + // .flyteidl.core.InputData inputs = 4; + if (this->has_inputs()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *inputs_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -678,12 +753,15 @@ void TaskCreateRequest::MergeFrom(const TaskCreateRequest& from) { output_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_prefix_); } - if (from.has_inputs()) { - mutable_inputs()->::flyteidl::core::LiteralMap::MergeFrom(from.inputs()); + if (from.has_deprecated_inputs()) { + mutable_deprecated_inputs()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_inputs()); } if (from.has_template_()) { mutable_template_()->::flyteidl::core::TaskTemplate::MergeFrom(from.template_()); } + if (from.has_inputs()) { + mutable_inputs()->::flyteidl::core::InputData::MergeFrom(from.inputs()); + } } void TaskCreateRequest::CopyFrom(const ::google::protobuf::Message& from) { @@ -713,8 +791,9 @@ void TaskCreateRequest::InternalSwap(TaskCreateRequest* other) { _internal_metadata_.Swap(&other->_internal_metadata_); output_prefix_.Swap(&other->output_prefix_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); - swap(inputs_, other->inputs_); + swap(deprecated_inputs_, other->deprecated_inputs_); swap(template__, other->template__); + swap(inputs_, other->inputs_); } ::google::protobuf::Metadata TaskCreateRequest::GetMetadata() const { @@ -1393,18 +1472,31 @@ ::google::protobuf::Metadata TaskGetRequest::GetMetadata() const { // =================================================================== void TaskGetResponse::InitAsDefaultInstance() { - ::flyteidl::service::_TaskGetResponse_default_instance_._instance.get_mutable()->outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( + ::flyteidl::service::_TaskGetResponse_default_instance_._instance.get_mutable()->deprecated_outputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::service::_TaskGetResponse_default_instance_._instance.get_mutable()->outputs_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); } class TaskGetResponse::HasBitSetters { public: - static const ::flyteidl::core::LiteralMap& outputs(const TaskGetResponse* msg); + static const ::flyteidl::core::LiteralMap& deprecated_outputs(const TaskGetResponse* msg); + static const ::flyteidl::core::OutputData& outputs(const TaskGetResponse* msg); }; const ::flyteidl::core::LiteralMap& +TaskGetResponse::HasBitSetters::deprecated_outputs(const TaskGetResponse* msg) { + return *msg->deprecated_outputs_; +} +const ::flyteidl::core::OutputData& TaskGetResponse::HasBitSetters::outputs(const TaskGetResponse* msg) { return *msg->outputs_; } +void TaskGetResponse::clear_deprecated_outputs() { + if (GetArenaNoVirtual() == nullptr && deprecated_outputs_ != nullptr) { + delete deprecated_outputs_; + } + deprecated_outputs_ = nullptr; +} void TaskGetResponse::clear_outputs() { if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) { delete outputs_; @@ -1413,6 +1505,7 @@ void TaskGetResponse::clear_outputs() { } #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int TaskGetResponse::kStateFieldNumber; +const int TaskGetResponse::kDeprecatedOutputsFieldNumber; const int TaskGetResponse::kOutputsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -1425,8 +1518,13 @@ TaskGetResponse::TaskGetResponse(const TaskGetResponse& from) : ::google::protobuf::Message(), _internal_metadata_(nullptr) { _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_deprecated_outputs()) { + deprecated_outputs_ = new ::flyteidl::core::LiteralMap(*from.deprecated_outputs_); + } else { + deprecated_outputs_ = nullptr; + } if (from.has_outputs()) { - outputs_ = new ::flyteidl::core::LiteralMap(*from.outputs_); + outputs_ = new ::flyteidl::core::OutputData(*from.outputs_); } else { outputs_ = nullptr; } @@ -1437,9 +1535,9 @@ TaskGetResponse::TaskGetResponse(const TaskGetResponse& from) void TaskGetResponse::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_TaskGetResponse_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto.base); - ::memset(&outputs_, 0, static_cast( + ::memset(&deprecated_outputs_, 0, static_cast( reinterpret_cast(&state_) - - reinterpret_cast(&outputs_)) + sizeof(state_)); + reinterpret_cast(&deprecated_outputs_)) + sizeof(state_)); } TaskGetResponse::~TaskGetResponse() { @@ -1448,6 +1546,7 @@ TaskGetResponse::~TaskGetResponse() { } void TaskGetResponse::SharedDtor() { + if (this != internal_default_instance()) delete deprecated_outputs_; if (this != internal_default_instance()) delete outputs_; } @@ -1466,6 +1565,10 @@ void TaskGetResponse::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + if (GetArenaNoVirtual() == nullptr && deprecated_outputs_ != nullptr) { + delete deprecated_outputs_; + } + deprecated_outputs_ = nullptr; if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) { delete outputs_; } @@ -1495,12 +1598,25 @@ const char* TaskGetResponse::_InternalParse(const char* begin, const char* end, GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2; case 2: { if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse; + object = msg->mutable_deprecated_outputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // .flyteidl.core.OutputData outputs = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; object = msg->mutable_outputs(); if (size > end - ptr) goto len_delim_till_end; ptr += size; @@ -1552,9 +1668,20 @@ bool TaskGetResponse::MergePartialFromCodedStream( break; } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_deprecated_outputs())); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.OutputData outputs = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( input, mutable_outputs())); } else { @@ -1596,10 +1723,16 @@ void TaskGetResponse::SerializeWithCachedSizes( 1, this->state(), output); } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2; + if (this->has_deprecated_outputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, HasBitSetters::deprecated_outputs(this), output); + } + + // .flyteidl.core.OutputData outputs = 3; if (this->has_outputs()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, HasBitSetters::outputs(this), output); + 3, HasBitSetters::outputs(this), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -1621,11 +1754,18 @@ ::google::protobuf::uint8* TaskGetResponse::InternalSerializeWithCachedSizesToAr 1, this->state(), target); } - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2; + if (this->has_deprecated_outputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 2, HasBitSetters::deprecated_outputs(this), target); + } + + // .flyteidl.core.OutputData outputs = 3; if (this->has_outputs()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 2, HasBitSetters::outputs(this), target); + 3, HasBitSetters::outputs(this), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -1649,7 +1789,14 @@ size_t TaskGetResponse::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2; + if (this->has_deprecated_outputs()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *deprecated_outputs_); + } + + // .flyteidl.core.OutputData outputs = 3; if (this->has_outputs()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -1689,8 +1836,11 @@ void TaskGetResponse::MergeFrom(const TaskGetResponse& from) { ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; + if (from.has_deprecated_outputs()) { + mutable_deprecated_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.deprecated_outputs()); + } if (from.has_outputs()) { - mutable_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.outputs()); + mutable_outputs()->::flyteidl::core::OutputData::MergeFrom(from.outputs()); } if (from.state() != 0) { set_state(from.state()); @@ -1722,6 +1872,7 @@ void TaskGetResponse::Swap(TaskGetResponse* other) { void TaskGetResponse::InternalSwap(TaskGetResponse* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + swap(deprecated_outputs_, other->deprecated_outputs_); swap(outputs_, other->outputs_); swap(state_, other->state_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.h b/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.h index 82d5616c5c..232f30fb8f 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/service/external_plugin_service.pb.h @@ -34,7 +34,6 @@ #include #include "flyteidl/core/literals.pb.h" #include "flyteidl/core/tasks.pb.h" -#include "flyteidl/core/interface.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto @@ -222,14 +221,14 @@ class TaskCreateRequest final : ::std::string* release_output_prefix(); void set_allocated_output_prefix(::std::string* output_prefix); - // .flyteidl.core.LiteralMap inputs = 1; - bool has_inputs() const; - void clear_inputs(); - static const int kInputsFieldNumber = 1; - const ::flyteidl::core::LiteralMap& inputs() const; - ::flyteidl::core::LiteralMap* release_inputs(); - ::flyteidl::core::LiteralMap* mutable_inputs(); - void set_allocated_inputs(::flyteidl::core::LiteralMap* inputs); + // .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_deprecated_inputs() const; + PROTOBUF_DEPRECATED void clear_deprecated_inputs(); + PROTOBUF_DEPRECATED static const int kDeprecatedInputsFieldNumber = 1; + PROTOBUF_DEPRECATED const ::flyteidl::core::LiteralMap& deprecated_inputs() const; + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* release_deprecated_inputs(); + PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_deprecated_inputs(); + PROTOBUF_DEPRECATED void set_allocated_deprecated_inputs(::flyteidl::core::LiteralMap* deprecated_inputs); // .flyteidl.core.TaskTemplate template = 2; bool has_template_() const; @@ -240,14 +239,24 @@ class TaskCreateRequest final : ::flyteidl::core::TaskTemplate* mutable_template_(); void set_allocated_template_(::flyteidl::core::TaskTemplate* template_); + // .flyteidl.core.InputData inputs = 4; + bool has_inputs() const; + void clear_inputs(); + static const int kInputsFieldNumber = 4; + const ::flyteidl::core::InputData& inputs() const; + ::flyteidl::core::InputData* release_inputs(); + ::flyteidl::core::InputData* mutable_inputs(); + void set_allocated_inputs(::flyteidl::core::InputData* inputs); + // @@protoc_insertion_point(class_scope:flyteidl.service.TaskCreateRequest) private: class HasBitSetters; ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr output_prefix_; - ::flyteidl::core::LiteralMap* inputs_; + ::flyteidl::core::LiteralMap* deprecated_inputs_; ::flyteidl::core::TaskTemplate* template__; + ::flyteidl::core::InputData* inputs_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto; }; @@ -603,14 +612,23 @@ class TaskGetResponse final : // accessors ------------------------------------------------------- - // .flyteidl.core.LiteralMap outputs = 2; + // .flyteidl.core.LiteralMap deprecated_outputs = 2; + bool has_deprecated_outputs() const; + void clear_deprecated_outputs(); + static const int kDeprecatedOutputsFieldNumber = 2; + const ::flyteidl::core::LiteralMap& deprecated_outputs() const; + ::flyteidl::core::LiteralMap* release_deprecated_outputs(); + ::flyteidl::core::LiteralMap* mutable_deprecated_outputs(); + void set_allocated_deprecated_outputs(::flyteidl::core::LiteralMap* deprecated_outputs); + + // .flyteidl.core.OutputData outputs = 3; bool has_outputs() const; void clear_outputs(); - static const int kOutputsFieldNumber = 2; - const ::flyteidl::core::LiteralMap& outputs() const; - ::flyteidl::core::LiteralMap* release_outputs(); - ::flyteidl::core::LiteralMap* mutable_outputs(); - void set_allocated_outputs(::flyteidl::core::LiteralMap* outputs); + static const int kOutputsFieldNumber = 3; + const ::flyteidl::core::OutputData& outputs() const; + ::flyteidl::core::OutputData* release_outputs(); + ::flyteidl::core::OutputData* mutable_outputs(); + void set_allocated_outputs(::flyteidl::core::OutputData* outputs); // .flyteidl.service.State state = 1; void clear_state(); @@ -623,7 +641,8 @@ class TaskGetResponse final : class HasBitSetters; ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::flyteidl::core::LiteralMap* outputs_; + ::flyteidl::core::LiteralMap* deprecated_outputs_; + ::flyteidl::core::OutputData* outputs_; int state_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fservice_2fexternal_5fplugin_5fservice_2eproto; @@ -879,49 +898,49 @@ class TaskDeleteResponse final : #endif // __GNUC__ // TaskCreateRequest -// .flyteidl.core.LiteralMap inputs = 1; -inline bool TaskCreateRequest::has_inputs() const { - return this != internal_default_instance() && inputs_ != nullptr; +// .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; +inline bool TaskCreateRequest::has_deprecated_inputs() const { + return this != internal_default_instance() && deprecated_inputs_ != nullptr; } -inline const ::flyteidl::core::LiteralMap& TaskCreateRequest::inputs() const { - const ::flyteidl::core::LiteralMap* p = inputs_; - // @@protoc_insertion_point(field_get:flyteidl.service.TaskCreateRequest.inputs) +inline const ::flyteidl::core::LiteralMap& TaskCreateRequest::deprecated_inputs() const { + const ::flyteidl::core::LiteralMap* p = deprecated_inputs_; + // @@protoc_insertion_point(field_get:flyteidl.service.TaskCreateRequest.deprecated_inputs) return p != nullptr ? *p : *reinterpret_cast( &::flyteidl::core::_LiteralMap_default_instance_); } -inline ::flyteidl::core::LiteralMap* TaskCreateRequest::release_inputs() { - // @@protoc_insertion_point(field_release:flyteidl.service.TaskCreateRequest.inputs) +inline ::flyteidl::core::LiteralMap* TaskCreateRequest::release_deprecated_inputs() { + // @@protoc_insertion_point(field_release:flyteidl.service.TaskCreateRequest.deprecated_inputs) - ::flyteidl::core::LiteralMap* temp = inputs_; - inputs_ = nullptr; + ::flyteidl::core::LiteralMap* temp = deprecated_inputs_; + deprecated_inputs_ = nullptr; return temp; } -inline ::flyteidl::core::LiteralMap* TaskCreateRequest::mutable_inputs() { +inline ::flyteidl::core::LiteralMap* TaskCreateRequest::mutable_deprecated_inputs() { - if (inputs_ == nullptr) { + if (deprecated_inputs_ == nullptr) { auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); - inputs_ = p; + deprecated_inputs_ = p; } - // @@protoc_insertion_point(field_mutable:flyteidl.service.TaskCreateRequest.inputs) - return inputs_; + // @@protoc_insertion_point(field_mutable:flyteidl.service.TaskCreateRequest.deprecated_inputs) + return deprecated_inputs_; } -inline void TaskCreateRequest::set_allocated_inputs(::flyteidl::core::LiteralMap* inputs) { +inline void TaskCreateRequest::set_allocated_deprecated_inputs(::flyteidl::core::LiteralMap* deprecated_inputs) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); if (message_arena == nullptr) { - delete reinterpret_cast< ::google::protobuf::MessageLite*>(inputs_); + delete reinterpret_cast< ::google::protobuf::MessageLite*>(deprecated_inputs_); } - if (inputs) { + if (deprecated_inputs) { ::google::protobuf::Arena* submessage_arena = nullptr; if (message_arena != submessage_arena) { - inputs = ::google::protobuf::internal::GetOwnedMessage( - message_arena, inputs, submessage_arena); + deprecated_inputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_inputs, submessage_arena); } } else { } - inputs_ = inputs; - // @@protoc_insertion_point(field_set_allocated:flyteidl.service.TaskCreateRequest.inputs) + deprecated_inputs_ = deprecated_inputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.service.TaskCreateRequest.deprecated_inputs) } // .flyteidl.core.TaskTemplate template = 2; @@ -1022,6 +1041,51 @@ inline void TaskCreateRequest::set_allocated_output_prefix(::std::string* output // @@protoc_insertion_point(field_set_allocated:flyteidl.service.TaskCreateRequest.output_prefix) } +// .flyteidl.core.InputData inputs = 4; +inline bool TaskCreateRequest::has_inputs() const { + return this != internal_default_instance() && inputs_ != nullptr; +} +inline const ::flyteidl::core::InputData& TaskCreateRequest::inputs() const { + const ::flyteidl::core::InputData* p = inputs_; + // @@protoc_insertion_point(field_get:flyteidl.service.TaskCreateRequest.inputs) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_InputData_default_instance_); +} +inline ::flyteidl::core::InputData* TaskCreateRequest::release_inputs() { + // @@protoc_insertion_point(field_release:flyteidl.service.TaskCreateRequest.inputs) + + ::flyteidl::core::InputData* temp = inputs_; + inputs_ = nullptr; + return temp; +} +inline ::flyteidl::core::InputData* TaskCreateRequest::mutable_inputs() { + + if (inputs_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::InputData>(GetArenaNoVirtual()); + inputs_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.service.TaskCreateRequest.inputs) + return inputs_; +} +inline void TaskCreateRequest::set_allocated_inputs(::flyteidl::core::InputData* inputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(inputs_); + } + if (inputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + inputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, inputs, submessage_arena); + } + + } else { + + } + inputs_ = inputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.service.TaskCreateRequest.inputs) +} + // ------------------------------------------------------------------- // TaskCreateResponse @@ -1207,33 +1271,78 @@ inline void TaskGetResponse::set_state(::flyteidl::service::State value) { // @@protoc_insertion_point(field_set:flyteidl.service.TaskGetResponse.state) } -// .flyteidl.core.LiteralMap outputs = 2; +// .flyteidl.core.LiteralMap deprecated_outputs = 2; +inline bool TaskGetResponse::has_deprecated_outputs() const { + return this != internal_default_instance() && deprecated_outputs_ != nullptr; +} +inline const ::flyteidl::core::LiteralMap& TaskGetResponse::deprecated_outputs() const { + const ::flyteidl::core::LiteralMap* p = deprecated_outputs_; + // @@protoc_insertion_point(field_get:flyteidl.service.TaskGetResponse.deprecated_outputs) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_LiteralMap_default_instance_); +} +inline ::flyteidl::core::LiteralMap* TaskGetResponse::release_deprecated_outputs() { + // @@protoc_insertion_point(field_release:flyteidl.service.TaskGetResponse.deprecated_outputs) + + ::flyteidl::core::LiteralMap* temp = deprecated_outputs_; + deprecated_outputs_ = nullptr; + return temp; +} +inline ::flyteidl::core::LiteralMap* TaskGetResponse::mutable_deprecated_outputs() { + + if (deprecated_outputs_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); + deprecated_outputs_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.service.TaskGetResponse.deprecated_outputs) + return deprecated_outputs_; +} +inline void TaskGetResponse::set_allocated_deprecated_outputs(::flyteidl::core::LiteralMap* deprecated_outputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(deprecated_outputs_); + } + if (deprecated_outputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + deprecated_outputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, deprecated_outputs, submessage_arena); + } + + } else { + + } + deprecated_outputs_ = deprecated_outputs; + // @@protoc_insertion_point(field_set_allocated:flyteidl.service.TaskGetResponse.deprecated_outputs) +} + +// .flyteidl.core.OutputData outputs = 3; inline bool TaskGetResponse::has_outputs() const { return this != internal_default_instance() && outputs_ != nullptr; } -inline const ::flyteidl::core::LiteralMap& TaskGetResponse::outputs() const { - const ::flyteidl::core::LiteralMap* p = outputs_; +inline const ::flyteidl::core::OutputData& TaskGetResponse::outputs() const { + const ::flyteidl::core::OutputData* p = outputs_; // @@protoc_insertion_point(field_get:flyteidl.service.TaskGetResponse.outputs) - return p != nullptr ? *p : *reinterpret_cast( - &::flyteidl::core::_LiteralMap_default_instance_); + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::core::_OutputData_default_instance_); } -inline ::flyteidl::core::LiteralMap* TaskGetResponse::release_outputs() { +inline ::flyteidl::core::OutputData* TaskGetResponse::release_outputs() { // @@protoc_insertion_point(field_release:flyteidl.service.TaskGetResponse.outputs) - ::flyteidl::core::LiteralMap* temp = outputs_; + ::flyteidl::core::OutputData* temp = outputs_; outputs_ = nullptr; return temp; } -inline ::flyteidl::core::LiteralMap* TaskGetResponse::mutable_outputs() { +inline ::flyteidl::core::OutputData* TaskGetResponse::mutable_outputs() { if (outputs_ == nullptr) { - auto* p = CreateMaybeMessage<::flyteidl::core::LiteralMap>(GetArenaNoVirtual()); + auto* p = CreateMaybeMessage<::flyteidl::core::OutputData>(GetArenaNoVirtual()); outputs_ = p; } // @@protoc_insertion_point(field_mutable:flyteidl.service.TaskGetResponse.outputs) return outputs_; } -inline void TaskGetResponse::set_allocated_outputs(::flyteidl::core::LiteralMap* outputs) { +inline void TaskGetResponse::set_allocated_outputs(::flyteidl::core::OutputData* outputs) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); if (message_arena == nullptr) { delete reinterpret_cast< ::google::protobuf::MessageLite*>(outputs_); diff --git a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go index 436d00d29a..0ddcdd4399 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go @@ -147,16 +147,21 @@ type CreateTaskRequest struct { // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - Inputs *core.LiteralMap `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"` + // Deprecated: Use inputs instead. + DeprecatedInputs *core.LiteralMap `protobuf:"bytes,1,opt,name=deprecated_inputs,json=deprecatedInputs,proto3" json:"deprecated_inputs,omitempty"` // Deprecated: Do not use. // Template of the task that encapsulates all the metadata of the task. Template *core.TaskTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` // Prefix for where task output data will be written. (e.g. s3://my-bucket/randomstring) OutputPrefix string `protobuf:"bytes,3,opt,name=output_prefix,json=outputPrefix,proto3" json:"output_prefix,omitempty"` // subset of runtime task execution metadata. TaskExecutionMetadata *TaskExecutionMetadata `protobuf:"bytes,4,opt,name=task_execution_metadata,json=taskExecutionMetadata,proto3" json:"task_execution_metadata,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // Inputs are the inputs required to start the execution. All required inputs must be + // included in this map. If not required and not provided, defaults apply. + // +optional + Inputs *core.InputData `protobuf:"bytes,5,opt,name=inputs,proto3" json:"inputs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *CreateTaskRequest) Reset() { *m = CreateTaskRequest{} } @@ -184,9 +189,10 @@ func (m *CreateTaskRequest) XXX_DiscardUnknown() { var xxx_messageInfo_CreateTaskRequest proto.InternalMessageInfo -func (m *CreateTaskRequest) GetInputs() *core.LiteralMap { +// Deprecated: Do not use. +func (m *CreateTaskRequest) GetDeprecatedInputs() *core.LiteralMap { if m != nil { - return m.Inputs + return m.DeprecatedInputs } return nil } @@ -212,6 +218,13 @@ func (m *CreateTaskRequest) GetTaskExecutionMetadata() *TaskExecutionMetadata { return nil } +func (m *CreateTaskRequest) GetInputs() *core.InputData { + if m != nil { + return m.Inputs + } + return nil +} + // Represents a create response structure. type CreateTaskResponse struct { // Metadata is created by the agent. It could be a string (jobId) or a dict (more complex metadata). @@ -349,7 +362,12 @@ type Resource struct { // The outputs of the execution. It's typically used by sql task. Agent service will create a // Structured dataset pointing to the query result table. // +optional - Outputs *core.LiteralMap `protobuf:"bytes,2,opt,name=outputs,proto3" json:"outputs,omitempty"` + // Deprecated: Use outputs instead. + DeprecatedOutputs *core.LiteralMap `protobuf:"bytes,2,opt,name=deprecated_outputs,json=deprecatedOutputs,proto3" json:"deprecated_outputs,omitempty"` // Deprecated: Do not use. + // The outputs of the execution. It's typically used by sql task. Agent service will create a + // Structured dataset pointing to the query result table. + // +optional + Outputs *core.OutputData `protobuf:"bytes,3,opt,name=outputs,proto3" json:"outputs,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -387,7 +405,15 @@ func (m *Resource) GetState() State { return State_RETRYABLE_FAILURE } -func (m *Resource) GetOutputs() *core.LiteralMap { +// Deprecated: Do not use. +func (m *Resource) GetDeprecatedOutputs() *core.LiteralMap { + if m != nil { + return m.DeprecatedOutputs + } + return nil +} + +func (m *Resource) GetOutputs() *core.OutputData { if m != nil { return m.Outputs } @@ -494,51 +520,54 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/agent.proto", fileDescriptor_c434e52bb0028071) } var fileDescriptor_c434e52bb0028071 = []byte{ - // 726 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xed, 0x6e, 0xe2, 0x46, - 0x14, 0x2d, 0x10, 0x08, 0x5c, 0xf2, 0x01, 0xd3, 0xa0, 0x3a, 0x24, 0xad, 0x22, 0xaa, 0x56, 0x51, - 0xab, 0x1a, 0x85, 0x54, 0x6d, 0xd2, 0xaa, 0xad, 0x48, 0x70, 0x11, 0x12, 0x41, 0xd1, 0x04, 0xaa, - 0xb6, 0xd2, 0x2e, 0x1a, 0xcc, 0x85, 0xb5, 0x30, 0x63, 0xaf, 0x67, 0x8c, 0xc2, 0xef, 0x7d, 0x89, - 0x7d, 0xdc, 0x95, 0xc7, 0x1f, 0x01, 0xc4, 0xae, 0x12, 0xed, 0x3f, 0xcf, 0x3d, 0xe7, 0x9e, 0x39, - 0x73, 0xee, 0xd8, 0x86, 0xea, 0xc4, 0x5e, 0x4a, 0xb4, 0xc6, 0x76, 0x9d, 0x8d, 0xe7, 0x16, 0xaf, - 0xb3, 0x29, 0x72, 0xa9, 0xbb, 0x9e, 0x23, 0x1d, 0x72, 0x10, 0x63, 0xba, 0xc2, 0xaa, 0xa7, 0x09, - 0xd7, 0x74, 0x3c, 0xac, 0xdb, 0x96, 0x44, 0x8f, 0xd9, 0x22, 0x64, 0x57, 0x8f, 0xd7, 0x51, 0xc9, - 0xc4, 0x2c, 0x86, 0xbe, 0x5e, 0x87, 0x2c, 0x2e, 0xd1, 0x9b, 0x30, 0x13, 0x23, 0xf8, 0x9b, 0x0d, - 0x78, 0x8c, 0x5c, 0x5a, 0x13, 0x0b, 0xbd, 0x10, 0xaf, 0xbd, 0xcf, 0x42, 0xa5, 0xcf, 0xc4, 0xcc, - 0x78, 0x44, 0xd3, 0x97, 0x96, 0xc3, 0xef, 0x50, 0xb2, 0x31, 0x93, 0x8c, 0x50, 0x28, 0x07, 0xfb, - 0x0c, 0x31, 0x46, 0x86, 0xd6, 0x58, 0x4b, 0x9d, 0xa5, 0xce, 0x8b, 0x8d, 0xef, 0xf5, 0xc4, 0x7d, - 0xa0, 0xaa, 0xaf, 0x09, 0x74, 0x92, 0x2d, 0xe8, 0xa1, 0x5c, 0x07, 0xc8, 0x29, 0x14, 0x38, 0x9b, - 0xa3, 0x70, 0x99, 0x89, 0x5a, 0xfa, 0x2c, 0x75, 0x5e, 0xa0, 0x4f, 0x05, 0xd2, 0x81, 0x9c, 0xcd, - 0x46, 0x68, 0x0b, 0x2d, 0x73, 0x96, 0x39, 0x2f, 0x36, 0x2e, 0xf4, 0xf5, 0x90, 0xf4, 0xad, 0x46, - 0xf5, 0xae, 0xea, 0x31, 0xb8, 0xf4, 0x96, 0x34, 0x12, 0x20, 0xff, 0x42, 0x91, 0x71, 0xee, 0x48, - 0x16, 0x30, 0x85, 0xb6, 0xa3, 0xf4, 0x7e, 0x79, 0x9e, 0x5e, 0xf3, 0xa9, 0x31, 0x14, 0x5d, 0x95, - 0x22, 0x3a, 0x7c, 0x39, 0xbb, 0x12, 0x43, 0x81, 0xde, 0xc2, 0x32, 0x71, 0xc8, 0x4c, 0xd3, 0xf1, - 0xb9, 0xd4, 0xb2, 0xea, 0x30, 0xe5, 0xd9, 0x95, 0x78, 0x08, 0x91, 0x66, 0x08, 0x10, 0x09, 0x15, - 0xe4, 0x0b, 0xcb, 0x73, 0xf8, 0x1c, 0xb9, 0x1c, 0x2e, 0x98, 0x67, 0xb1, 0x91, 0x8d, 0x42, 0xcb, - 0x29, 0x4f, 0x7f, 0x3d, 0xcf, 0x93, 0xf1, 0x24, 0xf1, 0x4f, 0xac, 0x10, 0x9a, 0x3b, 0xc2, 0x2d, - 0x50, 0xf5, 0x1a, 0x8a, 0x2b, 0xb1, 0x90, 0x12, 0x64, 0x66, 0xb8, 0x54, 0xd3, 0x2b, 0xd0, 0xe0, - 0x91, 0x1c, 0x41, 0x76, 0xc1, 0x6c, 0x3f, 0x9e, 0x42, 0xb8, 0xf8, 0x2d, 0x7d, 0x95, 0xaa, 0xfe, - 0x09, 0xa5, 0xcd, 0x04, 0x5e, 0xd4, 0xdf, 0x86, 0xe3, 0x8f, 0xba, 0x7d, 0x89, 0x50, 0xed, 0x5d, - 0x1a, 0xca, 0xb7, 0x1e, 0x32, 0x89, 0x41, 0x26, 0x14, 0xdf, 0xfa, 0x28, 0x24, 0xb9, 0x80, 0x9c, - 0xc5, 0x5d, 0x5f, 0x8a, 0xe8, 0x2e, 0x1e, 0x6f, 0xdc, 0xc5, 0x6e, 0xf8, 0xe6, 0xdc, 0x31, 0x97, - 0x46, 0x44, 0xf2, 0x2b, 0xe4, 0x25, 0xce, 0x5d, 0x9b, 0xc9, 0x70, 0x97, 0x62, 0xe3, 0x64, 0xcb, - 0x05, 0xee, 0x47, 0x14, 0x9a, 0x90, 0xc9, 0xb7, 0xb0, 0xef, 0xf8, 0xd2, 0xf5, 0xe5, 0xd0, 0xf5, - 0x70, 0x62, 0x3d, 0x6a, 0x19, 0xe5, 0x71, 0x2f, 0x2c, 0xde, 0xab, 0x1a, 0x79, 0x05, 0x5f, 0x6d, - 0xbc, 0x27, 0xf3, 0x68, 0x6a, 0xda, 0x8e, 0xda, 0xec, 0xbb, 0x67, 0x8d, 0x98, 0x56, 0xe4, 0xb6, - 0x72, 0xed, 0x1a, 0xc8, 0x6a, 0x08, 0xc2, 0x75, 0xb8, 0x50, 0xce, 0x3c, 0x14, 0x8e, 0xef, 0x99, - 0xa8, 0xb6, 0x53, 0x61, 0xec, 0xd1, 0xbd, 0xb8, 0x18, 0xb4, 0xd7, 0x28, 0x1c, 0xb4, 0x51, 0xae, - 0x86, 0x77, 0x02, 0x05, 0xe5, 0x55, 0x2e, 0x5d, 0x8c, 0x86, 0x90, 0x0f, 0x0a, 0xfd, 0xa5, 0xbb, - 0x45, 0x33, 0xbd, 0x45, 0xb3, 0x0d, 0x87, 0x89, 0x66, 0xe4, 0xe5, 0x67, 0xc8, 0xc7, 0x94, 0x68, - 0x26, 0xda, 0xe6, 0x89, 0x69, 0x84, 0xd3, 0x84, 0x59, 0xb3, 0x21, 0x1f, 0x57, 0xc9, 0x8f, 0x90, - 0x15, 0x32, 0x98, 0x4e, 0xd0, 0x7e, 0xd0, 0xa8, 0x6c, 0xb6, 0x3f, 0x04, 0x20, 0x0d, 0x39, 0xe4, - 0x12, 0x76, 0xc3, 0xfc, 0x45, 0x34, 0xcc, 0x4f, 0xdc, 0x80, 0x98, 0x59, 0x1b, 0x40, 0xb9, 0x85, - 0x36, 0xae, 0x5f, 0xa5, 0xcf, 0x4f, 0xe3, 0x08, 0xc8, 0xaa, 0x6c, 0x18, 0xc8, 0x0f, 0xaf, 0x21, - 0xab, 0x1c, 0x93, 0x0a, 0x94, 0xa9, 0xd1, 0xa7, 0xff, 0x35, 0x6f, 0xba, 0xc6, 0xf0, 0xef, 0x66, - 0xa7, 0x3b, 0xa0, 0x46, 0xe9, 0x8b, 0xa0, 0x7c, 0x6f, 0xd0, 0xbb, 0x66, 0xcf, 0xe8, 0xf5, 0x93, - 0x72, 0x8a, 0x14, 0x61, 0xf7, 0xde, 0xe8, 0xb5, 0x3a, 0xbd, 0x76, 0x29, 0x1d, 0x2c, 0xe8, 0xa0, - 0xd7, 0x0b, 0x16, 0x19, 0xb2, 0x0f, 0x85, 0x87, 0xc1, 0xed, 0xad, 0x61, 0xb4, 0x8c, 0x56, 0x69, - 0xe7, 0xe6, 0x8f, 0xff, 0x7f, 0x9f, 0x5a, 0xf2, 0x8d, 0x3f, 0xd2, 0x4d, 0x67, 0x5e, 0x57, 0x87, - 0x77, 0xbc, 0x69, 0xf8, 0x50, 0x4f, 0xbe, 0xf7, 0x53, 0xe4, 0x75, 0x77, 0xf4, 0xd3, 0xd4, 0xa9, - 0xaf, 0xff, 0x86, 0x46, 0x39, 0xf5, 0xe5, 0xbf, 0xfc, 0x10, 0x00, 0x00, 0xff, 0xff, 0x14, 0xef, - 0x1e, 0x8b, 0x9f, 0x06, 0x00, 0x00, + // 782 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xff, 0x6e, 0xe3, 0x44, + 0x10, 0x26, 0x49, 0xd3, 0x4b, 0x26, 0xbd, 0x5e, 0xb2, 0x34, 0xc2, 0xcd, 0x1d, 0xa8, 0x0a, 0x02, + 0x55, 0x20, 0x1c, 0xc8, 0x21, 0xe8, 0x81, 0x00, 0xa5, 0x8d, 0x89, 0x82, 0xd2, 0x50, 0x6d, 0x13, + 0x04, 0x48, 0x60, 0x6d, 0x9c, 0x49, 0xb0, 0xe2, 0xac, 0x8d, 0x77, 0x1d, 0x5d, 0xde, 0x84, 0x67, + 0xe1, 0x21, 0x78, 0x26, 0xe4, 0x5d, 0xdb, 0xf9, 0xa1, 0x20, 0x5a, 0xdd, 0x7f, 0xf6, 0x7c, 0xdf, + 0x7c, 0x3b, 0x33, 0xdf, 0xac, 0x16, 0x1a, 0x33, 0x6f, 0x2d, 0xd1, 0x9d, 0x7a, 0x2d, 0x36, 0x5d, + 0xba, 0xbc, 0xc5, 0xe6, 0xc8, 0xa5, 0x19, 0x84, 0xbe, 0xf4, 0xc9, 0x69, 0x8a, 0x99, 0x0a, 0x6b, + 0xbc, 0xc8, 0xb8, 0x8e, 0x1f, 0x62, 0xcb, 0x73, 0x25, 0x86, 0xcc, 0x13, 0x9a, 0xdd, 0x38, 0xdf, + 0x45, 0x25, 0x13, 0x8b, 0x14, 0x7a, 0x77, 0x17, 0x72, 0xb9, 0xc4, 0x70, 0xc6, 0x1c, 0x4c, 0xe0, + 0xf7, 0xf6, 0xe0, 0x29, 0x72, 0xe9, 0xce, 0x5c, 0x0c, 0x35, 0xde, 0xfc, 0xab, 0x08, 0xf5, 0x11, + 0x13, 0x0b, 0xeb, 0x35, 0x3a, 0x91, 0x74, 0x7d, 0x7e, 0x8b, 0x92, 0x4d, 0x99, 0x64, 0x84, 0x42, + 0x2d, 0x3e, 0xc7, 0xc6, 0x14, 0xb1, 0xdd, 0xa9, 0x91, 0xbb, 0xc8, 0x5d, 0x56, 0xda, 0x1f, 0x9a, + 0x59, 0xf5, 0xb1, 0xaa, 0xb9, 0x23, 0xd0, 0xcf, 0x8e, 0xa0, 0xcf, 0xe4, 0x2e, 0x40, 0x5e, 0x40, + 0x99, 0xb3, 0x25, 0x8a, 0x80, 0x39, 0x68, 0xe4, 0x2f, 0x72, 0x97, 0x65, 0xba, 0x09, 0x90, 0x3e, + 0x1c, 0x7b, 0x6c, 0x82, 0x9e, 0x30, 0x0a, 0x17, 0x85, 0xcb, 0x4a, 0xfb, 0x33, 0x73, 0x77, 0x48, + 0xe6, 0xc1, 0x42, 0xcd, 0x81, 0xca, 0xb1, 0xb8, 0x0c, 0xd7, 0x34, 0x11, 0x20, 0x3f, 0x43, 0x85, + 0x71, 0xee, 0x4b, 0x16, 0x33, 0x85, 0x71, 0xa4, 0xf4, 0xbe, 0x78, 0x98, 0x5e, 0x67, 0x93, 0xa8, + 0x45, 0xb7, 0xa5, 0x88, 0x09, 0x6f, 0x2f, 0xae, 0x84, 0x2d, 0x30, 0x5c, 0xb9, 0x0e, 0xda, 0xcc, + 0x71, 0xfc, 0x88, 0x4b, 0xa3, 0xa8, 0x9a, 0xa9, 0x2d, 0xae, 0xc4, 0xbd, 0x46, 0x3a, 0x1a, 0x20, + 0x12, 0xea, 0xc8, 0x57, 0x6e, 0xe8, 0xf3, 0x25, 0x72, 0x69, 0xaf, 0x58, 0xe8, 0xb2, 0x89, 0x87, + 0xc2, 0x38, 0x56, 0x35, 0x7d, 0xf7, 0xb0, 0x9a, 0xac, 0x8d, 0xc4, 0x4f, 0xa9, 0x82, 0x2e, 0xee, + 0x0c, 0x0f, 0x40, 0x8d, 0x57, 0x50, 0xd9, 0x1a, 0x0b, 0xa9, 0x42, 0x61, 0x81, 0x6b, 0xe5, 0x5e, + 0x99, 0xc6, 0x9f, 0xe4, 0x0c, 0x8a, 0x2b, 0xe6, 0x45, 0xa9, 0x0b, 0xfa, 0xe7, 0xab, 0xfc, 0x55, + 0xae, 0xf1, 0x2d, 0x54, 0xf7, 0x27, 0xf0, 0xa8, 0xfc, 0x1e, 0x9c, 0xff, 0x67, 0xb5, 0x8f, 0x11, + 0x6a, 0xfe, 0x93, 0x87, 0xda, 0x4d, 0x88, 0x4c, 0x62, 0x3c, 0x13, 0x8a, 0x7f, 0x46, 0x28, 0x24, + 0xf9, 0x01, 0x6a, 0x53, 0x0c, 0x42, 0x74, 0x98, 0xc4, 0xa9, 0xed, 0xf2, 0x20, 0x92, 0x22, 0x59, + 0xcb, 0xf3, 0xbd, 0xb5, 0x1c, 0xe8, 0x4b, 0x74, 0xcb, 0x82, 0xeb, 0xbc, 0x91, 0xa3, 0xd5, 0x4d, + 0x5e, 0x5f, 0xa5, 0x91, 0x2f, 0xa1, 0x24, 0x71, 0x19, 0x78, 0x4c, 0xea, 0xe3, 0x2b, 0xed, 0xe7, + 0x07, 0x36, 0x7b, 0x94, 0x50, 0x68, 0x46, 0x26, 0xef, 0xc3, 0x53, 0x3f, 0x92, 0x41, 0x24, 0xed, + 0x20, 0xc4, 0x99, 0xfb, 0xda, 0x28, 0xa8, 0xe2, 0x4f, 0x74, 0xf0, 0x4e, 0xc5, 0xc8, 0x6f, 0xf0, + 0xce, 0xde, 0x05, 0x5a, 0x26, 0x76, 0x1a, 0x47, 0xea, 0xb0, 0x0f, 0x1e, 0xe4, 0x3d, 0xad, 0xcb, + 0x83, 0xf7, 0xf3, 0x53, 0x38, 0x4e, 0xba, 0x2f, 0x2a, 0x35, 0x63, 0xaf, 0x74, 0xd5, 0x63, 0x37, + 0x16, 0x48, 0x78, 0xcd, 0x57, 0x40, 0xb6, 0xe7, 0x29, 0x02, 0x9f, 0x0b, 0xd5, 0x4b, 0x88, 0xc2, + 0x8f, 0x42, 0x07, 0x55, 0x81, 0x6a, 0x98, 0x27, 0xf4, 0x24, 0x0d, 0xc6, 0x07, 0x36, 0x29, 0x9c, + 0xf6, 0x50, 0x6e, 0xfb, 0xf0, 0x1c, 0xca, 0xaa, 0x3b, 0xb9, 0x0e, 0x30, 0xf1, 0xb3, 0x14, 0x07, + 0x46, 0xeb, 0xe0, 0x80, 0x66, 0xfe, 0x80, 0x66, 0x0f, 0x9e, 0x65, 0x9a, 0x49, 0x2d, 0x9f, 0x43, + 0x29, 0xa5, 0x24, 0x9e, 0x1a, 0xfb, 0x33, 0xa2, 0x09, 0x4e, 0x33, 0x66, 0xf3, 0xef, 0x1c, 0x94, + 0xd2, 0x30, 0xf9, 0x18, 0x8a, 0x42, 0xc6, 0x86, 0xc6, 0xf9, 0xa7, 0xed, 0xfa, 0x7e, 0xfe, 0x7d, + 0x0c, 0x52, 0xcd, 0x21, 0x03, 0x20, 0x5b, 0xcb, 0xa4, 0xdd, 0x13, 0xc9, 0x2a, 0xfc, 0xcf, 0x36, + 0x6d, 0x6d, 0xe1, 0x8f, 0x3a, 0x8f, 0xbc, 0x84, 0x27, 0xa9, 0x44, 0xe1, 0xa0, 0x84, 0x26, 0x2a, + 0x4f, 0x52, 0x66, 0x73, 0x0c, 0xb5, 0x2e, 0x7a, 0xb8, 0xbb, 0xe4, 0x6f, 0x3e, 0xdc, 0x33, 0x20, + 0xdb, 0xb2, 0x7a, 0xbe, 0x1f, 0xfd, 0x0e, 0x45, 0xd5, 0x3f, 0xa9, 0x43, 0x8d, 0x5a, 0x23, 0xfa, + 0x4b, 0xe7, 0x7a, 0x60, 0xd9, 0xdf, 0x77, 0xfa, 0x83, 0x31, 0xb5, 0xaa, 0x6f, 0xc5, 0xe1, 0x3b, + 0x8b, 0xde, 0x76, 0x86, 0xd6, 0x70, 0x94, 0x85, 0x73, 0xa4, 0x02, 0x4f, 0xee, 0xac, 0x61, 0xb7, + 0x3f, 0xec, 0x55, 0xf3, 0xf1, 0x0f, 0x1d, 0x0f, 0x87, 0xf1, 0x4f, 0x81, 0x3c, 0x85, 0xf2, 0xfd, + 0xf8, 0xe6, 0xc6, 0xb2, 0xba, 0x56, 0xb7, 0x7a, 0x74, 0xfd, 0xcd, 0xaf, 0x5f, 0xcf, 0x5d, 0xf9, + 0x47, 0x34, 0x31, 0x1d, 0x7f, 0xd9, 0x52, 0xcd, 0xfb, 0xe1, 0x5c, 0x7f, 0xb4, 0xb2, 0x97, 0x68, + 0x8e, 0xbc, 0x15, 0x4c, 0x3e, 0x99, 0xfb, 0xad, 0xdd, 0x07, 0x72, 0x72, 0xac, 0xde, 0xa4, 0x97, + 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xd9, 0xa2, 0x5d, 0x39, 0x07, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.validate.go index 0ba579cb0b..186793932f 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.validate.go @@ -131,10 +131,10 @@ func (m *CreateTaskRequest) Validate() error { return nil } - if v, ok := interface{}(m.GetInputs()).(interface{ Validate() error }); ok { + if v, ok := interface{}(m.GetDeprecatedInputs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CreateTaskRequestValidationError{ - field: "Inputs", + field: "DeprecatedInputs", reason: "embedded message failed validation", cause: err, } @@ -163,6 +163,16 @@ func (m *CreateTaskRequest) Validate() error { } } + if v, ok := interface{}(m.GetInputs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CreateTaskRequestValidationError{ + field: "Inputs", + reason: "embedded message failed validation", + cause: err, + } + } + } + return nil } @@ -444,6 +454,16 @@ func (m *Resource) Validate() error { // no validation rules for State + if v, ok := interface{}(m.GetDeprecatedOutputs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ResourceValidationError{ + field: "DeprecatedOutputs", + reason: "embedded message failed validation", + cause: err, + } + } + } + if v, ok := interface{}(m.GetOutputs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceValidationError{ diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go index 6df8b56f29..57fc07f4ab 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go @@ -115,10 +115,15 @@ type ExecutionCreateRequest struct { // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - Inputs *core.LiteralMap `protobuf:"bytes,5,opt,name=inputs,proto3" json:"inputs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // Deprecated: Please use input_data instead. + Inputs *core.LiteralMap `protobuf:"bytes,5,opt,name=inputs,proto3" json:"inputs,omitempty"` // Deprecated: Do not use. + // The inputs required to start the execution. All required inputs must be + // included in this map. If not required and not provided, defaults apply. + // +optional + InputData *core.InputData `protobuf:"bytes,6,opt,name=input_data,json=inputData,proto3" json:"input_data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ExecutionCreateRequest) Reset() { *m = ExecutionCreateRequest{} } @@ -174,6 +179,7 @@ func (m *ExecutionCreateRequest) GetSpec() *ExecutionSpec { return nil } +// Deprecated: Do not use. func (m *ExecutionCreateRequest) GetInputs() *core.LiteralMap { if m != nil { return m.Inputs @@ -181,6 +187,13 @@ func (m *ExecutionCreateRequest) GetInputs() *core.LiteralMap { return nil } +func (m *ExecutionCreateRequest) GetInputData() *core.InputData { + if m != nil { + return m.InputData + } + return nil +} + // Request to relaunch the referenced execution. type ExecutionRelaunchRequest struct { // Identifier of the workflow execution to relaunch. @@ -1405,9 +1418,15 @@ type WorkflowExecutionGetDataResponse struct { // Deprecated: Please use full_inputs instead. Inputs *UrlBlob `protobuf:"bytes,2,opt,name=inputs,proto3" json:"inputs,omitempty"` // Deprecated: Do not use. // Full_inputs will only be populated if they are under a configured size threshold. - FullInputs *core.LiteralMap `protobuf:"bytes,3,opt,name=full_inputs,json=fullInputs,proto3" json:"full_inputs,omitempty"` + // Deprecated: Please use input_data instead. + FullInputs *core.LiteralMap `protobuf:"bytes,3,opt,name=full_inputs,json=fullInputs,proto3" json:"full_inputs,omitempty"` // Deprecated: Do not use. // Full_outputs will only be populated if they are under a configured size threshold. - FullOutputs *core.LiteralMap `protobuf:"bytes,4,opt,name=full_outputs,json=fullOutputs,proto3" json:"full_outputs,omitempty"` + // Deprecated: Please use output_data instead. + FullOutputs *core.LiteralMap `protobuf:"bytes,4,opt,name=full_outputs,json=fullOutputs,proto3" json:"full_outputs,omitempty"` // Deprecated: Do not use. + // InputData will only be populated if they are under a configured size threshold. + InputData *core.InputData `protobuf:"bytes,5,opt,name=input_data,json=inputData,proto3" json:"input_data,omitempty"` + // OutputData will only be populated if they are under a configured size threshold. + OutputData *core.OutputData `protobuf:"bytes,6,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1454,6 +1473,7 @@ func (m *WorkflowExecutionGetDataResponse) GetInputs() *UrlBlob { return nil } +// Deprecated: Do not use. func (m *WorkflowExecutionGetDataResponse) GetFullInputs() *core.LiteralMap { if m != nil { return m.FullInputs @@ -1461,6 +1481,7 @@ func (m *WorkflowExecutionGetDataResponse) GetFullInputs() *core.LiteralMap { return nil } +// Deprecated: Do not use. func (m *WorkflowExecutionGetDataResponse) GetFullOutputs() *core.LiteralMap { if m != nil { return m.FullOutputs @@ -1468,6 +1489,20 @@ func (m *WorkflowExecutionGetDataResponse) GetFullOutputs() *core.LiteralMap { return nil } +func (m *WorkflowExecutionGetDataResponse) GetInputData() *core.InputData { + if m != nil { + return m.InputData + } + return nil +} + +func (m *WorkflowExecutionGetDataResponse) GetOutputData() *core.OutputData { + if m != nil { + return m.OutputData + } + return nil +} + type ExecutionUpdateRequest struct { // Identifier of the execution to update Id *core.WorkflowExecutionIdentifier `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1729,120 +1764,122 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/execution.proto", fileDescriptor_4e2785d91b3809ec) } var fileDescriptor_4e2785d91b3809ec = []byte{ - // 1827 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0xdb, 0xc6, - 0x15, 0x16, 0x29, 0x52, 0xa2, 0x0e, 0x2d, 0x8a, 0x5e, 0x29, 0x32, 0x2c, 0x3b, 0xb6, 0x82, 0x4c, - 0x6b, 0x4f, 0x32, 0x25, 0x27, 0x4a, 0x3d, 0x9d, 0x38, 0x75, 0x26, 0x14, 0x45, 0x47, 0x4a, 0x75, - 0x71, 0x57, 0x17, 0xe7, 0x32, 0x19, 0x74, 0x05, 0xac, 0x48, 0xd4, 0x00, 0x16, 0xde, 0x5d, 0x48, - 0xf6, 0x3f, 0xe8, 0xf4, 0xa9, 0x8f, 0xed, 0x3f, 0xe8, 0x53, 0x1f, 0xfb, 0xd0, 0xe7, 0xfe, 0xb0, - 0x0c, 0x16, 0x0b, 0x10, 0x00, 0x29, 0x4b, 0x1e, 0xeb, 0x0d, 0xbb, 0xe7, 0x3b, 0x97, 0x3d, 0x7b, - 0x6e, 0x0b, 0x78, 0x70, 0xe6, 0xbd, 0x95, 0xd4, 0x75, 0xbc, 0x2e, 0x71, 0x7c, 0x37, 0xe8, 0xd2, - 0x37, 0xd4, 0x8e, 0xa4, 0xcb, 0x82, 0x4e, 0xc8, 0x99, 0x64, 0xa8, 0x95, 0xd2, 0x3b, 0x8a, 0xbe, - 0xf6, 0xa8, 0x84, 0xb7, 0xbd, 0x48, 0x48, 0xca, 0x2d, 0x22, 0x84, 0x3b, 0x0c, 0x7c, 0x1a, 0xc8, - 0x84, 0x71, 0xed, 0x5e, 0x19, 0xc8, 0x7c, 0x3f, 0x95, 0xba, 0x76, 0x3f, 0x23, 0xda, 0x8c, 0xd3, - 0xae, 0xe7, 0x4a, 0xca, 0x89, 0x27, 0x34, 0xf5, 0xe3, 0x22, 0xb5, 0x64, 0xd2, 0xda, 0x83, 0x22, - 0xd9, 0x75, 0x68, 0x20, 0xdd, 0x33, 0x97, 0xf2, 0x09, 0xcd, 0x8a, 0xee, 0x53, 0xc9, 0x5d, 0x5b, - 0x4c, 0xd7, 0x2c, 0xa8, 0x1d, 0x71, 0x57, 0xbe, 0x4d, 0x45, 0x0f, 0x19, 0x1b, 0x7a, 0xb4, 0xab, - 0x56, 0xa7, 0xd1, 0x59, 0xd7, 0x89, 0x38, 0xc9, 0xa9, 0x7e, 0x58, 0xa6, 0x4b, 0xd7, 0xa7, 0x42, - 0x12, 0x3f, 0xbc, 0x4c, 0xc0, 0x05, 0x27, 0x61, 0x48, 0xb9, 0x56, 0x6f, 0xfe, 0xbf, 0x02, 0xab, - 0x83, 0xf4, 0x3c, 0x7d, 0x4e, 0x89, 0xa4, 0x98, 0xbe, 0x8e, 0xa8, 0x90, 0xc8, 0x80, 0xf9, 0x90, - 0xb3, 0xbf, 0x52, 0x5b, 0x1a, 0x95, 0xf5, 0xca, 0xe3, 0x05, 0x9c, 0x2e, 0xd1, 0x2a, 0xcc, 0x39, - 0xcc, 0x27, 0x6e, 0x60, 0x54, 0x15, 0x41, 0xaf, 0x10, 0x82, 0x5a, 0x40, 0x7c, 0x6a, 0xcc, 0xaa, - 0x5d, 0xf5, 0x8d, 0xbe, 0x80, 0x9a, 0x08, 0xa9, 0x6d, 0xd4, 0xd6, 0x2b, 0x8f, 0x9b, 0x1b, 0x1f, - 0x77, 0x8a, 0xd7, 0xd7, 0xc9, 0x74, 0x1f, 0x86, 0xd4, 0xc6, 0x0a, 0x8a, 0xbe, 0x80, 0x39, 0x37, - 0x08, 0x23, 0x29, 0x8c, 0xba, 0x62, 0xba, 0x3b, 0x66, 0x8a, 0x7d, 0xd4, 0xd9, 0x4d, 0x6e, 0x67, - 0x8f, 0x84, 0x58, 0x03, 0xcd, 0x7f, 0x55, 0xc0, 0xc8, 0x44, 0x61, 0xea, 0x91, 0x28, 0xb0, 0x47, - 0xe9, 0x41, 0x9e, 0x42, 0xd5, 0x75, 0xd4, 0x19, 0x9a, 0x1b, 0x9f, 0x95, 0x64, 0xbd, 0x64, 0xfc, - 0xd5, 0x99, 0xc7, 0x2e, 0x32, 0xe6, 0x9d, 0xec, 0xf6, 0x70, 0xd5, 0x75, 0xa6, 0x1e, 0xe9, 0x11, - 0x2c, 0xb1, 0x73, 0xca, 0x2f, 0xb8, 0x2b, 0xa9, 0x65, 0x13, 0x7b, 0x44, 0xd5, 0xe9, 0x1a, 0xb8, - 0x95, 0x6d, 0xf7, 0xe3, 0xdd, 0xef, 0x6b, 0x8d, 0x6a, 0x7b, 0xd6, 0xfc, 0x77, 0x05, 0xee, 0xe4, - 0x6c, 0xb3, 0x63, 0xd0, 0x4d, 0x9a, 0x56, 0xcd, 0x99, 0xf6, 0x0c, 0x1a, 0x3e, 0x95, 0xc4, 0x21, - 0x92, 0x28, 0x93, 0x9b, 0x1b, 0x9f, 0x5c, 0xea, 0xf1, 0x3d, 0x0d, 0xc4, 0x19, 0x8b, 0x79, 0x9c, - 0xb3, 0x34, 0x0d, 0x06, 0x11, 0xb2, 0x40, 0xd0, 0x0f, 0xb1, 0xd4, 0xfc, 0x11, 0xee, 0x4d, 0x40, - 0xbe, 0xa3, 0xf2, 0x06, 0x9c, 0x60, 0xfe, 0xb7, 0x02, 0x0b, 0x19, 0xed, 0x83, 0xdc, 0x99, 0x06, - 0x6a, 0xf5, 0xfa, 0x81, 0xfa, 0x14, 0xe6, 0x6d, 0x8f, 0x89, 0x88, 0x53, 0xed, 0xec, 0xf5, 0x4b, - 0xb9, 0xfa, 0x09, 0x0e, 0xa7, 0x0c, 0xe6, 0x5f, 0x60, 0x31, 0x23, 0xee, 0xba, 0x42, 0xa2, 0xaf, - 0x00, 0xb2, 0xc2, 0x22, 0x8c, 0xca, 0xfa, 0x6c, 0x31, 0xf2, 0x4b, 0xf2, 0x70, 0x0e, 0x8c, 0x56, - 0xa0, 0x2e, 0xd9, 0x2b, 0x9a, 0xa6, 0x63, 0xb2, 0x30, 0x29, 0xb4, 0xc6, 0x99, 0xb2, 0xe9, 0xb1, - 0x53, 0xf4, 0x07, 0x98, 0x3b, 0x27, 0x5e, 0x44, 0x85, 0x76, 0xd1, 0xe5, 0x89, 0xb5, 0x59, 0x35, - 0x2a, 0xdb, 0x33, 0x58, 0xc3, 0x11, 0x82, 0xd9, 0x88, 0xbb, 0x89, 0xf8, 0xed, 0x19, 0x1c, 0x2f, - 0x36, 0xe7, 0xa0, 0xa6, 0x62, 0xa6, 0x0f, 0x8b, 0xbd, 0x53, 0xc6, 0x65, 0x1a, 0x4e, 0xb1, 0x35, - 0x36, 0x89, 0x04, 0xd5, 0x55, 0x23, 0x59, 0xa0, 0xfb, 0xb0, 0x10, 0x72, 0x37, 0xb0, 0xdd, 0x90, - 0x78, 0xda, 0xce, 0xf1, 0x86, 0xf9, 0xcf, 0x79, 0x68, 0x97, 0x7d, 0x85, 0xbe, 0x81, 0x79, 0x16, - 0x49, 0x55, 0x08, 0x12, 0x7b, 0x1f, 0x94, 0xdd, 0x51, 0x3c, 0x9f, 0x36, 0x3a, 0x65, 0x42, 0x4f, - 0xa0, 0x4e, 0x39, 0x67, 0x7c, 0xf2, 0x4a, 0xd5, 0x69, 0x33, 0x7d, 0x83, 0x18, 0xb4, 0x3d, 0x83, - 0x13, 0x34, 0xfa, 0x0d, 0x34, 0x49, 0x7c, 0x20, 0x2b, 0x39, 0x05, 0xc4, 0xb6, 0x6a, 0xd1, 0xa0, - 0x08, 0x7d, 0x75, 0xa0, 0xe7, 0xd0, 0x4a, 0x60, 0x59, 0xc2, 0xdd, 0x9a, 0x1e, 0x39, 0x05, 0xef, - 0x6c, 0xcf, 0xe0, 0x45, 0x52, 0x70, 0xd7, 0xb7, 0xd0, 0x4c, 0x0c, 0xb6, 0x94, 0x90, 0xc5, 0xeb, - 0xdd, 0x0c, 0x24, 0x3c, 0x5b, 0xb1, 0x84, 0xe7, 0xb0, 0x64, 0x33, 0x3f, 0x8c, 0x24, 0x75, 0x2c, - 0x5d, 0x38, 0x67, 0xaf, 0x21, 0x05, 0xb7, 0x52, 0xae, 0x1d, 0xc5, 0x84, 0xfe, 0x08, 0xf5, 0x70, - 0x44, 0x44, 0x52, 0xcd, 0x5a, 0x1b, 0xbf, 0xbd, 0x2a, 0x81, 0x3a, 0x2f, 0x62, 0x34, 0x4e, 0x98, - 0xe2, 0xf8, 0x15, 0x92, 0xf0, 0xd8, 0x08, 0x22, 0x75, 0xe5, 0x5e, 0xeb, 0x24, 0xed, 0xa7, 0x93, - 0xb6, 0x9f, 0xce, 0x51, 0xda, 0x9f, 0xf0, 0x82, 0x46, 0xf7, 0x24, 0x7a, 0x02, 0x8d, 0xb4, 0xaf, - 0x19, 0x73, 0xda, 0xf2, 0x32, 0xe3, 0x96, 0x06, 0xe0, 0x0c, 0x1a, 0x6b, 0xb4, 0x55, 0x91, 0x52, - 0x1a, 0xe7, 0xaf, 0xd6, 0xa8, 0xd1, 0x3d, 0x95, 0x6c, 0x51, 0xe8, 0xa4, 0xac, 0x8d, 0xab, 0x59, - 0x35, 0xba, 0x27, 0xd1, 0x26, 0x2c, 0x06, 0x2c, 0xae, 0x1b, 0x36, 0x49, 0x52, 0x75, 0x41, 0xa5, - 0xea, 0xfd, 0xf2, 0xb5, 0xef, 0xe7, 0x40, 0xb8, 0xc8, 0x82, 0x9e, 0x42, 0xf3, 0x42, 0x7b, 0xd3, - 0x72, 0x1d, 0xa3, 0x39, 0xf5, 0xb6, 0x72, 0xf5, 0x09, 0x52, 0xf4, 0x8e, 0x83, 0x7e, 0x81, 0x15, - 0x21, 0x49, 0xdc, 0x79, 0x46, 0x24, 0x18, 0x52, 0xcb, 0xa1, 0x92, 0xb8, 0x9e, 0x30, 0x5a, 0x4a, - 0xc8, 0xe7, 0x97, 0xd7, 0xad, 0x98, 0xa9, 0xaf, 0x78, 0xb6, 0x12, 0x16, 0x8c, 0xc4, 0xc4, 0xde, - 0xe6, 0x12, 0x2c, 0xea, 0x70, 0xe4, 0x54, 0x44, 0x9e, 0x34, 0x7f, 0x86, 0xd6, 0xe1, 0x5b, 0x21, - 0xa9, 0x9f, 0x45, 0xec, 0xe7, 0x70, 0x3b, 0x2b, 0x3e, 0x96, 0x9e, 0xb7, 0x74, 0xb2, 0xb7, 0xe9, - 0x38, 0x89, 0xd5, 0x7e, 0x9c, 0xf7, 0x71, 0x67, 0x12, 0x21, 0xb1, 0xd3, 0x56, 0x35, 0xde, 0x30, - 0xff, 0x57, 0x83, 0xdb, 0x13, 0x0d, 0x09, 0xf5, 0xa1, 0xe6, 0x33, 0x27, 0x29, 0x20, 0xad, 0x8d, - 0xee, 0x95, 0x1d, 0x2c, 0xb7, 0xc3, 0x1c, 0x8a, 0x15, 0xf3, 0xbb, 0x0b, 0x4e, 0x3c, 0xdc, 0x04, - 0x54, 0x48, 0x37, 0x18, 0xaa, 0x5c, 0x59, 0xc4, 0xe9, 0x12, 0x3d, 0x83, 0x5b, 0xc2, 0x1e, 0x51, - 0x27, 0xf2, 0x92, 0xe0, 0xa8, 0x5d, 0x19, 0x1c, 0xcd, 0x0c, 0xdf, 0x93, 0xe8, 0x27, 0xf8, 0x28, - 0x24, 0x9c, 0x06, 0xd2, 0x0a, 0x98, 0x43, 0xad, 0xcc, 0x1f, 0x3a, 0x23, 0xca, 0x49, 0xb5, 0xcf, - 0x1c, 0x3a, 0xad, 0x23, 0x2d, 0x27, 0x42, 0x0a, 0x64, 0xf4, 0x33, 0x2c, 0x73, 0x7a, 0x46, 0x39, - 0x0d, 0xec, 0xbc, 0xe4, 0xf6, 0x7b, 0xf7, 0x3b, 0x94, 0x89, 0x19, 0x0b, 0xff, 0x0e, 0x96, 0x84, - 0xba, 0xe7, 0x71, 0x41, 0xbb, 0x3d, 0xbd, 0xea, 0x16, 0xc3, 0x01, 0xb7, 0x44, 0x61, 0x6d, 0x0e, - 0x73, 0x9d, 0x2d, 0xbe, 0x0f, 0x04, 0x30, 0xb7, 0xd7, 0xdb, 0x3f, 0xee, 0xed, 0xb6, 0x67, 0xd0, - 0x22, 0x2c, 0x1c, 0xf6, 0xb7, 0x07, 0x5b, 0xc7, 0xbb, 0x83, 0xad, 0x76, 0x25, 0x26, 0x1d, 0xfe, - 0x78, 0x78, 0x34, 0xd8, 0x6b, 0x57, 0xd1, 0x2d, 0x68, 0xe0, 0xc1, 0x6e, 0xef, 0x78, 0xbf, 0xbf, - 0xdd, 0x9e, 0x45, 0x08, 0x5a, 0xfd, 0xed, 0x9d, 0xdd, 0x2d, 0xeb, 0xe5, 0x01, 0xfe, 0xd3, 0xf3, - 0xdd, 0x83, 0x97, 0xed, 0x5a, 0xcc, 0x8c, 0x07, 0xfd, 0x83, 0x93, 0x01, 0x1e, 0x6c, 0xb5, 0xeb, - 0xe6, 0x09, 0xb4, 0xf3, 0x49, 0xa6, 0xba, 0xe8, 0x44, 0x76, 0x56, 0xde, 0x3b, 0x3b, 0xcd, 0x7f, - 0x34, 0x72, 0x27, 0x38, 0x4c, 0x1a, 0x7d, 0x33, 0x19, 0x29, 0xad, 0xd0, 0x23, 0xc1, 0x25, 0xdd, - 0x33, 0x9f, 0xaf, 0x09, 0xfa, 0x85, 0x47, 0x02, 0xf4, 0x24, 0x9b, 0x66, 0xab, 0xd7, 0x29, 0xca, - 0x1a, 0xfc, 0x81, 0x93, 0x1c, 0xda, 0x2e, 0xfb, 0xa1, 0x3e, 0x7d, 0x40, 0x29, 0x3b, 0x30, 0xee, - 0x4f, 0xc5, 0x5a, 0xf5, 0x09, 0x34, 0x1d, 0x57, 0x90, 0x53, 0x8f, 0x5a, 0xc4, 0xf3, 0x54, 0x7d, - 0x6e, 0xc4, 0x0d, 0x48, 0x6f, 0xf6, 0x3c, 0x0f, 0x75, 0x60, 0xce, 0x23, 0xa7, 0xd4, 0x13, 0xba, - 0x08, 0xaf, 0x4e, 0xf4, 0x69, 0x45, 0xc5, 0x1a, 0x85, 0x9e, 0x41, 0x93, 0x04, 0x01, 0x93, 0xda, - 0xb4, 0xa4, 0xfc, 0xde, 0x9b, 0xe8, 0x9b, 0x63, 0x08, 0xce, 0xe3, 0xd1, 0x0e, 0xb4, 0xd3, 0x67, - 0x92, 0x65, 0xb3, 0x40, 0xd2, 0x37, 0x52, 0x75, 0xe9, 0x42, 0xa8, 0x2a, 0xdf, 0x1e, 0x6a, 0x58, - 0x3f, 0x41, 0xe1, 0x25, 0x51, 0xdc, 0x40, 0x5f, 0xc1, 0x02, 0x89, 0xe4, 0xc8, 0xe2, 0xcc, 0xa3, - 0x3a, 0x8f, 0x8c, 0x09, 0x3b, 0x22, 0x39, 0xc2, 0xcc, 0xa3, 0xea, 0x7a, 0x1a, 0x44, 0xaf, 0xd0, - 0x1e, 0xa0, 0xd7, 0x11, 0xf1, 0x62, 0x23, 0xd8, 0x99, 0x25, 0x28, 0x3f, 0x77, 0x6d, 0xaa, 0x53, - 0xe6, 0x61, 0xc9, 0x8e, 0x3f, 0x27, 0xc0, 0x83, 0xb3, 0xc3, 0x04, 0x86, 0xdb, 0xaf, 0x4b, 0x3b, - 0xf1, 0xa3, 0xc2, 0x27, 0x6f, 0xac, 0x90, 0x70, 0xe2, 0x79, 0xd4, 0x73, 0x85, 0x6f, 0xa0, 0xf5, - 0xca, 0xe3, 0x3a, 0x6e, 0xf9, 0xe4, 0xcd, 0x8b, 0xf1, 0x2e, 0xfa, 0x01, 0x56, 0x39, 0xb9, 0xb0, - 0x72, 0x33, 0x43, 0xec, 0x84, 0x33, 0x77, 0x68, 0x2c, 0x2b, 0xdd, 0x9f, 0x96, 0xed, 0xc7, 0xe4, - 0xe2, 0x20, 0x1b, 0x16, 0xfa, 0x0a, 0x8a, 0x97, 0xf9, 0xe4, 0x26, 0x7a, 0x01, 0x68, 0xf2, 0xf5, - 0x6c, 0xac, 0x4c, 0x0f, 0x3e, 0x5d, 0xdf, 0x7b, 0x19, 0x10, 0xdf, 0xb6, 0xcb, 0x5b, 0xe8, 0x5b, - 0x58, 0x74, 0x03, 0x49, 0x39, 0x8f, 0x42, 0xe9, 0x9e, 0x7a, 0xd4, 0xf8, 0xe8, 0x92, 0x62, 0xba, - 0xc9, 0x98, 0x77, 0x12, 0xcf, 0x9a, 0xb8, 0xc8, 0x30, 0xed, 0xad, 0xb5, 0x3a, 0xed, 0xad, 0x85, - 0x1e, 0x43, 0x8d, 0x06, 0xe7, 0xc2, 0xb8, 0xa3, 0x34, 0xac, 0x4c, 0xe4, 0x4a, 0x70, 0x2e, 0xb0, - 0x42, 0xc4, 0xef, 0x26, 0x49, 0x86, 0xc2, 0x30, 0xd6, 0x67, 0xe3, 0x77, 0x53, 0xfc, 0xbd, 0x69, - 0xc0, 0x6a, 0x3e, 0xea, 0xad, 0x58, 0x38, 0x77, 0x1d, 0x2a, 0xbe, 0xaf, 0x35, 0x6a, 0xed, 0xba, - 0xe9, 0xc3, 0xdd, 0x2c, 0xdb, 0x8e, 0x28, 0xf7, 0xdd, 0x20, 0xf7, 0x50, 0xfe, 0x90, 0x57, 0x47, - 0x36, 0x2c, 0x57, 0x73, 0xc3, 0xb2, 0x79, 0x1f, 0xd6, 0xa6, 0xa9, 0x4b, 0x9e, 0x62, 0xe6, 0x2f, - 0xf0, 0x70, 0xda, 0x73, 0x2a, 0xbe, 0xc9, 0x9b, 0x78, 0x52, 0xfd, 0xad, 0x0a, 0xeb, 0x97, 0xcb, - 0xd7, 0xcf, 0xc1, 0x27, 0xe5, 0xd9, 0xfc, 0x4e, 0xd9, 0xe3, 0xc7, 0xdc, 0x4b, 0x87, 0xf2, 0xf1, - 0x48, 0xfe, 0x65, 0xa9, 0x18, 0xbe, 0x93, 0x2b, 0x2d, 0x85, 0x4f, 0xa1, 0x79, 0x16, 0x79, 0xde, - 0x75, 0x67, 0x5b, 0x0c, 0x31, 0x3a, 0x9b, 0x69, 0x6f, 0x29, 0xde, 0xd4, 0xd8, 0xda, 0x55, 0xcc, - 0x4a, 0x55, 0x92, 0x1a, 0xc2, 0xfc, 0x7b, 0xfe, 0xef, 0xc8, 0xb1, 0x1a, 0x01, 0x6f, 0xe2, 0xd2, - 0x7f, 0x0f, 0x75, 0x35, 0x79, 0x29, 0x27, 0xb4, 0x26, 0x1b, 0x6c, 0x71, 0x66, 0xc3, 0x09, 0xd8, - 0xfc, 0x4f, 0x05, 0xee, 0xbd, 0x63, 0x9a, 0x1b, 0x4b, 0xad, 0xbc, 0x87, 0x54, 0xf4, 0x35, 0x34, - 0x99, 0x6d, 0x47, 0x9c, 0x27, 0xd3, 0x4e, 0xf5, 0xca, 0x69, 0x07, 0x52, 0x78, 0x4f, 0x16, 0x67, - 0xac, 0xd9, 0xf2, 0xa3, 0xee, 0x6e, 0xee, 0x6f, 0x42, 0xea, 0x3c, 0x1d, 0xc2, 0xe7, 0x60, 0x4e, - 0x0b, 0xb1, 0xbd, 0xe4, 0xd7, 0xd8, 0x0d, 0x25, 0x96, 0x43, 0x43, 0x39, 0x52, 0x27, 0xaa, 0xe3, - 0x64, 0x61, 0xee, 0xc3, 0xa7, 0xef, 0xd4, 0xab, 0xa3, 0xfb, 0x11, 0xd4, 0x44, 0x98, 0x35, 0xfa, - 0xe5, 0x72, 0x57, 0x09, 0x49, 0x80, 0x15, 0xe0, 0xb3, 0x6f, 0xa0, 0x55, 0x74, 0x2b, 0x5a, 0x81, - 0xf6, 0xe0, 0x87, 0x41, 0xff, 0xf8, 0x68, 0xe7, 0x60, 0xdf, 0xea, 0xf5, 0x8f, 0x76, 0x4e, 0x06, - 0xed, 0x19, 0xb4, 0x0a, 0x28, 0xb7, 0x8b, 0xfb, 0xdb, 0x3b, 0x27, 0xf1, 0xfc, 0xb3, 0xf9, 0xec, - 0xa7, 0xaf, 0x87, 0xae, 0x1c, 0x45, 0xa7, 0x1d, 0x9b, 0xf9, 0x5d, 0xa5, 0x86, 0xf1, 0x61, 0xf2, - 0xd1, 0xcd, 0xfe, 0x0c, 0x0e, 0x69, 0xd0, 0x0d, 0x4f, 0x7f, 0x37, 0x64, 0xdd, 0xe2, 0x3f, 0xcc, - 0xd3, 0x39, 0x75, 0x3f, 0x5f, 0xfe, 0x1a, 0x00, 0x00, 0xff, 0xff, 0x9d, 0xaa, 0x3a, 0xc4, 0x35, - 0x15, 0x00, 0x00, + // 1866 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x73, 0xdb, 0xc6, + 0x19, 0x17, 0x5f, 0x12, 0xf5, 0xd1, 0xa2, 0xe8, 0x95, 0x22, 0xc3, 0xb2, 0x63, 0x2b, 0xc8, 0xb4, + 0xf6, 0x24, 0x53, 0x72, 0xea, 0xd4, 0x93, 0x89, 0x53, 0x7b, 0x4c, 0x51, 0x74, 0xa4, 0x54, 0x0f, + 0x77, 0xf5, 0x70, 0x1e, 0x93, 0x41, 0x97, 0xc0, 0x92, 0x44, 0x8d, 0x97, 0x77, 0x17, 0x92, 0x7d, + 0xec, 0xa1, 0x97, 0x9e, 0x7a, 0x6c, 0xff, 0x83, 0x9e, 0x7a, 0xec, 0xa1, 0x7f, 0x5d, 0x06, 0x8b, + 0x05, 0x08, 0x80, 0xd4, 0x6b, 0xac, 0x1b, 0x76, 0xf7, 0xf7, 0x3d, 0xf6, 0xdb, 0xef, 0x09, 0x78, + 0x30, 0x74, 0x3e, 0x08, 0x6a, 0x5b, 0x4e, 0x87, 0x58, 0xae, 0xed, 0x75, 0xe8, 0x7b, 0x6a, 0x86, + 0xc2, 0xf6, 0xbd, 0x76, 0xc0, 0x7c, 0xe1, 0xa3, 0x66, 0x72, 0xde, 0x96, 0xe7, 0xeb, 0x8f, 0x0a, + 0x78, 0xd3, 0x09, 0xb9, 0xa0, 0xcc, 0x20, 0x9c, 0xdb, 0x23, 0xcf, 0xa5, 0x9e, 0x88, 0x09, 0xd7, + 0xef, 0x15, 0x81, 0xbe, 0xeb, 0x26, 0x5c, 0xd7, 0xef, 0xa7, 0x87, 0xa6, 0xcf, 0x68, 0xc7, 0xb1, + 0x05, 0x65, 0xc4, 0xe1, 0xea, 0xf4, 0xd3, 0xfc, 0x69, 0x41, 0xa5, 0xf5, 0x07, 0xf9, 0x63, 0xdb, + 0xa2, 0x9e, 0xb0, 0x87, 0x36, 0x65, 0x53, 0x92, 0xe5, 0xb9, 0x4b, 0x05, 0xb3, 0x4d, 0x3e, 0x5b, + 0x32, 0xa7, 0x66, 0xc8, 0x6c, 0xf1, 0x21, 0x61, 0x3d, 0xf2, 0xfd, 0x91, 0x43, 0x3b, 0x72, 0x35, + 0x08, 0x87, 0x1d, 0x2b, 0x64, 0x24, 0x23, 0xfa, 0x61, 0xf1, 0x5c, 0xd8, 0x2e, 0xe5, 0x82, 0xb8, + 0xc1, 0x79, 0x0c, 0xce, 0x18, 0x09, 0x02, 0xca, 0x94, 0x78, 0xfd, 0x6f, 0x65, 0x58, 0xeb, 0x27, + 0xf7, 0xe9, 0x31, 0x4a, 0x04, 0xc5, 0xf4, 0x5d, 0x48, 0xb9, 0x40, 0x1a, 0x2c, 0x04, 0xcc, 0xff, + 0x2b, 0x35, 0x85, 0x56, 0xda, 0x28, 0x3d, 0x5e, 0xc4, 0xc9, 0x12, 0xad, 0xc1, 0xbc, 0xe5, 0xbb, + 0xc4, 0xf6, 0xb4, 0xb2, 0x3c, 0x50, 0x2b, 0x84, 0xa0, 0xea, 0x11, 0x97, 0x6a, 0x15, 0xb9, 0x2b, + 0xbf, 0xd1, 0xef, 0xa1, 0xca, 0x03, 0x6a, 0x6a, 0xd5, 0x8d, 0xd2, 0xe3, 0xc6, 0x93, 0x4f, 0xdb, + 0xf9, 0xe7, 0x6b, 0xa7, 0xb2, 0x0f, 0x03, 0x6a, 0x62, 0x09, 0x45, 0x4f, 0x61, 0xde, 0xf6, 0x82, + 0x50, 0x70, 0xad, 0x26, 0x89, 0xee, 0x4e, 0x88, 0x22, 0x1b, 0xb5, 0x77, 0xe3, 0xd7, 0xd9, 0x23, + 0xc1, 0x66, 0x59, 0x2b, 0x61, 0x05, 0x46, 0x5f, 0x03, 0xc8, 0x2f, 0xc3, 0x22, 0x82, 0x68, 0xf3, + 0x92, 0x54, 0x2b, 0x90, 0xee, 0x44, 0x80, 0x2d, 0x22, 0x08, 0x5e, 0xb4, 0x93, 0x4f, 0xfd, 0xdf, + 0x25, 0xd0, 0x52, 0x3d, 0x30, 0x75, 0x48, 0xe8, 0x99, 0xe3, 0xc4, 0x0a, 0xcf, 0xa0, 0x6c, 0x5b, + 0xd2, 0x00, 0x8d, 0x27, 0x5f, 0x14, 0xb8, 0xbd, 0xf1, 0xd9, 0xdb, 0xa1, 0xe3, 0x9f, 0xa5, 0xc4, + 0x3b, 0xe9, 0xd3, 0xe3, 0xb2, 0x6d, 0xcd, 0xb4, 0xc7, 0x23, 0x58, 0xf6, 0x4f, 0x29, 0x3b, 0x63, + 0xb6, 0xa0, 0x86, 0x49, 0xcc, 0x31, 0x95, 0xa6, 0xa9, 0xe3, 0x66, 0xba, 0xdd, 0x8b, 0x76, 0xbf, + 0xaf, 0xd6, 0xcb, 0xad, 0x8a, 0xfe, 0x9f, 0x12, 0xdc, 0xc9, 0xe8, 0x66, 0x46, 0xa0, 0x9b, 0x54, + 0xad, 0x9c, 0x51, 0xed, 0x39, 0xd4, 0x5d, 0x2a, 0x88, 0x34, 0x5f, 0x45, 0x72, 0xfd, 0xec, 0xdc, + 0xe7, 0xda, 0x53, 0x40, 0x9c, 0x92, 0xe8, 0xc7, 0x19, 0x4d, 0x13, 0x4f, 0xe2, 0x81, 0xef, 0x71, + 0xfa, 0x31, 0x9a, 0xea, 0x3f, 0xc2, 0xbd, 0x29, 0xc8, 0x77, 0x54, 0xdc, 0x80, 0x11, 0xf4, 0xff, + 0x95, 0x60, 0x31, 0x3d, 0xfb, 0x28, 0x73, 0x26, 0x5e, 0x5e, 0xbe, 0xba, 0x97, 0x3f, 0x83, 0x05, + 0xd3, 0xf1, 0x79, 0xc8, 0xa8, 0x32, 0xf6, 0xc6, 0xb9, 0x54, 0xbd, 0x18, 0x87, 0x13, 0x02, 0xfd, + 0x2f, 0xb0, 0x94, 0x1e, 0xee, 0xda, 0x5c, 0xa0, 0x6f, 0x00, 0xd2, 0xac, 0xc4, 0xb5, 0xd2, 0x46, + 0x25, 0x1f, 0x36, 0x05, 0x7e, 0x38, 0x03, 0x46, 0xab, 0x50, 0x13, 0xfe, 0x5b, 0x9a, 0xc4, 0x72, + 0xbc, 0xd0, 0x29, 0x34, 0x33, 0x61, 0xe6, 0xf8, 0x03, 0xf4, 0x35, 0xcc, 0x9f, 0x12, 0x27, 0xa4, + 0x5c, 0x99, 0xe8, 0xe2, 0xa8, 0xdc, 0x9e, 0xc3, 0x0a, 0x8e, 0x10, 0x54, 0x42, 0x66, 0xc7, 0xec, + 0xb7, 0xe7, 0x70, 0xb4, 0xd8, 0x9c, 0x87, 0xaa, 0xf4, 0x99, 0x1e, 0x2c, 0x75, 0x07, 0x3e, 0x13, + 0x89, 0x3b, 0x45, 0xda, 0x98, 0x24, 0xe4, 0x54, 0xa5, 0x9c, 0x78, 0x81, 0xee, 0xc3, 0x62, 0xc0, + 0x6c, 0xcf, 0xb4, 0x03, 0xe2, 0x28, 0x3d, 0x27, 0x1b, 0xfa, 0xbf, 0x16, 0xa0, 0x55, 0xb4, 0x15, + 0x7a, 0x01, 0x0b, 0x7e, 0x28, 0x64, 0x16, 0x89, 0xf5, 0x7d, 0x50, 0x34, 0x47, 0xfe, 0x7e, 0x4a, + 0xe9, 0x84, 0x08, 0x3d, 0x85, 0x1a, 0x65, 0xcc, 0x67, 0xd3, 0x4f, 0x2a, 0x6f, 0x9b, 0xca, 0xeb, + 0x47, 0xa0, 0xed, 0x39, 0x1c, 0xa3, 0xd1, 0x6f, 0xa0, 0x41, 0xa2, 0x0b, 0x19, 0xf1, 0x2d, 0x20, + 0xd2, 0x55, 0xb1, 0x06, 0x79, 0xd0, 0x93, 0x17, 0x7a, 0x05, 0xcd, 0x18, 0x96, 0x06, 0xdc, 0xad, + 0xd9, 0x9e, 0x93, 0xb3, 0xce, 0xf6, 0x1c, 0x5e, 0x22, 0x39, 0x73, 0xbd, 0x84, 0x46, 0xac, 0x70, + 0x9c, 0xf4, 0x96, 0xae, 0xf6, 0x32, 0x10, 0xd3, 0x44, 0xc9, 0x0f, 0xbd, 0x82, 0x65, 0xd3, 0x77, + 0x83, 0x50, 0x50, 0xcb, 0x50, 0x59, 0xb7, 0x72, 0x95, 0xac, 0xdb, 0x4c, 0xa8, 0x76, 0xe2, 0xec, + 0xfb, 0x47, 0xa8, 0x05, 0x63, 0xc2, 0xe3, 0x6c, 0xd6, 0x7c, 0xf2, 0xdb, 0xcb, 0x02, 0xa8, 0xfd, + 0x3a, 0x42, 0xe3, 0x98, 0x28, 0xf2, 0x5f, 0x2e, 0x08, 0x8b, 0x94, 0x20, 0x42, 0xa5, 0xfd, 0xf5, + 0x76, 0x5c, 0xbb, 0xda, 0x49, 0xed, 0x6a, 0x1f, 0x25, 0xc5, 0x0d, 0x2f, 0x2a, 0x74, 0x57, 0xa0, + 0xa7, 0x50, 0x4f, 0x8a, 0xa2, 0x4a, 0xfa, 0x77, 0xa7, 0x08, 0xb7, 0x14, 0x00, 0xa7, 0xd0, 0x48, + 0xa2, 0x29, 0x93, 0x94, 0x94, 0xb8, 0x70, 0xb9, 0x44, 0x85, 0xee, 0xca, 0x60, 0x0b, 0x03, 0x2b, + 0x21, 0xad, 0x5f, 0x4e, 0xaa, 0xd0, 0x5d, 0x81, 0x36, 0x61, 0xc9, 0xf3, 0xa3, 0xbc, 0x61, 0x92, + 0x38, 0x54, 0x17, 0x65, 0xa8, 0xde, 0x2f, 0x3e, 0xfb, 0x7e, 0x06, 0x84, 0xf3, 0x24, 0xe8, 0x19, + 0x34, 0xce, 0x94, 0x35, 0x0d, 0xdb, 0xd2, 0x1a, 0x33, 0x5f, 0x2b, 0x93, 0x9f, 0x20, 0x41, 0xef, + 0x58, 0xe8, 0x17, 0x58, 0xe5, 0x82, 0x44, 0x95, 0x67, 0x4c, 0xbc, 0x11, 0x35, 0x2c, 0x2a, 0x88, + 0xed, 0x70, 0xad, 0x29, 0x99, 0x7c, 0x79, 0x7e, 0xde, 0x8a, 0x88, 0x7a, 0x92, 0x66, 0x2b, 0x26, + 0xc1, 0x88, 0x4f, 0xed, 0x6d, 0x2e, 0xc3, 0x92, 0x72, 0x47, 0x46, 0x79, 0xe8, 0x08, 0xfd, 0x67, + 0x68, 0x1e, 0x7e, 0xe0, 0x82, 0xba, 0xa9, 0xc7, 0x7e, 0x09, 0xb7, 0xd3, 0xe4, 0x63, 0xa8, 0x66, + 0x4d, 0x05, 0x7b, 0x8b, 0x4e, 0x82, 0x58, 0xee, 0x47, 0x71, 0x1f, 0x55, 0x26, 0x1e, 0x10, 0x33, + 0x29, 0x55, 0x93, 0x0d, 0xfd, 0xff, 0x55, 0xb8, 0x3d, 0x55, 0x90, 0x50, 0x0f, 0xaa, 0xae, 0x6f, + 0xc5, 0x09, 0xa4, 0xf9, 0xa4, 0x73, 0x69, 0x05, 0xcb, 0xec, 0xf8, 0x16, 0xc5, 0x92, 0xf8, 0xe2, + 0x84, 0x13, 0x75, 0x46, 0x1e, 0xe5, 0xc2, 0xf6, 0x46, 0x32, 0x56, 0x96, 0x70, 0xb2, 0x44, 0xcf, + 0xe1, 0x16, 0x37, 0xc7, 0xd4, 0x0a, 0x9d, 0xd8, 0x39, 0xaa, 0x97, 0x3a, 0x47, 0x23, 0xc5, 0x77, + 0x05, 0xfa, 0x09, 0x3e, 0x09, 0x08, 0xa3, 0x9e, 0x30, 0x3c, 0xdf, 0xa2, 0x46, 0x6a, 0x0f, 0x15, + 0x11, 0xc5, 0xa0, 0xda, 0xf7, 0x2d, 0x3a, 0xab, 0x22, 0xad, 0xc4, 0x4c, 0x72, 0xc7, 0xe8, 0x67, + 0x58, 0x61, 0x74, 0x48, 0x19, 0xf5, 0xcc, 0x2c, 0xe7, 0xd6, 0xb5, 0xeb, 0x1d, 0x4a, 0xd9, 0x4c, + 0x98, 0x7f, 0x07, 0xcb, 0x5c, 0xbe, 0xf3, 0x24, 0xa1, 0xdd, 0x9e, 0x9d, 0x75, 0xf3, 0xee, 0x80, + 0x9b, 0x3c, 0xb7, 0xd6, 0x47, 0x99, 0xca, 0x16, 0xbd, 0x07, 0x02, 0x98, 0xdf, 0xeb, 0xee, 0x1f, + 0x77, 0x77, 0x5b, 0x73, 0x68, 0x09, 0x16, 0x0f, 0x7b, 0xdb, 0xfd, 0xad, 0xe3, 0xdd, 0xfe, 0x56, + 0xab, 0x14, 0x1d, 0x1d, 0xfe, 0x78, 0x78, 0xd4, 0xdf, 0x6b, 0x95, 0xd1, 0x2d, 0xa8, 0xe3, 0xfe, + 0x6e, 0xf7, 0x78, 0xbf, 0xb7, 0xdd, 0xaa, 0x20, 0x04, 0xcd, 0xde, 0xf6, 0xce, 0xee, 0x96, 0xf1, + 0xe6, 0x00, 0xff, 0xe9, 0xd5, 0xee, 0xc1, 0x9b, 0x56, 0x35, 0x22, 0xc6, 0xfd, 0xde, 0xc1, 0x49, + 0x1f, 0xf7, 0xb7, 0x5a, 0x35, 0xfd, 0x04, 0x5a, 0xd9, 0x20, 0x93, 0x55, 0x74, 0x2a, 0x3a, 0x4b, + 0xd7, 0x8e, 0x4e, 0xfd, 0x9f, 0xf5, 0xcc, 0x0d, 0x0e, 0xe3, 0x42, 0xdf, 0x88, 0x5b, 0x4a, 0x23, + 0x70, 0x88, 0x77, 0x4e, 0xf5, 0xcc, 0xc6, 0x6b, 0x8c, 0x7e, 0xed, 0x10, 0x2f, 0xd3, 0x0a, 0x97, + 0xaf, 0xd3, 0x0a, 0x7f, 0x5c, 0x27, 0x87, 0xb6, 0x8b, 0x76, 0xa8, 0xcd, 0x6e, 0x50, 0x8a, 0x06, + 0x8c, 0xea, 0x53, 0x3e, 0x57, 0x7d, 0x06, 0x0d, 0xcb, 0xe6, 0x64, 0xe0, 0x50, 0x83, 0x38, 0x8e, + 0xcc, 0xcf, 0xf5, 0xa8, 0x00, 0xa9, 0xcd, 0xae, 0xe3, 0xa0, 0x36, 0xcc, 0x3b, 0x64, 0x40, 0x1d, + 0xae, 0x92, 0xf0, 0xda, 0x54, 0x9d, 0x96, 0xa7, 0x58, 0xa1, 0xd0, 0x73, 0x68, 0x10, 0xcf, 0xf3, + 0x85, 0x52, 0x2d, 0x4e, 0xbf, 0xf7, 0xa6, 0xea, 0xe6, 0x04, 0x82, 0xb3, 0x78, 0xb4, 0x03, 0xad, + 0x64, 0xc6, 0x32, 0x4c, 0xdf, 0x13, 0xf4, 0xbd, 0x90, 0x55, 0x3a, 0xe7, 0xaa, 0xd2, 0xb6, 0x87, + 0x0a, 0xd6, 0x8b, 0x51, 0x78, 0x99, 0xe7, 0x37, 0xd0, 0x37, 0xb0, 0x48, 0x42, 0x31, 0x36, 0x98, + 0xef, 0x50, 0x15, 0x47, 0xda, 0x94, 0x1e, 0xa1, 0x18, 0x63, 0xdf, 0xa1, 0xf2, 0x79, 0xea, 0x44, + 0xad, 0xd0, 0x1e, 0xa0, 0x77, 0x21, 0x71, 0x22, 0x25, 0xfc, 0xa1, 0xc1, 0x29, 0x3b, 0xb5, 0x4d, + 0xaa, 0x42, 0xe6, 0x61, 0x41, 0x8f, 0x3f, 0xc7, 0xc0, 0x83, 0xe1, 0x61, 0x0c, 0xc3, 0xad, 0x77, + 0x85, 0x9d, 0x68, 0xa8, 0x70, 0xc9, 0x7b, 0x23, 0x20, 0x8c, 0x38, 0x0e, 0x75, 0x6c, 0xee, 0x6a, + 0x68, 0xa3, 0xf4, 0xb8, 0x86, 0x9b, 0x2e, 0x79, 0xff, 0x7a, 0xb2, 0x8b, 0x7e, 0x80, 0x35, 0x46, + 0xce, 0x8c, 0x4c, 0xcf, 0x10, 0x19, 0x61, 0x68, 0x8f, 0xb4, 0x15, 0x29, 0xfb, 0xf3, 0xa2, 0xfe, + 0x98, 0x9c, 0x1d, 0xa4, 0xcd, 0x42, 0x4f, 0x42, 0xf1, 0x0a, 0x9b, 0xde, 0x44, 0xaf, 0x01, 0x4d, + 0x8f, 0xde, 0xda, 0xea, 0x6c, 0xe7, 0x53, 0xf9, 0xbd, 0x9b, 0x02, 0xf1, 0x6d, 0xb3, 0xb8, 0x85, + 0x5e, 0xc2, 0x92, 0xed, 0x09, 0xca, 0x58, 0x18, 0x08, 0x7b, 0xe0, 0x50, 0xed, 0x93, 0x73, 0x92, + 0xe9, 0xa6, 0xef, 0x3b, 0x27, 0x51, 0xaf, 0x89, 0xf3, 0x04, 0xb3, 0x66, 0xad, 0xb5, 0x59, 0xb3, + 0x16, 0x7a, 0x0c, 0x55, 0xea, 0x9d, 0x72, 0xed, 0x8e, 0x94, 0xb0, 0x3a, 0x15, 0x2b, 0xde, 0x29, + 0xc7, 0x12, 0x11, 0xcd, 0x4d, 0x82, 0x8c, 0xb8, 0xa6, 0x6d, 0x54, 0xa2, 0xb9, 0x29, 0xfa, 0xde, + 0xd4, 0x60, 0x2d, 0xeb, 0xf5, 0x46, 0xc4, 0x9c, 0xd9, 0x16, 0xe5, 0xdf, 0x57, 0xeb, 0xd5, 0x56, + 0x4d, 0x77, 0xe1, 0x6e, 0x1a, 0x6d, 0x47, 0x94, 0xb9, 0xb6, 0x97, 0x99, 0xb2, 0x3f, 0x66, 0xea, + 0x48, 0x9b, 0xe5, 0x72, 0xa6, 0x59, 0xd6, 0xef, 0xc3, 0xfa, 0x2c, 0x71, 0xf1, 0x28, 0xa6, 0xff, + 0x02, 0x0f, 0x67, 0x8d, 0x53, 0x72, 0x26, 0xbe, 0x81, 0x91, 0xea, 0xef, 0x15, 0xd8, 0x38, 0x9f, + 0xbf, 0x1a, 0x07, 0x9f, 0x16, 0x7b, 0xf3, 0x3b, 0x45, 0x8b, 0x1f, 0x33, 0x27, 0x69, 0xca, 0x27, + 0x2d, 0xf9, 0x57, 0x85, 0x64, 0x78, 0x21, 0x55, 0x92, 0x0a, 0x5f, 0x40, 0x63, 0x18, 0x3a, 0xce, + 0xb5, 0x7a, 0x5b, 0x88, 0x28, 0x54, 0x5f, 0xfb, 0x12, 0x6e, 0x49, 0xfa, 0x44, 0xe1, 0xea, 0x55, + 0x18, 0x48, 0x91, 0x07, 0x4a, 0xed, 0xfc, 0x7f, 0x89, 0xda, 0x95, 0xff, 0x4b, 0x44, 0x85, 0x23, + 0xdb, 0xdc, 0xcf, 0xcf, 0x94, 0x3c, 0x09, 0xc4, 0x6c, 0x5b, 0xaf, 0xff, 0xa3, 0x94, 0xf9, 0xaf, + 0x73, 0x2c, 0xfb, 0xcf, 0x9b, 0xf0, 0xb8, 0x3f, 0x40, 0x4d, 0xb6, 0x7d, 0xf2, 0x05, 0x9a, 0xd3, + 0xd5, 0x3d, 0xdf, 0x30, 0xe2, 0x18, 0xac, 0xff, 0xb7, 0x04, 0xf7, 0x2e, 0x68, 0x25, 0x27, 0x5c, + 0x4b, 0xd7, 0xe0, 0x8a, 0xbe, 0x85, 0x86, 0x6f, 0x9a, 0x21, 0x63, 0x71, 0xab, 0x55, 0xbe, 0xb4, + 0xd5, 0x82, 0x04, 0xde, 0x15, 0xf9, 0x06, 0xaf, 0x52, 0x9c, 0x28, 0xef, 0x66, 0x7e, 0x65, 0x24, + 0xc6, 0x53, 0xf1, 0x73, 0x0a, 0xfa, 0x2c, 0xff, 0xde, 0x8b, 0x7f, 0xea, 0xdd, 0x50, 0x54, 0x5b, + 0x34, 0x10, 0x63, 0x79, 0xa3, 0x1a, 0x8e, 0x17, 0xfa, 0x3e, 0x7c, 0x7e, 0xa1, 0x5c, 0x15, 0x5a, + 0x8f, 0xa0, 0xca, 0x83, 0xb4, 0xcb, 0x58, 0x29, 0x96, 0xb4, 0x80, 0x78, 0x58, 0x02, 0xbe, 0x78, + 0x01, 0xcd, 0xbc, 0x59, 0xd1, 0x2a, 0xb4, 0xfa, 0x3f, 0xf4, 0x7b, 0xc7, 0x47, 0x3b, 0x07, 0xfb, + 0x46, 0xb7, 0x77, 0xb4, 0x73, 0xd2, 0x6f, 0xcd, 0xa1, 0x35, 0x40, 0x99, 0x5d, 0xdc, 0xdb, 0xde, + 0x39, 0x89, 0x9a, 0xaf, 0xcd, 0xe7, 0x3f, 0x7d, 0x3b, 0xb2, 0xc5, 0x38, 0x1c, 0xb4, 0x4d, 0xdf, + 0xed, 0x48, 0x31, 0x3e, 0x1b, 0xc5, 0x1f, 0x9d, 0xf4, 0x9f, 0xe6, 0x88, 0x7a, 0x9d, 0x60, 0xf0, + 0xbb, 0x91, 0xdf, 0xc9, 0xff, 0x7d, 0x1d, 0xcc, 0xcb, 0xf7, 0xf9, 0xea, 0xd7, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xe4, 0xe1, 0x0e, 0x1e, 0xef, 0x15, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go index 6ca7ee0f43..bf3c4b24c2 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go @@ -74,6 +74,16 @@ func (m *ExecutionCreateRequest) Validate() error { } } + if v, ok := interface{}(m.GetInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExecutionCreateRequestValidationError{ + field: "InputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + return nil } @@ -1736,6 +1746,26 @@ func (m *WorkflowExecutionGetDataResponse) Validate() error { } } + if v, ok := interface{}(m.GetInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return WorkflowExecutionGetDataResponseValidationError{ + field: "InputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetOutputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return WorkflowExecutionGetDataResponseValidationError{ + field: "OutputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + return nil } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go index 2b1826ae11..1a42716d6c 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go @@ -314,7 +314,11 @@ type LaunchPlanSpec struct { DefaultInputs *core.ParameterMap `protobuf:"bytes,3,opt,name=default_inputs,json=defaultInputs,proto3" json:"default_inputs,omitempty"` // Fixed, non-overridable inputs for the Launch Plan. // These can not be overridden when an execution is created with this launch plan. - FixedInputs *core.LiteralMap `protobuf:"bytes,4,opt,name=fixed_inputs,json=fixedInputs,proto3" json:"fixed_inputs,omitempty"` + // Deprecated: Please use fixec_input_data instead + FixedInputs *core.LiteralMap `protobuf:"bytes,4,opt,name=fixed_inputs,json=fixedInputs,proto3" json:"fixed_inputs,omitempty"` // Deprecated: Do not use. + // Fixed, non-overridable inputs for the Launch Plan. + // These can not be overridden when an execution is created with this launch plan. + FixedInputData *core.InputData `protobuf:"bytes,22,opt,name=fixed_input_data,json=fixedInputData,proto3" json:"fixed_input_data,omitempty"` // String to indicate the role to use to execute the workflow underneath Role string `protobuf:"bytes,5,opt,name=role,proto3" json:"role,omitempty"` // Deprecated: Do not use. // Custom labels to be applied to the execution resource. @@ -396,6 +400,7 @@ func (m *LaunchPlanSpec) GetDefaultInputs() *core.ParameterMap { return nil } +// Deprecated: Do not use. func (m *LaunchPlanSpec) GetFixedInputs() *core.LiteralMap { if m != nil { return m.FixedInputs @@ -403,6 +408,13 @@ func (m *LaunchPlanSpec) GetFixedInputs() *core.LiteralMap { return nil } +func (m *LaunchPlanSpec) GetFixedInputData() *core.InputData { + if m != nil { + return m.FixedInputData + } + return nil +} + // Deprecated: Do not use. func (m *LaunchPlanSpec) GetRole() string { if m != nil { @@ -850,77 +862,79 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/launch_plan.proto", fileDescriptor_368a863574f5e699) } var fileDescriptor_368a863574f5e699 = []byte{ - // 1152 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdb, 0x6e, 0xdb, 0x46, - 0x13, 0xfe, 0xa5, 0xc8, 0xa7, 0x71, 0x2c, 0x3b, 0x9b, 0xfc, 0x0e, 0xab, 0xa4, 0x89, 0xab, 0xa2, - 0xa8, 0xdb, 0x26, 0x12, 0x90, 0x36, 0x17, 0x39, 0x01, 0x95, 0x1d, 0x5f, 0x08, 0xcd, 0xc1, 0x5d, - 0xa7, 0x41, 0xd1, 0x1b, 0x62, 0x45, 0x8e, 0xa4, 0x6d, 0x96, 0x5c, 0x66, 0x77, 0x69, 0xcb, 0xe8, - 0x3b, 0xf4, 0x39, 0x8a, 0xbe, 0x43, 0x1f, 0xa1, 0xef, 0x54, 0x70, 0xb9, 0xa4, 0x24, 0xd2, 0x46, - 0xda, 0x02, 0xbd, 0x12, 0x67, 0xe7, 0xfb, 0x66, 0x67, 0x66, 0xe7, 0x20, 0xd8, 0x1b, 0x8b, 0x73, - 0x83, 0x3c, 0x14, 0x7d, 0x16, 0x46, 0x3c, 0xee, 0x0b, 0x96, 0xc6, 0xc1, 0xd4, 0x4f, 0x04, 0x8b, - 0x7b, 0x89, 0x92, 0x46, 0x92, 0x76, 0x81, 0xe8, 0x59, 0x44, 0xe7, 0xe3, 0x92, 0x11, 0x48, 0x85, - 0x7d, 0x9c, 0x61, 0x90, 0x1a, 0x2e, 0x1d, 0xbc, 0x73, 0x7b, 0x59, 0x2d, 0xb8, 0x41, 0xc5, 0x84, - 0x76, 0xda, 0x3b, 0xcb, 0x5a, 0x1e, 0x62, 0x6c, 0xf8, 0x98, 0xa3, 0x72, 0xfa, 0x8a, 0x71, 0x1e, - 0x1b, 0x54, 0x63, 0x16, 0xe0, 0xc5, 0xc6, 0x35, 0x06, 0xa9, 0xe2, 0xe6, 0xbc, 0x46, 0xce, 0x63, - 0xd1, 0xc1, 0x14, 0xc3, 0x54, 0x14, 0xe4, 0x5b, 0x15, 0x75, 0x20, 0xa3, 0xa8, 0x74, 0xfb, 0xee, - 0x44, 0xca, 0x89, 0xc0, 0xbe, 0x95, 0x46, 0xe9, 0xb8, 0x6f, 0x78, 0x84, 0xda, 0xb0, 0x28, 0x29, - 0x3c, 0xaf, 0x02, 0xce, 0x14, 0x4b, 0x12, 0x54, 0x2e, 0xb2, 0xee, 0x0c, 0x6e, 0xbe, 0xb0, 0xb9, - 0x3b, 0x16, 0x2c, 0x3e, 0x54, 0xc8, 0x0c, 0x52, 0x7c, 0x9f, 0xa2, 0x36, 0xe4, 0x0b, 0x68, 0xf2, - 0xd0, 0x6b, 0xec, 0x35, 0xf6, 0x37, 0x1f, 0x7c, 0xd4, 0x2b, 0xd3, 0x99, 0x85, 0xd0, 0x1b, 0x96, - 0x19, 0xa0, 0x4d, 0x1e, 0x92, 0x07, 0xd0, 0xd2, 0x09, 0x06, 0x5e, 0xd3, 0x82, 0xef, 0xf4, 0x96, - 0x73, 0xdf, 0x9b, 0xdf, 0x70, 0x92, 0x60, 0x40, 0x2d, 0xb6, 0xdb, 0x01, 0xaf, 0x7e, 0xb3, 0x4e, - 0x64, 0xac, 0xb1, 0xfb, 0x5b, 0x03, 0x60, 0xae, 0xfc, 0x8f, 0x3d, 0x21, 0x4f, 0x60, 0x2d, 0x10, - 0x52, 0xa7, 0x0a, 0xbd, 0x2b, 0x96, 0xf6, 0xc9, 0xe5, 0xb4, 0xc3, 0x1c, 0x48, 0x0b, 0x46, 0x17, - 0xa1, 0x3d, 0xd7, 0xbe, 0xe0, 0xda, 0x90, 0x67, 0x70, 0x75, 0xa1, 0x1c, 0xb5, 0xd7, 0xd8, 0xbb, - 0xb2, 0xbf, 0xf9, 0xa0, 0x73, 0xb9, 0x4d, 0xba, 0x29, 0xca, 0x6f, 0x4d, 0x6e, 0xc0, 0x8a, 0x91, - 0xef, 0x30, 0xb6, 0x21, 0x6c, 0xd0, 0x5c, 0xe8, 0x9e, 0x42, 0x6b, 0x90, 0x9a, 0x29, 0xb9, 0x07, - 0x84, 0x69, 0x9d, 0x46, 0x6c, 0x24, 0xd0, 0xe7, 0x2c, 0xf2, 0x95, 0x14, 0x68, 0x53, 0xb3, 0x41, - 0x77, 0x4a, 0xcd, 0x90, 0x45, 0x54, 0x0a, 0x24, 0x4f, 0xa1, 0xf3, 0x2e, 0x1d, 0xa1, 0x8a, 0xd1, - 0xa0, 0xf6, 0x35, 0xaa, 0x53, 0x1e, 0xa0, 0xcf, 0x82, 0x40, 0xa6, 0xb1, 0x71, 0x17, 0x78, 0x73, - 0xc4, 0x49, 0x0e, 0x18, 0xe4, 0xfa, 0xc7, 0x4d, 0xaf, 0xd1, 0xfd, 0x63, 0x6d, 0x31, 0xbe, 0x2c, - 0x69, 0xe4, 0x31, 0x6c, 0x9e, 0x49, 0xf5, 0x6e, 0x2c, 0xe4, 0x99, 0xff, 0x77, 0x9e, 0x05, 0x0a, - 0xf4, 0x30, 0x24, 0xdf, 0xc1, 0x76, 0x76, 0x6e, 0xce, 0xfd, 0x08, 0x0d, 0x0b, 0x99, 0x61, 0xee, - 0xa5, 0xba, 0x97, 0xa7, 0xe7, 0xa5, 0x43, 0xd2, 0x76, 0x4e, 0x2d, 0x64, 0x72, 0x00, 0xed, 0x10, - 0xc7, 0x2c, 0x15, 0xc6, 0xe7, 0x71, 0x92, 0x1a, 0xed, 0x9e, 0xef, 0x56, 0xc5, 0x97, 0x63, 0xa6, - 0x58, 0x84, 0x06, 0xd5, 0x4b, 0x96, 0xd0, 0x2d, 0x47, 0x19, 0x5a, 0x06, 0x79, 0x0a, 0x57, 0xc7, - 0x7c, 0x86, 0x61, 0x61, 0xa1, 0x75, 0x61, 0x34, 0x2f, 0xf2, 0x71, 0x90, 0xf1, 0x37, 0x2d, 0xdc, - 0xb1, 0x77, 0xa1, 0x65, 0xf3, 0xbf, 0x92, 0x65, 0xf2, 0xa0, 0xe9, 0x35, 0xa8, 0x95, 0x49, 0x0f, - 0x56, 0x05, 0x1b, 0xa1, 0xd0, 0xde, 0xaa, 0xb5, 0xb7, 0x5b, 0x8f, 0x2e, 0xd3, 0x52, 0x87, 0x22, - 0xcf, 0x60, 0x93, 0xc5, 0xb1, 0x34, 0x2c, 0x9b, 0x48, 0xda, 0x5b, 0xab, 0x86, 0x91, 0x93, 0x06, - 0x73, 0x08, 0x5d, 0xc4, 0x93, 0x7b, 0xd0, 0x62, 0xa9, 0x99, 0x7a, 0xeb, 0x96, 0x77, 0xa3, 0xc6, - 0x4b, 0xcd, 0x34, 0x77, 0x2e, 0x43, 0x91, 0x47, 0xb0, 0x91, 0xfd, 0xe6, 0x95, 0xb3, 0x61, 0x29, - 0xde, 0x45, 0x94, 0xac, 0x82, 0x2c, 0x6d, 0x9d, 0x39, 0x89, 0x0c, 0x61, 0xa7, 0x18, 0x5e, 0x7e, - 0x20, 0x63, 0x83, 0x33, 0xe3, 0x41, 0xb5, 0xd3, 0x6c, 0xc6, 0x4e, 0x1c, 0xec, 0x30, 0x47, 0xd1, - 0x6d, 0xbd, 0x7c, 0x40, 0x5e, 0x02, 0x79, 0x9f, 0x32, 0x91, 0x59, 0x92, 0xe3, 0xa2, 0x34, 0xbd, - 0x1d, 0x6b, 0xec, 0x6e, 0xc5, 0xd8, 0xf7, 0x39, 0xf0, 0xf5, 0xd8, 0x15, 0x28, 0xdd, 0x79, 0x5f, - 0x39, 0x21, 0x3f, 0xc2, 0xae, 0x62, 0x67, 0xbe, 0x4c, 0x4d, 0x92, 0x1a, 0x3f, 0x2b, 0x8f, 0xcc, - 0xc1, 0x31, 0x9f, 0x78, 0xd7, 0xac, 0xc9, 0x4f, 0xab, 0x11, 0x52, 0x76, 0xf6, 0xda, 0x82, 0x9f, - 0x33, 0xc3, 0x0e, 0x2d, 0x94, 0x5e, 0x57, 0xf5, 0x43, 0xf2, 0x39, 0x6c, 0x47, 0x6c, 0xe6, 0x27, - 0x4c, 0x31, 0x21, 0x50, 0x70, 0x1d, 0x79, 0x64, 0xaf, 0xb1, 0xbf, 0x42, 0xdb, 0x11, 0x9b, 0x1d, - 0xcf, 0x4f, 0xc9, 0xb7, 0xb0, 0x65, 0x07, 0xbf, 0x4a, 0x13, 0xc3, 0x47, 0x02, 0xbd, 0xeb, 0xf6, - 0xe6, 0x4e, 0x2f, 0x1f, 0xc1, 0xbd, 0x62, 0x04, 0xf7, 0x0e, 0xa4, 0x14, 0x6f, 0x99, 0x48, 0x91, - 0x2e, 0x13, 0xb2, 0xab, 0xe4, 0x29, 0xaa, 0x33, 0xc5, 0x0d, 0xfa, 0x01, 0x0b, 0xa6, 0xe8, 0xdd, - 0xd8, 0x6b, 0xec, 0xaf, 0xd3, 0x76, 0x79, 0x7c, 0x98, 0x9d, 0x92, 0x7d, 0x68, 0x61, 0x7c, 0xaa, - 0xbd, 0xff, 0x5f, 0xfc, 0xe0, 0x47, 0xf1, 0xa9, 0xa6, 0x16, 0xd1, 0xfd, 0xb3, 0x09, 0xd7, 0x6a, - 0xd3, 0x8b, 0x3c, 0x84, 0x15, 0x6d, 0x98, 0xc9, 0x07, 0x47, 0x7b, 0x31, 0xdf, 0xb5, 0x31, 0x99, - 0xc1, 0x68, 0x8e, 0x26, 0xcf, 0x61, 0x1b, 0x67, 0x09, 0x06, 0x66, 0xde, 0x2f, 0xcd, 0x0f, 0x77, - 0x5c, 0xbb, 0xe0, 0xb8, 0xa6, 0x39, 0x82, 0x9d, 0xd2, 0x4a, 0xfe, 0x5e, 0x45, 0xe3, 0x76, 0x2a, - 0x66, 0xde, 0x32, 0xc5, 0xb3, 0x71, 0x96, 0x59, 0x29, 0x6f, 0xce, 0x1f, 0x48, 0x93, 0x47, 0x00, - 0x81, 0xdd, 0x1a, 0xa1, 0xcf, 0x8c, 0xeb, 0xdb, 0x7a, 0xae, 0xdf, 0x14, 0xfb, 0x90, 0x6e, 0x38, - 0xf4, 0xc0, 0x64, 0xd4, 0x34, 0x09, 0x0b, 0xea, 0xca, 0x87, 0xa9, 0x0e, 0x3d, 0x30, 0xdd, 0x5f, - 0x1b, 0x40, 0xea, 0xa3, 0x89, 0x7c, 0x03, 0xeb, 0xc5, 0xda, 0x76, 0x03, 0xb1, 0xd6, 0x52, 0x27, - 0x4e, 0x4f, 0x4b, 0x24, 0x39, 0x80, 0xad, 0x58, 0x66, 0x53, 0x32, 0x70, 0x8d, 0xdf, 0xb4, 0xab, - 0xe2, 0x76, 0x95, 0xfa, 0x6a, 0x01, 0x44, 0x97, 0x29, 0xdd, 0x5f, 0x16, 0x17, 0xf8, 0x0f, 0xd6, - 0xcf, 0x7f, 0xb1, 0xc0, 0xcb, 0x82, 0x68, 0xfe, 0x93, 0x82, 0x58, 0xde, 0xe1, 0xc5, 0xe5, 0x6e, - 0x87, 0x1f, 0xc3, 0xcd, 0x41, 0x60, 0xf8, 0x29, 0x2e, 0x2c, 0x3a, 0xe7, 0xd8, 0xc3, 0x05, 0xc7, - 0x3e, 0xab, 0x05, 0xcb, 0x22, 0x0c, 0x8f, 0xec, 0xa4, 0x5f, 0x76, 0xb2, 0xfb, 0x7b, 0x03, 0x6e, - 0x55, 0x4d, 0x66, 0x1b, 0xb7, 0x30, 0xeb, 0xc1, 0x5a, 0xa2, 0xe4, 0xcf, 0x18, 0x18, 0xb7, 0x10, - 0x0b, 0x91, 0xec, 0xc2, 0x6a, 0x28, 0x23, 0xc6, 0x8b, 0xa5, 0xea, 0xa4, 0x6c, 0xd7, 0x0a, 0x1e, - 0x71, 0x63, 0xeb, 0x6f, 0x8b, 0xe6, 0xc2, 0x7c, 0x03, 0xb7, 0x16, 0x36, 0x30, 0xb9, 0x0f, 0x6b, - 0x5a, 0x2a, 0xe3, 0x8f, 0xce, 0x5d, 0xc5, 0xd4, 0xda, 0xee, 0x44, 0x2a, 0x43, 0x57, 0x33, 0xd0, - 0xc1, 0xf9, 0x97, 0x5f, 0xc1, 0x76, 0x25, 0x69, 0xe4, 0x2a, 0xac, 0x0f, 0x5f, 0x0d, 0x0e, 0xdf, - 0x0c, 0xdf, 0x1e, 0xed, 0xfc, 0x8f, 0x00, 0xac, 0xba, 0xef, 0xc6, 0xc1, 0xb3, 0x9f, 0x9e, 0x4c, - 0xb8, 0x99, 0xa6, 0xa3, 0x5e, 0x20, 0xa3, 0xbe, 0x35, 0x2b, 0xd5, 0x24, 0xff, 0xe8, 0x97, 0xff, - 0xff, 0x26, 0x18, 0xf7, 0x93, 0xd1, 0xfd, 0x89, 0xec, 0x2f, 0xff, 0x25, 0x1c, 0xad, 0xda, 0x9a, - 0xfd, 0xfa, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf3, 0xc1, 0x72, 0x27, 0x16, 0x0b, 0x00, 0x00, + // 1173 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x5d, 0x6f, 0xdb, 0x36, + 0x17, 0x7e, 0xed, 0x3a, 0x5f, 0x27, 0x8d, 0xe3, 0xb2, 0x7d, 0x53, 0xcd, 0xed, 0xda, 0xcc, 0xc3, + 0xb0, 0x6c, 0x6b, 0x6d, 0xa0, 0x5b, 0x2f, 0xda, 0xae, 0x40, 0xed, 0x34, 0x17, 0xc6, 0x9a, 0x36, + 0x63, 0xba, 0x62, 0xd8, 0x8d, 0x40, 0x4b, 0xc7, 0x36, 0x57, 0x4a, 0x54, 0x49, 0x2a, 0x71, 0xb0, + 0xeb, 0xdd, 0xee, 0x77, 0x0c, 0xfb, 0x2f, 0xfb, 0x4f, 0x83, 0x28, 0xca, 0x1f, 0x52, 0x83, 0x6e, + 0x03, 0x76, 0x25, 0x91, 0xe7, 0x79, 0x0e, 0xcf, 0x17, 0xcf, 0x21, 0xec, 0x8f, 0xc5, 0x85, 0x41, + 0x1e, 0x8a, 0x1e, 0x0b, 0x23, 0x1e, 0xf7, 0x04, 0x4b, 0xe3, 0x60, 0xea, 0x27, 0x82, 0xc5, 0xdd, + 0x44, 0x49, 0x23, 0x49, 0xb3, 0x40, 0x74, 0x2d, 0xa2, 0xfd, 0xf1, 0x9c, 0x11, 0x48, 0x85, 0x3d, + 0x9c, 0x61, 0x90, 0x1a, 0x2e, 0x1d, 0xbc, 0x7d, 0x7b, 0x55, 0x2c, 0xb8, 0x41, 0xc5, 0x84, 0x76, + 0xd2, 0x3b, 0xab, 0x52, 0x1e, 0x62, 0x6c, 0xf8, 0x98, 0xa3, 0x72, 0xf2, 0x92, 0x72, 0x1e, 0x1b, + 0x54, 0x63, 0x16, 0xe0, 0xfb, 0x95, 0x6b, 0x0c, 0x52, 0xc5, 0xcd, 0x45, 0x85, 0x9c, 0xfb, 0xa2, + 0x83, 0x29, 0x86, 0xa9, 0x28, 0xc8, 0xb7, 0x4a, 0xe2, 0x40, 0x46, 0xd1, 0xdc, 0xec, 0xbb, 0x13, + 0x29, 0x27, 0x02, 0x7b, 0x76, 0x35, 0x4a, 0xc7, 0x3d, 0xc3, 0x23, 0xd4, 0x86, 0x45, 0x49, 0x61, + 0x79, 0x19, 0x70, 0xae, 0x58, 0x92, 0xa0, 0x72, 0x9e, 0x75, 0x66, 0x70, 0xf3, 0x85, 0x8d, 0xdd, + 0x89, 0x60, 0xf1, 0xa1, 0x42, 0x66, 0x90, 0xe2, 0xbb, 0x14, 0xb5, 0x21, 0x5f, 0x40, 0x9d, 0x87, + 0x5e, 0x6d, 0xbf, 0x76, 0xb0, 0xfd, 0xe0, 0xa3, 0xee, 0x3c, 0x9c, 0x99, 0x0b, 0xdd, 0xe1, 0x3c, + 0x02, 0xb4, 0xce, 0x43, 0xf2, 0x00, 0x1a, 0x3a, 0xc1, 0xc0, 0xab, 0x5b, 0xf0, 0x9d, 0xee, 0x6a, + 0xec, 0xbb, 0x8b, 0x13, 0x4e, 0x13, 0x0c, 0xa8, 0xc5, 0x76, 0xda, 0xe0, 0x55, 0x4f, 0xd6, 0x89, + 0x8c, 0x35, 0x76, 0x7e, 0xaf, 0x01, 0x2c, 0x84, 0xff, 0xb1, 0x25, 0xe4, 0x09, 0x6c, 0x04, 0x42, + 0xea, 0x54, 0xa1, 0x77, 0xc5, 0xd2, 0x3e, 0xb9, 0x9c, 0x76, 0x98, 0x03, 0x69, 0xc1, 0xe8, 0x20, + 0x34, 0x17, 0xd2, 0x17, 0x5c, 0x1b, 0xf2, 0x14, 0xae, 0x2e, 0x95, 0xa3, 0xf6, 0x6a, 0xfb, 0x57, + 0x0e, 0xb6, 0x1f, 0xb4, 0x2f, 0xd7, 0x49, 0xb7, 0xc5, 0xfc, 0x5f, 0x93, 0x1b, 0xb0, 0x66, 0xe4, + 0x5b, 0x8c, 0xad, 0x0b, 0x5b, 0x34, 0x5f, 0x74, 0xce, 0xa0, 0xd1, 0x4f, 0xcd, 0x94, 0xdc, 0x03, + 0xc2, 0xb4, 0x4e, 0x23, 0x36, 0x12, 0xe8, 0x73, 0x16, 0xf9, 0x4a, 0x0a, 0xb4, 0xa1, 0xd9, 0xa2, + 0xad, 0xb9, 0x64, 0xc8, 0x22, 0x2a, 0x05, 0x92, 0x6f, 0xa1, 0xfd, 0x36, 0x1d, 0xa1, 0x8a, 0xd1, + 0xa0, 0xf6, 0x35, 0xaa, 0x33, 0x1e, 0xa0, 0xcf, 0x82, 0x40, 0xa6, 0xb1, 0x71, 0x07, 0x78, 0x0b, + 0xc4, 0x69, 0x0e, 0xe8, 0xe7, 0xf2, 0xc7, 0x75, 0xaf, 0xd6, 0xf9, 0x75, 0x73, 0xd9, 0xbf, 0x2c, + 0x68, 0xe4, 0x31, 0x6c, 0x9f, 0x4b, 0xf5, 0x76, 0x2c, 0xe4, 0xb9, 0xff, 0x77, 0xd2, 0x02, 0x05, + 0x7a, 0x18, 0x92, 0xef, 0x60, 0x37, 0xdb, 0x37, 0x17, 0x7e, 0x84, 0x86, 0x85, 0xcc, 0x30, 0x97, + 0xa9, 0xce, 0xe5, 0xe1, 0x39, 0x76, 0x48, 0xda, 0xcc, 0xa9, 0xc5, 0x9a, 0x0c, 0xa0, 0x19, 0xe2, + 0x98, 0xa5, 0xc2, 0xf8, 0x3c, 0x4e, 0x52, 0xa3, 0x5d, 0xfa, 0x6e, 0x95, 0x6c, 0x39, 0x61, 0x8a, + 0x45, 0x68, 0x50, 0x1d, 0xb3, 0x84, 0xee, 0x38, 0xca, 0xd0, 0x32, 0xc8, 0x33, 0xb8, 0x3a, 0xe6, + 0x33, 0x0c, 0x0b, 0x0d, 0x8d, 0xf7, 0x7a, 0xf3, 0x22, 0x6f, 0x07, 0xc7, 0x2c, 0x19, 0xd4, 0xbd, + 0x1a, 0xdd, 0xb6, 0x14, 0xa7, 0x61, 0x00, 0xad, 0x25, 0x0d, 0xbe, 0xf5, 0x69, 0xcf, 0x6a, 0xf1, + 0xca, 0x31, 0xc9, 0x00, 0xcf, 0xad, 0x27, 0x0b, 0x05, 0xd9, 0x9a, 0xec, 0x41, 0xc3, 0xe6, 0x71, + 0x2d, 0xcb, 0x88, 0x3d, 0xc2, 0xae, 0x49, 0x17, 0xd6, 0x05, 0x1b, 0xa1, 0xd0, 0xde, 0xba, 0xd5, + 0xb8, 0x57, 0x8d, 0x52, 0x26, 0xa5, 0x0e, 0x45, 0x9e, 0xc2, 0x36, 0x8b, 0x63, 0x69, 0x58, 0xd6, + 0xd9, 0xb4, 0xb7, 0x51, 0x0e, 0x47, 0x4e, 0xea, 0x2f, 0x20, 0x74, 0x19, 0x4f, 0xee, 0x41, 0x83, + 0xa5, 0x66, 0xea, 0x6d, 0x5a, 0xde, 0x8d, 0x0a, 0x2f, 0x35, 0xd3, 0xdc, 0xb8, 0x0c, 0x45, 0x1e, + 0xc1, 0x56, 0xf6, 0xcd, 0x2b, 0x70, 0xab, 0xec, 0xf1, 0x82, 0x92, 0x55, 0xa2, 0xa5, 0x6d, 0x32, + 0xb7, 0x22, 0x43, 0x68, 0x15, 0x4d, 0xd0, 0x0f, 0x64, 0x6c, 0x70, 0x66, 0x3c, 0x28, 0xdf, 0x58, + 0x1b, 0xb3, 0x53, 0x07, 0x3b, 0xcc, 0x51, 0x74, 0x57, 0xaf, 0x6e, 0x90, 0x63, 0x20, 0xef, 0x52, + 0x26, 0x32, 0x4d, 0x72, 0x5c, 0x94, 0xb8, 0xd7, 0xb2, 0xca, 0xee, 0x96, 0x94, 0x7d, 0x9f, 0x03, + 0x5f, 0x8d, 0x5d, 0xa1, 0xd3, 0xd6, 0xbb, 0xd2, 0x0e, 0xf9, 0x11, 0xf6, 0x14, 0x3b, 0xf7, 0x65, + 0x6a, 0x8a, 0x64, 0x66, 0x06, 0x8e, 0xf9, 0xc4, 0xbb, 0x66, 0x55, 0x7e, 0x5a, 0xf6, 0x90, 0xb2, + 0xf3, 0x57, 0x16, 0x9c, 0x25, 0xf2, 0xd0, 0x42, 0xe9, 0x75, 0x55, 0xdd, 0x24, 0x9f, 0xc3, 0x6e, + 0xc4, 0x66, 0x7e, 0xc2, 0x14, 0x13, 0x02, 0x05, 0xd7, 0x91, 0x47, 0xf6, 0x6b, 0x07, 0x6b, 0xb4, + 0x19, 0xb1, 0xd9, 0xc9, 0x62, 0x97, 0x3c, 0x83, 0x1d, 0x3b, 0x40, 0x54, 0x9a, 0x18, 0x3e, 0x12, + 0xe8, 0x5d, 0xb7, 0x27, 0xb7, 0xbb, 0x79, 0x2b, 0xef, 0x16, 0xad, 0xbc, 0x3b, 0x90, 0x52, 0xbc, + 0x61, 0x22, 0x45, 0xba, 0x4a, 0xc8, 0x8e, 0x92, 0x67, 0xa8, 0xce, 0x15, 0x37, 0xe8, 0x07, 0x2c, + 0x98, 0xa2, 0x77, 0x63, 0xbf, 0x76, 0xb0, 0x49, 0x9b, 0xf3, 0xed, 0xc3, 0x6c, 0x97, 0x1c, 0x40, + 0x03, 0xe3, 0x33, 0xed, 0xfd, 0xff, 0xfd, 0x09, 0x3f, 0x8a, 0xcf, 0x34, 0xb5, 0x88, 0xce, 0x9f, + 0x75, 0xb8, 0x56, 0xe9, 0x82, 0xe4, 0x21, 0xac, 0x69, 0xc3, 0x4c, 0xde, 0x80, 0x9a, 0xcb, 0xf1, + 0xae, 0xb4, 0xdb, 0x0c, 0x46, 0x73, 0x34, 0x79, 0x0e, 0xbb, 0x38, 0x4b, 0x30, 0x30, 0x8b, 0x7b, + 0x57, 0xff, 0xf0, 0xcd, 0x6d, 0x16, 0x1c, 0x77, 0xf1, 0x8e, 0xa0, 0x35, 0xd7, 0x92, 0xe7, 0xab, + 0x68, 0x00, 0xed, 0x92, 0x9a, 0x37, 0x4c, 0xf1, 0xac, 0x2d, 0x66, 0x5a, 0xe6, 0x27, 0xe7, 0x09, + 0xd2, 0xe4, 0x11, 0x40, 0x60, 0xa7, 0x4f, 0xe8, 0x33, 0xe3, 0xee, 0x7f, 0x35, 0xd6, 0xaf, 0x8b, + 0xb9, 0x4a, 0xb7, 0x1c, 0xba, 0x6f, 0x32, 0x6a, 0x9a, 0x84, 0x05, 0x75, 0xed, 0xc3, 0x54, 0x87, + 0xee, 0x9b, 0xce, 0x6f, 0x35, 0x20, 0xd5, 0x16, 0x47, 0xbe, 0x81, 0xcd, 0x62, 0xfc, 0xbb, 0xc6, + 0x5a, 0xb9, 0x52, 0xa7, 0x4e, 0x4e, 0xe7, 0x48, 0x32, 0x80, 0x9d, 0x58, 0x66, 0xdd, 0x36, 0x70, + 0x17, 0xbf, 0x6e, 0x47, 0xce, 0xed, 0x32, 0xf5, 0xe5, 0x12, 0x88, 0xae, 0x52, 0x3a, 0xbf, 0x2c, + 0x3f, 0x04, 0x7e, 0xb0, 0x76, 0xfe, 0x8b, 0x87, 0xc0, 0xbc, 0x20, 0xea, 0xff, 0xa4, 0x20, 0x56, + 0xdf, 0x02, 0xc5, 0xe1, 0xee, 0x2d, 0x70, 0x02, 0x37, 0xfb, 0x81, 0xe1, 0x67, 0xb8, 0x34, 0x30, + 0x9d, 0x61, 0x0f, 0x97, 0x0c, 0xfb, 0xac, 0xe2, 0x2c, 0x8b, 0x30, 0x3c, 0xb2, 0x13, 0x63, 0xd5, + 0xc8, 0xce, 0x1f, 0x35, 0xb8, 0x55, 0x56, 0x99, 0x4d, 0xee, 0x42, 0xad, 0x07, 0x1b, 0x89, 0x92, + 0x3f, 0x63, 0x60, 0xdc, 0x60, 0x2d, 0x96, 0x64, 0x0f, 0xd6, 0x43, 0x19, 0x31, 0x5e, 0x0c, 0x67, + 0xb7, 0xca, 0x66, 0xb6, 0xe0, 0x11, 0x37, 0xb6, 0xfe, 0x76, 0x68, 0xbe, 0x58, 0x4c, 0xf2, 0xc6, + 0xd2, 0x24, 0x27, 0xf7, 0x61, 0x43, 0x4b, 0x65, 0xfc, 0xd1, 0x85, 0xab, 0x98, 0xca, 0xb5, 0x3b, + 0x95, 0xca, 0xd0, 0xf5, 0x0c, 0x34, 0xb8, 0xf8, 0xf2, 0x2b, 0xd8, 0x2d, 0x05, 0x8d, 0x5c, 0x85, + 0xcd, 0xe1, 0xcb, 0xfe, 0xe1, 0xeb, 0xe1, 0x9b, 0xa3, 0xd6, 0xff, 0x08, 0xc0, 0xba, 0xfb, 0xaf, + 0x0d, 0x9e, 0xfe, 0xf4, 0x64, 0xc2, 0xcd, 0x34, 0x1d, 0x75, 0x03, 0x19, 0xf5, 0xac, 0x5a, 0xa9, + 0x26, 0xf9, 0x4f, 0x6f, 0xfe, 0x8e, 0x9c, 0x60, 0xdc, 0x4b, 0x46, 0xf7, 0x27, 0xb2, 0xb7, 0xfa, + 0xb4, 0x1c, 0xad, 0xdb, 0x9a, 0xfd, 0xfa, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x32, 0x5d, + 0x4e, 0x5e, 0x0b, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.validate.go index 21c16360fe..9d7c1eee8a 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.validate.go @@ -482,6 +482,16 @@ func (m *LaunchPlanSpec) Validate() error { } } + if v, ok := interface{}(m.GetFixedInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return LaunchPlanSpecValidationError{ + field: "FixedInputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + // no validation rules for Role if v, ok := interface{}(m.GetLabels()).(interface{ Validate() error }); ok { diff --git a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go index f1e7505a38..c4d1facfdf 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go @@ -870,9 +870,15 @@ type NodeExecutionGetDataResponse struct { // Deprecated: Please use full_outputs instead. Outputs *UrlBlob `protobuf:"bytes,2,opt,name=outputs,proto3" json:"outputs,omitempty"` // Deprecated: Do not use. // Full_inputs will only be populated if they are under a configured size threshold. - FullInputs *core.LiteralMap `protobuf:"bytes,3,opt,name=full_inputs,json=fullInputs,proto3" json:"full_inputs,omitempty"` + // Deprecated: Please use input_data instead. + FullInputs *core.LiteralMap `protobuf:"bytes,3,opt,name=full_inputs,json=fullInputs,proto3" json:"full_inputs,omitempty"` // Deprecated: Do not use. // Full_outputs will only be populated if they are under a configured size threshold. - FullOutputs *core.LiteralMap `protobuf:"bytes,4,opt,name=full_outputs,json=fullOutputs,proto3" json:"full_outputs,omitempty"` + // Deprecated: Please use output_data instead. + FullOutputs *core.LiteralMap `protobuf:"bytes,4,opt,name=full_outputs,json=fullOutputs,proto3" json:"full_outputs,omitempty"` // Deprecated: Do not use. + // InputData will only be populated if they are under a configured size threshold. + InputData *core.InputData `protobuf:"bytes,5,opt,name=input_data,json=inputData,proto3" json:"input_data,omitempty"` + // OutputData will only be populated if they are under a configured size threshold. + OutputData *core.OutputData `protobuf:"bytes,6,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` // Optional Workflow closure for a dynamically generated workflow, in the case this node yields a dynamic workflow we return its structure here. DynamicWorkflow *DynamicWorkflowNodeMetadata `protobuf:"bytes,16,opt,name=dynamic_workflow,json=dynamicWorkflow,proto3" json:"dynamic_workflow,omitempty"` FlyteUrls *FlyteURLs `protobuf:"bytes,17,opt,name=flyte_urls,json=flyteUrls,proto3" json:"flyte_urls,omitempty"` @@ -922,6 +928,7 @@ func (m *NodeExecutionGetDataResponse) GetOutputs() *UrlBlob { return nil } +// Deprecated: Do not use. func (m *NodeExecutionGetDataResponse) GetFullInputs() *core.LiteralMap { if m != nil { return m.FullInputs @@ -929,6 +936,7 @@ func (m *NodeExecutionGetDataResponse) GetFullInputs() *core.LiteralMap { return nil } +// Deprecated: Do not use. func (m *NodeExecutionGetDataResponse) GetFullOutputs() *core.LiteralMap { if m != nil { return m.FullOutputs @@ -936,6 +944,20 @@ func (m *NodeExecutionGetDataResponse) GetFullOutputs() *core.LiteralMap { return nil } +func (m *NodeExecutionGetDataResponse) GetInputData() *core.InputData { + if m != nil { + return m.InputData + } + return nil +} + +func (m *NodeExecutionGetDataResponse) GetOutputData() *core.OutputData { + if m != nil { + return m.OutputData + } + return nil +} + func (m *NodeExecutionGetDataResponse) GetDynamicWorkflow() *DynamicWorkflowNodeMetadata { if m != nil { return m.DynamicWorkflow @@ -970,81 +992,83 @@ func init() { } var fileDescriptor_f73b3eae493fd736 = []byte{ - // 1208 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x6d, 0x6f, 0x1b, 0xc5, - 0x13, 0xef, 0x25, 0x4d, 0x62, 0x8f, 0x13, 0x27, 0xd9, 0xbf, 0xfb, 0xaf, 0xdb, 0xf4, 0xc1, 0x5c, - 0x5b, 0x14, 0x40, 0xb5, 0x25, 0x57, 0x45, 0xe5, 0x99, 0x38, 0xe9, 0x43, 0x20, 0x85, 0xb2, 0xa9, - 0x41, 0x42, 0x88, 0xd3, 0xfa, 0x6e, 0xed, 0x2c, 0x3e, 0xdf, 0x5e, 0x77, 0xf7, 0x14, 0xfc, 0x45, - 0x90, 0xf8, 0x2a, 0xbc, 0xe2, 0x13, 0xf0, 0x35, 0x90, 0xf8, 0x00, 0xbc, 0x46, 0xbb, 0xb7, 0x77, - 0xf6, 0x5d, 0xdc, 0x44, 0x2a, 0x2f, 0x78, 0xe7, 0x9d, 0xf9, 0xcd, 0xcc, 0xce, 0xcc, 0x6f, 0x66, - 0xcf, 0x70, 0x67, 0x18, 0x4e, 0x15, 0x65, 0x41, 0xd8, 0x21, 0xc1, 0x84, 0x45, 0x9d, 0x88, 0x07, - 0xd4, 0xa3, 0x3f, 0x53, 0x3f, 0x51, 0x8c, 0x47, 0xed, 0x58, 0x70, 0xc5, 0x51, 0x3d, 0x03, 0xb5, - 0x0d, 0xe8, 0xfa, 0x4e, 0xc9, 0xc8, 0xe7, 0x93, 0x49, 0x06, 0xbe, 0x7e, 0x33, 0x57, 0xfa, 0x5c, - 0xd0, 0x4e, 0xc9, 0xd7, 0x9c, 0xad, 0x51, 0xfb, 0x44, 0x91, 0x90, 0x8f, 0xac, 0xf2, 0x46, 0x49, - 0xc9, 0x27, 0x31, 0x0b, 0xa9, 0xb0, 0xda, 0x5b, 0x45, 0x2d, 0x0b, 0x68, 0xa4, 0xd8, 0x90, 0xe5, - 0xfa, 0x92, 0x75, 0xc8, 0x14, 0x15, 0x24, 0x94, 0x56, 0x7b, 0x7b, 0xc4, 0xf9, 0x28, 0xa4, 0x1d, - 0x73, 0x1a, 0x24, 0xc3, 0x8e, 0x62, 0x13, 0x2a, 0x15, 0x99, 0xc4, 0x99, 0xfb, 0x32, 0x20, 0x48, - 0x04, 0x99, 0xdd, 0xdc, 0xfd, 0x06, 0xae, 0x7e, 0xc5, 0x03, 0xfa, 0x38, 0x4b, 0xe8, 0x29, 0x55, - 0x98, 0xbe, 0x4a, 0xa8, 0x54, 0xe8, 0x7d, 0x58, 0x62, 0x41, 0xd3, 0x69, 0x39, 0xbb, 0xb5, 0xee, - 0xdb, 0xed, 0xbc, 0x5a, 0xfa, 0x1a, 0xed, 0x82, 0xcd, 0x61, 0x7e, 0x67, 0xbc, 0xc4, 0x02, 0xf7, - 0xd7, 0x25, 0x68, 0x16, 0xf4, 0x47, 0x4c, 0xe6, 0x4e, 0x7f, 0x84, 0x2b, 0xa7, 0x5c, 0x8c, 0x87, - 0x21, 0x3f, 0x9d, 0x75, 0xc4, 0xcb, 0xe3, 0xbc, 0x5b, 0x8a, 0xf3, 0x9d, 0xc5, 0x2e, 0x8a, 0xf5, - 0xbf, 0xd3, 0xb3, 0x4a, 0xd4, 0x80, 0x95, 0x90, 0x4d, 0x98, 0x6a, 0x2e, 0xb5, 0x9c, 0xdd, 0x0d, - 0x9c, 0x1e, 0xb4, 0x54, 0xf1, 0x31, 0x8d, 0x9a, 0xcb, 0x2d, 0x67, 0xb7, 0x8a, 0xd3, 0x03, 0x6a, - 0xc2, 0xda, 0x90, 0x85, 0x8a, 0x0a, 0xd9, 0xbc, 0x6c, 0xe4, 0xd9, 0x11, 0xdd, 0x87, 0x35, 0xc9, - 0x85, 0xf2, 0x06, 0xd3, 0xe6, 0x8a, 0xb9, 0x57, 0xa3, 0x5d, 0x64, 0x4b, 0xfb, 0x98, 0x0b, 0x85, - 0x57, 0x35, 0xa8, 0x37, 0x45, 0xbb, 0xb0, 0x95, 0x44, 0xec, 0x55, 0x42, 0xbd, 0x98, 0x08, 0x1a, - 0x29, 0x9d, 0xcf, 0xaa, 0xf1, 0x58, 0x4f, 0xe5, 0x2f, 0x8c, 0xf8, 0x30, 0x70, 0xff, 0x72, 0xe0, - 0x76, 0xa1, 0x36, 0x4f, 0xb8, 0x78, 0x49, 0xe4, 0x78, 0xbe, 0x44, 0x18, 0xb6, 0x15, 0x91, 0xe3, - 0x45, 0xe5, 0x29, 0xb7, 0x41, 0x9b, 0x2e, 0x2a, 0xcd, 0xa6, 0x2a, 0x2a, 0xfe, 0x93, 0xb2, 0xb8, - 0x7f, 0x3a, 0xb0, 0x51, 0x48, 0xf6, 0x4d, 0x29, 0x85, 0x76, 0xa0, 0xca, 0xa2, 0x38, 0x51, 0x5e, - 0x22, 0x98, 0x49, 0xa1, 0x8a, 0x2b, 0x46, 0xd0, 0x17, 0x0c, 0x7d, 0x0a, 0x6b, 0x7e, 0xc8, 0x65, - 0x22, 0xa8, 0xc9, 0xa3, 0xd6, 0xbd, 0x5b, 0xbe, 0x55, 0xc1, 0xf5, 0x7e, 0x8a, 0xc5, 0x99, 0x11, - 0xda, 0x83, 0xca, 0x84, 0x2a, 0x12, 0x10, 0x45, 0x4c, 0xc2, 0xb5, 0xee, 0xbd, 0x73, 0x1d, 0x3c, - 0xa7, 0x8a, 0x1c, 0x10, 0x45, 0x70, 0x6e, 0xe6, 0xfe, 0xe6, 0xc0, 0x95, 0x85, 0x18, 0x74, 0x1b, - 0x6a, 0x82, 0x2a, 0x31, 0xf5, 0x46, 0x82, 0x27, 0xb1, 0x49, 0xbd, 0x8a, 0xc1, 0x88, 0x9e, 0x6a, - 0x09, 0xba, 0x0b, 0x75, 0x26, 0x33, 0xde, 0xe8, 0x45, 0x65, 0xf2, 0xab, 0xe0, 0x75, 0x26, 0x53, - 0xd6, 0x68, 0xbf, 0xa8, 0x05, 0xeb, 0x32, 0xa6, 0xbe, 0x01, 0x68, 0x3a, 0xa4, 0x0d, 0x03, 0x2d, - 0xd3, 0xfa, 0xc3, 0x00, 0xdd, 0x04, 0x60, 0xd2, 0x0b, 0xa6, 0x11, 0x99, 0x30, 0xdf, 0xe4, 0x51, - 0xc1, 0x55, 0x26, 0x0f, 0x52, 0x01, 0xba, 0x06, 0x15, 0x26, 0x3d, 0x22, 0x04, 0x49, 0x7b, 0x57, - 0xc1, 0x6b, 0x4c, 0xee, 0xe9, 0xa3, 0xfb, 0x0a, 0xb6, 0xcf, 0x8c, 0x2b, 0x7a, 0x02, 0x9b, 0xc5, - 0xad, 0x29, 0x9b, 0x4e, 0x6b, 0x79, 0xb7, 0xd6, 0xbd, 0x79, 0x6e, 0x6d, 0x70, 0x3d, 0x9a, 0x3f, - 0xca, 0x19, 0xc5, 0x96, 0xe6, 0x28, 0xe6, 0xfe, 0xbd, 0x02, 0x8d, 0x45, 0x4d, 0x41, 0x77, 0x00, - 0x78, 0xa2, 0xb2, 0x4e, 0x9b, 0x6a, 0xf5, 0x96, 0x9a, 0xce, 0xb3, 0x4b, 0xb8, 0x9a, 0xca, 0x75, - 0xc3, 0x1f, 0xc2, 0x0a, 0x15, 0x82, 0x0b, 0xe3, 0xb3, 0x70, 0x23, 0x43, 0xa4, 0xdc, 0xe9, 0x63, - 0x0d, 0x7a, 0x76, 0x09, 0xa7, 0x68, 0xf4, 0x39, 0xd4, 0xac, 0x6f, 0xd3, 0x6a, 0x30, 0xc6, 0xd7, - 0x4a, 0xc6, 0x47, 0xe9, 0x7e, 0x7d, 0x4e, 0x62, 0x1b, 0xd7, 0xde, 0xc7, 0x34, 0xf3, 0x11, 0xac, - 0xc4, 0x27, 0x44, 0xa6, 0x3c, 0xab, 0x77, 0xdd, 0xf3, 0x18, 0xdc, 0x7e, 0xa1, 0x91, 0x38, 0x35, - 0x40, 0x1f, 0x00, 0x48, 0x45, 0x84, 0xa2, 0x81, 0x47, 0x94, 0x65, 0xd9, 0xf5, 0x76, 0xba, 0x9b, - 0xdb, 0xd9, 0x6e, 0x6e, 0xbf, 0xcc, 0x96, 0x37, 0xae, 0x5a, 0xf4, 0x9e, 0x42, 0x0f, 0xa1, 0x92, - 0xed, 0x6c, 0x3b, 0x75, 0xd7, 0xce, 0x18, 0x1e, 0x58, 0x00, 0xce, 0xa1, 0x3a, 0xa2, 0x2f, 0x28, - 0xb1, 0x11, 0x57, 0x2f, 0x8e, 0x68, 0xd1, 0x7b, 0x4a, 0x9b, 0x26, 0x71, 0x90, 0x99, 0xae, 0x5d, - 0x6c, 0x6a, 0xd1, 0x7b, 0x0a, 0xfd, 0x00, 0xff, 0xcf, 0xd7, 0xbb, 0xe1, 0x4f, 0x3e, 0x59, 0x95, - 0xc5, 0xa3, 0x99, 0x2d, 0x78, 0x5d, 0xbb, 0xe7, 0x16, 0xfb, 0xcc, 0xc1, 0x8d, 0xd3, 0x05, 0x72, - 0xf4, 0x02, 0x90, 0xd9, 0x8c, 0x45, 0xcf, 0x55, 0xe3, 0xb9, 0x55, 0xf6, 0xac, 0x77, 0x63, 0xc9, - 0xeb, 0x96, 0x2a, 0xc9, 0xf4, 0x58, 0x04, 0xd4, 0x1f, 0x1b, 0xb6, 0xd5, 0xd2, 0x65, 0xa7, 0xcf, - 0x9a, 0x65, 0x1d, 0x68, 0xd8, 0x69, 0xf2, 0x7e, 0xe2, 0x03, 0xcf, 0x8c, 0x9f, 0x86, 0xad, 0x1b, - 0xd8, 0xb6, 0xd5, 0x7d, 0xc1, 0x07, 0xc7, 0x31, 0xf5, 0xfb, 0x82, 0xf5, 0x36, 0x61, 0xc3, 0xf2, - 0x4b, 0x50, 0x99, 0x84, 0xaa, 0xb7, 0x0d, 0x9b, 0x8a, 0x88, 0x11, 0x55, 0xf9, 0x5d, 0xdd, 0x00, - 0x1a, 0x8b, 0x32, 0x46, 0x47, 0x50, 0xa3, 0xb3, 0xdd, 0xf7, 0x06, 0x8f, 0xe1, 0xbc, 0xb9, 0xfb, - 0xbb, 0x03, 0x5b, 0xe5, 0xf4, 0xd1, 0x01, 0xac, 0xfb, 0xc4, 0x3f, 0xa1, 0x9e, 0x54, 0x44, 0x25, - 0xd2, 0xc4, 0xa8, 0x77, 0xdf, 0x2a, 0xc5, 0xd8, 0x4f, 0x3f, 0x5d, 0xf6, 0x35, 0xf2, 0xd8, 0x00, - 0x71, 0xcd, 0x9f, 0x1d, 0xd0, 0x67, 0x50, 0xb3, 0x5f, 0x37, 0xde, 0x98, 0x4e, 0xed, 0x04, 0xde, - 0x5a, 0xec, 0x24, 0x0b, 0x8d, 0xc1, 0x9a, 0x7c, 0x49, 0xa7, 0xe8, 0x1e, 0xd4, 0xfd, 0x13, 0xea, - 0x8f, 0x63, 0xce, 0xa2, 0x74, 0xca, 0xd3, 0x47, 0x66, 0x63, 0x26, 0xed, 0x0b, 0xe6, 0xfe, 0xe1, - 0xc0, 0x8e, 0xdd, 0x5d, 0x0b, 0x0b, 0xf6, 0xce, 0xdc, 0x4b, 0x52, 0x9e, 0xe1, 0xd2, 0xe3, 0x71, - 0x0c, 0xdb, 0xf6, 0x9b, 0x2b, 0xf0, 0x32, 0x5a, 0xd9, 0x8b, 0x97, 0xdf, 0xa0, 0x7d, 0x8b, 0xcb, - 0x42, 0x66, 0x6f, 0xc5, 0x96, 0x5f, 0x52, 0xbc, 0x96, 0x1d, 0xcb, 0xaf, 0x61, 0x87, 0xdb, 0x87, - 0x9d, 0xf2, 0x87, 0x96, 0x79, 0x44, 0xfe, 0xe5, 0xc7, 0xd6, 0x2f, 0xcb, 0x70, 0x63, 0xb1, 0x5f, - 0x19, 0xf3, 0x48, 0x52, 0xf4, 0x00, 0x56, 0xcd, 0x4b, 0x29, 0xad, 0xf3, 0xab, 0xe5, 0x39, 0xe9, - 0x8b, 0xb0, 0x17, 0xf2, 0x81, 0x5e, 0x77, 0xd8, 0x42, 0xd1, 0x43, 0x58, 0x4b, 0xa9, 0x2c, 0x6d, - 0xa1, 0xce, 0xb5, 0xca, 0xb0, 0xe8, 0x43, 0xa8, 0x0d, 0x93, 0x30, 0xf4, 0x6c, 0xc0, 0xe5, 0x0b, - 0x36, 0x2c, 0x06, 0x8d, 0x3e, 0x4c, 0x43, 0x7e, 0x0c, 0xeb, 0xc6, 0x36, 0x8b, 0x7b, 0xf9, 0x22, - 0x63, 0x13, 0xea, 0x6b, 0x1b, 0xf9, 0x5b, 0xd8, 0xca, 0xda, 0x91, 0xb7, 0x78, 0xcb, 0x78, 0x78, - 0xaf, 0x7c, 0xf3, 0x73, 0x58, 0x85, 0x37, 0x83, 0xa2, 0x12, 0x3d, 0x02, 0x30, 0xe6, 0x5e, 0x22, - 0x42, 0xd9, 0xdc, 0x2e, 0xdf, 0x29, 0xf5, 0xf8, 0x44, 0x1f, 0xfb, 0xf8, 0x48, 0xe2, 0xaa, 0xd1, - 0xf4, 0x45, 0x28, 0x7b, 0x9f, 0x7c, 0xff, 0xd1, 0x88, 0xa9, 0x93, 0x64, 0xd0, 0xf6, 0xf9, 0xa4, - 0x63, 0xe4, 0x5c, 0x8c, 0xd2, 0x1f, 0x9d, 0xfc, 0x9b, 0x7e, 0x44, 0xa3, 0x4e, 0x3c, 0xb8, 0x3f, - 0xe2, 0x9d, 0xe2, 0xbf, 0x8f, 0xc1, 0xaa, 0xd9, 0xb3, 0x0f, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, - 0xe3, 0xde, 0x8f, 0xda, 0xcb, 0x0c, 0x00, 0x00, + // 1243 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdb, 0x6e, 0x1c, 0x45, + 0x10, 0xcd, 0xd8, 0xb1, 0xbd, 0x5b, 0x6b, 0xaf, 0xed, 0xc6, 0x21, 0x9b, 0x38, 0x17, 0x33, 0x49, + 0x90, 0x01, 0x65, 0x57, 0x72, 0x14, 0x08, 0x20, 0x42, 0x7c, 0xc9, 0xc5, 0xe0, 0x90, 0xd0, 0xce, + 0x82, 0x84, 0x10, 0xa3, 0xde, 0x99, 0xf6, 0xba, 0xd9, 0xd9, 0xe9, 0x49, 0x77, 0x8f, 0xcc, 0x7e, + 0x07, 0x4f, 0xfc, 0x0a, 0x4f, 0x7c, 0x01, 0xbf, 0x81, 0xc4, 0x07, 0xf0, 0x8c, 0xfa, 0x32, 0x63, + 0xcf, 0x78, 0xe2, 0x44, 0xe1, 0x81, 0xb7, 0xed, 0xaa, 0x53, 0x55, 0x5d, 0xd5, 0xa7, 0xaa, 0x66, + 0xe1, 0xc6, 0x41, 0x3c, 0x51, 0x94, 0x45, 0x71, 0x8f, 0x44, 0x63, 0x96, 0xf4, 0x12, 0x1e, 0xd1, + 0x80, 0xfe, 0x42, 0xc3, 0x4c, 0x31, 0x9e, 0x74, 0x53, 0xc1, 0x15, 0x47, 0xed, 0x1c, 0xd4, 0x35, + 0xa0, 0xcb, 0xab, 0x15, 0xa3, 0x90, 0x8f, 0xc7, 0x39, 0xf8, 0xf2, 0xd5, 0x42, 0x19, 0x72, 0x41, + 0x7b, 0x15, 0x5f, 0x27, 0x6c, 0x8d, 0x3a, 0x24, 0x8a, 0xc4, 0x7c, 0xe8, 0x94, 0x57, 0x2a, 0x4a, + 0x3e, 0x4e, 0x59, 0x4c, 0x85, 0xd3, 0x5e, 0x2b, 0x6b, 0x59, 0x44, 0x13, 0xc5, 0x0e, 0x58, 0xa1, + 0xaf, 0x58, 0xc7, 0x4c, 0x51, 0x41, 0x62, 0xe9, 0xb4, 0xd7, 0x87, 0x9c, 0x0f, 0x63, 0xda, 0x33, + 0xa7, 0x41, 0x76, 0xd0, 0x53, 0x6c, 0x4c, 0xa5, 0x22, 0xe3, 0x34, 0x77, 0x5f, 0x05, 0x44, 0x99, + 0x20, 0xc7, 0x37, 0xf7, 0xbf, 0x85, 0x8b, 0xdf, 0xf0, 0x88, 0x3e, 0xcc, 0x13, 0x7a, 0x4c, 0x15, + 0xa6, 0x2f, 0x33, 0x2a, 0x15, 0xfa, 0x18, 0xa6, 0x58, 0xd4, 0xf1, 0xd6, 0xbc, 0xf5, 0xd6, 0xc6, + 0xfb, 0xdd, 0xa2, 0x5a, 0xfa, 0x1a, 0xdd, 0x92, 0xcd, 0x6e, 0x71, 0x67, 0x3c, 0xc5, 0x22, 0xff, + 0xb7, 0x29, 0xe8, 0x94, 0xf4, 0x7b, 0x4c, 0x16, 0x4e, 0x7f, 0x82, 0x0b, 0x47, 0x5c, 0x8c, 0x0e, + 0x62, 0x7e, 0x74, 0xfc, 0x22, 0x41, 0x11, 0xe7, 0xc3, 0x4a, 0x9c, 0xef, 0x1d, 0xb6, 0x2e, 0xd6, + 0x3b, 0x47, 0xa7, 0x95, 0x68, 0x05, 0x66, 0x62, 0x36, 0x66, 0xaa, 0x33, 0xb5, 0xe6, 0xad, 0x2f, + 0x60, 0x7b, 0xd0, 0x52, 0xc5, 0x47, 0x34, 0xe9, 0x4c, 0xaf, 0x79, 0xeb, 0x4d, 0x6c, 0x0f, 0xa8, + 0x03, 0x73, 0x07, 0x2c, 0x56, 0x54, 0xc8, 0xce, 0x79, 0x23, 0xcf, 0x8f, 0xe8, 0x36, 0xcc, 0x49, + 0x2e, 0x54, 0x30, 0x98, 0x74, 0x66, 0xcc, 0xbd, 0x56, 0xba, 0x65, 0xb6, 0x74, 0xf7, 0xb9, 0x50, + 0x78, 0x56, 0x83, 0xb6, 0x26, 0x68, 0x1d, 0x96, 0xb2, 0x84, 0xbd, 0xcc, 0x68, 0x90, 0x12, 0x41, + 0x13, 0xa5, 0xf3, 0x99, 0x35, 0x1e, 0xdb, 0x56, 0xfe, 0xdc, 0x88, 0x77, 0x23, 0xff, 0x6f, 0x0f, + 0xae, 0x97, 0x6a, 0xf3, 0x88, 0x8b, 0x17, 0x44, 0x8e, 0x4e, 0x96, 0x08, 0xc3, 0xb2, 0x22, 0x72, + 0x54, 0x57, 0x9e, 0xea, 0x33, 0x68, 0xd3, 0xba, 0xd2, 0x2c, 0xaa, 0xb2, 0xe2, 0x7f, 0x29, 0x8b, + 0xff, 0x97, 0x07, 0x0b, 0xa5, 0x64, 0xdf, 0x96, 0x52, 0x68, 0x15, 0x9a, 0x2c, 0x49, 0x33, 0x15, + 0x64, 0x82, 0x99, 0x14, 0x9a, 0xb8, 0x61, 0x04, 0x7d, 0xc1, 0xd0, 0x7d, 0x98, 0x0b, 0x63, 0x2e, + 0x33, 0x41, 0x4d, 0x1e, 0xad, 0x8d, 0x9b, 0xd5, 0x5b, 0x95, 0x5c, 0x6f, 0x5b, 0x2c, 0xce, 0x8d, + 0xd0, 0x26, 0x34, 0xc6, 0x54, 0x91, 0x88, 0x28, 0x62, 0x12, 0x6e, 0x6d, 0xdc, 0x3a, 0xd3, 0xc1, + 0x53, 0xaa, 0xc8, 0x0e, 0x51, 0x04, 0x17, 0x66, 0xfe, 0xef, 0x1e, 0x5c, 0xa8, 0xc5, 0xa0, 0xeb, + 0xd0, 0x12, 0x54, 0x89, 0x49, 0x30, 0x14, 0x3c, 0x4b, 0x4d, 0xea, 0x4d, 0x0c, 0x46, 0xf4, 0x58, + 0x4b, 0xd0, 0x4d, 0x68, 0x33, 0x99, 0xf3, 0x46, 0x0f, 0x2a, 0x93, 0x5f, 0x03, 0xcf, 0x33, 0x69, + 0x59, 0xa3, 0xfd, 0xa2, 0x35, 0x98, 0x97, 0x29, 0x0d, 0x0d, 0x40, 0xd3, 0xc1, 0x3e, 0x18, 0x68, + 0x99, 0xd6, 0xef, 0x46, 0xe8, 0x2a, 0x00, 0x93, 0x41, 0x34, 0x49, 0xc8, 0x98, 0x85, 0x26, 0x8f, + 0x06, 0x6e, 0x32, 0xb9, 0x63, 0x05, 0xe8, 0x12, 0x34, 0x98, 0x0c, 0x88, 0x10, 0xc4, 0xbe, 0x5d, + 0x03, 0xcf, 0x31, 0xb9, 0xa9, 0x8f, 0xfe, 0x4b, 0x58, 0x3e, 0xd5, 0xae, 0xe8, 0x11, 0x2c, 0x96, + 0xa7, 0xa6, 0xec, 0x78, 0x6b, 0xd3, 0xeb, 0xad, 0x8d, 0xab, 0x67, 0xd6, 0x06, 0xb7, 0x93, 0x93, + 0x47, 0x79, 0x4c, 0xb1, 0xa9, 0x13, 0x14, 0xf3, 0xff, 0x99, 0x81, 0x95, 0xba, 0x47, 0x41, 0x37, + 0x00, 0x78, 0xa6, 0xf2, 0x97, 0x36, 0xd5, 0xda, 0x9a, 0xea, 0x78, 0x4f, 0xce, 0xe1, 0xa6, 0x95, + 0xeb, 0x07, 0xbf, 0x0b, 0x33, 0x54, 0x08, 0x2e, 0x8c, 0xcf, 0xd2, 0x8d, 0x0c, 0x91, 0x0a, 0xa7, + 0x0f, 0x35, 0xe8, 0xc9, 0x39, 0x6c, 0xd1, 0xe8, 0x01, 0xb4, 0x9c, 0x6f, 0xf3, 0xd4, 0x60, 0x8c, + 0x2f, 0x55, 0x8c, 0xf7, 0xec, 0x7c, 0x7d, 0x4a, 0x52, 0x17, 0xd7, 0xdd, 0xc7, 0x3c, 0xe6, 0x3d, + 0x98, 0x49, 0x0f, 0x89, 0xb4, 0x3c, 0x6b, 0x6f, 0xf8, 0x67, 0x31, 0xb8, 0xfb, 0x5c, 0x23, 0xb1, + 0x35, 0x40, 0x9f, 0x02, 0x48, 0x45, 0x84, 0xa2, 0x51, 0x40, 0x94, 0x63, 0xd9, 0xe5, 0xae, 0x9d, + 0xcd, 0xdd, 0x7c, 0x36, 0x77, 0x5f, 0xe4, 0xc3, 0x1b, 0x37, 0x1d, 0x7a, 0x53, 0xa1, 0xbb, 0xd0, + 0xc8, 0x67, 0xb6, 0xeb, 0xba, 0x4b, 0xa7, 0x0c, 0x77, 0x1c, 0x00, 0x17, 0x50, 0x1d, 0x31, 0x14, + 0x94, 0xb8, 0x88, 0xb3, 0xaf, 0x8f, 0xe8, 0xd0, 0x9b, 0x4a, 0x9b, 0x66, 0x69, 0x94, 0x9b, 0xce, + 0xbd, 0xde, 0xd4, 0xa1, 0x37, 0x15, 0xfa, 0x11, 0xde, 0x2d, 0xc6, 0xbb, 0xe1, 0x4f, 0xd1, 0x59, + 0x8d, 0xfa, 0xd6, 0xcc, 0x07, 0xbc, 0xae, 0xdd, 0x53, 0x87, 0x7d, 0xe2, 0xe1, 0x95, 0xa3, 0x1a, + 0x39, 0x7a, 0x0e, 0xc8, 0x4c, 0xc6, 0xb2, 0xe7, 0xa6, 0xf1, 0xbc, 0x56, 0xf5, 0xac, 0x67, 0x63, + 0xc5, 0xeb, 0x92, 0xaa, 0xc8, 0x74, 0x5b, 0x44, 0x34, 0x1c, 0x19, 0xb6, 0xb5, 0xec, 0xb0, 0xd3, + 0x67, 0xcd, 0xb2, 0x1e, 0xac, 0xb8, 0x6e, 0x0a, 0x7e, 0xe6, 0x83, 0xc0, 0xb4, 0x9f, 0x86, 0xcd, + 0x1b, 0xd8, 0xb2, 0xd3, 0x7d, 0xc5, 0x07, 0xfb, 0x29, 0x0d, 0xfb, 0x82, 0x6d, 0x2d, 0xc2, 0x82, + 0xe3, 0x97, 0xa0, 0x32, 0x8b, 0xd5, 0xd6, 0x32, 0x2c, 0x2a, 0x22, 0x86, 0x54, 0x15, 0x77, 0xf5, + 0x23, 0x58, 0xa9, 0xcb, 0x18, 0xed, 0x41, 0x8b, 0x1e, 0xcf, 0xbe, 0xb7, 0x58, 0x86, 0x27, 0xcd, + 0xfd, 0x3f, 0x3c, 0x58, 0xaa, 0xa6, 0x8f, 0x76, 0x60, 0x3e, 0x24, 0xe1, 0x21, 0x0d, 0xa4, 0x22, + 0x2a, 0x93, 0x26, 0x46, 0x7b, 0xe3, 0xbd, 0x4a, 0x8c, 0x6d, 0xfb, 0xe9, 0xb2, 0xad, 0x91, 0xfb, + 0x06, 0x88, 0x5b, 0xe1, 0xf1, 0x01, 0x7d, 0x09, 0x2d, 0xf7, 0x75, 0x13, 0x8c, 0xe8, 0xc4, 0x75, + 0xe0, 0xb5, 0x7a, 0x27, 0x79, 0x68, 0x0c, 0xce, 0xe4, 0x6b, 0x3a, 0x41, 0xb7, 0xa0, 0x1d, 0x1e, + 0xd2, 0x70, 0x94, 0x72, 0x96, 0xd8, 0x2e, 0xb7, 0x4b, 0x66, 0xe1, 0x58, 0xda, 0x17, 0xcc, 0xff, + 0xd3, 0x83, 0x55, 0x37, 0xbb, 0x6a, 0x0b, 0xf6, 0xc1, 0x89, 0x4d, 0x52, 0xed, 0xe1, 0xca, 0xf2, + 0xd8, 0x87, 0x65, 0xf7, 0xcd, 0x15, 0x05, 0x39, 0xad, 0xdc, 0xc5, 0xab, 0x3b, 0x68, 0xdb, 0xe1, + 0xf2, 0x90, 0xf9, 0xae, 0x58, 0x0a, 0x2b, 0x8a, 0x57, 0xb2, 0x63, 0xfa, 0x15, 0xec, 0xf0, 0xfb, + 0xb0, 0x5a, 0xfd, 0xd0, 0x32, 0x4b, 0xe4, 0x3f, 0x7e, 0x6c, 0xfd, 0x7a, 0x1e, 0xae, 0xd4, 0xfb, + 0x95, 0x29, 0x4f, 0x24, 0x45, 0x77, 0x60, 0xd6, 0x6c, 0x4a, 0xe9, 0x9c, 0x5f, 0xac, 0xf6, 0x49, + 0x5f, 0xc4, 0x5b, 0x31, 0x1f, 0xe8, 0x71, 0x87, 0x1d, 0x14, 0xdd, 0x85, 0x39, 0x4b, 0x65, 0xe9, + 0x0a, 0x75, 0xa6, 0x55, 0x8e, 0x45, 0xf7, 0xa1, 0x75, 0x90, 0xc5, 0x71, 0xe0, 0x02, 0x4e, 0xbf, + 0xc1, 0x84, 0xc5, 0xa0, 0x2d, 0x76, 0x6d, 0xd8, 0x07, 0x30, 0x6f, 0xec, 0xf3, 0xd8, 0xe7, 0xdf, + 0xc4, 0x81, 0x09, 0xf9, 0xcc, 0xdd, 0xe0, 0x13, 0x00, 0xfb, 0xa1, 0x60, 0x26, 0x83, 0x1d, 0x97, + 0x9d, 0x2a, 0x3d, 0x12, 0x37, 0xcf, 0xb1, 0xfd, 0xa8, 0x30, 0xa3, 0xfd, 0xb3, 0xf2, 0x72, 0x98, + 0xad, 0x8d, 0xfc, 0xac, 0x58, 0x05, 0xa5, 0xb5, 0xf0, 0x1d, 0x2c, 0xe5, 0x5c, 0x28, 0xf8, 0xb5, + 0x64, 0x1c, 0x7c, 0x54, 0x2d, 0xdb, 0x19, 0x94, 0xc6, 0x8b, 0x51, 0x59, 0x89, 0xee, 0x01, 0x18, + 0xf3, 0x20, 0x13, 0xb1, 0xec, 0x2c, 0x57, 0xaf, 0x64, 0x3d, 0x3e, 0xd2, 0xc7, 0x3e, 0xde, 0x93, + 0xb8, 0x69, 0x34, 0x7d, 0x11, 0xcb, 0xad, 0x2f, 0x7e, 0xf8, 0x7c, 0xc8, 0xd4, 0x61, 0x36, 0xe8, + 0x86, 0x7c, 0xdc, 0x33, 0x72, 0x2e, 0x86, 0xf6, 0x47, 0xaf, 0xf8, 0x43, 0x31, 0xa4, 0x49, 0x2f, + 0x1d, 0xdc, 0x1e, 0xf2, 0x5e, 0xf9, 0xaf, 0xcf, 0x60, 0xd6, 0x0c, 0xf9, 0x3b, 0xff, 0x06, 0x00, + 0x00, 0xff, 0xff, 0x3c, 0x36, 0xc6, 0x10, 0x48, 0x0d, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go index 191b551497..f76bba3914 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go @@ -1110,6 +1110,26 @@ func (m *NodeExecutionGetDataResponse) Validate() error { } } + if v, ok := interface{}(m.GetInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return NodeExecutionGetDataResponseValidationError{ + field: "InputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetOutputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return NodeExecutionGetDataResponseValidationError{ + field: "OutputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + if v, ok := interface{}(m.GetDynamicWorkflow()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeExecutionGetDataResponseValidationError{ diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go index e4dd62374f..f014f23db2 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go @@ -586,9 +586,15 @@ type TaskExecutionGetDataResponse struct { // Deprecated: Please use full_outputs instead. Outputs *UrlBlob `protobuf:"bytes,2,opt,name=outputs,proto3" json:"outputs,omitempty"` // Deprecated: Do not use. // Full_inputs will only be populated if they are under a configured size threshold. - FullInputs *core.LiteralMap `protobuf:"bytes,3,opt,name=full_inputs,json=fullInputs,proto3" json:"full_inputs,omitempty"` + // Deprecated: Please use input_data instead. + FullInputs *core.LiteralMap `protobuf:"bytes,3,opt,name=full_inputs,json=fullInputs,proto3" json:"full_inputs,omitempty"` // Deprecated: Do not use. // Full_outputs will only be populated if they are under a configured size threshold. - FullOutputs *core.LiteralMap `protobuf:"bytes,4,opt,name=full_outputs,json=fullOutputs,proto3" json:"full_outputs,omitempty"` + // Deprecated: Please use output_data instead. + FullOutputs *core.LiteralMap `protobuf:"bytes,4,opt,name=full_outputs,json=fullOutputs,proto3" json:"full_outputs,omitempty"` // Deprecated: Do not use. + // InputData will only be populated if they are under a configured size threshold. + InputData *core.InputData `protobuf:"bytes,6,opt,name=input_data,json=inputData,proto3" json:"input_data,omitempty"` + // OutputData will only be populated if they are under a configured size threshold. + OutputData *core.OutputData `protobuf:"bytes,7,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` // flyte tiny url to fetch a core.LiteralMap of task execution's IO // Deck will be empty for task FlyteUrls *FlyteURLs `protobuf:"bytes,5,opt,name=flyte_urls,json=flyteUrls,proto3" json:"flyte_urls,omitempty"` @@ -638,6 +644,7 @@ func (m *TaskExecutionGetDataResponse) GetOutputs() *UrlBlob { return nil } +// Deprecated: Do not use. func (m *TaskExecutionGetDataResponse) GetFullInputs() *core.LiteralMap { if m != nil { return m.FullInputs @@ -645,6 +652,7 @@ func (m *TaskExecutionGetDataResponse) GetFullInputs() *core.LiteralMap { return nil } +// Deprecated: Do not use. func (m *TaskExecutionGetDataResponse) GetFullOutputs() *core.LiteralMap { if m != nil { return m.FullOutputs @@ -652,6 +660,20 @@ func (m *TaskExecutionGetDataResponse) GetFullOutputs() *core.LiteralMap { return nil } +func (m *TaskExecutionGetDataResponse) GetInputData() *core.InputData { + if m != nil { + return m.InputData + } + return nil +} + +func (m *TaskExecutionGetDataResponse) GetOutputData() *core.OutputData { + if m != nil { + return m.OutputData + } + return nil +} + func (m *TaskExecutionGetDataResponse) GetFlyteUrls() *FlyteURLs { if m != nil { return m.FlyteUrls @@ -675,63 +697,66 @@ func init() { } var fileDescriptor_8cde4c3aa101642e = []byte{ - // 927 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xeb, 0x6e, 0x1b, 0x45, - 0x14, 0xee, 0x3a, 0x89, 0x2f, 0xc7, 0xb9, 0x90, 0x51, 0xd4, 0x6c, 0x93, 0x14, 0x2c, 0x07, 0x90, - 0x85, 0xd4, 0x35, 0x4a, 0x15, 0x14, 0x28, 0x20, 0x6c, 0xda, 0xd2, 0x48, 0x29, 0x94, 0x69, 0xcc, - 0x0f, 0xfe, 0xac, 0xc6, 0xbb, 0x63, 0x77, 0x94, 0xdd, 0x9d, 0xed, 0xcc, 0x6c, 0x85, 0xdf, 0x85, - 0x67, 0x41, 0xe2, 0x59, 0x78, 0x11, 0x34, 0x97, 0x75, 0xb2, 0xdb, 0x10, 0x4b, 0xf4, 0x8f, 0xe5, - 0x73, 0xce, 0xf7, 0x9d, 0xfb, 0x19, 0x2d, 0x1c, 0xcf, 0x92, 0x85, 0xa2, 0x2c, 0x4e, 0x86, 0x24, - 0x4e, 0x59, 0x36, 0x54, 0x44, 0x5e, 0x85, 0xf4, 0x0f, 0x1a, 0x15, 0x8a, 0xf1, 0x2c, 0xc8, 0x05, - 0x57, 0x1c, 0x6d, 0x97, 0xa0, 0xc0, 0x80, 0x0e, 0x0e, 0x6b, 0xa4, 0x88, 0xa7, 0x69, 0x09, 0x3e, - 0x78, 0xb8, 0x34, 0x46, 0x5c, 0xd0, 0x61, 0xcd, 0xd7, 0xc1, 0xc7, 0x55, 0x33, 0x8b, 0x69, 0xa6, - 0xd8, 0x8c, 0x51, 0xe1, 0xec, 0x47, 0x55, 0x7b, 0xc2, 0x14, 0x15, 0x24, 0x91, 0xce, 0x7a, 0xb0, - 0xb4, 0xd2, 0x77, 0x34, 0x53, 0xf6, 0xd7, 0xd9, 0x3e, 0x99, 0x73, 0x3e, 0x4f, 0xe8, 0xd0, 0x48, - 0xd3, 0x62, 0x36, 0x54, 0x2c, 0xa5, 0x52, 0x91, 0x34, 0x2f, 0x43, 0xd7, 0x01, 0x71, 0x21, 0xc8, - 0x8d, 0xd4, 0x8e, 0xea, 0x76, 0xa9, 0x44, 0x11, 0x39, 0xf7, 0xfd, 0x5f, 0x61, 0xff, 0x92, 0xc8, - 0xab, 0x67, 0x65, 0x3d, 0x3f, 0x51, 0x85, 0xe9, 0xdb, 0x82, 0x4a, 0x85, 0xbe, 0x82, 0x06, 0x8b, - 0x7d, 0xaf, 0xe7, 0x0d, 0xba, 0x27, 0x9f, 0x07, 0xcb, 0x66, 0xe9, 0x02, 0x82, 0x0a, 0xe7, 0x7c, - 0x59, 0x2d, 0x6e, 0xb0, 0xb8, 0xff, 0x8f, 0x07, 0x7e, 0xc5, 0x7e, 0xc1, 0xe4, 0xd2, 0x29, 0x86, - 0xdd, 0x8c, 0xc7, 0xf4, 0x7a, 0x18, 0xe1, 0x7f, 0xc6, 0xf8, 0x99, 0xc7, 0xf4, 0xb6, 0x18, 0x3b, - 0x59, 0xd5, 0x80, 0xf6, 0x60, 0x23, 0x61, 0x29, 0x53, 0x7e, 0xa3, 0xe7, 0x0d, 0xb6, 0xb0, 0x15, - 0xb4, 0x56, 0xf1, 0x2b, 0x9a, 0xf9, 0x6b, 0x3d, 0x6f, 0xd0, 0xc1, 0x56, 0x40, 0x3e, 0xb4, 0x66, - 0x2c, 0x51, 0x54, 0x48, 0x7f, 0xdd, 0xe8, 0x4b, 0x11, 0x3d, 0x82, 0x96, 0xe4, 0x42, 0x85, 0xd3, - 0x85, 0xbf, 0x61, 0xf2, 0xd9, 0x0b, 0xaa, 0x0b, 0x12, 0xbc, 0xe6, 0x42, 0xe1, 0xa6, 0x06, 0x8d, - 0x17, 0xfd, 0xbf, 0x3d, 0xd8, 0xaa, 0x54, 0xf9, 0x7f, 0xfb, 0x85, 0x0e, 0xa1, 0xc3, 0xb2, 0xbc, - 0x50, 0x61, 0x21, 0x98, 0x29, 0xa1, 0x83, 0xdb, 0x46, 0x31, 0x11, 0x0c, 0x7d, 0x0f, 0xad, 0x28, - 0xe1, 0xb2, 0x10, 0xd4, 0xd4, 0xd1, 0x3d, 0xf9, 0xb4, 0x9e, 0x55, 0xc5, 0xf5, 0x8f, 0x16, 0x8b, - 0x4b, 0x92, 0x71, 0x2e, 0xc3, 0x9c, 0x08, 0x9a, 0x29, 0x53, 0x71, 0x1b, 0xb7, 0x99, 0x7c, 0x65, - 0xe4, 0xfe, 0x5b, 0xd8, 0x7d, 0x6f, 0x50, 0xe8, 0x39, 0xec, 0x54, 0xcf, 0x45, 0xfa, 0x5e, 0x6f, - 0x6d, 0xd0, 0x3d, 0x79, 0x78, 0x67, 0x64, 0xbc, 0xad, 0x6e, 0x8a, 0xf2, 0xba, 0xff, 0x8d, 0x1b, - 0xfd, 0xef, 0xff, 0xd9, 0x84, 0xbd, 0xdb, 0x32, 0x46, 0xc7, 0x00, 0xbc, 0x50, 0x65, 0x1b, 0x74, - 0x17, 0x3b, 0xe3, 0x86, 0xef, 0xbd, 0xb8, 0x87, 0x3b, 0x56, 0xaf, 0xbb, 0x71, 0x0a, 0x1b, 0x54, - 0x08, 0x2e, 0x8c, 0xcf, 0x4a, 0x46, 0xa6, 0xcb, 0x4b, 0xa7, 0xcf, 0x34, 0xe8, 0xc5, 0x3d, 0x6c, - 0xd1, 0xe8, 0x07, 0xe8, 0x3a, 0xdf, 0x31, 0x51, 0xc4, 0xdf, 0x34, 0xe4, 0x07, 0x35, 0xf2, 0x85, - 0xbd, 0xc9, 0x97, 0x24, 0x77, 0x71, 0x5d, 0x3e, 0x4f, 0x89, 0x22, 0xe8, 0x0c, 0x36, 0xf2, 0x37, - 0x44, 0xda, 0x21, 0x6c, 0x9f, 0xf4, 0xef, 0x1a, 0x6f, 0xf0, 0x4a, 0x23, 0xb1, 0x25, 0xa0, 0x2f, - 0x60, 0x3d, 0xe1, 0x73, 0xbd, 0x6d, 0xba, 0x87, 0xf7, 0x6f, 0x21, 0x5e, 0xf0, 0x39, 0x36, 0x18, - 0xf4, 0x35, 0x80, 0x54, 0x44, 0x28, 0x1a, 0x87, 0x44, 0xb9, 0x2d, 0x3c, 0x08, 0xec, 0xfd, 0x06, - 0xe5, 0xfd, 0x06, 0x97, 0xe5, 0x03, 0x80, 0x3b, 0x0e, 0x3d, 0x52, 0xe8, 0x14, 0xda, 0xe5, 0xdd, - 0xfb, 0x4d, 0x57, 0x5f, 0x9d, 0xf8, 0xd4, 0x01, 0xf0, 0x12, 0xaa, 0x23, 0x46, 0x82, 0x12, 0x17, - 0xb1, 0xb5, 0x3a, 0xa2, 0x43, 0x8f, 0x94, 0xa6, 0x16, 0x79, 0x5c, 0x52, 0xdb, 0xab, 0xa9, 0x0e, - 0x3d, 0x52, 0xe8, 0x0c, 0xba, 0x51, 0x21, 0x15, 0x4f, 0x43, 0x96, 0xcd, 0xb8, 0xdf, 0x31, 0xdc, - 0xfd, 0xf7, 0xb8, 0xaf, 0xcd, 0x43, 0x85, 0xc1, 0x62, 0xcf, 0xb3, 0x19, 0x47, 0xf7, 0xa1, 0x29, - 0x28, 0x91, 0x3c, 0xf3, 0xc1, 0x6c, 0x95, 0x93, 0xf4, 0x9a, 0x9b, 0xa5, 0x55, 0x8b, 0x9c, 0xfa, - 0x5d, 0x7b, 0x43, 0x5a, 0x71, 0xb9, 0xc8, 0x29, 0x1a, 0x41, 0x3b, 0xa5, 0x8a, 0x98, 0xd9, 0x7f, - 0x64, 0x62, 0x7d, 0x76, 0x3d, 0x06, 0xfb, 0xd6, 0x56, 0x06, 0xf8, 0xd2, 0x81, 0xf1, 0x92, 0x86, - 0x8e, 0x61, 0xcb, 0x00, 0xc3, 0x77, 0x54, 0x48, 0xdd, 0xe3, 0xdd, 0x9e, 0x37, 0xd8, 0xc0, 0x9b, - 0x46, 0xf9, 0x9b, 0xd5, 0xa1, 0x2f, 0xa1, 0x65, 0xd3, 0x91, 0x3e, 0xaa, 0x4f, 0xdb, 0x5e, 0x0c, - 0x36, 0x66, 0x5c, 0xc2, 0xc6, 0x3b, 0xb0, 0xe5, 0x16, 0x53, 0x50, 0x59, 0x24, 0xaa, 0x1f, 0x42, - 0xd3, 0x62, 0xd0, 0x13, 0xe8, 0xf2, 0x28, 0x2a, 0x84, 0xb0, 0xfd, 0xf5, 0x56, 0xf6, 0x17, 0x4a, - 0xf8, 0x48, 0xe9, 0x57, 0x2e, 0xa5, 0x52, 0x92, 0x39, 0x75, 0xd7, 0x57, 0x8a, 0xfd, 0x09, 0x1c, - 0xd6, 0xdf, 0x7b, 0xbd, 0xe0, 0x1f, 0xfa, 0xe6, 0xff, 0xd5, 0x80, 0xa3, 0xdb, 0xfd, 0xca, 0x9c, - 0x67, 0x92, 0xa2, 0xc7, 0xd0, 0x34, 0x6f, 0x9a, 0x74, 0xce, 0xf7, 0xeb, 0xad, 0x99, 0x88, 0x64, - 0x9c, 0xf0, 0xa9, 0xbe, 0x3d, 0xec, 0xa0, 0xe8, 0x14, 0x5a, 0xb6, 0x3d, 0xd2, 0x1d, 0xfc, 0x9d, - 0xac, 0x12, 0x8b, 0xbe, 0x81, 0xee, 0xac, 0x48, 0x92, 0xd0, 0x05, 0x5c, 0x5b, 0x71, 0xee, 0x18, - 0x34, 0xfa, 0xdc, 0x86, 0xfc, 0x16, 0x36, 0x0d, 0xb7, 0x8c, 0xbb, 0xbe, 0x8a, 0x6c, 0x42, 0xfd, - 0xe2, 0x22, 0x9f, 0x01, 0x18, 0x60, 0x58, 0x88, 0x44, 0xba, 0x03, 0x7e, 0x50, 0xcf, 0xf9, 0xb9, - 0x16, 0x27, 0xf8, 0x42, 0xe2, 0x8e, 0xb1, 0x4c, 0x44, 0x22, 0xc7, 0xdf, 0xfd, 0xfe, 0x64, 0xce, - 0xd4, 0x9b, 0x62, 0x1a, 0x44, 0x3c, 0x1d, 0x1a, 0x3d, 0x17, 0x73, 0xfb, 0x67, 0xb8, 0xfc, 0x3c, - 0x98, 0xd3, 0x6c, 0x98, 0x4f, 0x1f, 0xcd, 0xf9, 0xb0, 0xfa, 0xad, 0x32, 0x6d, 0x9a, 0x85, 0x78, - 0xfc, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5e, 0xcb, 0x61, 0x27, 0xf9, 0x08, 0x00, 0x00, + // 961 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdb, 0x6e, 0xdb, 0x46, + 0x10, 0x0d, 0xe5, 0xe8, 0x36, 0xf2, 0xa5, 0x5e, 0x18, 0x31, 0x23, 0x3b, 0xad, 0x20, 0xb7, 0x85, + 0x50, 0x20, 0x54, 0xe1, 0xc0, 0x6d, 0xda, 0xa0, 0x41, 0xa4, 0x26, 0x69, 0x0c, 0x38, 0x4d, 0xba, + 0xb1, 0xfa, 0xd0, 0x17, 0x82, 0x22, 0x57, 0xca, 0xc2, 0x24, 0x97, 0xd9, 0x5d, 0x06, 0xd5, 0xbf, + 0xf4, 0x4f, 0xfa, 0xd4, 0x6f, 0xe9, 0x8f, 0x14, 0x7b, 0x21, 0x6d, 0x32, 0xaa, 0x1d, 0xb4, 0x2f, + 0x82, 0x66, 0xe7, 0x9c, 0x99, 0xdd, 0x33, 0x17, 0x10, 0x8e, 0x16, 0xf1, 0x4a, 0x12, 0x1a, 0xc5, + 0xe3, 0x20, 0x4a, 0x68, 0x3a, 0x96, 0x81, 0xb8, 0xf0, 0xc9, 0xef, 0x24, 0xcc, 0x25, 0x65, 0xa9, + 0x97, 0x71, 0x26, 0x19, 0xda, 0x2e, 0x40, 0x9e, 0x06, 0xf5, 0x0f, 0x6a, 0xa4, 0x90, 0x25, 0x49, + 0x01, 0xee, 0xdf, 0x2b, 0x9d, 0x21, 0xe3, 0x64, 0x5c, 0x8b, 0xd5, 0xff, 0xb4, 0xea, 0xa6, 0x11, + 0x49, 0x25, 0x5d, 0x50, 0xc2, 0xad, 0xff, 0xb0, 0xea, 0x8f, 0xa9, 0x24, 0x3c, 0x88, 0x85, 0xf5, + 0xf6, 0x4b, 0x2f, 0x79, 0x4f, 0x52, 0x69, 0x7e, 0xad, 0xef, 0xb3, 0x25, 0x63, 0xcb, 0x98, 0x8c, + 0xb5, 0x35, 0xcf, 0x17, 0x63, 0x49, 0x13, 0x22, 0x64, 0x90, 0x64, 0x45, 0xea, 0x3a, 0x20, 0xca, + 0x79, 0x70, 0xe5, 0x6a, 0x87, 0x75, 0xbf, 0x90, 0x3c, 0x0f, 0x6d, 0xf8, 0xe1, 0x2f, 0xb0, 0x7f, + 0x1e, 0x88, 0x8b, 0x67, 0xc5, 0x7b, 0x7e, 0x22, 0x12, 0x93, 0x77, 0x39, 0x11, 0x12, 0x7d, 0x03, + 0x0d, 0x1a, 0xb9, 0xce, 0xc0, 0x19, 0xf5, 0x8e, 0xbf, 0xf4, 0x4a, 0xb1, 0xd4, 0x03, 0xbc, 0x0a, + 0xe7, 0xb4, 0x7c, 0x2d, 0x6e, 0xd0, 0x68, 0xf8, 0xb7, 0x03, 0x6e, 0xc5, 0x7f, 0x46, 0x45, 0x19, + 0x14, 0xc3, 0x6e, 0xca, 0x22, 0x72, 0x59, 0x0c, 0xff, 0x5f, 0x73, 0xfc, 0xcc, 0x22, 0xb2, 0x2e, + 0xc7, 0x4e, 0x5a, 0x75, 0xa0, 0x3d, 0x68, 0xc6, 0x34, 0xa1, 0xd2, 0x6d, 0x0c, 0x9c, 0xd1, 0x16, + 0x36, 0x86, 0x3a, 0x95, 0xec, 0x82, 0xa4, 0xee, 0xc6, 0xc0, 0x19, 0x75, 0xb1, 0x31, 0x90, 0x0b, + 0xed, 0x05, 0x8d, 0x25, 0xe1, 0xc2, 0xbd, 0xad, 0xcf, 0x0b, 0x13, 0xdd, 0x87, 0xb6, 0x60, 0x5c, + 0xfa, 0xf3, 0x95, 0xdb, 0xd4, 0xf7, 0xd9, 0xf3, 0xaa, 0x0d, 0xe2, 0xbd, 0x61, 0x5c, 0xe2, 0x96, + 0x02, 0x4d, 0x57, 0xc3, 0xbf, 0x1c, 0xd8, 0xaa, 0xbc, 0xf2, 0xbf, 0xea, 0x85, 0x0e, 0xa0, 0x4b, + 0xd3, 0x2c, 0x97, 0x7e, 0xce, 0xa9, 0x7e, 0x42, 0x17, 0x77, 0xf4, 0xc1, 0x8c, 0x53, 0xf4, 0x18, + 0xda, 0x61, 0xcc, 0x44, 0xce, 0x89, 0x7e, 0x47, 0xef, 0xf8, 0xf3, 0xfa, 0xad, 0x2a, 0xa1, 0x7f, + 0x34, 0x58, 0x5c, 0x90, 0x74, 0x70, 0xe1, 0x67, 0x01, 0x27, 0xa9, 0xd4, 0x2f, 0xee, 0xe0, 0x0e, + 0x15, 0xaf, 0xb5, 0x3d, 0x7c, 0x07, 0xbb, 0x1f, 0x14, 0x0a, 0x3d, 0x87, 0x9d, 0xea, 0xb8, 0x08, + 0xd7, 0x19, 0x6c, 0x8c, 0x7a, 0xc7, 0xf7, 0xae, 0xcd, 0x8c, 0xb7, 0xe5, 0x55, 0x53, 0x5c, 0xea, + 0xdf, 0xb8, 0xa2, 0xff, 0xf0, 0x8f, 0x16, 0xec, 0xad, 0xbb, 0x31, 0x3a, 0x02, 0x60, 0xb9, 0x2c, + 0x64, 0x50, 0x2a, 0x76, 0xa7, 0x0d, 0xd7, 0x79, 0x71, 0x0b, 0x77, 0xcd, 0xb9, 0x52, 0xe3, 0x04, + 0x9a, 0x84, 0x73, 0xc6, 0x75, 0xcc, 0xca, 0x8d, 0xb4, 0xca, 0x65, 0xd0, 0x67, 0x0a, 0xf4, 0xe2, + 0x16, 0x36, 0x68, 0xf4, 0x04, 0x7a, 0x36, 0x76, 0x14, 0xc8, 0xc0, 0xdd, 0xd4, 0xe4, 0xbb, 0x35, + 0xf2, 0x99, 0x99, 0xc9, 0x97, 0x41, 0x66, 0xf3, 0xda, 0xfb, 0x3c, 0x0d, 0x64, 0x80, 0x1e, 0x42, + 0x33, 0x7b, 0x1b, 0x08, 0x53, 0x84, 0xed, 0xe3, 0xe1, 0x75, 0xe5, 0xf5, 0x5e, 0x2b, 0x24, 0x36, + 0x04, 0xf4, 0x15, 0xdc, 0x8e, 0xd9, 0x52, 0x75, 0x9b, 0xd2, 0xf0, 0xce, 0x1a, 0xe2, 0x19, 0x5b, + 0x62, 0x8d, 0x41, 0xdf, 0x01, 0x08, 0x19, 0x70, 0x49, 0x22, 0x3f, 0x90, 0xb6, 0x0b, 0xfb, 0x9e, + 0x99, 0x5f, 0xaf, 0x98, 0x5f, 0xef, 0xbc, 0x58, 0x00, 0xb8, 0x6b, 0xd1, 0x13, 0x89, 0x4e, 0xa0, + 0x53, 0xcc, 0xbd, 0xdb, 0xb2, 0xef, 0xab, 0x13, 0x9f, 0x5a, 0x00, 0x2e, 0xa1, 0x2a, 0x63, 0xc8, + 0x49, 0x60, 0x33, 0xb6, 0x6f, 0xce, 0x68, 0xd1, 0x13, 0xa9, 0xa8, 0x79, 0x16, 0x15, 0xd4, 0xce, + 0xcd, 0x54, 0x8b, 0x9e, 0x48, 0xf4, 0x10, 0x7a, 0x61, 0x2e, 0x24, 0x4b, 0x7c, 0x9a, 0x2e, 0x98, + 0xdb, 0xd5, 0xdc, 0xfd, 0x0f, 0xb8, 0x6f, 0xf4, 0xa2, 0xc2, 0x60, 0xb0, 0xa7, 0xe9, 0x82, 0xa1, + 0x3b, 0xd0, 0xe2, 0x24, 0x10, 0x2c, 0x75, 0x41, 0x77, 0x95, 0xb5, 0x54, 0x9b, 0xeb, 0xa6, 0x95, + 0xab, 0x8c, 0xb8, 0x3d, 0x33, 0x43, 0xea, 0xe0, 0x7c, 0x95, 0x11, 0x34, 0x81, 0x4e, 0x42, 0x64, + 0xa0, 0x6b, 0xff, 0x89, 0xce, 0xf5, 0xc5, 0x65, 0x19, 0xcc, 0xae, 0xad, 0x14, 0xf0, 0xa5, 0x05, + 0xe3, 0x92, 0x86, 0x8e, 0x60, 0x4b, 0x03, 0xfd, 0xf7, 0x84, 0x0b, 0xa5, 0xf1, 0xee, 0xc0, 0x19, + 0x35, 0xf1, 0xa6, 0x3e, 0xfc, 0xd5, 0x9c, 0xa1, 0xaf, 0xa1, 0x6d, 0xae, 0x23, 0x5c, 0x54, 0xaf, + 0xb6, 0x99, 0x18, 0xac, 0xdd, 0xb8, 0x80, 0x4d, 0x77, 0x60, 0xcb, 0x36, 0x26, 0x27, 0x22, 0x8f, + 0xe5, 0xd0, 0x87, 0x96, 0xc1, 0xa0, 0x47, 0xd0, 0x63, 0x61, 0x98, 0x73, 0x6e, 0xf4, 0x75, 0x6e, + 0xd4, 0x17, 0x0a, 0xf8, 0x44, 0xaa, 0x2d, 0x97, 0x10, 0x21, 0x82, 0x25, 0xb1, 0xd3, 0x57, 0x98, + 0xc3, 0x19, 0x1c, 0xd4, 0xf7, 0xbd, 0x6a, 0xf0, 0xff, 0xbb, 0xf3, 0xff, 0xdc, 0x80, 0xc3, 0xf5, + 0x71, 0x45, 0xc6, 0x52, 0x41, 0xd0, 0x03, 0x68, 0xe9, 0x9d, 0x26, 0x6c, 0xf0, 0xfd, 0xba, 0x34, + 0x33, 0x1e, 0x4f, 0x63, 0x36, 0x57, 0xb3, 0x87, 0x2d, 0x14, 0x9d, 0x40, 0xdb, 0xc8, 0x23, 0xec, + 0xc0, 0x5f, 0xcb, 0x2a, 0xb0, 0xe8, 0x31, 0xf4, 0x16, 0x79, 0x1c, 0xfb, 0x36, 0xe1, 0xc6, 0x47, + 0x8c, 0x3b, 0x06, 0xc5, 0x38, 0x35, 0x69, 0x9f, 0xc0, 0xa6, 0xe6, 0x17, 0xb9, 0x6f, 0x7f, 0x4c, + 0x00, 0x9d, 0xf2, 0x95, 0xbd, 0xc1, 0xb7, 0x00, 0x66, 0xa5, 0xeb, 0x9e, 0x33, 0xf3, 0xe8, 0xd6, + 0xf8, 0x3a, 0x99, 0xd6, 0xc8, 0xac, 0x7f, 0xbd, 0x67, 0xbe, 0xaf, 0x6e, 0xaa, 0xf6, 0xda, 0xcc, + 0xaf, 0xca, 0xbd, 0x54, 0xdb, 0x51, 0xa0, 0x71, 0x7e, 0xce, 0x63, 0x61, 0xb7, 0xc7, 0xdd, 0xba, + 0x60, 0xcf, 0x95, 0x39, 0xc3, 0x67, 0x02, 0x77, 0xb5, 0x67, 0xc6, 0x63, 0x31, 0xfd, 0xe1, 0xb7, + 0x47, 0x4b, 0x2a, 0xdf, 0xe6, 0x73, 0x2f, 0x64, 0xc9, 0x58, 0x9f, 0x33, 0xbe, 0x34, 0x7f, 0xc6, + 0xe5, 0xb7, 0xc9, 0x92, 0xa4, 0xe3, 0x6c, 0x7e, 0x7f, 0xc9, 0xc6, 0xd5, 0x0f, 0xa5, 0x79, 0x4b, + 0x77, 0xe3, 0x83, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa2, 0xae, 0xc4, 0xcf, 0x76, 0x09, 0x00, + 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go index 34040d213f..0ed7603d1b 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go @@ -781,6 +781,26 @@ func (m *TaskExecutionGetDataResponse) Validate() error { } } + if v, ok := interface{}(m.GetInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TaskExecutionGetDataResponseValidationError{ + field: "InputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if v, ok := interface{}(m.GetOutputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TaskExecutionGetDataResponseValidationError{ + field: "OutputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + if v, ok := interface{}(m.GetFlyteUrls()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TaskExecutionGetDataResponseValidationError{ diff --git a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go index 0103c73b52..da7bf0e62a 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go @@ -900,6 +900,84 @@ func (m *LiteralMap) GetLiterals() map[string]*Literal { return nil } +type InputData struct { + Inputs *LiteralMap `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InputData) Reset() { *m = InputData{} } +func (m *InputData) String() string { return proto.CompactTextString(m) } +func (*InputData) ProtoMessage() {} +func (*InputData) Descriptor() ([]byte, []int) { + return fileDescriptor_a1a523b10667cdfb, []int{13} +} + +func (m *InputData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InputData.Unmarshal(m, b) +} +func (m *InputData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InputData.Marshal(b, m, deterministic) +} +func (m *InputData) XXX_Merge(src proto.Message) { + xxx_messageInfo_InputData.Merge(m, src) +} +func (m *InputData) XXX_Size() int { + return xxx_messageInfo_InputData.Size(m) +} +func (m *InputData) XXX_DiscardUnknown() { + xxx_messageInfo_InputData.DiscardUnknown(m) +} + +var xxx_messageInfo_InputData proto.InternalMessageInfo + +func (m *InputData) GetInputs() *LiteralMap { + if m != nil { + return m.Inputs + } + return nil +} + +type OutputData struct { + Outputs *LiteralMap `protobuf:"bytes,1,opt,name=outputs,proto3" json:"outputs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OutputData) Reset() { *m = OutputData{} } +func (m *OutputData) String() string { return proto.CompactTextString(m) } +func (*OutputData) ProtoMessage() {} +func (*OutputData) Descriptor() ([]byte, []int) { + return fileDescriptor_a1a523b10667cdfb, []int{14} +} + +func (m *OutputData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OutputData.Unmarshal(m, b) +} +func (m *OutputData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OutputData.Marshal(b, m, deterministic) +} +func (m *OutputData) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutputData.Merge(m, src) +} +func (m *OutputData) XXX_Size() int { + return xxx_messageInfo_OutputData.Size(m) +} +func (m *OutputData) XXX_DiscardUnknown() { + xxx_messageInfo_OutputData.DiscardUnknown(m) +} + +var xxx_messageInfo_OutputData proto.InternalMessageInfo + +func (m *OutputData) GetOutputs() *LiteralMap { + if m != nil { + return m.Outputs + } + return nil +} + // A collection of BindingData items. type BindingDataCollection struct { Bindings []*BindingData `protobuf:"bytes,1,rep,name=bindings,proto3" json:"bindings,omitempty"` @@ -912,7 +990,7 @@ func (m *BindingDataCollection) Reset() { *m = BindingDataCollection{} } func (m *BindingDataCollection) String() string { return proto.CompactTextString(m) } func (*BindingDataCollection) ProtoMessage() {} func (*BindingDataCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_a1a523b10667cdfb, []int{13} + return fileDescriptor_a1a523b10667cdfb, []int{15} } func (m *BindingDataCollection) XXX_Unmarshal(b []byte) error { @@ -952,7 +1030,7 @@ func (m *BindingDataMap) Reset() { *m = BindingDataMap{} } func (m *BindingDataMap) String() string { return proto.CompactTextString(m) } func (*BindingDataMap) ProtoMessage() {} func (*BindingDataMap) Descriptor() ([]byte, []int) { - return fileDescriptor_a1a523b10667cdfb, []int{14} + return fileDescriptor_a1a523b10667cdfb, []int{16} } func (m *BindingDataMap) XXX_Unmarshal(b []byte) error { @@ -991,7 +1069,7 @@ func (m *UnionInfo) Reset() { *m = UnionInfo{} } func (m *UnionInfo) String() string { return proto.CompactTextString(m) } func (*UnionInfo) ProtoMessage() {} func (*UnionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_a1a523b10667cdfb, []int{15} + return fileDescriptor_a1a523b10667cdfb, []int{17} } func (m *UnionInfo) XXX_Unmarshal(b []byte) error { @@ -1037,7 +1115,7 @@ func (m *BindingData) Reset() { *m = BindingData{} } func (m *BindingData) String() string { return proto.CompactTextString(m) } func (*BindingData) ProtoMessage() {} func (*BindingData) Descriptor() ([]byte, []int) { - return fileDescriptor_a1a523b10667cdfb, []int{16} + return fileDescriptor_a1a523b10667cdfb, []int{18} } func (m *BindingData) XXX_Unmarshal(b []byte) error { @@ -1153,7 +1231,7 @@ func (m *Binding) Reset() { *m = Binding{} } func (m *Binding) String() string { return proto.CompactTextString(m) } func (*Binding) ProtoMessage() {} func (*Binding) Descriptor() ([]byte, []int) { - return fileDescriptor_a1a523b10667cdfb, []int{17} + return fileDescriptor_a1a523b10667cdfb, []int{19} } func (m *Binding) XXX_Unmarshal(b []byte) error { @@ -1203,7 +1281,7 @@ func (m *KeyValuePair) Reset() { *m = KeyValuePair{} } func (m *KeyValuePair) String() string { return proto.CompactTextString(m) } func (*KeyValuePair) ProtoMessage() {} func (*KeyValuePair) Descriptor() ([]byte, []int) { - return fileDescriptor_a1a523b10667cdfb, []int{18} + return fileDescriptor_a1a523b10667cdfb, []int{20} } func (m *KeyValuePair) XXX_Unmarshal(b []byte) error { @@ -1252,7 +1330,7 @@ func (m *RetryStrategy) Reset() { *m = RetryStrategy{} } func (m *RetryStrategy) String() string { return proto.CompactTextString(m) } func (*RetryStrategy) ProtoMessage() {} func (*RetryStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_a1a523b10667cdfb, []int{19} + return fileDescriptor_a1a523b10667cdfb, []int{21} } func (m *RetryStrategy) XXX_Unmarshal(b []byte) error { @@ -1295,6 +1373,8 @@ func init() { proto.RegisterType((*LiteralCollection)(nil), "flyteidl.core.LiteralCollection") proto.RegisterType((*LiteralMap)(nil), "flyteidl.core.LiteralMap") proto.RegisterMapType((map[string]*Literal)(nil), "flyteidl.core.LiteralMap.LiteralsEntry") + proto.RegisterType((*InputData)(nil), "flyteidl.core.InputData") + proto.RegisterType((*OutputData)(nil), "flyteidl.core.OutputData") proto.RegisterType((*BindingDataCollection)(nil), "flyteidl.core.BindingDataCollection") proto.RegisterType((*BindingDataMap)(nil), "flyteidl.core.BindingDataMap") proto.RegisterMapType((map[string]*BindingData)(nil), "flyteidl.core.BindingDataMap.BindingsEntry") @@ -1308,72 +1388,75 @@ func init() { func init() { proto.RegisterFile("flyteidl/core/literals.proto", fileDescriptor_a1a523b10667cdfb) } var fileDescriptor_a1a523b10667cdfb = []byte{ - // 1069 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x6e, 0x1b, 0xc5, - 0x17, 0xf7, 0xda, 0x8e, 0x3f, 0x8e, 0x93, 0xbf, 0xfe, 0x19, 0x12, 0xba, 0x31, 0xa5, 0x98, 0xa5, - 0x12, 0xae, 0x4a, 0xec, 0x92, 0xa2, 0x12, 0x05, 0xae, 0xdc, 0x94, 0xb8, 0x82, 0xaa, 0xcd, 0xa6, - 0x14, 0x09, 0x21, 0x45, 0x63, 0x7b, 0xb2, 0x19, 0x65, 0xbd, 0x63, 0xcd, 0x8e, 0x23, 0xed, 0x13, - 0xf0, 0x26, 0x5c, 0x72, 0xc1, 0x63, 0xf0, 0x34, 0x3c, 0x02, 0x9a, 0xaf, 0xf5, 0x7a, 0x77, 0x9d, - 0x96, 0xbb, 0xd9, 0x39, 0xbf, 0xf3, 0x7d, 0x7e, 0x67, 0x07, 0xee, 0x5f, 0x85, 0x89, 0x20, 0x74, - 0x16, 0x0e, 0xa7, 0x8c, 0x93, 0x61, 0x48, 0x05, 0xe1, 0x38, 0x8c, 0x07, 0x0b, 0xce, 0x04, 0x43, - 0x3b, 0x56, 0x3a, 0x90, 0xd2, 0xee, 0x67, 0x01, 0x63, 0x41, 0x48, 0x86, 0x4a, 0x38, 0x59, 0x5e, - 0x0d, 0x05, 0x9d, 0x93, 0x58, 0xe0, 0xf9, 0x42, 0xe3, 0xbb, 0x0f, 0xf2, 0x80, 0xd9, 0x92, 0x63, - 0x41, 0x59, 0x64, 0xe4, 0xf7, 0xf3, 0xf2, 0x58, 0xf0, 0xe5, 0x54, 0x18, 0xe9, 0xc1, 0x7a, 0x2c, - 0x22, 0x59, 0x10, 0x13, 0x88, 0xf7, 0x7b, 0x15, 0xda, 0x6f, 0x38, 0x9d, 0x53, 0x41, 0x6f, 0x09, - 0xea, 0x42, 0x93, 0x46, 0x82, 0x04, 0x84, 0xbb, 0x4e, 0xcf, 0xe9, 0xd7, 0xc6, 0x15, 0xdf, 0x5e, - 0xa0, 0xcf, 0xa1, 0x73, 0x15, 0x32, 0x2c, 0x2e, 0x6f, 0x71, 0xb8, 0x24, 0x6e, 0xb5, 0xe7, 0xf4, - 0x9d, 0x71, 0xc5, 0x07, 0x75, 0xf9, 0x4e, 0xde, 0xa1, 0x2f, 0x60, 0x3b, 0x16, 0x9c, 0x46, 0x81, - 0xc1, 0xd4, 0x7a, 0x4e, 0xbf, 0x3d, 0xae, 0xf8, 0x1d, 0x7d, 0xab, 0x41, 0x5d, 0x68, 0x4e, 0x18, - 0x0b, 0x09, 0x8e, 0xdc, 0x7a, 0xcf, 0xe9, 0xb7, 0xa4, 0x0f, 0x73, 0x81, 0x8e, 0xa1, 0x35, 0xc3, - 0x82, 0xc8, 0xec, 0xdd, 0xad, 0x9e, 0xd3, 0xef, 0x1c, 0x75, 0x07, 0x3a, 0xb3, 0x81, 0xcd, 0x6c, - 0xf0, 0xd6, 0x96, 0x66, 0x5c, 0xf1, 0x53, 0x34, 0xfa, 0x16, 0x5a, 0xb6, 0x24, 0x6e, 0x43, 0x69, - 0x1e, 0x14, 0x34, 0x4f, 0x0d, 0x40, 0x29, 0x9a, 0xf3, 0xa8, 0x09, 0x5b, 0x2a, 0x58, 0xaf, 0x01, - 0xf5, 0x77, 0x8c, 0xce, 0xbc, 0x73, 0xa8, 0x8f, 0x42, 0x36, 0x91, 0x16, 0xe7, 0x44, 0xe0, 0x19, - 0x16, 0x58, 0x15, 0xa3, 0x73, 0xf4, 0xc9, 0x60, 0xad, 0x6b, 0x03, 0x09, 0x7b, 0x65, 0x20, 0x7e, - 0x0a, 0x46, 0xff, 0x87, 0xda, 0x92, 0x53, 0x9d, 0xbc, 0x2f, 0x8f, 0xde, 0x77, 0xb0, 0x9d, 0xc5, - 0xa2, 0xc7, 0x50, 0x97, 0x3d, 0x30, 0x66, 0xef, 0x95, 0x98, 0x7d, 0x9b, 0x2c, 0x88, 0xaf, 0x40, - 0xde, 0x13, 0x68, 0x8c, 0x68, 0x84, 0x79, 0x82, 0xf6, 0x4c, 0xa8, 0x4a, 0x6f, 0xdb, 0xd7, 0x1f, - 0xd2, 0x9d, 0xc0, 0x81, 0xea, 0x47, 0xdb, 0x97, 0x47, 0xef, 0x25, 0x34, 0x2e, 0xa6, 0xd7, 0x64, - 0x9e, 0x86, 0xe2, 0xa4, 0xa1, 0xa0, 0x43, 0xe3, 0xba, 0x66, 0x6a, 0xb4, 0xee, 0x5a, 0xab, 0x65, - 0x9c, 0x13, 0xd8, 0xfa, 0x39, 0xa2, 0x2c, 0x42, 0x5f, 0x65, 0x7d, 0x77, 0x8e, 0x3e, 0xce, 0x29, - 0xfe, 0xa4, 0xc7, 0xdb, 0xc6, 0x34, 0x30, 0x5e, 0xaa, 0xa6, 0x87, 0xa5, 0xe0, 0x8c, 0x9b, 0x04, - 0x0e, 0x2e, 0xd4, 0xc0, 0x2e, 0x39, 0x99, 0x9d, 0x62, 0x81, 0x63, 0x22, 0xd2, 0x6a, 0xfd, 0x06, - 0xf7, 0xe2, 0x54, 0x78, 0x39, 0xd3, 0xd2, 0xcb, 0x4c, 0x01, 0x1f, 0xe6, 0xb3, 0xc8, 0x9b, 0x52, - 0x9e, 0xf6, 0xe3, 0xb2, 0x6b, 0xef, 0x06, 0x76, 0x0b, 0xf8, 0x92, 0xba, 0x9d, 0x66, 0xa6, 0x41, - 0x67, 0xd5, 0x7f, 0x9f, 0xd7, 0xe2, 0x68, 0x78, 0xff, 0xd4, 0x64, 0x6b, 0x70, 0x88, 0x39, 0x3a, - 0x86, 0xf6, 0xc2, 0xf2, 0xce, 0xe4, 0xe1, 0xe6, 0x2c, 0xa6, 0xbc, 0x1c, 0x57, 0xfc, 0x15, 0x18, - 0x3d, 0x82, 0xfa, 0x24, 0x64, 0x13, 0x13, 0xc6, 0x47, 0x25, 0xd3, 0x33, 0xae, 0xf8, 0x0a, 0x82, - 0x86, 0xd0, 0x98, 0xa8, 0xd9, 0x31, 0xfd, 0xde, 0xcf, 0x83, 0x95, 0x70, 0x5c, 0xf1, 0x0d, 0x4c, - 0x2a, 0xc4, 0x6a, 0x06, 0x14, 0x37, 0x8b, 0x0a, 0x7a, 0x40, 0xa4, 0x82, 0x86, 0xa1, 0x23, 0x68, - 0x47, 0x2c, 0x22, 0xba, 0x1d, 0x5b, 0xa5, 0x11, 0x49, 0x56, 0x49, 0xca, 0x49, 0x9c, 0x2c, 0xb9, - 0x9c, 0x25, 0xc2, 0x39, 0xe3, 0x86, 0xa8, 0x7b, 0x39, 0xfc, 0x0b, 0x29, 0x1b, 0x57, 0x7c, 0x0d, - 0x42, 0x4f, 0xa1, 0x19, 0x90, 0x88, 0x70, 0x3a, 0x75, 0x9b, 0x86, 0x2f, 0x79, 0x62, 0xeb, 0xd2, - 0xcb, 0x45, 0x62, 0x90, 0xe8, 0x1c, 0x50, 0x71, 0x66, 0xdc, 0x96, 0xd2, 0xef, 0xbd, 0xaf, 0x71, - 0xe3, 0x8a, 0xbf, 0x5b, 0x18, 0x16, 0x19, 0xf5, 0x52, 0x52, 0xc1, 0x6d, 0x97, 0x46, 0xad, 0x68, - 0x22, 0xa3, 0x56, 0xa0, 0xd5, 0x5a, 0xf9, 0xdb, 0x81, 0xa6, 0x19, 0x78, 0x5d, 0x5d, 0xd9, 0x7d, - 0xd3, 0xf0, 0x62, 0x75, 0xa5, 0x50, 0x57, 0x57, 0x0d, 0xc9, 0x08, 0x60, 0xca, 0xc2, 0x90, 0x4c, - 0xd5, 0x5e, 0xab, 0x96, 0x86, 0x6f, 0x8c, 0x3f, 0x4f, 0x71, 0x72, 0x29, 0xaf, 0xb4, 0xd0, 0x21, - 0xd4, 0xe6, 0x78, 0xb1, 0x81, 0xf0, 0x46, 0xf9, 0x15, 0x96, 0xdb, 0x54, 0xe2, 0x10, 0x82, 0xfa, - 0x35, 0x8e, 0xaf, 0x55, 0xff, 0xdb, 0xbe, 0x3a, 0xaf, 0x92, 0x39, 0x83, 0xdd, 0x82, 0x3b, 0x74, - 0x04, 0x2d, 0xfb, 0x77, 0x73, 0x9d, 0x5e, 0xed, 0x8e, 0xed, 0x90, 0xe2, 0xbc, 0x3f, 0x1c, 0x80, - 0x95, 0x6f, 0xf4, 0xbc, 0x60, 0xe2, 0xcb, 0x8d, 0x81, 0xda, 0x63, 0xfc, 0x22, 0x12, 0x3c, 0x59, - 0xd9, 0xec, 0x5e, 0xc0, 0xce, 0x9a, 0x48, 0xb2, 0xf8, 0x86, 0x24, 0x96, 0xc5, 0x37, 0x24, 0x59, - 0x6d, 0xb1, 0xea, 0x07, 0x6c, 0xb1, 0x93, 0xea, 0xb1, 0xe3, 0xbd, 0x86, 0xfd, 0x11, 0x8d, 0x66, - 0x34, 0x0a, 0xe4, 0x1c, 0x64, 0xb2, 0x7e, 0x06, 0xad, 0x89, 0x16, 0xd8, 0x90, 0xbb, 0x45, 0x72, - 0x59, 0x3d, 0x3f, 0xc5, 0x7a, 0x7f, 0x39, 0xf0, 0xbf, 0x8c, 0x44, 0x66, 0x7f, 0x56, 0x30, 0xf5, - 0x78, 0xb3, 0x29, 0x59, 0x01, 0xf3, 0x69, 0x2b, 0x60, 0x95, 0xbb, 0xbf, 0xc0, 0xce, 0x9a, 0xa8, - 0xa4, 0x02, 0x4f, 0xd6, 0x2b, 0x70, 0x57, 0xcc, 0x99, 0x2a, 0x9c, 0x41, 0x5b, 0xcd, 0xf7, 0xcb, - 0xe8, 0x8a, 0xa1, 0x13, 0x00, 0x81, 0x79, 0xa0, 0xf7, 0xa7, 0x99, 0xe4, 0xbb, 0x56, 0x7c, 0x06, - 0xed, 0xfd, 0x59, 0x85, 0x4e, 0xc6, 0xc7, 0x7f, 0x67, 0xc4, 0x0f, 0x25, 0x8c, 0x78, 0xb8, 0x39, - 0x89, 0x8d, 0xac, 0x38, 0x81, 0xe6, 0x82, 0xb3, 0x39, 0x8d, 0xed, 0xaf, 0xf0, 0x41, 0xce, 0xc8, - 0xeb, 0xa5, 0x58, 0x2c, 0x85, 0x4f, 0xae, 0x08, 0x27, 0xd1, 0x54, 0xae, 0x60, 0xab, 0x80, 0xbe, - 0xd6, 0x8c, 0xd2, 0x1b, 0xf2, 0xd3, 0x3b, 0x5b, 0x65, 0x59, 0x35, 0xb0, 0xcb, 0x63, 0xab, 0x74, - 0xd3, 0xa7, 0xc5, 0x2d, 0xac, 0x8f, 0x73, 0x68, 0x1a, 0x8b, 0xb2, 0x99, 0xb7, 0xa6, 0x50, 0x6d, - 0x5f, 0x1e, 0xd1, 0x37, 0xd0, 0x34, 0xbd, 0xff, 0x80, 0x76, 0x5a, 0xa8, 0xf7, 0x0c, 0xb6, 0x7f, - 0x24, 0x89, 0x7a, 0x8c, 0xbd, 0xc1, 0x94, 0x97, 0x0c, 0xc9, 0x5e, 0x76, 0x48, 0xda, 0x66, 0x10, - 0xbc, 0x47, 0xb0, 0xe3, 0x13, 0xc1, 0x93, 0x0b, 0xc1, 0xb1, 0x20, 0x41, 0x82, 0x5c, 0x68, 0x72, - 0x22, 0x38, 0x25, 0xb1, 0x4a, 0x6b, 0xc7, 0xb7, 0x9f, 0xa3, 0xef, 0x7f, 0x3d, 0x09, 0xa8, 0xb8, - 0x5e, 0x4e, 0x06, 0x53, 0x36, 0x1f, 0xaa, 0x98, 0x18, 0x0f, 0xf4, 0x61, 0x98, 0x3e, 0x46, 0x03, - 0x12, 0x0d, 0x17, 0x93, 0xc3, 0x80, 0x0d, 0xd7, 0xde, 0xa7, 0x93, 0x86, 0x5a, 0xec, 0x4f, 0xff, - 0x0d, 0x00, 0x00, 0xff, 0xff, 0x14, 0xe5, 0x95, 0x9d, 0x43, 0x0b, 0x00, 0x00, + // 1105 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xef, 0x6e, 0xdb, 0x54, + 0x14, 0x8f, 0x93, 0x34, 0x8e, 0x4f, 0x5a, 0xc4, 0x2e, 0x2d, 0x73, 0xc3, 0x18, 0xc1, 0x4c, 0x22, + 0xd3, 0x68, 0xb2, 0xb5, 0x68, 0x54, 0x05, 0x21, 0x91, 0x75, 0x34, 0x15, 0x4c, 0x5b, 0xdd, 0x31, + 0x24, 0x84, 0x54, 0xdd, 0x24, 0xb7, 0xae, 0x55, 0xc7, 0x37, 0xba, 0xbe, 0xa9, 0xe4, 0x27, 0xe0, + 0x4d, 0xf8, 0xc8, 0x07, 0x1e, 0x83, 0xa7, 0xe1, 0x11, 0xd0, 0xfd, 0xe7, 0x38, 0xb1, 0xd3, 0x95, + 0x6f, 0xd7, 0xf7, 0xfc, 0xce, 0xdf, 0xdf, 0x39, 0xe7, 0x1a, 0x1e, 0x5c, 0x46, 0x29, 0x27, 0xe1, + 0x24, 0xea, 0x8f, 0x29, 0x23, 0xfd, 0x28, 0xe4, 0x84, 0xe1, 0x28, 0xe9, 0xcd, 0x18, 0xe5, 0x14, + 0x6d, 0x19, 0x69, 0x4f, 0x48, 0xdb, 0x9f, 0x05, 0x94, 0x06, 0x11, 0xe9, 0x4b, 0xe1, 0x68, 0x7e, + 0xd9, 0xe7, 0xe1, 0x94, 0x24, 0x1c, 0x4f, 0x67, 0x0a, 0xdf, 0x7e, 0xb8, 0x0a, 0x98, 0xcc, 0x19, + 0xe6, 0x21, 0x8d, 0xb5, 0xfc, 0xc1, 0xaa, 0x3c, 0xe1, 0x6c, 0x3e, 0xe6, 0x5a, 0xba, 0xbb, 0x1c, + 0x0b, 0x4f, 0x67, 0x44, 0x07, 0xe2, 0xfd, 0x51, 0x05, 0xe7, 0x0d, 0x0b, 0xa7, 0x21, 0x0f, 0x6f, + 0x08, 0x6a, 0x83, 0x1d, 0xc6, 0x9c, 0x04, 0x84, 0xb9, 0x56, 0xc7, 0xea, 0xd6, 0x86, 0x15, 0xdf, + 0x5c, 0xa0, 0xcf, 0xa1, 0x75, 0x19, 0x51, 0xcc, 0x2f, 0x6e, 0x70, 0x34, 0x27, 0x6e, 0xb5, 0x63, + 0x75, 0xad, 0x61, 0xc5, 0x07, 0x79, 0xf9, 0x4e, 0xdc, 0xa1, 0x2f, 0x60, 0x33, 0xe1, 0x2c, 0x8c, + 0x03, 0x8d, 0xa9, 0x75, 0xac, 0xae, 0x33, 0xac, 0xf8, 0x2d, 0x75, 0xab, 0x40, 0x6d, 0xb0, 0x47, + 0x94, 0x46, 0x04, 0xc7, 0x6e, 0xbd, 0x63, 0x75, 0x9b, 0xc2, 0x87, 0xbe, 0x40, 0x87, 0xd0, 0x9c, + 0x60, 0x4e, 0x44, 0xf6, 0xee, 0x46, 0xc7, 0xea, 0xb6, 0xf6, 0xdb, 0x3d, 0x95, 0x59, 0xcf, 0x64, + 0xd6, 0x7b, 0x6b, 0x4a, 0x33, 0xac, 0xf8, 0x19, 0x1a, 0x7d, 0x03, 0x4d, 0x53, 0x12, 0xb7, 0x21, + 0x35, 0x77, 0x0b, 0x9a, 0xc7, 0x1a, 0x20, 0x15, 0xf5, 0x79, 0x60, 0xc3, 0x86, 0x0c, 0xd6, 0x6b, + 0x40, 0xfd, 0x1d, 0x0d, 0x27, 0xde, 0x19, 0xd4, 0x07, 0x11, 0x1d, 0x09, 0x8b, 0x53, 0xc2, 0xf1, + 0x04, 0x73, 0x2c, 0x8b, 0xd1, 0xda, 0xff, 0xa4, 0xb7, 0xc4, 0x5a, 0x4f, 0xc0, 0x5e, 0x69, 0x88, + 0x9f, 0x81, 0xd1, 0x87, 0x50, 0x9b, 0xb3, 0x50, 0x25, 0xef, 0x8b, 0xa3, 0xf7, 0x2d, 0x6c, 0xe6, + 0xb1, 0xe8, 0x09, 0xd4, 0x05, 0x07, 0xda, 0xec, 0xfd, 0x12, 0xb3, 0x6f, 0xd3, 0x19, 0xf1, 0x25, + 0xc8, 0x7b, 0x0a, 0x8d, 0x41, 0x18, 0x63, 0x96, 0xa2, 0x6d, 0x1d, 0xaa, 0xd4, 0xdb, 0xf4, 0xd5, + 0x87, 0x70, 0xc7, 0x71, 0x20, 0xf9, 0x70, 0x7c, 0x71, 0xf4, 0x4e, 0xa1, 0x71, 0x3e, 0xbe, 0x22, + 0xd3, 0x2c, 0x14, 0x2b, 0x0b, 0x05, 0xed, 0x69, 0xd7, 0x35, 0x5d, 0xa3, 0x65, 0xd7, 0x4a, 0x2d, + 0xe7, 0x9c, 0xc0, 0xc6, 0x2f, 0x71, 0x48, 0x63, 0xf4, 0x55, 0xde, 0x77, 0x6b, 0xff, 0xe3, 0x15, + 0xc5, 0x9f, 0x55, 0x7b, 0x9b, 0x98, 0x7a, 0xda, 0x4b, 0x55, 0x73, 0x58, 0x0a, 0xce, 0xb9, 0x49, + 0x61, 0xf7, 0x5c, 0x36, 0xec, 0x9c, 0x91, 0xc9, 0x31, 0xe6, 0x38, 0x21, 0x3c, 0xab, 0xd6, 0xef, + 0x70, 0x3f, 0xc9, 0x84, 0x17, 0x13, 0x25, 0xbd, 0xc8, 0x15, 0xf0, 0xd1, 0x6a, 0x16, 0xab, 0xa6, + 0xa4, 0xa7, 0x9d, 0xa4, 0xec, 0xda, 0xbb, 0x86, 0x7b, 0x05, 0x7c, 0x49, 0xdd, 0x8e, 0x73, 0xdd, + 0xa0, 0xb2, 0xea, 0xbe, 0xcf, 0x6b, 0xb1, 0x35, 0xbc, 0x7f, 0x6b, 0x82, 0x1a, 0x1c, 0x61, 0x86, + 0x0e, 0xc1, 0x99, 0x99, 0xb9, 0xd3, 0x79, 0xb8, 0x2b, 0x16, 0xb3, 0xb9, 0x1c, 0x56, 0xfc, 0x05, + 0x18, 0x3d, 0x86, 0xfa, 0x28, 0xa2, 0x23, 0x1d, 0xc6, 0x47, 0x25, 0xdd, 0x33, 0xac, 0xf8, 0x12, + 0x82, 0xfa, 0xd0, 0x18, 0xc9, 0xde, 0xd1, 0x7c, 0xef, 0xac, 0x82, 0xa5, 0x70, 0x58, 0xf1, 0x35, + 0x4c, 0x28, 0x24, 0xb2, 0x07, 0xe4, 0x6c, 0x16, 0x15, 0x54, 0x83, 0x08, 0x05, 0x05, 0x43, 0xfb, + 0xe0, 0xc4, 0x34, 0x26, 0x8a, 0x8e, 0x8d, 0xd2, 0x88, 0xc4, 0x54, 0x89, 0x91, 0x13, 0x38, 0x51, + 0x72, 0xd1, 0x4b, 0x84, 0x31, 0xca, 0xf4, 0xa0, 0x6e, 0xaf, 0xe0, 0x5f, 0x0a, 0xd9, 0xb0, 0xe2, + 0x2b, 0x10, 0x3a, 0x00, 0x3b, 0x20, 0x31, 0x61, 0xe1, 0xd8, 0xb5, 0xf5, 0xbc, 0xac, 0x0e, 0xb6, + 0x2a, 0xbd, 0x58, 0x24, 0x1a, 0x89, 0xce, 0x00, 0x15, 0x7b, 0xc6, 0x6d, 0x4a, 0xfd, 0xce, 0xfb, + 0x88, 0x1b, 0x56, 0xfc, 0x7b, 0x85, 0x66, 0x11, 0x51, 0xcf, 0xc5, 0x28, 0xb8, 0x4e, 0x69, 0xd4, + 0x72, 0x4c, 0x44, 0xd4, 0x12, 0xb4, 0x58, 0x2b, 0xff, 0x58, 0x60, 0xeb, 0x86, 0x57, 0xd5, 0x15, + 0xec, 0x6b, 0xc2, 0x8b, 0xd5, 0x15, 0x42, 0x55, 0x5d, 0xd9, 0x24, 0x03, 0x80, 0x31, 0x8d, 0x22, + 0x32, 0x96, 0x7b, 0xad, 0x5a, 0x1a, 0xbe, 0x36, 0xfe, 0x22, 0xc3, 0x89, 0xa5, 0xbc, 0xd0, 0x42, + 0x7b, 0x50, 0x9b, 0xe2, 0xd9, 0x9a, 0x81, 0xd7, 0xca, 0xaf, 0xb0, 0xd8, 0xa6, 0x02, 0x87, 0x10, + 0xd4, 0xaf, 0x70, 0x72, 0x25, 0xf9, 0x77, 0x7c, 0x79, 0x5e, 0x24, 0x73, 0x02, 0xf7, 0x0a, 0xee, + 0xd0, 0x3e, 0x34, 0xcd, 0xeb, 0xe6, 0x5a, 0x9d, 0xda, 0x2d, 0xdb, 0x21, 0xc3, 0x79, 0x7f, 0x5a, + 0x00, 0x0b, 0xdf, 0xe8, 0x45, 0xc1, 0xc4, 0x97, 0x6b, 0x03, 0x35, 0xc7, 0xe4, 0x65, 0xcc, 0x59, + 0xba, 0xb0, 0xd9, 0x3e, 0x87, 0xad, 0x25, 0x91, 0x98, 0xe2, 0x6b, 0x92, 0x9a, 0x29, 0xbe, 0x26, + 0xe9, 0x62, 0x8b, 0x55, 0xef, 0xb0, 0xc5, 0x8e, 0xaa, 0x87, 0x96, 0xf7, 0x3d, 0x38, 0xa7, 0xf1, + 0x6c, 0xce, 0x45, 0x17, 0xa0, 0x67, 0xd0, 0x08, 0xc5, 0x47, 0xa2, 0xf9, 0x5b, 0x5f, 0x4d, 0x5f, + 0x03, 0xbd, 0x1f, 0x00, 0x5e, 0xcf, 0xb9, 0x31, 0x70, 0x00, 0x36, 0x95, 0x5f, 0x77, 0xb0, 0x60, + 0x90, 0xde, 0x6b, 0xd8, 0x19, 0x84, 0xf1, 0x24, 0x8c, 0x03, 0x61, 0x23, 0x57, 0xf8, 0xe7, 0xd0, + 0x1c, 0x29, 0x81, 0xa9, 0x5a, 0xbb, 0x38, 0xdf, 0x46, 0xcf, 0xcf, 0xb0, 0xde, 0xdf, 0x16, 0x7c, + 0x90, 0x93, 0x08, 0x02, 0x4e, 0x0a, 0xa6, 0x9e, 0xac, 0x37, 0x25, 0x48, 0xd0, 0x9f, 0x86, 0x04, + 0xa3, 0xdc, 0xfe, 0x15, 0xb6, 0x96, 0x44, 0x25, 0x24, 0x3c, 0x5d, 0x26, 0xe1, 0xb6, 0x98, 0x73, + 0x44, 0x9c, 0x80, 0x23, 0x47, 0xec, 0x34, 0xbe, 0xa4, 0xe8, 0x08, 0x80, 0x63, 0x16, 0xa8, 0x15, + 0xae, 0x4b, 0x79, 0xdb, 0x2b, 0x93, 0x43, 0x7b, 0x7f, 0x55, 0xa1, 0x95, 0xf3, 0xf1, 0xff, 0x87, + 0xf2, 0xc7, 0x92, 0xa1, 0x7c, 0xb4, 0x3e, 0x89, 0xb5, 0x83, 0x79, 0x04, 0xf6, 0x8c, 0xd1, 0x69, + 0x98, 0x98, 0xd7, 0xf8, 0xe1, 0x8a, 0x11, 0xd5, 0x38, 0x3e, 0xb9, 0x24, 0x8c, 0xc4, 0x63, 0xf1, + 0x0a, 0x18, 0x05, 0xf4, 0x4c, 0x0d, 0xb5, 0x5a, 0xd2, 0x9f, 0xde, 0x4a, 0x95, 0x19, 0xec, 0x9e, + 0xd9, 0x5f, 0x1b, 0xa5, 0x8f, 0x4d, 0x56, 0xdc, 0xc2, 0x06, 0x3b, 0x03, 0x5b, 0x5b, 0x14, 0x64, + 0xde, 0xe8, 0x42, 0x39, 0xbe, 0x38, 0xa2, 0xaf, 0xc1, 0xd6, 0xdc, 0xdf, 0x81, 0x4e, 0x03, 0xf5, + 0x9e, 0xc3, 0xe6, 0x4f, 0x24, 0x95, 0xff, 0x83, 0x6f, 0x70, 0xc8, 0x4a, 0x9a, 0x64, 0x3b, 0xdf, + 0x24, 0x8e, 0x6e, 0x04, 0xef, 0x31, 0x6c, 0xf9, 0x84, 0xb3, 0xf4, 0x9c, 0x33, 0xcc, 0x49, 0x90, + 0x22, 0x17, 0x6c, 0x46, 0x38, 0x0b, 0x49, 0x22, 0xd3, 0xda, 0xf2, 0xcd, 0xe7, 0xe0, 0xbb, 0xdf, + 0x8e, 0x82, 0x90, 0x5f, 0xcd, 0x47, 0xbd, 0x31, 0x9d, 0xf6, 0x65, 0x4c, 0x94, 0x05, 0xea, 0xd0, + 0xcf, 0xfe, 0x87, 0x03, 0x12, 0xf7, 0x67, 0xa3, 0xbd, 0x80, 0xf6, 0x97, 0x7e, 0x91, 0x47, 0x0d, + 0xf9, 0xb6, 0x1c, 0xfc, 0x17, 0x00, 0x00, 0xff, 0xff, 0xb2, 0x18, 0x07, 0x52, 0xc6, 0x0b, 0x00, + 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.validate.go index ce6446e643..3af6eef75a 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.validate.go @@ -1184,6 +1184,154 @@ var _ interface { ErrorName() string } = LiteralMapValidationError{} +// Validate checks the field values on InputData with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *InputData) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetInputs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return InputDataValidationError{ + field: "Inputs", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// InputDataValidationError is the validation error returned by +// InputData.Validate if the designated constraints aren't met. +type InputDataValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e InputDataValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e InputDataValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e InputDataValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e InputDataValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e InputDataValidationError) ErrorName() string { return "InputDataValidationError" } + +// Error satisfies the builtin error interface +func (e InputDataValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sInputData.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = InputDataValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = InputDataValidationError{} + +// Validate checks the field values on OutputData with the rules defined in the +// proto definition for this message. If any rules are violated, an error is returned. +func (m *OutputData) Validate() error { + if m == nil { + return nil + } + + if v, ok := interface{}(m.GetOutputs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OutputDataValidationError{ + field: "Outputs", + reason: "embedded message failed validation", + cause: err, + } + } + } + + return nil +} + +// OutputDataValidationError is the validation error returned by +// OutputData.Validate if the designated constraints aren't met. +type OutputDataValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OutputDataValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OutputDataValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OutputDataValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OutputDataValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OutputDataValidationError) ErrorName() string { return "OutputDataValidationError" } + +// Error satisfies the builtin error interface +func (e OutputDataValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOutputData.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OutputDataValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OutputDataValidationError{} + // Validate checks the field values on BindingDataCollection with the rules // defined in the proto definition for this message. If any rules are // violated, an error is returned. diff --git a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go index 204d000a99..37f33ecddc 100644 --- a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go @@ -63,6 +63,7 @@ type WorkflowExecutionEvent struct { // Types that are valid to be assigned to OutputResult: // *WorkflowExecutionEvent_OutputUri // *WorkflowExecutionEvent_Error + // *WorkflowExecutionEvent_DeprecatedOutputData // *WorkflowExecutionEvent_OutputData OutputResult isWorkflowExecutionEvent_OutputResult `protobuf_oneof:"output_result"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -135,14 +136,20 @@ type WorkflowExecutionEvent_Error struct { Error *core.ExecutionError `protobuf:"bytes,6,opt,name=error,proto3,oneof"` } +type WorkflowExecutionEvent_DeprecatedOutputData struct { + DeprecatedOutputData *core.LiteralMap `protobuf:"bytes,7,opt,name=deprecated_output_data,json=deprecatedOutputData,proto3,oneof"` +} + type WorkflowExecutionEvent_OutputData struct { - OutputData *core.LiteralMap `protobuf:"bytes,7,opt,name=output_data,json=outputData,proto3,oneof"` + OutputData *core.OutputData `protobuf:"bytes,8,opt,name=output_data,json=outputData,proto3,oneof"` } func (*WorkflowExecutionEvent_OutputUri) isWorkflowExecutionEvent_OutputResult() {} func (*WorkflowExecutionEvent_Error) isWorkflowExecutionEvent_OutputResult() {} +func (*WorkflowExecutionEvent_DeprecatedOutputData) isWorkflowExecutionEvent_OutputResult() {} + func (*WorkflowExecutionEvent_OutputData) isWorkflowExecutionEvent_OutputResult() {} func (m *WorkflowExecutionEvent) GetOutputResult() isWorkflowExecutionEvent_OutputResult { @@ -166,7 +173,15 @@ func (m *WorkflowExecutionEvent) GetError() *core.ExecutionError { return nil } -func (m *WorkflowExecutionEvent) GetOutputData() *core.LiteralMap { +// Deprecated: Do not use. +func (m *WorkflowExecutionEvent) GetDeprecatedOutputData() *core.LiteralMap { + if x, ok := m.GetOutputResult().(*WorkflowExecutionEvent_DeprecatedOutputData); ok { + return x.DeprecatedOutputData + } + return nil +} + +func (m *WorkflowExecutionEvent) GetOutputData() *core.OutputData { if x, ok := m.GetOutputResult().(*WorkflowExecutionEvent_OutputData); ok { return x.OutputData } @@ -178,6 +193,7 @@ func (*WorkflowExecutionEvent) XXX_OneofWrappers() []interface{} { return []interface{}{ (*WorkflowExecutionEvent_OutputUri)(nil), (*WorkflowExecutionEvent_Error)(nil), + (*WorkflowExecutionEvent_DeprecatedOutputData)(nil), (*WorkflowExecutionEvent_OutputData)(nil), } } @@ -193,11 +209,13 @@ type NodeExecutionEvent struct { OccurredAt *timestamp.Timestamp `protobuf:"bytes,4,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` // Types that are valid to be assigned to InputValue: // *NodeExecutionEvent_InputUri + // *NodeExecutionEvent_DeprecatedInputData // *NodeExecutionEvent_InputData InputValue isNodeExecutionEvent_InputValue `protobuf_oneof:"input_value"` // Types that are valid to be assigned to OutputResult: // *NodeExecutionEvent_OutputUri // *NodeExecutionEvent_Error + // *NodeExecutionEvent_DeprecatedOutputData // *NodeExecutionEvent_OutputData OutputResult isNodeExecutionEvent_OutputResult `protobuf_oneof:"output_result"` // Additional metadata to do with this event's node target based @@ -299,12 +317,18 @@ type NodeExecutionEvent_InputUri struct { InputUri string `protobuf:"bytes,5,opt,name=input_uri,json=inputUri,proto3,oneof"` } +type NodeExecutionEvent_DeprecatedInputData struct { + DeprecatedInputData *core.LiteralMap `protobuf:"bytes,20,opt,name=deprecated_input_data,json=deprecatedInputData,proto3,oneof"` +} + type NodeExecutionEvent_InputData struct { - InputData *core.LiteralMap `protobuf:"bytes,20,opt,name=input_data,json=inputData,proto3,oneof"` + InputData *core.InputData `protobuf:"bytes,24,opt,name=input_data,json=inputData,proto3,oneof"` } func (*NodeExecutionEvent_InputUri) isNodeExecutionEvent_InputValue() {} +func (*NodeExecutionEvent_DeprecatedInputData) isNodeExecutionEvent_InputValue() {} + func (*NodeExecutionEvent_InputData) isNodeExecutionEvent_InputValue() {} func (m *NodeExecutionEvent) GetInputValue() isNodeExecutionEvent_InputValue { @@ -321,7 +345,15 @@ func (m *NodeExecutionEvent) GetInputUri() string { return "" } -func (m *NodeExecutionEvent) GetInputData() *core.LiteralMap { +// Deprecated: Do not use. +func (m *NodeExecutionEvent) GetDeprecatedInputData() *core.LiteralMap { + if x, ok := m.GetInputValue().(*NodeExecutionEvent_DeprecatedInputData); ok { + return x.DeprecatedInputData + } + return nil +} + +func (m *NodeExecutionEvent) GetInputData() *core.InputData { if x, ok := m.GetInputValue().(*NodeExecutionEvent_InputData); ok { return x.InputData } @@ -340,14 +372,20 @@ type NodeExecutionEvent_Error struct { Error *core.ExecutionError `protobuf:"bytes,7,opt,name=error,proto3,oneof"` } +type NodeExecutionEvent_DeprecatedOutputData struct { + DeprecatedOutputData *core.LiteralMap `protobuf:"bytes,15,opt,name=deprecated_output_data,json=deprecatedOutputData,proto3,oneof"` +} + type NodeExecutionEvent_OutputData struct { - OutputData *core.LiteralMap `protobuf:"bytes,15,opt,name=output_data,json=outputData,proto3,oneof"` + OutputData *core.OutputData `protobuf:"bytes,23,opt,name=output_data,json=outputData,proto3,oneof"` } func (*NodeExecutionEvent_OutputUri) isNodeExecutionEvent_OutputResult() {} func (*NodeExecutionEvent_Error) isNodeExecutionEvent_OutputResult() {} +func (*NodeExecutionEvent_DeprecatedOutputData) isNodeExecutionEvent_OutputResult() {} + func (*NodeExecutionEvent_OutputData) isNodeExecutionEvent_OutputResult() {} func (m *NodeExecutionEvent) GetOutputResult() isNodeExecutionEvent_OutputResult { @@ -371,7 +409,15 @@ func (m *NodeExecutionEvent) GetError() *core.ExecutionError { return nil } -func (m *NodeExecutionEvent) GetOutputData() *core.LiteralMap { +// Deprecated: Do not use. +func (m *NodeExecutionEvent) GetDeprecatedOutputData() *core.LiteralMap { + if x, ok := m.GetOutputResult().(*NodeExecutionEvent_DeprecatedOutputData); ok { + return x.DeprecatedOutputData + } + return nil +} + +func (m *NodeExecutionEvent) GetOutputData() *core.OutputData { if x, ok := m.GetOutputResult().(*NodeExecutionEvent_OutputData); ok { return x.OutputData } @@ -496,9 +542,11 @@ func (m *NodeExecutionEvent) GetIsArray() bool { func (*NodeExecutionEvent) XXX_OneofWrappers() []interface{} { return []interface{}{ (*NodeExecutionEvent_InputUri)(nil), + (*NodeExecutionEvent_DeprecatedInputData)(nil), (*NodeExecutionEvent_InputData)(nil), (*NodeExecutionEvent_OutputUri)(nil), (*NodeExecutionEvent_Error)(nil), + (*NodeExecutionEvent_DeprecatedOutputData)(nil), (*NodeExecutionEvent_OutputData)(nil), (*NodeExecutionEvent_WorkflowNodeMetadata)(nil), (*NodeExecutionEvent_TaskNodeMetadata)(nil), @@ -831,11 +879,13 @@ type TaskExecutionEvent struct { OccurredAt *timestamp.Timestamp `protobuf:"bytes,7,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` // Types that are valid to be assigned to InputValue: // *TaskExecutionEvent_InputUri + // *TaskExecutionEvent_DeprecatedInputData // *TaskExecutionEvent_InputData InputValue isTaskExecutionEvent_InputValue `protobuf_oneof:"input_value"` // Types that are valid to be assigned to OutputResult: // *TaskExecutionEvent_OutputUri // *TaskExecutionEvent_Error + // *TaskExecutionEvent_DeprecatedOutputData // *TaskExecutionEvent_OutputData OutputResult isTaskExecutionEvent_OutputResult `protobuf_oneof:"output_result"` // Custom data that the task plugin sends back. This is extensible to allow various plugins in the system. @@ -952,12 +1002,18 @@ type TaskExecutionEvent_InputUri struct { InputUri string `protobuf:"bytes,8,opt,name=input_uri,json=inputUri,proto3,oneof"` } +type TaskExecutionEvent_DeprecatedInputData struct { + DeprecatedInputData *core.LiteralMap `protobuf:"bytes,19,opt,name=deprecated_input_data,json=deprecatedInputData,proto3,oneof"` +} + type TaskExecutionEvent_InputData struct { - InputData *core.LiteralMap `protobuf:"bytes,19,opt,name=input_data,json=inputData,proto3,oneof"` + InputData *core.InputData `protobuf:"bytes,23,opt,name=input_data,json=inputData,proto3,oneof"` } func (*TaskExecutionEvent_InputUri) isTaskExecutionEvent_InputValue() {} +func (*TaskExecutionEvent_DeprecatedInputData) isTaskExecutionEvent_InputValue() {} + func (*TaskExecutionEvent_InputData) isTaskExecutionEvent_InputValue() {} func (m *TaskExecutionEvent) GetInputValue() isTaskExecutionEvent_InputValue { @@ -974,7 +1030,15 @@ func (m *TaskExecutionEvent) GetInputUri() string { return "" } -func (m *TaskExecutionEvent) GetInputData() *core.LiteralMap { +// Deprecated: Do not use. +func (m *TaskExecutionEvent) GetDeprecatedInputData() *core.LiteralMap { + if x, ok := m.GetInputValue().(*TaskExecutionEvent_DeprecatedInputData); ok { + return x.DeprecatedInputData + } + return nil +} + +func (m *TaskExecutionEvent) GetInputData() *core.InputData { if x, ok := m.GetInputValue().(*TaskExecutionEvent_InputData); ok { return x.InputData } @@ -993,14 +1057,20 @@ type TaskExecutionEvent_Error struct { Error *core.ExecutionError `protobuf:"bytes,10,opt,name=error,proto3,oneof"` } +type TaskExecutionEvent_DeprecatedOutputData struct { + DeprecatedOutputData *core.LiteralMap `protobuf:"bytes,17,opt,name=deprecated_output_data,json=deprecatedOutputData,proto3,oneof"` +} + type TaskExecutionEvent_OutputData struct { - OutputData *core.LiteralMap `protobuf:"bytes,17,opt,name=output_data,json=outputData,proto3,oneof"` + OutputData *core.OutputData `protobuf:"bytes,22,opt,name=output_data,json=outputData,proto3,oneof"` } func (*TaskExecutionEvent_OutputUri) isTaskExecutionEvent_OutputResult() {} func (*TaskExecutionEvent_Error) isTaskExecutionEvent_OutputResult() {} +func (*TaskExecutionEvent_DeprecatedOutputData) isTaskExecutionEvent_OutputResult() {} + func (*TaskExecutionEvent_OutputData) isTaskExecutionEvent_OutputResult() {} func (m *TaskExecutionEvent) GetOutputResult() isTaskExecutionEvent_OutputResult { @@ -1024,7 +1094,15 @@ func (m *TaskExecutionEvent) GetError() *core.ExecutionError { return nil } -func (m *TaskExecutionEvent) GetOutputData() *core.LiteralMap { +// Deprecated: Do not use. +func (m *TaskExecutionEvent) GetDeprecatedOutputData() *core.LiteralMap { + if x, ok := m.GetOutputResult().(*TaskExecutionEvent_DeprecatedOutputData); ok { + return x.DeprecatedOutputData + } + return nil +} + +func (m *TaskExecutionEvent) GetOutputData() *core.OutputData { if x, ok := m.GetOutputResult().(*TaskExecutionEvent_OutputData); ok { return x.OutputData } @@ -1092,9 +1170,11 @@ func (m *TaskExecutionEvent) GetReportedAt() *timestamp.Timestamp { func (*TaskExecutionEvent) XXX_OneofWrappers() []interface{} { return []interface{}{ (*TaskExecutionEvent_InputUri)(nil), + (*TaskExecutionEvent_DeprecatedInputData)(nil), (*TaskExecutionEvent_InputData)(nil), (*TaskExecutionEvent_OutputUri)(nil), (*TaskExecutionEvent_Error)(nil), + (*TaskExecutionEvent_DeprecatedOutputData)(nil), (*TaskExecutionEvent_OutputData)(nil), } } @@ -1337,103 +1417,107 @@ func init() { func init() { proto.RegisterFile("flyteidl/event/event.proto", fileDescriptor_4b035d24120b1b12) } var fileDescriptor_4b035d24120b1b12 = []byte{ - // 1553 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xfb, 0x6e, 0xdb, 0xb6, - 0x1a, 0x8f, 0x9d, 0x8b, 0xed, 0x4f, 0xb1, 0x63, 0xb3, 0x4e, 0xaa, 0x26, 0x4d, 0xe3, 0xe3, 0x73, - 0x7a, 0x90, 0xb6, 0x98, 0x0d, 0xb8, 0x68, 0x51, 0xac, 0x1d, 0x86, 0xdc, 0xb6, 0x78, 0x4b, 0x83, - 0x40, 0x49, 0x5a, 0xa0, 0xdb, 0x20, 0x30, 0x12, 0xe3, 0x68, 0x91, 0x45, 0x81, 0xa2, 0xd2, 0xfa, - 0x49, 0xf6, 0xd7, 0xf6, 0x00, 0x7d, 0x98, 0xbd, 0xcb, 0xde, 0x60, 0x20, 0x29, 0xc9, 0x91, 0xac, - 0xe5, 0xd2, 0x76, 0xff, 0x04, 0xe6, 0x77, 0xf9, 0xf1, 0xe3, 0x77, 0x57, 0x60, 0xf9, 0xd4, 0x1d, - 0x71, 0xe2, 0xd8, 0x6e, 0x97, 0x5c, 0x10, 0x8f, 0xab, 0xbf, 0x1d, 0x9f, 0x51, 0x4e, 0x51, 0x2d, - 0xe6, 0x75, 0x24, 0x75, 0xf9, 0x7e, 0x22, 0x6b, 0x51, 0x46, 0xba, 0xae, 0xc3, 0x09, 0xc3, 0x6e, - 0xa0, 0xa4, 0xb3, 0x5c, 0x8b, 0x0e, 0x7d, 0xc7, 0x25, 0x2c, 0xe2, 0xae, 0xa6, 0xb9, 0xe4, 0x03, - 0xb1, 0x42, 0xee, 0x50, 0x2f, 0x62, 0x3f, 0x48, 0xb3, 0x1d, 0x9b, 0x78, 0xdc, 0x39, 0x75, 0x12, - 0xf5, 0x95, 0x0c, 0x38, 0xe6, 0xd8, 0xa5, 0x83, 0x88, 0xb9, 0x36, 0xa0, 0x74, 0xe0, 0x92, 0xae, - 0x3c, 0x9d, 0x84, 0xa7, 0x5d, 0xee, 0x0c, 0x49, 0xc0, 0xf1, 0xd0, 0x8f, 0x4d, 0xcb, 0x0a, 0x04, - 0x9c, 0x85, 0x56, 0xf4, 0xcc, 0xf6, 0xc7, 0x69, 0x58, 0x7a, 0x4b, 0xd9, 0xf9, 0xa9, 0x4b, 0xdf, - 0xef, 0xc4, 0x76, 0xed, 0x88, 0x17, 0xa3, 0xd7, 0x30, 0x9f, 0x58, 0x6a, 0x3a, 0xb6, 0x5e, 0x68, - 0x15, 0xd6, 0xb5, 0xde, 0xe3, 0x4e, 0xe2, 0x18, 0x61, 0x4d, 0x67, 0x42, 0xb9, 0x9f, 0x98, 0x6f, - 0x68, 0x64, 0x4c, 0x44, 0x6b, 0xa0, 0xf9, 0x8c, 0xda, 0xa1, 0x45, 0x98, 0x40, 0x2b, 0xb6, 0x0a, - 0xeb, 0x15, 0x03, 0x62, 0x52, 0xdf, 0x46, 0xaf, 0x60, 0xd6, 0x3f, 0xc3, 0x01, 0xd1, 0xa7, 0x5b, - 0x85, 0xf5, 0x5a, 0xef, 0xff, 0xd7, 0x5d, 0xd4, 0x39, 0x10, 0xd2, 0x86, 0x52, 0x42, 0x2f, 0x41, - 0xa3, 0x96, 0x15, 0x32, 0x46, 0x6c, 0x13, 0x73, 0x7d, 0x46, 0x1a, 0xbb, 0xdc, 0x51, 0x8f, 0xef, - 0xc4, 0x8f, 0xef, 0x1c, 0xc5, 0xde, 0x31, 0x20, 0x16, 0xdf, 0xe0, 0x68, 0x0d, 0x80, 0x86, 0xdc, - 0x0f, 0xb9, 0x19, 0x32, 0x47, 0x9f, 0x15, 0xa6, 0xed, 0x4e, 0x19, 0x15, 0x45, 0x3b, 0x66, 0x0e, - 0x7a, 0x06, 0xb3, 0x84, 0x31, 0xca, 0xf4, 0x39, 0x89, 0xbb, 0x9a, 0xb1, 0x6d, 0xec, 0x39, 0x21, - 0xb4, 0x3b, 0x65, 0x28, 0x69, 0xf4, 0x0a, 0xb4, 0x08, 0xd7, 0xc6, 0x1c, 0xeb, 0x25, 0xa9, 0x7c, - 0x2f, 0xa3, 0xbc, 0xa7, 0x52, 0xe9, 0x35, 0xf6, 0x77, 0xa7, 0x8c, 0xc8, 0x8e, 0x6d, 0xcc, 0xf1, - 0xe6, 0x02, 0x54, 0x23, 0x6d, 0x46, 0x82, 0xd0, 0xe5, 0xed, 0x8f, 0x15, 0x40, 0xfb, 0xd4, 0x26, - 0x99, 0x40, 0x3d, 0x87, 0x62, 0x12, 0x9e, 0xac, 0xd7, 0x52, 0xe2, 0x97, 0x42, 0x53, 0x74, 0x6e, - 0x10, 0x91, 0x17, 0xe9, 0x88, 0xb4, 0xaf, 0xc2, 0xfe, 0x82, 0xd1, 0x58, 0x85, 0x8a, 0xe3, 0x65, - 0x83, 0x51, 0x96, 0x24, 0x11, 0x8b, 0xaf, 0x01, 0x14, 0x5b, 0xfa, 0xb4, 0x79, 0xbd, 0x4f, 0x15, - 0x9a, 0x70, 0x69, 0x26, 0xd0, 0x73, 0x12, 0xbb, 0x90, 0x1b, 0xe8, 0xd2, 0x4d, 0x02, 0x5d, 0xf8, - 0x87, 0x40, 0x2f, 0x5c, 0x67, 0x54, 0xe1, 0x72, 0xa0, 0xd1, 0xcf, 0xb0, 0xf4, 0x3e, 0xca, 0x6e, - 0xd3, 0xa3, 0x36, 0x31, 0x87, 0x84, 0x63, 0x09, 0x54, 0x96, 0x40, 0xff, 0xeb, 0xa4, 0x9b, 0x51, - 0x52, 0x0b, 0x22, 0x02, 0xaf, 0x23, 0xd9, 0xdd, 0xa2, 0xd1, 0x7c, 0x9f, 0x43, 0x47, 0x07, 0x80, - 0x38, 0x0e, 0xce, 0x33, 0xc8, 0x35, 0x89, 0xdc, 0xca, 0x22, 0x1f, 0xe1, 0xe0, 0x3c, 0x83, 0x5a, - 0xe7, 0x19, 0x1a, 0xfa, 0x05, 0x9a, 0x3e, 0x66, 0xc4, 0xe3, 0xa6, 0x04, 0x4e, 0x30, 0x2b, 0x12, - 0xf3, 0x49, 0x16, 0xf3, 0x40, 0xca, 0x0a, 0xe4, 0xc4, 0x7d, 0x31, 0x94, 0x81, 0xfc, 0x84, 0x99, - 0x03, 0x9f, 0x36, 0x19, 0xae, 0x82, 0x4f, 0x25, 0x63, 0x16, 0x3e, 0x65, 0xfd, 0x1a, 0x68, 0x8c, - 0x70, 0x36, 0x32, 0x07, 0x8c, 0x86, 0xbe, 0xae, 0xa9, 0xb4, 0x97, 0xa4, 0xef, 0x05, 0x05, 0xb5, - 0x60, 0x3e, 0xf0, 0x89, 0xa5, 0x6e, 0x77, 0x6c, 0x7d, 0x5e, 0x49, 0x08, 0x9a, 0x00, 0xea, 0xdb, - 0x68, 0x05, 0x2a, 0x92, 0xe9, 0xe1, 0x21, 0xd1, 0xab, 0x92, 0x5d, 0x16, 0x84, 0x7d, 0x3c, 0x24, - 0xe8, 0xbf, 0x50, 0x95, 0x86, 0x99, 0x17, 0x84, 0x05, 0x0e, 0xf5, 0xf4, 0x7a, 0xab, 0xb0, 0x3e, - 0x6b, 0xcc, 0x4b, 0xe2, 0x1b, 0x45, 0x13, 0x08, 0x4e, 0x60, 0x2a, 0xeb, 0xf4, 0x46, 0xab, 0xb0, - 0x5e, 0x36, 0xca, 0x4e, 0xa0, 0x9e, 0x82, 0x56, 0x01, 0x9c, 0xc0, 0xb4, 0x47, 0x1e, 0x1e, 0x3a, - 0x96, 0x8e, 0x24, 0xb7, 0xe2, 0x04, 0xdb, 0x8a, 0x80, 0xee, 0x41, 0xd9, 0x26, 0xd6, 0xb9, 0x4c, - 0xe1, 0x3b, 0xf2, 0xf2, 0x92, 0x38, 0x8b, 0xf4, 0x7d, 0x29, 0xde, 0xe6, 0x53, 0xc6, 0x55, 0xdd, - 0x2d, 0x5e, 0x5f, 0x77, 0xb1, 0xf8, 0x06, 0x17, 0xb8, 0x4e, 0x60, 0x62, 0xc6, 0xf0, 0x48, 0x5f, - 0x92, 0x97, 0x96, 0x9c, 0x60, 0x43, 0x1c, 0x37, 0xab, 0xa0, 0xa9, 0x9a, 0xbb, 0xc0, 0x6e, 0x48, - 0x26, 0x3a, 0xd3, 0x66, 0x03, 0x16, 0x38, 0x66, 0x03, 0xc2, 0x93, 0x68, 0xb5, 0x09, 0x34, 0xf3, - 0xd2, 0xf4, 0x0b, 0x8f, 0x95, 0xf6, 0x5f, 0x45, 0xa8, 0x67, 0x93, 0x16, 0x6d, 0xc3, 0xbc, 0x85, - 0xad, 0x33, 0x62, 0x06, 0x1c, 0xf3, 0x30, 0x90, 0x77, 0xd4, 0x7a, 0xff, 0xc9, 0xdc, 0xb1, 0xa5, - 0x06, 0xe9, 0x96, 0x90, 0x3c, 0x94, 0x82, 0x86, 0x66, 0x8d, 0x0f, 0xe8, 0x5b, 0xd0, 0xa2, 0x59, - 0x6b, 0x9e, 0x93, 0x91, 0xec, 0x8f, 0x5a, 0xef, 0x41, 0x3e, 0x48, 0x92, 0x71, 0x10, 0xa9, 0xfc, - 0x48, 0x46, 0xe8, 0x2d, 0x20, 0x46, 0x02, 0xc2, 0x2e, 0xb0, 0x7c, 0x6c, 0x64, 0x8c, 0x6a, 0xa6, - 0xeb, 0xf9, 0x38, 0xc6, 0x58, 0xbe, 0x13, 0xd9, 0xd4, 0xb8, 0x84, 0x11, 0x59, 0xf6, 0x10, 0x6a, - 0xd6, 0x19, 0xb1, 0xce, 0x7d, 0xea, 0x78, 0xaa, 0x95, 0xcd, 0xc8, 0x3c, 0xa8, 0x8e, 0xa9, 0x22, - 0x1b, 0xde, 0x40, 0x3d, 0x4a, 0x22, 0x33, 0xee, 0x0c, 0x32, 0x19, 0x73, 0x8a, 0x28, 0xca, 0xad, - 0xbc, 0x88, 0x19, 0x0b, 0x76, 0x9a, 0xd9, 0xfe, 0xb3, 0x00, 0x2b, 0x57, 0x28, 0xa0, 0x47, 0x97, - 0x06, 0x52, 0xb6, 0x09, 0x66, 0x66, 0xd0, 0x21, 0x34, 0xa2, 0x65, 0xc9, 0x1e, 0xdb, 0x58, 0xcc, - 0x1d, 0x65, 0x5b, 0x91, 0x5c, 0x7c, 0xe5, 0x96, 0x4b, 0x83, 0x90, 0x11, 0xa3, 0x6e, 0x65, 0x18, - 0xa8, 0x0b, 0xcd, 0xf8, 0xdd, 0xbf, 0xd2, 0x13, 0x53, 0x16, 0xb3, 0x70, 0xd2, 0xb4, 0x74, 0x52, - 0x23, 0xe2, 0xfd, 0x40, 0x4f, 0x0e, 0x7d, 0x62, 0x1d, 0x33, 0xa7, 0x7d, 0x0c, 0x2b, 0x57, 0x34, - 0xa9, 0x2b, 0x07, 0x6c, 0x4a, 0x23, 0xfd, 0xb8, 0xf6, 0xf3, 0x18, 0x36, 0xb7, 0x39, 0xa1, 0xbb, - 0x50, 0x8a, 0x5b, 0x4c, 0x41, 0x5a, 0x36, 0xe7, 0xc9, 0xf6, 0xd2, 0x3e, 0x01, 0x4d, 0x4e, 0x76, - 0x83, 0xe0, 0x80, 0x7a, 0x68, 0x09, 0xe6, 0x98, 0xfc, 0x15, 0x8b, 0xa9, 0x53, 0x76, 0xc8, 0x16, - 0x6f, 0x33, 0x64, 0xdb, 0xbf, 0x95, 0x01, 0xa5, 0x6c, 0x57, 0xbb, 0x44, 0x0f, 0x4a, 0xb2, 0xa7, - 0xdf, 0x24, 0x7e, 0x73, 0x42, 0xb2, 0x6f, 0x23, 0x13, 0xf4, 0xcb, 0xfd, 0x3a, 0x55, 0xdd, 0xc5, - 0x5b, 0x6d, 0x25, 0x8b, 0xfe, 0xa4, 0xbb, 0xfa, 0xb6, 0xe8, 0xa8, 0xaa, 0x63, 0x63, 0xce, 0xc9, - 0xd0, 0xe7, 0x32, 0x90, 0x55, 0x63, 0x5e, 0x12, 0x37, 0x14, 0x6d, 0xbc, 0xac, 0xcc, 0xe4, 0x2e, - 0x2b, 0xa9, 0xb7, 0xa6, 0x97, 0x95, 0xcc, 0x1e, 0x34, 0x3b, 0xb1, 0x07, 0x3d, 0x86, 0x19, 0x97, - 0x0e, 0x02, 0x7d, 0xae, 0x35, 0xbd, 0xae, 0xf5, 0x96, 0x72, 0x90, 0xf7, 0xe8, 0xc0, 0x90, 0x32, - 0xd9, 0xa0, 0x94, 0x3e, 0x7d, 0xf3, 0x29, 0x5f, 0xb3, 0xf9, 0xdc, 0xf9, 0x8c, 0xcd, 0xa7, 0x72, - 0xc5, 0xe6, 0x03, 0x9f, 0xb3, 0xf9, 0x34, 0x6e, 0xb7, 0xf9, 0xbc, 0x00, 0xcd, 0x0a, 0x03, 0x4e, - 0x87, 0xa6, 0xe3, 0x9d, 0x52, 0x39, 0x8b, 0xb5, 0xde, 0xdd, 0x09, 0x6f, 0x1d, 0xca, 0x4f, 0x16, - 0x03, 0x94, 0x6c, 0xdf, 0x3b, 0xa5, 0x22, 0x27, 0x64, 0xf4, 0x92, 0x29, 0x3b, 0xaf, 0x72, 0x42, - 0x12, 0xe3, 0x29, 0xbb, 0x9c, 0x54, 0x8e, 0x1c, 0xd2, 0x9b, 0x45, 0xbd, 0x90, 0x54, 0xcf, 0x33, - 0x28, 0xa9, 0x5f, 0x81, 0xbe, 0x28, 0xe3, 0xba, 0x92, 0xed, 0x89, 0x97, 0x6a, 0xd0, 0x88, 0x65, - 0xc5, 0xe0, 0x96, 0x05, 0xc2, 0x47, 0x3e, 0x91, 0x4b, 0x54, 0xc5, 0x28, 0x0b, 0xc2, 0xd1, 0xc8, - 0x27, 0x68, 0x03, 0xca, 0xc9, 0xb6, 0xa2, 0x1a, 0xed, 0xc3, 0xbc, 0x05, 0x6b, 0x72, 0x4f, 0x49, - 0xd4, 0x26, 0xb7, 0x07, 0x94, 0xb3, 0x3d, 0x64, 0xc6, 0x7c, 0xf3, 0x36, 0x63, 0xfe, 0xba, 0x59, - 0xde, 0xfe, 0xa3, 0x08, 0xcd, 0x9d, 0x0f, 0x9c, 0x30, 0x0f, 0xbb, 0x06, 0x09, 0x68, 0xc8, 0x2c, - 0x22, 0x5d, 0xbe, 0x06, 0x1a, 0x89, 0xe8, 0xe3, 0x9e, 0x05, 0x31, 0xa9, 0x6f, 0xa3, 0x26, 0xcc, - 0x3a, 0x9e, 0x4d, 0x3e, 0xc8, 0xaa, 0xaf, 0x1a, 0xea, 0xf0, 0x6f, 0x57, 0x6f, 0x76, 0xd6, 0xcf, - 0x7e, 0xd2, 0xac, 0xbf, 0x45, 0x89, 0xb7, 0x7f, 0x82, 0x7a, 0xec, 0x97, 0x03, 0x4a, 0x5d, 0xe9, - 0x9b, 0x47, 0x50, 0xc7, 0xae, 0x4b, 0x2d, 0x35, 0xe9, 0x39, 0x3d, 0x27, 0x71, 0xb7, 0x5e, 0x18, - 0xd3, 0x8f, 0x04, 0x19, 0xdd, 0x87, 0x8a, 0xd8, 0x1b, 0x03, 0x1f, 0x5b, 0x24, 0xfa, 0xe8, 0x1a, - 0x13, 0xda, 0xbf, 0x4f, 0xc3, 0x62, 0xfe, 0x14, 0x7a, 0x08, 0xb5, 0x01, 0xf1, 0x08, 0xc3, 0x22, - 0xea, 0x72, 0xf3, 0x54, 0x17, 0x54, 0x13, 0xaa, 0x5c, 0x3f, 0x0f, 0x01, 0x25, 0x51, 0x62, 0x91, - 0x99, 0x81, 0x5e, 0x94, 0xef, 0x9a, 0xf8, 0x90, 0xc8, 0x8b, 0xb3, 0xd1, 0x20, 0x19, 0x6a, 0x80, - 0xf6, 0xe5, 0x26, 0x23, 0x0f, 0xa6, 0x4f, 0xa9, 0xab, 0xca, 0x75, 0x5a, 0x82, 0x4e, 0x7c, 0x43, - 0x64, 0x9d, 0x63, 0xd4, 0x59, 0xd6, 0x5d, 0x4f, 0xa0, 0xe1, 0xbb, 0xe1, 0xc0, 0x11, 0x33, 0x22, - 0xee, 0xfe, 0xd1, 0x0e, 0x53, 0x57, 0x8c, 0xf1, 0x54, 0x40, 0xef, 0xa0, 0xe6, 0x78, 0x01, 0xc7, - 0x9e, 0x45, 0x4c, 0xcb, 0xc5, 0x41, 0x20, 0x6b, 0xab, 0xd6, 0x7b, 0x7a, 0xa3, 0xda, 0xea, 0xf4, - 0x23, 0xdd, 0x2d, 0xa1, 0x6a, 0x54, 0x9d, 0xcb, 0xc7, 0x76, 0x17, 0xaa, 0x29, 0x3e, 0xd2, 0xa0, - 0xb4, 0xbd, 0xf3, 0xdd, 0xc6, 0xf1, 0xde, 0x51, 0x7d, 0x0a, 0x35, 0xa0, 0xda, 0xdf, 0x3f, 0xda, - 0x31, 0x8c, 0xe3, 0x83, 0xa3, 0xfe, 0xe6, 0xde, 0x4e, 0xbd, 0xb0, 0xf9, 0xcd, 0xbb, 0x97, 0x03, - 0x87, 0x9f, 0x85, 0x27, 0x1d, 0x8b, 0x0e, 0xbb, 0xd2, 0x00, 0xca, 0x06, 0xea, 0x47, 0x37, 0xf9, - 0x47, 0xcd, 0x80, 0x78, 0x5d, 0xff, 0xe4, 0xab, 0x01, 0xed, 0xa6, 0xff, 0xc5, 0x74, 0x32, 0x27, - 0x8b, 0xf3, 0xe9, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x7d, 0x76, 0xa2, 0x7b, 0x12, 0x00, - 0x00, + // 1623 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xed, 0x6e, 0xdb, 0xbc, + 0x15, 0x8e, 0x9d, 0x0f, 0xdb, 0x47, 0xb1, 0x63, 0xb3, 0x4e, 0xa2, 0x26, 0x4d, 0xe3, 0x79, 0xeb, + 0x90, 0xb6, 0x98, 0x0d, 0xb8, 0x68, 0xd1, 0xa1, 0x1d, 0x86, 0x7c, 0x6d, 0xf1, 0x96, 0x66, 0x81, + 0x92, 0xb4, 0x40, 0xb7, 0x41, 0x60, 0x24, 0xc6, 0xd1, 0x22, 0x8b, 0x02, 0x45, 0xa5, 0xf5, 0xcf, + 0x5d, 0xc8, 0x76, 0x31, 0xbb, 0x80, 0xfd, 0xdb, 0x85, 0xec, 0x0e, 0x5e, 0x90, 0x94, 0x64, 0x4b, + 0x16, 0x12, 0xa7, 0xc8, 0xfb, 0x27, 0x30, 0xcf, 0x39, 0x7c, 0x78, 0x0e, 0xcf, 0x07, 0x1f, 0x05, + 0x36, 0xae, 0xdc, 0x11, 0x27, 0x8e, 0xed, 0x76, 0xc9, 0x2d, 0xf1, 0xb8, 0xfa, 0xdb, 0xf1, 0x19, + 0xe5, 0x14, 0xd5, 0x62, 0x5d, 0x47, 0x4a, 0x37, 0x9e, 0x25, 0xb6, 0x16, 0x65, 0xa4, 0xeb, 0x3a, + 0x9c, 0x30, 0xec, 0x06, 0xca, 0x3a, 0xab, 0xb5, 0xe8, 0xd0, 0x77, 0x5c, 0xc2, 0x22, 0xed, 0x56, + 0x5a, 0x4b, 0xbe, 0x13, 0x2b, 0xe4, 0x0e, 0xf5, 0x22, 0xf5, 0xf3, 0xb4, 0xda, 0xb1, 0x89, 0xc7, + 0x9d, 0x2b, 0x27, 0xd9, 0xbe, 0x99, 0x01, 0xc7, 0x1c, 0xbb, 0x74, 0x10, 0x29, 0xb7, 0x07, 0x94, + 0x0e, 0x5c, 0xd2, 0x95, 0xab, 0xcb, 0xf0, 0xaa, 0xcb, 0x9d, 0x21, 0x09, 0x38, 0x1e, 0xfa, 0xb1, + 0x6b, 0x59, 0x83, 0x80, 0xb3, 0xd0, 0x8a, 0xc2, 0x6c, 0xff, 0x73, 0x01, 0xd6, 0xbe, 0x50, 0x76, + 0x73, 0xe5, 0xd2, 0x6f, 0x87, 0xb1, 0x5f, 0x87, 0x22, 0x62, 0xf4, 0x09, 0x96, 0x13, 0x4f, 0x4d, + 0xc7, 0xd6, 0x0b, 0xad, 0xc2, 0x8e, 0xd6, 0x7b, 0xd5, 0x49, 0x2e, 0x46, 0x78, 0xd3, 0x99, 0xda, + 0xdc, 0x4f, 0xdc, 0x37, 0x34, 0x32, 0x16, 0xa2, 0x6d, 0xd0, 0x7c, 0x46, 0xed, 0xd0, 0x22, 0x4c, + 0xa0, 0x15, 0x5b, 0x85, 0x9d, 0x8a, 0x01, 0xb1, 0xa8, 0x6f, 0xa3, 0x8f, 0xb0, 0xe8, 0x5f, 0xe3, + 0x80, 0xe8, 0xf3, 0xad, 0xc2, 0x4e, 0xad, 0xf7, 0xeb, 0xfb, 0x0e, 0xea, 0x9c, 0x0a, 0x6b, 0x43, + 0x6d, 0x42, 0x1f, 0x40, 0xa3, 0x96, 0x15, 0x32, 0x46, 0x6c, 0x13, 0x73, 0x7d, 0x41, 0x3a, 0xbb, + 0xd1, 0x51, 0xc1, 0x77, 0xe2, 0xe0, 0x3b, 0xe7, 0xf1, 0xed, 0x18, 0x10, 0x9b, 0xef, 0x72, 0xb4, + 0x0d, 0x40, 0x43, 0xee, 0x87, 0xdc, 0x0c, 0x99, 0xa3, 0x2f, 0x0a, 0xd7, 0x8e, 0xe6, 0x8c, 0x8a, + 0x92, 0x5d, 0x30, 0x07, 0xbd, 0x85, 0x45, 0xc2, 0x18, 0x65, 0xfa, 0x92, 0xc4, 0xdd, 0xca, 0xf8, + 0x36, 0xbe, 0x39, 0x61, 0x74, 0x34, 0x67, 0x28, 0x6b, 0x74, 0x01, 0x6b, 0x36, 0xf1, 0x19, 0xb1, + 0x30, 0x27, 0xb6, 0x19, 0x1d, 0x61, 0x63, 0x8e, 0xf5, 0x92, 0xc4, 0x79, 0x9a, 0xc1, 0x39, 0x56, + 0x55, 0xf5, 0x09, 0xfb, 0x7b, 0x45, 0xbd, 0x70, 0x34, 0x67, 0x34, 0xc7, 0xdb, 0xff, 0x22, 0x77, + 0x1f, 0x60, 0x8e, 0xd1, 0x47, 0xd0, 0x26, 0xb1, 0xca, 0xb9, 0x58, 0x63, 0xfb, 0xa3, 0x39, 0x23, + 0x0a, 0x4f, 0xac, 0xf6, 0x56, 0xa0, 0x1a, 0xed, 0x66, 0x24, 0x08, 0x5d, 0xde, 0xfe, 0x1f, 0x00, + 0x3a, 0xa1, 0x36, 0xc9, 0xe4, 0xff, 0x1d, 0x14, 0x93, 0xac, 0x67, 0x93, 0x91, 0x32, 0x9f, 0xc8, + 0x78, 0xd1, 0x99, 0x21, 0xd1, 0xef, 0xd3, 0x89, 0x6e, 0xdf, 0x85, 0xfd, 0x88, 0x49, 0xde, 0x82, + 0x8a, 0xe3, 0x65, 0x73, 0x5c, 0x96, 0x22, 0x91, 0xe2, 0x33, 0x58, 0x9d, 0xc8, 0x95, 0xb2, 0x94, + 0xd7, 0xdb, 0x9c, 0x2d, 0x55, 0x4f, 0xc6, 0xbb, 0xfb, 0x5e, 0x9c, 0xa9, 0xdf, 0x02, 0x4c, 0x20, + 0xe9, 0x12, 0x49, 0xcf, 0x20, 0x25, 0xd6, 0xa2, 0xe4, 0x9c, 0x64, 0x6b, 0xba, 0x26, 0x97, 0xa4, + 0xbf, 0x85, 0xdc, 0x9a, 0x2c, 0xcd, 0x52, 0x93, 0x85, 0xfb, 0x6b, 0x72, 0x65, 0x96, 0x40, 0x0b, + 0xb3, 0xd5, 0xe4, 0xfa, 0x7d, 0x35, 0x59, 0x98, 0xac, 0x49, 0xf4, 0x37, 0x58, 0xfb, 0x16, 0xf5, + 0xb7, 0xe9, 0x51, 0x9b, 0x98, 0x43, 0xc2, 0xf1, 0x44, 0x71, 0xff, 0xaa, 0x93, 0x1e, 0xc7, 0xc9, + 0x34, 0x10, 0xc5, 0xf2, 0x29, 0xb2, 0x3d, 0x2a, 0x1a, 0xcd, 0x6f, 0x39, 0x72, 0x74, 0x0a, 0x88, + 0xe3, 0xe0, 0x26, 0x83, 0x5c, 0x93, 0xc8, 0xad, 0x2c, 0xf2, 0x39, 0x0e, 0x6e, 0x32, 0xa8, 0x75, + 0x9e, 0x91, 0xa1, 0xbf, 0x43, 0xd3, 0xc7, 0x8c, 0x78, 0xdc, 0x94, 0xc0, 0x09, 0x66, 0x45, 0x62, + 0xbe, 0xce, 0x62, 0x9e, 0x4a, 0x5b, 0x81, 0x9c, 0x64, 0x25, 0x86, 0x32, 0x90, 0x9f, 0x28, 0x73, + 0xe0, 0xd3, 0x2e, 0xc3, 0x5d, 0xf0, 0xa9, 0xbe, 0xc9, 0xc2, 0xa7, 0xbc, 0xdf, 0x06, 0x8d, 0x11, + 0xce, 0x46, 0xe6, 0x80, 0xd1, 0xd0, 0xd7, 0x35, 0xd5, 0xa1, 0x52, 0xf4, 0x47, 0x21, 0x41, 0x2d, + 0x58, 0x0e, 0x7c, 0x62, 0xa9, 0xd3, 0x1d, 0x5b, 0x5f, 0x56, 0x16, 0x42, 0x26, 0x80, 0xfa, 0x36, + 0xda, 0x84, 0x8a, 0x54, 0x7a, 0x78, 0x48, 0xf4, 0xaa, 0x54, 0x97, 0x85, 0xe0, 0x04, 0x0f, 0x09, + 0xfa, 0x25, 0x54, 0xa5, 0x63, 0xe6, 0x2d, 0x61, 0x81, 0x43, 0x3d, 0xbd, 0xde, 0x2a, 0xec, 0x2c, + 0x1a, 0xcb, 0x52, 0xf8, 0x59, 0xc9, 0x04, 0x82, 0x13, 0x98, 0xca, 0x3b, 0xbd, 0xd1, 0x2a, 0xec, + 0x94, 0x8d, 0xb2, 0x13, 0xa8, 0x50, 0xd0, 0x16, 0x80, 0x13, 0x98, 0xf6, 0xc8, 0xc3, 0x43, 0xc7, + 0xd2, 0x91, 0xd4, 0x56, 0x9c, 0xe0, 0x40, 0x09, 0xd0, 0x53, 0x28, 0xdb, 0xc4, 0xba, 0x91, 0x9d, + 0xf1, 0x44, 0x1e, 0x5e, 0x12, 0x6b, 0xd1, 0x15, 0x1f, 0x44, 0x6c, 0x3e, 0x65, 0x5c, 0x8d, 0x88, + 0xd5, 0xfb, 0x47, 0x44, 0x6c, 0xbe, 0xcb, 0x05, 0xae, 0x13, 0x98, 0x98, 0x31, 0x3c, 0xd2, 0xd7, + 0xe4, 0xa1, 0x25, 0x27, 0xd8, 0x15, 0xcb, 0xbd, 0x2a, 0x68, 0xaa, 0x93, 0x6f, 0xb1, 0x1b, 0x92, + 0xa9, 0x21, 0xba, 0xd7, 0x80, 0x15, 0x8e, 0xd9, 0x80, 0xf0, 0x24, 0x5b, 0x6d, 0x02, 0xcd, 0xbc, + 0x32, 0x7d, 0xe4, 0x87, 0xb5, 0xfd, 0xff, 0x22, 0xd4, 0xb3, 0x45, 0x8b, 0x0e, 0x60, 0xd9, 0xc2, + 0xd6, 0x35, 0x31, 0x03, 0x8e, 0x79, 0x18, 0xc8, 0x33, 0x6a, 0xbd, 0x5f, 0x64, 0xce, 0xd8, 0x57, + 0x54, 0x62, 0x5f, 0x58, 0x9e, 0x49, 0x43, 0x43, 0xb3, 0xc6, 0x0b, 0xf4, 0x7b, 0xd0, 0x22, 0xb6, + 0x61, 0xde, 0x90, 0x91, 0x1c, 0xe5, 0x5a, 0xef, 0x79, 0x3e, 0x48, 0x52, 0x71, 0x10, 0x6d, 0xf9, + 0x33, 0x19, 0xa1, 0x2f, 0x80, 0x18, 0x09, 0x08, 0xbb, 0xc5, 0x32, 0xd8, 0xc8, 0x19, 0x35, 0xf7, + 0x77, 0xf2, 0x71, 0x8c, 0xb1, 0x7d, 0x27, 0xf2, 0xa9, 0x31, 0x81, 0x11, 0x79, 0xf6, 0x02, 0x6a, + 0xd6, 0x35, 0xb1, 0x6e, 0x7c, 0xea, 0x78, 0x6a, 0x42, 0x2e, 0xc8, 0x3a, 0xa8, 0x8e, 0xa5, 0xa2, + 0x1a, 0x3e, 0x43, 0x3d, 0x2a, 0x22, 0x33, 0x9e, 0x0c, 0xb2, 0x18, 0x73, 0x9a, 0x28, 0xaa, 0xad, + 0xbc, 0x8c, 0x19, 0x2b, 0x76, 0x5a, 0xd9, 0xfe, 0x6f, 0x01, 0x36, 0xef, 0xd8, 0x80, 0x5e, 0x4e, + 0xbc, 0x9d, 0xd9, 0x21, 0x98, 0x79, 0x2e, 0xcf, 0xa0, 0x11, 0xd1, 0x45, 0x7b, 0xec, 0x63, 0x31, + 0xf7, 0xd5, 0xdd, 0x8f, 0xec, 0xe2, 0x23, 0xf7, 0x5d, 0x1a, 0x84, 0x8c, 0x18, 0x75, 0x2b, 0xa3, + 0x40, 0x5d, 0x68, 0xc6, 0x71, 0xff, 0x83, 0x5e, 0x9a, 0xb2, 0x99, 0xc5, 0x25, 0xcd, 0xcb, 0x4b, + 0x6a, 0x44, 0xba, 0x3f, 0xd1, 0xcb, 0x33, 0x9f, 0x58, 0x17, 0xcc, 0x69, 0x5f, 0xc0, 0xe6, 0x1d, + 0x43, 0xea, 0x4e, 0x2e, 0x90, 0xda, 0x91, 0x0e, 0xae, 0xfd, 0x2e, 0x86, 0xcd, 0x1d, 0x4e, 0x68, + 0x1d, 0x4a, 0xf1, 0x88, 0x29, 0x48, 0xcf, 0x96, 0x3c, 0x39, 0x5e, 0xda, 0x97, 0xa0, 0x49, 0x12, + 0x62, 0x10, 0x1c, 0x50, 0x0f, 0xad, 0xc1, 0x12, 0x93, 0xbf, 0x62, 0x33, 0xb5, 0xca, 0xf2, 0x81, + 0xe2, 0x43, 0xf8, 0x40, 0xfb, 0x3f, 0x15, 0x40, 0x29, 0xdf, 0x15, 0xed, 0xe9, 0x41, 0x49, 0xce, + 0xf4, 0x59, 0xf2, 0xb7, 0x24, 0x2c, 0xfb, 0x36, 0x32, 0x41, 0x9f, 0x9c, 0xd7, 0xa9, 0xee, 0x2e, + 0x3e, 0x88, 0x40, 0xad, 0xfa, 0xd3, 0xd7, 0xd5, 0xb7, 0xc5, 0x44, 0x55, 0x13, 0x1b, 0x73, 0x4e, + 0x86, 0x3e, 0x97, 0x89, 0xac, 0x1a, 0xcb, 0x52, 0xb8, 0xab, 0x64, 0x63, 0x5e, 0xb5, 0x90, 0xcb, + 0xab, 0x52, 0xb1, 0xa6, 0x79, 0x55, 0x86, 0xb2, 0x2d, 0x4e, 0x51, 0xb6, 0x57, 0xb0, 0xe0, 0xd2, + 0x41, 0xa0, 0x2f, 0xb5, 0xe6, 0x77, 0xb4, 0xde, 0x5a, 0x0e, 0xf2, 0x31, 0x1d, 0x18, 0xd2, 0x26, + 0x9b, 0x94, 0xd2, 0x8f, 0x93, 0xb4, 0xf2, 0xec, 0x24, 0xed, 0xc9, 0xa3, 0x91, 0xb4, 0xf5, 0x1f, + 0x27, 0x69, 0x95, 0x3b, 0x48, 0x1a, 0x3c, 0x12, 0x49, 0x6b, 0x3c, 0x22, 0x49, 0x5b, 0x7b, 0x18, + 0x49, 0x7b, 0x0f, 0x9a, 0x15, 0x06, 0x9c, 0x0e, 0x4d, 0xc7, 0xbb, 0xa2, 0x92, 0x36, 0x68, 0xbd, + 0xf5, 0xa9, 0xc4, 0x9e, 0xc9, 0xef, 0x4b, 0x03, 0x94, 0x6d, 0xdf, 0xbb, 0xa2, 0xa2, 0x7c, 0x65, + 0xa1, 0x25, 0x84, 0x60, 0x59, 0x95, 0xaf, 0x14, 0xc6, 0x84, 0x60, 0x23, 0x69, 0x72, 0xc9, 0x27, + 0x44, 0x20, 0x49, 0xa3, 0xbf, 0x85, 0x92, 0xfa, 0x15, 0xe8, 0xab, 0xb2, 0x04, 0x37, 0xb3, 0xe3, + 0x7b, 0x62, 0x5c, 0x18, 0xb1, 0xad, 0xe0, 0x18, 0xb2, 0x97, 0xf9, 0xc8, 0x27, 0x92, 0xef, 0x55, + 0x8c, 0xb2, 0x10, 0x9c, 0x8f, 0x7c, 0x82, 0x76, 0xa1, 0x9c, 0x10, 0x2b, 0xf5, 0x26, 0xbc, 0xc8, + 0xe3, 0x82, 0xd3, 0x94, 0x2a, 0xd9, 0x36, 0x4d, 0x74, 0x50, 0x0e, 0xd1, 0xc9, 0x30, 0x92, 0xe6, + 0x43, 0x18, 0xc9, 0x7d, 0xb4, 0xa3, 0xfd, 0xef, 0x22, 0x34, 0x0f, 0xbf, 0x73, 0xc2, 0x3c, 0xec, + 0x1a, 0x24, 0xa0, 0x21, 0xb3, 0x88, 0xbc, 0xf2, 0x6d, 0xd0, 0x48, 0x24, 0x1f, 0x8f, 0x57, 0x88, + 0x45, 0x7d, 0x1b, 0x35, 0x61, 0xd1, 0xf1, 0x6c, 0xf2, 0x5d, 0x0e, 0xa8, 0xaa, 0xa1, 0x16, 0x3f, + 0xf7, 0xa0, 0xc9, 0xd2, 0x92, 0xc5, 0x1f, 0xa2, 0x25, 0x0f, 0x98, 0x46, 0xed, 0xbf, 0x42, 0x3d, + 0xbe, 0x97, 0x53, 0x4a, 0x5d, 0x79, 0x37, 0x2f, 0xa1, 0x8e, 0x5d, 0x97, 0x5a, 0x8a, 0x94, 0x70, + 0x7a, 0x43, 0xe2, 0x87, 0x65, 0x65, 0x2c, 0x3f, 0x17, 0x62, 0xf4, 0x0c, 0x2a, 0x82, 0xe2, 0x06, + 0x3e, 0xb6, 0x48, 0xf4, 0x29, 0x3b, 0x16, 0xb4, 0xff, 0x35, 0x0f, 0xab, 0xf9, 0x0f, 0xe6, 0x0b, + 0xa8, 0x0d, 0x88, 0x47, 0x98, 0xec, 0x5f, 0x49, 0x92, 0xd5, 0x01, 0xd5, 0x44, 0x2a, 0x99, 0xf2, + 0x19, 0xa0, 0x24, 0x4b, 0x2c, 0x72, 0x33, 0xd0, 0x8b, 0x32, 0xae, 0xa9, 0x6f, 0x9e, 0xbc, 0x3c, + 0x1b, 0x0d, 0x92, 0x91, 0x06, 0xe8, 0x44, 0x92, 0x2e, 0xb9, 0x30, 0x7d, 0x4a, 0x5d, 0xd5, 0xae, + 0xf3, 0x12, 0x74, 0xea, 0x73, 0x27, 0x7b, 0x39, 0x46, 0x9d, 0x65, 0xaf, 0xeb, 0x35, 0x34, 0x7c, + 0x37, 0x1c, 0x38, 0xe2, 0x39, 0x8b, 0x1f, 0xaa, 0x88, 0x6e, 0xd5, 0x95, 0x62, 0xfc, 0x80, 0xa1, + 0xaf, 0x50, 0x73, 0xbc, 0x80, 0x63, 0xcf, 0x22, 0xa6, 0xe5, 0xe2, 0x20, 0x90, 0xbd, 0x55, 0xeb, + 0xbd, 0x99, 0xa9, 0xb7, 0x3a, 0xfd, 0x68, 0xef, 0xbe, 0xd8, 0x6a, 0x54, 0x9d, 0xc9, 0x65, 0xbb, + 0x0b, 0xd5, 0x94, 0x1e, 0x69, 0x50, 0x3a, 0x38, 0xfc, 0xc3, 0xee, 0xc5, 0xf1, 0x79, 0x7d, 0x0e, + 0x35, 0xa0, 0xda, 0x3f, 0x39, 0x3f, 0x34, 0x8c, 0x8b, 0xd3, 0xf3, 0xfe, 0xde, 0xf1, 0x61, 0xbd, + 0xb0, 0xf7, 0xbb, 0xaf, 0x1f, 0x06, 0x0e, 0xbf, 0x0e, 0x2f, 0x3b, 0x16, 0x1d, 0x76, 0xa5, 0x03, + 0x94, 0x0d, 0xd4, 0x8f, 0x6e, 0xf2, 0x5f, 0xb5, 0x01, 0xf1, 0xba, 0xfe, 0xe5, 0x6f, 0x06, 0xb4, + 0x9b, 0xfe, 0x7f, 0xe0, 0xe5, 0x92, 0x6c, 0xce, 0x37, 0x3f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x4f, + 0xbc, 0x2e, 0x3b, 0x28, 0x14, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go index fe19b7b989..ed5a1225c2 100644 --- a/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go @@ -101,6 +101,18 @@ func (m *WorkflowExecutionEvent) Validate() error { } } + case *WorkflowExecutionEvent_DeprecatedOutputData: + + if v, ok := interface{}(m.GetDeprecatedOutputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return WorkflowExecutionEventValidationError{ + field: "DeprecatedOutputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + case *WorkflowExecutionEvent_OutputData: if v, ok := interface{}(m.GetOutputData()).(interface{ Validate() error }); ok { @@ -257,6 +269,18 @@ func (m *NodeExecutionEvent) Validate() error { case *NodeExecutionEvent_InputUri: // no validation rules for InputUri + case *NodeExecutionEvent_DeprecatedInputData: + + if v, ok := interface{}(m.GetDeprecatedInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return NodeExecutionEventValidationError{ + field: "DeprecatedInputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + case *NodeExecutionEvent_InputData: if v, ok := interface{}(m.GetInputData()).(interface{ Validate() error }); ok { @@ -288,6 +312,18 @@ func (m *NodeExecutionEvent) Validate() error { } } + case *NodeExecutionEvent_DeprecatedOutputData: + + if v, ok := interface{}(m.GetDeprecatedOutputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return NodeExecutionEventValidationError{ + field: "DeprecatedOutputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + case *NodeExecutionEvent_OutputData: if v, ok := interface{}(m.GetOutputData()).(interface{ Validate() error }); ok { @@ -989,6 +1025,18 @@ func (m *TaskExecutionEvent) Validate() error { case *TaskExecutionEvent_InputUri: // no validation rules for InputUri + case *TaskExecutionEvent_DeprecatedInputData: + + if v, ok := interface{}(m.GetDeprecatedInputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TaskExecutionEventValidationError{ + field: "DeprecatedInputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + case *TaskExecutionEvent_InputData: if v, ok := interface{}(m.GetInputData()).(interface{ Validate() error }); ok { @@ -1020,6 +1068,18 @@ func (m *TaskExecutionEvent) Validate() error { } } + case *TaskExecutionEvent_DeprecatedOutputData: + + if v, ok := interface{}(m.GetDeprecatedOutputData()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TaskExecutionEventValidationError{ + field: "DeprecatedOutputData", + reason: "embedded message failed validation", + cause: err, + } + } + } + case *TaskExecutionEvent_OutputData: if v, ok := interface{}(m.GetOutputData()).(interface{ Validate() error }); ok { diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json index 8c1ebc04d6..b6d2544f62 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json @@ -3838,6 +3838,10 @@ }, "inputs": { "$ref": "#/definitions/coreLiteralMap", + "description": "The inputs required to start the execution. All required inputs must be\nincluded in this map. If not required and not provided, defaults apply.\n+optional\nDeprecated: Please use input_data instead." + }, + "input_data": { + "$ref": "#/definitions/coreInputData", "title": "The inputs required to start the execution. All required inputs must be\nincluded in this map. If not required and not provided, defaults apply.\n+optional" } }, @@ -4267,6 +4271,10 @@ }, "fixed_inputs": { "$ref": "#/definitions/coreLiteralMap", + "title": "Fixed, non-overridable inputs for the Launch Plan.\nThese can not be overridden when an execution is created with this launch plan.\nDeprecated: Please use fixec_input_data instead" + }, + "fixed_input_data": { + "$ref": "#/definitions/coreInputData", "description": "Fixed, non-overridable inputs for the Launch Plan.\nThese can not be overridden when an execution is created with this launch plan." }, "role": { @@ -4641,11 +4649,19 @@ }, "full_inputs": { "$ref": "#/definitions/coreLiteralMap", - "description": "Full_inputs will only be populated if they are under a configured size threshold." + "description": "Full_inputs will only be populated if they are under a configured size threshold.\nDeprecated: Please use input_data instead." }, "full_outputs": { "$ref": "#/definitions/coreLiteralMap", - "description": "Full_outputs will only be populated if they are under a configured size threshold." + "description": "Full_outputs will only be populated if they are under a configured size threshold.\nDeprecated: Please use output_data instead." + }, + "input_data": { + "$ref": "#/definitions/coreInputData", + "description": "InputData will only be populated if they are under a configured size threshold." + }, + "output_data": { + "$ref": "#/definitions/coreOutputData", + "description": "OutputData will only be populated if they are under a configured size threshold." }, "dynamic_workflow": { "$ref": "#/definitions/flyteidladminDynamicWorkflowNodeMetadata", @@ -5194,11 +5210,19 @@ }, "full_inputs": { "$ref": "#/definitions/coreLiteralMap", - "description": "Full_inputs will only be populated if they are under a configured size threshold." + "description": "Full_inputs will only be populated if they are under a configured size threshold.\nDeprecated: Please use input_data instead." }, "full_outputs": { "$ref": "#/definitions/coreLiteralMap", - "description": "Full_outputs will only be populated if they are under a configured size threshold." + "description": "Full_outputs will only be populated if they are under a configured size threshold.\nDeprecated: Please use output_data instead." + }, + "input_data": { + "$ref": "#/definitions/coreInputData", + "description": "InputData will only be populated if they are under a configured size threshold." + }, + "output_data": { + "$ref": "#/definitions/coreOutputData", + "description": "OutputData will only be populated if they are under a configured size threshold." }, "flyte_urls": { "$ref": "#/definitions/adminFlyteURLs", @@ -5510,11 +5534,19 @@ }, "full_inputs": { "$ref": "#/definitions/coreLiteralMap", - "description": "Full_inputs will only be populated if they are under a configured size threshold." + "description": "Full_inputs will only be populated if they are under a configured size threshold.\nDeprecated: Please use input_data instead." }, "full_outputs": { "$ref": "#/definitions/coreLiteralMap", - "description": "Full_outputs will only be populated if they are under a configured size threshold." + "description": "Full_outputs will only be populated if they are under a configured size threshold.\nDeprecated: Please use output_data instead." + }, + "input_data": { + "$ref": "#/definitions/coreInputData", + "description": "InputData will only be populated if they are under a configured size threshold." + }, + "output_data": { + "$ref": "#/definitions/coreOutputData", + "description": "OutputData will only be populated if they are under a configured size threshold." } }, "description": "Response structure for WorkflowExecutionGetDataRequest which contains inputs and outputs for an execution." @@ -6148,6 +6180,14 @@ }, "description": "Defines a series of if/else blocks. The first branch whose condition evaluates to true is the one to execute.\nIf no conditions were satisfied, the else_node or the error will execute." }, + "coreInputData": { + "type": "object", + "properties": { + "inputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "coreK8sObjectMetadata": { "type": "object", "properties": { @@ -6468,6 +6508,14 @@ }, "description": "Defines an operand to a comparison expression." }, + "coreOutputData": { + "type": "object", + "properties": { + "outputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "coreOutputReference": { "type": "object", "properties": { @@ -7356,8 +7404,12 @@ "input_uri": { "type": "string" }, - "input_data": { + "deprecated_input_data": { "$ref": "#/definitions/coreLiteralMap", + "title": "Raw input data consumed by this node execution.\nDeprecated: please use input_data instead" + }, + "input_data": { + "$ref": "#/definitions/coreInputData", "description": "Raw input data consumed by this node execution." }, "output_uri": { @@ -7368,9 +7420,13 @@ "$ref": "#/definitions/coreExecutionError", "title": "Error information for the execution" }, - "output_data": { + "deprecated_output_data": { "$ref": "#/definitions/coreLiteralMap", - "description": "Raw output data produced by this node execution." + "title": "Raw output data produced by this workflow execution.\nDeprecated: please use output_data instead" + }, + "output_data": { + "$ref": "#/definitions/coreOutputData", + "description": "Raw output data produced by this workflow execution." }, "workflow_node_metadata": { "$ref": "#/definitions/flyteidleventWorkflowNodeMetadata" @@ -7499,9 +7555,13 @@ "type": "string", "description": "URI of the input file, it encodes all the information\nincluding Cloud source provider. ie., s3://..." }, - "input_data": { + "deprecated_input_data": { "$ref": "#/definitions/coreLiteralMap", - "description": "Raw input data consumed by this task execution." + "title": "Raw input data consumed by this node execution.\nDeprecated: please use input_data instead" + }, + "input_data": { + "$ref": "#/definitions/coreInputData", + "description": "Raw input data consumed by this node execution." }, "output_uri": { "type": "string", @@ -7511,9 +7571,13 @@ "$ref": "#/definitions/coreExecutionError", "title": "Error information for the execution" }, - "output_data": { + "deprecated_output_data": { "$ref": "#/definitions/coreLiteralMap", - "description": "Raw output data produced by this task execution." + "title": "Raw output data produced by this workflow execution.\nDeprecated: please use output_data instead" + }, + "output_data": { + "$ref": "#/definitions/coreOutputData", + "description": "Raw output data produced by this workflow execution." }, "custom_info": { "$ref": "#/definitions/protobufStruct", @@ -7583,8 +7647,12 @@ "$ref": "#/definitions/coreExecutionError", "title": "Error information for the execution" }, - "output_data": { + "deprecated_output_data": { "$ref": "#/definitions/coreLiteralMap", + "title": "Raw output data produced by this workflow execution.\nDeprecated: please use output_data instead" + }, + "output_data": { + "$ref": "#/definitions/coreOutputData", "description": "Raw output data produced by this workflow execution." } } diff --git a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json index 0a788c919c..395980a9f9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json @@ -194,8 +194,12 @@ "$ref": "#/definitions/flyteidladminState", "description": "The state of the execution is used to control its visibility in the UI/CLI." }, - "outputs": { + "deprecated_outputs": { "$ref": "#/definitions/coreLiteralMap", + "description": "The outputs of the execution. It's typically used by sql task. Agent service will create a\nStructured dataset pointing to the query result table.\n+optional\nDeprecated: Use outputs instead." + }, + "outputs": { + "$ref": "#/definitions/coreOutputData", "title": "The outputs of the execution. It's typically used by sql task. Agent service will create a\nStructured dataset pointing to the query result table.\n+optional" } } @@ -427,6 +431,14 @@ }, "description": "Identity encapsulates the various security identities a task can run as. It's up to the underlying plugin to pick the\nright identity for the execution environment." }, + "coreInputData": { + "type": "object", + "properties": { + "inputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "coreK8sObjectMetadata": { "type": "object", "properties": { @@ -635,6 +647,14 @@ "default": "CLIENT_CREDENTIALS", "description": "Type of the token requested.\n\n - CLIENT_CREDENTIALS: CLIENT_CREDENTIALS indicates a 2-legged OAuth token requested using client credentials." }, + "coreOutputData": { + "type": "object", + "properties": { + "outputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "corePrimitive": { "type": "object", "properties": { diff --git a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go index 45f869e608..735f442616 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go @@ -566,6 +566,8 @@ type GetDataResponse struct { // *GetDataResponse_LiteralMap // *GetDataResponse_PreSignedUrls // *GetDataResponse_Literal + // *GetDataResponse_InputData + // *GetDataResponse_OutputData Data isGetDataResponse_Data `protobuf_oneof:"data"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -613,12 +615,24 @@ type GetDataResponse_Literal struct { Literal *core.Literal `protobuf:"bytes,3,opt,name=literal,proto3,oneof"` } +type GetDataResponse_InputData struct { + InputData *core.InputData `protobuf:"bytes,4,opt,name=input_data,json=inputData,proto3,oneof"` +} + +type GetDataResponse_OutputData struct { + OutputData *core.OutputData `protobuf:"bytes,5,opt,name=output_data,json=outputData,proto3,oneof"` +} + func (*GetDataResponse_LiteralMap) isGetDataResponse_Data() {} func (*GetDataResponse_PreSignedUrls) isGetDataResponse_Data() {} func (*GetDataResponse_Literal) isGetDataResponse_Data() {} +func (*GetDataResponse_InputData) isGetDataResponse_Data() {} + +func (*GetDataResponse_OutputData) isGetDataResponse_Data() {} + func (m *GetDataResponse) GetData() isGetDataResponse_Data { if m != nil { return m.Data @@ -647,12 +661,28 @@ func (m *GetDataResponse) GetLiteral() *core.Literal { return nil } +func (m *GetDataResponse) GetInputData() *core.InputData { + if x, ok := m.GetData().(*GetDataResponse_InputData); ok { + return x.InputData + } + return nil +} + +func (m *GetDataResponse) GetOutputData() *core.OutputData { + if x, ok := m.GetData().(*GetDataResponse_OutputData); ok { + return x.OutputData + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*GetDataResponse) XXX_OneofWrappers() []interface{} { return []interface{}{ (*GetDataResponse_LiteralMap)(nil), (*GetDataResponse_PreSignedUrls)(nil), (*GetDataResponse_Literal)(nil), + (*GetDataResponse_InputData)(nil), + (*GetDataResponse_OutputData)(nil), } } @@ -672,64 +702,67 @@ func init() { func init() { proto.RegisterFile("flyteidl/service/dataproxy.proto", fileDescriptor_bffb71366d75dab0) } var fileDescriptor_bffb71366d75dab0 = []byte{ - // 910 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x6f, 0xe3, 0x44, - 0x14, 0xef, 0xa4, 0x25, 0x6d, 0x5e, 0xd3, 0x3f, 0x8c, 0x56, 0x25, 0xeb, 0x76, 0xdb, 0xac, 0x17, - 0xa1, 0x52, 0xa8, 0x0d, 0x45, 0x2b, 0xc1, 0x8a, 0x15, 0x6a, 0x93, 0xec, 0x36, 0xa2, 0x5b, 0x55, - 0xde, 0xf4, 0x00, 0x17, 0x6b, 0x6a, 0x4f, 0xc2, 0xb0, 0xce, 0x8c, 0x19, 0x4f, 0x4a, 0x2b, 0x21, - 0x0e, 0x9c, 0xb8, 0x73, 0xe0, 0xc0, 0x85, 0x13, 0x5f, 0x85, 0x0f, 0x80, 0xc4, 0x07, 0x40, 0xdc, - 0xf8, 0x06, 0x9c, 0x90, 0xed, 0xb1, 0x13, 0x27, 0x69, 0x37, 0x8b, 0xf6, 0x96, 0x37, 0xef, 0xe7, - 0xf9, 0xfd, 0xde, 0x6f, 0xde, 0xbc, 0x09, 0xd4, 0xbb, 0xc1, 0xb5, 0xa2, 0xcc, 0x0f, 0xec, 0x88, - 0xca, 0x4b, 0xe6, 0x51, 0xdb, 0x27, 0x8a, 0x84, 0x52, 0x5c, 0x5d, 0x5b, 0xa1, 0x14, 0x4a, 0xe0, - 0xf5, 0x0c, 0x61, 0x69, 0x84, 0xb1, 0xd5, 0x13, 0xa2, 0x17, 0x50, 0x9b, 0x84, 0xcc, 0x26, 0x9c, - 0x0b, 0x45, 0x14, 0x13, 0x3c, 0x4a, 0xf1, 0xc6, 0xb6, 0xce, 0x26, 0xd1, 0xc5, 0xa0, 0x6b, 0xfb, - 0x03, 0x99, 0x00, 0x74, 0x7e, 0x67, 0x3c, 0xaf, 0x58, 0x9f, 0x46, 0x8a, 0xf4, 0xc3, 0x6c, 0x83, - 0x5c, 0x92, 0x27, 0x24, 0xb5, 0x99, 0x4f, 0xb9, 0x62, 0x5d, 0x46, 0xa5, 0xce, 0x6f, 0x15, 0xf3, - 0x01, 0x53, 0x54, 0x92, 0x40, 0xd3, 0x9b, 0x3f, 0x23, 0xd8, 0x6a, 0x48, 0x4a, 0x14, 0x3d, 0x0f, - 0x03, 0x41, 0xfc, 0x13, 0xe1, 0x25, 0xec, 0x0e, 0x8d, 0x42, 0xc1, 0x23, 0x8a, 0xef, 0x01, 0x44, - 0xac, 0xc7, 0xa9, 0xef, 0x0e, 0x64, 0x50, 0x43, 0x75, 0xb4, 0x5b, 0x71, 0x2a, 0xe9, 0xca, 0xb9, - 0x0c, 0xe2, 0x34, 0x27, 0x8a, 0x5d, 0xd2, 0x24, 0x5d, 0x4a, 0xd3, 0xe9, 0x4a, 0x9c, 0xfe, 0x04, - 0x80, 0x5e, 0x85, 0x4c, 0xd2, 0xc8, 0x25, 0xaa, 0x36, 0x5f, 0x47, 0xbb, 0xcb, 0x07, 0x86, 0x95, - 0x96, 0x64, 0x65, 0x25, 0x59, 0x9d, 0xac, 0x24, 0xa7, 0xa2, 0xd1, 0x87, 0xca, 0xfc, 0x07, 0xc1, - 0xe6, 0x74, 0x65, 0xdf, 0x0c, 0x68, 0xa4, 0x70, 0x0d, 0x16, 0x43, 0x29, 0xbe, 0xa6, 0x9e, 0xd2, - 0xaa, 0xb2, 0x10, 0x6f, 0x40, 0xd9, 0x17, 0x7d, 0xc2, 0xb8, 0xd6, 0xa3, 0x23, 0x6c, 0xc0, 0x52, - 0x97, 0x05, 0x94, 0x93, 0x3e, 0x4d, 0xa4, 0x54, 0x9c, 0x3c, 0xc6, 0x1f, 0x0f, 0x85, 0x32, 0x5e, - 0x5b, 0x48, 0x84, 0xde, 0x9d, 0x10, 0xda, 0xd4, 0x67, 0x93, 0xeb, 0x6c, 0x73, 0xbc, 0x03, 0xcb, - 0x9e, 0xe0, 0x8a, 0x72, 0xe5, 0xf6, 0xfd, 0x87, 0xb5, 0x37, 0xea, 0x68, 0xb7, 0xea, 0x80, 0x5e, - 0x7a, 0xe6, 0x3f, 0xc4, 0x0f, 0x60, 0x25, 0xa3, 0x71, 0xa5, 0x10, 0xaa, 0x56, 0x4e, 0xb8, 0xab, - 0xd9, 0xa2, 0x23, 0x84, 0x32, 0xbf, 0x83, 0x7b, 0x69, 0xb1, 0x4d, 0xf1, 0x2d, 0x9f, 0x56, 0x6e, - 0xd1, 0x68, 0x34, 0x6e, 0x74, 0x51, 0x7f, 0x69, 0x76, 0xfd, 0x8f, 0x4a, 0x35, 0x64, 0x7e, 0x0f, - 0xdb, 0x37, 0xb1, 0xcf, 0xd6, 0x06, 0xc5, 0x73, 0x2e, 0xbd, 0xc2, 0x39, 0x27, 0xfc, 0xff, 0x22, - 0xb8, 0x3b, 0x26, 0x80, 0xf1, 0x17, 0x59, 0xe9, 0x0d, 0x58, 0x21, 0x52, 0xb1, 0x2e, 0xf1, 0x94, - 0xab, 0xae, 0x43, 0x9a, 0xd0, 0xaf, 0x1e, 0x6c, 0x5b, 0xe3, 0x57, 0xcd, 0x3a, 0xd4, 0xb0, 0xce, - 0x75, 0x48, 0x9d, 0x2a, 0x19, 0x89, 0xfe, 0xbf, 0x41, 0xb8, 0x03, 0x6f, 0x72, 0xe1, 0x53, 0x97, - 0x5e, 0x51, 0x6f, 0x10, 0x27, 0x5d, 0xe6, 0xeb, 0x56, 0x7e, 0x67, 0x28, 0x21, 0xbe, 0x5c, 0xd6, - 0xa9, 0xf0, 0x69, 0x2b, 0x83, 0xb5, 0xf3, 0x9b, 0x78, 0x3c, 0xe7, 0xac, 0xf1, 0x62, 0xea, 0x68, - 0x09, 0xca, 0x91, 0x18, 0x48, 0x8f, 0x9a, 0xbf, 0x23, 0x30, 0xa6, 0x15, 0xaf, 0x9d, 0xbf, 0x3f, - 0xe6, 0xfc, 0xfc, 0x6e, 0xe5, 0xa8, 0x54, 0x43, 0xa3, 0xee, 0x3f, 0x7e, 0x35, 0xf7, 0xd3, 0xcf, - 0xf3, 0x13, 0xc0, 0x4f, 0x61, 0x2d, 0x94, 0xd4, 0x1d, 0xb2, 0x44, 0xba, 0xbc, 0x9d, 0x49, 0x87, - 0xcf, 0x24, 0x7d, 0x9e, 0xf2, 0x3a, 0x27, 0x91, 0xb3, 0x12, 0xe6, 0xa1, 0x0c, 0x22, 0x93, 0xc1, - 0x4a, 0x21, 0x3f, 0xd1, 0x35, 0xf3, 0xaf, 0xab, 0x6b, 0xcc, 0x7d, 0x58, 0x7d, 0x4a, 0x55, 0x93, - 0x28, 0x92, 0x75, 0xc9, 0x26, 0x54, 0x12, 0xb5, 0x23, 0x0d, 0xba, 0x94, 0x2c, 0x9c, 0xcb, 0xc0, - 0xfc, 0x13, 0xc1, 0x5a, 0x8e, 0xd7, 0xc6, 0x7e, 0x0a, 0xcb, 0x7a, 0x18, 0xba, 0x7d, 0x12, 0x26, - 0x9f, 0xc4, 0x2d, 0x51, 0x3c, 0xd1, 0x93, 0x14, 0xf1, 0x8c, 0x84, 0xc7, 0x73, 0x0e, 0x04, 0x79, - 0x84, 0xdb, 0x93, 0xa6, 0x95, 0x66, 0x32, 0xed, 0x78, 0x6e, 0xcc, 0x36, 0x7c, 0x00, 0x8b, 0x7a, - 0x63, 0xed, 0xfb, 0xc6, 0x74, 0x11, 0xc7, 0x73, 0x4e, 0x06, 0x3c, 0x2a, 0xc3, 0x42, 0xfc, 0xf2, - 0xec, 0x35, 0xa0, 0x3a, 0xda, 0xf4, 0x78, 0x13, 0xde, 0x3a, 0x74, 0x3a, 0xed, 0x27, 0x87, 0x8d, - 0x8e, 0xdb, 0xf9, 0xe2, 0xac, 0xe5, 0x9e, 0x9f, 0x36, 0x5b, 0x4f, 0xda, 0xa7, 0xad, 0xe6, 0xfa, - 0x1c, 0xde, 0x00, 0x5c, 0x4c, 0x36, 0x5b, 0x8d, 0xcf, 0xd7, 0xd1, 0xc1, 0x5f, 0x0b, 0xb0, 0x1e, - 0x5b, 0x73, 0x16, 0xbf, 0x63, 0xcf, 0x53, 0xd1, 0xf8, 0x57, 0x04, 0x77, 0xa6, 0xcd, 0x5f, 0xbc, - 0x3f, 0x59, 0xe0, 0x2d, 0x73, 0xda, 0xb0, 0x66, 0x85, 0xa7, 0xc7, 0x62, 0xbe, 0xfb, 0xc3, 0x1f, - 0x7f, 0xff, 0x54, 0x7a, 0x60, 0x6e, 0x27, 0x0f, 0xe6, 0xe5, 0x87, 0xc3, 0x17, 0xd6, 0xce, 0xa7, - 0xc0, 0x40, 0xf2, 0x47, 0x68, 0x0f, 0xff, 0x86, 0x60, 0x63, 0xfa, 0xdc, 0xc2, 0xf6, 0x4d, 0xac, - 0x37, 0xcc, 0x57, 0xe3, 0x83, 0xd9, 0x3f, 0x28, 0x08, 0xad, 0xe3, 0x97, 0x08, 0xfd, 0xb1, 0x84, - 0xf0, 0x2f, 0x08, 0xf0, 0xe4, 0x15, 0xc7, 0xef, 0xbd, 0x94, 0x73, 0x38, 0x05, 0x8d, 0xf7, 0x67, - 0x03, 0x6b, 0x71, 0x7b, 0x89, 0xb8, 0xb7, 0xcd, 0x9d, 0x5b, 0xc4, 0x05, 0x8c, 0xbf, 0x88, 0x6d, - 0xf4, 0x61, 0x51, 0xdf, 0x0d, 0x5c, 0x9f, 0x24, 0x29, 0x5e, 0x33, 0xe3, 0xfe, 0x2d, 0x08, 0xcd, - 0x7d, 0x27, 0xe1, 0x5e, 0xc5, 0xd5, 0x51, 0xee, 0xa3, 0xcf, 0xbe, 0x7c, 0xdc, 0x63, 0xea, 0xab, - 0xc1, 0x85, 0xe5, 0x89, 0xbe, 0x9d, 0x6c, 0x22, 0x64, 0x2f, 0xfd, 0x61, 0xe7, 0xff, 0x51, 0x7a, - 0x94, 0xdb, 0xe1, 0xc5, 0x7e, 0x4f, 0xd8, 0xe3, 0xff, 0xb4, 0x2e, 0xca, 0xc9, 0x44, 0xf8, 0xe8, - 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe6, 0x5e, 0xc8, 0x56, 0x84, 0x09, 0x00, 0x00, + // 951 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x6f, 0xe3, 0xc4, + 0x1b, 0x8e, 0xd3, 0x6e, 0xda, 0xbc, 0x4d, 0xff, 0xfc, 0x46, 0xab, 0xfe, 0xb2, 0x69, 0xb7, 0xcd, + 0x7a, 0x11, 0x2a, 0x85, 0xda, 0x50, 0xb4, 0x12, 0xac, 0x58, 0xa1, 0x36, 0xc9, 0x6e, 0x22, 0xba, + 0xa5, 0xf2, 0xa6, 0x07, 0xb8, 0x58, 0xd3, 0x78, 0x12, 0x86, 0x75, 0x66, 0xcc, 0x78, 0x5c, 0x5a, + 0x09, 0x71, 0xe0, 0xc4, 0x9d, 0x03, 0x07, 0x2e, 0x9c, 0xf8, 0x2a, 0x1c, 0x39, 0xf0, 0x0d, 0x10, + 0x37, 0xbe, 0x01, 0x27, 0xe4, 0xf1, 0xd8, 0x89, 0x93, 0xb4, 0x9b, 0x45, 0xdc, 0xf2, 0xce, 0xfb, + 0x8c, 0x9f, 0xe7, 0x7d, 0xe6, 0x9d, 0x77, 0x02, 0xf5, 0xbe, 0x7f, 0x2d, 0x09, 0xf5, 0x7c, 0x3b, + 0x24, 0xe2, 0x92, 0xf6, 0x88, 0xed, 0x61, 0x89, 0x03, 0xc1, 0xaf, 0xae, 0xad, 0x40, 0x70, 0xc9, + 0xd1, 0x46, 0x8a, 0xb0, 0x34, 0xa2, 0xb6, 0x3d, 0xe0, 0x7c, 0xe0, 0x13, 0x1b, 0x07, 0xd4, 0xc6, + 0x8c, 0x71, 0x89, 0x25, 0xe5, 0x2c, 0x4c, 0xf0, 0xb5, 0x1d, 0x9d, 0x55, 0xd1, 0x45, 0xd4, 0xb7, + 0xbd, 0x48, 0x28, 0x80, 0xce, 0xef, 0x4e, 0xe6, 0x25, 0x1d, 0x92, 0x50, 0xe2, 0x61, 0x90, 0x7e, + 0x20, 0x93, 0xd4, 0xe3, 0x82, 0xd8, 0xd4, 0x23, 0x4c, 0xd2, 0x3e, 0x25, 0x42, 0xe7, 0xb7, 0xf3, + 0x79, 0x9f, 0x4a, 0x22, 0xb0, 0xaf, 0xe9, 0xcd, 0x1f, 0x0d, 0xd8, 0x6e, 0x08, 0x82, 0x25, 0x39, + 0x0f, 0x7c, 0x8e, 0xbd, 0x13, 0xde, 0x53, 0xec, 0x0e, 0x09, 0x03, 0xce, 0x42, 0x82, 0xee, 0x03, + 0x84, 0x74, 0xc0, 0x88, 0xe7, 0x46, 0xc2, 0xaf, 0x1a, 0x75, 0x63, 0xaf, 0xec, 0x94, 0x93, 0x95, + 0x73, 0xe1, 0xc7, 0x69, 0x86, 0x25, 0xbd, 0x24, 0x2a, 0x5d, 0x4c, 0xd2, 0xc9, 0x4a, 0x9c, 0xfe, + 0x10, 0x80, 0x5c, 0x05, 0x54, 0x90, 0xd0, 0xc5, 0xb2, 0xba, 0x50, 0x37, 0xf6, 0x56, 0x0e, 0x6b, + 0x56, 0x52, 0x92, 0x95, 0x96, 0x64, 0x75, 0xd3, 0x92, 0x9c, 0xb2, 0x46, 0x1f, 0x49, 0xf3, 0x2f, + 0x03, 0xb6, 0x66, 0x2b, 0xfb, 0x2a, 0x22, 0xa1, 0x44, 0x55, 0x58, 0x0a, 0x04, 0xff, 0x92, 0xf4, + 0xa4, 0x56, 0x95, 0x86, 0x68, 0x13, 0x4a, 0x1e, 0x1f, 0x62, 0xca, 0xb4, 0x1e, 0x1d, 0xa1, 0x1a, + 0x2c, 0xf7, 0xa9, 0x4f, 0x18, 0x1e, 0x12, 0x25, 0xa5, 0xec, 0x64, 0x31, 0xfa, 0x60, 0x24, 0x94, + 0xb2, 0xea, 0xa2, 0x12, 0x7a, 0x6f, 0x4a, 0x68, 0x53, 0x9f, 0x4d, 0xa6, 0xb3, 0xc3, 0xd0, 0x2e, + 0xac, 0xf4, 0x38, 0x93, 0x84, 0x49, 0x77, 0xe8, 0x3d, 0xaa, 0xde, 0xa9, 0x1b, 0x7b, 0x15, 0x07, + 0xf4, 0xd2, 0x73, 0xef, 0x11, 0x7a, 0x08, 0xab, 0x29, 0x8d, 0x2b, 0x38, 0x97, 0xd5, 0x92, 0xe2, + 0xae, 0xa4, 0x8b, 0x0e, 0xe7, 0xd2, 0xfc, 0x06, 0xee, 0x27, 0xc5, 0x36, 0xf9, 0xd7, 0x6c, 0x56, + 0xb9, 0x79, 0xa3, 0x8d, 0x49, 0xa3, 0xf3, 0xfa, 0x8b, 0xf3, 0xeb, 0x7f, 0x5c, 0xac, 0x1a, 0xe6, + 0xb7, 0xb0, 0x73, 0x13, 0xfb, 0x7c, 0x6d, 0x90, 0x3f, 0xe7, 0xe2, 0x6b, 0x9c, 0xb3, 0xe2, 0xff, + 0xdb, 0x80, 0x7b, 0x13, 0x02, 0x28, 0x7b, 0x99, 0x96, 0xde, 0x80, 0x55, 0x2c, 0x24, 0xed, 0xe3, + 0x9e, 0x74, 0xe5, 0x75, 0x40, 0x14, 0xfd, 0xda, 0xe1, 0x8e, 0x35, 0x79, 0xd5, 0xac, 0x23, 0x0d, + 0xeb, 0x5e, 0x07, 0xc4, 0xa9, 0xe0, 0xb1, 0xe8, 0xdf, 0x1b, 0x84, 0xba, 0xf0, 0x3f, 0xc6, 0x3d, + 0xe2, 0x92, 0x2b, 0xd2, 0x8b, 0xe2, 0xa4, 0x4b, 0x3d, 0xdd, 0xca, 0x6f, 0x8e, 0x24, 0xc4, 0x97, + 0xcb, 0x3a, 0xe5, 0x1e, 0x69, 0xa5, 0xb0, 0x4e, 0x76, 0x13, 0xdb, 0x05, 0x67, 0x9d, 0xe5, 0x53, + 0xc7, 0xcb, 0x50, 0x0a, 0x79, 0x24, 0x7a, 0xc4, 0xfc, 0xd5, 0x80, 0xda, 0xac, 0xe2, 0xb5, 0xf3, + 0x0f, 0x26, 0x9c, 0x5f, 0xd8, 0x2b, 0x1f, 0x17, 0xab, 0xc6, 0xb8, 0xfb, 0x4f, 0x5e, 0xcf, 0xfd, + 0x64, 0x7b, 0x76, 0x02, 0xe8, 0x19, 0xac, 0x07, 0x82, 0xb8, 0x23, 0x96, 0x50, 0x97, 0xb7, 0x3b, + 0xed, 0xf0, 0x99, 0x20, 0x2f, 0x12, 0x5e, 0xe7, 0x24, 0x74, 0x56, 0x83, 0x2c, 0x14, 0x7e, 0x68, + 0x52, 0x58, 0xcd, 0xe5, 0xa7, 0xba, 0x66, 0xe1, 0xbf, 0xea, 0x1a, 0xf3, 0x00, 0xd6, 0x9e, 0x11, + 0xd9, 0xc4, 0x12, 0xa7, 0x5d, 0xb2, 0x05, 0x65, 0xa5, 0x76, 0xac, 0x41, 0x97, 0xd5, 0xc2, 0xb9, + 0xf0, 0xcd, 0xdf, 0x8a, 0xb0, 0x9e, 0xe1, 0xb5, 0xb1, 0x1f, 0xc1, 0x8a, 0x1e, 0x86, 0xee, 0x10, + 0x07, 0x6a, 0x4b, 0xdc, 0x12, 0xf9, 0x13, 0x3d, 0x49, 0x10, 0xcf, 0x71, 0xd0, 0x2e, 0x38, 0xe0, + 0x67, 0x11, 0xea, 0x4c, 0x9b, 0x56, 0x9c, 0xcb, 0xb4, 0x76, 0x61, 0xc2, 0x36, 0x74, 0x08, 0x4b, + 0xfa, 0xc3, 0xda, 0xf7, 0xcd, 0xd9, 0x22, 0xda, 0x05, 0x27, 0x05, 0xc6, 0xd6, 0x51, 0x16, 0x44, + 0xd2, 0x8d, 0xdf, 0x1f, 0x3d, 0xaf, 0xaa, 0x13, 0xdb, 0x3a, 0x31, 0x20, 0x2e, 0xb9, 0x5d, 0x70, + 0xca, 0x34, 0x0d, 0xe2, 0xba, 0x79, 0x24, 0xb3, 0xbd, 0x77, 0x66, 0xd6, 0xfd, 0xa9, 0x42, 0xe8, + 0xcd, 0xc0, 0xb3, 0xe8, 0xb8, 0x04, 0x8b, 0xf1, 0xb6, 0xfd, 0x06, 0x54, 0xc6, 0x6f, 0x1b, 0xda, + 0x82, 0xff, 0x1f, 0x39, 0xdd, 0xce, 0xd3, 0xa3, 0x46, 0xd7, 0xed, 0x7e, 0x76, 0xd6, 0x72, 0xcf, + 0x4f, 0x9b, 0xad, 0xa7, 0x9d, 0xd3, 0x56, 0x73, 0xa3, 0x80, 0x36, 0x01, 0xe5, 0x93, 0xcd, 0x56, + 0xe3, 0x93, 0x0d, 0xe3, 0xf0, 0x8f, 0x45, 0xd8, 0x88, 0xbf, 0x7a, 0x16, 0x3f, 0xa0, 0x2f, 0x12, + 0xb7, 0xd0, 0xcf, 0x06, 0xdc, 0x9d, 0x35, 0xf8, 0xd1, 0xc1, 0xb4, 0xb3, 0xb7, 0x3c, 0x10, 0x35, + 0x6b, 0x5e, 0x78, 0xd2, 0x0f, 0xe6, 0x5b, 0xdf, 0xfd, 0xfe, 0xe7, 0x0f, 0xc5, 0x87, 0xe6, 0x8e, + 0x7a, 0xa9, 0x2f, 0xdf, 0x1b, 0x3d, 0xed, 0x76, 0x36, 0x7e, 0x22, 0xc1, 0x1e, 0x1b, 0xfb, 0xe8, + 0x17, 0x03, 0x36, 0x67, 0x0f, 0x4c, 0x64, 0xdf, 0xc4, 0x7a, 0xc3, 0x60, 0xaf, 0xbd, 0x3b, 0xff, + 0x86, 0x9c, 0xd0, 0x3a, 0x7a, 0x85, 0xd0, 0xef, 0x8b, 0x06, 0xfa, 0xc9, 0x00, 0x34, 0x3d, 0x5b, + 0xd0, 0xdb, 0xaf, 0xe4, 0x1c, 0x8d, 0xdf, 0xda, 0x3b, 0xf3, 0x81, 0xb5, 0xb8, 0x7d, 0x25, 0xee, + 0x0d, 0x73, 0xf7, 0x16, 0x71, 0x3e, 0x65, 0x2f, 0x63, 0x1b, 0x3d, 0x58, 0xd2, 0x97, 0x12, 0xd5, + 0xa7, 0x49, 0xf2, 0xf7, 0xbb, 0xf6, 0xe0, 0x16, 0x84, 0xe6, 0xbe, 0xab, 0xb8, 0xd7, 0x50, 0x65, + 0x9c, 0xfb, 0xf8, 0xe3, 0xcf, 0x9f, 0x0c, 0xa8, 0xfc, 0x22, 0xba, 0xb0, 0x7a, 0x7c, 0x68, 0xab, + 0x8f, 0x70, 0x31, 0x48, 0x7e, 0xd8, 0xd9, 0x9f, 0xa3, 0x01, 0x61, 0x76, 0x70, 0x71, 0x30, 0xe0, + 0xf6, 0xe4, 0x5f, 0xbc, 0x8b, 0x92, 0x1a, 0x45, 0xef, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xd4, + 0xaf, 0x7e, 0x48, 0xfd, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json index 4534435f3d..b5c6495246 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json @@ -246,6 +246,14 @@ }, "description": "Represents an error thrown from a node." }, + "coreInputData": { + "type": "object", + "properties": { + "inputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "coreLiteral": { "type": "object", "properties": { @@ -354,6 +362,14 @@ }, "description": "Encapsulation of fields that identify a Flyte node execution entity." }, + "coreOutputData": { + "type": "object", + "properties": { + "outputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "corePrimitive": { "type": "object", "properties": { @@ -762,6 +778,14 @@ "literal": { "$ref": "#/definitions/coreLiteral", "description": "Single literal will be returned. This is returned when the user/url requests a specific output or input\nby name. See the o3 example above." + }, + "input_data": { + "$ref": "#/definitions/coreInputData", + "description": "InputData is returned when the user/url requests the input data for an execution." + }, + "output_data": { + "$ref": "#/definitions/coreOutputData", + "description": "OutputData is returned when the user/url requests the output data for an execution." } } }, diff --git a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go index ab64516b19..58c175e8ff 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go @@ -66,14 +66,19 @@ type TaskCreateRequest struct { // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - Inputs *core.LiteralMap `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"` + // Deprecated: please use inputs instead. + DeprecatedInputs *core.LiteralMap `protobuf:"bytes,1,opt,name=deprecated_inputs,json=deprecatedInputs,proto3" json:"deprecated_inputs,omitempty"` // Deprecated: Do not use. // Template of the task that encapsulates all the metadata of the task. Template *core.TaskTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` // Prefix for where task output data will be written. (e.g. s3://my-bucket/randomstring) - OutputPrefix string `protobuf:"bytes,3,opt,name=output_prefix,json=outputPrefix,proto3" json:"output_prefix,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OutputPrefix string `protobuf:"bytes,3,opt,name=output_prefix,json=outputPrefix,proto3" json:"output_prefix,omitempty"` + // The inputs required to start the execution. All required inputs must be + // included in this map. If not required and not provided, defaults apply. + // +optional + Inputs *core.InputData `protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TaskCreateRequest) Reset() { *m = TaskCreateRequest{} } @@ -101,9 +106,10 @@ func (m *TaskCreateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_TaskCreateRequest proto.InternalMessageInfo -func (m *TaskCreateRequest) GetInputs() *core.LiteralMap { +// Deprecated: Do not use. +func (m *TaskCreateRequest) GetDeprecatedInputs() *core.LiteralMap { if m != nil { - return m.Inputs + return m.DeprecatedInputs } return nil } @@ -122,6 +128,13 @@ func (m *TaskCreateRequest) GetOutputPrefix() string { return "" } +func (m *TaskCreateRequest) GetInputs() *core.InputData { + if m != nil { + return m.Inputs + } + return nil +} + // Represents a create response structure. // // Deprecated: Do not use. @@ -225,7 +238,12 @@ type TaskGetResponse struct { // The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a // Structured dataset pointing to the query result table. // +optional - Outputs *core.LiteralMap `protobuf:"bytes,2,opt,name=outputs,proto3" json:"outputs,omitempty"` + // Deprecated: Please use outputs instead + DeprecatedOutputs *core.LiteralMap `protobuf:"bytes,2,opt,name=deprecated_outputs,json=deprecatedOutputs,proto3" json:"deprecated_outputs,omitempty"` + // The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a + // Structured dataset pointing to the query result table. + // +optional + Outputs *core.OutputData `protobuf:"bytes,3,opt,name=outputs,proto3" json:"outputs,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -263,7 +281,14 @@ func (m *TaskGetResponse) GetState() State { return State_RETRYABLE_FAILURE } -func (m *TaskGetResponse) GetOutputs() *core.LiteralMap { +func (m *TaskGetResponse) GetDeprecatedOutputs() *core.LiteralMap { + if m != nil { + return m.DeprecatedOutputs + } + return nil +} + +func (m *TaskGetResponse) GetOutputs() *core.OutputData { if m != nil { return m.Outputs } @@ -371,41 +396,44 @@ func init() { } var fileDescriptor_74cbdb08eef5b1d1 = []byte{ - // 544 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x51, 0x6f, 0xd2, 0x50, - 0x14, 0xb6, 0x9d, 0x1b, 0xe3, 0xcc, 0x4d, 0x76, 0x13, 0x62, 0xc7, 0x34, 0x41, 0xe6, 0xc3, 0x62, - 0xb2, 0x36, 0xb2, 0x07, 0x13, 0x13, 0x63, 0x18, 0x54, 0x24, 0xb2, 0x86, 0x14, 0x78, 0xd0, 0x2c, - 0x69, 0x5a, 0x38, 0x60, 0xb7, 0xae, 0xbd, 0xb6, 0xb7, 0x66, 0xfc, 0x03, 0x7f, 0xca, 0x7e, 0xa6, - 0xb9, 0xf7, 0xb6, 0x1d, 0x30, 0xe5, 0xc1, 0x37, 0x7a, 0xce, 0x77, 0xbe, 0x73, 0xbe, 0xef, 0x9c, - 0x0b, 0xe8, 0xb3, 0x60, 0xc1, 0xd0, 0x9f, 0x06, 0x46, 0x82, 0xf1, 0x2f, 0x7f, 0x82, 0x06, 0xde, - 0x31, 0x8c, 0x43, 0x37, 0x70, 0x68, 0x90, 0xce, 0xfd, 0xd0, 0xc9, 0xe2, 0x3a, 0x8d, 0x23, 0x16, - 0x91, 0x4a, 0x8e, 0xd7, 0xb3, 0x78, 0xed, 0x65, 0xc1, 0x30, 0x89, 0x62, 0x34, 0x02, 0x9f, 0x61, - 0xec, 0x06, 0x89, 0xc4, 0xd7, 0x8e, 0x56, 0xb3, 0xcc, 0x4d, 0x6e, 0xf2, 0xd4, 0xab, 0xd5, 0x94, - 0x1f, 0x32, 0x8c, 0x67, 0x6e, 0xde, 0xa9, 0x71, 0xaf, 0xc0, 0xe1, 0xc8, 0x4d, 0x6e, 0xda, 0x31, - 0xba, 0x0c, 0x6d, 0xfc, 0x99, 0x62, 0xc2, 0xc8, 0x3b, 0xd8, 0xf1, 0x43, 0x9a, 0xb2, 0x44, 0x53, - 0xea, 0xca, 0xe9, 0x5e, 0xf3, 0xa8, 0x10, 0xa0, 0x73, 0x16, 0xbd, 0x2f, 0xdb, 0x5f, 0xba, 0xd4, - 0xce, 0x80, 0xe4, 0x3d, 0xec, 0x32, 0xbc, 0xa5, 0x81, 0xcb, 0x50, 0x53, 0x45, 0xd1, 0xf1, 0x5a, - 0x11, 0x6f, 0x33, 0xca, 0x20, 0x76, 0x01, 0x26, 0x27, 0xb0, 0x1f, 0xa5, 0x8c, 0xa6, 0xcc, 0xa1, - 0x31, 0xce, 0xfc, 0x3b, 0x6d, 0xab, 0xae, 0x9c, 0x96, 0xed, 0x67, 0x32, 0x38, 0x10, 0xb1, 0x0f, - 0xaa, 0xa6, 0x34, 0x0c, 0x20, 0xcb, 0x93, 0x26, 0x34, 0x0a, 0x13, 0x24, 0x55, 0xd8, 0xb9, 0x8e, - 0x3c, 0xc7, 0x9f, 0x8a, 0x51, 0xcb, 0xf6, 0xf6, 0x75, 0xe4, 0xf5, 0xa6, 0xa2, 0xe0, 0x0b, 0x1c, - 0xf0, 0x82, 0x2e, 0xb2, 0x5c, 0xd7, 0x31, 0x94, 0xb9, 0x37, 0x0e, 0x5b, 0x50, 0xcc, 0xf0, 0xbb, - 0x3c, 0x30, 0x5a, 0xd0, 0x65, 0x26, 0x75, 0x9d, 0x69, 0x01, 0xcf, 0x0b, 0xa6, 0xac, 0xef, 0x19, - 0x6c, 0x27, 0x8c, 0x8b, 0xe5, 0x34, 0x07, 0xcd, 0x17, 0xfa, 0xfa, 0xca, 0xf4, 0x21, 0x4f, 0xdb, - 0x12, 0x45, 0xce, 0xa1, 0x24, 0x05, 0x25, 0x99, 0x3b, 0x1b, 0x2c, 0xcd, 0x91, 0xa2, 0xf5, 0x57, - 0xb9, 0x9f, 0x0e, 0x06, 0xf8, 0xb0, 0x9f, 0xff, 0xd5, 0xa1, 0x49, 0x0b, 0x73, 0x32, 0x29, 0x85, - 0x67, 0xde, 0x7a, 0xb0, 0x2d, 0xe6, 0x25, 0x55, 0x38, 0xb4, 0xcd, 0x91, 0xfd, 0xad, 0x75, 0xd1, - 0x37, 0x9d, 0xcf, 0xad, 0x5e, 0x7f, 0x6c, 0x9b, 0x95, 0x27, 0x3c, 0x3c, 0x30, 0xed, 0xcb, 0x96, - 0x65, 0x5a, 0xa3, 0x22, 0xac, 0x90, 0x3d, 0x28, 0x0d, 0x4c, 0xab, 0xd3, 0xb3, 0xba, 0x15, 0x95, - 0x7f, 0xd8, 0x63, 0xcb, 0xe2, 0x1f, 0x5b, 0x64, 0x1f, 0xca, 0xc3, 0x71, 0xbb, 0x6d, 0x9a, 0x1d, - 0xb3, 0x53, 0x79, 0x5a, 0x53, 0x35, 0xa5, 0x79, 0xaf, 0x42, 0xd5, 0xcc, 0xee, 0x7e, 0x20, 0xce, - 0x7e, 0x28, 0xad, 0x22, 0x57, 0x00, 0x72, 0xad, 0x7c, 0x3a, 0x72, 0xf2, 0xd8, 0xcb, 0x47, 0x27, - 0x5a, 0x7b, 0xb3, 0x19, 0x24, 0xa5, 0x35, 0xb6, 0x7e, 0xab, 0x0a, 0x19, 0x42, 0xa9, 0x8b, 0x4c, - 0x50, 0xd7, 0xff, 0x5e, 0xf5, 0x70, 0x22, 0xb5, 0xd7, 0x1b, 0x10, 0xcb, 0xa4, 0x57, 0x00, 0xd2, - 0xc6, 0x4d, 0x23, 0xaf, 0x6c, 0xed, 0x5f, 0x23, 0xaf, 0x6e, 0x43, 0xb0, 0x5f, 0x7c, 0xfa, 0xfe, - 0x71, 0xee, 0xb3, 0x1f, 0xa9, 0xa7, 0x4f, 0xa2, 0x5b, 0x43, 0x94, 0x45, 0xf1, 0x5c, 0xfe, 0x30, - 0x8a, 0x17, 0x3d, 0xc7, 0xd0, 0xa0, 0xde, 0xd9, 0x3c, 0x32, 0xd6, 0xff, 0x5f, 0xbc, 0x1d, 0xf1, - 0xbc, 0xcf, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xda, 0xdb, 0x38, 0x09, 0x7a, 0x04, 0x00, 0x00, + // 592 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcb, 0x6e, 0xd3, 0x40, + 0x14, 0xc5, 0x4e, 0x5f, 0xb9, 0xa5, 0x25, 0x1d, 0xa9, 0xc2, 0x4d, 0x59, 0x94, 0x96, 0x45, 0x85, + 0x54, 0x1b, 0xb5, 0x0b, 0x24, 0x24, 0x84, 0xf2, 0x30, 0x69, 0x20, 0x35, 0xd1, 0x24, 0x59, 0x80, + 0x2a, 0x59, 0x76, 0x72, 0x1b, 0xdc, 0xba, 0xf1, 0x60, 0x8f, 0x51, 0xf3, 0x07, 0x7c, 0x0a, 0xff, + 0xc1, 0x27, 0xf1, 0x03, 0x68, 0x66, 0x1c, 0xe7, 0xd1, 0x36, 0x0b, 0x76, 0xf6, 0x9d, 0x73, 0xce, + 0xdc, 0x7b, 0xce, 0xcc, 0x80, 0x79, 0x15, 0x8e, 0x39, 0x06, 0x83, 0xd0, 0x4a, 0x30, 0xfe, 0x19, + 0xf4, 0xd1, 0xc2, 0x3b, 0x8e, 0xf1, 0xc8, 0x0b, 0x5d, 0x16, 0xa6, 0xc3, 0x60, 0xe4, 0x66, 0x75, + 0x93, 0xc5, 0x11, 0x8f, 0x48, 0x69, 0x82, 0x37, 0xb3, 0x7a, 0xf9, 0x45, 0xae, 0xd0, 0x8f, 0x62, + 0xb4, 0xc2, 0x80, 0x63, 0xec, 0x85, 0x89, 0xc2, 0x97, 0xf7, 0xe6, 0x57, 0xb9, 0x97, 0xdc, 0x64, + 0x4b, 0x87, 0x7f, 0x35, 0xd8, 0xe9, 0x7a, 0xc9, 0x4d, 0x2d, 0x46, 0x8f, 0x23, 0xc5, 0x1f, 0x29, + 0x26, 0x9c, 0x7c, 0x82, 0x9d, 0x01, 0xb2, 0x18, 0xfb, 0x1e, 0xc7, 0x81, 0x1b, 0x8c, 0x58, 0xca, + 0x13, 0x43, 0x3b, 0xd0, 0x8e, 0x37, 0x4f, 0xf7, 0xf2, 0x66, 0x4d, 0x21, 0x66, 0xb6, 0xd4, 0x56, + 0x17, 0x1e, 0xab, 0xea, 0x86, 0x46, 0x4b, 0x53, 0x5e, 0x53, 0xd2, 0xc8, 0x5b, 0xd8, 0xe0, 0x78, + 0xcb, 0x42, 0x8f, 0xa3, 0xa1, 0x4b, 0x89, 0xfd, 0x05, 0x09, 0xb1, 0x7f, 0x37, 0x83, 0xd0, 0x1c, + 0x4c, 0x8e, 0x60, 0x2b, 0x4a, 0x39, 0x4b, 0xb9, 0xcb, 0x62, 0xbc, 0x0a, 0xee, 0x8c, 0xc2, 0x81, + 0x76, 0x5c, 0xa4, 0x4f, 0x55, 0xb1, 0x2d, 0x6b, 0xe4, 0x0d, 0xac, 0x65, 0xed, 0xad, 0x48, 0x6d, + 0x63, 0x41, 0x5b, 0x36, 0x51, 0xf7, 0xb8, 0x47, 0x33, 0xdc, 0x3b, 0xdd, 0xd0, 0x0e, 0x2d, 0x20, + 0xb3, 0x43, 0x27, 0x2c, 0x1a, 0x25, 0x48, 0x76, 0x61, 0xed, 0x3a, 0xf2, 0xdd, 0x60, 0x20, 0x47, + 0x2d, 0xd2, 0xd5, 0xeb, 0xc8, 0x6f, 0x0e, 0x24, 0xe1, 0x1c, 0xb6, 0x05, 0xa1, 0x81, 0x7c, 0x62, + 0xd1, 0x3e, 0x14, 0x85, 0x8f, 0x2e, 0x1f, 0x33, 0xcc, 0xf0, 0x1b, 0xa2, 0xd0, 0x1d, 0xb3, 0x59, + 0x25, 0x7d, 0x51, 0xe9, 0x8f, 0x06, 0xcf, 0x72, 0xa9, 0x6c, 0xe3, 0x13, 0x58, 0x4d, 0xb8, 0xf0, + 0x47, 0xe8, 0x6c, 0x9f, 0x3e, 0x37, 0x17, 0xf3, 0x35, 0x3b, 0x62, 0x99, 0x2a, 0x14, 0x39, 0x07, + 0x32, 0x93, 0x8e, 0xb2, 0x23, 0xc9, 0xbc, 0x7d, 0x3c, 0x1e, 0x3a, 0x13, 0xe9, 0x17, 0xc5, 0x21, + 0x67, 0xb0, 0x3e, 0xa1, 0x17, 0x1e, 0xa4, 0x2b, 0xa0, 0xf4, 0x6f, 0x82, 0x94, 0x53, 0x7c, 0x56, + 0xa7, 0xa6, 0x8e, 0x21, 0x4e, 0x4f, 0xcd, 0xff, 0x5a, 0x62, 0xa8, 0x34, 0x26, 0x62, 0xca, 0x14, + 0xb1, 0xf2, 0xda, 0x87, 0x55, 0x39, 0x39, 0xd9, 0x85, 0x1d, 0x6a, 0x77, 0xe9, 0xd7, 0x4a, 0xb5, + 0x65, 0xbb, 0x1f, 0x2b, 0xcd, 0x56, 0x8f, 0xda, 0xa5, 0x27, 0xa2, 0xdc, 0xb6, 0xe9, 0x45, 0xc5, + 0xb1, 0x9d, 0x6e, 0x5e, 0xd6, 0xc8, 0x26, 0xac, 0xb7, 0x6d, 0xa7, 0xde, 0x74, 0x1a, 0x25, 0x5d, + 0xfc, 0xd0, 0x9e, 0xe3, 0x88, 0x9f, 0x02, 0xd9, 0x82, 0x62, 0xa7, 0x57, 0xab, 0xd9, 0x76, 0xdd, + 0xae, 0x97, 0x56, 0xca, 0xba, 0xa1, 0x9d, 0xfe, 0xd6, 0x61, 0xd7, 0xce, 0xae, 0x5b, 0x5b, 0xde, + 0xb6, 0x8e, 0x32, 0x9d, 0x5c, 0x02, 0xa8, 0x13, 0x22, 0xba, 0x23, 0x47, 0xf7, 0x53, 0xb9, 0x77, + 0x71, 0xca, 0xaf, 0x96, 0x83, 0xd4, 0x68, 0x87, 0x85, 0x5f, 0xba, 0x46, 0x3a, 0xb0, 0xde, 0x40, + 0x2e, 0xa5, 0x0f, 0x1e, 0x66, 0x4d, 0x4f, 0x5b, 0xf9, 0xe5, 0x12, 0xc4, 0xac, 0xe8, 0x25, 0x80, + 0xb2, 0x71, 0x59, 0xcb, 0x73, 0xa9, 0x3d, 0xd6, 0xf2, 0x7c, 0x1a, 0x52, 0xbd, 0xfa, 0xe1, 0xdb, + 0xfb, 0x61, 0xc0, 0xbf, 0xa7, 0xbe, 0xd9, 0x8f, 0x6e, 0x2d, 0x49, 0x8b, 0xe2, 0xa1, 0xfa, 0xb0, + 0xf2, 0x37, 0x66, 0x88, 0x23, 0x8b, 0xf9, 0x27, 0xc3, 0xc8, 0x5a, 0x7c, 0xd6, 0xfc, 0x35, 0xf9, + 0xe8, 0x9c, 0xfd, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x6d, 0xc9, 0x3b, 0x5e, 0xf1, 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json index bb0e406339..3f932f5524 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json @@ -390,6 +390,14 @@ }, "description": "Identity encapsulates the various security identities a task can run as. It's up to the underlying plugin to pick the\nright identity for the execution environment." }, + "coreInputData": { + "type": "object", + "properties": { + "inputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "coreK8sObjectMetadata": { "type": "object", "properties": { @@ -586,6 +594,14 @@ "default": "CLIENT_CREDENTIALS", "description": "Type of the token requested.\n\n - CLIENT_CREDENTIALS: CLIENT_CREDENTIALS indicates a 2-legged OAuth token requested using client credentials." }, + "coreOutputData": { + "type": "object", + "properties": { + "outputs": { + "$ref": "#/definitions/coreLiteralMap" + } + } + }, "corePrimitive": { "type": "object", "properties": { @@ -1147,8 +1163,12 @@ "$ref": "#/definitions/flyteidlserviceState", "description": "The state of the execution is used to control its visibility in the UI/CLI." }, - "outputs": { + "deprecated_outputs": { "$ref": "#/definitions/coreLiteralMap", + "title": "The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a\nStructured dataset pointing to the query result table.\n+optional\nDeprecated: Please use outputs instead" + }, + "outputs": { + "$ref": "#/definitions/coreOutputData", "title": "The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a\nStructured dataset pointing to the query result table.\n+optional" } }, diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md index 14173a7992..5e33fffc26 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md @@ -245,6 +245,7 @@ Class | Method | HTTP request | Description - [CoreIdentity](docs/CoreIdentity.md) - [CoreIfBlock](docs/CoreIfBlock.md) - [CoreIfElseBlock](docs/CoreIfElseBlock.md) + - [CoreInputData](docs/CoreInputData.md) - [CoreIoStrategy](docs/CoreIoStrategy.md) - [CoreK8sObjectMetadata](docs/CoreK8sObjectMetadata.md) - [CoreK8sPod](docs/CoreK8sPod.md) @@ -261,6 +262,7 @@ Class | Method | HTTP request | Description - [CoreOAuth2TokenRequest](docs/CoreOAuth2TokenRequest.md) - [CoreOAuth2TokenRequestType](docs/CoreOAuth2TokenRequestType.md) - [CoreOperand](docs/CoreOperand.md) + - [CoreOutputData](docs/CoreOutputData.md) - [CoreOutputReference](docs/CoreOutputReference.md) - [CoreParameter](docs/CoreParameter.md) - [CoreParameterMap](docs/CoreParameterMap.md) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml index d38070fe5f..d54d0a2369 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml @@ -3790,10 +3790,15 @@ definitions: title: "Additional fields necessary to launch the execution.\n+optional" $ref: "#/definitions/adminExecutionSpec" inputs: + description: "The inputs required to start the execution. All required inputs\ + \ must be\nincluded in this map. If not required and not provided, defaults\ + \ apply.\n+optional\nDeprecated: Please use input_data instead." + $ref: "#/definitions/coreLiteralMap" + input_data: title: "The inputs required to start the execution. All required inputs must\ \ be\nincluded in this map. If not required and not provided, defaults apply.\n\ +optional" - $ref: "#/definitions/coreLiteralMap" + $ref: "#/definitions/coreInputData" description: "Request to launch an execution with the given project, domain and\ \ optionally-assigned name." adminExecutionCreateResponse: @@ -4976,6 +4981,9 @@ definitions: key: "key" - value: "value" key: "key" + fixed_input_data: + inputs: + literals: {} interruptible: true labels: values: @@ -5782,6 +5790,9 @@ definitions: key: "key" - value: "value" key: "key" + fixed_input_data: + inputs: + literals: {} interruptible: true labels: values: @@ -6303,6 +6314,9 @@ definitions: key: "key" - value: "value" key: "key" + fixed_input_data: + inputs: + literals: {} interruptible: true labels: values: @@ -6597,9 +6611,14 @@ definitions: \ when an execution is created with this launch plan." $ref: "#/definitions/coreParameterMap" fixed_inputs: + title: "Fixed, non-overridable inputs for the Launch Plan.\nThese can not\ + \ be overridden when an execution is created with this launch plan.\nDeprecated:\ + \ Please use fixec_input_data instead" + $ref: "#/definitions/coreLiteralMap" + fixed_input_data: description: "Fixed, non-overridable inputs for the Launch Plan.\nThese can\ \ not be overridden when an execution is created with this launch plan." - $ref: "#/definitions/coreLiteralMap" + $ref: "#/definitions/coreInputData" role: type: "string" title: "String to indicate the role to use to execute the workflow underneath" @@ -6716,6 +6735,9 @@ definitions: key: "key" - value: "value" key: "key" + fixed_input_data: + inputs: + literals: {} interruptible: true labels: values: @@ -7748,12 +7770,20 @@ definitions: $ref: "#/definitions/adminUrlBlob" full_inputs: description: "Full_inputs will only be populated if they are under a configured\ - \ size threshold." + \ size threshold.\nDeprecated: Please use input_data instead." $ref: "#/definitions/coreLiteralMap" full_outputs: description: "Full_outputs will only be populated if they are under a configured\ - \ size threshold." + \ size threshold.\nDeprecated: Please use output_data instead." $ref: "#/definitions/coreLiteralMap" + input_data: + description: "InputData will only be populated if they are under a configured\ + \ size threshold." + $ref: "#/definitions/coreInputData" + output_data: + description: "OutputData will only be populated if they are under a configured\ + \ size threshold." + $ref: "#/definitions/coreOutputData" dynamic_workflow: description: "Optional Workflow closure for a dynamically generated workflow,\ \ in the case this node yields a dynamic workflow we return its structure\ @@ -7767,6 +7797,9 @@ definitions: outputs: bytes: "bytes" url: "url" + input_data: + inputs: + literals: {} flyte_urls: outputs: "outputs" inputs: "inputs" @@ -20013,6 +20046,9 @@ definitions: url: "url" full_outputs: literals: {} + output_data: + outputs: + literals: {} adminNodeExecutionList: type: "object" properties: @@ -21766,12 +21802,20 @@ definitions: $ref: "#/definitions/adminUrlBlob" full_inputs: description: "Full_inputs will only be populated if they are under a configured\ - \ size threshold." + \ size threshold.\nDeprecated: Please use input_data instead." $ref: "#/definitions/coreLiteralMap" full_outputs: description: "Full_outputs will only be populated if they are under a configured\ - \ size threshold." + \ size threshold.\nDeprecated: Please use output_data instead." $ref: "#/definitions/coreLiteralMap" + input_data: + description: "InputData will only be populated if they are under a configured\ + \ size threshold." + $ref: "#/definitions/coreInputData" + output_data: + description: "OutputData will only be populated if they are under a configured\ + \ size threshold." + $ref: "#/definitions/coreOutputData" flyte_urls: title: "flyte tiny url to fetch a core.LiteralMap of task execution's IO\n\ Deck will be empty for task" @@ -21782,6 +21826,9 @@ definitions: outputs: bytes: "bytes" url: "url" + input_data: + inputs: + literals: {} flyte_urls: outputs: "outputs" inputs: "inputs" @@ -21793,6 +21840,9 @@ definitions: url: "url" full_outputs: literals: {} + output_data: + outputs: + literals: {} adminTaskExecutionList: type: "object" properties: @@ -47555,18 +47605,29 @@ definitions: $ref: "#/definitions/adminUrlBlob" full_inputs: description: "Full_inputs will only be populated if they are under a configured\ - \ size threshold." + \ size threshold.\nDeprecated: Please use input_data instead." $ref: "#/definitions/coreLiteralMap" full_outputs: description: "Full_outputs will only be populated if they are under a configured\ - \ size threshold." + \ size threshold.\nDeprecated: Please use output_data instead." $ref: "#/definitions/coreLiteralMap" + input_data: + description: "InputData will only be populated if they are under a configured\ + \ size threshold." + $ref: "#/definitions/coreInputData" + output_data: + description: "OutputData will only be populated if they are under a configured\ + \ size threshold." + $ref: "#/definitions/coreOutputData" description: "Response structure for WorkflowExecutionGetDataRequest which contains\ \ inputs and outputs for an execution." example: outputs: bytes: "bytes" url: "url" + input_data: + inputs: + literals: {} full_inputs: literals: {} inputs: @@ -47574,6 +47635,9 @@ definitions: url: "url" full_outputs: literals: {} + output_data: + outputs: + literals: {} adminWorkflowExecutionGetMetricsResponse: type: "object" properties: @@ -91646,6 +91710,14 @@ definitions: integer: "integer" var: "var" operator: {} + coreInputData: + type: "object" + properties: + inputs: + $ref: "#/definitions/coreLiteralMap" + example: + inputs: + literals: {} coreK8sObjectMetadata: type: "object" properties: @@ -93411,6 +93483,14 @@ definitions: float_value: 1.4658129805029452 integer: "integer" var: "var" + coreOutputData: + type: "object" + properties: + outputs: + $ref: "#/definitions/coreLiteralMap" + example: + outputs: + literals: {} coreOutputReference: type: "object" properties: @@ -99453,9 +99533,13 @@ definitions: \ it is generated\nby the executor of the node." input_uri: type: "string" + deprecated_input_data: + title: "Raw input data consumed by this node execution.\nDeprecated: please\ + \ use input_data instead" + $ref: "#/definitions/coreLiteralMap" input_data: description: "Raw input data consumed by this node execution." - $ref: "#/definitions/coreLiteralMap" + $ref: "#/definitions/coreInputData" output_uri: type: "string" description: "URL to the output of the execution, it encodes all the information\n\ @@ -99463,9 +99547,13 @@ definitions: error: title: "Error information for the execution" $ref: "#/definitions/coreExecutionError" - output_data: - description: "Raw output data produced by this node execution." + deprecated_output_data: + title: "Raw output data produced by this workflow execution.\nDeprecated:\ + \ please use output_data instead" $ref: "#/definitions/coreLiteralMap" + output_data: + description: "Raw output data produced by this workflow execution." + $ref: "#/definitions/coreOutputData" workflow_node_metadata: $ref: "#/definitions/flyteidleventWorkflowNodeMetadata" task_node_metadata: @@ -99581,9 +99669,13 @@ definitions: type: "string" description: "URI of the input file, it encodes all the information\nincluding\ \ Cloud source provider. ie., s3://..." - input_data: - description: "Raw input data consumed by this task execution." + deprecated_input_data: + title: "Raw input data consumed by this node execution.\nDeprecated: please\ + \ use input_data instead" $ref: "#/definitions/coreLiteralMap" + input_data: + description: "Raw input data consumed by this node execution." + $ref: "#/definitions/coreInputData" output_uri: type: "string" description: "URI to the output of the execution, it will be in a format that\ @@ -99591,9 +99683,13 @@ definitions: error: title: "Error information for the execution" $ref: "#/definitions/coreExecutionError" - output_data: - description: "Raw output data produced by this task execution." + deprecated_output_data: + title: "Raw output data produced by this workflow execution.\nDeprecated:\ + \ please use output_data instead" $ref: "#/definitions/coreLiteralMap" + output_data: + description: "Raw output data produced by this workflow execution." + $ref: "#/definitions/coreOutputData" custom_info: description: "Custom data that the task plugin sends back. This is extensible\ \ to allow various plugins in the system." @@ -99666,9 +99762,13 @@ definitions: error: title: "Error information for the execution" $ref: "#/definitions/coreExecutionError" + deprecated_output_data: + title: "Raw output data produced by this workflow execution.\nDeprecated:\ + \ please use output_data instead" + $ref: "#/definitions/coreLiteralMap" output_data: description: "Raw output data produced by this workflow execution." - $ref: "#/definitions/coreLiteralMap" + $ref: "#/definitions/coreOutputData" flyteidladminDynamicWorkflowNodeMetadata: type: "object" properties: diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go index b8da1d4fca..5d6b2739e3 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go @@ -15,5 +15,7 @@ type AdminExecutionCreateRequest struct { Domain string `json:"domain,omitempty"` Name string `json:"name,omitempty"` Spec *AdminExecutionSpec `json:"spec,omitempty"` + // The inputs required to start the execution. All required inputs must be included in this map. If not required and not provided, defaults apply. +optional Deprecated: Please use input_data instead. Inputs *CoreLiteralMap `json:"inputs,omitempty"` + InputData *CoreInputData `json:"input_data,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go index 52a7ad3dac..7d06cd1610 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go @@ -15,8 +15,9 @@ type AdminLaunchPlanSpec struct { EntityMetadata *AdminLaunchPlanMetadata `json:"entity_metadata,omitempty"` // Input values to be passed for the execution. These can be overridden when an execution is created with this launch plan. DefaultInputs *CoreParameterMap `json:"default_inputs,omitempty"` - // Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. FixedInputs *CoreLiteralMap `json:"fixed_inputs,omitempty"` + // Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. + FixedInputData *CoreInputData `json:"fixed_input_data,omitempty"` Role string `json:"role,omitempty"` // Custom labels to be applied to the execution resource. Labels *AdminLabels `json:"labels,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go index 0ab85da7cc..5a7f520024 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go @@ -15,10 +15,14 @@ type AdminNodeExecutionGetDataResponse struct { Inputs *AdminUrlBlob `json:"inputs,omitempty"` // Signed url to fetch a core.LiteralMap of node execution outputs. Deprecated: Please use full_outputs instead. Outputs *AdminUrlBlob `json:"outputs,omitempty"` - // Full_inputs will only be populated if they are under a configured size threshold. + // Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. FullInputs *CoreLiteralMap `json:"full_inputs,omitempty"` - // Full_outputs will only be populated if they are under a configured size threshold. + // Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. FullOutputs *CoreLiteralMap `json:"full_outputs,omitempty"` + // InputData will only be populated if they are under a configured size threshold. + InputData *CoreInputData `json:"input_data,omitempty"` + // OutputData will only be populated if they are under a configured size threshold. + OutputData *CoreOutputData `json:"output_data,omitempty"` // Optional Workflow closure for a dynamically generated workflow, in the case this node yields a dynamic workflow we return its structure here. DynamicWorkflow *FlyteidladminDynamicWorkflowNodeMetadata `json:"dynamic_workflow,omitempty"` FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go index 75c3e8423e..e9e0a3c08f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go @@ -15,9 +15,13 @@ type AdminTaskExecutionGetDataResponse struct { Inputs *AdminUrlBlob `json:"inputs,omitempty"` // Signed url to fetch a core.LiteralMap of task execution outputs. Deprecated: Please use full_outputs instead. Outputs *AdminUrlBlob `json:"outputs,omitempty"` - // Full_inputs will only be populated if they are under a configured size threshold. + // Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. FullInputs *CoreLiteralMap `json:"full_inputs,omitempty"` - // Full_outputs will only be populated if they are under a configured size threshold. + // Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. FullOutputs *CoreLiteralMap `json:"full_outputs,omitempty"` + // InputData will only be populated if they are under a configured size threshold. + InputData *CoreInputData `json:"input_data,omitempty"` + // OutputData will only be populated if they are under a configured size threshold. + OutputData *CoreOutputData `json:"output_data,omitempty"` FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_execution_get_data_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_execution_get_data_response.go index d4411944e3..98f0d35798 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_execution_get_data_response.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_execution_get_data_response.go @@ -15,8 +15,12 @@ type AdminWorkflowExecutionGetDataResponse struct { Outputs *AdminUrlBlob `json:"outputs,omitempty"` // Signed url to fetch a core.LiteralMap of execution inputs. Deprecated: Please use full_inputs instead. Inputs *AdminUrlBlob `json:"inputs,omitempty"` - // Full_inputs will only be populated if they are under a configured size threshold. + // Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. FullInputs *CoreLiteralMap `json:"full_inputs,omitempty"` - // Full_outputs will only be populated if they are under a configured size threshold. + // Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. FullOutputs *CoreLiteralMap `json:"full_outputs,omitempty"` + // InputData will only be populated if they are under a configured size threshold. + InputData *CoreInputData `json:"input_data,omitempty"` + // OutputData will only be populated if they are under a configured size threshold. + OutputData *CoreOutputData `json:"output_data,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go new file mode 100644 index 0000000000..3da22f0b60 --- /dev/null +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go @@ -0,0 +1,14 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +type CoreInputData struct { + Inputs *CoreLiteralMap `json:"inputs,omitempty"` +} diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go new file mode 100644 index 0000000000..d4662e8b25 --- /dev/null +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go @@ -0,0 +1,14 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +type CoreOutputData struct { + Outputs *CoreLiteralMap `json:"outputs,omitempty"` +} diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go index 4edc5d3692..b51a55ff0a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go @@ -20,13 +20,15 @@ type EventNodeExecutionEvent struct { // This timestamp represents when the original event occurred, it is generated by the executor of the node. OccurredAt time.Time `json:"occurred_at,omitempty"` InputUri string `json:"input_uri,omitempty"` + DeprecatedInputData *CoreLiteralMap `json:"deprecated_input_data,omitempty"` // Raw input data consumed by this node execution. - InputData *CoreLiteralMap `json:"input_data,omitempty"` + InputData *CoreInputData `json:"input_data,omitempty"` // URL to the output of the execution, it encodes all the information including Cloud source provider. ie., s3://... OutputUri string `json:"output_uri,omitempty"` Error_ *CoreExecutionError `json:"error,omitempty"` - // Raw output data produced by this node execution. - OutputData *CoreLiteralMap `json:"output_data,omitempty"` + DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` + // Raw output data produced by this workflow execution. + OutputData *CoreOutputData `json:"output_data,omitempty"` WorkflowNodeMetadata *FlyteidleventWorkflowNodeMetadata `json:"workflow_node_metadata,omitempty"` TaskNodeMetadata *FlyteidleventTaskNodeMetadata `json:"task_node_metadata,omitempty"` // [To be deprecated] Specifies which task (if any) launched this node. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go index dac65497ac..b2a1a8987a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go @@ -26,13 +26,15 @@ type EventTaskExecutionEvent struct { OccurredAt time.Time `json:"occurred_at,omitempty"` // URI of the input file, it encodes all the information including Cloud source provider. ie., s3://... InputUri string `json:"input_uri,omitempty"` - // Raw input data consumed by this task execution. - InputData *CoreLiteralMap `json:"input_data,omitempty"` + DeprecatedInputData *CoreLiteralMap `json:"deprecated_input_data,omitempty"` + // Raw input data consumed by this node execution. + InputData *CoreInputData `json:"input_data,omitempty"` // URI to the output of the execution, it will be in a format that encodes all the information including Cloud source provider. ie., s3://... OutputUri string `json:"output_uri,omitempty"` Error_ *CoreExecutionError `json:"error,omitempty"` - // Raw output data produced by this task execution. - OutputData *CoreLiteralMap `json:"output_data,omitempty"` + DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` + // Raw output data produced by this workflow execution. + OutputData *CoreOutputData `json:"output_data,omitempty"` // Custom data that the task plugin sends back. This is extensible to allow various plugins in the system. CustomInfo *ProtobufStruct `json:"custom_info,omitempty"` // Some phases, like RUNNING, can send multiple events with changed metadata (new logs, additional custom_info, etc) that should be recorded regardless of the lack of phase change. The version field should be incremented when metadata changes across the duration of an individual phase. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go index 279f0d5a5c..4bdbd41d23 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go @@ -22,6 +22,7 @@ type EventWorkflowExecutionEvent struct { // URL to the output of the execution, it encodes all the information including Cloud source provider. ie., s3://... OutputUri string `json:"output_uri,omitempty"` Error_ *CoreExecutionError `json:"error,omitempty"` + DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` // Raw output data produced by this workflow execution. - OutputData *CoreLiteralMap `json:"output_data,omitempty"` + OutputData *CoreOutputData `json:"output_data,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go index 944147b453..cde746f43e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go +++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go @@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xf9\x73\x2b\xb7\x95\x37\x8c\xff\x3e\x7f\x05\x9e\x3b\x4f\x95\xed\x44\x8b\x93\xcc\xe4\x9b\xd2\xd4\x53\xdf\x97\x96\x78\xaf\xf5\x58\x5b\xb4\xd8\xe3\x77\x98\xa2\xc1\x6e\x90\x44\xd4\x0d\x74\x00\xb4\x74\xe9\x54\xfe\xf7\xb7\x70\xb0\x34\x7a\x23\x9b\x8b\x24\xea\xba\x67\xaa\x62\x5d\x76\x37\xd6\x83\x83\xb3\x7e\xce\x3f\xff\x0d\xa1\x0f\xf2\x19\xcf\x66\x44\x7c\x38\x41\x1f\xfe\x78\xf4\xed\x87\x03\xfd\x1b\x65\x53\xfe\xe1\x04\xe9\xe7\x08\x7d\x50\x54\x25\x44\x3f\x9f\x26\x0b\x45\x68\x9c\x1c\x4b\x22\x9e\x68\x44\x8e\x71\x9c\x52\x76\x94\x09\xae\x38\x7c\x88\xd0\x87\x27\x22\x24\xe5\x4c\xbf\x6e\xff\x44\x8c\x2b\x24\x89\xfa\xf0\x6f\x08\xfd\x0b\x9a\x97\xd1\x9c\xa4\x44\x7e\x38\x41\xff\x63\x3e\x9a\x2b\x95\xb9\x06\xf4\xdf\x52\xbf\xfb\x37\x78\x37\xe2\x4c\xe6\xa5\x97\x71\x96\x25\x34\xc2\x8a\x72\x76\xfc\x77\xc9\x59\xf1\x6e\x26\x78\x9c\x47\x1d\xdf\xc5\x6a\x2e\x8b\x39\x1e\xe3\x8c\x1e\x3f\xfd\xe1\x18\x47\x8a\x3e\x91\x71\x82\x73\x16\xcd\xc7\x59\x82\x99\x3c\xfe\x27\x8d\xf5\x1c\xff\x4e\x22\xf5\x2f\xf8\x47\xcc\x53\x4c\x99\xf9\x9b\xe1\x94\xfc\xcb\xb7\x83\xd0\x87\x19\x51\xc1\x3f\xf5\x6c\xf3\x34\xc5\x62\xa1\x57\xe4\x23\x51\xd1\x1c\xa9\x39\x41\xa6\x1f\xe4\x96\x88\x4f\x11\x46\x27\x82\x4c\x4f\x7e\x11\x64\x3a\x76\x0b\x7d\x64\x16\xf8\x02\x46\x73\x93\x60\xf6\xcb\x91\x5d\x26\x68\x99\x67\x44\xc0\xdc\xce\x63\xdd\xfa\x27\xa2\x06\xd0\x6c\xf1\x7e\xf8\xb6\x20\x32\xe3\x4c\x12\x59\x1a\x1e\x42\x1f\xfe\xf8\xed\xb7\x95\x9f\x10\xfa\x10\x13\x19\x09\x9a\x29\xbb\x97\x03\x24\xf3\x28\x22\x52\x4e\xf3\x04\xb9\x96\xc2\xc1\x98\xa9\xea\x8d\xc5\xb5\xc6\x10\xfa\xf0\xbf\x05\x99\xea\x76\xfe\xfd\x38\x26\x53\xca\xa8\x6e\x57\x1a\xfa\x09\x46\x5b\xfa\xea\x5f\xff\xd6\xf4\xf7\xbf\x82\x19\x65\x58\xe0\x94\x28\x22\x8a\x1d\x37\xff\x57\x99\x8b\xde\x23\xdd\x79\xb1\x8f\xd5\x81\x57\x66\x7b\x85\x53\xa2\xf7\x44\xef\x94\xfd\x02\xfe\x16\x44\xf2\x5c\x44\x04\x4d\x48\xc2\xd9\x4c\x22\xc5\x6b\x6b\x40\xa1\x05\x4d\x5e\xd5\x27\x82\xfc\x23\xa7\x82\xe8\xbd\x52\x22\x27\x95\xa7\x6a\x91\xc1\x20\xa5\x12\x94\xcd\xc2\xa5\xf8\xd7\x41\xa7\xa9\x19\xaa\x5c\x63\x66\xe6\x83\xd6\x89\x8d\xd8\xc0\xbd\x12\x61\x86\x26\x04\xe9\xb3\x48\x63\x22\x48\x8c\xb0\x44\x18\xc9\x7c\x22\x89\x42\xcf\x54\xcd\x29\xd3\xff\xce\x48\x44\xa7\x34\x72\x6b\xb6\x3f\x6b\x03\x7f\x2e\x5f\x99\x07\x49\x84\x1e\xf8\x13\x8d\x49\x8c\x9e\x70\x92\x13\x34\xe5\xa2\xb4\x3c\x47\x23\x76\x3f\xd7\xeb\x90\x4e\x28\x83\x93\xa7\xd7\xd2\x51\xc8\xef\xdd\x72\xfd\x1e\xe9\xfe\x50\xce\xe8\x3f\x72\x92\x2c\x10\x8d\x09\x53\x74\x4a\x89\xac\xb6\xf6\x7b\x0e\xfd\xe3\x04\x1d\x22\xbd\xce\x44\x28\x58\x6f\xce\x14\xf9\xac\x24\x3a\x44\x09\x7d\x24\xe8\xab\x0b\x2a\x15\x1a\xdc\x9c\x7f\x75\x80\xbe\x32\xe7\x05\x01\x6f\xfa\xea\x15\x56\xd8\xff\xfd\xb7\xe0\xe8\x29\x3c\xab\x1e\xba\x0f\x03\x7d\x9a\xef\xcc\xd5\x50\xb4\xf0\xb7\x7f\x0b\xdb\xb1\xfb\xb5\x9c\xdf\x16\xcc\xd6\x72\xda\xae\xfc\x15\x96\xa9\xcc\x5a\xa5\xde\xa1\x6d\x39\xab\x6e\xb7\xca\x5a\xe5\xfb\xe2\xad\x7a\x0a\x2f\xcd\x5f\xb7\x61\xae\x58\x01\xd5\x63\xca\xcc\x21\xf1\x67\x46\x48\x7d\x4e\x1c\xf5\xee\x09\x4b\xd9\x86\xd7\x06\x33\x0b\xd8\xad\xe3\xa2\xc1\xaa\xec\xe1\xbc\x13\x9a\xd2\x55\xfb\x7b\xce\x62\x2d\x72\x59\x66\xc7\xf2\x74\x42\x84\x5e\x06\xc7\xf6\x60\xb6\x13\xcd\x06\x55\x2e\x18\x89\x3b\x4c\xf3\x1f\x39\x11\x8b\x25\xf3\x9c\xe2\x44\xb6\x4d\x94\x32\x45\xb4\x7c\x5b\x79\x3c\xe5\x22\xc5\xca\xbe\xf0\xe7\xff\x58\x77\x21\x14\x7f\x24\xab\xf6\xff\xdc\xec\x66\x84\x25\x90\x41\x9a\x27\x8a\x66\x09\x41\x19\x9e\x11\x69\x57\x24\x4f\x94\x3c\x80\xd7\xb4\x4c\x4d\xc4\xa1\xbf\x81\xa0\x07\x77\xf3\xe6\x12\x7e\x41\x53\x2f\x40\x32\xf2\x59\x41\x4b\x23\x06\x77\x2f\x2c\x51\x78\xa3\xbc\xc0\x52\x6e\x46\x33\x92\x0b\x35\x9e\x2c\x8e\x1e\x49\xad\xdf\x56\xca\xc1\x0c\x61\xa5\x04\x9d\xe4\x8a\xe8\x79\xeb\x36\xdc\xdd\x09\xec\xd1\x5c\xd0\x5d\x58\xc3\xdb\x4d\x38\xa6\x82\x44\x30\xb7\x75\x0e\x8c\xff\x4a\xcf\x5b\xeb\x2f\x0b\x33\xfb\x47\xb2\x00\x79\xa4\x61\x05\xfc\x96\x8f\xd8\x88\xa1\x43\x74\x36\xbc\x3b\x1d\x5e\x9d\x9d\x5f\x7d\x3a\x41\xdf\x2d\x50\x4c\xa6\x38\x4f\xd4\x01\x9a\x52\x92\xc4\x12\x61\x41\xa0\x49\x12\x6b\x99\x43\x0f\x86\xb0\x98\xb2\x19\xe2\x22\x26\xe2\xe5\x96\xb1\xf2\x94\xb0\x3c\xad\xdc\x2b\xf0\x7b\x31\xfa\xca\x17\x5a\xc4\xf0\x8f\x4a\x4f\xfe\x56\x5b\x60\x98\xb1\xee\x3b\x68\xed\xd5\x84\x9a\x68\x4e\x93\x58\x10\x76\xac\xb0\x7c\x1c\x93\xcf\x24\xca\xcd\x9d\xfc\xcf\xf2\x0f\x63\x2d\x99\xf2\x98\x94\x7f\x29\xfd\xa3\x10\x85\xd6\xfe\xd4\x6b\xa9\x6b\x7f\x09\x3a\x6d\xb7\xef\xe0\x17\x1a\x37\xbe\x0d\xbf\xac\x98\x83\x7b\x67\xc9\x60\xdd\x2b\xad\xa3\x72\x2f\x58\x89\xaf\xf1\x1d\x41\x94\x58\x8c\xb1\x52\x24\xcd\xd4\x9a\xfa\x3a\x46\x89\x96\x2b\x97\xc9\x91\x57\x3c\x26\x43\xd7\xdf\x2f\xc8\x88\xb3\x24\x46\x93\x85\xe5\x5a\x53\x22\x08\x8b\x48\x7b\x0b\xf7\x58\x3e\x16\x2d\xac\x12\x46\x4b\xfd\xc9\x8f\x5c\xe8\xcf\xdf\x83\x40\x5a\x1a\xf8\x6b\xc8\xa4\x9b\x9e\xb8\x2f\xce\x42\xb0\x21\xff\xe8\xed\x09\xdb\xaf\x64\x57\xeb\x03\x17\x48\x2e\xa4\x22\xe9\x4a\x3b\xc4\xfb\x59\x08\x7b\x41\xec\xeb\x80\x2b\x77\xd4\x6f\xe0\xd4\x97\x6f\xdc\xfe\x78\xaf\xb1\x64\xbb\xb2\x22\xee\xfb\x3c\x9d\x0f\x67\xf9\x54\xef\xdc\xf6\x05\x4e\x8c\x77\x31\xcd\x92\x2c\xb8\xeb\x41\xbe\x90\xb9\xa1\x75\xaf\xdc\x6a\x8f\x61\x00\x2b\x14\xcd\xb2\x1d\xda\x9f\x3f\xfd\x69\x68\xa1\x31\xe6\x38\x35\xa7\x32\x30\x56\xa1\x88\x0b\x23\x0b\xc6\xf6\xbc\x1b\x5d\x73\x70\x3f\xb8\x1b\xde\x9f\xa0\x01\x8a\xb1\xc2\xfa\x80\x0b\x92\x09\x22\x09\x53\xa0\xc7\xeb\xef\xd5\x02\xa5\x3c\x26\x89\xd1\x38\x3f\x6a\xc9\x17\x9d\x61\x85\x4f\xb1\xc2\x09\x9f\x1d\xa1\x01\xfc\x53\x7f\x4c\x25\xc2\x89\xe4\x08\x3b\xb2\x22\xb1\x6b\x02\xb3\xd8\xb1\x16\x8c\x22\x9e\x66\x34\xf1\x36\x78\x6f\x5c\xa1\x2c\xa6\x4f\x34\xce\x71\x82\xf8\x44\x73\x15\xad\x21\x0f\x9f\x08\x53\x39\x4e\x92\x05\xc2\x49\x82\x6c\xb7\xee\x05\x24\xe7\x3c\x4f\x62\xdd\xae\x1b\xa5\xa4\x29\x4d\xb0\xd0\x2a\xb8\x19\xed\xb5\x6d\x0b\xdd\xcf\x89\x1f\x2b\x8c\x4b\xaf\x66\x8a\x1f\x89\x44\x54\xa1\x8c\x4b\x49\x27\x49\x71\xe6\x1f\xce\x11\x8c\xfb\xf4\xe2\x1c\xf4\xf9\x48\x21\x6e\x78\xa8\xeb\xdc\xda\x6f\x5c\x8f\x29\x66\x8c\x40\xc7\x5c\xcd\x89\xb0\xdd\xdb\x97\xdf\x5a\x35\x7f\xb8\xba\xbb\x19\x9e\x9e\x7f\x3c\x1f\x9e\xd5\x75\xf3\xfb\xc1\xdd\x0f\xf5\x5f\x7f\xba\xbe\xfd\xe1\xe3\xc5\xf5\x4f\xf5\x27\x17\x83\x87\xab\xd3\xef\xc7\x37\x17\x83\xab\xfa\x43\x4b\x56\x9d\xd5\xfc\x70\x64\x6b\x9e\xad\xde\xa6\xf9\x52\x36\xcd\x83\x2f\xd7\xa8\x39\xa5\x09\xe8\xa0\x9d\x0d\x9a\xde\x86\x60\xbf\x44\x19\x96\xd2\x48\x46\x66\x04\x47\x23\x76\xc9\x85\x66\x60\x53\xae\x79\x84\x96\x9e\x94\xc8\x23\x45\xd9\xcc\x7f\x74\x82\x46\xf9\xb7\xdf\xfe\x29\xba\xa0\xec\x11\xfe\x22\xfb\xb8\x38\xbd\xc5\xb7\xb7\xf8\xfe\xb6\x2c\xbe\x5a\xf4\x39\x0e\x0d\xbd\xbb\x0d\x19\xd2\xc2\x05\xcb\x72\x05\xa2\x04\xcf\x95\xfe\x53\x77\x09\xe4\xb1\x24\x70\xa8\x9b\x41\xf1\x13\x51\xfe\x45\x2d\xda\xbc\x07\x3b\xe2\x4f\x5c\x3c\x4e\x13\xfe\xec\x07\xfe\x89\x28\x3d\xf6\x5b\xdb\x4b\x1f\x4a\xd4\x87\x12\xbd\x6d\x28\xd1\x5e\x19\xf3\x5e\x9e\xf9\x95\x2d\x7f\x86\x03\xb6\x78\xb2\x5a\x1d\x55\x2d\x7e\xa8\xc0\xcd\xf4\x2a\x5c\xb3\xec\xcc\x59\xc1\x39\x4b\x2f\xbf\x17\xee\x59\x1a\xf4\xeb\x73\xce\xdf\x84\xbf\xa5\x77\xa7\x6c\xb8\x50\xef\x92\xc1\x76\xbc\x3b\x5e\xcd\x19\xf2\xf2\x0c\xbf\x16\xdb\xb0\x4e\x30\xc3\x1a\xd1\x0b\x9d\xc3\x15\x56\xc4\x27\x34\x06\x24\x34\x45\x20\xd4\x43\x0e\x1a\x63\x0c\xb6\x0b\x2a\xd8\xf4\x6e\xea\x1e\x26\xf0\x89\xa8\xd2\xcb\xef\xe5\x6e\x2a\x0d\xfa\xf5\xef\xa6\xdf\x68\x74\x40\x1f\x0e\xf0\x82\x4b\xf7\xa5\xdf\x68\xfb\xeb\xf0\xff\x0d\x78\xf8\x7b\x97\xfe\x5a\x6b\xf4\x65\xf9\xf0\xbf\x54\xa7\xfd\xfb\xf4\xd2\xf7\x6e\xf9\xde\x2d\xff\x16\xfe\x93\xf7\xe7\x96\x7f\x59\xf5\xb4\x38\x5e\x63\x47\x0b\x56\x5f\x0b\x0e\xe5\xbf\x3a\x38\x69\xe0\x2f\xa7\xf2\xad\x1b\x34\xde\xaa\xc3\x9d\x15\xe3\x1b\xc2\x11\xfa\xc5\x12\xd2\x0a\x75\xae\xf6\xdd\x7b\x50\xe7\xea\x83\x7e\x79\x1d\xee\xcd\x98\xef\x0b\x5d\x9e\xef\x84\x0d\xac\x7f\x5b\x7e\xc1\x32\x79\x2f\x8b\xbf\x7c\x36\xfe\xde\x4c\xe8\xfd\xc8\xde\x6f\x70\xf1\x76\xbc\x75\x77\x9e\x93\xd5\x70\xcd\x06\xb7\xd3\xaa\x0c\xab\xea\xd7\x94\xc8\x3f\xbe\xcb\xfb\xf6\x35\x92\xac\xfa\x0b\xb7\xbf\x70\x6d\x53\xfd\x85\xfb\x05\x5f\xb8\x7b\x07\x7f\xb3\x37\x11\xa0\x7d\x10\x79\x0f\x8c\xd1\xc7\x90\xef\x70\x71\xfa\x18\xf2\x3e\x86\xfc\x37\x16\x43\xbe\x8d\xf6\xb4\x29\x16\xe5\x5b\xe8\x51\xbd\x1a\xd5\xab\x51\xe1\xef\xbd\x1a\xd5\xab\x51\xbd\x1a\xf5\x85\xa3\x88\xf6\x3a\x54\xf7\x85\xe8\x75\xa8\xce\x4b\xd5\xeb\x50\x4b\x16\xa7\xd7\xa1\x7a\x1d\xea\xb7\xa5\x43\x91\x27\xc2\x94\x84\x64\xb4\x50\xa3\xf8\x90\x71\xd9\xae\x09\x85\xdc\xa1\x41\x0b\x82\x36\xcb\x49\x61\x10\xb8\xf4\x0b\x9a\x63\x89\x78\x14\xe5\xa2\x72\x06\xaa\x7a\xd0\xa9\x20\x58\x11\x68\x41\x7f\xf8\x1e\xf4\x9f\xfa\x74\x5f\x2b\x06\x7f\xc2\xe3\x1a\xb5\x9b\x83\xd0\xf4\x64\xb9\x3c\xb2\xb3\xa9\xff\x23\x27\xdd\xd4\xbf\x17\x24\x6a\x85\xe5\xe3\x8e\x89\xba\x94\x6b\xb1\x11\x51\x43\x0b\xef\x85\xa8\xeb\xd3\xfd\xcd\x10\x75\xd3\xd4\xf7\x81\xa8\x9f\x6d\x1e\xff\x8e\x09\xbb\x06\x0f\xb0\x11\x71\xfb\x56\xde\x0b\x81\x37\x4f\xfb\x37\x43\xe4\x6d\xd3\x7f\x5b\x42\xf7\x29\x92\x9d\x49\xfc\x5e\xd0\xd9\x4c\xab\x19\xa0\xe1\x69\x52\x5c\x5d\x23\xa8\x48\x0a\x5c\x49\xd6\xfe\xd5\xf7\x40\xd2\x7e\xb0\x66\xec\xbf\x19\x5a\xae\xcd\x7b\x4f\x88\xf8\x58\x90\x88\x3f\x41\xbd\xb0\x6e\xc4\x7c\x4b\x80\x82\x81\x5f\x67\x82\x3c\x51\x9e\xcb\x64\x71\x28\x72\x86\x1c\xf3\x47\xbe\x79\x63\xad\x7e\xa6\x49\x82\x38\xd3\xfa\x97\xc2\x42\xb9\xc7\x5a\xff\x16\x3c\x85\x53\x91\x60\xa9\xd0\x23\xe3\xcf\x0c\x4d\x31\x4d\x72\x41\x50\xc6\x29\x53\x47\x23\x76\xce\xd0\xad\x19\x23\xe4\x0d\x1c\xa0\x5c\xea\xb3\x14\x61\xc6\xb8\x42\xd1\x1c\xb3\x19\x41\x98\x2d\x6c\x02\x6e\x41\x19\x88\x0b\x94\x67\x31\xd6\x8a\xef\x9c\x54\xa3\xf4\xfc\x18\xc1\x7c\x47\x25\xa2\x12\x91\xcf\x4a\x90\x94\x24\x0b\xdd\x87\xa6\x7d\xc5\x91\x5d\x1f\x33\x54\x9b\xce\x47\x84\xe0\x42\x42\xc6\xc1\x64\xf1\x2b\x66\x8a\x32\x82\x40\x51\x92\xc6\x34\x77\x88\x2e\xb8\x04\xb3\xcd\x0f\x7f\x91\x28\x4a\x72\xa9\x88\x38\x40\x93\x7c\x26\xb5\xa6\x98\x25\x58\x4d\xb9\x48\xf5\x08\x29\x93\x0a\x4f\x68\x42\xd5\xe2\x00\xa5\x38\x9a\x9b\xb6\x60\x0d\xe4\xc1\x88\xc5\xfc\x99\x49\x25\x08\xf6\xbd\xbb\x87\xe8\xeb\xf0\x99\x21\x00\xf9\xcd\x01\xa4\x1d\xd2\x54\xab\xbb\xc1\xf0\x8b\x1d\x37\x7b\xa2\x1b\x21\x31\x9a\x90\x08\xe7\xd2\x7a\x18\x94\x58\x20\xf2\x79\x8e\x73\x09\x7b\xa7\xa7\x67\x73\x36\x22\x9e\x66\x09\x51\x04\xd1\x29\x52\x82\x92\x18\xe1\x19\xa6\x7a\xe9\xee\xc8\x12\x10\x74\x4f\xf4\x76\x03\x2d\xd5\xff\x02\xea\x77\xca\x05\x41\x31\x51\x98\x26\x4b\xbd\x4e\xf6\xdb\x9e\xcb\xbd\x27\x2e\x57\xde\xf0\xbd\x60\x73\x06\xc4\x7f\x07\x97\x36\xb3\xa6\xfb\x08\x27\x5b\xde\xdf\xb7\x76\x50\x3d\x6d\xbf\x2f\xda\x36\xbb\xb6\x3f\xc4\xfd\x6a\x31\xd8\xdd\x2b\x5a\x14\xd5\x2c\xde\x15\x4d\xbf\x46\x58\x40\xef\x70\xee\x1d\xce\xad\x2b\xf3\x3e\x1d\xce\x7b\xe3\x31\xea\x7d\xce\x2f\xe4\x73\xa6\xb2\x77\x3a\xf7\x4e\xe7\xae\x0b\xd4\x3b\x9d\x7b\xa7\xf3\xfb\x75\x3a\xbf\x24\xee\xf3\x4e\xd1\x9d\xdf\x95\x68\xdd\x8b\xd5\xbd\x58\xdd\x43\x38\xfb\xa9\xed\x8a\x85\xb9\xaf\x3f\xc4\x24\x21\x8a\xb4\xdb\xb3\x88\x48\xb5\xb6\x60\xae\x67\xca\xb4\x1c\x37\x13\x44\xca\x6d\x19\x92\x6f\xf8\x7d\xb2\x25\x3f\xfc\x1e\x6a\xbe\xe7\x53\x3d\x9f\xda\x64\x6a\xfb\x63\x9a\x0d\x0e\xf3\x6b\xd9\x66\x3d\xff\xcd\xf2\x76\xe9\xef\xc1\xb8\x21\x0b\xbf\xa8\xa1\x70\x2d\xb5\x2b\xee\x0f\xb7\xa5\xf3\x2d\xf9\xb1\xe9\xeb\x7d\x32\x63\x33\xf6\x9e\x13\xf7\x9c\xb8\xe7\xc4\xef\x9b\x13\xbb\x93\xfc\xa6\x2e\x32\xe3\xa7\x1b\x67\x09\x66\x63\x1a\xcb\xe3\x7f\x16\xba\xfc\x4b\x79\xc8\xf4\x81\x8a\x4d\x8a\xa9\x4f\xe9\x14\xbf\xe8\x4f\x92\xc2\x60\xee\x31\x33\x57\x38\xd1\x8c\x8d\xfd\x26\xc1\xec\x3c\x7e\x17\x7e\xb4\xc6\xd9\xbf\x86\x4f\x6d\x1b\x3e\x8e\x15\x78\x3a\x30\x65\xc6\x84\x57\xe4\xd5\x96\x0c\x94\xfb\x71\xc2\xb7\xe1\xea\xc1\xc4\x02\xc6\xee\xf8\x75\xb0\x28\xfb\x37\xed\xde\xaf\xd3\xe7\x12\xf6\x9e\x8b\x8e\x13\xee\x3d\x17\xfb\xeb\xb9\x78\x2b\x77\xe4\x2b\x1f\xcf\xd7\x12\xeb\xba\x07\xe1\x9b\x68\x35\x08\x6a\xcd\xb3\x84\xe3\x78\x99\x2b\xa6\x10\xbc\x42\x70\x94\x95\x91\xf8\xc5\x67\xef\x41\x58\x2b\x46\xfb\x1b\x8b\xe4\xab\x4f\x7c\x5f\xb4\x94\x57\x0c\xe5\x6b\x26\xf1\x35\x54\x92\xf7\x81\x9f\x5a\x8c\xb7\x0f\xed\xeb\x2d\x4a\x6f\x6f\x51\xea\x43\xfb\x7a\x15\x70\xcf\x54\xc0\x3e\xb4\xaf\x0f\xed\xeb\x15\xe4\xe5\xd3\xee\x15\xe4\x2f\x22\xb4\xaf\x93\xa8\xfd\x82\xd8\x9b\xdb\x0b\xdd\xbd\xcc\xed\xde\xeb\x65\xee\x5e\xe6\xfe\x42\x65\xee\xfd\x58\xe1\x5e\xe0\xee\x05\xee\x5e\xe0\xee\x05\xee\x5e\xe0\xde\xf9\x32\xf6\x02\xf7\x6b\x16\xe8\x6c\x96\xba\x57\x24\xd9\xbc\x57\x5f\x4e\x2f\x6e\xf7\xe2\xf6\x7e\x8b\xdb\x7b\x33\xa1\xf7\x53\xe6\xb1\xdb\x7c\xfa\x22\xe5\x7d\x91\xf2\xbe\x48\xf9\x8b\x17\x29\x77\x5f\x77\xc8\xf8\xb0\x87\x4b\x61\x95\x4b\x03\xf8\x28\xc8\x8c\x4a\x05\xec\xbf\x8b\xbc\xb2\x3a\xd1\xe3\xbd\xca\x29\x7d\xaa\x87\x7f\xda\x4b\x2d\xbd\xd4\xf2\x1b\x95\x5a\xf6\x28\x16\x6c\x2f\x32\x56\x52\xac\xa2\x39\x9e\x24\x64\xec\x8d\x3e\xb2\xab\x1e\x7c\x41\xa5\x92\x28\xca\xa5\xe2\x69\xfb\xe5\x72\xe9\x7a\x18\xf8\x0e\x4e\x39\x9b\xd2\x59\x6e\xee\x16\x03\xce\x19\x9c\xe8\x42\x12\x5c\x64\x64\x95\xa7\xaa\xa1\xf5\x77\x71\x2d\x35\x0f\xfd\xb5\x6e\xa7\x75\x04\xf7\xc2\xc8\x67\xa5\x6e\x2d\x6b\x8d\x6f\x87\x77\xd7\x0f\xb7\xa7\xc3\x13\x34\xc8\xb2\x84\x1a\xbb\xbb\x21\x05\xfa\xab\x9e\x14\x52\x58\x3e\x16\x7b\x29\x0c\x99\x1b\x0c\x5b\x30\xf4\x6b\xd9\x18\x1d\xa2\xd3\x8b\x87\xbb\xfb\xe1\x6d\x4b\x83\x96\x50\x20\x6f\x95\xa4\x59\x82\x15\x89\xd1\x63\x3e\x21\x82\x11\x2d\xed\x58\xa4\xdb\xc2\xfc\x6f\x1a\x1d\xfe\xf7\xf0\xf4\xe1\xfe\xfc\xfa\x6a\xfc\xd7\x87\xe1\xc3\xf0\x04\x39\x8a\xd3\xcd\xea\x71\xe9\x51\xc4\x0b\x86\x53\xad\x81\xe8\x1f\x8a\x4c\xd9\x7f\xe4\x24\x27\x08\x4b\x49\x67\x2c\x25\x80\x08\x5c\x6a\xd1\x0d\xf8\x62\xf0\xdd\xf0\xa2\xdc\xf2\x9c\x84\xf0\xbb\x28\xc1\x13\x92\x58\x7f\x04\x98\xd8\x35\xa1\x07\x50\xc5\xc6\x51\x91\x9b\x55\xfd\xeb\xc3\xe0\xe2\xfc\xfe\xe7\xf1\xf5\xc7\xf1\xdd\xf0\xf6\xc7\xf3\xd3\xe1\xd8\x4a\x95\xa7\x03\xdd\x6f\xa9\x27\x2b\x7c\xa2\x7f\xe4\x38\xd1\xda\x09\x9f\x3a\x3c\x5e\xf4\x3c\x27\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf1\xf0\xe9\xfc\x6a\x7c\xfd\xe3\xf0\xf6\xf6\xfc\x6c\x78\x82\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\x67\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x1c\x3f\x51\x2e\xec\xd1\x9d\xd1\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x0e\x96\xee\xfa\xea\xe3\xf9\xa7\x13\x34\x88\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x96\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xb8\xbb\x3b\xff\x74\x75\x39\xbc\xba\x87\x15\x53\x82\x27\x12\xcd\xf9\x33\x98\xb2\x61\x86\x60\xe1\x7e\xc2\x34\x81\xce\xdc\x66\x71\x86\x9e\xe7\x14\xdc\x1f\x00\xcc\xec\x7b\x36\xfa\x99\xc8\xd9\x9b\x5b\x67\x4b\x07\xaf\xae\xb6\x54\x4f\x52\xfd\x8d\xca\xb1\x58\xf6\x42\x89\xca\xeb\x2f\xae\xa2\xd6\xfa\x17\x15\x72\x6b\x57\xd6\x6a\xf4\xd2\x3e\xd3\x62\xaf\x3b\xeb\x6a\xe5\x35\x7c\xbd\x6b\x96\x28\x41\x23\xf9\xb2\x50\x4f\x22\x67\x8a\xa6\x04\xd9\xce\xec\xe1\xdc\x21\xfc\xd3\xa5\x69\xf8\x3d\x5c\xb0\xb5\x52\x0e\x9f\x88\xb2\xc3\xef\x55\xc0\x5e\x05\xdc\x0f\x15\xf0\xbd\x65\xfb\xc7\x24\xab\x77\x58\x99\x18\xbc\x63\xbc\x5e\xb5\x20\x0d\x63\x4f\xb4\x16\xd5\x84\x3c\x91\x04\xa4\x3c\x25\xb0\x56\x1a\xad\xec\x32\x11\x04\x3f\x6a\x81\x2f\xe6\xcf\xa1\xe4\xd2\x80\xdc\x8f\x76\x73\x0b\x77\x09\xe2\xf8\xd3\x1f\x5f\xef\xb2\xd0\xcb\x1d\xbf\x46\x09\xef\x5b\x08\x92\x59\x8a\x11\x18\x24\xd8\xff\x62\x2d\xc1\x2b\x6e\x8b\xe0\x8b\xf7\x70\x51\x84\xc3\xdd\x23\xad\xeb\x36\x54\x82\x1d\x0b\x4d\x89\xc2\x31\x56\x58\x1f\x9a\x19\x51\x47\xe8\x9a\xc1\xb3\x7b\x2c\x1f\x0f\x90\xbb\xf2\x34\x5b\x29\xac\x0c\xaf\x90\x5a\xff\x4e\x0c\xf8\xeb\xf3\xf1\xfe\xfa\xee\xaf\xef\xe6\x95\xe9\xc3\x3c\x5b\x56\x78\x57\x17\xe3\x5a\x3e\xaf\xdd\xdd\x5f\xa6\xc5\xf7\x7b\x85\xbd\xae\x93\x6b\xa7\x17\x9a\xa9\x9c\xd5\xdf\x56\xe6\xff\xfa\xdb\xaa\xbf\xad\xfa\xdb\x6a\x0f\x56\xf8\xcd\x1d\x86\x0d\xdc\xfd\x4d\x3d\x86\xab\xb4\xd3\x8d\x21\xef\x0a\x6d\x74\x1d\xd0\xbb\x5f\xba\x62\xdb\x15\xdf\xd0\xf7\xe1\x23\x0c\x26\xf9\x1a\x69\x6d\x3b\xbd\xcc\x4d\xbe\x48\xaf\x9f\xbe\xe0\x8d\xdf\x23\x10\xee\x14\x81\x70\x3f\xe6\xfa\x22\x29\x70\x6f\x63\x31\x7d\xfb\xb4\xb7\x1e\x6a\xb0\x4f\xec\xea\x13\xbb\xe0\xf7\x1e\x6a\x70\x77\xd4\xfa\xb2\xd2\x35\x8f\xc9\xb8\x12\x25\xe0\xff\x39\xae\x7a\x7e\x4a\x4f\x42\x37\x50\xe9\x41\x91\xe9\x06\xad\xd3\x78\x97\x45\xa4\xae\x78\x4c\x3a\x47\x12\x94\x5e\xde\x73\x19\xdc\xcd\xd3\xc8\xe2\xa5\x81\xbf\xb0\x24\xde\xb2\xe5\x5f\xa2\x61\xa7\x81\x80\x7b\x2b\xcf\xca\x85\xfa\x52\xe3\x0b\x0a\x0e\xf5\x8e\x3c\x15\xdd\xd8\xb8\x8b\x69\x1c\xb7\x30\xf3\xe6\xe7\x9e\xa5\x37\x3f\x7e\x19\xcc\xa0\xee\x1c\x1d\xcc\x2a\xe1\xdb\xef\xc3\xae\x12\x8e\xf8\x35\x2c\x2b\x4b\xf7\xfe\x8b\xe3\xea\xcb\x28\xb9\xe7\xed\x1d\x97\xeb\x4b\xe5\xf0\x3d\xc4\xcf\x32\x5b\x47\x8f\xa1\xd3\x9b\x5a\xf6\x67\xc2\xbd\xa9\xe5\x5d\x9b\x5a\x8c\x8b\x76\x9c\x61\x41\x98\x6a\x10\xa9\xab\xd7\x09\xbc\x1e\x62\x2e\x38\xa9\x03\x1a\x40\x5a\xa2\x45\xf6\x42\xf6\x57\xd5\x97\x65\x7b\xb1\x82\x41\x90\x09\x79\xfc\xcf\xe2\x6f\x2f\xac\x97\x2a\x40\x2c\x89\x4e\x32\x58\xff\x52\xdf\xd1\xb9\x0d\x54\xda\x3e\x57\x12\xab\x92\x28\x08\x41\xd4\x2b\xe3\x99\x6e\xcc\xdb\xef\x2b\x45\xb2\x36\xe8\xd7\x8d\x6d\xaa\x6f\x7c\xb7\x03\xe4\x76\x86\x9a\x74\xbf\x20\xa7\x4c\x4b\xa3\x7c\x5a\x5c\x0c\x12\x3d\xd3\x24\x01\x44\x11\xc8\x78\x6c\xbb\x01\x7e\x73\x11\x0f\xad\x3b\xff\xa6\x71\x0f\x4d\xdc\xa1\x89\x25\x74\xb1\xa7\xee\x2a\x67\xda\x11\x1b\xa4\xb3\x82\x36\xb4\xc2\x00\xfb\x65\x70\x82\x4f\x44\xbd\x16\x1b\xd8\xf4\xec\x2f\x3d\xf7\x82\x4c\x89\x20\x2c\x22\x7b\xe8\x6d\x5f\x27\x0c\xe4\x27\x33\x49\x1b\x03\xe2\xa1\x04\xc2\xa9\x2a\x6e\xf5\xb4\x92\xa8\xdb\x67\x92\xf7\x99\xe4\x7d\x26\x79\xf5\xa8\xf7\x99\xe4\x7d\x26\x79\x63\x0e\x44\x4c\x12\xa2\x48\xab\x54\x71\x06\x8f\xdf\x4a\xaa\x30\xbd\x7f\x19\x82\x85\x99\x4b\x2f\x5b\xfc\x66\x34\x0b\xb7\xe1\x7b\xa1\x59\x98\xb3\xb6\xca\xfc\x50\xfa\xb1\x21\xc4\xfa\xd5\x4d\x12\x9b\x30\x8d\x92\x5d\xe2\x0c\x5e\x7f\x97\xac\xa3\x3a\xf4\xde\x46\x81\x82\xad\x7b\x39\x4e\x52\x3b\x02\xdd\x26\x6e\x3d\x86\xef\x77\xde\xfb\xc2\x41\xdb\xe8\x7e\x5f\xf9\xe8\xc6\x49\x29\xfb\x62\xb1\xf9\x82\x78\x64\x6f\xbd\x79\xe3\x5c\x89\x1a\x33\x7c\xb7\xd3\xed\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\xaa\xde\x58\x85\x7a\x63\xd5\xda\xc6\xaa\x2f\x48\xa6\xea\x0d\x57\xbd\x58\xb5\xbb\xe9\xee\xab\x96\xb9\x4f\xd6\xba\xce\x28\xe9\x45\x0e\xd5\xca\xc8\x7b\x3b\xed\x5f\x56\x84\xdc\xdf\xb8\x11\xbc\x1f\x7e\x25\x5f\x9a\x25\x6d\x13\x58\xec\x76\xf4\x8b\x8d\x2b\xee\x4b\x87\x36\xae\x55\x1f\xf6\xbc\x64\x71\xfa\xb0\xe7\x3e\xec\x79\xef\xc2\x9e\x77\xae\xac\x64\x5c\x2e\x03\x24\x32\xa5\xb3\x96\xe6\x3f\xbb\x3b\x1b\x12\x8d\x80\x14\x0c\xca\x71\x4c\xb2\x84\x2f\xc0\x92\xb2\xe4\x3a\x77\x5d\xdc\xd4\x24\xea\x7d\xbf\xd1\xdd\xc8\x5f\x4b\xe7\xd8\x17\x99\xb4\x98\xf7\x5e\x48\xa1\xc7\xff\xac\xa4\xf3\x77\xc2\xcb\x64\x88\x7c\xa6\x12\x6e\xa5\xd5\x84\x3d\x62\xcd\x4f\x82\xd2\x85\xf6\x1e\x9c\xe4\x2a\xc8\xdd\x93\x5a\xb0\xca\x88\x50\x8b\xe0\x4d\x92\x66\x6a\xf1\x5f\x23\x46\x95\xf7\xb0\xd1\x19\xe3\xc2\x70\x35\xfd\xf1\x1c\xb3\x38\x21\x42\x5f\xaa\xae\x9d\x08\x33\xc6\x15\x88\x1b\x30\x83\x18\x3d\x51\x6c\x84\x93\xc1\xcd\x79\x67\x3f\xf3\x3b\x3a\x5d\xaf\x5d\xac\x6e\xc5\x5d\xf7\x29\xe1\x13\xa8\x60\x99\x97\x75\x7a\xdd\x40\xef\x19\x2d\xed\xdc\x5b\x31\x04\x85\xe5\x63\x15\x38\xa4\x9c\x85\x3e\x5e\x0a\x25\xb2\xe2\xdd\x12\xc6\xfc\xf2\x57\x2b\x70\x23\xe5\x67\x16\x80\x04\x1e\xc3\x90\xab\xe3\x70\x3f\x86\x1d\xba\xdf\x8a\x96\xdd\x2f\xae\x74\x37\xfc\x28\x88\x12\x8b\x31\x56\x4a\x33\x99\x5d\x62\x9c\xdc\x63\xf9\xd8\x19\xe3\xa4\xf4\xf2\x9e\xb3\x9c\x12\xc6\x49\x79\xe0\x2f\xce\x72\x3a\x52\xe7\x0a\xce\xf4\xfe\xf2\xe3\xbb\x9e\xb5\x35\x26\xfe\x5b\xc9\x95\xef\xc6\x7b\x56\x99\x69\xdf\x63\xde\xfc\x32\x66\xba\x37\x23\xac\xf0\xf3\x2f\xf1\xe4\x96\x6f\xa7\xfe\x88\x2e\x5b\xa3\x2f\xae\x10\x6e\x45\xe8\x58\x31\xb7\x77\x52\x10\xb7\x2a\x37\xed\x7a\x54\x2f\x63\xe6\x0e\x76\x63\x9d\x18\xa0\xf3\x32\x5a\xb9\x3f\x43\x2e\x2a\xa8\x28\x3d\x3b\x87\x44\x6b\x2a\xc3\x84\xf8\x88\x0b\x23\x79\xc5\xf6\xcc\x1a\xb3\x9d\x01\xf3\x3d\x41\x03\x14\xdb\xda\xfc\x82\x64\x82\x48\xc2\x94\x51\xb5\x4d\xbd\x2b\x57\xde\x9f\x32\x6b\x21\x3a\xc3\x0a\x9f\x62\x85\x13\x3e\x3b\x42\x03\x5f\xd8\x9f\x4a\x84\x13\xc9\x11\x76\x84\x43\x62\xd7\x04\x66\xb1\x63\x0f\x18\x45\x3c\xcd\x68\xe2\x91\xda\xbd\x15\x9f\xb2\x98\x3e\xd1\x38\xc7\x89\x47\xc6\x1e\xb1\xe1\x13\x61\x2a\x07\x15\x0e\x27\x09\xb2\xdd\xba\x17\x02\xfd\xdc\x8d\x52\xd2\x94\x26\x58\x20\xc5\xed\x68\xaf\x6d\x5b\xe8\x7e\x4e\xfc\x58\x1d\x0a\x38\x4a\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x24\x29\x8e\xf1\xc3\x39\x82\x71\x9f\x5e\x9c\x83\x69\x34\x52\x88\x1b\x3e\xe8\x3a\xb7\x7e\x02\xd7\x63\x8a\x19\x23\xd0\x31\x57\x73\x22\x6c\xf7\xf6\xe5\xb7\xb6\x72\xbe\x35\x46\x74\xbb\xc5\x34\x1c\xd9\xdb\x29\x9d\x9d\x35\xce\xae\xea\x66\x37\x5d\xb3\x5d\xd1\x7c\x01\x2f\x6d\x77\x6d\xf0\x82\xca\xb2\x3a\xf8\x2e\x5c\xb6\xa5\x11\xbf\x06\x3e\xda\x6f\x54\x11\xec\xb5\xc0\x17\x59\xb7\x2f\x55\x05\xdc\x73\xfd\xaf\x47\x76\xeb\x51\xec\xfb\x00\x8c\x1d\x2e\x4e\x1f\x80\xd1\x07\x60\x7c\xb1\x01\x18\xed\xda\x04\x8d\xb7\x4e\xd7\x5b\xb3\x82\x94\x37\x0a\x88\x5f\x40\x94\xc2\xf2\xb1\x6b\x4d\x29\x2d\x2a\x9f\xc7\xef\x42\xaa\x6f\x9c\xf0\x6b\x48\xf7\x7d\x9d\xa2\x9d\xd6\x29\xda\xbb\x69\xf7\x82\x5f\x2f\xf8\xf5\xb2\x4d\xc7\x09\xf7\xb2\xcd\xfe\xca\x36\x6f\xa5\xb0\x7c\x49\x10\xba\x5a\x78\x2a\x65\xc6\x2c\x0d\xb0\x35\x70\x34\xe0\x1e\xc8\xb3\x84\xe3\x78\x55\x10\xce\x2f\xa8\x90\x6b\x96\x88\x66\xa6\x5d\xfd\xc1\x9e\x4b\x66\xb5\xf8\x1b\x33\xf2\xdf\x42\x4c\x6d\xeb\xd4\xdf\x34\xac\x16\xe8\x17\x82\xc9\x4a\x41\x69\x2f\xa5\x85\x54\x69\xba\x93\xc2\x21\xff\xb8\xe7\x54\xed\xb7\xf4\x35\xd4\x8b\x2f\xd8\x41\xd0\x3b\x01\x7e\x9b\x85\xcf\xf7\x46\x6a\xed\x55\xbb\x3e\xab\xb2\x37\xea\xf7\x8a\x6f\xaf\xf8\xee\x7c\x19\xf7\x49\xf1\x7d\x43\x89\xda\xa4\x89\xbc\x48\x19\xc3\xcd\x64\xeb\x5e\xb4\xee\x45\xeb\x5e\xb4\xfe\x62\x45\xeb\xfd\x58\xe1\x5e\xae\xee\xe5\xea\x5e\xae\xee\xe5\xea\x5e\xae\xde\xf9\x32\xf6\x72\x75\x45\xae\x86\xbf\x5c\x9a\xf4\xba\x42\x76\x67\xe1\xba\x43\x4e\xf4\x7b\x91\xac\x7b\xa9\xba\x97\xaa\xf7\x5b\xaa\xde\x9b\x09\x7d\x79\x89\x90\x7d\x2a\x61\x9f\x4a\xd8\xa7\x12\xbe\x45\x2a\xa1\xe3\x25\xcb\x24\x94\xba\x60\xf1\x63\x8d\x03\xed\xad\x6c\x51\x8c\x76\xd3\xf0\x8e\x5d\x2d\xb5\x03\x9a\xdf\xa4\xd2\x54\xe9\x37\xd7\xd0\x1e\xd5\x9f\x3a\x70\xd2\x82\x66\x14\x6e\x7c\xab\x11\xc2\x7e\xb2\x6f\xbe\x2f\x30\xf0\xfa\xa8\xfb\xfa\x53\x28\xd8\xb5\xbe\xfe\xd4\x0b\xce\xdb\x1d\xae\x15\x33\x77\x34\x6a\x6c\xbc\xef\x74\xda\x6f\x0e\x2e\xd7\x7e\xd2\xdf\x34\x5c\xae\xf1\x26\xa9\x25\xef\x1c\xff\xb3\xf1\xa2\x78\x83\xb2\x5b\x6b\xdf\x0e\x9f\x88\xfa\x52\xae\x86\xbe\xec\x56\x5f\x1f\x62\x47\xd3\xdd\x88\xf5\xbf\xdb\xd9\xf6\x45\xc6\xfa\x22\x63\x7d\x91\xb1\xbe\xc8\x58\x5f\x64\x0c\xfd\xc6\x8b\x8c\xad\x2d\x3e\x9a\x71\x7c\x29\x12\x64\x5f\x64\xac\x17\x22\x77\x37\xdd\xdf\x96\x10\xb9\x87\x16\x84\xbd\xa8\xa6\xe6\x2d\x08\x6f\x8e\xfb\xe1\x46\xd2\x15\xfb\xc3\x2d\x68\x8f\xff\x61\xff\xaf\xc7\xff\xe8\xf1\x3f\x5a\x66\xdd\x07\xb3\xf6\xf8\x1f\xa8\x0f\xd7\xec\xc3\x35\xf7\x39\x5c\xb3\xc3\x36\xf6\xf8\x1f\x1d\xc5\xb9\x17\xc2\x00\x71\x32\xd7\x5a\x38\x20\x3f\xd5\x15\x8d\xbd\x95\xd2\xdc\x58\x7f\x3b\x38\x20\x8d\xd3\xde\x0b\x95\xe4\x15\x71\x40\x9a\xe8\xba\xb3\x02\xf2\x3e\xf0\x40\xdc\x68\xfb\xc4\xc5\x3e\xc4\x7a\xff\x43\xac\xf7\x2e\x71\x71\x6f\x24\xd9\x5e\xdd\xeb\x73\x17\xfb\xdc\xc5\x5e\x19\xee\x95\xe1\x9d\x2f\xe3\x3e\x29\xc3\x6f\x2c\x61\xbf\x20\x2e\xc8\x76\xb2\x76\x2f\x6a\x9b\xf7\x7a\x51\xbb\x17\xb5\xbf\x50\x51\x7b\x3f\x56\xb8\x97\xb3\x7b\x39\xbb\x97\xb3\x7b\x39\xbb\x97\xb3\x77\xbe\x8c\xbd\x9c\xfd\x6a\x38\x21\x4d\xc2\x76\xc7\x7c\x9b\xf7\x24\x69\xf7\x52\x76\x2f\x65\xef\xb7\x94\xbd\x37\x13\xea\x31\x43\x7a\xcc\x90\x1e\x33\xa4\xc7\x0c\xd9\x48\xbe\xf9\x37\x7b\x2c\x3f\x04\x37\xb1\xbf\xb2\x3f\x7c\x97\xf0\xc9\xfd\x22\x23\xfa\xbf\x67\x34\x25\x4c\x82\x34\x4a\xd5\x22\x94\x67\x5a\x56\xbe\xbe\xe6\x1f\xee\xce\xaf\x3e\x5d\x84\xd9\x34\x1f\x2e\x1f\x2e\xee\xcf\x6f\x06\xb7\x7e\x5d\xfc\xac\xc2\xb5\xb0\xdf\x95\x44\x32\x4b\xf2\xb7\x44\xeb\x9e\x70\x6a\xee\x14\x56\xb9\xdc\x6c\x64\xb7\xc3\xbb\xe1\xed\x8f\x90\x0d\x34\x3e\x3b\xbf\x1b\x7c\x77\x51\x22\x88\xd2\xf3\xc1\xe9\x5f\x1f\xce\x6f\xdb\x9f\x0f\xff\xfb\xfc\xee\xfe\xae\xed\xe9\xed\xf0\x62\x38\xb8\x6b\xff\xfa\xe3\xe0\xfc\xe2\xe1\x76\xb8\x74\x3d\x96\x8e\x76\xb9\x12\x22\x61\x91\x20\xce\x1f\x45\x96\x6b\x88\x62\x0d\x91\x17\x1f\x1d\x3b\x6c\xea\xeb\x04\x3d\x58\x9d\x9e\xda\xc6\x0d\x83\x0d\x1a\x32\xca\x48\x4c\x25\x9e\x24\x24\xae\xb5\xe4\xd6\xb0\xad\x25\x5c\x1a\xd4\xb3\xd6\x9e\xbd\xc8\xa9\x79\x5e\x64\x78\x01\x82\x1c\x45\x45\x58\xdc\xd0\x87\xd9\x87\xd6\x1e\x98\xe6\x5d\xf4\x89\x94\x7a\x8a\x72\x21\x08\x53\xc9\x02\x91\xcf\x54\x2a\x59\x6b\xd4\x6d\x5f\x5b\xb3\xf6\x4e\xf5\x0d\xce\xb1\x44\x13\x42\x58\x79\xfc\x82\x24\x04\xcb\x86\x31\xdb\xdd\xef\xb6\x2c\x7e\xaf\xac\x35\xc6\x5c\x46\x53\x4c\x93\x5c\x90\xca\x69\xe1\x69\x86\x05\x95\x9c\x0d\x3f\xeb\xbb\x4c\x1f\xe4\x6b\xf8\x9c\x8b\xcd\x4e\xcc\xf0\xaf\x21\x05\x5f\x95\xff\xf9\xe9\xbe\xfc\xaf\xd2\x99\xbf\xb8\x2f\xff\x6b\x39\xad\x07\x0d\x57\x29\xfb\x10\x7d\xba\x3f\x41\x9f\x20\xc4\x49\xa0\xfb\x39\x36\x14\x7b\x71\x7f\x82\x2e\x88\x94\xf0\x4b\xf1\xb1\xa2\x2a\x81\xb9\x7d\x47\x19\x16\x0b\xe4\xa6\x6f\x12\x5d\x71\x34\x47\xc4\x2f\x4d\x75\xf1\xd8\xdf\x73\x06\xaa\x7b\xb1\x7a\x17\x7c\x46\x23\x9c\x6c\xb7\x88\x83\xab\x12\x1f\xb8\xbe\x5d\xba\x14\xe1\xdb\xf5\xb5\x18\x5c\x9d\x41\x12\xa9\x1b\x6a\xc3\xcc\xaf\x88\xd4\x44\x12\x71\x16\x5b\x2f\x8d\xbe\xfd\x17\x81\x50\xff\x77\x0e\x89\xb8\xb9\xa4\x6c\xa6\x5b\x44\xc7\xe8\xfa\x76\xc4\xae\x45\x6c\x0c\xa1\x44\x4b\xc3\x86\xe6\xa8\x44\x8c\x2b\x44\xd3\x8c\x0b\x85\x99\xd2\x8a\x00\x88\x01\x76\x45\x0c\x07\x38\xe5\x69\x9a\x2b\xac\x0f\x5a\x6d\x51\x99\x31\x87\xdc\x11\x75\x1e\x83\x6b\xa5\x61\x0d\x8d\x9c\x50\xcc\x25\x13\xba\x7d\x2d\xa3\x94\x75\x68\x1a\xd7\x54\x59\xd7\x04\x16\x02\x97\xa5\x89\x0f\x54\x91\xb4\xfa\x7e\xc7\x20\xcf\x7f\x35\x1a\x08\x4e\x4d\x52\x05\x11\x03\x11\xcd\xa9\x22\x91\xd2\x47\x70\x23\x9a\x78\xb8\xfa\xe1\xea\xfa\xa7\x50\x82\xf8\x30\xb8\x3c\xfb\xf3\x7f\x94\x7e\xb8\xbd\xac\xfd\x30\xfe\xf1\xcf\xb5\x5f\xfe\x7f\x4b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x08\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x8c\x20\x99\x67\x9a\x02\xe4\x51\x79\x7f\xb5\x48\x79\xc1\x71\x4c\xd9\xcc\x64\x80\x5e\x50\x45\x04\x4e\x2e\x71\xf6\xd1\xd9\xaf\x37\x58\x9d\xff\x7b\x57\xca\xd7\xfd\xf0\xf3\xe0\x32\xcc\xf8\xfd\x70\x73\x7b\x7d\x7f\xbd\x74\xd6\xa5\x16\xea\xc7\x48\x3f\x3e\x81\xff\x45\xc7\x48\xb7\xee\x25\xdf\x94\x28\xac\x35\x02\xf4\xb5\x49\x9a\xf3\x89\x34\x94\x25\x70\x6a\x32\x41\x53\x0a\x57\x8a\xb1\xe0\x7d\x63\x84\x6b\xaf\x3d\xf8\x73\x63\x3e\x00\x6d\xd9\x5d\xca\x2c\xc6\x22\x46\x7f\x97\xd5\xf4\x71\x30\x1c\x9b\x1f\x48\x8c\x0e\xd1\x5c\xa9\x4c\x9e\x1c\x1f\x3f\x3f\x3f\x1f\xe9\xb7\x8f\xb8\x98\x1d\xeb\x3f\x0e\x09\x3b\x9a\xab\x34\x31\xe9\xf2\x7a\x15\x4e\xd0\x8d\xe0\xfa\x0a\x01\x05\x9d\x08\x8a\x13\xfa\x2b\x89\xd1\xc4\xf0\x3f\x3e\x45\xbf\x44\x5c\x90\xa3\x62\x63\xac\x51\xc9\xde\x23\xd6\xf0\x74\xac\x5f\x6a\x60\x26\xd5\xfd\x44\x31\x89\x68\x6c\xc5\x0c\xc2\x22\x0e\x96\x47\xe3\xab\xd0\xed\xb9\x4c\x43\xad\xd1\x64\xb9\x2a\x96\x33\x50\x56\x70\x4c\x82\x6c\x77\xc5\xcb\x04\xa7\x15\x9f\x73\xa3\xb6\xe6\x5a\x45\xd7\x77\x2b\x86\x5b\xd5\xbd\x9a\xe9\x09\x47\x3c\x41\x93\x7c\x3a\x25\x22\x74\x48\x1f\x68\x6d\x86\x4a\x24\x48\xc4\xd3\x14\x24\x06\xfd\x55\x2e\x0d\x55\xc3\x8a\xd9\xd1\x1e\x8d\x18\xec\xbf\x56\x73\x80\x02\x62\x0e\xac\x8e\x11\x12\x23\xcc\x16\xa6\x9b\x49\x3e\x0d\xdb\x37\x30\x14\x38\x46\x54\x8d\xd8\x20\x49\x90\x20\x29\x57\x24\xc8\xa1\x04\xe7\x59\x79\xc1\x81\x45\x0a\x92\x25\x38\x22\xb1\xa1\x87\x84\x47\x38\x41\x53\x9a\x10\xb9\x90\x8a\xa4\x61\x03\x5f\x83\xad\x46\xaf\x19\x95\x28\xe6\xcf\x2c\xe1\xd8\xce\xa3\xfa\xd9\x37\xe5\xd3\x38\x74\x10\x01\x43\x21\xb8\x80\xff\xf9\x81\xb2\x78\x67\x1c\xea\xe1\x6e\x78\x1b\xfe\xfb\xee\xe7\xbb\xfb\xe1\xe5\x7a\xdc\xc7\x53\x16\x0c\x0f\x74\xf8\x13\x74\x67\x16\x81\x0b\x2d\x11\x89\x96\x49\x5d\x5a\x52\x2a\x7e\xe0\xf1\x86\xdc\xf7\x72\x70\xf5\x30\x28\x71\x94\xbb\xd3\xef\x87\x67\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xf4\xfb\xf3\x8b\xb3\x71\x83\xc2\xf8\xe1\x76\x78\x7a\xfd\xe3\xf0\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xce\x63\x34\x59\x34\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x01\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x03\xfb\x0e\x20\x69\x18\xe3\x8a\x91\x98\x9b\x1b\xd6\xbd\x63\x16\x18\x2a\x0c\xc8\x85\x5f\xb8\x13\x34\x40\x52\xbf\x98\xeb\x43\x2d\xe8\x6c\x06\x86\xc3\xca\x50\x4d\x6b\xf6\x53\x58\x5e\xf8\xce\xec\x7f\x26\x38\x9c\x73\xdd\xad\xb5\x38\x7b\xab\x84\xf9\x10\x50\x57\xca\x2d\x0a\x0c\x06\x87\x86\xa1\xb9\xcd\xd2\x8b\xd0\xba\x5e\xe6\x3c\x1a\x7b\x91\x3e\x5c\xc0\xb6\xa4\xb1\x77\x66\x82\x3c\x51\x9e\x07\x9f\x5a\x60\x8f\xd2\x8e\x37\x36\x5f\x2c\x00\x2c\x9b\x31\x8a\x54\x9a\xf1\xe4\xd1\xd8\x82\x66\x61\x4f\xd0\xc2\x54\xf0\xb4\xa1\x8d\xf2\x31\x39\xbf\xbe\x53\x02\x2b\x32\x5b\x9c\x59\x96\xb1\xf9\xf1\x38\xbb\xfe\xe9\xea\xe2\x7a\x70\x36\x1e\x0e\x3e\x95\x4f\xbc\x7f\x72\x77\x7f\x3b\x1c\x5c\x96\x1f\x8d\xaf\xae\xef\xc7\xee\x8d\xa5\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x82\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x21\x53\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x13\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb2\xf8\xf0\x7a\x7a\x78\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x23\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd0\x05\x16\xb3\xc2\x0e\xf7\x35\x9f\x4e\x4d\x63\xdf\x98\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\xb6\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xf2\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xaa\xb5\xcd\x06\x5a\x22\x9f\xa9\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x1c\x20\xce\xc0\xe0\xe0\x85\x88\x0a\x45\x76\xa0\x01\xd3\x56\x8d\x02\x6e\x00\x6d\xe9\xda\x22\x1b\x5d\x52\xa9\x95\x46\xf3\xe3\x77\x16\x72\x69\x33\x82\xf8\x38\x38\xbf\xa8\x08\x17\xe3\xb3\xe1\xc7\xc1\xc3\xc5\x72\x33\x61\xe9\xbb\xea\x16\xa3\x43\xa4\x9f\x97\xfd\xe6\x74\x6a\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x17\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\xa7\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x43\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x1b\x9e\xb1\xc1\xe9\xfd\xf9\x8f\xc3\xb2\x7e\x78\xfa\xfd\xf9\x8f\x4d\x52\xcd\xf8\xd3\xf0\x6a\x78\x3b\xb8\x5f\x21\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x84\x02\x40\x98\xf5\x44\x3e\x9c\x03\x67\x7d\xc2\x09\x8d\xa9\x5a\x38\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x04\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x11\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x33\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\x5f\x69\x99\x2b\x4b\x68\x44\x55\xb2\x40\x11\xd8\xb0\xc0\x9c\x99\x62\x86\x67\x56\x38\x00\x35\xa7\x42\x12\x7f\x35\x28\x6a\xd7\x53\x6b\xda\xbf\xa7\x64\xc3\x63\xf6\x70\x75\x36\xfc\x78\x7e\x55\x26\x81\xef\xcf\x3f\x95\x44\xd8\xcb\xe1\xd9\xf9\x43\xe9\x36\xd7\x92\xec\x72\xb9\xbe\xda\x6c\xc3\x51\xf4\x2f\x9d\xa0\x33\xf3\xe9\x89\x5e\xdc\x06\x88\x38\xaf\xfc\x56\xd6\xe1\xd6\x85\xe4\xb9\x3f\x86\x4c\x89\x46\xbf\x44\x57\x13\x92\xf5\x41\x96\x6c\x48\xcd\xa1\x0a\xb5\xbe\xaf\xaa\x4e\xe5\xea\x94\xdd\x8b\x10\x74\x79\x54\x58\x96\xc2\x18\x06\x30\x1a\xb4\x19\xb1\x1a\xdc\x5a\x05\xc3\xfe\x11\x5c\xd4\x69\x2e\x95\x71\x25\x02\x71\xa2\xc7\xbf\x48\xbd\xa0\xe0\x6a\x3c\x42\x77\x84\x8c\x98\xb3\x1e\xcc\xa8\x9a\xe7\x93\xa3\x88\xa7\xc7\x05\x3e\xe1\x31\xce\x68\x8a\xb5\x24\x4d\xc4\xe2\x78\x92\xf0\xc9\x71\x8a\xa5\x22\xe2\x38\x7b\x9c\x41\x04\x8c\x73\xa7\x1e\xfb\x66\x67\xfc\xdf\x2f\xfe\xf4\xed\xe1\xc5\x5f\xbe\xfd\x50\xb7\x90\xb5\xed\xff\x90\x45\x38\x93\x79\x62\x23\xe6\x44\xb8\x36\xee\xc8\xe7\x64\xd5\x7e\x5f\x95\xb7\x6b\x3b\xfd\xf5\xf4\xe6\xa1\x64\xb1\x2e\xff\xf3\x72\x78\x79\x7d\xfb\x73\x89\x53\xde\x5f\xdf\x0e\x3e\x95\x18\xea\xf0\xe6\xfb\xe1\xe5\xf0\x76\x70\x31\x76\x0f\xb7\xb1\xbd\xfd\xc0\xf8\x33\x2b\x2f\x8d\x74\x1c\xb0\xd6\xd3\x09\xfa\xc8\x05\xfa\xc1\xef\xe4\xe1\x04\x4b\xb8\x62\xdc\x9d\x25\x0f\x50\xc6\x63\x60\xbc\x88\x64\x73\x92\x12\x81\x13\x6b\x33\x90\x8a\x0b\x3c\x33\x37\xbd\x8c\x04\x56\xd1\x1c\xc9\x0c\x47\xe4\x00\x45\x40\x0d\xb3\x03\xd8\x14\x50\xb5\xf8\xac\x6a\xe7\xbb\xcd\x99\xa2\x29\x71\x2a\xb8\xfd\xe7\xbd\xd9\x8c\x0d\x36\xe7\xfa\xfe\xfb\xb2\xb0\xf7\xf1\xe2\xe7\xfb\xe1\xf8\xee\xec\x87\xa5\xeb\x69\x3e\x2b\x8d\xec\x0e\x02\x90\x4e\x79\x92\xa7\x2c\xfc\x7b\xf3\xb1\x9d\x5f\xdd\x0f\x3f\x55\x47\x77\x3d\xb8\x2f\x53\xc6\x6d\x39\xc0\xed\xc3\x77\xd7\xd7\x17\xc3\x92\x4b\xf8\xc3\xd9\xe0\x7e\x78\x7f\x7e\x59\xa2\x9f\xb3\x87\x5b\x83\x46\xb8\x6c\x9a\x6e\x04\x0d\x13\xd5\xd3\x0a\xa7\xb9\x6b\x56\xd8\x89\x13\x0d\x6c\x40\xb9\x39\xcb\x87\x01\xdc\x8e\x09\x07\x03\xab\xce\xa1\x37\xa9\x46\x66\xa4\x8d\xec\x50\x95\xb7\x09\xb5\xb3\xe3\xa5\x1b\xbd\x8c\x2b\xdf\xfb\x21\x18\x28\x50\xa3\x6c\xe3\x24\xe1\xcf\x26\x94\x37\xa5\xfa\x56\xb6\xc0\x68\xfa\x15\x59\x78\x08\x8f\x1a\x38\x5e\x79\x5b\x48\x24\x88\xba\xe4\x39\x53\x9b\x93\xdc\xe0\xaa\xc4\x77\x86\x57\x3f\x8e\x7f\x1c\x94\x29\xf0\xfc\x62\x39\xab\x09\x9b\x68\xb8\x8a\x07\x57\x3f\xfb\x4b\x18\x02\xbe\x0f\xbc\x86\x6a\x64\xd7\x28\xa1\x5a\xec\x8d\xb0\xd6\x5e\x13\x90\x68\x10\xa1\x60\x72\x48\xf5\xe4\x20\xc0\x34\x33\xfe\x24\xc3\x9f\xcc\x20\x4f\xdc\x1f\x95\xf6\x24\xac\x0b\x58\x53\x5d\x3c\x3d\xb4\x63\xb5\x6a\x86\x08\x7b\xa2\x82\x03\x9e\x2d\x7a\xc2\x82\x6a\x69\xdc\xb4\xac\xe7\x7a\x02\xff\xbb\x5e\x9b\x60\x18\xad\x30\xae\x3b\x2e\xd4\x99\x0f\xe4\xdd\xcc\x1a\xd2\x14\xd0\x5a\x0f\x65\x6d\x36\x74\xd4\xbf\x6d\xd8\x9c\x2d\x03\x7e\xcb\x13\xfe\x47\x72\x46\x71\xa2\x19\xc0\xee\xe4\xc5\xc1\xd5\xdd\x79\x59\x7e\x2c\xab\x19\x01\x5f\xde\x58\x5e\x04\x43\xa5\x19\xb9\x53\x26\xee\xfe\x7a\x61\xb4\x0b\x00\x3d\x36\xe7\x36\x50\x2c\x40\x00\x72\x28\x28\x19\x16\xb2\xf2\x85\x44\x00\x84\x56\x04\x5c\xe9\x3b\x0b\xc2\x99\x9e\x38\x8d\x47\x8c\x7c\xce\x08\x93\x10\x1c\x60\xee\xb3\xc2\xd7\x2e\x8f\xd0\xf9\x14\x58\x82\x7e\x9d\xa1\x9c\x59\x07\x98\xbe\x70\xcd\x20\x0f\xb4\x28\x6b\x87\xe0\x35\x44\x30\xbc\x30\xe2\x82\xa5\x8a\xc1\x8f\xd8\x4f\xde\x89\x06\x8f\xa6\x5c\x33\x20\xbd\x8b\xb6\xbd\x13\x84\x99\xa4\x07\x48\x2b\x2c\xd5\x3d\x85\xd4\x01\xad\x50\xda\x10\x2e\xcd\x69\xec\x9f\xaf\x7f\x0d\xd4\xe2\x84\xc3\xcb\xa0\xf9\x2e\xa8\x5c\x05\x2d\xa2\x71\x62\x3c\x26\xe3\xee\x77\x42\xc4\x05\xb1\x7e\x96\xb5\xaf\x81\x55\x8c\xfd\x1e\xcb\xc7\x9a\xef\xe1\x9c\x49\x85\x59\x44\x4e\x13\x2c\x37\x0c\x42\x72\x36\x8e\x83\xb2\xc4\x71\x7b\xfb\x70\x73\x7f\xfe\xdd\x0a\x2e\x5f\xfd\xb8\x1e\x06\x14\x25\xb9\x73\xcf\x4d\x04\xc7\x31\xd2\xec\x73\xc6\x8d\x2b\xd0\x0a\xfe\x05\xf4\xb7\xc9\xeb\xf1\x01\x95\x25\xd8\xf1\x22\x1d\xc1\xda\x39\x42\x57\x02\xb5\x0b\x81\x22\xbd\x12\x28\x30\x79\xb8\xad\x06\xcf\xa2\x29\x48\x62\xad\x5b\x59\x82\xd5\x94\x8b\xd4\x70\xf9\xd2\xa4\x4d\xe3\xcb\x1b\xa5\x4c\x11\x21\xf2\x4c\x51\x87\xe5\x5e\x95\x52\xa1\xc2\x3b\x9f\x5d\x12\x29\xf1\x8c\x6c\xe3\x80\x6e\x52\x1e\xee\x7e\x0c\xff\x09\x0e\xe6\x2e\xb2\x7f\x69\x84\x2e\xf2\xdd\xd1\xd3\x35\xfb\x68\x02\x79\x6e\x78\x42\xa3\x0d\x03\xee\x3e\x0e\xce\x2f\xc6\xe7\x97\x5a\x89\x1f\xdc\x0f\x2f\x4a\xa2\x04\x3c\x1b\x7c\xbc\x1f\xde\x5a\x10\xeb\xc1\x77\x17\xc3\xf1\xd5\xf5\xd9\xf0\x6e\x7c\x7a\x7d\x79\x73\x31\x5c\x11\x99\xd3\xda\x78\xdd\xba\x5a\x7d\xf5\xa4\xf6\x0b\xec\xb0\xe6\x65\xa1\xbd\x0c\xb2\xc6\x30\x4d\xc0\x09\xce\x8d\x33\x1c\x23\xc6\x63\x02\x3f\x4b\x67\x9d\xf1\xc8\xd1\xe8\x5c\x7d\x95\x24\x08\xe7\x8a\xa7\x18\xbc\x36\xc9\x62\xc4\xf0\x44\xb3\x56\x9c\x24\x41\x78\x97\xc8\x19\xd3\x2c\x56\x37\x66\x20\xda\xa3\x84\x68\x76\x9e\x05\xc9\x7e\xd6\x6f\x30\xa5\x0c\x22\x6d\x53\x2c\x1e\x8d\x9b\xa9\xe8\xb2\x38\x14\x12\x61\x39\x62\x7a\x5c\xc4\x1a\x86\xba\xac\xf0\x49\xa7\xb7\x5a\x57\x27\xc5\x8f\x44\xaf\x4a\x9a\x47\x73\x94\x09\x3e\x13\x44\x4a\x6b\x5b\x8e\x30\x33\x01\x08\xf6\x75\x7d\x0d\x8d\x18\xe3\x7a\x29\x9c\x09\x3b\x26\x19\x61\x31\x61\x11\x35\x69\x7d\xe0\xbb\xf7\xa6\xcd\x99\xc0\xd9\x1c\x49\x0e\x4e\x6f\x58\x76\xb0\x5f\x99\x8f\xdc\x4d\x66\x66\x6c\x1e\x87\x16\x68\x91\x6b\x3e\x71\x0d\x72\xa2\x59\x65\xf8\xd8\x5d\x86\xce\xed\x62\xec\x80\x69\x96\x10\x65\xc0\xfa\x61\xc9\x61\x33\xf4\x5a\x97\xf6\x43\x6f\x53\xd3\x26\xe8\x0b\xdb\x8d\x19\x4b\x3b\xa2\xa3\x06\xcb\xb6\x3d\x52\xe8\x7b\xcc\xe2\x44\xb7\xe2\x7c\x18\xe5\xb3\x08\xa9\x28\x03\x4d\x35\xee\x34\x6e\x73\x8b\x46\x38\x97\xdb\x5c\xa3\x95\x5c\x4c\x63\x15\x3c\x2c\x82\x42\x80\xbc\x6d\x22\x26\xac\x6e\xa6\x59\x24\x4e\xb8\x5d\x25\xf3\x7a\x6e\xea\x3f\x21\x18\x4d\xcb\x35\x9b\x09\xca\x22\x9a\xe1\x64\x23\xdd\xaf\x12\x8c\x6f\x63\xdc\xbf\xa6\x53\x4d\x3e\xdf\xd4\xdc\xb6\x8a\x88\x14\x12\x94\xed\x30\xfd\x16\xae\x61\x49\xb2\x59\x0d\x44\x16\xd1\x24\x58\xf0\xdc\xf8\xe3\x60\x5d\x48\xdc\x70\x54\x8f\x9a\xb6\x5b\x9f\x0c\x5c\x0e\x80\xde\x60\xb3\x4d\xe4\x4f\xdb\xfa\x55\x5a\xb1\xbd\x9b\x60\x3c\x9c\xdc\x34\xb7\xd9\xb4\x03\xc1\xc3\x7f\x2d\xa3\x9d\x4b\x9c\x69\x9a\xb1\xb0\xfd\xb8\x98\xa3\x55\x92\x6c\x55\x30\x17\x3f\x13\xf8\xce\x7d\x5e\x48\xf7\xdd\x28\x96\xd0\x06\x40\xd5\x3b\x29\xc5\x10\x04\x39\xe6\x96\xc6\xa7\xb9\x96\x65\x11\x86\x28\x04\xf4\x35\x39\x9a\x1d\x21\x57\x84\xe1\x00\x0d\x6e\x6e\x86\x57\x67\x07\x88\xa8\xe8\x1b\x17\xb3\x68\x03\x96\x46\x4c\x71\x2b\xad\x2c\x5c\x01\x8d\x94\x88\x19\x29\xcd\xd9\x45\x37\x41\xa8\xf2\x8c\x4a\x65\xc3\x67\x35\x5f\x09\x4a\x9d\xd0\xb4\x2a\x66\x1b\x0a\xc9\xd5\x7c\x1b\xd2\xc0\x52\xe6\xa9\xd6\x65\xc7\x14\xa7\x63\xc1\x93\x6d\x98\xc2\x19\x4c\x05\xd4\x65\x9f\x9e\x4f\x71\x8a\x74\xb3\x36\x14\xc4\xbb\x1c\xbd\x48\xa7\x05\x23\xcd\x97\xf5\xbd\x19\xdc\x5b\xce\xfb\x60\xe3\xd1\xa8\x0b\x81\x80\xf4\xfd\x16\x56\x51\x98\x8d\xc7\xd6\x52\x3f\xc6\x51\xa4\x55\xee\x1d\x4f\x2a\xa8\x9f\xe3\x5c\x02\xb6\xa3\x17\x9b\xe6\x2a\x3a\x77\xc3\xcc\x34\x07\x83\x60\x60\x7d\xe5\x4a\x1e\xd1\xa2\xfd\x86\x7e\x27\x8b\x5a\xaf\xae\xc2\xcd\x83\xf4\x26\x15\x73\x09\x4b\x02\x3b\x29\x4d\x85\x1c\x35\x27\x0b\x34\xc7\x4f\xa4\xd4\xa5\x4b\x88\xd1\x0d\x2f\x78\x2e\x9a\x18\xdd\x88\x9d\x91\x4c\x10\x2d\xe9\x57\x1d\x28\x9e\xa6\x6f\xcb\x94\xd8\xd3\x75\x4f\xd7\xef\x9e\xae\x4f\x4d\xa1\xa4\x81\x2f\x8c\xb5\x95\x00\x67\x1a\x1b\x67\x9c\x27\xe3\x0e\x36\x91\xee\x2b\x5e\xf2\x84\x55\xca\x46\x01\x24\x00\xcf\x41\x3e\x2a\x5d\x9b\x5c\xdf\x75\x41\x8a\xad\x1d\xde\x92\x65\x70\x2e\xb3\xa0\x5e\xce\x36\xe7\xbd\xa9\x95\x65\x2d\xa1\x17\x17\x73\x4e\x8d\x7c\xe3\xdd\x65\x61\xfd\xd3\xd2\x61\x72\xa2\x08\x65\xb5\x6a\x6c\x86\x9e\xf5\x02\x1b\xb9\xe3\x1f\x39\x57\x58\x7e\x73\x34\x62\x5a\x88\x7a\x24\x0b\x63\x6e\xd5\x62\xca\xef\xb4\x2c\x7e\x28\x09\x93\x10\xee\xfd\x3b\xe3\x9e\xd3\x24\xee\xcc\xd5\x46\x35\x35\x45\xe0\x20\xe8\xda\xf7\x02\x21\xba\xb6\x51\x2b\x25\x15\x01\xd0\x20\xe7\x9b\xb9\xd8\x67\x66\xf8\x33\xa2\x20\xc5\x5a\x51\x05\x3a\x53\x6c\xaa\xcc\xd5\x86\xbe\xd2\x74\x65\xa8\x42\x70\xf0\x93\xc4\xf9\x76\x8c\x5f\xd6\xdb\x58\xc9\x19\xbd\xb6\x70\x67\x63\xde\x8f\x9d\xdd\x28\x12\xbc\x56\xba\x0d\x4b\x64\x76\x7a\x62\xd8\x81\xf3\x5f\x13\x76\xf4\x4c\x1f\x69\x46\x62\x8a\x21\x02\x5e\xff\xeb\x58\xcf\xeb\xdf\x4f\x6f\xaf\xaf\xc6\x45\x26\xcf\x7f\x8d\xd8\x20\x91\xdc\x67\x29\x20\xc6\x99\x0f\xb7\xcf\x04\x71\x22\xa1\x9d\x0b\x58\x5d\x0b\x33\xe2\x88\xb5\x8d\x20\xe6\x91\x3c\xc2\xcf\xf2\x08\xa7\xf8\x57\xce\xc0\x95\x3e\x80\x3f\x4f\x13\x9e\xc7\x3f\x61\x15\xcd\x8f\xe1\x5c\xab\x63\xf2\x44\x98\x32\x6e\x2a\xbd\x5c\x31\x24\xef\x4a\x88\xd6\xff\x77\x3d\xe6\x22\xa9\x48\x6a\x4d\x36\x22\x99\x42\xff\x8f\x20\x13\xce\x55\xf3\x25\xc5\xa7\x53\x49\xd6\xba\x90\x0a\x25\xed\xee\x1a\xfd\xe5\xcf\xdf\xfe\x41\x93\xd0\x26\x6b\x7c\x7e\x77\x3d\xd6\xdf\xff\xfb\x99\xfd\x5e\xae\xc1\xee\xae\xb3\x82\xb5\x39\xe2\x31\x81\xf3\x39\x83\xdb\x4f\x80\xf3\x02\xd8\x1b\x90\x43\xb1\x8f\x4d\xdc\xed\xac\xd4\xfa\x76\x2a\xdb\x46\x8b\x09\x2a\x76\x30\x47\x74\x88\x18\x47\xa9\x89\x35\xc5\x0c\xfd\xc7\x0f\xdf\x35\x6f\x60\x2e\xe8\x46\x1d\x52\x0b\xd7\x10\x74\x29\xe9\xaf\x44\x22\x4d\x35\x9a\x8a\x79\xaa\xbb\x16\x44\xce\x79\x12\xa3\x67\x02\x6a\x92\x8d\x03\xf5\x5a\xb9\x20\x23\x16\x36\x01\x21\x87\x08\x27\x8a\xcf\x08\xdc\xd5\x4e\x51\x53\x44\x68\x51\xc5\x64\x69\x28\x2e\xc8\x81\x81\xfa\xba\xfb\x93\x8b\xad\x86\x69\xc2\x23\x97\xd4\x62\x4d\x72\xf1\xa4\x79\xe6\xd3\xaa\xe9\x15\xb5\xdb\xf0\xab\x9b\x6c\xcd\xb6\xcd\x4b\x63\x93\x50\xac\x0d\xab\xba\x33\xcd\x83\xa1\x11\x67\xe3\x84\xb2\xc7\x8d\x36\xe3\xda\x89\x72\xba\x05\xbb\x66\xba\x45\x6f\xe7\x36\x16\x90\x35\xce\xc7\xc7\x3c\x49\x4c\x6a\x4b\xb8\x3d\x20\x77\x99\x75\x03\x61\x20\x33\x39\xa0\x24\xb6\x7e\x2f\xab\x09\x0b\xc2\x20\xe0\x6d\xc4\x26\x0b\xeb\xb3\x95\x07\x48\xe6\xd1\xdc\x65\xe6\x45\x9c\x49\x2d\x46\x73\x81\x22\x9e\xa6\xa6\xb8\x29\x23\x48\x71\x9e\x48\x1b\xed\xce\x0e\x15\x8e\xd4\x88\x15\xfd\xad\x38\x79\xa6\x02\xd2\x76\xa9\x7b\xdd\x5d\x3a\x45\xa5\xa5\xa5\x02\x37\x8d\x43\xcc\x06\x30\x82\x19\x4f\x54\x80\xfe\xc0\xeb\x67\xc9\x6c\x58\x8b\x66\x20\xe7\x5c\xa8\x71\xdc\xc8\x73\x56\x12\x4d\x95\x11\x32\x72\x98\x40\xd0\x30\x7f\xd2\xc2\x3f\x79\xf6\xc6\xd7\x65\x43\xd0\x54\xbd\x6c\x04\xdd\x8e\xd1\xd2\x91\xad\x4b\x82\x2d\x6b\x65\x10\x3c\xa2\x72\x4c\xf8\xaa\x31\xde\xc1\x57\xa7\xfa\xa3\xa5\x8b\x57\x3d\x77\x4e\x08\xe2\x71\x01\x36\x67\xee\x75\x9b\x11\xb2\x6c\x4d\x2d\x74\xc2\xcb\x65\x8e\x2e\x9b\xca\x43\xd9\x92\xab\xc7\x02\x26\x7b\x49\x40\xd6\xc4\x62\x42\x95\xc0\xa2\x84\x14\xe2\xf5\x41\x49\xb0\x80\xf8\xac\x11\x33\xb8\x71\x46\x53\x88\x51\x4c\x25\x24\x88\xc0\x5d\x1a\x38\xc3\x50\x37\x25\xb0\x72\xb4\x8b\x3c\x47\x13\x7f\x0e\x81\x65\x05\x69\x38\x66\xa7\x3b\xf2\xf8\x58\x5a\x3f\xe3\x51\x5e\x08\x72\x11\x48\xb8\x16\x53\x07\x51\x26\xe9\x6c\xae\x10\x65\xd6\xee\x88\x93\x19\x17\x54\xcd\x53\x79\x80\x26\xb9\xd4\x5a\xa8\x09\x56\x33\xf1\x28\x44\x45\x9d\xb8\xd0\xb6\x49\xc4\x71\xa5\xc1\xba\x8a\xb2\x01\x69\x74\x3b\x94\xc3\xca\x5d\xb1\x82\x70\x06\x1e\x67\xb0\xda\x06\x85\xba\x8d\x06\x9e\x12\x99\x38\x40\xee\x90\x9d\xa0\x0a\x48\xdb\x39\x00\x54\xc8\x9d\x79\x29\x5e\xa3\x10\x17\x32\xc9\xa0\x82\xb8\xd8\x6d\x90\xbc\xca\xc8\x94\x06\xbd\xc9\x3b\x9d\xd2\x4c\x35\x06\x6e\xd5\x5d\x45\xb7\x01\xe6\x4f\xb7\xc5\x86\x64\x2c\xa0\x66\x40\x6a\x1b\xb1\x3b\x42\xda\x81\xdc\x6a\x7b\x6f\x4a\xe3\xc2\x14\x6c\xa2\xc7\x72\x92\xdf\xc6\x89\x7d\x36\xbc\x3b\xbd\x3d\xbf\x31\x90\x13\xd7\xb7\x97\x83\xfb\x71\x83\x5f\xbb\xe1\xad\xcb\xc1\xed\x0f\x67\xab\x5f\xfb\xfe\xbe\x9c\x95\xdd\xf0\xca\xed\xdd\xf2\x64\x8e\x0e\x43\x6c\x48\x0a\x6b\xec\xe7\x04\x65\x0b\x35\xe7\xcc\x87\x28\xc4\x25\xde\x74\x88\x4c\x46\xb0\x82\x10\x22\x21\x55\x83\xe3\xf0\x1e\xe2\x72\x56\x4b\x98\xe5\xcd\x32\x30\x6c\x3b\x15\x8d\xd6\x38\x91\x9f\x12\x3e\x01\xbf\x75\x5e\x2a\x71\xbb\x24\x02\x7d\xcb\x78\x9f\x33\x2a\xb3\x04\x2f\x6a\x3d\xac\xba\x72\xae\x70\x4a\x20\xe2\xb8\xc0\x8f\x73\xc9\x22\x7a\x67\x20\x81\xc9\xdf\xeb\x74\x0a\x99\x4c\x8a\x62\x45\xd0\x84\xa8\x67\xc8\x9b\x73\xbf\x7a\x5b\xaa\x0b\x18\x91\x47\x23\x06\xe6\x9c\x91\x5e\xe4\x38\x87\x68\xbf\xd1\x87\x03\x34\xfa\x10\x93\x27\x92\xf0\x4c\xef\xbc\xfe\xa1\xe5\x92\x19\xa6\x98\x26\x57\x5c\x79\xcb\xdc\x36\xfb\x29\x48\x44\x33\x90\xcc\xc7\x44\xb7\xfb\x7a\x82\x47\x89\x92\x1d\x3b\x83\x31\x20\x1c\xc7\x5a\xc9\x06\x56\xe6\x86\x57\x84\x00\xb1\x60\xea\xa5\x5a\x99\xeb\x88\x14\xde\xfc\x6d\x7a\x0c\xdb\x2c\x9b\x3d\x1b\x77\x80\x3d\xbd\xa0\x4b\x76\xdb\x8b\x5c\x6b\x25\x3f\x90\x05\xa4\x60\xdc\x60\x2a\x36\x74\xcd\x36\xc5\xbc\xbe\x88\x93\x76\xd8\xd0\xd1\x1e\xb9\x6b\x9b\xd7\x61\x3b\xc7\xad\x8f\xd5\x7b\x2d\x2d\xd5\xc5\x72\xf9\x8e\x3b\xaa\xad\x0f\x6d\x4a\x6a\x6b\x08\x03\xaa\x2a\x5e\x19\x89\xd6\xd0\xb8\xfc\x00\xef\xf4\x77\x2b\x35\x15\x2f\xae\x45\x61\x4d\x7f\xd8\x05\x9b\x1c\x5f\xcd\xc7\x27\x2b\x47\x1c\x25\x5c\x96\xb1\x72\x3a\x0f\xfa\xd4\x7e\xba\x6c\xdc\xc3\x90\x7c\xb5\x5c\xb8\x56\x40\x43\xc3\xc2\x57\xc0\x20\xcd\x3d\xa3\xac\x87\xcc\xbe\x7d\x80\x28\x44\x5b\x82\x42\x96\x14\xc8\x01\x2c\x46\x85\x1b\x64\xc4\x8a\x98\x15\x89\x9e\x49\x02\x61\x6e\x11\x4f\x33\x30\xf1\xdb\xe1\xda\x96\x48\x6c\x22\x86\x0f\x10\xcf\x95\x6e\xcc\xe4\xe4\x38\x23\xae\x4d\xf8\x29\xdc\x1e\xc6\xf7\x66\x83\xdf\x3d\xb0\xb4\xa1\x75\x73\x97\x52\x86\x3e\x11\x05\xad\x00\x70\x7f\x38\x41\xd0\x13\xaa\x21\x94\xcd\x6b\xbf\xc5\x89\xb2\x33\x59\x63\xe7\x0b\xe0\x94\xef\x12\x3e\x59\x6e\x24\x80\xc6\xd1\xc3\xed\xb9\xb3\x48\x16\xf1\x53\x01\x7a\x71\xc9\xa3\x38\xbc\xb9\x1d\x9e\x0e\xee\x87\x67\x47\xe8\x41\x12\xbd\x3c\x7e\xba\x90\x5f\xed\x55\x12\x33\x72\x8b\xc4\xc2\xa4\x22\xb8\xcd\x10\x42\x84\x28\x65\x41\xaf\x60\x1c\x65\x98\x96\xe5\x84\x0d\x20\x29\xd4\x1a\xea\x00\x58\xa8\x3a\x4f\x1b\x99\xb7\xea\x04\x42\x9c\xd4\xf8\xfd\x44\xa9\x99\xf1\xa6\xf5\xc8\xbc\x55\xe4\x53\x8e\xe8\x7b\xe9\xc9\xc0\xd1\x52\x73\x42\x05\xea\x34\x2d\x43\x54\xe3\xee\x73\x0a\x42\xdc\x2f\x71\xb6\x3c\xfd\x14\x3f\x97\x88\xd6\x88\xc2\x81\xef\xfe\xa5\xcf\x81\x63\x6b\x63\xc3\x0a\xb7\x9f\x60\xe1\xd0\x32\xbc\xd5\xf3\x4d\x93\xf1\x21\x9d\x91\x2c\x9c\x58\x65\x10\x36\x8e\x55\x22\x38\x3b\xf0\x0b\x65\xa8\x74\x25\x1e\xa0\x29\xfd\x6c\x1b\x2d\xe2\xdb\xdd\xab\x41\xc0\x43\x4b\x3c\xe5\x1c\xd7\xcf\xd4\x1a\x62\xc3\x0d\x7c\xbf\x54\x88\xe4\x52\x8b\x44\x91\x16\x97\x04\x89\xb8\xd0\x37\x05\x74\x5b\x78\x21\x56\x89\x0c\x0a\x0b\xbd\x28\x75\xaf\xcc\xb2\xd3\x5f\xd4\x20\x89\xb1\x22\x87\x5a\xf4\x5a\x91\x00\x6d\x73\x64\x20\x9b\x06\xab\x00\x0e\xac\xb8\x79\x26\x64\x86\x99\x0b\xcd\x6e\x19\xae\xbb\xf2\xb6\x60\x55\x5a\x05\xc2\x90\x1e\x06\xf2\x15\xa4\xfe\x94\xc6\x21\x33\x58\xcf\xa5\xe3\xb0\xd1\x2f\xfb\xb0\x6c\xcf\xd8\x07\xe3\xb4\x0c\x36\xcf\xe2\x7d\x1a\x6c\x82\xa5\x42\x76\x4c\x6d\xa6\x88\x40\x45\x7c\x59\x23\x6c\x49\xb7\xef\xaa\xbc\x69\x12\x2a\x6b\xb1\x04\x3c\x23\xd2\xe1\xa6\x18\x94\x18\xad\xd3\x38\x41\xd8\x94\x62\xf6\x67\xdb\xd6\x64\x76\xb7\x44\xc8\x4c\x20\x48\xbf\xde\xf4\x11\x1a\xb0\x1a\x5e\x96\x8b\xcb\x2a\xad\x97\xb9\x93\x70\xf2\x8c\x17\x12\x65\xc2\x40\xcb\x98\xc8\x7d\x37\x79\xd0\xc0\xca\x1f\xf9\x50\x08\xe5\x52\x27\x10\xd8\x62\x56\x07\xcd\x39\xb9\x77\xfc\x02\xae\xbc\x4a\x54\xb9\x17\xc8\x8b\xe6\x0a\x5b\x45\x07\x56\xa7\xc8\x38\x9a\x63\x36\x23\x63\x67\x64\xdd\x44\x5b\xd2\xed\x9c\x42\x33\x67\xb6\x95\xe6\xcb\xe9\xc6\x28\x4c\xb6\xfe\x8b\x79\xd5\x1b\x10\xf5\x21\x90\x0a\xcf\x08\x32\x23\xea\x64\x96\x2e\x45\x8c\x59\xb0\x61\xd0\x13\x6c\xab\xc3\x72\x14\x7d\x9b\xf0\x0e\xa1\x4f\x17\x78\x42\x92\xb7\x89\x9c\x80\xae\xad\x71\x1e\xbc\x75\x26\x1b\x80\xa0\x67\xb0\xe7\x57\x58\x86\xb5\xde\x8b\xbc\x29\x37\x60\xd9\x3c\x4b\xd5\xcf\xb7\x98\xa8\xab\x15\xb2\xc9\x54\xdb\x2a\x88\x84\xd7\x5e\x50\x69\xa3\xc9\xc0\x16\x5e\x7f\x55\x9b\xf2\x66\x03\x09\x0a\x7e\xb4\x8c\x63\xeb\x8a\x1f\x2b\xa7\xb2\x31\xc8\x40\xc7\x2a\x78\xe7\x53\xc4\x38\x23\x88\xca\xe2\x65\x55\x4e\x87\xf2\x10\x3d\x5a\xc4\x37\xc6\x17\x5f\xa5\xcb\x17\x5f\x7a\x69\x4b\x4b\x01\x9e\xe0\x6d\x03\x2e\xbf\x9b\x11\xad\xa8\x62\xb1\x00\x88\x4f\xc3\x87\xcb\x32\xdd\xca\x71\xee\x5c\xe0\xbe\x77\x08\xae\x41\xa4\xae\xe2\x08\xc4\xc8\xca\xe0\x90\xc1\x41\xb5\x2f\xd9\x8f\x2c\x4c\xcd\x88\x79\xcb\x06\x10\x22\x95\x28\xc5\x19\xf8\xf4\x18\x57\xc5\x57\x06\x76\x49\xf9\x2d\x3c\x70\x82\xb8\x34\x35\xb4\x5a\x56\x60\x95\x69\xc7\x5d\xbf\xc5\xba\x96\xe1\x2d\x1d\x34\xef\x8c\x3e\x11\xe6\x68\xfa\xc0\x9d\x09\x3d\x28\xd7\x69\xb2\x38\xc4\x10\x66\x4c\xe2\xd0\xf3\xb1\x9c\x23\x19\x83\xcc\x3e\xd8\x23\xbb\x2f\xd9\x7d\x63\x18\x8d\x01\x49\x2b\xa1\xdb\xbb\xc0\xf0\x90\x4a\x2d\x6e\xaf\xc9\x04\xc7\x12\xfd\x8e\x71\xf5\xbb\x00\xd9\xd8\x19\x2f\xe0\x53\x67\x82\x3a\xa8\x95\x6c\x81\x43\x6b\x09\x07\xe1\x00\x61\x6b\xe5\xca\x6f\x1b\x1b\x50\x04\xbe\xbf\xa8\x34\x3a\xac\x67\xc1\xb5\xd5\xbc\xea\x3d\xf6\xa8\x7a\x2d\x54\x0d\x9e\xa6\xac\x5e\x71\xd2\x4b\x86\x4e\xb9\xca\x45\xef\xf7\xa2\x93\x6b\xbe\x86\x08\xb0\x0d\xb5\xa5\x9d\x23\xa7\x56\x80\x20\x37\xdb\x25\x36\xc9\xf3\x6c\x93\xcb\x45\x39\x74\xcd\x96\xc1\x68\x41\xf9\x3d\x1a\xb1\x8f\x5c\xd8\x2b\x58\xda\x3a\x03\x13\x1c\x3d\x1e\x12\x16\x23\x9c\xab\xb9\x41\xdb\xb5\x7e\x85\x85\xa5\x06\x2d\x69\x00\xd9\x78\x28\x0d\x2a\x23\x2c\x62\x57\xf1\xe2\x89\xbb\x51\x8c\x58\xd0\x08\x54\x32\x80\x42\x4f\x50\xaa\xb6\x4d\xd5\x24\x52\xeb\x57\x6d\x6b\xd1\x54\x84\xb5\x56\x82\x75\xf9\x39\x2b\x15\x95\x85\x1a\x0c\x10\xe0\xc4\xa7\xf5\xd5\x39\x77\xd6\x46\xa7\xdf\x69\x7a\xae\x7b\x21\x0e\xac\x46\x61\x4c\x52\x76\x06\x5a\xd2\xf9\xd6\xf1\xda\x12\x6a\xf0\x34\x17\x10\xae\xdb\xd4\xe6\xd7\xd1\x9c\x26\x85\xef\xe2\x9b\x03\x3f\x4c\xdd\x64\x42\x9e\x48\x62\x30\xeb\x23\x01\x91\xf9\xc6\x6a\xf8\x2d\xfa\x3f\xa6\x30\x29\xfa\xc3\x88\x7d\x02\x36\x9c\x24\x0b\x40\xd4\xf4\x2d\x63\x55\x69\xe6\xb1\x71\x00\xca\xa6\x02\xa1\xf2\x40\xcc\x5e\xcf\xf1\x13\x19\x31\xd7\xcc\xff\x41\x8f\xe8\xf7\xe8\x0f\x6d\xea\x9d\x0b\xb0\x7f\x61\x3b\xc7\xc7\x20\x7c\x3d\xb8\xe5\x2c\xa3\xb4\xfc\xc6\x99\x41\x4a\x46\xc8\x06\x64\x0d\x0f\x8c\x4d\xd9\x13\x8f\x6a\x59\x1c\xe1\xa9\xc5\x82\x30\x35\x66\x3c\x26\x63\xd2\xe0\xd2\x5c\xc2\x24\xb4\x10\x70\xc5\x63\xb2\xd2\x21\xe9\x99\xe9\x4f\x60\xba\x91\xf9\xc4\x6f\x07\x24\xf8\xfb\x6c\x6e\x6f\x7d\x28\x53\x5a\xf3\xc8\x3d\xfa\xec\x26\xe3\xde\xd4\x99\xea\xc2\x44\x0f\xe0\x42\xb0\x03\x68\x76\xe8\x25\x58\x39\xf7\x7a\xf5\x38\x56\x1d\x01\xfa\x65\x3d\x73\x7b\x59\x05\xb8\xba\x50\xfb\x44\xd0\x19\xd5\xf2\x7b\x77\x87\x2d\x70\xc2\x4d\xbc\x19\x06\x64\xb4\x93\x3b\xa3\x58\x0a\x07\xb4\x72\xe8\xe9\xaf\x70\x42\x4e\x78\x5e\x15\xe0\xed\x02\x50\x19\xba\xfb\xad\xac\xbe\xd0\x7c\x78\x66\x32\x00\xc9\x9c\x9a\x9c\xfb\xc1\xe9\x05\xd2\xa7\x83\xa7\x06\x98\x0a\x16\x2d\x57\x73\x2e\xe8\xaf\xad\x19\x4a\xed\x32\x7a\xe1\x69\x2d\x12\xba\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\xd2\x99\xd0\x24\x07\x0c\x56\xcd\x66\xa7\x79\x62\x0a\x37\x44\x5c\xc4\xa6\x72\xba\x2c\xa5\x8f\x41\x18\xae\x13\xef\xb1\xf2\x0d\x52\x0b\x55\x69\x4b\x43\x18\x0b\xce\x52\x01\xf4\xaf\x39\xc9\x77\x94\x81\xf7\xa6\x31\xcb\xf7\x78\x26\x8b\x20\x64\xb3\x36\x9a\x37\x17\xeb\xfb\x0f\x3d\x53\x19\xe4\xac\x3a\xcb\xa2\x87\x80\x32\x2a\xb9\x29\x0c\xba\x96\x45\xe7\xd6\x40\xdf\xef\xc0\xa4\xf3\x1a\xf1\x1c\x75\x19\xa9\x81\xfd\x58\xf2\x7b\xf2\x19\x9c\x55\x16\xf1\x42\x76\x12\x57\x43\xa0\x22\x7d\xbc\xa0\xc9\x64\x03\x26\x57\x17\xaa\x97\x46\x45\x17\x06\x14\xcf\xd6\x1a\x92\xa9\x15\x87\xb4\x8b\x67\x41\x01\x21\x6e\x51\xbc\xec\x6b\xe0\xba\xeb\x22\xe4\x31\x5a\x4a\x31\x62\x2d\xc4\x75\xb8\x25\x5c\x34\xf3\xf8\x35\x0c\x10\xb6\xa1\x72\xd7\x75\xbf\x7d\xdb\x89\x30\x2c\x69\x5f\x8f\x44\x1d\x1e\x66\xe5\x61\xf0\x95\x40\xde\xc6\x80\xe8\x45\x9b\xd7\x3b\x19\x9e\x1c\xc7\x11\x8e\xe6\xad\x93\x9a\x70\x9e\x10\xcc\xda\xa4\xd7\xc6\xc7\xd5\x23\x62\xc0\x4d\x81\x75\x27\x09\x20\xfc\xba\x25\xb0\x55\x21\x0b\xf1\x9d\xc5\x80\xcc\x6e\x78\xb8\x89\x0d\x74\x03\x55\x84\x39\xcb\x0f\x65\xb3\x84\x54\xd7\xca\x42\xe8\x1f\xd8\x4e\x92\x28\x4f\x82\xb2\x90\x19\x11\x7a\xd4\x7a\x89\x9f\x08\xd3\x3a\x83\x1d\x87\x73\x66\x3c\xbb\x84\x68\x5f\x0c\xea\xc0\x77\xed\xfc\x69\x90\x75\x18\x8f\x18\x1c\x5c\x5e\x3e\xac\x9a\x56\xa5\x56\x33\x42\xbb\xd4\xc6\xa7\x33\x10\x22\xd6\x3e\x9e\x77\x65\x33\xf1\xda\x67\xd2\xf4\x3d\x86\x18\x83\xad\x5d\x6b\x81\xfb\xa5\x80\x6a\x30\x1b\xeb\xe0\xb8\x5e\xc9\x88\x0c\x51\x1b\xe5\xb0\xd3\x20\x68\xa3\x0d\x0e\xea\x45\xef\x92\xa2\xfc\x85\xbb\x0d\x3a\x0e\x65\xa9\xab\xba\xa3\xe3\x19\xac\x93\xcb\xce\xed\x85\x0d\xd9\x2e\xbb\x6c\x7d\x7e\x4f\x11\xe6\x68\x0b\xbc\x2a\x81\x01\x9d\x00\x72\xca\x7f\x32\x1a\x36\x95\xc6\x02\xe6\xca\x5c\xa4\x99\x5a\xd8\xaa\x68\x70\x2f\x86\x39\xbd\x06\xf1\xad\xc9\x3d\x5c\xbd\x23\xe3\x92\x83\xb8\xa9\x33\xe8\xc8\x9a\x15\x1a\x9b\x74\x0b\x1d\x22\x88\x54\x10\x1b\xda\xa2\x41\x4c\x81\xd9\x31\x4e\x5a\x6d\x59\x3b\x60\x9a\x90\x66\x5b\xa0\x34\x58\xf0\x57\x25\x72\xa2\x79\x17\x4e\x92\xca\xbc\x30\xa4\x43\x2b\x5f\x64\x6e\x52\x54\xc2\xed\xee\xac\x4e\xf0\x84\xac\xe5\x9e\xbe\x30\x1f\x2c\xa5\x22\x78\x05\x22\xbb\xb3\x2c\x59\x74\x8b\x28\x0f\x43\xef\x1a\x41\xd2\x56\x0d\x2c\x84\x56\x5b\x7a\x37\x95\xe1\xc9\x36\x1b\xa2\x24\x51\x2e\xa8\x5a\x8c\xad\xd1\xaf\x3b\xd3\xba\xb3\x5f\x9e\xda\x0f\xbb\x68\xd4\x27\xc8\xf5\xe7\x8c\x8c\x70\x4f\x09\x6a\x2a\xe8\xd8\x29\x74\xd9\x6e\xad\x25\x37\x82\x27\x2d\x5b\x58\x87\xde\xd4\x6d\xa8\xba\x8b\x4d\x87\x67\x2b\x73\x8c\xf9\xd4\xe1\x22\x75\x5f\xd8\x6a\xc9\x92\x35\xac\xa5\x0e\x7e\x39\x13\x94\x0b\x5b\x19\xa4\x4b\x50\x5b\x8a\x3f\x8f\x33\x2c\x70\x92\x90\x84\xca\x74\x73\xdb\xee\x9f\xfe\xb8\x74\xb4\xa7\xa6\x82\x8d\xb4\xf5\xa0\x3e\xd3\x34\x4f\x11\xcb\xd3\x89\x95\x72\xb1\x7c\x0c\xc1\x2f\x5d\xaa\xbe\xc1\x70\x72\x03\x2c\x01\x06\x88\x00\xce\x74\xc4\x02\x60\x6b\x6b\xaa\xc0\xd1\x9c\x92\x27\x80\xdd\x14\x8c\x48\x79\x84\xae\xb8\x22\x27\xe8\x12\x67\xf7\x20\xa8\x99\x92\x92\x33\x63\x1d\xc7\x12\x69\xa9\x35\x67\x54\x1d\x8c\x98\x45\xc3\x76\xab\x72\x1c\x71\x66\x10\x51\x23\x58\x58\xdf\x04\x98\x7b\x1d\x34\xa8\x72\x89\x8d\x54\xb6\x2c\xb6\xc0\xcf\xe3\x20\x7a\x75\x6c\xb2\x03\xd6\xa0\xe3\x5b\xfc\x6c\xe2\xb5\xcf\xb0\xc2\xa6\x5a\xec\x32\xc9\xdd\x06\x44\xd9\x0a\x42\x06\x08\xd8\x05\x8e\x70\x8b\x46\xe1\x6b\x9f\x99\xe8\xd4\xaf\xe9\x11\x39\x42\xdf\x25\x7c\x22\x0f\x90\xf4\xa0\xd9\xf0\x50\x12\x25\x0f\x8c\x83\x0a\xfe\x6d\x52\xc1\xbe\x71\xab\x5f\xf0\x7d\x28\xfb\x37\xa5\x9f\x0d\x08\x86\xfc\xd3\xc9\xf1\x71\xba\x38\x9c\xe4\xd1\x23\x51\xfa\x2f\x90\x29\x1a\x57\xc8\x21\x48\xe1\x26\x3c\xaa\x55\xab\x53\xc7\xb2\xea\x44\x91\x36\xad\x46\x12\xc0\x4d\xd7\x57\xba\x2f\xac\xea\xa0\x8f\x38\x6b\xae\x1a\x69\xa7\x2c\xf2\xb6\xe3\x55\x02\x5c\x7e\x1d\x6d\xc5\x14\x8e\x0d\x71\x9e\xa7\x09\x9e\x55\x54\x96\x35\x94\x94\xeb\x94\x5a\x2a\xd2\x73\x87\x78\x0b\x7d\xca\xca\x51\x66\x5f\x39\x77\x24\xb8\x15\xad\xbb\xe5\x68\xc4\x06\x12\x3d\x13\x53\x0f\x16\x72\x12\xc1\x3b\x91\x53\x39\xf7\x19\x89\x60\x2f\x85\x46\x0d\x1c\xae\x41\x4d\xb0\x8a\xa3\xd3\xac\x9c\xff\xc6\x6a\xa0\x38\x91\xe4\x40\x37\x0c\x90\x68\x2e\x90\x10\x3d\x0b\x9c\x65\x44\x8c\x98\x85\x36\x05\x00\x6f\xce\x6d\x90\x48\x5b\x34\x79\xaf\x51\xbe\xae\x46\x19\x26\x7d\x94\x13\x16\x57\x9d\x6f\xc8\x6f\x5c\x9a\xea\xb1\x24\x37\x50\xcb\xa2\x5d\x23\xbd\xdf\xde\x6c\xdc\x71\xcc\xab\xb4\xf3\x41\x25\x4c\x1f\xca\x4d\xa7\xa0\x40\xca\xa2\xaa\xa6\xb3\xf5\x79\xf5\xbd\x24\xe6\x00\x32\x36\x7c\x1c\x73\x22\x03\x23\x3e\xf2\xb6\xb8\x84\x4e\x89\x96\x3e\x46\x4c\x93\x71\xe8\x70\x30\x00\xdb\x0e\x6f\x5b\x77\x1a\x09\x2e\xa5\x8d\xbc\x37\xed\x2c\xcf\x9f\xda\xa2\x96\x9f\x41\x09\x3f\xbf\xbe\x1a\xd7\xab\xfa\x05\xcf\x5c\x7d\x3f\xfb\xb0\x31\xc9\xbe\xb5\xa9\x95\xd5\xfc\x8a\xb5\x58\xa3\x9e\xdf\xf1\xe9\xc5\xb9\x2f\x62\x55\xe9\xba\x5e\xd0\x2f\x44\x56\x6f\x2f\xe9\x57\x9f\x71\x50\xdc\xaf\xd2\xc4\x92\xf2\x7e\xab\x37\xab\x1c\xef\xbb\x0d\x6c\x5e\x65\xeb\x57\xf2\x87\x32\xcd\xac\x0a\x4b\xdf\xd1\x36\xb5\x5c\x2b\x11\x08\x8c\x2f\xed\x61\x07\xc1\x4b\xbf\x25\x15\x4e\xb3\x30\xe5\xd2\xe1\x86\xda\x69\x9a\xa3\xd6\x76\x09\xbe\x2a\x9e\x79\x84\x4d\x34\x4b\x75\x70\xb5\xad\x58\xcf\xe3\x75\x6f\x61\xd2\x77\x11\xc6\xfc\x7a\x39\xcc\xc9\xa2\x88\xda\x93\x56\x76\x73\x25\xb8\x5b\xec\xfe\x13\xe2\x21\xe1\x5b\x37\x74\xdb\x24\x45\x0f\x1d\x25\x08\x96\x36\x1c\x03\x72\xf9\x2a\x79\x3e\x6b\x98\x87\xfd\x98\x4d\x36\xf0\xa1\x2f\xc2\x10\x5c\x35\xb6\xae\x58\xe4\x0e\x22\x15\x82\x3c\x11\x01\xb4\x63\x63\x7e\x58\xf9\xa8\xe2\x44\x10\x1c\x2f\x82\x15\xf1\x01\x07\xa6\x67\x30\x8f\x49\x9a\x6a\x05\x1e\x54\x13\xc6\x0f\x79\xe6\x74\x96\xd2\x5b\x50\x41\x83\x4e\xf5\x8d\x15\x84\x2b\xe8\x2f\xd8\x21\xf9\x4c\xa5\xd2\x72\x45\x43\xac\xa6\x6b\x04\x24\x1e\xa8\xab\x35\x27\xf6\x86\x1b\x7d\x18\x7c\x77\x7d\x7b\x3f\x3c\x1b\x7d\x28\xa2\xf3\x5d\xfa\x99\x47\x84\x72\x00\xff\x9c\x8d\x98\x0f\xa8\xf5\x00\xc8\xb0\x97\x08\xc7\x71\x81\x6c\x60\x95\x48\x23\xb3\x2d\xe5\xc8\xc1\xa9\x58\x19\x4a\xbb\xa4\x99\x07\xc8\x41\xda\xd7\x93\xb5\xc4\x75\x56\x3a\x39\x26\x93\x6a\x49\xca\xcb\x8e\x2e\x9b\x10\xbb\x55\x19\x5d\x9b\x28\x07\x2e\xc8\xc8\xb3\xd3\x95\xe0\x76\x3e\xc6\xe6\x12\x5e\x8f\xdb\xb9\x0d\xd9\x60\x53\x3f\xd2\xcf\x24\xbe\x6d\x91\xaa\x76\x92\xd1\xd2\x29\x12\xb0\x71\x17\x72\x46\xd7\xd1\xf8\xfd\x54\x1e\xf4\x77\xdd\xd9\xd2\x75\x01\xc9\x56\xc0\xab\x02\xb6\xaa\x42\x18\x45\x44\x28\x4c\x19\x9a\xc2\xc1\x66\xd1\x02\x01\x60\x07\x01\x1f\xf6\x1f\x51\x4a\x19\x20\x07\x2c\x5b\xda\x87\xf2\x3c\xd6\x10\x5a\x2f\xcf\xaf\x1e\xee\x4b\xa2\xea\xf7\xd7\x0f\xe5\xa2\xee\x83\x9f\x97\xca\xaa\x95\x16\x96\x05\x0b\x05\x53\x2c\xb2\x10\x2d\xca\xac\x5f\x99\xc6\x89\x26\x0b\x45\x1e\x6e\x2f\xb6\x92\xef\x9a\x9d\x65\xad\x18\xe1\xa1\x74\xd5\x8c\x88\xd0\xe5\xd3\x98\x44\xab\x50\x4c\xbb\xd3\x91\x89\x82\xd2\xeb\x60\xad\x89\x16\xe1\x0c\x4b\x94\x61\x61\xfd\x50\xb1\x09\x80\x2a\x57\x06\x33\x9a\xd7\x32\x04\x89\x4f\x44\xfd\xa8\xaf\x3e\xce\x76\x91\x05\x61\x45\x59\xf0\x8f\x92\xf1\x93\x69\x78\x8d\x93\x66\x87\xb2\x24\xd5\xc5\x09\xcb\xd0\x03\xb2\x3d\x84\xb8\x0b\x47\xa6\x42\xfc\x40\x37\x07\x2b\xe2\xe2\x09\xb5\x4a\xca\x99\xa6\x48\x03\xa7\xea\x30\x58\x83\xe6\xf8\xd4\x7c\xdc\x11\x91\x2e\x88\x6a\xd7\x6d\x15\x4b\x89\x06\x37\xe7\x0d\x6b\x7d\x51\x75\x21\x7d\x59\xe5\x6c\x12\xef\xcd\xda\x35\x48\x52\x90\x9e\xb8\x17\xa8\x48\x76\xa6\xdb\xc1\x20\x19\xa7\xff\x4d\x39\x92\x60\x1f\xd0\x7a\x9b\x54\x86\x52\xda\xf1\x0a\x60\xde\xf5\x32\xf1\x8a\x65\x58\x13\xf4\x28\x1c\x90\x4d\x03\x09\x81\x7e\xea\x31\xc6\x07\x21\xf0\x0f\x37\x05\x73\x6d\x6c\xc1\xce\xc0\x90\x8a\xd9\x74\x41\x43\xfa\xd1\x50\xb4\x07\xcb\x00\xf8\x0f\x57\x90\xd1\xc5\x06\xdb\xdc\xf5\x70\xba\x21\xb5\xad\x07\xa0\x54\x8c\xcf\x99\xbf\x2d\x16\x35\xce\xb0\xb5\x3b\x80\x12\xe5\x2a\x25\x34\x15\xd6\x3b\x1a\xb1\x20\x60\x45\x1a\xb5\x47\x9f\x11\x57\x9c\x04\x2a\xde\x32\x00\xb6\x86\x24\x1d\x2f\xfc\x94\x76\xa0\x9a\x22\xaf\xe6\xe5\xf2\x22\xb5\x7e\xec\xe9\x94\x73\xec\x12\x11\x9d\x05\xc5\xc6\x01\x86\xf6\x25\x68\x2f\x28\x28\x60\x3b\x06\x73\x34\x18\x2d\x70\x50\xae\x2e\x48\x5e\x8f\x39\x91\xec\x2b\xe5\x53\x3d\x69\x62\x4b\xa2\xe0\xaa\x7b\x40\x4b\x75\x98\xda\x96\x97\x1f\xf0\x1d\xa0\x33\xad\xab\x38\x04\xc7\x6a\xa5\x99\xca\xf9\x78\x81\x12\xc2\x58\x24\xe8\xb4\xcd\xaa\xfe\x39\x23\xd1\x26\x10\x32\x37\x58\xe0\x94\x28\x22\x96\x85\x23\x95\x8b\x49\x83\x88\xe3\x76\xd0\xf6\x6b\x76\xd1\x54\xda\xa8\x96\x64\xf1\xda\xed\xc5\x2a\x48\x18\x3f\x8b\xb5\xd0\xaf\xf4\x34\x7e\xb4\x96\xff\x35\x67\x61\xfb\x29\xa6\x61\xa3\xad\x02\x04\xa0\x6d\xe7\xf4\x3a\x50\x28\xf7\x35\x50\x91\x52\xb8\xd0\x9e\x60\xa0\xac\x1e\x65\x1b\xf8\xc9\x2a\x5e\xba\x13\xde\xed\x32\x1c\x5c\x0a\x6d\xe5\x50\x95\x72\x27\x80\x4a\x40\xa5\x32\x38\x20\xcd\x00\x26\x20\xb4\x34\x45\x48\x06\x6e\x3f\x0b\x6f\x57\x18\x74\xad\x64\x55\x2d\x2e\x55\x59\xae\x15\x3c\x6e\x57\xe0\x0e\xbd\x44\xb3\x6b\x89\x66\x15\x29\x97\xa2\x6b\x35\x75\x12\x51\xc1\x99\xb1\x45\x9f\x2d\x40\x40\x79\x82\x90\x7b\x64\xaf\x48\x5b\x39\x16\xae\x7e\xca\xfc\xbf\xca\x1c\xdc\x11\x75\x48\xaa\x4d\x49\x95\x47\x81\x0b\x0a\x3c\x50\x49\x28\x0d\xd8\xb8\x1a\x18\xad\x09\x83\x34\x56\xfe\xf3\x2b\xe3\xc0\x82\xe4\xe6\x05\xcf\xd1\x33\x95\x73\xa4\xf8\x88\x41\x9c\xa0\xf7\x06\x28\x8e\xcc\x8b\x07\xf0\x16\xc0\x20\xc8\x7c\x92\x52\x85\x70\x30\xc3\x92\x49\xf2\xc0\x9e\x67\xfd\x01\xcc\xb8\x31\xcf\xbe\x09\xa2\x67\xc5\xa1\xd9\xc0\xbe\x56\x34\xb2\x6d\x2a\x7d\x10\xd3\xfc\xb2\xc9\xf4\x81\xc6\x13\x6a\x98\x8d\x67\xae\xcf\xa6\x47\xcd\xd6\x06\x0b\x1a\x0a\xc8\xae\x54\xaa\xca\xdd\x62\x0d\x3d\x2b\x32\xe9\x8b\x8d\xe8\x94\x4a\x5f\xbc\xbe\x8b\x5c\xfa\xb6\x32\x65\xcb\x72\x2b\xdd\x27\x2d\xf6\x6f\x97\xb3\xab\xb8\x0b\x9c\x0f\x25\xa5\x9b\x56\x49\x69\xdf\x50\xcd\x8a\x84\x80\xcd\xc3\xcb\xd7\x51\x07\x8b\xfc\xac\x90\x8a\x82\x74\xcb\x32\x26\x0c\xa9\x72\x7e\xc6\x15\xe4\xd4\x44\x50\xc2\xbd\x96\xe7\x39\x62\xcd\x12\xc8\x72\x9e\xb8\x6d\x8a\xc6\x4e\xd1\xcf\x82\xf3\xe7\x66\x61\x2d\x5a\x3f\xf9\x20\x37\xa3\x2c\xdb\x62\xec\x55\x11\xb3\x70\xf1\xb5\x05\x27\x69\xc1\x63\x93\x84\xe3\x86\x53\xd9\x3c\xf4\x5a\x02\xc5\xca\x73\x61\x2f\xdd\x1d\xaa\x76\x35\xee\xdc\x39\xdf\xc4\xcb\xc8\x96\x1b\xdb\x80\xe9\xd8\xeb\xf1\x15\x57\xed\x26\x55\x66\x01\x55\x74\x67\x58\xa8\x55\x78\x02\xdd\xf8\x01\xb8\x77\xed\xd8\xb1\x09\x75\xf1\x08\xdd\x95\x3d\x29\xcd\xd8\x56\xef\x7f\x89\x59\xaf\x5b\x1a\x38\xf0\x37\x0a\x1b\xef\x4b\x43\xcb\x01\xd4\x04\xb6\x61\x92\x15\x4e\xec\x85\xbb\x9c\xc5\x44\x30\x82\xd5\xfc\xf5\xb2\x2c\x4e\xb7\x35\x4f\x07\xe3\x7b\xd9\x8c\x8b\xd3\x9d\xd4\x85\x0f\x87\x5b\xae\x91\xbe\x72\x9c\xfa\xf5\x2e\x96\x22\x1b\x7c\xe0\xab\x04\xd7\x54\xc7\x06\xb3\x61\x00\x42\xb3\x0e\x95\x6e\x95\x88\xd1\xac\xce\xbd\x4c\x4a\x4a\x83\xdd\xa7\x96\x8c\xa2\x4f\x7b\x58\x5b\x79\xc5\x92\x7c\x11\xb9\x1f\x2f\x9f\x8e\xb0\xac\x8a\x73\x1e\x64\x28\x40\x29\x6d\x85\x29\xb3\xdc\x6b\x59\x52\x82\x96\x29\x53\xdc\x94\x87\xb0\xf7\x19\x2e\x5f\x7c\x82\x4b\x9f\xee\xd0\xa7\x3b\x34\xec\x51\x9f\xee\x80\xd0\xbe\xa5\x3b\xac\x52\x41\x97\x19\x40\xbd\x4f\x0e\xaa\x6d\x96\x4a\xdc\x98\xfd\x5d\xa1\x47\x6e\x1e\xd2\xef\x6c\x88\x61\x3c\x94\xfd\xc5\xfe\xd0\x18\x12\x55\xfb\xac\x3a\xdb\xd0\x9e\xc9\x16\x55\xb7\x00\x16\x71\x62\x71\xe8\x6c\xc0\x72\xd9\xfe\xb4\xcc\x54\x3a\x62\xdf\xf3\x67\xf2\x44\xc4\x01\xc2\x0a\xa5\x5c\x2a\xe0\xc3\x2e\x3e\x06\x0e\x42\x09\xd2\xdc\xc4\x41\x60\x74\x85\x53\x12\x9b\x8a\x87\x41\x58\xa3\x35\xd8\x5a\x57\x6b\x13\xdc\x2a\x20\x87\x9a\x6d\x70\x71\x13\x23\x66\x42\x0d\x4d\x78\x1b\xc8\x0a\xd4\x4d\x0c\x08\xe6\x77\xde\x11\xfc\xbb\x23\x74\xaf\xef\x27\x2a\xcb\xe3\x0d\xd0\xd7\xda\xc6\x36\x62\x33\xc1\xf3\xcc\xdb\xd0\xf8\xc4\x94\xbe\x35\xd1\x4f\x75\x47\x30\x0c\xc6\x79\x81\x23\x1c\x6b\x5d\x7c\x39\xe1\xbc\x49\x14\xea\x46\x10\x46\x21\x01\xe9\x63\xe8\x43\xeb\x6c\xa8\xbb\xf1\xdf\x06\xc0\x2d\xcb\x80\xd8\x5f\xc8\xb9\x7c\x46\x24\x58\x85\xbc\xd5\xbd\x94\x47\x5e\xc6\x2a\x68\x1c\xe7\x32\x9b\xa8\xf7\x5b\x38\xdb\x7e\x33\x0c\x42\xd1\xb9\x8d\xf9\x32\x49\xaa\xf6\x9e\x78\x31\x6b\x69\xe7\xe8\xd9\x36\x7e\x71\x93\x8b\x8c\x83\x24\x96\x2c\x1c\x6c\x83\x45\x7a\xcb\x78\x96\x9b\xb8\x36\x1a\x86\x39\x35\x52\x36\x95\xea\x12\xab\x68\xae\x39\x77\x81\x78\xb6\xa3\x78\xbf\x82\x2b\xbf\xac\x05\xb5\x61\x06\xa7\x61\xef\x2d\x2e\x85\x0e\x16\x75\x73\xef\xbb\xf0\x7a\x27\x49\xa4\xba\x3f\xe3\x76\xb3\x05\xad\x03\xbb\xa8\xfb\xc4\x3e\xd1\x13\x5d\x45\x45\xab\xc6\xdf\x8d\xb6\xca\x15\xb7\x76\x1e\x49\xb8\x05\x84\xcc\x99\x05\xec\x2a\x5e\xb4\x15\x5a\x5b\xdc\xff\x82\x6e\x96\x05\x64\x51\xf2\x9f\xb4\x38\xe2\x2d\xae\x29\xce\xb4\x12\xa1\xb8\xbe\x25\xc5\xcc\xc8\xb1\x26\x4e\x16\x61\x94\x0b\xea\xce\x7e\x25\x27\xbc\x9d\x3a\xc0\x42\x79\x1c\x56\x54\x8a\x70\x50\x6c\xce\x38\xfc\x71\xa4\x72\xec\x03\x13\x81\x26\x5c\x11\x74\x93\xff\xee\x1c\xeb\xc2\x89\x77\x0d\x7b\xba\x92\xb0\xb7\xd8\x65\xdc\x84\x6f\xd8\xe9\xa4\x51\x36\x0b\xc0\x11\x9b\xad\xc4\x5d\x6a\x1f\x34\x7e\xd9\xad\x7e\x43\xe3\xa7\x4e\xf6\xd9\xe4\xdb\x25\xe0\x4d\x1b\xc7\x66\x97\xe2\xdc\x6d\x20\xac\x95\x9e\x42\xd8\x4a\x6b\xbf\x03\xf4\x59\x0a\x8e\x7a\x6c\xa5\xa9\xff\xf2\x7f\x99\x5a\x59\x66\x69\xfe\x0b\x71\x31\x62\xe6\xf7\x03\x5f\xa7\x42\xbf\x50\x00\xc0\xe2\x94\x14\x10\x99\xa2\x0c\xa6\x07\x90\x22\x16\x0c\xcd\x80\xfd\x7a\x98\x7e\x3d\x86\xc7\x7c\x42\x04\x23\x7a\x68\x0e\x7c\xc0\x33\xb3\x14\x33\x3c\x03\x68\xe1\x03\x88\x8c\x03\x71\xb5\x50\x45\x0c\x49\x9b\x7a\x87\xc0\xad\x34\xb3\xb4\xf9\xb6\x45\xdd\x5f\xe8\xd3\x88\xb2\x16\xd9\xb4\x08\xaf\x68\xa6\xfe\x5b\xdb\xff\x66\x12\xfb\xfd\xe0\xee\x87\xf1\xed\xf0\xee\xfa\xe1\xf6\xb4\x24\xb6\x9f\x5e\x3c\xdc\xdd\x0f\x6f\x1b\x9f\x15\xb9\xaa\x7f\x7d\x18\x3e\xb4\x3c\x72\x0d\x5c\x0c\xbe\x1b\x96\x8a\x68\xff\xf5\x61\x70\x71\x7e\xff\xf3\xf8\xfa\xe3\xf8\x6e\x78\xfb\xe3\xf9\xe9\x70\x7c\x77\x33\x3c\x3d\xff\x78\x7e\x3a\xd0\x5f\x86\xef\xde\x5c\x3c\x7c\x3a\xbf\x1a\xbb\xb0\xe3\xf0\xd1\x4f\xd7\xb7\x3f\x7c\xbc\xb8\xfe\x69\x1c\x74\x79\x7d\xf5\xf1\xfc\x53\xd3\x2c\x06\x77\x77\xe7\x9f\xae\x2e\x87\x57\xcb\x8b\x75\x37\xaf\x46\x6b\x1d\xe0\xe0\x22\x0b\x8c\x46\x81\x98\x34\x59\x58\xd2\xa6\xbf\x82\xef\xe2\xc6\xd0\xe3\xe1\x81\xfb\xcb\x94\xd6\x3e\xd4\x2c\xd0\xf9\xc5\x0a\xee\x31\x62\xde\x71\xe9\x2f\x55\x85\x67\xd2\xa5\x1e\x97\x46\x7b\x82\x06\x70\x56\x40\x61\x28\x75\x0a\x99\x0d\x7e\xa4\xce\xd5\x0d\x74\x98\xd0\x94\x82\xd7\x1b\x1d\xa2\xea\x86\x97\x1b\xb4\x73\x82\x21\x58\xbf\x5d\xbc\xec\x34\xc8\x6a\x56\x33\x50\xca\x09\x72\x1c\x9a\x18\x73\x82\xc1\x9e\x5d\x30\x9c\xd2\xa8\x9a\x82\x01\xf0\xab\xa8\x80\x1a\xa9\xb6\x58\x22\xb0\x72\xcb\x73\x82\x7e\xf8\x4b\x31\x28\xf0\x60\x58\xcd\x3b\xaf\x55\xd4\xb3\x0f\x44\x6e\x56\x75\x15\x79\x96\x7a\x72\xc7\xdc\x9a\x96\xe1\xdc\xda\xca\xdd\xe0\x6e\xca\x59\x00\x37\x56\xf2\x3d\xe9\xe3\x6d\x66\x54\xa1\xf1\x13\x74\x07\x50\x27\xb2\x50\xdd\xf5\x2e\x66\x49\x3e\xa3\x0c\xd1\x34\x4b\x48\x51\xf3\x7d\x42\xe6\xf8\x89\x72\x57\xbe\xc2\x54\xf9\x80\x75\xb4\xa2\x15\x3a\x44\xad\x07\xe5\x04\x0d\xe2\x58\x96\x19\x5c\x89\x72\x1c\xcb\x3c\x2c\x0f\x3b\x44\x08\x63\xb1\x67\x9b\x15\x3a\x2a\x8e\x1c\xac\xd8\xee\xc1\x5c\xea\xec\xb0\x7c\xf7\x6e\x71\xfd\xeb\x15\x1c\x3b\x52\x1e\x6f\x24\x0c\xdc\x63\xf9\xe8\x58\xf3\x2a\x81\xc0\xc1\xea\x6c\xd7\xa3\xc5\xd7\xe9\xda\xa9\x5f\xd9\x31\x1c\xb4\xcd\xfa\x6c\x45\x85\x5e\xd1\xa5\x9b\x71\x52\x29\xdd\xd5\xb9\xbf\x52\xe9\xaf\xc6\xce\x76\xea\xed\x69\x96\xc6\xe0\x48\x8e\x3d\xfd\xaf\x31\x8f\x1b\xf8\xf4\xda\x7f\xb9\x54\x64\x1b\x07\xeb\xb6\xae\x0f\xa8\x96\xa4\x6b\xfd\x40\x4b\xe9\x70\x47\xf0\x4e\xdd\x85\x41\x28\xbc\x40\x23\x70\xf7\x61\xca\x6c\x39\x1e\xe2\xfd\x51\xae\x00\xb5\x3e\xc7\xbe\x44\x1c\x9e\xf0\xa7\x92\x72\x99\x12\x29\x71\x0b\x60\x49\x60\x12\xdb\x86\x31\xf8\x13\x6a\x3f\xec\x48\x4f\xee\x4c\xde\xeb\xaf\x96\x19\x7d\x6e\x43\xcd\xd8\x4d\x54\x0b\xac\xb1\x8b\xb4\x45\xd7\x26\xdf\x4e\xf3\x97\x83\x22\x98\x86\x8b\x20\xc6\xa8\xcd\xfd\xd3\xd1\xac\x56\x5d\xb0\xc6\x2a\x4b\xa1\x0b\x6f\xfd\x18\x9c\xa0\xf5\x8d\x11\xb1\xad\x5f\x05\x97\xd7\x67\x0d\xaa\x2b\xf9\x3b\xc3\x0a\xd4\x11\x4f\x53\x23\x17\x94\x6c\xa9\x07\x08\x9b\x34\xc7\x42\x9a\x92\x79\x34\x37\x5e\x26\x7d\x65\x1c\x8c\xd8\x73\xb0\x21\xa5\x40\xe0\x41\xd8\x12\xa0\x89\x7e\xd6\xc7\x8d\x3e\x95\xc2\xab\x41\x64\xa4\x10\xeb\x1b\x10\x82\x71\x08\x16\xe5\xa3\x56\x10\x78\xb0\x5f\x5b\x90\xfa\x06\xb5\x02\x2b\xeb\xdb\x56\x31\xd0\xcf\x2d\x28\xd4\xb7\x85\xa6\xdc\x75\x08\x41\xad\xc0\xa6\x11\xec\xa0\x54\xe0\xab\xc2\x7b\xfb\x74\x4d\x93\xdd\x9b\x4e\x2c\x46\x85\x9e\xae\x5b\xed\xdf\xbb\x19\xfd\xde\xf8\x1d\xf2\x16\x50\x93\xa0\x35\x8f\xf0\x8d\x0e\xb5\xcc\xea\x92\xed\x6d\x20\x86\x44\x87\x06\x35\xf0\x2b\x88\xb4\x1c\xdc\x9c\x7f\x75\x80\xbe\x0a\xb3\xcd\xbe\xda\xe8\x00\xda\x71\xdb\x72\x81\xa0\x4d\x95\x52\x0e\xca\xc7\x0e\xf6\xaa\x72\x12\xed\x9e\xd9\x83\x88\xda\xce\xa1\xfe\xb2\xf4\x0d\x38\xa7\xa1\xfc\x9d\xf1\xdf\xfa\x80\x67\xeb\x02\x32\x32\x2e\x95\x0d\x6b\x17\x8f\xd8\x64\x51\x75\xf2\x1c\x78\x2f\x4f\xe7\x53\xba\x75\x49\x37\xdd\x5e\x3d\x3d\x79\xc7\x81\xb8\xcb\xef\x83\x15\x09\xcf\x03\x13\x73\xcd\xa7\x01\x17\x6b\x8b\x52\xe8\x23\xd8\x9b\x66\x55\xb2\x97\xb9\xc5\x6c\xdc\x94\x55\xf2\xcf\x7b\x23\xb7\x0e\x61\xdf\x83\xa6\x15\xb1\x11\xff\x2d\xc2\x75\x4f\x65\x2f\x4b\x65\xbb\xc8\x78\x28\x0f\x6e\xfd\x0b\xf4\xd4\xc8\x71\x41\x33\xce\xe0\xaa\x95\x09\xcf\xe0\x4b\x75\xff\x56\x17\xcc\x5d\xd3\xe7\x1b\xac\xc9\x6a\xa7\xef\x9d\x09\x1c\x30\x6e\xd7\xfa\x58\xab\x43\x1d\x28\x5b\x84\x88\x53\x93\xdd\xa8\x68\x4a\x0e\x10\x67\xc9\x22\x08\x76\xb0\xe7\x15\xc8\xcd\xc4\x28\xcd\x09\x15\xae\x13\x8b\x31\xb8\x56\x3a\xfc\x9a\xd2\x78\x1b\x8d\x6c\x11\x69\x72\x35\xb8\x1c\x9e\x8d\x87\x57\xf7\xe7\xf7\x3f\x37\xe0\x47\x96\x1f\x3b\x08\xc9\xe0\x85\xbb\x9f\xef\xee\x87\x97\xe3\x4f\xc3\xab\xe1\xed\xe0\x7e\x05\xbc\xe4\xb2\xce\xda\xa0\x0b\x73\xd9\xa4\xbe\xad\x03\x5f\xe8\xcc\xbc\x0d\xbd\xd7\x41\x26\x83\x4e\x28\x69\x01\x9a\x34\xa9\xff\x2c\x26\x02\xc5\xe4\x89\x24\x3c\x2b\xcc\xaa\x8d\x0b\x16\x20\x50\x36\xb4\xbf\x0c\x85\x12\xda\xac\xae\xf1\x09\x32\xb5\xde\x82\x72\xb7\xbe\x41\x10\xf9\xb0\x20\xec\x2b\x85\xc8\xe7\x2c\xa1\x11\x55\x41\x6a\x20\x17\xd6\xbd\x62\xdc\x87\x10\x9d\xba\x82\xb8\x76\x16\x8d\xb2\x73\x9d\x3f\xf4\xa4\xd7\xb5\x7d\x7f\xa2\x3c\x22\xda\xca\x02\x42\x3b\x50\xec\x5b\x9c\xc6\x35\xc0\xb6\x0d\x46\xf7\x12\xe6\x81\x7a\x8e\x8e\x4d\xef\x6b\x01\x73\x6b\x1e\xe4\xea\xdb\x70\x59\x9c\x4c\xe9\x5c\x2f\x0f\x94\xe9\x46\xa9\x6f\x1c\xee\x52\x2a\xac\xb9\x03\xe4\x0d\x1b\xbb\xbe\x66\xc0\x42\xad\x5e\x0c\x33\x31\xa7\x18\x09\x92\x72\xa5\x15\x30\x13\x11\x70\xa0\x85\x2a\x8a\x13\xfa\x2b\x60\x54\x09\x72\x14\x44\x50\x38\x64\xaf\xc2\x7d\x60\xf1\x23\x8e\x46\xec\x6c\x78\x73\x3b\x3c\xd5\x0c\xe9\x08\x3d\x48\x80\x9f\x2a\x4d\xfd\xcc\x92\xb7\x11\xc7\xc2\x48\x06\xca\xa4\x22\xb8\x2d\x18\x8c\x08\xc1\x45\x77\xfe\xe0\xfb\x1b\xc2\x77\xcd\xe4\x0d\xcf\x4a\xb6\x29\x67\x00\xb8\x6a\xad\x8a\x1c\xe4\x0c\xec\x3c\x27\xeb\x16\x3f\x97\x56\x24\x84\xdf\x00\x49\xa4\xbc\xea\x2f\xb8\xda\x00\xe0\xd9\x7d\x7e\xa5\x3e\x6f\xe0\xdb\x65\xf3\xbc\x87\x10\x3b\xa9\x0a\x34\x50\x03\x18\xea\xab\xde\x54\xe6\xd9\x2a\x2a\x8a\xb7\x80\xea\xa8\x90\xfe\x84\xcc\x30\x43\x22\x67\xac\x02\x0f\x1b\x5a\xda\xea\x41\x33\xeb\x1e\x55\xbd\x66\x38\xe5\x39\x03\xa5\x01\xc2\x58\x1b\x06\x23\x33\xc2\xd4\x8a\xc1\xbc\x15\x10\x4b\x65\xa8\xfb\x8b\xc5\xd2\x30\xd0\x36\x38\x96\x26\x7f\x12\x94\x5e\x5e\xef\x5a\x76\x41\x79\x25\xa7\x92\x3e\x54\xfe\x7e\x6e\xd6\xb2\xb1\x7c\xdc\xba\xbb\x7b\x2c\x1f\x57\x77\x15\x93\xe8\x71\xdd\xcb\xa6\x9a\x99\x99\xd8\xca\xd5\x35\x63\xdf\x42\x3f\xb5\xa5\x59\xa0\x60\x79\xf4\x88\xbe\xbf\xbf\xbc\x40\x53\xaa\xe5\x5e\x7d\xad\x5c\x61\x2d\x63\x3f\x88\xc4\xd9\x85\xad\x6d\x35\x17\x89\xbf\x7b\x61\xe3\x9d\x28\x15\x48\x09\xfa\x46\xc3\x33\xe2\x8c\xbd\xc2\xa2\xed\x55\x4a\xb3\x08\xcc\x62\x9e\x9a\x79\x1c\xcb\x7c\x3a\xa5\x9f\x8f\x14\x16\xdf\xb4\xac\x87\x89\xaa\x18\xff\x9d\x4f\xc6\x7a\x44\x5b\x5e\xc4\x4d\xcd\x21\x5b\x50\xd9\x2f\x9b\x9d\xd9\x99\x79\xf7\xff\xf2\x09\x64\xbb\x67\x82\x03\x02\x20\x78\xe7\x6c\xa4\x82\x7d\xc5\x51\xd2\x11\x72\x09\x54\x25\x90\x93\x88\x0b\x41\x6c\x92\xbc\xa9\x2d\x9a\x61\xa1\x28\x58\x6b\x1d\x48\x4a\x09\x1d\xbf\xd8\xa2\xb0\xe4\xf7\x1c\x17\x48\xd4\x13\x42\xc0\xc1\x93\xd1\x64\x3d\xa5\xf7\xb4\xe4\x9b\xac\x9c\x40\x1b\x79\x6a\x71\x33\xc1\x20\xb3\x52\xc4\x1a\x3e\x11\xa6\x76\xa2\x9f\x40\x13\x0d\x69\xfb\xdd\xbc\x0c\xa6\xc4\xe7\xf9\x59\x71\xb9\xb9\x90\xde\x30\xaa\x49\x09\x0c\xf7\xbc\x4d\x94\xb2\x2e\xf5\x36\x47\xff\x53\x67\xdf\x31\xbc\x5a\x5f\x97\x15\xa1\xf1\x76\xb5\x8b\x52\xdf\x45\x58\xab\x83\xf6\xdf\x10\xc8\x47\x12\x63\xc5\x08\x00\x24\xac\x72\x5a\xdd\x73\xd3\xa7\xa6\xad\x4a\x97\x2b\xb7\x7c\x03\xd4\x9a\x52\x33\x9f\x08\xa4\x74\xee\x22\x10\x7d\x9d\xdc\x7d\x18\xc8\x83\x48\x20\x84\x7a\xa9\x15\xcb\x94\x19\xd7\x9c\xcf\x4b\x76\xb8\x83\x8c\x6e\x06\xa3\x85\x46\x92\x09\x12\xe9\xab\xec\x04\xdd\x24\x44\x4b\x5e\xb9\x96\xbe\xf2\x24\x71\x08\x5f\xcb\xa5\xc3\xb5\x50\xe9\x5e\x7c\x5e\x81\xee\xb1\x64\x62\x0e\xe1\x6e\xf9\xcc\x82\x35\xd8\x3d\xe2\x42\xb0\xbe\x60\x42\x06\x43\x62\x59\x8b\x04\x0e\xbf\x30\x71\xb3\x60\x4a\xc2\xa5\x8b\x8c\xfe\xaa\xd9\xaf\x20\x72\xce\x5b\x93\x1c\xc3\xd9\xbe\xcc\x1c\xdc\x52\xbe\xe0\x24\xdc\x7d\xd8\x16\x57\xdd\x41\xae\xa9\xdc\x81\x25\x11\x67\xd9\x14\x7d\xf5\x07\x1f\xfd\x61\xf1\x56\xed\xdd\x6a\x87\x06\xb7\x64\x61\x6a\x0b\xb1\xcf\x0a\xd7\x45\xa1\xcc\x2c\x8c\xef\xd5\x7f\x5e\x18\x90\x8b\x94\x00\xaa\x64\x51\x75\x0e\xe9\xbb\xb6\x6d\x8b\xf5\x3c\xc7\xb9\x58\x0b\x92\xa2\x40\x2d\x5f\x87\x73\xdb\x64\x94\x62\x58\x7a\x11\x9a\xd9\xa5\x2d\x26\x01\x62\xb4\x0d\x35\x92\x25\x24\x38\x4b\x36\x66\x19\x1b\x55\xbc\x76\xa6\xbc\xad\x5b\x0d\xa4\xe4\x42\x94\x79\x29\xef\x5a\x89\x02\x4b\x13\xe8\xb1\xc5\xd6\xc7\x16\xb3\x95\x45\x3c\xed\x01\x12\xa0\x12\x90\xf8\x5f\x38\xd0\xaa\x82\x83\x35\x7a\xaf\xca\x7c\x2a\xed\x4e\xa7\x34\xa7\xd2\x17\x9a\x97\x9c\x6d\xe9\x81\xd3\x93\x59\x8c\x21\x71\x74\x9b\x28\x9c\xd2\xfc\x8d\xf7\x00\xda\x24\x31\x32\xe8\x05\x06\xf9\xd8\xae\x9d\xf7\x9c\x64\x58\x10\xa6\x46\xec\x56\x8f\xc2\x7c\x51\x44\x62\xb8\x38\x1c\x87\x46\x0f\x35\x6b\xa7\x08\xdb\xaf\x60\xd1\xdb\x02\xe1\xe4\xd8\xbc\x04\xaa\xe9\x0b\x26\xd9\x7f\x67\xde\x31\x98\x07\x16\xf3\x47\x4f\x95\x4e\x0b\x35\x5e\x0b\x90\xd1\x9c\x02\xe4\x40\x4c\xa4\xbd\x90\xa8\xb2\x98\x12\x5e\xfc\xce\x89\xc3\x5f\x86\xcf\x3c\xff\x6a\x62\xd8\xce\x50\xc0\x9c\x81\x4e\x8e\x58\xd0\xc7\x12\xb8\x4e\xa3\xac\x6f\xa8\x4a\xc0\x3e\xd3\xd8\x3b\xbe\xe0\x9f\x66\x87\xb8\xa0\x33\xca\x82\xa2\x49\x76\x7a\x29\xce\xc0\xbc\x6b\xce\x20\x9f\xfa\x3b\xed\xde\x66\x19\x1c\xc1\x88\xff\xe7\xbf\xff\x76\x44\xdb\xbc\x1f\x72\x6c\x57\x60\x1f\x76\x72\xbd\x6d\x09\x77\x3e\x40\x11\x69\x41\xa7\x08\x74\x5a\x59\xca\x9c\x28\x7e\xb5\x97\x9b\x26\x1a\xae\xe6\xc6\xdd\x5b\x26\x77\xf0\x8d\x88\x7c\xc9\xd9\x30\x57\xcc\xdb\xae\x25\x95\x90\x1d\xa0\x47\x62\x4e\xb2\x37\x10\x84\x05\xc9\x6b\x66\x9a\x11\x2b\x3e\x91\x06\x0f\xc5\xc0\xbb\x9a\x1f\x8a\xd5\xe9\xb8\x30\xcb\x78\x7f\x11\x29\x51\xb8\xc3\x83\x68\x64\x57\x3e\xc3\x44\x91\xea\xf6\x2b\x37\x6d\x85\x73\x07\x38\x87\xdb\x44\x6d\xce\xb1\x7c\xb9\xd0\x9c\xc6\xb2\x4f\xc6\x9a\x1e\x0a\x0f\xab\x82\x74\xcc\x20\x4d\xb6\xa7\xde\x90\x5c\x12\x61\x38\x9d\x87\xc3\xb2\x94\x10\xa2\x38\x42\x8c\xe6\x0a\x5f\x23\x49\x31\x5d\x2b\x9f\x40\xbf\xdf\x8c\x31\x59\x72\x36\xe0\x19\x11\xe3\x38\x57\xb5\x63\xb1\x2c\xc6\x5f\x7f\x74\x96\xab\xc5\xea\xf6\x65\x82\xeb\x65\x6f\x96\xe1\x7a\xea\xf7\x5b\x9a\x5d\x2d\x31\x07\x21\x3e\x65\xa9\xb9\x05\x35\x93\x54\x50\x33\x6d\xcc\x69\xc9\x44\x02\x37\x30\x53\x00\xa9\x57\x68\x52\xf6\x8a\x36\xd8\xde\x30\x72\x34\xc9\x0b\x93\x92\xaf\x96\x10\x1f\x8d\xd8\x47\x53\x6e\x04\xb4\x3c\x33\x80\x08\x12\x7e\xc8\xe7\x8c\x4b\x52\xca\x40\x6b\xa8\x80\x60\x33\x48\xed\x30\x9a\x85\xf5\xe2\xa3\xed\x65\xf5\x37\xc7\x3f\xad\x6f\x78\x7d\xca\xcd\x14\xb8\x95\x38\x18\xd1\x8c\x6a\xda\x19\x37\x9e\xb4\x97\xab\xc2\x5b\xc4\x74\x01\x0e\x96\x4a\x16\x07\xc8\x4f\xaf\x42\x10\x09\x79\x22\x60\x4e\x87\x31\x86\x75\x2e\xca\x76\xbd\x16\x76\xb2\xea\x00\x15\xe9\x9f\xc0\x16\x50\x5c\x1d\x41\x39\x49\xae\x89\x16\xcb\xe9\x3f\x5b\x67\xaa\x35\x05\xa6\xac\x21\x9e\x0f\xc2\x7a\x1f\x0b\xa2\x10\xf9\xac\x88\xad\x08\x7a\xef\x72\x09\xeb\xe9\x07\xa8\x39\x1d\xaa\x5d\x76\x7c\xf1\xda\xcc\x03\x97\x41\xee\x92\x25\x63\x77\xe5\xdb\xe4\xc1\x39\x66\xb1\xcd\x88\xb5\x4a\x86\x16\xb6\x60\x76\xc6\xe8\xe6\x73\x05\x6c\x5e\x67\x00\x94\x6e\xda\x34\x88\xee\x70\x91\x39\x85\x51\xab\x2c\x10\x5e\xc1\x85\x96\xdc\x73\xa6\x68\xa2\x89\xc3\x8e\x41\xa2\x29\x44\xc6\x59\xa0\x42\x88\x6c\x6f\xc3\xc2\xa3\x52\x52\x36\x1b\xdb\x95\x74\xc9\x9d\xdd\x2e\x86\x32\x4d\x5d\x9a\xa6\xcc\x8f\xdf\xb9\x86\x96\x1b\xd5\x0d\x59\x03\x4e\x99\x4b\x2b\x05\x8d\x83\x71\x37\x19\x0b\x30\xe7\xb2\x51\xc7\x34\x36\x4b\x41\x4d\xe1\x69\x98\xe8\x3a\x76\x77\x90\xe9\xea\x38\x0e\xc5\x15\x22\x6d\xaa\xa8\x49\x00\x83\x48\x7d\xd5\x92\x0b\x2b\x5b\x73\x60\xcf\x99\x17\xd1\x6c\xd9\x2b\x9f\xe9\x5f\x49\xa7\xc5\xae\x3b\x9b\x8e\x80\x93\x64\x82\xa3\x47\xaf\x85\x79\x5b\x04\x17\xae\x6c\x80\x96\x2b\xa1\x2e\x9a\x21\x2e\x3d\xd0\x08\xa4\x9b\xd0\x5b\x68\x90\x7c\xec\xb0\x8b\xce\xcd\xaa\x59\x88\x34\x03\xdd\x64\x46\x6f\x72\x1b\x62\x92\x25\x7c\x91\xb6\xdc\x67\xd5\x14\xc2\x6d\x22\x75\xda\x32\x18\x77\x7a\x95\x55\x98\xde\xda\x97\x59\x2d\x1f\x69\x07\xb8\x52\x6b\x70\xc9\x4f\x09\x9f\x80\x49\xd5\x9a\x1f\x5c\x8e\x4d\x90\xea\x51\x3d\xcf\xeb\x66\xfe\x54\x4f\x24\x95\x59\xa2\x95\x99\xf6\x1e\x4c\xce\xc9\xcb\xee\x9b\xc1\x28\x58\x6d\x1d\xec\x1e\xad\xdd\xf8\xf9\x4b\x20\x18\x5f\x38\x49\xc0\xbc\x6b\xf8\x57\xc5\xca\x66\x92\xfd\x8e\x8c\x93\x5a\xf1\x11\x53\x78\xe6\x36\xd7\x0a\x97\xfc\x99\x11\x21\xe7\x34\x2b\xd5\x4b\xdc\x3a\x3c\xdc\x52\xb4\xfd\x8f\x09\x86\x5e\x83\x77\xf2\xec\xd0\x20\x94\x68\xfa\x90\x19\x8e\x0a\xab\x68\x94\x60\x29\xe9\x74\x11\x00\x8b\xf8\x48\x5b\x48\xdf\x2a\x9b\x11\x82\x12\x65\x4d\x8c\xc6\x8c\x6f\x37\x99\xf5\xdb\x67\x15\x3e\x94\x8f\x1f\x8d\x43\x04\x37\x7d\x9f\xd4\x51\x64\xdc\x4d\x6d\xd1\x64\x5a\x91\x68\x0d\x84\xc0\x66\x99\xf0\x4b\xc1\x7f\xda\xcd\x08\x85\x30\x69\x87\x6d\x15\x19\x0f\xf8\x11\x82\xe1\xa8\x52\x2a\x25\x6c\xbe\x56\x9c\x9c\x5d\x58\x13\xa7\x07\x0b\x01\x4c\x85\xe2\xe3\x03\x24\xb7\x02\xd9\xea\x42\x17\x67\x24\x21\x3b\x89\xb8\xde\x80\x48\xaa\xe1\x0c\x01\x79\x2c\x25\x8d\xa2\xcc\xc0\x6a\xe3\xc2\x06\x81\xe0\x2d\x50\x3d\xcd\x43\xff\xc9\x0c\xd4\xc6\x82\x37\xed\x22\x18\x06\x61\x95\xbb\xea\x2e\x4d\x98\x7f\xa6\x05\x4b\x72\x45\x37\x25\xba\x2a\x3a\xf5\xf2\xca\x3e\x92\xda\x1b\x87\x4c\xd7\xc6\xf5\x89\x74\x09\xef\x58\x79\x00\x36\xe2\x40\x75\x3e\xdd\x8d\x2e\xac\x03\x55\x71\x34\x23\xca\x54\xff\x8f\xe9\x13\x8d\x73\x9c\xbc\x2b\x9a\xd8\x59\xc2\xc7\x8e\x56\xbf\xf9\x90\xaf\x77\x6a\xef\x88\x92\xee\x4a\xa8\xc1\x28\xda\xcd\xd9\xc3\x2d\xd8\x8f\x63\x69\x04\xd7\x2f\x5e\x6e\xd9\x1a\x24\xc1\x8e\xcc\x42\x05\xfc\x86\x04\x2a\x33\xc7\xd8\x7e\xe1\x61\x01\x4a\x80\x58\xb8\x04\x22\x68\xd6\xe8\xed\xb9\x5e\x95\xb4\xbf\x74\xd1\x6b\x7d\x1a\xaf\x8e\xaa\xa0\xee\x5e\x1e\x5c\x4f\x1e\x74\x20\x9b\x7b\x78\xf9\xb7\x1d\x83\xfd\xbc\x7f\xf6\x40\x38\xac\x5d\x89\xbb\x13\x11\xdf\x11\x99\xec\x85\xa4\x58\xdb\x8a\xd7\x92\x17\x0f\x1d\xca\x51\x81\x19\xb4\xbf\x5b\xb4\x1f\x27\xf9\xd6\xba\x81\x5e\xee\x82\x5d\x4d\x2f\x3b\xa1\x0f\x00\xfc\xc4\x90\x17\x9d\xdb\x0a\x22\x70\x78\x83\x58\xba\x9a\xef\x61\x45\x94\xa2\x1d\x5e\xa7\xf8\xc4\xda\x72\xbe\xc4\xf6\xda\x24\xb8\xce\x9b\xfb\x92\xa4\xb6\xee\x58\x76\xa1\xa3\xbc\xb0\x17\xc7\x52\x63\xf0\x41\x1f\x2c\xdc\xed\x16\x6d\x80\xd6\x71\x5b\xb6\xcb\x43\xd6\x54\xf6\x6d\xfb\x34\x7e\x97\xe3\x37\xce\x04\x99\xd2\xcf\x1b\x89\xe2\x37\xf0\xa9\x55\x2f\xf5\x32\x57\x0a\xc9\x81\x7b\x06\x0a\xcf\x05\x01\x8d\x76\xa5\x6d\xb1\xa9\x11\x2b\x32\x23\x6d\x5a\xe4\x23\x59\x20\x2e\x4a\x3f\x6d\x0a\x02\xb9\xfb\xa2\x77\x66\x5f\xe7\x4a\x65\xf2\xe4\xf8\x78\x46\xd5\x3c\x9f\x1c\x45\x3c\x35\x71\xf8\x5c\xcc\xcc\x1f\xc7\x54\xca\x9c\xc8\xe3\x3f\xfe\xe1\x0f\xc5\x16\x4f\x70\xf4\x38\x33\xb0\x3a\x75\xbf\x53\x79\xcb\x09\x96\xdb\x45\xf6\xb8\x14\xb6\x17\x4e\x65\x0e\xba\x71\xc9\xa3\xfa\x1b\xa9\x70\x9a\x85\xa1\xa0\xa6\x6c\x9c\x54\xb8\x28\x56\x01\x79\x89\x7a\x9a\x68\x8e\xb3\x8c\xb0\x76\xb3\x83\x49\x34\xdd\x82\xf5\xb8\x54\x55\x3b\x42\xf2\x39\x4b\x30\x2b\xc3\x2f\x40\xe5\x25\x41\x22\xc2\x94\x85\x06\x28\x4a\x49\x03\x35\x1a\x08\x20\xc3\xff\xd7\x4b\x45\x84\x39\x52\x59\x94\x54\x73\xc3\xb1\xe5\x4d\x5d\xd1\x4b\x1c\x2c\x5d\xb5\xa4\x6c\xb1\x76\xc4\xad\xda\xb2\x24\xc5\xbb\x7a\x69\xf1\xf5\x4b\xda\x08\xce\xc6\xe4\xb3\x66\x72\x72\x53\xc0\xae\x07\x49\x24\x1a\xfc\x74\x87\xe4\x82\x29\xfc\xf9\x04\x5d\x52\x06\x02\xec\xf7\x3c\x17\x12\x9d\xe1\xc5\x21\x9f\x1e\xa6\x9c\xa9\x39\xba\x84\xff\xb5\x3f\x3d\x13\xf2\x88\x7e\x26\x58\x58\xfe\x60\x4b\xd2\xf9\xfa\xe6\x9a\x84\x44\xce\x24\x22\x4f\xfa\x84\xfe\xe1\x3f\x51\x6a\x5a\x3e\x41\xdf\x1e\xff\xe1\x3f\xd1\xef\xe0\xff\xff\xff\xe8\x77\x2d\x9a\xfe\x7a\x90\x5f\x50\xb9\xf8\xb6\xec\xce\x3d\xa8\xac\xd4\x06\xd5\xdc\x4f\x05\x2f\x76\xaa\xb1\xe5\x47\x1a\x3d\xf2\xe9\x74\xac\x09\xc3\x24\xf2\x8d\xb1\xa8\xc1\x45\x6f\x88\x9f\x4a\x6d\xed\x69\x53\xc9\xae\xa8\x21\x63\x3b\x35\x88\x0f\x8e\x5d\xcb\xbc\xa8\xbc\x0b\x41\x44\xa5\x6a\xc6\x54\xc2\x57\x24\xd6\x5c\x75\x9d\xd3\xe1\xac\x7b\x2e\xf9\xdb\x59\x70\x42\x84\x94\xb0\x9e\xba\x0f\xfc\x0b\xa3\x58\x4d\xa0\x8f\x5d\xc8\xc6\xe3\x50\x0b\xaf\xfd\x62\x62\x26\x61\x6a\x6f\x15\x2f\x29\x6b\x9d\xaf\x0e\x95\xbc\xe3\x62\x2b\x7d\xeb\x91\xb4\xa6\x32\xac\xa8\x97\xe4\x6a\xf8\x86\x95\xfd\x21\x43\x9c\x0b\x8f\x63\x6c\xec\x22\xb6\xaa\xe2\x6a\x2b\x26\x15\x26\xb8\xac\xdb\xa1\xd7\x53\x3f\xf3\x9f\xac\x1a\x26\x44\x9a\xb9\xb7\x8b\x7a\x71\x30\x5a\x2d\x22\x69\x96\xd8\x30\xe2\x06\xb0\xc3\x55\x1b\x7a\xe7\xf1\x2d\xa0\x71\x08\x7b\x84\xfc\x0d\xe6\x24\x5b\x0b\x20\xd0\xbc\x9f\xb9\x88\xc8\x29\xdf\x2e\xec\x35\xa1\xac\x16\x2f\xdf\xbd\x14\x91\x5f\xbd\x0b\x5b\x74\xca\xe1\x01\xf3\xb8\x50\x16\x8c\x5b\xc0\x56\xa1\x08\x80\x48\xcb\xb3\x01\x40\xbb\x5d\x60\x5d\xd6\x6a\x23\x6c\xc1\xb5\x8d\xe1\xb8\x60\x78\xae\xb4\x46\xa5\xa2\x86\xc0\x9a\x17\x2e\x89\x5d\x83\xa0\xa2\xad\xc7\x11\x54\x89\x29\x22\x95\x2a\xd5\xd8\xb1\x29\x95\x22\x36\xc4\x2a\x35\x05\x9b\x0e\x90\xc0\x10\x94\xa9\xe6\xba\x3d\x49\xc4\xe1\x14\x47\x94\xcd\x0e\x02\x98\x4a\x80\x8c\x08\xaf\x83\x26\x22\xbd\xc7\xf2\x71\xb7\x81\x86\x5b\x17\xb0\xa4\x71\x51\x44\xcd\x02\xcb\x18\xc7\x06\xad\x61\xf4\x29\x2c\x1f\xdb\x90\x95\x6a\xb0\x6e\x4b\x46\xe7\x97\xc2\x81\xc1\x2d\x1b\x9f\x4b\x41\x27\xa1\x3e\x05\x35\x1b\x5c\x49\x65\x0b\xf2\xe8\x32\xfe\xb0\x47\x61\xa9\xa2\x9b\x2e\x19\xbf\x9c\x73\xa1\xc6\x1b\xe2\xc2\x56\xd3\xe8\x19\x39\x4c\x00\xd0\x85\x3f\x11\xf1\x44\xc9\x73\x19\x5e\x75\x1d\x5a\x34\x46\xb3\x20\xaa\x0e\xf0\x37\xd3\x8c\x43\x0a\xcd\x14\xa5\x98\x2d\x0c\xa3\xd4\xcc\x05\xcb\x47\xe9\x0b\xb9\x22\x99\xe2\x24\x39\x40\x82\xe4\xd2\x14\x38\x96\x24\x99\x1e\xba\x52\x18\x31\x4a\xf8\x8c\x46\x38\x41\x93\x84\x47\x8f\xd2\x64\xb8\xb1\x99\x61\x52\x99\xe0\x11\x91\x32\x90\xac\x8a\x6c\x76\x9b\x63\x08\x55\x5c\x15\x11\x29\x65\x54\x2a\x1a\x39\x91\xa9\x00\xa5\x30\xb5\xc4\x23\x0c\x26\x61\xc8\xd8\x84\xe1\x6a\x49\x8f\x18\x70\xce\x9c\xd9\xa2\x49\x70\x5d\x5b\xcc\x3d\x17\x24\xde\x76\x80\x76\x00\x21\xe8\x28\x64\xac\xca\x07\x72\xc5\x91\x3a\xb5\x9f\xc1\x31\x5e\x46\x02\xb7\xe5\x13\xe5\x09\xd2\x9f\xb4\x12\xac\x11\xc4\x94\xfb\x10\xf8\x92\xe4\xe2\x23\xc3\xf7\x0c\xd1\x0c\x86\xdc\x82\x63\xb6\x8a\xa6\xf5\x2a\x82\xc8\x03\x75\xba\xaa\x5e\x73\xca\xa2\x24\x8f\x7d\xa5\x46\x2d\x02\x3c\x69\x22\x71\xcb\xa3\xd7\x5e\x0b\x0a\x07\x08\x4b\xf4\x4c\x92\x44\xff\xd7\x44\xc0\x1f\xfa\xc2\x09\x9a\x25\x9b\xe2\x16\xd0\x89\xe3\xd2\x6d\x14\xb5\x77\xe8\x94\x37\x58\xcd\x4d\xce\x7f\xca\x95\x29\x92\x69\xd0\x29\x9d\x7d\xcb\xc0\x19\x4e\x12\x3e\x81\x93\x0e\xc0\x95\x2e\xcf\x35\x48\xab\xcb\xa3\x88\x90\x98\xc4\xe8\xeb\xe0\xe0\x7a\x3c\x8a\x6f\x9a\x61\x14\x4b\x2b\xb2\x07\xa0\x95\x55\xc3\x5a\x2b\x74\x65\xb9\xce\xdb\x11\xba\xa9\x00\xb3\x84\xf5\xdb\x71\x15\xa6\xeb\xa0\xb6\x85\x6f\x03\x74\x59\x99\xc4\xcb\xed\xd0\x9a\x40\x97\xa5\x3e\x77\x00\x74\x59\x99\x67\x4b\xec\x3e\x9f\xbd\x68\xce\xb1\x9e\xd4\x05\xef\x9e\x08\x66\x00\xc2\xcc\xdd\x59\x22\x41\x77\x20\x17\x4d\x84\xb8\x5f\x20\x9e\x95\x6a\x88\x6f\x0b\xe2\x59\x19\xcc\x3e\x83\x78\x56\x86\xba\xbf\x20\x9e\x0d\x03\xed\x00\xe2\x69\x9c\xfb\x63\x4d\xd4\xdd\x98\x02\x24\xb6\x4c\xf2\xe9\x1d\xa4\x7a\x2f\x1d\xe3\xa9\x09\x1c\x30\xd7\x98\xbb\xa3\x2d\xa6\x35\x8c\xd6\xe6\x40\xb6\x85\x43\x55\x9c\x10\xeb\xd2\x9e\xf7\xbe\x19\xf0\x87\x75\xcd\xee\x07\xa1\xb5\x1b\xec\x90\x11\xce\x6c\x4e\x79\x5b\xa9\x99\xfd\xc9\x9e\xdd\x0c\x1f\x15\x30\x08\x4b\x2c\xbf\x13\x82\xd8\x65\xa5\x6a\xc3\x9c\x3f\xdb\xca\x49\x40\x86\x86\x28\x5b\x49\x10\x3a\x1d\x5b\xa5\xad\x6d\xe5\x28\x53\x64\x56\xd5\x69\x8b\x43\x43\x99\xfa\xd3\x1f\x57\x72\x22\x03\xb1\xe8\xd4\xc3\xa0\x76\x82\x77\x76\xd8\x67\x24\x46\xd1\x5c\x6b\x45\x52\xab\x2f\x7a\x3a\xe6\x66\x95\x28\xc5\xd4\x29\x52\xb9\x34\xae\x25\x2a\x47\xac\x84\x49\x7a\x84\x3e\x42\x41\x58\x9c\x66\x5a\xff\xf2\xf3\xa3\x9a\x92\x46\xf9\xb7\xdf\xfe\x89\xa0\x6f\x51\x4a\x30\x2b\xe9\xb0\xa0\x36\xe9\xab\x0f\x30\xfc\xd4\x9c\x8c\x58\xe3\x56\xa0\xe1\x67\x53\x63\xca\xc5\xfb\x9d\xb3\x29\x77\x3a\x31\x14\x3a\xc4\xd1\x1c\xc9\x7c\x62\x2a\xf5\x06\x36\x0c\x27\x48\x5f\xf0\x19\x38\xaa\xe1\x46\x76\x83\x5e\x76\x0a\x5f\x36\x06\xc0\xba\x1b\xbb\xde\xc6\x03\xb8\x47\x0e\x25\x29\x61\x3b\x35\x38\xcd\x0c\xe7\x0b\x0f\xbe\x34\xb8\x2f\x07\xc6\x87\xa0\xf5\x33\x6c\x2d\xfb\x5a\x96\x86\x70\x5e\xf0\x92\xe5\x09\x16\xf6\xe8\x8f\x98\x56\x34\x04\x79\xa2\x3c\x97\xc9\x02\xc5\x9c\x91\x03\xa0\x84\x3c\x9a\x1b\xc7\xaa\xd6\x59\xb0\x2d\x58\xf1\x44\x65\xae\x15\x5a\x68\xcb\xd5\xc7\x90\x0a\x1b\x4c\xaa\x39\x85\x7e\xb4\xfa\x4d\xe0\xab\x30\x4b\x0e\x75\xd3\xa2\x42\xd8\xd8\x0a\xcf\xef\x08\x1b\x5b\xa2\xaa\x1e\x36\xd6\xc3\xc6\xd6\xd7\x65\x1f\x61\x63\x2b\x7b\xde\x0d\x36\xb6\x69\xcb\x37\x80\x8d\x2d\x35\xf3\xc5\xc0\xc6\x56\x56\xf4\x8b\x81\x8d\xad\xcc\xab\x87\x8d\xfd\xf2\x60\x63\xb7\x04\x46\x6d\xe6\xc5\x06\x5f\x49\x51\xb6\x58\x9b\xc8\xbe\x92\xe8\xfc\x5a\x13\x58\xf4\x58\x0e\x6a\xf3\xd7\xd5\xf6\x60\xac\xcd\x4c\x68\x3d\x30\xd6\x46\x55\xbd\x9d\xd5\x6d\x0b\xf0\x04\x8a\xc1\x2b\x83\xb1\x96\x26\xd0\xc7\x57\xae\x1f\x5f\xd9\x48\x7c\xb6\x6f\x3d\x3c\x17\x74\x59\xbd\x90\x3b\xc2\xb1\x96\xf6\xa7\x53\x24\x26\x88\xee\x3b\xa0\xc4\x97\x95\xe6\xef\x4b\x87\x7c\xa5\x2c\x1f\xae\xa2\xb4\xc0\xd0\x5a\xc2\x73\x68\x71\x46\x09\x0f\xfd\xff\x3d\xe5\x6e\x10\x19\x5c\x59\x5e\xef\x57\x31\xb4\xd8\x81\x54\x3b\x53\xa8\xd3\x4a\x77\x93\x28\xeb\x92\x27\xd7\x74\x31\xbb\x41\xdc\x65\x24\x6a\xb1\x31\xd3\x94\xee\xaa\xd9\x55\x17\x99\xc7\xc2\x02\x85\xbc\x96\x17\xaa\xaf\x27\x33\x1c\x23\xe3\x57\xd2\x61\x01\xa8\xc3\x7c\x39\xa3\x52\x89\xd6\xd8\xa6\xda\x08\xb7\x71\x95\x66\x79\xe7\x80\x98\x60\x55\x67\x9b\x7d\x96\x92\x94\x8b\x55\x81\x55\x8d\x5f\xda\x52\x37\x9b\x7c\x4a\xb2\x39\x49\xb5\x24\x33\x5e\xb7\x91\xae\xfb\xed\x93\x86\x6d\xee\x9a\x09\x74\x2c\x11\x41\xe0\x08\xd5\xef\xc6\x06\x91\xb2\xf3\x76\x6f\xbb\xcd\x16\x33\x73\x4d\x87\x90\x03\x53\x5e\x6e\x70\xb3\x2f\x95\xdc\xdd\x40\xdf\x8d\x31\x1d\x3e\xa4\x66\x75\xd4\xc6\x92\x78\x8d\x65\xb8\x53\xc5\x57\xb6\x10\xf4\x1a\xae\xfc\xb2\x77\x5e\x73\xc2\xb0\x0a\xf0\xfa\x01\x1e\x2d\xa8\xa9\xf5\xe5\x81\xc8\x1c\x49\xc4\x61\xa8\x19\x94\x06\x53\x5f\xaf\x12\x95\x38\x8d\x72\x0b\x22\xc9\x45\x6b\x94\x69\x17\x83\x76\xa4\x72\x9c\x80\x26\x11\x56\xaf\xac\x6e\xea\x64\xd1\x90\xf6\xd8\xcd\x63\x42\x99\xfa\xf3\x7f\xac\xb5\x9b\x5a\xb5\xb2\xeb\x06\x15\xb7\x70\x14\x11\x69\x6c\xec\x36\x0a\x19\x4f\xf8\x13\x14\xdb\xda\x66\x57\xf5\x51\xd6\xf3\xd6\x0c\xde\x43\x11\xc7\x05\xa9\x1b\x71\x61\x2e\x78\x3e\x9b\x3b\x1b\x92\x3e\x33\x7a\x6a\x4d\x7b\xf9\x63\xcd\x46\xbe\xf6\x5e\x7e\x97\xd3\x64\x33\x0b\xdd\x5d\xa9\x0c\xd9\xa7\xf3\x7b\x24\xe7\xfe\xb4\x4e\xa0\xd9\xc6\x8d\xad\x0f\xba\x7b\x9f\xf6\x5b\xef\xaf\x81\x6e\x0e\x1c\xfc\xe6\x94\x27\x09\x78\x1a\x24\x49\x9f\x88\x68\xee\x1e\x26\x7c\x4f\xd7\x43\xce\xf3\x03\x80\xaf\x8b\xc4\x88\x4e\xf2\xd7\x8d\x11\x0d\x25\x72\xa3\xaf\x06\x2d\x98\x50\x35\xce\x08\x6b\xb2\xb1\xfd\x54\xaf\x00\xf3\xce\x02\x06\x5d\xf4\xd8\xce\x82\x06\xdd\x92\xbc\x72\xe0\xe0\x8a\x79\xec\x6b\xf0\x60\x85\xd9\xf9\x58\xbe\xe2\x9a\x71\x81\x43\x46\xf1\x19\xe8\x25\x1e\xb1\x41\x29\x9f\xc2\x55\xca\x9e\x2c\x8a\x80\x6c\xa3\x43\x84\xcc\x0c\xea\x6c\x58\xc3\x0a\xb8\xd1\xf4\x5f\xa0\xe9\x18\xf0\x5a\x13\x52\xe8\xc2\x06\x21\x9a\x9c\xc4\x87\x38\x5a\x44\x09\x8d\x02\x9d\x79\x26\x70\x36\x6f\xe2\x78\x6e\xe7\x7b\xd4\x9d\xb7\x42\xdd\x69\x2b\x48\xb5\x4e\xdc\xb6\xa3\x2b\x86\x53\xd2\xa3\x01\x35\xa1\x01\x1d\x78\xbc\x0b\x56\x94\xd6\x7a\x43\x18\x85\xfa\xb9\xeb\x21\x81\xde\x00\x12\x68\x93\xc3\x57\xe0\xfd\x94\x8e\x5d\x0f\x53\xf4\xa1\x13\x4c\x91\xbf\x04\xf7\x0a\x79\xa6\xfd\x3c\xbe\x31\xa2\x49\x7d\x60\x6f\x09\x4b\xd4\x20\x2e\xac\x23\x37\x2d\xc3\x25\x5a\x46\x17\x9d\xd6\xe5\x6d\x51\x82\xd6\x5b\x99\xb5\x00\x80\x1a\xef\xae\x3d\x81\x03\x6a\xdf\x86\x3d\x39\x37\xbb\xcc\x6a\x59\xaf\x76\x68\x98\xd9\xb2\x8e\x82\xb5\x5e\x92\x8b\xa7\x87\xf7\x95\xe8\x52\x14\x59\xdb\x2c\xd9\x65\xe0\x7c\xd0\x44\xa0\x39\x4f\x62\x07\x42\xe1\x57\xcb\x77\xe0\x33\x01\xfc\x02\xb9\xcd\x80\x62\xe7\xa0\x6d\x15\x05\xc1\x96\xa5\xb4\xf8\x4d\x84\xe1\xee\x80\xd1\xec\xc2\x8a\xe0\x39\xc9\x26\xf6\x83\x95\xb2\x88\x2c\x9b\xbf\x97\x8c\xb1\xb4\x42\x60\x35\x6f\x1e\xe6\x4a\xbb\xef\x8a\xc1\x2d\x13\x3d\x02\xe3\xa0\x68\x2a\xf5\x69\xe8\x0c\x9e\x3e\x51\x67\x88\xc0\x61\x8f\x4b\xbd\x74\x6e\x76\x9d\x3c\x75\x55\x62\xd9\x20\x18\xac\x56\xb9\x6d\x7b\x70\xa0\x14\x7f\x1e\x67\x58\xe0\x24\x21\x09\x95\xe9\x8b\x05\x03\x9f\x96\xdd\xb5\xfa\xac\x0a\x6e\x4c\x44\x2c\x4f\x27\x86\x14\xdd\x40\x6c\xb1\x3f\xc5\x91\xc8\x59\x08\x6d\xe6\x37\xc6\x17\x13\xcc\xe1\x5e\x00\xab\x52\x34\x87\xaa\xad\x53\x4c\x05\x23\xb2\xb5\x46\x26\x89\x72\x41\xd5\x62\x6c\x4b\x8e\x76\x3f\x70\x77\xf6\xcb\x53\xfb\xe1\x72\x0f\xb7\xcb\xea\x77\xfd\xf9\x12\xa7\x19\x11\x50\x26\xc8\x15\xbc\x09\xca\xaa\x5a\xd4\x06\xe2\x6b\x0d\x41\xf8\x73\xed\xda\x6e\x0b\x1c\xc6\xcf\xe3\x20\xa3\x6a\x1c\x55\x89\x63\xd5\x61\x6d\xc2\x9d\x5a\x36\xc9\x17\x46\x5e\x6a\xf1\x22\xbf\x40\x95\x11\x9b\x36\x61\x9a\xd6\x03\x0e\x5c\xc1\x60\xaf\x2c\x36\x26\x48\x79\xb7\x4a\x55\xcb\x38\x2d\xd6\x4f\x53\xf0\xd1\x92\xc1\x0e\x82\xaf\x3a\x8c\x38\xe8\x64\x47\xc3\xd6\x07\x5d\x88\x3c\x53\x74\x52\x87\xb6\x51\xbb\x2b\x21\x3a\x48\x20\xcd\xda\xb9\x19\x4a\xdd\x9a\xba\xa2\x25\x4e\x6c\x67\xa7\xe5\x7f\x8b\x23\xe6\x10\x82\x0c\xc2\x52\x98\xc7\x77\x9d\x52\xa5\x5c\xa2\x80\x31\x40\x6b\xea\x2c\xdb\x66\xbf\x72\xe1\x1e\x18\x2a\xbd\x1a\x13\xd1\xd1\x88\x0d\x24\x7a\x26\x88\x11\x0b\x21\xd1\x50\xc3\xd5\x5b\xb5\xa1\xf6\xd3\x84\xe8\x9e\x7c\x6c\x8a\x16\x1e\xa8\x92\xbe\xfc\x98\xe9\x63\x8a\x13\x49\x0e\x74\xc3\x50\xb5\x54\x71\x08\xfe\xc4\xe8\x59\xe0\x2c\x23\x62\xc4\x6c\x16\x07\x38\x5c\x38\x4f\x4c\xfb\x6d\x21\xae\x76\x0d\xc8\x38\xc2\xd1\xfc\x95\xf6\x08\x43\x32\x4e\x34\x27\xb1\xcb\x17\x2e\x6f\x8f\x9b\xb7\x31\x58\xaf\xb1\x59\xe7\x53\x57\x3e\xeb\xc0\x76\x92\x44\x9a\xa3\xf8\x32\xd3\x19\x11\x7a\xd4\x9a\x86\x9f\x08\x43\x74\xea\xc6\x61\x63\x77\xd0\x33\x78\xa6\x34\xe9\x3f\x61\x9a\x98\x04\x7c\xd7\xb5\x13\x02\x8d\xf9\x7d\xc4\x8c\xbb\x9b\x45\xa5\x0c\x55\xca\xa8\x9c\x6b\x4e\x9d\x83\x4f\x12\xd4\x8c\xb6\xc4\x19\xf6\xb4\xce\x69\x1e\xea\xd7\x97\x73\xd0\x27\x2a\x38\x4b\x21\x49\xc6\xe2\x32\xb9\xe5\x93\x44\xf9\xe3\xd1\x98\xe2\xb8\x52\x22\x8e\x63\x59\x36\x7e\x1a\xb5\x92\xfe\x5a\x32\xbb\x1c\x96\xb2\x02\xa3\x00\x56\x08\x82\x38\x5d\x65\xb1\x65\xf2\x6f\x9f\xda\x50\x4f\x6d\x68\x5e\x9b\x7d\x4c\x6f\xf0\x87\x78\xdd\x14\x87\xb6\xed\xdf\x85\x64\xbb\xc3\x54\x87\x37\xce\x09\x78\x99\x74\x80\xb7\xcd\xdf\x78\x89\xd4\x8d\x3e\xc1\xe1\x0d\x13\x1c\x3a\x5b\x6a\xcb\xb1\xd9\xed\xc7\x76\xad\xe4\x80\x15\x60\x4e\x4d\xbd\x5c\x12\x25\x68\x24\x77\xc1\x1f\x64\x86\x3b\x46\xb5\x81\x16\x98\xad\x90\x9a\xf4\x0b\xde\x09\x09\x71\x62\xbe\xce\xdf\x44\x10\xfc\x18\xf3\xe7\x9a\xad\x4e\x86\x68\x1a\x97\x5c\x8b\x3d\x82\x44\x54\x92\x52\x24\x0b\x95\x88\x11\x69\x8d\x9d\x78\xc4\xe6\x94\x08\x2c\xa2\x39\x64\x37\x16\x1b\x63\xb2\x64\x0d\xa0\x91\x89\x65\x08\xbd\x4d\x6b\x6c\x7a\x87\x75\xaf\x5a\x98\x3c\x3e\x9d\xdd\x73\x3d\x92\xd4\x7c\xe2\x85\x19\x2b\x65\x84\x26\xb9\x4e\xdb\xbf\x6d\x20\xbe\x5f\xec\x17\x0d\xc6\xf7\xc1\x44\xc1\x17\x1d\x03\xf2\x0b\x6a\xe8\x83\xf2\x5f\x28\x28\xbf\x61\x89\xd7\x0b\xcc\xdf\xc8\xe4\xf7\xfa\x31\xc3\xae\xe7\xd7\x88\x1b\x5e\x15\xb4\x95\x4f\xc6\x2f\x7e\xf4\x1a\xe7\xdc\xf5\x04\xfe\xe4\x89\xc2\x48\xc4\x42\xd3\xd9\x84\xc4\x31\x70\x5a\xc5\x6d\xa5\xe8\x82\x76\x9c\x79\x40\xdf\xbd\x58\x6a\x62\xc7\x09\x67\x33\x49\x63\x03\xb6\x92\x61\xa8\xd8\x1a\x1a\x2f\x00\x5c\x00\xf6\x37\x49\x88\x70\x5e\x09\x81\xbe\x96\x94\x59\x34\x45\xff\x5b\xcc\x89\x64\x5f\x29\x63\x2c\xc0\x6c\x81\x1e\x19\x7f\x4e\x48\x3c\x83\x1d\xaa\x0e\xe6\x10\x51\x72\x80\xa8\xf2\x9f\x09\x40\x23\xe0\xb9\x1a\xe9\xb1\x43\xac\x99\xd1\x00\x88\xfd\x36\xa8\x89\xee\x9b\xf9\xe6\x08\xa1\x73\x86\xa6\x38\x52\x07\x48\xe6\x93\xa2\xfd\x98\x9b\x22\xd7\x5a\xfb\x0e\x26\x5e\x34\xd2\xc7\x8c\x37\x74\xde\x7c\x36\x1c\x77\xd0\xe4\x3a\x48\x28\xde\x2a\xb6\xee\x09\x6f\x03\x31\x7a\x99\x4b\x1b\x84\x81\x38\xf3\x47\xdf\xc2\x2b\x79\x8c\x68\xc0\xfb\x34\x78\xcb\x8c\xc7\xad\xb6\xce\xca\x54\xd6\x1d\x4b\x11\x08\x69\x05\x25\xeb\xa8\x82\x76\xcd\x72\x6b\xa9\x49\x2a\x41\x70\x6a\x9d\x03\xfa\xaa\x01\xb1\xc6\x84\x41\xea\xd1\x53\x61\x24\xcc\x75\xb6\xf8\x82\xb2\x47\xbd\xbb\x05\x2a\x36\xd4\x97\x87\x9e\x9b\x36\x2d\xd3\x37\x1e\x39\xe5\xcc\x38\x08\xb7\x92\x3b\xe9\x8c\xe1\x64\x4d\x1b\x47\x6d\xe5\xea\x3e\x3d\x27\x67\x59\x71\x41\x4b\x11\xc6\xd8\x87\x4c\x8f\x6b\xd9\x90\x2a\xf3\x0d\xe5\x3d\x8c\x62\x92\x11\x16\x13\x16\x2d\x80\x44\x18\x20\xe7\x08\x86\x13\x84\xe1\x3b\x9c\x1c\xa1\x33\x93\x5f\xe3\x25\x3c\x7b\xad\xc3\x85\x9e\x62\x46\xa7\x5a\x4f\x00\x23\xac\x1d\xe5\x88\x99\x61\x3a\x1f\x48\x50\xb4\xdf\xaf\x58\xd3\xce\xe8\x1b\xe4\x6a\x4b\x54\x62\x56\xfe\x1e\x2d\xbf\x70\xa0\xb7\x65\xbb\xa3\x9b\x73\x35\x08\x64\x3e\x39\x84\x7f\x97\x12\xce\x1c\x50\x4f\x81\x22\x43\x12\x02\xe6\x40\xeb\xf1\x82\x8b\xb1\x0d\x58\x6e\x17\x7e\xbb\x15\x79\x1c\x41\x1f\x25\xa5\x26\xa5\x8c\xa6\x79\x1a\x38\xef\x4c\xc5\x82\xc8\xda\x2f\x4d\x26\x46\xa6\xf5\x80\xc8\x81\x97\x23\x7d\xb9\xb2\x05\x9a\xd1\x27\xc2\x46\x2c\xe3\x94\xa9\x23\x74\xc5\x15\x09\x4a\x44\x18\xe8\x28\x9e\x29\x9a\x1a\xb4\x53\x41\xf4\x39\x30\xa0\xd8\x00\x34\x39\xc7\xea\x00\xc5\x39\x1c\x55\x46\x94\x66\x1d\xfa\xc6\x55\xb0\x33\x10\x1f\x2d\x46\xcc\xdc\x74\x53\x4c\x93\x5c\x10\x2b\xb3\x62\x93\x17\x53\x0c\xb9\x18\x99\x45\x42\x0b\x26\x91\xd2\xd9\x5c\xe9\x2d\xd2\x32\x9e\xf5\x37\xce\x35\x37\xe2\x23\x36\x21\x08\xa3\x8c\x4b\xaa\xe8\x93\xf7\x5f\xd2\x29\xc2\x52\x82\x05\xe5\x08\x9d\x95\xec\xff\x54\x82\xea\xdd\x16\x57\x4b\xd9\xd8\xda\x9e\xdb\xf3\x71\xb6\xde\xc8\x52\x2f\x76\x95\xf1\x44\xf2\x24\x57\xa1\x0b\xb6\x79\x6f\x0b\xd3\xb8\x03\xee\x07\x03\x31\x9f\x8e\x98\xa3\x6b\x79\x84\x06\x12\x49\xae\x77\x49\x9a\xad\x8c\x04\x55\x44\x50\x83\xe2\x44\x94\xd9\x04\x7f\x4e\xfd\x19\x48\xb1\x78\xd4\x22\x54\x68\x81\x37\x98\xa2\x25\x6b\xc7\xc4\x48\x48\x00\x6b\x15\x6e\x07\x98\xfe\x11\xe3\xec\x90\x91\x19\x5e\xb5\x23\x23\x56\xda\x12\xf4\x35\x9d\x16\x0a\x69\x9b\xcf\x31\x58\xbb\x31\x44\x3e\xb5\xed\x92\xe9\xb8\x6d\x93\xa6\x09\xc7\x2b\xdc\xc6\xd3\xe2\xd0\xa3\xbf\xf3\x89\x19\xa3\xd6\xfb\xb9\x02\x29\x50\xab\x57\x53\x2e\xc8\x1c\xb3\xf8\xc0\x6d\x56\x79\x6c\x70\x33\x5a\x53\x9b\x53\xc6\x40\x12\x74\x20\xc2\xc4\x60\x31\x61\x16\xec\x85\x55\xdc\xec\x56\x14\xfb\xb0\xd6\x5d\xe1\x5b\x83\xda\x27\xc6\x00\x61\x58\xde\x22\xb3\x47\x5c\xd2\x34\x4b\x8a\x9c\xa6\xc0\x36\x3a\xd5\x22\x96\xe3\x91\xfc\x09\x4c\x57\x4e\x6b\x83\x5b\xdd\xee\x9c\xa6\xb3\x86\x91\x7b\x46\x0a\xb7\x86\xb3\x79\x99\x32\x98\x01\x0b\xfb\x5a\x12\xfd\x4f\x45\x0a\xb5\xcf\x08\xeb\x23\xe6\x44\x90\x6f\x80\xcb\xd8\x66\x03\xe3\x99\x16\xa1\x0d\xcc\xab\x5d\x3f\x14\x19\x27\x77\xe9\x9c\xd8\xc3\xe0\x5e\x6d\xb8\xa8\xbe\xa3\x0c\x97\x32\x6f\x37\x10\xfc\x92\x7c\xad\xe4\xaa\xc0\xed\xb7\x68\xab\x69\xa2\xf0\xaa\x32\x23\x6b\x50\x82\xd9\x67\x82\x74\x77\x96\x9a\x5d\xc5\x1b\x0c\x11\x01\x73\x92\x64\x28\xa6\x53\x30\x4b\x29\x60\xdf\x1e\x58\xcc\x60\xc1\xeb\xc3\x9e\xe6\xcc\x80\xc4\x19\x8f\xc8\xb3\xc5\xdb\xb6\x57\x63\xd1\xf8\xd1\x88\x9d\xab\xaf\xa4\x16\xd1\x39\x9b\xe9\x8b\x26\x7e\xa2\xb2\x28\x72\x12\x71\x26\xf3\x94\x08\xdb\x85\xbe\x91\x35\x45\xda\x02\x01\xd8\xc9\x50\x7a\x6c\x7a\xef\x9f\x70\x42\x63\x57\x88\x47\xff\x68\xce\x9c\x1e\xa5\x74\x1e\xc5\x86\x90\x30\xbb\xb9\xb1\x5e\xab\x37\x13\xeb\x7f\x0c\x25\x77\x94\x16\x42\x3e\xb6\xb6\xfa\xe3\xaa\x88\x6f\x57\x7d\x89\x78\x3f\xa9\x4d\x0a\x2d\x17\x8c\xec\x2a\x9c\xad\x42\x31\x74\x88\xba\xb9\x09\x01\xd6\xfd\x38\xa3\x8f\x19\xdc\x5a\xec\xa7\x32\x41\x3b\x6a\xc3\x59\x42\xf1\x9e\x50\x90\x0d\xa4\xc2\x5a\xbc\x30\xd7\x01\x17\x56\xc3\xb1\x77\x4e\xfb\xd6\x9e\x6d\x59\x26\x42\x46\x38\xa9\xef\xf0\x12\x7b\xb3\x79\x7f\xb9\x12\x60\x8f\x9b\x69\x7b\x69\xd2\x6f\xc4\x93\x64\x9d\x12\x26\x95\x99\x9f\x16\x9f\x2f\x1f\x51\xd1\x8f\xde\x00\xb7\x17\x70\x6a\xcc\xe5\x8d\x13\x6b\x4a\x91\xca\xee\x52\xf8\x92\x51\xc3\x16\x96\xb5\x8e\x18\x9f\x42\x91\x9b\xa4\x2d\xaa\x2b\x13\x3c\xa5\xeb\xa0\x2c\x9b\x40\xa7\x5b\x67\x17\x5f\x61\x65\x70\xd6\x73\x10\x4d\x0d\x79\xd9\x1e\x21\x5f\x0f\x5b\x71\x73\xc9\x19\x4a\x71\xb6\xd1\x82\xaf\xf2\x0a\x0d\x50\x6a\x5c\x72\x76\xf5\x00\x6f\x91\x40\xbd\x18\x58\xe4\x67\xbc\x28\x52\xa3\xdb\xf0\x73\xd9\x5a\xe4\xf0\xa0\x5f\x3f\x67\x53\xbe\xc6\xe1\x2c\x52\x99\xed\xe9\xc3\x8e\x66\x83\xf3\xe7\xbd\x14\x66\xf7\xcd\x9a\x76\x39\x8f\xa7\x4d\x44\xbd\xf6\xc9\x74\x2b\xf8\x92\x36\xca\x90\x89\x84\xe6\xc9\x75\xee\xd6\xf2\xd1\x0a\x5a\x44\x30\x9c\xe5\x4b\x75\x59\xa2\xc3\x9d\xaf\x51\xa5\x1d\x64\x4c\xe1\x2e\x98\xfa\xa6\xb9\xd5\x57\x58\x33\x7b\x48\x3a\x2d\xd6\x96\xd8\x0d\xeb\xe1\x00\xbb\x1e\x3d\xea\x6f\xf3\x09\x5d\x59\xe4\xa0\xfb\x62\x00\x37\x93\xd6\xce\x55\x44\x66\xda\x14\xb5\x29\x4d\xb4\x88\x7d\xde\x60\xe0\x74\x09\x62\x3e\xa0\xca\x84\xca\x3b\xe9\x29\x17\x34\x28\x0c\xea\x64\x24\x44\xa1\x40\x49\xe8\xe4\x09\x14\x7a\x30\x2d\xce\xf9\xb3\x89\x4e\x17\x54\xf3\x2c\x23\xac\x2a\x30\xf7\x68\x5e\x40\xad\xb5\xc4\x18\x9b\xfc\x07\xdc\xc4\x0c\x62\x5b\xfb\xb8\x18\x55\xcb\x96\xee\xa2\xc4\x53\xf7\xfc\x3b\xd7\xeb\xbd\xfe\xa2\xbe\x37\x8d\x23\xbc\x2f\xb7\xbe\xf6\xe8\xbc\x94\xbf\x7e\xc0\xd4\x47\xf8\xd4\x29\x3d\x18\x4d\x05\x01\x07\x7f\xea\x31\x35\x0c\xa8\x2e\xe7\x70\xdf\xdd\x9d\xfd\x70\xfc\x70\x8e\x88\x8a\x50\x42\x1f\xc9\x88\x45\xf2\xe9\x40\x8b\xc7\xff\xc8\x89\xd2\x3f\xb7\x78\x04\x68\x4a\x98\x04\x4e\x40\x55\x0d\x7b\xa8\x79\x21\xdd\xc2\xe8\xff\x9e\x95\xbf\x5f\x42\xf2\xb5\xf4\x61\xa0\x5d\x57\xef\x06\xc8\x14\x4a\x7a\x98\xa5\x95\x0d\x14\x63\x6c\x91\xc3\xa6\x6a\x98\x1b\xa4\x0b\xb1\xbf\xe7\x6c\x4d\xa1\xeb\xb4\xf8\x28\x18\x45\x8b\x4c\x97\x66\x18\xb0\xae\xd7\xcb\x43\x32\xdf\x34\xb6\xbe\x8a\x89\x14\x69\xd9\xce\xb6\x5c\x14\x0e\x45\x4a\x10\x02\x2c\xc4\xd3\x93\xbd\xeb\x2d\x12\x87\x9f\x58\xf0\xd1\xd1\x88\x5d\x3a\x8f\x73\xf1\xab\x2c\xf4\xf0\x74\x12\x40\x80\x97\x5b\x81\x66\x63\x2a\xfd\x0f\x50\xd0\x45\xe6\x89\x32\x15\xed\xa6\x94\xe1\xc4\x0f\xd4\x3c\x69\xe2\x12\x02\xb3\x68\xbe\xad\x09\x99\x4e\xc7\x24\x59\x47\x12\x3d\x9f\x0e\x13\xa9\xe9\x3b\x7a\x6c\x39\x9d\x9b\xd4\x6c\x2c\x26\x63\x2b\xd1\x9a\xba\x4f\xa8\x30\x41\xe3\xc4\x54\x94\x23\x08\x7c\x94\xd5\xec\x31\x03\x10\xa1\x77\xd1\x4a\xea\xc6\x45\x69\xd2\x36\x7c\x48\x36\xf4\x82\xb0\x1a\x31\x91\x33\x28\x36\xe1\x23\x16\x30\x2a\xf0\xc2\x23\xe7\x3f\xb0\xde\x9c\x99\x66\x13\x06\x8e\xdb\xbc\xac\xf5\x33\x9e\x4b\xb0\xd5\xa4\x44\xe9\x0b\xea\x6b\xa8\x03\x6b\x42\x86\x0e\x50\x26\x68\x0a\xe6\x56\xf9\x4d\xc3\xd6\x9d\x62\x85\x13\x3e\x1b\x08\x45\xa7\x38\x52\xf7\x78\x2b\x0d\x1c\xdb\x66\x36\x0d\x3f\x75\xc3\x40\xe7\x67\x7a\xf1\x67\x84\x11\x01\x13\xd5\x3a\x79\xf3\x11\x86\x27\x1b\x71\x6e\xb0\xb2\x59\xc3\xa8\xf4\x16\x0b\x9c\x2b\x9e\x6a\xfd\x16\x27\xc9\xe2\xc0\x58\x64\x09\x9a\x63\x39\x77\x1b\x6d\x8c\x69\x5d\xee\x26\xbb\xb8\xa7\x38\x9a\x93\x3b\xa8\x8a\xdc\xb4\xb8\x95\x51\x7e\x20\x2c\x4f\x3f\x9c\xa0\xff\x29\xe6\x78\x3a\x38\xfd\x7e\x38\x3e\x3b\xbf\x1b\x7c\x77\x31\x3c\x0b\xe6\x63\x9f\x5c\x9e\xdf\xdd\xd5\x7f\xfd\xfe\xfc\xbe\xfe\xe3\xcd\xf5\xcd\xc3\xc5\xe0\xbe\xa9\x95\x8b\xeb\xeb\x1f\x1e\x6e\xc6\x1f\x07\xe7\x17\x0f\xb7\xc3\x86\x4f\x1f\xee\xdb\x1f\xde\xfd\x70\x7e\x73\x33\x3c\x73\xab\xf2\xb7\xe0\x74\x81\xf5\x18\x52\x2f\x9a\xa7\x51\x3d\x80\x87\xa8\xfc\xe2\x09\x7a\xa8\x96\x3e\xb0\xb1\xc8\x06\xc7\xe2\x19\x4b\xcd\xc3\x20\x14\x7e\xc4\x90\xfb\x5c\x2f\x4a\xdb\xa7\x26\x5c\x27\x9a\x13\x94\x70\xfe\x98\x67\x96\xb5\x99\xf8\x30\xc6\x8d\xe1\x87\xc8\xa0\xb5\xef\xcf\xef\x4f\xea\x25\x18\x7c\x63\x01\x62\x96\x3b\x03\x30\x2e\xec\xd8\x29\xd8\x52\x1c\x34\x7f\x61\xbd\x0d\x7a\xf0\x3b\xb3\xac\x1f\xd3\x1a\x66\xaa\xd2\x4d\x1c\xdb\xa2\xbf\x6e\x62\x41\xc3\xe5\x7d\x5d\xb6\x9a\x7e\x39\x4c\xed\x29\x34\x21\x11\xce\x4d\x50\x93\xbe\xa7\x84\xe0\x22\x1c\x70\x41\x0f\xbb\x6b\xd4\xd2\x51\x63\x83\x95\x3d\xd3\x13\x97\x8f\x34\xcb\x48\xfc\xa1\x2e\xbf\x94\xab\xc3\xda\x9a\xe4\x7c\x8a\x82\x33\xa9\xf5\x7a\xd0\xf9\x5d\xe1\x94\xf9\xc2\x7b\xd2\x20\x70\xa3\x08\x65\x01\x20\x67\x7d\x27\xf8\xc2\x16\x14\x5c\x63\x58\xa1\x67\x02\x29\xd5\xb9\xad\x1c\x65\x74\x6f\x7d\xb6\xa1\x3b\x63\xd3\x76\x75\xe0\x4a\xa9\xd6\xad\xcc\x78\x17\x02\xb7\xfe\x5e\x92\x26\x46\xbc\x45\x5e\xec\x99\x69\x14\xb8\xb3\x8b\x79\x83\x11\xb7\x04\x37\xb8\xdb\xa0\xc1\x42\xbe\x44\xbe\xaa\xdf\x48\x2b\x2e\x0b\xcd\xb6\xbb\x8c\xc7\x61\x81\x94\x00\xae\xbb\x0f\xac\x04\x82\xbc\x72\xad\xee\x79\x8c\x17\x9a\x38\x20\xd6\x58\xe6\x59\xc6\x85\x42\x2d\x6d\x18\x37\xbe\x19\x1f\xdc\x39\x76\x1e\x9e\xc7\x41\x23\x5a\xc2\x90\x0d\xb5\x34\xba\xc1\x23\xd8\x75\x2d\x18\x47\x18\x20\x0b\x8a\xa0\xaf\x7b\x94\x96\x54\xea\x12\x85\x36\x09\xbf\xdb\x64\x18\x64\xfa\x82\xef\x5a\x86\xaf\xa9\xf7\x6b\xd7\x42\xe3\x96\x27\x64\xaa\xc6\x8d\x5e\x9f\x25\x06\x4e\xdd\x22\x6b\x43\x94\xa1\xb3\xf9\x0e\x5a\xec\xae\x25\xfc\xd1\x06\xf6\x68\xd5\x20\xb0\x10\x08\xce\x95\x91\x4f\x0b\x1d\x06\xb9\xd5\x04\xf3\x82\xed\xd4\xe6\x82\x79\x21\x50\xcb\xfc\xc6\x1f\xea\xd3\xa6\x8e\x46\x6c\x08\x01\x14\x85\x22\xe2\x52\xc4\x40\x0b\x58\x29\xff\x97\x8a\x8e\xbe\x6a\xb4\x66\x3b\xc2\x6b\x41\xf7\xb6\x5e\x7e\xb2\x40\x45\x61\xd9\xd2\x77\x5d\x4e\x8f\xb1\x7a\x3b\x11\xd0\x4c\xd8\x96\x71\x57\x24\xb3\x96\x79\x33\xcf\x22\xd2\x07\xe2\xc3\x74\x57\x47\xe8\x27\x67\xf9\x81\xc0\xd7\xa2\x26\xb3\x8d\xdd\x48\xf0\xc2\x81\x42\x36\x2d\xec\x2e\x70\x16\x77\x1d\x0a\xbb\x7c\x81\x3d\xa0\x53\xc3\x2a\x97\x14\x70\xc6\x8c\x45\x76\x8d\xb4\x8f\x53\xff\xd1\x1d\x59\x1e\x15\xf0\x11\xca\x70\xda\xc8\x2a\x10\x3a\x58\xb2\xf8\x5f\x66\xb3\x4c\x26\xaa\x2b\xac\x65\xcb\x22\x5a\x0f\xaa\x3e\x3f\xe0\x01\x34\x89\xaa\x68\x4a\x93\x04\xe4\x80\x23\x34\x80\xf2\xc0\x90\xc8\xa9\xaf\x42\x17\x60\x41\x67\x8c\xaf\xca\x31\x6b\x21\xa6\x28\x20\xa6\xbb\x76\x62\x92\x40\x4d\x45\x1e\xff\x6e\x28\x6a\x07\x98\x2e\x9a\xb7\xe0\x3a\x22\x76\x77\x24\x97\x35\x94\xf7\xb7\x88\x8e\xae\x0d\x37\xf8\xf0\x5f\xcd\x43\xff\x94\x63\x81\x99\x82\x98\x5f\x2b\xba\x0b\x12\xa4\x1e\x91\xcf\x10\x9f\xc1\x8c\x21\x18\x7e\x0a\x37\xd7\xb9\xfc\x21\xdc\x0b\xd1\xf8\x00\xd1\x23\x72\x04\xd5\xd9\x84\x96\x25\x26\xc5\x9b\x73\x2d\x39\x8c\x58\x2d\x96\xf1\x08\x0d\x12\xc9\xed\x17\x84\x45\x09\x94\xe3\x0e\xc2\x93\x3d\xe5\x5b\xb7\xd2\x64\x01\x0a\x0a\x6c\x65\xd1\x3c\xb7\x0f\x82\x0f\xa1\xc8\x18\xf8\xc4\x13\x38\xe9\xc5\xef\xbf\xe7\x99\xf1\x56\xb4\xc5\x49\xbc\x60\x39\x87\xda\x35\xf4\x62\x9b\x64\x4a\x05\x2e\xdb\x20\x78\x03\x36\xa6\x88\x31\x0d\x10\x58\xd0\xd7\x58\xa1\x84\x60\xa9\xd0\x1f\xbe\x59\x2b\x36\xc4\x4d\xb0\xe0\xae\xf6\xf8\x16\x89\x62\x2e\xd5\x20\x14\xee\x7c\xc7\x50\x3b\x0e\x0b\x85\x30\x62\xe4\x39\x8c\x2c\xe5\x10\x0c\xec\x0a\xc2\x91\x20\xb7\xd5\xc4\x93\x99\xcc\x7c\xc8\xd6\x30\x2a\x53\x0b\x1f\x71\x70\xc7\xd6\x7d\x6a\x87\xd5\x40\x59\x56\x79\xb2\x21\x9e\x00\xc9\x55\x04\xfd\xcf\xb1\x1a\x31\xcb\x59\x5d\xd8\x48\x90\xe6\x35\x48\x92\x72\xa0\x3d\x86\x5c\x12\xa6\x27\x0c\xf5\xd9\x8f\xfc\x02\x5d\x81\xfa\xe5\xa3\x9d\x4b\x76\xba\xe2\xb0\x98\x78\x3c\x8f\x77\x14\xb6\xdd\x28\xed\x34\xd9\x97\x5f\x51\x08\x6e\xe8\xfe\xc2\x14\xca\xef\x20\x0c\x93\xa6\x21\xaf\x38\x58\x75\x9b\xfe\x12\xd9\x78\xd7\x1d\x74\x17\x95\x9b\xed\xe3\x70\xcd\x3e\xf3\x06\x73\x7b\xcb\xe6\x06\xb2\xc5\x36\x0a\xb8\x0f\xbb\x7f\x2d\x8f\x6f\x69\xe8\xe7\x31\x24\xfd\xad\xe6\x82\x45\x12\x9d\x63\x1d\x26\xf6\x3a\x0e\x72\x7a\x82\x14\x02\x08\xfe\x73\x8c\xcf\xbe\xd9\xe2\x79\xcd\xde\xf7\xf4\x0f\x8a\xf9\xbb\xa9\xf8\x20\xb8\xfa\xc4\xdb\x85\xbd\x41\xfc\x77\x1c\x41\xa4\x3f\xf4\xe4\x72\x0c\xea\x80\x4c\x0e\xc6\x1a\x83\x31\xbf\x51\x3c\xcc\x04\x8f\x88\x94\x47\x68\x08\x17\x8d\xfd\x27\xc2\x53\xe7\x90\x08\x5e\x1e\x31\xad\x99\x38\xfc\x96\xa0\xfd\x32\x89\x37\x9d\x00\x03\x06\xb7\x95\x2f\x27\x5d\x5d\xa3\xa4\x4d\x9b\x70\x58\x74\xd0\x06\x94\x35\x40\xc3\xd9\x09\x8a\x79\xf4\x48\xc4\xb1\x20\x31\x95\x27\xe0\x5b\x57\xad\x4e\xbd\x54\x6b\xdb\x5b\x4b\x1a\x6d\x81\x02\x2b\x92\xe2\x4e\x4d\xff\x36\xc0\xda\x85\xd7\x1e\x20\x3a\x05\x75\xc2\xe5\x64\x98\x20\x64\x07\x77\x43\x98\x12\x0b\x88\xeb\xf7\xa6\xac\xca\x42\x38\x4d\x43\x0b\x6d\x6d\xd9\x44\x62\x17\x31\x38\x1b\x4e\xfb\x7e\x4e\x24\x71\x01\x07\x66\x52\x8a\xdb\x58\x66\xc3\x2e\x32\xac\xe6\x12\x52\x57\xcb\x6b\x60\x95\x2e\xf8\x54\xaf\x10\xce\x20\x5e\xc1\x58\x29\x8a\x8f\x7c\x82\xa5\x54\x34\x49\x46\x8c\x11\x12\x4b\x04\x59\xa6\x5f\x35\x66\xc8\xeb\x4f\x0f\x10\x8e\x63\xf4\xbf\xbf\xfe\x78\xf1\xf3\xfd\x70\x7c\x7e\x05\x46\xeb\xf3\x8b\xe1\x37\x07\xfe\xc7\xeb\x87\x7b\xff\xab\xb1\xb0\x3c\x11\x81\x52\xfc\x08\x2a\x1e\x93\xc4\x26\x4f\x90\x11\x0b\x47\xea\xb0\x03\xf4\x13\x49\x5c\xa4\xab\x15\x53\x3c\x84\xa2\xdd\xc3\xd6\x8a\xc5\xc6\xe6\xb7\x86\xf2\x7b\xeb\x3f\x59\x4e\x83\x8e\x78\x7c\x17\x4e\x0c\x84\x1c\x19\x2c\x83\x64\x72\xab\xfb\x16\x04\x47\xd8\x8c\xb2\xb6\x78\x3c\xc2\x9e\x5e\x52\x88\xff\x81\x2c\x7e\xd4\xea\xf5\x0d\xa6\xa2\x33\xed\x35\xa3\x01\xb9\x13\xa3\xf5\x74\x2c\xab\x87\x4a\x1a\x59\xd8\x64\xdb\xb4\xc6\x7c\x36\x01\xc1\xbd\xf9\x74\x2d\xbc\x14\xf9\xac\x84\x43\xa9\xf0\xf9\x1c\x0e\xca\xc9\x5f\x34\x05\x0d\x8e\xd8\xfd\xf5\xd9\xf5\x09\x22\x09\x9e\x70\x08\xe5\xb7\x21\x41\xae\x09\xbb\x60\x11\x4f\x83\x86\x4a\x08\x25\x07\x28\x2b\x10\x4a\x42\x23\xda\x91\x69\x63\x05\x52\x49\xc6\x45\x1d\xdf\x63\xb7\x2a\xa0\x9d\xec\x0d\x17\x5d\xae\x7f\xfd\x1a\x2c\x1d\xcf\xb4\x22\x57\xe1\xbc\xf6\x6e\x9e\x12\x6c\x6a\xe9\x1b\xb7\x90\xb5\xe5\xdb\x00\xd6\x24\x29\xd5\x53\xd4\x07\x47\x1e\x59\x17\x7c\xf1\x26\x67\xe8\x87\xbf\x48\x34\xc9\xd5\x88\x95\xdb\xe0\x0c\x0d\x7e\xba\x43\xdf\x61\x15\xcd\xbf\x19\xb1\x6b\xad\x66\xfe\xf0\x97\x16\x28\xa5\xb5\xd1\x09\xf5\x9a\x9c\x61\x85\x2f\x38\x8e\x29\x9b\x35\x41\x13\x16\xf5\x63\x86\xf7\x83\x13\x74\x6d\x75\xf8\x22\x13\xc4\xa7\x04\x07\x0d\x01\x43\x86\x89\x38\x2e\x02\xac\x9c\x95\xe1\xdb\x8c\x66\x06\x17\xd6\x88\xdd\x1b\x4c\x46\xcd\x55\xa9\x42\x19\xb7\x35\x8c\xb4\x56\x66\xd0\x2a\xb1\xcb\x90\x22\xc9\x02\xe9\xd5\x01\x32\xf6\x9b\x61\xe5\x31\x90\x67\xea\xcc\x7e\xc4\x40\x41\xf7\xb9\x29\x09\x8f\x70\x02\x31\x79\x87\x81\x4d\x4f\xab\xed\x3c\x87\xfc\x70\x53\xf4\x7c\x51\x0e\x9d\xf5\x90\x05\x5e\x28\x0b\x37\x0a\x0c\x00\xb0\x8f\xd6\x1b\x9b\x72\xcd\x71\x0c\x16\x1b\x18\xdf\x12\xb3\x3a\xfa\x43\x8f\xcd\x66\x96\x45\x3f\xf5\x69\x5b\x3c\x67\x0e\x8b\x24\x02\xf3\x3d\x5b\x40\xf8\x36\x14\x1d\xe1\x10\xfa\x51\x70\x67\x4b\x94\xb5\x5d\xf4\x77\x62\xf0\xd9\x88\x99\x48\xc1\xd2\xbe\x84\xe8\x3d\x41\xef\x9c\x41\x20\x63\x3d\x57\x2c\xcf\x6c\x60\xa3\x95\xf5\x33\x41\x0e\x7d\x06\x54\x5c\x5a\x53\x7d\xc3\x1e\xa1\xdb\x50\xbd\x8e\x79\x94\xa7\x0e\x59\x19\xb2\xa7\x8a\xb2\xf2\x25\x89\xc7\x5c\xec\xab\x28\x1e\x50\x5a\x14\x81\xf4\xf1\xce\xfa\xb1\x21\x98\x41\xf8\x69\x5d\x52\x6f\x17\x7c\x81\x77\x6c\x17\xb5\x66\x1a\x1a\x67\xe5\x96\x4a\xad\x6d\x9d\x97\x78\x55\xa0\xbf\x72\x01\xc2\x16\xf9\x9c\x71\x30\x72\x9b\xf4\x2c\x1e\x7f\x25\xd1\xf9\x8d\x96\x80\xb4\xc6\xeb\xcf\x60\x2e\x95\x09\x2e\x83\x74\x1d\xf3\xb5\x49\x17\x38\x40\xdf\xa2\x51\xfe\xed\xb7\x7f\x8a\xd0\x67\xf7\xc7\x9f\xff\xf3\x3f\xff\xf4\xe7\x75\xd2\x49\x9c\x42\x0e\xed\x16\x6b\xe4\xcb\x49\x95\x45\xa2\x70\x07\xea\x9c\x6a\x8b\x5d\xb0\x07\xb0\x6d\xf9\x37\x41\x79\x0c\x62\x87\xf0\xcc\x9e\x70\x19\x9e\x4c\x54\x3a\x9a\x45\x24\x81\x24\xea\xa0\xcc\x21\xbc\xb0\x6b\x25\xfa\xff\xb5\x04\xac\x6c\xac\x8f\xca\x66\x31\x4e\x34\xf1\xe2\xb5\x6e\x04\x7d\x6d\xed\x7f\x0a\x1c\x88\xdf\xb8\x0b\x8e\x27\x31\x11\x66\x4c\xde\x64\xe7\x0d\x89\xc0\x1c\xc8\xe7\x2c\xe1\xb1\x83\x47\x2d\x72\x01\x29\x08\x08\xc3\xcf\x58\x73\xee\x03\x0b\xa3\x65\x3e\x32\x9e\x97\x29\x8e\x0c\x2a\xa8\x44\x5f\x7f\x3e\xd1\xbf\x1d\xa0\xc5\x09\x04\x91\x1e\xa0\x5f\x4f\x2c\x5a\x0e\x16\x6a\xac\x7f\xfa\xc6\xc9\xda\xb6\x09\x18\x34\x95\xe8\xab\xe3\x27\x2c\x4c\xcd\xe8\x63\x33\xa2\xaf\x2c\x67\xf5\x75\xf1\x42\xd9\x3c\xe1\xfc\xd1\x06\xd8\xd6\x3e\x3c\x76\xc0\x6b\x40\xde\xde\x6f\x62\xb6\xde\x27\xe6\x2b\x74\x08\x2f\x10\x74\x94\x4d\xd0\xd1\xdf\x25\x67\xe8\x68\x81\xd3\xc4\xfe\xea\x9e\xda\xf8\x5f\x2c\x6d\x4e\x5c\xec\x83\x7c\x92\x85\xb1\x94\x7e\x97\xf0\x09\xcc\xea\xd2\xcd\xd4\x44\xd0\xc2\x40\x8b\xdb\xa7\xb8\xb0\xec\x44\x5c\x22\x2a\xe0\x07\xa5\x5c\x99\x57\x80\xc7\x35\xcd\xea\xb3\x1f\xd2\x7f\x1b\xbf\x30\x2c\x8a\x4b\xe2\x33\xc6\x61\x1f\xbd\xa6\x1b\xfd\x8c\xbe\xb6\x2c\xe8\x1b\x7d\xc7\xd8\x70\x65\xb3\x0c\x4d\x1d\x2c\x7c\x07\x3f\x07\x1d\x50\x86\x4c\x5a\xe6\x92\x2f\x7f\x3d\x3e\x3a\x3a\xf2\x5f\x43\xd6\xfa\xff\x8b\xa8\x92\x24\x99\x9a\x96\xdc\x0d\xb6\x18\xb1\x4b\x57\x78\xc1\x19\xaf\x0b\x48\xc7\x4c\x70\xc5\x23\x9e\xa0\xc3\xc2\xa0\x1b\xf3\x48\xa2\x7f\xd7\x62\x6d\xb0\x94\xf0\xa3\xd6\xe3\x5a\x60\x60\x0d\xd2\xf3\x2b\x1d\x2a\x6b\x10\xaf\x1e\xab\x10\xc5\xcd\x2b\xb6\x58\x86\x55\x3c\x80\x16\x34\xe5\x1c\x5b\xa4\x37\x21\xf4\xcb\xe4\xb3\x82\x47\x2d\x40\x7a\x8d\xa1\xec\xcd\x37\x65\x8d\xdd\x16\x78\x7a\x86\xac\x5b\x16\xc0\xe2\x5d\x59\xce\x60\xe6\x79\x10\xba\x4f\xf4\xe5\xc2\xc2\x52\x00\x32\x4f\x53\x2c\x16\xc7\xc5\x69\xab\x13\x67\x81\xb4\x06\x3c\x26\x71\x0b\x00\x2e\xdc\xc4\x1e\x2d\x1b\xc5\x60\xc5\x4b\x77\xa3\xf9\xb3\x1b\x41\x2d\xc3\x00\xb1\x80\xb0\x88\xc7\x96\xae\x8b\xec\xd3\xb2\xc4\xe2\xdf\xa9\xcb\x2a\x2e\x22\x46\x16\xc6\x38\xa6\x0c\x84\x87\x7d\xc3\x7d\xdc\xc2\xbe\xf9\x18\xaa\xe2\x92\xd9\x1a\xee\xd1\xf3\xeb\x3b\xf7\x4d\xf7\x4b\x17\xd6\xa1\x2c\xb2\xe3\x24\xc4\xc7\x63\x33\x24\xf0\x73\x71\xfd\x42\x6c\x87\xb1\xce\xe4\x3e\x37\xd7\xfc\xfb\x94\xdf\xd0\x44\xdf\x5a\x40\xe3\x47\x23\x56\xfa\xf9\x00\x91\x84\xa6\x94\xf9\xd8\x3a\xc3\xdc\xf9\xd4\x48\xcf\x8f\x54\xe9\x2d\x93\xf1\xa3\xe6\x60\x0e\xd7\x29\x50\xa9\x06\x6c\xe1\x48\xc7\x3b\xa6\xac\x05\x22\x97\x7a\x5c\x85\x8e\xae\x85\x59\xdd\xc4\xa1\x15\x48\x69\x40\x78\x70\x7e\x47\x4c\xb7\xe6\xce\x52\x11\x2e\x1c\xb4\x17\x34\x77\xe8\x00\xf1\x03\x0e\x00\x7d\x94\x62\x7e\xbd\xfc\xdb\x20\xa0\x0c\x59\x9e\x6e\x9b\x6c\x62\xc3\x87\xdf\xca\x4c\x77\x23\x88\xbb\xa9\x6c\xe2\x12\x61\x79\xea\x0e\xd4\x1a\x14\x37\xb4\xe2\x4f\x4c\xa2\x04\x1b\xa4\x1a\xdd\x10\x44\x3e\x1e\x18\x07\x69\x16\xf4\x65\xae\x17\xd3\x8d\xa9\xb1\x93\x10\xf6\xb5\xf9\xf7\x37\xc8\xde\x0d\xdf\x1e\xd8\xfb\x5c\x48\x8f\x00\x62\xf6\x1c\x6a\x34\x92\xd8\xd8\xd0\x01\x95\x78\x86\x45\x6c\xac\xe5\xa1\x56\x61\x32\x78\xb5\xfc\xb5\xe0\x39\x7a\xa6\x72\x3e\x62\xf7\xdc\x19\x1c\x11\xe3\x1e\xd7\xf9\x00\x94\xd1\x5a\x7f\x58\x02\x13\x80\x51\x37\x51\x80\x66\xc2\x5b\xe5\x1a\x41\x14\xec\x98\xf1\x98\x6c\x07\x60\x74\x5f\xf8\x2a\x9c\xff\x5a\x10\x93\x0f\x06\x37\x45\x5b\x3a\x2d\x91\x72\x4d\xdb\x7c\x75\xe3\xe1\x1e\xb2\xed\x40\x49\xe0\xe7\xb5\xd0\xb5\x43\x6c\x30\x7f\xab\x41\x2b\x4e\xe3\x0c\xb2\x81\x4b\x6b\xef\xd1\x92\xb7\xdd\x84\xa8\x01\xad\xa8\xd3\xdd\x6f\xe6\x1e\xc1\xb2\xfb\x00\x63\x8c\x66\x82\xe7\x99\x4f\x99\x77\xe9\x7e\x66\x1b\xac\x4c\x73\xce\xa6\xfc\xc4\xea\x54\x17\x94\x3d\x1a\x8a\x7f\xa9\x3d\x32\x80\xd8\x24\x2e\xc1\xb8\xb9\x2a\xad\x30\x87\x43\x44\x59\x94\xe4\x70\xf1\x49\x85\xa3\x47\x03\xea\xdd\x66\xf4\xd5\xdf\x8c\x57\x27\x53\xb6\x48\x4c\x79\x92\xd8\x6e\x8b\x0b\xb4\x28\x63\xfd\x44\x31\xc2\xe8\xe1\xf6\xbc\xb9\xef\x47\x5a\x77\xe6\x34\xdf\x9e\x65\x02\x81\xff\xf9\x81\xae\x15\x77\x59\x81\xc5\x23\x25\x52\xf7\xc6\xa5\x36\xd0\x55\x4d\xa4\x9f\xb0\x22\xdb\x66\x42\x19\x0c\xb0\x35\x22\xf5\x6a\xe0\x6a\x4b\xad\xc7\x5b\x22\x93\x15\xa8\x62\x10\x1a\xd4\x0e\x91\x16\x06\x6b\xc1\xc3\x35\xb0\x1b\xe0\xfd\x6e\xf3\xa9\xbc\xbb\x62\x3a\xcb\x87\x99\x10\xb2\x06\xda\xc0\x9d\x7e\xbd\xe3\x20\x4b\xaf\x2e\x1b\xe3\x33\x36\xd5\x17\xea\xa0\xbf\xb1\x95\xec\xd6\x61\xb6\x8e\x1c\x8d\x78\x2d\x7d\x8e\x88\x1f\x89\x0b\xc3\xf1\xb2\x98\xeb\x77\x06\xbe\x2d\x5e\x2a\xee\xe0\x2d\xb4\x0d\x84\x1f\x88\xad\x5b\x86\x4d\x68\xf1\x6b\x9c\x76\x06\x94\x2b\x3a\x3e\xb3\x1f\x5f\xd6\xe0\xe5\x3c\x2b\xba\x84\x2c\x3e\x0f\x9c\x92\x62\xa6\x4f\xb6\xeb\xf5\xff\x63\xef\xdb\x9a\xdb\x48\x92\x73\xdf\xf7\x57\x54\x84\x1f\x24\x9d\x03\x82\x3b\xb3\x61\xc7\x58\x11\x7e\x80\x28\x6a\x87\xbb\x12\xa9\xe5\x65\x66\x7d\x0c\x07\x54\xe8\x2e\x00\x6d\x36\xaa\x5a\x5d\xdd\xa4\x60\xaf\xff\xfb\x89\xca\xcc\xba\xf4\x15\xdd\x00\x29\xc9\xeb\x79\xb0\x77\x44\x00\x75\xbf\x64\x65\x7e\xf9\x7d\x1d\x4e\x48\xb4\x08\x0f\x6a\xd2\x5d\x76\x50\x83\xb0\xc6\x81\xba\x87\x54\x95\x2d\xe5\x11\xfd\xf0\x3c\x45\x3f\x53\xb1\x01\x17\x84\xd7\x0b\x32\x27\x5a\xd5\x15\x81\xda\x42\x29\xcf\xd7\xf8\x40\xd2\xa2\xd0\xaf\x5a\x66\xd8\xe7\x3c\x1c\x31\xc3\x07\x68\xb2\x86\x71\x4f\x30\xbf\xfb\x76\x9a\x6b\x65\x95\x5c\xd4\xdd\xca\x4e\xdd\x38\x60\xce\xf3\x89\x18\x91\xca\x91\x89\x3b\x36\x7b\xa5\x9b\x33\xe5\x48\x6d\xee\x4b\xbe\x75\x8c\x00\x56\x21\x98\xf2\xbb\xb0\x71\x4b\x01\xbc\xb8\xdd\x6d\x38\x5a\x84\x3b\x6c\x02\x89\x62\x76\xb5\x60\x2e\x67\xf6\x2b\x9e\xdd\xcb\x3c\xcc\x72\x34\xc0\x01\x1f\x8a\x68\x68\x78\x5f\x71\x3f\xea\xd4\xb9\x8e\x4e\x8c\x4d\xde\xac\xeb\x88\x9b\xf7\x9d\xbb\x8d\x48\x31\xc8\x71\x78\xf6\xaa\x35\x91\x7c\xfe\x11\x95\xdf\xd8\x2e\xd6\x94\xf8\xdb\x2a\xde\xff\x96\xb2\x8c\x11\x54\x50\x28\xfe\x8f\x18\xd2\x74\xe7\x97\xa9\x27\x89\xab\x55\xd6\xdc\xad\xc5\x51\xa7\x71\xc2\xb7\x8b\x5c\x75\xcb\x59\x0d\x18\x26\x5b\x44\xc5\xbf\xb3\x41\x79\x8b\x1d\xfb\x5c\xf2\x14\x2f\x37\x49\xcb\xd1\x36\x1b\x4c\xe5\x1f\xff\x89\xcd\xe0\xf6\x61\x1f\xe0\x5c\x84\x00\x3f\x94\x56\x28\x96\x6c\x33\x91\x6b\x25\x79\xa7\xae\xdb\xfd\x4f\x7a\x41\xda\x34\x0b\x1e\x45\xaa\x6c\xea\xd0\x8c\xe8\x49\x4b\x69\x61\xa7\x38\xbb\x2f\x97\x22\x97\x02\xb5\xeb\xe0\x7b\xcc\x7e\x6f\x50\x73\x15\x2f\x8b\xcd\x8f\x8b\x28\x4d\x06\x0b\xe6\x40\x76\xd1\xcc\xfc\xec\x0c\x7f\xd5\xd7\x81\x4a\xf9\x95\xa6\x4b\x86\x9f\x31\xfc\x6c\xca\xde\xf0\xe8\x5e\xc8\x98\x65\x69\xb9\x4e\x88\x4c\x00\x6e\x28\x38\x2e\x03\xf7\x6c\xb5\x63\x68\x5b\x60\xf9\xe6\x1a\x9a\xcb\x2d\xbf\x47\x12\x5b\x32\x22\x23\x9e\x76\x52\x51\x39\xb3\x7a\x91\x34\xd7\xee\xde\xd9\x72\xf7\x61\xb3\x98\xfa\xda\xd3\x25\xe6\x56\x3c\x6e\x14\x45\xa4\x2b\x56\xfd\x88\x8d\xeb\x56\x6b\x83\xf3\xc5\xe6\xe5\x3b\x15\x43\x6a\x0c\xee\x5e\x70\xf7\x02\x11\x73\x29\x19\x07\xda\x98\x17\x9a\x95\x99\xb5\xcf\xc0\x0f\x99\x42\x54\x18\xa7\xc0\x7c\x90\x25\xe6\x95\xb6\x11\x73\x09\x48\x5b\xe6\xba\xd7\x10\xbb\x62\xc2\x03\x62\xda\x8e\x86\x15\x92\x26\x1c\x17\xe3\x6c\xf0\x38\xef\x59\xa7\x03\x51\xc4\xc5\x46\xc8\xc5\x01\x74\xc2\xc3\x27\xad\x82\x18\x26\x33\xd8\xf9\x73\xdd\x10\x96\x32\x21\x01\x29\x72\xe1\x87\x5c\x99\xc9\xaa\x66\x46\x27\x9a\x69\x5e\x24\xda\x9c\x65\xad\x23\xee\xa9\x2a\x8e\x19\x75\x3e\x8e\x1f\xa3\x85\x1b\xa3\x36\x16\x2e\x2b\x61\xca\xde\x81\x17\x2c\x78\x19\x28\xc7\x34\xd1\x75\x60\x15\x1b\xd1\x49\xb9\xf8\x14\x70\x1e\xdb\x83\xe0\xfb\xbd\xce\x4d\x97\x81\x32\x65\x33\x1f\x7d\x40\xae\x0d\x8c\x2b\xec\xe9\x91\x48\xb5\x38\x64\xf1\x0d\x72\xd4\x41\x84\x1e\x16\x10\x03\x4b\x4a\x9b\xbf\x7b\x06\x79\xd7\xcc\x47\x48\xf2\xe4\xf7\x42\xf6\x79\x63\x86\xb7\x10\xdd\x65\xbd\x2e\x01\xe7\x87\x53\xe8\x8a\x3b\xa4\x81\xc3\xb7\x9d\xa7\x37\x49\x56\xa7\x66\xc8\xcd\x33\x24\xba\xa7\xd4\x12\xf4\xc6\x12\x41\xca\xe3\x46\xe9\x70\x9f\xd9\xf9\xc3\x97\x6c\x5e\x3a\x96\x70\x48\xcd\x71\x03\x8c\x98\x1c\xa9\x42\xfe\x14\x68\xb5\xdb\xa4\xe8\x69\x76\xf3\xcd\xec\x11\x0a\xc3\x00\x51\x2c\x5b\x54\x73\x37\xff\xf9\x27\x7d\x05\x3b\xf6\x29\x32\xf5\xdb\x65\x59\x8f\x47\xc9\x1f\x18\x1f\x70\xf8\x2f\xaf\xe9\xca\x63\xc7\x2d\x91\xa9\x98\xf9\xe5\x35\x5e\xc0\xf5\xdb\x77\xab\x26\xfc\x3a\xa8\x6f\xfb\x56\xf6\x87\x00\x44\xc0\x96\x65\x82\x1a\xea\x15\x83\x50\x59\x8b\x03\xf8\x8f\xe1\xfa\x4f\xb4\xbb\x4f\xda\xd7\xd8\x47\x15\x1f\xb3\xb0\xc6\xd3\xe9\x35\xd7\xf5\x00\x8c\xb1\x6e\xd3\x7c\xef\x19\x89\x4c\x75\xa3\x43\xe3\xc5\x70\x95\x74\x80\x03\x2c\xcb\xd5\x0d\xa8\x8b\x74\x31\x56\x04\xc4\xfb\x36\x05\xcd\xcc\xb3\xa9\xc6\x25\x44\x74\x4d\x0a\x45\x97\xfd\xf5\xcf\xd9\x9f\x6e\xae\x2e\x4f\xb6\x3c\xd7\x1b\x0e\x19\xc1\xb6\xac\x89\x15\x6c\xc3\xe7\xb1\x8d\x7a\x25\x72\x2e\x4f\xd8\x5a\x4d\x30\xc6\xfa\x9a\x6d\x8a\x22\xd3\xaf\x4f\x4f\xd7\x49\xb1\x29\x97\xd3\x48\x6d\x4f\xfd\xd0\x9c\xf2\x2c\x39\x5d\xa6\x6a\x79\x9a\x0b\x40\xd9\x9e\xfc\x30\xfd\xf1\x07\x98\x99\xd3\x87\x1f\x4e\x21\xb2\x36\x5d\xab\x7f\x78\xff\xe3\x3f\xff\xe1\x9f\x4c\xc1\xd9\xae\xd8\x28\xf9\x9a\x02\xb8\xbd\x65\x9f\xa0\x55\x7e\x8a\x3f\xa9\xd5\xf2\xcf\xd3\xdf\x87\xcd\xa0\xaf\x6e\x55\x2c\x52\x7d\xfa\xf0\xc3\xc2\x4e\xcc\x34\xdb\xfd\x86\x4b\xfd\x66\xb8\xd4\xfb\xa4\xf8\x0d\x97\xfa\x4d\x71\xa9\xc3\x2d\x1c\x77\xc6\x00\xd1\xa7\x3f\x1f\xcd\xdf\xdd\x19\x69\x5d\xef\xfb\xce\xa1\x96\xcb\x21\xcc\x1a\x38\xe2\x8a\xb8\x17\xa3\x9e\xd8\xb5\xee\xba\xa7\x43\x87\x8b\x6d\x2c\xd9\x7e\xa7\x31\x3f\x2a\x49\x1a\x50\x20\x49\x04\x44\xce\xe8\x12\xcc\x78\xd2\x86\x36\x25\xb4\xd3\x31\xe3\xf7\x9c\x94\xe4\x4f\xcd\x45\x4e\xdd\x3d\x90\x87\x3c\xc5\x5f\x5b\x6c\x96\x7a\xb4\xfc\xe3\x4f\xc1\xda\x3d\x50\xc7\xd5\x91\x11\xe3\xe2\x81\xb6\xd8\x76\x75\x34\x63\xc3\xf5\x61\x20\xbf\x19\x52\xfe\xb9\x38\x9d\x53\xc5\xa7\x0a\xed\xc5\x61\x59\x14\x40\x24\x9c\xc8\x9a\xb2\x32\xcf\x94\x16\x7a\xca\xde\xd5\x94\x0e\x3d\x70\xf1\xfa\xdd\x19\xfb\xe1\xa7\x7f\xfe\xc3\x5c\xbe\x6c\xb9\xb7\xe1\xbc\x57\xf9\x9a\x70\x94\x70\x5b\x6f\xb9\x2e\x44\x7e\x9a\xaf\xa2\x53\x3c\xe5\x4e\xcd\xef\x4f\xa8\xd2\x13\xb5\x3a\x71\x94\xc4\x27\xc4\xce\x3a\xdd\xc6\xe3\x08\x06\x2a\x4b\x0f\xef\x1a\xba\x68\x34\x5c\x4a\x48\x45\xa4\x56\x8e\x7c\x1e\xf3\x5c\x50\xa7\x42\xad\x5a\xfe\xe3\x4d\xaa\x96\xfa\x95\x23\x40\xe3\xda\xd6\xe1\x19\x89\xba\xb7\xe6\xd3\xb0\x93\xdb\x25\xf2\x9c\x8e\x0a\x7b\x96\x84\xcf\x91\x31\x03\xdf\xbe\xd9\xfc\x75\x8f\x7c\x0c\x3c\x57\xa5\xb4\xec\xce\x4a\x0a\xb5\x02\x14\x1f\x58\xc2\x16\xa5\x00\xbe\x5a\x73\xd3\x7a\xee\x85\x5c\x64\x78\xc1\x40\x54\xa1\x7b\xb8\x8f\x64\x38\xdf\x37\xce\xcf\xc1\x70\x7e\xec\xb8\xd3\x81\xf2\x8d\x06\xfc\x58\x28\x21\x6e\xa5\x31\xa8\x0a\xf3\xfd\xbd\x11\x54\x77\x0e\x78\xf5\x21\x4f\x26\x9c\xf1\x1c\x8c\x34\x71\x52\xa8\x13\x20\xad\x01\x2a\x14\xd4\x1c\xe8\x82\x55\x40\xe4\x79\xcc\x35\x69\xbe\x3f\xa0\x9d\x68\x98\x7f\x09\x1a\x4a\x36\x89\x46\x0a\x4f\x82\x64\x25\x52\x8a\x9c\x62\x6a\x7b\x6f\xd4\x91\x71\xe9\x70\x2a\xfb\x11\x59\x81\xae\x75\xc0\x07\xef\xf0\xf8\x3c\x38\x04\xa6\x0c\xac\xcf\x8d\xda\x2a\x63\xce\xa8\x52\x07\x1f\xe2\xeb\x05\x2e\xe1\x4e\xdb\x6b\xcb\x33\x24\xa9\xfb\x76\xbd\x31\x5b\xcb\x7c\x84\x4e\xbd\xf0\x4b\xa3\x24\x36\x96\x55\x51\x81\x3d\xed\x77\x6c\xf0\xfd\xeb\x06\x50\x0f\xa8\x53\x07\x52\xb1\xc4\xf1\x9c\xfc\xa7\x79\xd7\x98\x25\xe5\x5e\x0a\xee\xe6\x46\x90\x0e\x72\x31\x86\x74\xaf\xd6\x9a\xef\xcc\x96\x2e\xb7\x23\xe7\xc0\x81\x8c\x87\x4c\x00\x97\x08\xbb\xb5\x78\xdb\x93\x56\xc0\x6d\xd7\xbe\xb4\xc2\xac\xf1\xc2\xf2\x85\x8e\x6b\xea\x8d\x2b\x80\xa8\x41\x9b\xed\xf6\x74\x4b\x80\xce\xc6\x31\xc6\x03\xc1\xda\x16\x1d\xa0\x1b\x39\x7e\x33\x82\xc0\xca\x98\xb1\x83\x4a\x70\x71\x36\x46\x30\xd8\x0b\x5d\x03\x38\xce\xc5\xd6\xe7\xb1\x6a\x83\xf3\x23\x43\x9d\xcf\xde\x31\xad\x6c\x3c\x1e\xdd\x0f\x1f\xbc\x0a\xf5\x2e\x13\x13\xb6\x2c\xe1\xf3\xcb\xab\xdb\x10\xad\x91\x60\x6f\x4f\xa2\x8d\x88\xee\xc1\x61\x82\x57\x9e\x13\x6d\x24\x36\xbc\xb9\xf4\xd2\x5f\x85\xb2\xd0\x83\x9d\x63\x43\x77\x8a\x00\x2a\x67\x71\xa2\xb3\x94\xef\x20\xc8\x2b\x11\xa7\xef\x03\xc4\x2e\xc1\xc5\x1c\x05\xfb\xfc\xc5\xc3\x67\xda\xcc\xca\xcc\xff\x6e\xec\x58\xf2\x7c\x99\x14\x39\xcf\x77\xcc\x0f\x66\xf3\x3c\x60\x5a\x6c\xb9\x2c\x92\x68\x2e\xb7\x82\xcb\x10\x95\x47\x41\x6e\x33\xc8\xb1\x12\xc4\x17\xbc\x5a\x89\xa8\xf0\x84\x83\x60\xbc\xbb\x91\xda\xb7\x07\xc7\xf5\xdd\xed\xbc\xde\xae\xff\x9c\x48\x4c\x6f\x4f\xb6\x80\xf9\xa4\x35\x44\x57\xe3\x81\xc1\x1b\x90\x8a\xa3\x2b\xd7\x3e\x06\xe1\x5f\x76\x4d\xb1\xa5\x28\x1e\x05\xe4\xd3\x53\x02\x60\x9b\x8d\x7f\xb4\x5c\xc0\x71\xea\xbf\xed\xba\xc9\x01\x12\x0c\x37\x58\x08\x26\x73\xc4\x3f\xb2\xc6\xe0\xf3\x82\x52\x12\xc1\xdb\xf3\x82\xfc\x56\x2f\xe0\x9a\x36\xaf\xc7\xfc\x41\xc4\x73\x59\xa5\x55\x22\x9b\xd1\x6f\x38\xe6\x85\xb0\x9e\xe6\xb4\xb1\x63\x3c\xc8\x97\x7f\x0e\x54\x12\x9e\x44\xd2\x25\xdd\xf5\x08\x73\x61\xa7\x9f\xf3\x55\x65\x35\x01\x43\xeb\x7e\x00\x24\x4b\x68\x2b\x74\x43\xba\x78\x15\x3c\x85\x5b\x94\x8e\x34\x06\x19\xe5\x1c\x00\x96\xfc\x92\x0d\x4f\x67\x5b\x19\x73\x69\xb3\xa9\x57\x65\x8a\x2c\xa1\x5d\x52\x61\xc4\x21\x65\x33\x3f\xbe\x5d\x06\x90\xf3\xab\xb1\x40\x5b\xcc\xc1\x1e\x02\x30\x32\x9e\x75\x76\xd5\x0b\xa9\x51\x90\xda\xca\x0a\x81\xe3\x79\x2d\x0a\xb8\xcd\xe3\x32\xc5\xe4\x60\xf0\x98\x03\x1f\x15\x4f\x53\x96\x14\x7a\x2e\x1d\x7d\x16\x92\xa1\xc3\x09\x6b\x5d\xea\x56\x91\x56\x3a\x5d\x5b\xd2\xee\x07\x3b\x2c\x89\x92\xa2\x01\xe1\xde\x85\x52\x1c\x59\x26\x38\xe6\xb2\xe1\xb4\xcd\x65\xf8\xe6\xaa\x4f\x02\x25\x7e\x81\x46\xf9\x53\xe4\x60\xf5\x20\xf2\x41\xd8\x7d\xf4\x94\x4c\xd9\x0c\x7b\x67\x1e\x5c\x56\x65\x13\x5b\x4b\xf9\xf3\x84\xb4\x34\xaf\x9a\x42\x5b\x1f\xb9\x7f\xb7\x82\x9c\x73\x54\xa6\x3c\x4f\x81\x93\x7e\x55\xa6\x2c\x59\x05\x82\xa1\x30\x07\x48\x9e\x64\xa6\x2b\x52\x70\x57\x5b\x2f\xb9\xe6\x5b\x11\xe4\x6d\x93\x7b\x27\x0d\x30\x14\xc8\x08\x8d\xc1\x79\x53\xd6\xab\x29\x7b\x5b\x57\x98\x87\x3d\x11\x90\x2e\x26\x1a\x8f\x3f\xd7\xde\x20\xe5\x10\x95\xea\x93\x95\x79\x52\xbe\x08\x76\x5d\xc7\x0c\x02\x79\xfb\x38\x80\x86\xa5\xee\xef\x47\x0d\xb7\xa6\x1c\x9b\x9f\xd6\x60\x1b\x6e\x43\x74\x34\xd0\xde\x0a\x23\x1b\x19\x12\x56\x1e\xd0\x50\x47\x08\xda\xd2\xd8\x6d\x8f\x3e\x29\xcc\xe3\xc8\xa6\x06\x6a\x3f\xe3\x1b\x1a\xac\x9c\x10\x8e\x33\x64\x64\xd7\xbc\x18\x8b\xcd\x71\xc9\x38\xe3\x1b\xda\x8a\x83\x1a\xd2\x4c\x38\x3d\x46\xb6\xd3\x4b\xf0\x8f\x6f\xa8\x93\x7e\xf6\x7a\x00\x5e\x13\xbf\x92\x43\x69\x99\x0e\x5d\x0f\xf4\x5c\xd2\x65\x37\x3e\xfd\x73\xe6\xd7\x1c\x08\x1e\x31\xd3\xfc\x29\xbb\x92\x02\x91\x73\x6a\x15\x5c\x2a\xd4\x00\x52\x46\x02\xb2\x79\x19\x48\x50\xa7\x89\xbc\xb7\xd4\x12\x66\xcb\x4d\x18\xf7\xa5\xc3\xa9\x87\xcb\x06\x4f\x91\x0e\x5b\xb2\x4d\x9a\xe1\x08\xf3\x72\x58\x82\x66\xfb\x9b\x3f\x00\xa0\x8e\x3f\x01\xda\xfa\x31\x7c\x5a\x7a\x91\xe4\xee\x15\x57\xd1\x18\x0f\x51\xa3\x45\x52\xec\xf6\x8d\xef\xc7\x4d\x15\x85\x38\x42\xc8\xe8\xee\xf2\xed\xf9\xbb\x8b\xcb\xaa\xfa\xd0\x5f\xee\xce\xef\xaa\x7f\xb9\xbe\xbb\xbc\xbc\xb8\xfc\x63\xf8\xa7\x9b\xbb\xb3\xb3\xf3\xf3\xb7\xd5\xef\xbd\x9b\x5d\xbc\xaf\x7d\xcf\xfc\xa9\xfa\xa5\xd9\x9b\xab\xeb\x9a\xde\x91\x15\x2b\x0a\xfe\x74\x7b\xf1\xe1\xfc\xed\xe2\xea\xae\x22\x99\xf4\xf6\x5f\x2f\x67\x1f\x2e\xce\x16\x2d\xed\xb9\x3e\x3f\xbb\xfa\xe5\xfc\x7a\x8f\xe2\x91\xef\x6f\xeb\x90\x3e\x05\x7c\xec\x60\xfd\xab\x19\x5b\xe5\x89\x90\x71\xba\x43\xec\xbd\x7d\xd9\xd6\xc0\xb4\xe1\xdd\x9b\x6c\x85\x2a\x8f\x81\xd0\xdf\x6e\x50\xa1\x1e\x58\x30\xb0\x34\x4a\x99\xe5\xfa\xbe\x93\x23\xb1\xc8\x9b\x51\x81\xde\x4c\xa1\x22\xdf\xb9\x5c\xb4\xbe\xe6\x78\x06\x25\xaa\x84\x65\x22\xef\x6b\x0b\x58\x46\x79\x99\x15\xc9\xb2\x3b\x29\x62\x20\xb3\xd0\xf8\xb7\x37\xf2\xfd\xb5\x93\xa3\x5c\xb6\x1f\x8c\x95\xdc\x80\x63\x80\xc7\x50\xc2\xa1\xb2\x6e\xee\xd7\x16\xac\x99\x95\xcb\x34\x89\x58\x12\xd7\xfd\x29\x98\xc2\x86\x2e\xe3\x3a\x2d\x68\x26\x72\x30\x55\xcd\x0b\x20\xcb\xc5\x09\x2f\x8b\x8d\x55\x9c\x77\x99\x8c\x48\xd3\x29\xa2\x5c\x60\x2c\x40\x68\x70\xd2\xa2\x9e\x57\x50\x13\x34\x86\x32\xb8\x63\x20\x8b\x99\x06\x14\xed\x1d\x31\x02\xfc\x25\x96\x3e\xc2\x49\x8a\xdf\xef\x1d\x1a\x6a\x71\xa2\xeb\x62\xce\x70\xc3\xe3\x87\x56\x15\xcc\xf4\xdb\x9c\xd4\x4e\x15\x0b\x27\xd9\xe6\x6e\xb4\x77\x63\xdf\x1a\x0b\x17\x4a\x35\x99\x81\x4a\xa7\x8f\xce\x72\x01\x97\x08\x41\x01\xac\xff\x02\xa0\x2b\x94\xeb\x01\x29\x1e\xe6\xa9\xb6\x14\x1b\x9e\xae\xd0\xe2\x30\x53\xe3\xf7\x55\x73\x89\xde\xaa\x7b\x21\xaf\x71\xc2\xbe\xc9\x71\x28\xf1\xe5\xe3\x73\xfa\x9d\x47\xc8\xbb\x30\x4d\x1b\xed\xaa\xb2\xb9\x6e\x60\x4c\x15\xf8\x4e\x08\x3e\xc6\x94\x0e\xcf\xd8\x6b\xd3\xe4\x56\xab\xe4\x8b\x29\x70\x2e\x45\x2b\x67\x29\xe0\x85\x2c\xbb\x92\x3b\x97\x01\x1b\x85\x14\x35\xf7\x42\x82\x9e\x18\xca\x0d\xef\x5d\xb3\xe3\xfc\xe7\xcd\xb9\xe8\x71\xe8\x83\xcf\x2f\xa9\xc8\xac\x85\x51\x1e\x3b\x4e\x05\xe6\xd8\x4c\xd9\x5b\x22\xde\x30\x7f\x39\x7b\x7f\x71\x7e\x79\xbb\x38\xbb\x3e\x7f\x7b\x7e\x79\x7b\x31\x7b\x7f\x33\x74\xfb\x3d\x45\x5e\x54\x6d\xf7\xd5\xd3\x83\xdc\x09\x71\x4a\x3b\xcf\xa7\xe7\xba\x4e\xf9\x6d\x07\x53\xb2\xbf\xf5\x49\x9c\x2d\xe2\x44\x47\xe6\xfa\xdb\x2d\x84\x8c\x81\xec\xf9\xa0\xa5\xda\x5e\x54\xbd\x17\xee\x1b\xcc\x7d\xc3\x9e\x20\x78\xdb\x3d\xd8\x15\xed\x3e\x07\xd4\x1d\xb8\x21\x73\x61\x36\x7f\x6c\xde\x07\xee\xb6\x99\xee\x57\xf8\x30\xc5\x1d\xd7\xb7\x6a\x11\xf5\x3e\x61\x7b\x13\xad\x4b\x6e\xce\x47\xfb\x35\x80\x1c\x76\x8c\x0a\x31\xf0\x85\x8c\xd3\x49\xa0\x96\xca\x12\x3d\x97\x5b\x2e\x63\x5e\xa8\x7c\xd7\xd1\xc5\x61\x87\x67\xb8\x6d\xaa\x47\x68\x78\x65\x4b\x21\x62\x3b\x0b\xf8\x55\x2e\xeb\x4b\x09\x79\xa9\x6f\xaf\xfe\x7c\x7e\x79\xb3\x38\xbf\xfc\x65\xf1\xf1\xfa\xfc\xdd\xc5\x5f\x1d\x12\x32\xe3\xba\x4d\x1d\x31\xcb\x85\x39\x5d\x2c\xcd\x47\xeb\xf9\x82\x92\x85\xb6\x1c\x92\xa9\x4a\x56\x73\x69\x4f\x96\xdc\x17\xbf\xc9\x55\xb9\xde\xb4\x17\x54\x6f\xe5\xc7\xd9\xed\xcf\x07\x35\x13\x48\x98\x50\xd7\x0c\x77\x5b\x13\x11\x9a\xac\xe8\xdc\x43\x18\x69\xad\x79\x40\x25\x06\x5f\x6d\x8b\x32\x74\x9c\x68\x07\xbd\x5e\x9a\x87\x56\xaf\xf1\xdf\xf2\xf5\xae\x05\x74\x1b\x9c\x9b\x95\x6b\x04\x10\xca\x28\x8f\xd9\x28\xed\x75\xcb\xdf\x2a\x37\xd8\x8f\x27\xa9\x58\xaf\x45\x8c\xcb\xab\x5e\x30\xf9\xe0\xe8\x08\x8c\xfc\xbd\xde\x36\x8a\x24\x60\x77\xc4\xc5\xec\xf0\x5e\xc3\x0f\xf0\x8f\xee\x27\xed\x67\xc5\x99\x15\xc9\x8e\x94\xd4\x05\x97\x1d\x81\xe4\x87\x26\x42\x73\xd0\x51\x74\x95\x33\x97\xfc\x44\x0e\x13\x1b\x32\xf0\xfb\xa0\x0b\xf0\x72\x3c\x2e\xd4\xb5\xe3\x5a\x64\x29\x8f\x84\xcb\x61\x40\x06\x3c\x78\xd7\x1f\x12\xc0\x23\x99\x40\x49\xfe\x96\x40\x3e\x30\xd0\x14\x6f\x59\x02\xe0\xb9\xbd\xb6\xe7\xf1\xf3\xbb\x56\x7a\x1f\x6e\xc4\x7b\x05\x8e\x66\xd4\x69\x22\xe8\x3b\xfa\xa2\x40\xfc\xac\x13\x96\x3c\x6a\x39\xd4\x6a\xfe\x85\x26\x1e\xdf\xcc\x55\x47\x37\xb7\xcc\x72\x6e\x79\x38\xd3\xb1\xcf\x5f\x58\x14\x79\x2f\x19\xe5\x53\x84\x23\x3e\xe6\x6a\x9b\x68\x31\x2b\x8a\x3c\x59\x96\xa1\x1a\xdf\x48\xc0\x5c\xe5\x71\xe2\x3b\x9c\xe5\x2a\x2e\x23\x4b\x09\x04\xbd\xf5\xb0\x1f\xf2\xf2\x59\xab\x23\x66\x27\x66\xf5\xd1\xcb\x4d\xc4\x27\x00\xe8\x9f\xcb\xae\x18\x9b\x3d\x18\x3b\x7c\x7f\x1f\xed\x55\x7e\xcc\x92\x6c\x59\x14\xdd\x83\x69\xd7\xc0\xb0\xc4\x5a\x66\xbf\x0e\x16\x70\x07\x6a\x8a\x96\xcb\x92\x63\x00\xbd\x6a\xa3\x74\x31\x80\xb8\xab\x66\x1c\xb8\x6b\x18\x36\xa6\x9a\x31\x83\x76\xc3\x86\x6b\x34\xe7\x8b\x68\x53\x6d\x38\xf4\xa6\xca\x9a\x57\x6f\xae\x33\x8f\x8f\x73\x9b\x0c\x0a\xa3\x4d\xd0\xd1\x90\x90\x63\xbb\xa2\x80\xe6\xe4\x1c\xc7\x79\xbb\x43\x8b\xd1\xbd\xe8\xf0\x32\x80\x73\x34\xe5\xa5\x8c\x36\x2c\x4b\x39\x26\x93\x6f\xb8\xc6\x25\x6d\xb1\x24\x7c\x99\xa4\x49\x01\x2c\x3d\x18\xe2\xac\x8d\xb0\x79\xe6\xf1\xfc\xde\x12\xe3\x72\x4f\xc9\xd4\xb7\xe8\x8f\xc4\xec\xba\x5e\x7d\x55\xd4\xae\xdf\xb2\xe1\x31\x34\x6c\x59\x12\x62\xd7\x4f\x87\x39\x88\x61\x59\xfa\xbe\x8c\x9b\x59\x2a\xf1\x63\xfd\xe7\x95\xf1\x6e\xb1\x5e\xc6\x23\x56\x88\xf1\x7d\xc4\xed\x53\xe7\x83\x6f\xdd\x59\xab\x54\xf1\x0e\x4d\x62\x5b\x36\xd2\xbb\x77\x95\x1d\xab\x72\xd9\x45\x28\x8c\xad\xea\x2f\xbd\x2f\x18\x62\xf7\xed\x53\x39\x4b\xc3\x03\x90\x17\xa2\x48\xc6\xf9\x7b\x82\x4e\xf3\x42\x9c\xc0\xcf\xdb\x0b\xa7\x0c\xc3\xc1\x7d\x6e\x2c\x34\x2f\x32\xe2\x8c\x36\xc0\x12\xb6\xad\xae\xda\xed\x7c\x0c\x26\xfc\xc8\xf9\x4a\xe4\x9e\xa5\xb4\x5f\xb7\xe0\x0f\x3f\xb6\x0c\x4b\xa3\xd3\x7f\x29\xb9\x39\x0f\xaf\x56\x37\xc8\x95\x73\x4c\xa7\x8b\xa4\xb9\xad\xda\x8f\x9f\x7a\xad\xb7\xd5\xf0\x5a\xb8\xf0\x07\x67\x22\xb7\xf5\xe6\xc6\xfc\x7a\xf8\x29\x74\x51\x71\xa3\x65\x79\xa2\x80\x33\x46\xad\x90\x81\xb1\x9b\x6e\xb2\xb5\xde\x23\x46\xf2\x73\x29\x4a\x61\x16\xd0\xb2\x8c\xd7\x4d\x2f\xf7\x08\x4b\xd9\x77\x69\xa3\x1e\xd9\xb6\x8c\x36\xcc\x16\xce\x62\x91\xf2\x5d\xa5\x6b\x60\x24\x16\x2a\x05\x02\xe7\x03\xd9\x64\xa3\x52\x17\x6a\x0b\x00\x63\x5f\x6e\x5e\x4a\xd8\xe5\x8c\xdb\xdd\xd5\x76\xbe\x57\xd8\xe5\x0e\x0c\x6d\xde\x7c\x3c\x3f\xbb\x78\x77\x51\x8b\x2b\xce\x6e\xfe\x1c\xfe\xfb\xd7\xab\xeb\x3f\xbf\x7b\x7f\xf5\x6b\xf8\xb7\xf7\xb3\xbb\xcb\xb3\x9f\x17\x1f\xdf\xcf\x2e\x2b\xd1\xc7\xd9\xed\xec\xe6\xfc\x76\x4f\x80\xb1\x59\x6b\xf7\x44\xf0\x80\xfc\xce\x42\x9e\x2d\x0b\xb8\xf5\x33\x50\xad\xaf\xd9\xcc\x52\x01\x56\xc8\x2a\x6d\x90\x18\x50\x25\xa8\x89\x4d\xb1\xe4\xb7\xbc\xe0\x67\xbc\xe0\xa9\x5a\x4f\xd9\x8c\x11\x20\x1c\x81\xfe\xda\x58\x48\xc4\x93\x66\x66\x07\x8b\x30\x66\x52\xe4\xdf\xf0\x5e\xe6\x50\xad\x88\xa1\x30\x15\x21\x21\xbe\xcd\x6a\x9b\xcb\xf3\x07\x21\x8b\x12\xd8\xba\x79\x9a\x32\xaa\xd6\x7e\x21\xc8\xd8\xb7\xad\xd4\xc9\x36\x49\x79\xee\x15\xe9\xae\xa8\x2c\x78\xa5\xd8\xb6\x3a\x82\xa6\x66\x3a\xb8\x7d\xc8\xdd\x5d\x30\x68\xf7\xd9\xfb\x0b\xb0\xfb\xa2\xc2\xca\xad\xd8\xca\xe7\x12\x19\xf0\xa8\xc6\x2d\x87\xe4\x93\x42\x91\x67\x15\xab\xa7\x2f\x77\x2f\x44\x7d\xcc\x26\xb6\x31\x88\xe7\x7a\x51\xba\x46\xda\xff\x38\x97\x45\xbe\x1b\x6c\xcc\xdd\x42\xb6\xb5\x06\x83\x9c\xb0\x6c\x55\x95\x3a\x74\x7c\x31\x5b\xfa\x25\x58\x78\x16\x68\x49\x71\x19\x17\x7e\x41\x5c\x4b\xc7\xa3\x23\x35\x37\xef\xf7\x3a\x0e\x21\x21\x0e\x8c\xc2\x52\x95\x32\xd6\x84\xba\xdb\x26\xf2\x74\xcb\xbf\xbc\xb2\x3d\x45\x82\x09\xa7\x15\x01\xe4\x61\x22\x35\xcf\xaf\x9d\x39\xe4\xfa\x87\x6b\x2e\x7b\xc6\x6b\xbf\x89\x6c\x4f\x56\x78\xeb\xf9\x87\x39\xe2\x07\x1f\xc4\xae\x6d\xfe\x1a\x7a\x3f\x88\x51\xa4\x0d\x0f\x85\x64\xb9\x30\x5f\x74\xe0\xc4\x14\x31\xa7\xee\xdf\x90\x84\x50\xd1\x24\x6c\x3f\xbb\xc3\x78\xff\x51\xdb\xa6\x15\x69\xf0\x0c\x82\x4d\x54\x93\x99\x33\xc4\x1d\x58\x97\x37\x25\x5d\x50\x40\xd5\x4c\xd6\x7f\xa8\x25\x5b\x41\x06\x12\x69\x8e\xe7\x02\x42\x1c\x30\x15\x96\x61\x1c\x28\xa6\x1a\x60\x06\xbb\x04\x52\xa1\xc1\xf1\x2f\xcd\x1b\x53\x7c\x2e\x29\x76\xfb\xc3\xef\xc7\xdd\xb3\x45\xbe\x63\x56\xcd\x22\xcc\x80\xa2\x04\x40\xba\x73\xa1\x5d\xa5\x4c\xda\x78\xe7\xae\x4b\x69\xae\xe2\xa7\x80\xbd\x0c\x8f\x6b\xd6\x2a\xa5\x7f\xee\x4d\x12\xb2\x2e\xf9\x1c\xbf\xff\x6c\x34\xa2\xbf\xd4\xd8\x43\xa9\x3a\x80\xa4\x53\xe9\xe1\x85\xb6\xe4\xd1\xfd\x23\xcf\x63\xf4\xdb\x02\x0e\x65\xca\x7e\x56\x8f\xe2\x41\xe4\x13\x16\x89\xbc\xe0\x44\xdd\xa5\x21\x10\x0f\x1b\x8a\xca\x99\x4b\xc8\xd0\x40\x1e\x34\x09\x72\xed\x45\xb2\xde\x98\x47\x74\x00\xa3\x50\xb9\x39\x8e\x0a\x64\x6d\xcc\x44\x44\x64\x49\x1d\x03\xb0\x4a\xf9\x43\x93\x8b\xec\x10\x96\x07\x76\xe1\xd2\x4c\x6d\x9c\xd2\xaa\x36\xf4\x01\x5f\x68\xc0\xe8\xd0\x44\x7a\x9b\x09\x5b\xab\x94\xcb\xf5\x74\x3a\x65\xa2\x88\xa6\xaf\x46\x2d\x74\x2a\x30\x8c\x7c\x3a\x78\x75\xaa\x94\x16\xe9\xce\x11\xfc\xb8\x04\x18\x40\x5c\x7e\x29\x84\xd4\x09\xfa\x79\x5a\x96\xff\x4d\x3d\x2a\xf0\x75\x83\x28\xed\xcf\xf3\xd1\xe9\x95\x1d\xe5\x80\x08\xd4\x88\x92\xf0\xfb\xed\x2f\xaf\x83\xd2\x85\xdb\xcb\x92\x4a\x8e\xcd\x81\xfd\x45\x75\x49\x9a\x1f\xc4\xbb\xd7\x5a\x12\x91\x94\x1c\x94\x37\xd8\x3e\x66\x8d\x54\xce\x23\xb2\x38\x7b\x12\x32\x47\xe6\x62\x0e\x71\x04\xdc\xd4\xa7\x7b\xf4\xb6\xd8\xaf\x4b\xd1\xda\xa1\x91\xb9\xae\x3e\x29\x7d\x8c\xe9\x84\xe9\x72\xe9\x0e\x5e\x5c\x2e\xf3\x15\xdc\xe9\x71\x10\x0e\xa8\x44\x3b\x20\x07\xcb\x87\x4b\x1c\x79\x54\x10\x1d\xd1\x85\xca\xf9\x5a\xb0\xad\x88\x93\x72\xdb\x7a\xd8\xb8\xe6\x1e\x83\xfb\x53\x69\xb9\xed\xa6\xf1\x3b\xd6\x80\xf6\x8d\xc4\xff\x3a\x83\xea\x06\x1b\xd0\x5e\xbc\xdf\xca\x03\x51\x7b\xd1\xf7\x4f\x63\x6d\x6e\xca\x3c\xd1\x40\x38\x79\x48\xca\xa3\x2b\x06\x8b\x86\xc8\xe9\x2e\x43\x9f\x73\x65\x76\x4f\x6c\x48\x8b\x7e\xa2\x71\x56\x21\xdc\xda\x7d\x29\xd4\xd1\x84\xa3\xe7\x08\xc4\x67\x0e\x8a\x70\x83\xd9\x18\xd0\xc0\x13\xdc\x09\x0a\x24\x4c\x46\xa1\xd8\xca\x26\xd1\xdd\x8b\x80\x96\x2c\x06\x82\xf8\x47\xe4\xb8\xf9\xf3\x4f\xda\xa2\x37\x08\x60\xe3\x2d\x96\xc2\x57\x82\x01\x91\x87\x1f\x2c\xae\x0a\x7b\x88\x45\x00\x79\x58\xcc\x65\xd1\x5a\x80\x87\x1d\x42\x59\xf8\x93\x5f\x78\x99\xb6\x7f\x9d\xca\x87\xaf\xa2\xd8\xd4\xec\xd7\x1b\x86\x43\x4d\x54\xe2\x79\x5f\x43\x83\x42\xf6\x23\xbb\x60\xb8\x16\x07\x58\x82\x95\x79\xc0\x41\xb7\x5c\xf2\x66\xd8\x45\x11\x6d\xbc\xe5\x51\x55\x8d\x26\x25\x41\xea\xe7\xd6\x93\xa3\x23\x68\x36\x44\x1f\x26\x6b\xa9\x42\x5d\x0f\x25\x05\x44\xa6\xcc\x01\xa4\xc2\x62\x59\x52\xec\x87\x78\x8d\x64\x0c\xdb\xb7\xd4\x0a\x85\xd0\x1d\xea\x67\x25\xc0\x08\x4f\x8a\x04\x79\x86\x2c\x3e\x16\xdf\x44\x24\x4c\x57\x27\xcd\xae\x32\x37\xcc\x65\xb5\xaa\xc6\x20\x59\x0c\x56\x92\x0b\xe4\xba\xd5\xc6\x7a\x2b\x92\x07\xb3\x51\x9b\xcb\xda\x2d\x50\x38\x01\x9a\x6b\x6f\x2e\xb1\xd9\x01\x61\xee\xbd\xd8\xe9\x50\x05\x8f\x56\x14\xeb\x5a\x90\x89\xe9\x0f\xcd\xd7\xfe\xa9\x80\x81\x5b\x04\xaa\xfe\xc3\xee\x32\xac\xf4\x83\xf9\x71\x0f\xb8\xb3\x51\xb8\x59\x83\x3e\x4b\xd1\xfb\x14\xe9\x98\xf0\xe3\x4c\x73\xe8\xf1\x5b\x80\xce\x0b\xf1\x77\x61\xca\x09\x3c\x7c\xcd\xfb\x76\x2e\x89\x53\x3b\xb8\xe4\xcc\x81\xd3\x9c\x36\x4a\x9d\x46\x26\xdf\x5d\x85\xf6\x05\x68\x0f\x2d\x05\x64\xb5\x4a\x1b\x6c\xb5\x22\xaa\x73\x09\x55\x63\x72\xa9\xf5\xe1\xb5\x56\x78\x20\x28\x90\x26\xb7\x13\x08\x18\x64\x70\xe1\x37\x89\xf9\x0f\xe5\x14\xf1\xf5\x13\x09\x33\x7c\x33\xd9\x8a\xc1\xb3\x08\xbc\x9b\xf3\xb3\xeb\xf3\xdb\xaf\x06\x14\xb4\x28\xbd\xd1\x48\x41\xdb\xce\xb7\xe7\xef\x66\x77\xef\x6f\x17\x6f\x2f\xae\x9f\x03\x2a\x48\x1f\x1d\x80\x15\xbc\x21\xaa\xfe\x33\x25\x0b\xf1\xe5\xa8\x3b\x39\x2f\xe5\x82\x8f\xc8\x59\x71\x62\x1d\x7d\xe6\x0e\x16\xda\x94\x1a\x70\x3a\x00\xc4\x3b\x89\x37\x9a\x53\x16\x58\x79\xa7\xe1\x2a\x49\x53\x48\xe1\x75\xee\x75\x4a\x0f\x33\x83\x0a\xe7\x8f\xa5\xda\xa4\x33\x75\x2e\x97\x15\x25\x08\x70\xf9\x6d\xcc\x23\x18\x93\x77\x33\x33\x00\x79\x02\xa9\x91\x7d\x6a\x04\xeb\x44\x0a\xdf\x0c\x94\x3e\x2e\x25\xeb\xa4\x90\xa6\x49\x7c\x4e\x48\x14\x19\x5e\x43\x6d\x4d\xbb\xe2\x2a\xeb\xd3\x9a\x9f\xf6\x43\xd7\x43\xdc\xc4\x89\x44\xc3\xb4\xb2\x9b\x6f\xda\x97\xee\xa9\xdf\x02\x30\xee\x66\x26\x39\xc4\x20\x40\x5d\xd8\x4f\x24\x4d\x04\xaa\x14\xf9\xe0\xc4\x7d\x82\xd0\x21\xb5\xaa\x8d\xb3\x39\x0a\xcd\x58\x27\x10\xa9\xe0\xc4\x4a\x12\xa5\xa5\x2e\x44\x4e\x6e\x93\xd9\xaf\x37\x73\xf9\xc6\x5c\x5f\xaf\xe8\x16\x22\x25\x1b\xac\x02\x81\x2b\xaa\x52\xbf\xb5\x50\xc2\x13\xec\x25\xfa\xa8\xb7\x82\x4b\x8d\xca\xef\x69\x2a\x72\xbf\x32\xb0\x3d\x42\xc4\xa4\xfe\x07\x34\xac\xfe\xf7\x24\xfe\xad\x60\xd7\x9a\xf6\xd2\xa7\x24\x7f\x5d\x5f\x4f\x5d\x19\xe2\x00\x15\x7e\xce\x95\xd3\x92\xb1\x32\x74\x15\x11\xca\xba\x75\x11\x55\xf3\x47\x06\xad\xa5\x5b\x2c\xee\xb7\xa5\xf4\x84\x4b\x69\xc0\xbd\x1e\xde\x12\x6c\xa3\xcc\x01\xea\x64\x5e\x7c\x98\xd9\x31\x54\xa4\x00\xfa\x32\xc3\xd8\x7a\xeb\xd4\xa4\x0e\x8f\xc1\x7e\x40\x51\xc7\x41\x6b\x67\x2d\x54\x38\x5e\x53\xcb\xc6\x76\x7a\x55\x14\x9f\x87\x72\x6e\x66\x41\x86\x52\x15\x96\x3c\xc2\xe1\xfa\x08\xa4\x68\xbe\xe0\x58\x4b\x7a\xdb\x48\x4c\x20\xd6\x4a\x59\x1c\xa9\x44\x76\x1b\x82\x21\x2b\xe9\xb4\xd8\x8a\x30\x11\xdf\x26\xdf\x3b\xf2\x8e\x31\x8b\xef\x70\xad\xcb\xea\x9a\x73\x44\x90\x07\x81\x1d\x2e\xaf\x2e\xcf\x43\xa8\xc2\xc5\xe5\xed\xf9\x1f\xcf\xaf\x2b\x89\xd8\xef\xaf\x66\x95\x64\xea\x9b\xdb\xeb\x5a\x0e\xf5\x9b\xab\xab\xf7\xe7\x0d\xcc\xc3\xf9\xed\xc5\x87\x4a\xe1\x6f\xef\xae\x67\xb7\x17\x57\x95\xef\xbd\xb9\xb8\x9c\x5d\xff\x6b\xf8\x97\xf3\xeb\xeb\xab\xeb\x5a\x7d\x77\x67\xfd\xe8\x89\x4a\x37\xda\xdd\x3f\x3e\x38\x1b\x70\x62\xb6\x6e\xe3\xaa\x16\xe8\x11\xbb\x78\x20\xf2\x6c\xdf\x72\xb4\x79\xd6\x71\x48\x95\x8f\x1b\xc3\x34\x75\xd4\xaa\x7b\x7a\xf1\xd2\xca\xd0\x65\xfc\xb8\x63\xcf\xdc\x6a\x8b\xa7\x40\x02\xf6\x1a\x80\xae\x96\x9a\xe3\x56\x17\x90\x8c\x86\x43\x9b\x41\x04\x6b\xcd\x3b\xa5\x7b\x64\xfc\xec\x2d\xb5\x75\xec\x6b\xa7\xe7\x60\xda\x43\x65\xf3\x54\x34\x16\x7d\x8d\x0e\x2a\xb3\x59\xe2\x49\x6c\x0d\x05\xfb\x61\x70\x71\x43\x37\xcc\xca\x09\x96\x63\x97\xca\x64\x7b\xbe\x49\x3f\x6d\xda\xd8\xf6\x53\x25\xcd\xb6\xd7\x38\x36\x46\xb4\x1b\xb8\x8e\xc6\xb4\xfb\x96\xeb\xfb\xb1\xed\xa6\x4a\x9a\xed\x06\xb3\xef\xa0\x76\x83\xc3\xbb\x68\xe7\x3f\x19\x71\x88\x85\xc5\x54\x9b\xe7\x92\xb3\xdd\x57\x02\x31\xd7\x61\x6d\x34\x1b\xe0\x79\x9f\x97\x19\x1f\x1e\xc8\x80\xd6\xb8\xed\xca\x6b\x74\xe0\x37\xf0\x29\xf4\x70\x99\x0b\x7e\x1f\xab\x47\x9a\x8f\x3a\x32\x94\x0d\x3a\xcd\xab\x03\x64\xce\x70\x7b\x45\x80\x04\xbc\xa9\x12\x51\x6a\xbe\x78\x80\xc9\x25\x44\x68\x8d\x36\x58\xa0\x42\x5a\x67\x90\x01\xce\x1e\xe9\x67\x67\x2e\xd1\x9a\x6f\x53\x32\x35\xb3\x6a\x5a\x44\x9c\x0f\xd0\x55\x67\x43\x63\x70\x5d\x07\x13\x4b\x09\x1c\x65\x0e\x60\xba\x65\x0e\x6f\x26\x18\x90\x44\x82\x33\x39\x37\x0f\x9e\x5c\x44\x89\x16\x81\x9a\x53\xeb\x8d\xfd\xf9\x38\xed\x87\x82\x17\xad\x6e\xd7\xc1\xfe\x70\x1e\x15\x25\x4f\xd9\xe7\x52\xe4\x3b\xa2\xce\x43\x5f\x25\xfe\x25\xe2\x12\x33\x45\x0a\xb1\xcd\x20\x1d\x3b\x4c\x71\x98\xcb\x5f\x01\x28\x81\x53\xf0\x42\xb3\x3f\x02\xe4\xc1\x7e\x99\x2e\xe1\x2d\x2f\xe0\x2e\xfe\x0b\xd6\xe1\x3e\x9b\xce\x65\x45\x1d\x25\xf8\x55\x45\x28\x65\x3a\x97\x56\x9e\x20\x56\x91\x9e\xc2\x8b\x6f\xaa\xf2\xf5\x29\x09\xfb\x9a\xc5\xae\xee\x97\x4a\xdd\x9f\x0a\x79\x0a\x3e\xa9\xe2\x94\x97\x85\x3a\x05\xb8\x14\xce\xbf\x3e\xb5\xfa\x9f\x56\x40\x55\x9f\x6e\x92\x07\x01\xff\x6f\xba\x29\xb6\xe9\x3f\xe8\x6c\xf3\xe5\x64\x9d\xe6\x27\xe6\xb7\x27\xe1\x6f\x4f\xec\x6f\x4f\xec\x6f\x4f\xcc\xcf\xf0\xff\x65\x3b\x0c\xef\x88\x2f\xdc\xdc\x65\x93\xb9\x4c\xa4\x16\x79\x01\xd6\xcf\x63\x9e\x14\x5e\x86\x66\xc7\x5e\xfc\xd7\x7f\xb1\x69\xce\x1f\x31\x95\xf1\x2d\x2f\xf8\x47\xf4\x2f\xfe\xf7\x7f\xbf\x80\x80\x2a\x26\xf5\x64\x3c\xff\x5c\x8a\x62\x2e\xb5\x30\x9b\x90\xfd\x9f\xb9\x84\x08\xec\x76\xb7\x28\xd0\xef\x8a\x3e\xc8\x58\xb3\x7f\xc1\x32\x2f\x90\x46\x32\xd6\xa6\xa4\x8e\x74\x82\x84\xa7\x2d\x92\xd1\x1d\x2e\xfa\xcf\xe9\x5b\xfa\xfe\x88\x6d\xfd\x39\xad\xee\x6a\x2b\x84\xa2\x3f\xa7\x70\x81\xa6\x8a\x5b\xb0\x16\x73\x8b\x17\xde\xc9\xd4\xb8\xb6\x3d\xd2\x80\x06\x3c\x6b\x98\xbe\x7d\xaf\xdc\x20\x95\xb5\xf5\xdc\x37\x8e\x11\x88\x15\xf8\x38\x04\x44\xcf\x13\xb3\x43\x6e\xd0\x13\x0a\x96\x1b\xf6\x1c\x6c\x52\x0a\x9d\xbb\xf2\xd0\x71\xa1\xff\xf0\xfa\xf4\x74\xc2\xd6\x1a\xfe\x67\xf9\x19\xfe\x07\xd0\x43\x4f\xc5\xc6\xda\x18\x4c\x07\x84\x6b\xce\xf2\xfe\x99\x78\x0a\x14\xdd\xd7\x20\x00\xaf\x2d\xd3\x37\xa5\x8c\x53\xe1\x53\x20\x2b\x21\x91\x54\x59\xc9\x7a\x74\x8c\xd5\xa5\x56\x60\x8e\x97\x22\xe2\xe6\xe0\x6b\xd4\x8d\xe0\x52\xb5\x2a\x84\x44\x6f\x58\xee\x95\xd8\x38\x7a\xae\xc0\x2c\x06\x28\x24\x2f\x08\x72\x2e\xe0\x8f\x50\x09\x30\x6a\x4f\xea\x1f\xb1\x9d\x2a\x89\x1c\x1a\x28\x4f\x63\x11\xa5\xc0\xc0\x6f\x69\x5f\x58\x2e\x8a\x32\x97\x8c\xb3\x8c\xcb\x98\x6b\x58\x81\xab\x1c\xa2\x9d\x39\xe3\xcd\x86\x4e\x10\x8e\xab\xca\x02\xc8\x8c\x10\x59\x10\x8e\x04\xb2\x77\x07\x6d\x9e\x04\x8d\xc0\x3b\x01\x48\x84\x1b\x3f\x9c\xce\xa5\xd5\x0a\x23\x2c\x1c\x7a\xca\x22\x95\xed\x88\xaa\xa6\x3e\xe8\x89\xf5\x9c\xd1\x70\x4f\x3c\xde\xa4\xfe\xdd\x09\x4b\xaa\xa1\x35\x20\x0a\x2f\x02\xb5\x63\xab\x17\xfd\x52\xc8\x48\xc5\x22\xd7\xaf\xcc\x36\x4c\xdc\xbb\x03\xed\x87\x44\xfb\xc9\x80\x53\xca\x5c\x6e\xe4\x2d\x34\xc5\x3b\x45\x1d\x33\x3a\x15\x6a\xe9\x36\x3b\x67\xff\x56\xf9\xde\x51\x30\x6d\xed\xa5\xff\xfc\xaa\x88\x98\x10\xd7\x69\xdf\x9c\x87\xbb\x20\x70\xcb\x86\x27\x2e\x16\x8a\x36\x0e\x19\x27\x56\x5a\x36\x29\x40\xbd\x2e\x17\xba\x98\x4b\xba\x81\x27\x6c\x25\xb8\xb1\xf3\x26\x2c\xd2\x0f\x78\x18\xe3\x75\x5f\x3c\x2a\x8f\xc1\xb1\xba\x24\x00\x86\xad\x14\xee\x9d\xc4\xf8\x35\x40\x14\xf0\xa8\x40\x80\x41\xa7\x0a\xb9\x35\x55\x60\xb0\x5a\x0f\xc4\x03\xc6\xc1\xca\x5c\xd4\x25\xa5\x42\x95\x15\x18\x89\x1d\x06\x8a\x59\xbd\x1d\xf8\x81\x39\x78\xb0\x77\x08\x03\x09\x0e\x47\xb0\xb8\x09\x4b\x8b\xfb\xcc\xc7\x70\x43\xae\x71\xf0\xcd\x74\x6d\xaa\x9e\x81\x80\x06\x1c\xe6\xb7\x30\x3f\xdd\xeb\xb0\xd2\x22\xb7\x1a\x1c\xd8\x57\x64\x06\xdc\x24\x79\x7c\x92\xf1\xbc\xd8\xd9\xe5\x9b\x26\x4b\xa0\xee\x4f\x93\x7b\xc1\x66\x79\xae\x1e\x9f\x7a\x14\x3a\x8f\x96\xae\x17\xf6\x31\x48\xf6\xb1\xaf\xfc\x56\x5e\xd0\xba\xbb\xe3\x30\x0e\xd2\x2e\xc7\x47\x6b\x3d\xb9\x28\xf2\xdd\xc2\x2c\xc4\x6d\xd6\x79\x52\x0c\x4a\x9a\x18\x6e\xe4\x8e\xa3\x37\xad\xb9\x30\x3a\xe9\x4d\x2b\xb3\xfa\xfd\xd0\x9b\xb6\x30\x97\x36\xe9\x4d\x2f\x2e\x2f\x6e\x2f\x66\xef\x2f\xfe\x5f\xad\xc4\x5f\x67\x17\xb7\x17\x97\x7f\x5c\xbc\xbb\xba\x5e\x5c\x9f\xdf\x5c\xdd\x5d\x9f\x9d\xf7\xf3\x15\x35\x5b\xef\x4d\xf0\x13\x16\xd6\xf3\x9a\xdd\x06\x40\x0d\x4c\x36\x20\xfb\x9b\xb4\x2b\x61\x55\x99\xcd\x9c\xc8\xf5\x04\x36\xea\x6b\x76\x9e\xe7\x17\x5b\xbe\x16\x1f\xcb\x34\x05\x38\x15\x66\xf6\x9c\xe5\x02\x1e\x9e\x13\xf6\x51\xc5\x17\xc1\xef\x20\x1d\xb1\xb5\x1b\x50\x3f\x8f\xe3\x5c\x68\x8d\xd5\x4f\xa8\xfe\x00\x3c\xe4\x52\x1d\x09\x3c\xc7\x1f\x78\x92\x9a\xf7\xdb\x6b\xf6\x86\x47\xf7\x6a\xb5\xc2\xf4\x99\x89\x4b\x9c\x62\x9f\x4b\x55\x70\x26\xbe\x44\xc0\xd1\xd5\xbe\x4e\xde\xab\xf5\x37\x80\x2a\x0f\x08\x4f\x75\x3c\x52\x40\xa3\x6c\xd1\x7e\x9d\xb7\x1f\x04\xd4\xcb\x0f\xf8\xd3\x77\xf8\xcb\x76\x07\x65\x91\x3e\x41\x7a\xfc\x7b\xb5\x6e\x57\x8c\x01\xeb\x9a\x64\x6e\x28\x90\x10\x11\xd9\x86\x5a\x33\x9d\xc8\xfb\xb9\xfc\x75\x23\x24\x53\x65\x8e\x7f\x82\x67\xbe\x31\x33\xd3\x52\x6f\x04\x48\xc8\x4e\xd8\xa3\x60\x5b\xbe\x43\xb3\x19\xde\x04\x4e\xe6\x02\x96\x0c\xdc\x22\xe6\xd7\x69\x22\xcd\x69\x91\x25\x36\x2f\xa1\x3e\xf5\x4f\xf1\xe2\xb2\x0c\x75\xfc\x78\x02\xd9\xbe\xfb\xb4\x82\xcf\x03\x57\x99\xc7\x4d\x5a\x80\x10\x9d\xdc\xa0\xa2\xa9\xd4\x7d\x99\x79\x2e\xcb\x17\x36\x38\x09\xc3\xfd\xa0\x92\x98\xc5\x65\x96\x26\x91\x3b\x77\x1f\x55\xde\x49\xd8\x8b\x09\x34\xc3\x6f\x9d\x7a\x5a\x58\x5f\xc7\x5a\xb2\x73\x02\x24\x5d\x0f\x75\xef\x33\x93\x17\xb3\x44\x46\x69\x09\xfa\x60\xa5\x16\xf9\x49\x91\x27\xeb\x35\x18\xe0\x36\xd7\xef\xfb\x67\x37\xf6\xec\x89\xc7\xa7\xb5\x85\x49\xe7\xa9\x5a\x27\x11\x4f\x43\x70\xb3\x47\x45\x38\xfa\x54\xbb\xed\x49\x3d\x15\xf2\x20\x6c\x83\x3a\x19\x90\xb2\x5c\x00\x83\xef\x02\x8e\xf2\x05\x1d\x77\xc7\xb4\x7b\xc5\xcc\x03\x1d\xdb\x15\x92\x9b\xda\xf0\x82\xbd\xe1\x7c\xdd\x56\x42\x0b\x4c\x4c\x94\xd7\x66\xea\x51\x8a\x1c\x2c\x58\x80\x7d\x98\x9e\x4a\x05\xb6\x89\x93\xd5\x72\xf8\x64\x2b\x2b\xb7\x72\x40\x6c\xcc\x9c\x5d\x27\x0f\x42\x7e\x7d\x36\xea\xa0\x82\x88\x47\x1b\xb1\xb0\x76\xf9\x53\x1f\x59\xee\x02\x18\x79\x58\x59\x7d\x8b\xf0\x28\x75\xe1\x4d\x78\x3a\x61\x8b\x9b\x67\x17\x06\x12\x7b\x32\xb2\x4c\x23\x16\xb1\x88\xee\xbf\xfa\xd1\xec\x41\x56\xb6\x21\x8c\xb3\xb7\x22\xba\x67\x77\xd7\x17\x98\x0d\x9c\x14\xcc\x1c\x05\x7a\xe3\xf5\x7a\x3a\xdf\x6e\x05\x5f\x3f\x03\xa3\xd3\x50\xc1\x21\xcf\x31\xef\x64\xd6\x4c\x83\x08\x10\x05\xf9\x92\xe6\x90\xa4\x5c\x1a\x00\x82\xf1\xc2\xca\xd0\x80\x23\x9e\xe9\x2d\xa8\xce\x94\x45\x20\xd5\x96\xf2\xa5\x48\x3b\x18\x17\x33\x15\x2f\x6c\x9c\xe4\x58\x30\x4f\xa3\x2c\xeb\xc7\xa0\xa8\xa3\xcd\x63\xe0\xc6\x62\xbd\xa5\x2f\xb2\xfb\x9f\x74\x40\xaf\xa1\x42\xe2\x67\x78\xd7\x73\x0d\xe9\xdd\xab\x64\x6d\xa3\x6d\xc9\x8a\xb4\x71\x30\xa1\x1f\x54\xe0\xcd\x79\x69\x4a\xfa\xa8\x62\x82\xe9\x39\x12\x33\x63\x05\x09\xf2\x9e\x78\x5c\x45\xd8\x04\xa7\x94\xaf\xc1\x37\xa0\x0b\xc1\x63\xa6\x56\xe4\x4d\xcc\xb2\x34\x01\x4a\xdf\x18\xd9\xc3\x81\x3d\x43\x57\xd1\xf1\x61\x69\xb6\xb1\x01\xc9\xc7\x47\x0b\xc4\xeb\x8d\x37\xfa\x20\x97\xe9\x57\xd5\xc9\x5d\xb7\xa9\x8e\x55\x81\x73\xf9\x48\x87\x3e\xa1\xfb\xbd\x69\xeb\x54\x2d\x61\xa0\xba\x41\x71\x3d\x07\xb4\x39\x9d\xf2\x24\x1e\x73\xbd\xdb\x31\xb9\x72\x3f\xed\x6b\xe0\x95\xf5\x74\xb8\x9a\xec\x34\x33\x22\x5c\x0f\x23\xf8\xb5\x34\xf6\x7d\x6f\x6d\x08\x10\x6a\x17\x21\x74\xd6\x78\x41\x72\x03\xb0\x2b\xdc\x71\xdc\xf1\xac\xae\xf6\xe5\xa8\x89\x6e\x12\xa3\xec\x19\x4b\xcf\xa5\xd2\x3f\xc9\x47\xb0\x5b\xe0\xce\x75\x14\x17\x63\x38\xa3\xed\xd4\x21\xc6\xd7\x8c\xa7\x9f\xc4\x4a\xf2\xc5\xa0\x19\xad\x8f\xbb\xdd\xc5\xc7\x0c\xf9\x73\xec\xa8\xb2\x50\xde\xe5\x0f\xfd\xb9\x00\xd2\xd0\x30\xad\x0b\x8e\x8d\x8b\xb8\x03\x2e\x60\x6d\x30\xbb\x35\x47\x80\x50\x47\xc1\x60\xb3\x5c\xd8\xe0\xd1\x4e\x14\x2e\xb9\x3f\xb5\xaa\x60\x10\x1b\x71\xbd\xae\xb2\x9b\x58\x02\x03\xc7\x48\x05\x91\x0c\xb2\xf7\x22\xb5\xcd\x94\x04\x6c\x0a\xa6\x2a\xcd\x25\x15\x6e\xb5\x9d\x5d\x78\xa5\x92\xef\x36\x21\xaf\x16\x66\x4f\x08\xad\xd2\x07\x8a\xa3\x05\x12\x04\xa0\x0a\x67\x1a\x78\x66\x1e\x08\xe6\x39\x0c\x01\x5e\x3a\xde\x01\x0e\x5e\x13\x38\xce\xc5\x3a\xd1\x85\x08\x53\x04\xc3\xdf\x3f\x99\x16\x65\xe5\x05\xdd\x37\xf4\x9d\x5a\x94\xfb\x4c\x61\xb3\x6b\x47\xb4\x67\x97\x89\xf8\xc2\xfd\xae\x7f\x31\xd4\xb2\xb8\xfd\x21\x51\xb9\x05\x70\x0d\xe0\x13\x40\x23\xdf\x93\x76\xe2\x01\x6e\x92\x88\x89\x87\x7b\x54\x9b\x99\xa2\x75\xc9\x73\x2e\x0b\x21\xf4\x5c\x52\xf4\x11\x79\xcb\x42\x6a\x8e\x1a\x1a\xce\x19\xb8\x91\xd2\x05\xd2\x00\xc1\x4f\x56\x3c\x49\xcb\xbc\xf3\xcd\x89\xab\xf2\x20\xee\x81\xbe\x51\x3a\x83\x62\x59\xdb\xa4\xb9\x2c\xd6\x60\x17\x39\xea\x8c\x7a\xec\xb0\x9a\xe4\xd9\xd1\x05\x7b\xe4\x0e\x9f\x6f\xe7\x70\xec\x48\x6c\xfd\x49\x2f\x32\x35\xe2\xc4\xfb\xf3\x4f\xfa\xa3\xea\x48\x09\xd6\x9f\x1b\x8e\xb1\x9e\x18\xfa\xe7\x2e\x39\x05\xae\xef\x21\xfc\xb4\xef\x3d\x3e\x88\x92\x71\x6f\x90\xaa\xf3\xec\x82\x55\xbb\xe1\x32\x4e\xcd\x3b\x95\x17\xb5\x1b\xc8\x83\x7d\x8d\x5d\x5c\xd8\xc3\xb1\x3b\xb3\x0b\x12\x25\x16\x51\x23\xcb\x6e\xdf\x38\xd5\xd2\xf3\x7a\x01\x75\xb5\x5a\xaa\x49\x73\x6d\xc9\x1a\xfe\x66\x27\x11\x53\xb7\x61\xbb\x97\xe0\x2a\x59\x7f\x07\x8f\xac\x0f\xcd\x93\x32\xa2\xad\x48\xf7\x97\x43\x7e\x1f\xb9\x19\x21\xc9\xc6\x1c\x66\x21\x39\xf1\x5c\x92\xc6\x31\x46\x5e\x21\xe4\x86\x5c\x54\x9a\xfd\xe0\x32\x2f\x7f\xf8\x47\xcb\x44\xb4\x63\x2b\x18\x6b\xa0\xfb\x52\x51\x54\xe6\x10\x16\x25\xd7\x0d\x13\x78\x37\xe9\x51\x24\x1b\x70\x23\x3b\x30\x0b\x9a\x4f\x6d\xd6\x83\xf3\xd5\x55\x3a\x75\x0b\x2e\x1a\x54\x6b\x76\x77\x21\x89\xf0\xe4\xba\x60\xba\x10\x59\xeb\xa9\x54\x31\xba\xaa\x82\xe4\x47\x98\x5d\x5e\x0e\x7d\xa0\xad\x3b\xe2\x8c\x9e\x05\xcf\xe9\x3f\xdd\x5c\x5d\xb2\x8c\xef\x00\x17\x56\x28\x52\x92\x07\x32\xc6\xfa\xfe\xdd\x37\x03\xd5\xce\x57\x37\x1b\x8e\xa9\x05\x98\xb6\xfb\x6e\xa9\xc6\xa6\x0d\x05\x6b\x86\x96\xa4\xd9\xca\xb9\x4a\x4f\xb2\x94\xcb\x00\xfa\xab\xa7\xac\x56\x7d\x18\xeb\x75\x51\x1f\x42\xd3\x40\x03\xc0\x9d\x42\x6b\x21\x2f\x5b\xc1\xa1\x55\x8d\xf5\xa3\xc2\xbb\x9d\x67\x44\x2f\xe8\xed\x03\x4a\x1b\xf0\xc8\x6c\x13\x64\x16\xb0\x21\x6b\x87\x7a\xe0\x1a\x00\x89\x23\x26\xaa\x5f\x10\x7e\x2e\xad\xde\xaf\x7a\xd4\x2c\x46\xee\x85\x32\xd1\x1b\xf0\x4f\x62\x40\x00\xc0\x41\x74\xbe\x20\x72\x21\xe7\x52\x9b\x09\x05\x9f\xa6\x78\x10\xe4\xd8\xa8\x04\xe3\x2e\xde\xbe\x77\xf1\x7d\x9c\x24\x92\x64\xeb\x18\xfa\xc0\x30\x3b\xe6\x01\xd3\xaa\x50\xbe\x9f\xd8\xff\x03\xcf\xfa\xb2\xc6\x8e\x2e\x71\xdf\x2c\x39\xe6\x99\xba\xd5\x09\x5a\xad\xa0\xd2\x54\x49\x1d\x0b\x47\xef\x4e\x1e\x79\xfc\xb4\x92\x3f\xef\x17\x15\x18\xfc\x08\x1b\x96\x09\x38\xe2\xec\x09\x48\xe0\x1c\xb6\xc6\xd9\xcb\x66\x97\x83\x06\x0e\xb0\x57\xa1\x27\x6d\xca\x6e\x84\x60\x9f\x60\xa4\x4c\x65\x9f\x48\x63\x0d\xe0\x82\x05\x4f\x5a\x25\x70\xe0\xdb\x17\x72\xa5\x8e\x3b\x0c\xf2\x75\x03\x8e\x76\xd4\xa8\xb4\xb7\xf3\x58\xc0\x1b\xa4\x32\xca\xe7\xcd\xbf\x6f\xed\xd7\x1e\x78\xdb\x47\xff\x26\xa7\xac\x3c\xdb\x52\x73\x3f\xc3\x14\x1f\xc2\xf0\x54\x5b\x24\xa6\x97\x13\x64\x2d\xbe\x97\xea\x51\xa2\x2d\x40\x35\xb1\x97\x66\xff\xc1\x05\x86\x0e\x54\x34\x0b\x4a\x3c\x0d\x5f\x01\x8d\xf2\xcc\xfd\x9b\xdd\x60\xac\x08\xdb\x0c\xe2\x28\x1a\x8c\x1f\x92\x35\x81\xd3\xfc\xe5\x6c\xc2\xde\x4c\xd8\xd9\x84\x4d\xa7\xd3\x57\x13\x54\x6e\xa6\x16\xe1\x4f\x10\x39\x56\xf0\xb5\x29\x9b\xe4\x22\x56\x41\x05\x20\x80\x64\x2e\x2b\xcb\x16\xc6\xfd\xb7\x02\xcf\x83\xed\x02\xe6\x30\x52\xc2\x05\xc5\xd5\xa3\x8d\x4a\x7c\xa3\x00\xa2\x29\x22\x95\x5b\x90\xa7\x2e\x54\x6e\x01\x6b\x0f\x3c\xe7\x89\x84\xd4\x6e\xde\x84\xeb\x52\xcd\x01\xb9\xb3\xf8\xc2\xb7\xd0\xff\x44\x3a\x7e\x4b\x33\x4c\xb7\xae\xfd\xc5\x2e\x23\x87\xf4\x63\x9e\x14\x85\xb9\x9d\xf5\x5c\xde\xb0\xd7\xff\xc2\x66\x59\x96\x0a\x36\x63\x7f\x63\x6f\xb8\xe4\x92\xb3\x37\xec\x6f\xec\x8c\xcb\x82\xa7\xaa\xcc\x04\x3b\x63\x7f\x33\xc3\x66\xca\xbb\x54\xe6\x3a\xdc\x4d\x18\x67\xb2\x4c\xf1\xd6\x7f\x69\xc1\x60\xaf\x5c\xbf\xb8\x9f\x9d\xa5\x28\x1e\x85\x90\x4c\xab\x2d\x5d\x85\x7f\x75\x31\x09\x9d\xc8\x75\x2a\x0a\x5a\x0f\x55\xd8\x1e\x56\x70\x02\x3d\x7d\x3d\x97\xce\x97\xf7\x57\xd3\xe2\xbf\xb2\xbf\xb1\xcb\x32\x4d\x4d\x93\xcc\x41\x63\x16\xd2\x6b\x66\xd3\x28\x84\x9c\x3e\x26\xf7\x49\x26\xe2\x84\x43\x22\x85\xf9\xd7\xe9\x2d\xcc\xf6\xa2\xf4\x9c\x79\xe1\x9e\x76\x82\x33\xc7\x1c\x3d\xcf\x92\x94\xed\xe4\x90\xec\xe4\xf7\xbc\xfc\xaa\x3f\x1d\x6f\x11\x79\xa6\x50\xda\x0f\x64\xb0\xa2\x58\x50\x28\xbb\x74\xd0\x11\x50\xbb\x6c\x6d\x59\x2d\x57\x41\x78\xa9\x1f\x7b\xc8\x82\x86\xd8\x93\xbf\x21\x07\x68\x17\x0d\x3d\x72\x1b\xca\x2b\x95\x34\x77\xb0\x25\x3d\xd5\xcf\xa0\xa8\x90\x53\x5c\xf9\xa5\x2a\xa2\x56\x19\x62\x95\x0c\x52\x9b\xab\x35\xf6\x8e\x7c\x17\x98\xa0\x66\xb6\x69\x92\x9e\x9a\xad\x7a\x7a\xa9\xa4\x79\xb6\xea\x64\x8d\xf4\x44\x00\x23\x42\x99\x36\x6b\x14\xdc\x56\x4d\xd6\x60\x0b\x80\x7d\x60\x9a\x84\xd0\xb6\xc2\x9c\x02\x66\x0a\xd2\xdd\x5c\x9a\x5f\xd0\x8d\x04\x30\xf7\xc4\xb1\xd8\x62\x6d\x56\xd7\x9e\xea\xa2\x03\x39\x28\xbc\x65\x81\xf5\xe5\xd0\x1e\xb1\xe0\x28\x65\xeb\x08\xaf\xf8\x65\xc0\xe0\x46\xa5\x59\x7a\x0f\x8c\x7b\x2e\x45\xaa\xe4\xda\xac\x8a\xae\x43\x40\x6d\x79\x72\x0c\xb0\x24\x6c\x02\x16\xd6\xd9\x02\x73\x59\xd2\x57\x68\x4a\xcc\x3d\x99\xc4\xfe\x7d\xaf\xcb\xa5\xb1\x23\x9c\x47\xd6\xdd\x86\xd4\xb9\xae\x84\xe2\xe3\xe2\xcb\x77\x5a\xe4\x40\xb3\x8c\x08\x07\xe7\xed\xc7\x8b\xd3\x93\x6d\x60\x8f\x86\x6d\xaa\x5e\x60\x6c\xbb\x2b\x84\xa2\x09\x8d\xd4\xea\x01\xeb\xf1\x5b\x62\x64\x87\x20\x67\xdf\xcd\x2e\xde\xd7\xbe\xd7\x44\xce\xb6\xc0\x6b\x6f\x2f\x3e\x9c\xbf\x5d\x5c\xdd\xdd\x36\xbe\x67\x4a\xa3\x3f\x8d\x55\xfa\xb7\xa3\xf7\x14\xf0\xc1\xcf\x28\xf7\xb2\x50\x2b\x9b\x49\x39\xfc\x4e\x6f\x08\xee\x0c\x43\xa9\x84\x24\xdb\xa1\x30\x4d\x73\xe1\x74\xe6\x83\xcb\x05\x45\x24\x86\x35\xb6\x3e\x60\x57\xf2\x1d\xfe\xfc\xa3\x4a\x93\xa8\x1f\xf4\x66\xaf\xab\x8d\x7a\x6c\x41\x11\x2d\x05\xa0\x40\xc9\xff\x43\x8d\x42\x0b\xbd\x10\x51\xe1\x23\x6e\xcd\xce\xfd\xaf\x06\xda\xec\x7f\x83\xa3\x47\xd9\x0d\x1b\x08\x70\xba\x18\x1e\xdc\xad\x40\xb0\x09\xbc\xf2\xe8\x6b\x85\x5c\x3a\x88\x6d\x47\x9c\x5c\xd0\x95\x91\x87\x03\xfa\x71\xa3\x52\xf3\x16\x93\x31\x91\x95\xce\x65\x26\xf2\x48\x01\x40\x05\xf3\xe0\x15\x8b\x36\x49\x1a\x7b\xf1\x96\x97\x80\xe8\x05\xdc\xdd\x2b\x92\xe5\x13\x2e\xc6\x6c\x8b\xef\xb9\x75\xed\xb2\xb3\x7a\xe5\xc7\x79\xa0\x9e\x0e\xa2\xd7\xb7\xec\x7f\x25\x28\x19\x0e\x05\xd1\x0b\xd5\xa2\x85\x66\xd0\x2b\xed\x19\xe5\xe1\x05\x45\xf1\x95\x15\xff\xb4\x0f\xa7\xa2\x36\xaf\xb4\xcc\xea\x43\x09\xa4\xb3\x88\xa2\x42\x00\x89\x16\xd0\x9c\xad\xe0\x68\x8b\x79\x0a\x48\x9a\xd4\xb9\xf4\xf1\xd1\x17\x3a\xb4\xcb\x5a\xe7\x19\x39\x55\x2d\x08\x70\xc2\x5e\x54\x3a\xfa\x02\x48\x49\xa5\x82\xfa\x28\x86\x55\x19\x1a\x58\xae\x13\x96\x14\x73\x99\x68\x5c\x99\xb9\x48\xc5\x83\x69\x5d\xe8\x2c\x26\xac\x8b\x7d\x3b\xdb\x6e\x03\x8e\x9c\xdb\xf4\x63\x27\x73\x0f\x9b\x30\x0f\xc9\x2d\x39\x38\xa6\x63\xa1\x8d\xdd\x08\xb2\x1c\xe2\x8b\xd9\x00\x09\xc4\x42\x10\xfe\x11\x0b\x69\xdb\x07\xa8\x10\xd4\xb2\x9d\xcb\x8b\x15\xe4\x80\x42\xe6\x69\x1c\xe3\x2b\xd4\x0a\x35\x38\xa6\xb1\x84\x9c\xc3\x8a\xde\xe4\x76\x22\x48\x55\x12\x77\x92\x78\x10\xf9\xae\x00\xa7\x2e\x8c\xab\x14\xbc\xd8\xb0\xa4\x98\x00\x45\x9c\x3d\x29\xe7\x92\xc7\xa4\x54\x4e\xc5\x99\xa1\x81\x75\xdf\x33\xcf\xf4\xf9\x52\x3d\xf4\x19\xb6\xc7\xa2\xbe\x70\x57\x67\x29\x97\x0b\xbc\x41\xbe\x01\xee\x2b\x10\xfc\xec\x0a\x75\x96\xcb\x85\xa3\xb5\x79\x92\x76\x06\x9a\xd0\xa1\x0c\xaf\xb1\x63\x6d\x45\x13\x5c\x0c\x9e\xd6\xda\x3e\x4f\x9c\x9f\x86\xd0\x05\x39\xb3\x11\xd8\xe1\xa7\x80\x87\x84\xf1\x1a\x12\xc1\xae\xd6\x7d\x98\x30\xbb\x02\xbe\x57\x7c\xd2\x90\x99\xaf\xdd\x21\xf5\x69\x1f\x0f\x8d\x69\x58\x88\x07\xc1\x63\xf6\x34\xeb\x79\x21\x32\x9d\x7e\x94\x26\x54\xc6\xf6\x36\x08\xf7\x61\xf2\x84\x40\x3f\x9c\x73\xf3\xb4\x0b\xba\x86\xef\x30\xd5\x82\xad\x7c\x4a\x1f\x35\x9c\x53\x43\x3d\x25\x3e\xf7\x1a\xda\x35\x65\x17\x92\x59\x73\x6f\xc2\x5e\xe0\xc2\xd2\x2f\xc8\x05\x49\xaa\xc0\x14\x3b\x8f\x69\xf7\x50\xb6\x6a\x1d\x8a\x81\x39\x03\x7e\xbb\x61\x24\xa8\x97\xda\xf0\x59\xc7\xe5\x4d\x02\x39\x0b\x87\xa4\xa5\x63\x14\x71\x89\x05\xd0\x25\x89\xcf\xee\x1d\x1a\xed\xca\x7b\xb3\x7d\x87\x6d\xbc\x8b\xbd\xb1\x3f\x34\x43\x94\x95\x74\x9f\xda\xcf\x99\xca\xe7\xd2\x96\x46\x2e\x49\x8d\x5a\x4a\xf5\xa2\x02\x08\x35\xd9\xfc\xc1\x4a\x05\x10\x83\x95\xcf\x02\x55\x36\xcf\xbf\x5a\x3f\x05\x00\x14\xb1\x14\x5e\xcf\x7c\xca\x66\xbe\x36\x63\x78\x98\x05\xbe\xc5\x6b\xbe\xce\xd1\x98\xa6\x66\x50\x92\xc2\x52\x42\x06\xe9\x0d\xba\x04\x62\xd3\x55\x69\x0e\xa3\x80\xfd\x75\x2e\xcd\xe0\xb1\x55\x02\xb8\x5f\x1a\x97\xb9\xfc\xa0\xb4\xcd\xa6\xd7\x7e\x3c\x2c\x86\x94\x86\xed\x85\x53\x11\xa3\x3f\xbc\x85\x4b\x9b\x7c\xfe\x35\x89\x7f\xc8\x6b\x21\x4a\x8c\x9d\x2a\x73\xdf\xa9\x88\xcb\xb9\xfc\x0f\x33\x3c\xa8\x64\xed\x64\xe0\xd5\x0a\xb7\x30\xcc\x20\x04\x4b\x3e\x61\xa1\x2f\xff\xf1\xd5\xa7\x57\x88\x43\x2f\x35\x08\x37\x4e\xaa\x17\x88\x23\x02\x2f\xd3\x14\x22\xd1\xb6\x07\x8e\x8c\xc2\x57\xc1\xfb\x60\x39\xf4\xa8\x5b\xc8\xaa\x89\x31\x64\xa3\xf7\xad\x60\xef\x7c\x9e\xb1\x88\x17\xd1\xe6\xc4\xda\x72\x74\x8c\xd9\xdb\x8f\xa6\x0f\x15\xdc\x8c\xa5\xd5\xce\x85\x6d\x1e\x9c\xf9\xd6\xb1\xf3\x55\xd6\x8b\xe9\x02\x00\x6b\x6e\xeb\xc2\x30\x8e\x3c\x14\x17\xa7\x17\x62\xf7\x76\x9e\xfb\xba\x95\x65\xf3\x2f\x4e\xf2\x92\x4b\xbe\x15\x31\x7b\x01\x19\x53\x2f\xec\xe4\xcf\x65\xb6\x9c\xa6\xbb\x55\x41\x14\x4f\x66\x50\xa6\x20\x60\xb4\xe7\x96\x5b\xc4\xcd\x67\xd2\x9e\xc1\xee\x7c\x68\xb5\xdb\x3a\x6e\x6c\x5c\x4d\xc3\x0d\x16\xf4\x71\xb9\xd1\xb9\xa9\x42\x84\xaa\x4c\xea\x5c\xdf\x4f\xd8\x32\xe7\x12\xb4\x27\xe2\xd0\xa8\xf2\xbb\x13\x1e\xcf\xc8\x9f\x64\x53\x28\x24\x4f\x77\x80\x1d\x9f\xcc\x25\x92\x4d\x01\x2b\xf1\x2e\x4a\x93\x88\xad\x73\x9e\x6d\x6a\x76\x90\x78\x10\xb2\x00\x09\xd3\x6b\xc1\xf5\x71\xd1\xfa\xbc\x5e\x02\x1b\x1c\x4f\x99\x49\x78\x7d\x70\x59\xa3\x07\x85\xe6\x75\x5c\x2d\x00\xd7\x12\xf1\x62\x1c\x35\xc8\x5e\x02\xcb\x0a\x2d\x1a\x71\xf4\x40\x04\xd2\x74\x8e\xd9\x5a\xf7\x85\xbf\x71\x5c\x89\xb5\xc2\x82\xff\x8f\x0d\xd9\x3b\x16\x8c\xa3\xb8\x0c\x2f\xaa\x56\x24\xf7\xf4\x1e\xde\x73\x8d\x09\x40\xe4\xa9\xb0\x60\x61\x77\x70\x4c\x48\x62\x0e\x78\xce\xd8\x5f\xca\xa5\x4a\x2d\x51\xdc\xc5\x5b\xa6\x72\xd0\x68\x28\x14\xfd\x29\x89\xbb\xac\x83\x44\xc6\xe2\xcb\x51\x6c\x0d\xfd\x17\xbd\x35\x9b\x4d\x35\x81\x14\x40\xbd\xb3\x70\x3a\xe5\xc2\x5c\xc2\x85\x7d\x19\x37\xbe\xa5\xeb\xc8\xc5\x59\x5a\x6c\x00\x4e\x88\x40\x76\x3f\xa8\x5b\xbe\x63\xd1\x86\xcb\x75\xe0\x9a\x00\x74\x97\xc8\x54\x8e\x5a\x86\x0f\x40\x8b\xa6\x72\x9b\x0d\x4b\x39\x9e\x84\xa6\x77\x81\x04\x04\xb1\x2a\x9b\xc8\xc9\xd7\xeb\x5c\xac\x81\xa0\x60\x2e\x2b\x59\xea\x40\x09\x67\x65\x14\xb0\x9e\xbe\x24\xdf\xa7\x61\xca\xe8\x7a\x0d\x16\xf9\xce\xa5\x48\x92\x10\xa8\xdf\xcf\xf5\x61\x9d\xb0\x44\x4c\x27\xec\x47\x0f\xdc\x15\x91\x92\x2e\xc7\xb2\x23\xc1\xae\xe6\xf2\x67\x7b\x9e\x0e\x4d\x4a\x8d\xf6\xb6\xc3\x67\x0d\x39\xd1\xd6\x45\xd3\x9b\xa4\x5a\xf0\xa2\x1c\x71\x07\x91\x64\xf4\x99\xf9\xf1\x0d\xfe\xb6\x17\xdb\xce\x33\x73\x6d\x58\x3a\x23\xf3\x7d\x73\x73\x9a\xba\x3d\xdd\x71\xdb\x58\xef\x75\x20\xa7\xaa\xdb\x81\xfc\x14\xa6\xba\xe5\xac\xd8\xef\x43\x4e\x3b\x78\x18\x7a\xfa\x34\xd6\x45\x6c\x41\xbe\x04\xdf\xd7\xf5\x67\x6c\xcb\x09\x90\xe5\x2a\x2e\x23\x11\x9b\x9d\x0b\xef\x21\x44\xc4\x38\x3a\x88\xca\x21\xd9\x76\xd1\x56\x38\x6d\xe0\xd6\xfd\x5a\x3e\x87\x41\x34\xc2\x6e\xf8\xef\x3a\xfc\x0d\xd6\xe2\x6b\x1b\xf4\x70\x7f\xe2\x38\xe5\x23\xef\x29\x57\x7d\x95\xfc\x57\xe5\xc9\x3a\x91\xbc\x50\x39\x7b\xe9\x92\x3e\x5f\x39\xc5\xa0\x6e\x0b\x61\xe4\x31\x51\x19\x22\x3c\x26\xbe\xaa\xe1\xd1\xb6\x48\xcd\xb7\x74\xc1\xb7\x59\x48\xa7\xe9\xf4\x98\x69\x64\x52\x1c\x04\x67\x9b\x80\xef\x34\xd1\x3e\xb7\x6d\x2e\x29\xe2\x80\xf3\xa6\xf2\x90\x0f\xba\xf3\x6e\xce\xca\x62\x71\x20\x45\x0c\xfe\x78\x9c\xe3\x89\x60\x08\x1f\x78\xd6\x4f\xba\xc1\xc9\xe5\x80\xc9\x3d\x4e\xa4\xda\x5a\x2a\xd5\xf5\xd9\xaf\xb8\x30\x92\x04\xb4\x1e\x3a\xbf\x7e\x6f\x03\x45\xfe\x3d\x58\x79\x60\xc1\x44\x20\xfb\xa0\x06\xab\x02\x9f\xf6\xee\x58\x33\xb7\xb8\x65\xea\x38\x4b\x55\x19\x33\x3a\xd4\x28\x0c\x9f\x4f\xf1\x76\x04\x3a\xd0\xe9\xb4\x8b\x1b\x6d\xa4\x12\xac\x3b\x7f\xe0\x77\xed\x3b\x10\x3e\xeb\x38\x81\x7b\xb7\x3e\x8d\xec\xb3\x4d\x3d\x8d\x34\xcc\xbd\x3b\x8e\x47\xcd\xbd\xf3\x82\x03\x37\xd9\x38\x07\x29\xbc\x47\x93\x38\x85\xfd\x16\x06\x10\x5a\xd8\x53\x2b\x81\x59\x7d\x7f\x74\x75\x36\x83\xb9\xbf\xaa\x8c\xe7\x42\x16\x0b\xa8\x71\x5c\x65\x50\xc9\x47\xf8\x79\xc5\x60\x1a\xe4\x08\xfe\xb7\x5b\x85\xfe\x7d\x4b\x44\xf2\xef\xec\x86\x7c\x5a\xe6\xbc\x4a\x00\x44\xaa\xef\xd9\xcb\x04\x30\x47\x41\x2c\xd4\x4d\x5c\xc7\x74\x51\x87\x0e\x18\xbd\xa0\x43\x95\xa3\x7d\x50\x87\x7c\xeb\x21\x54\x0d\xa5\x90\x7b\x8f\x32\x67\xcd\x51\x6b\xff\x16\x90\x93\x5f\x56\xfe\x0d\x44\x92\x66\xfe\x52\xf6\x9f\x22\x57\x3e\x1d\x04\x9d\x55\x61\xc1\xbd\xf6\xfa\xe1\xba\xaa\x68\x8f\xa3\xa2\x67\x28\x69\x07\x7f\x21\xae\x17\xf4\x28\x2c\x77\xf6\x39\xd2\x45\x53\x2f\xa2\x45\x87\x7e\xc1\xa0\xa6\x04\x0f\xcf\x50\x8f\x20\xa9\x5d\x66\x76\x83\x9e\x82\xbf\x82\xd8\x14\xb7\x3c\x23\x7c\x1f\x41\x89\xeb\xc1\x9b\x29\x74\xe2\xdf\xfe\xfa\xef\xd3\x2e\xc5\x6c\x68\xfa\x58\xb8\x94\x6b\xfc\xbb\x3c\x11\x32\x86\x60\x2c\x8f\x9b\xd2\x3a\xb2\xe2\x9d\xaf\x1c\xcf\x66\x19\x3e\x49\xd6\x64\xfb\x55\xab\x17\xb8\x88\xbe\x42\x44\xdf\x1f\xb2\x6e\xfb\x56\xe2\x7d\x5d\xa6\x84\x5e\xc4\x3b\xc9\xb7\x4d\x8d\xf1\x67\x6d\xe3\x2e\x11\x69\x0c\x4d\xa4\xda\xf7\x45\xa5\x62\x11\xdd\x8f\xb5\x09\x0e\x26\x06\x17\xd1\x3d\xfb\xf9\xf6\xc3\x7b\xd4\x81\x4c\xf4\x5c\x5e\xf2\x22\x79\x10\x77\x79\xea\xc2\x01\xc4\xf4\x92\xa7\x76\x8f\x54\x89\x6a\x03\x52\x14\xcb\x6a\x6b\x0d\x87\x90\x47\x7c\xbb\x3b\x59\x96\xd1\xbd\x28\x4e\x73\x2e\x63\xb5\xc5\x6e\x9c\xea\x72\xb5\x4a\xbe\x4c\x0b\x9e\x77\x90\x8a\xa3\x1f\xe1\x1b\xda\xb9\x5e\x2a\xa6\xf0\x36\x2f\x9a\xba\x8f\x90\xf5\x49\x02\xc4\x15\xe3\x16\x9e\xc0\x39\xdf\x0a\x60\x85\x63\x55\x42\x7e\x28\x05\x13\x29\x41\xb7\x4e\x6b\x42\xd0\x2b\x52\xc5\xfd\x14\x18\xf7\x9f\x82\x56\x55\x95\x99\x6d\xa3\xbc\x16\xdc\x96\xdf\xe3\xfb\x70\x9d\x0b\xad\x27\x4c\x2b\x68\xf1\x5c\x5a\x2c\xba\xcd\x97\x02\xdc\x0b\xf0\x4a\xa6\x3b\x16\xa9\x2c\x01\xe9\x3c\xd7\xaf\x8d\x7a\x04\x3f\x7d\x98\x36\x08\x6a\xa7\xa5\x2c\x92\x94\xf1\x55\x41\x4e\x7c\x20\xd1\xb6\xa2\x39\x7a\x3a\x97\x10\x8a\x8d\xa0\xfb\x00\x91\x70\xe1\x17\xd7\x09\xcd\x56\x3c\x4a\xd2\xa4\x20\x6a\x1f\x48\x32\xe2\xa6\xbf\xe6\x3e\x30\x63\x99\xf3\x1d\x4f\xfd\xc3\x8a\xa7\xa5\xcf\x94\x3c\xd1\xa2\x87\x3a\x2e\xd1\x0b\x74\x10\x7c\x0d\xae\xaa\x24\x0c\x3e\x20\xcd\xee\xcc\x54\x7e\x59\xbb\x45\x7f\x17\xfe\x6f\xe5\x1d\xde\x67\x15\x1c\xf1\x20\x3f\xe6\x72\x6c\x3e\xb9\x9d\xd2\xac\xb7\x33\x92\xd8\xe2\x83\x2b\xa6\xb8\x67\x1c\x76\xd7\x23\xc4\x4c\x3a\x1e\xfd\x53\xab\x0f\xd4\xac\x61\xc4\xe8\xb5\x1b\x89\x5f\xc9\x9d\xd1\xc5\x7d\x3c\xa4\xf9\xd6\x1b\xff\x51\xa9\xf4\x58\x8f\x3c\x4f\xed\x81\xbf\x00\xc9\xcc\x63\x9e\x93\xb8\x00\x9c\x63\xeb\xe2\xad\x8b\xb9\x3b\x32\xe1\xaa\xd0\x0e\xc1\xc1\xa8\x09\x70\x90\x41\x23\x7a\x90\xe2\x3a\x6b\x01\x5d\x8c\x44\xbc\x43\x19\x88\xd6\xb2\xa6\x7d\x33\x44\x10\x70\x18\x70\xdf\x46\x20\x5c\xac\xb5\x70\x94\xb3\x0e\x05\x2e\x6b\x55\x39\xc7\x5d\x48\xcc\xea\xc6\x31\xa8\xdb\x8e\x27\xca\x6a\x9b\xfb\x93\xac\xf8\xb9\x0c\x2c\x76\x64\x53\xb2\x29\x05\x6e\xd4\xda\xfc\x79\x95\x65\x78\xb4\x3f\xef\x18\xf6\xed\xde\x93\xf3\x6d\xa8\xa3\x05\x58\x90\x48\x6d\x97\x89\xb4\x29\xea\xe4\xe4\x86\xa7\xc6\xcc\x92\x1b\xba\x80\x84\x7d\x32\xa0\xba\x42\x6d\xec\x9d\x99\x13\xf2\x44\x86\x47\xd6\xbe\xe7\x78\xf8\xbe\x7b\x5a\xa2\xf0\x8e\x48\x63\xbd\x07\xe6\x02\x49\x1f\xf9\x4e\x83\xd6\xac\x30\xa7\xe2\x0a\x1d\xbb\xd5\xf6\x4f\x02\xf3\xc3\x12\x67\x92\x70\x7b\x49\x12\xd4\xd4\x97\x04\x79\x3b\x44\x6a\x55\x75\x3d\x1f\xd2\x0b\xdd\x3e\x38\xdf\x26\x56\x93\xf7\xc6\x6a\x30\x08\xfd\x3f\x23\x3c\xd3\xe3\x04\x3e\xd2\x17\x1d\x5c\x93\x68\x31\x12\x4c\x08\x12\xb7\x5c\x88\x7a\xc2\xb6\x3c\x91\xb4\x0d\x50\xb9\x2c\x16\xcb\x72\xbd\xee\x74\x91\x7e\xff\xb1\x96\xea\x3e\xf9\xbb\xf7\x85\xf7\x32\x7a\x3d\x85\xb7\xf8\xc2\xd6\x84\xee\x6b\xf3\xee\xfb\x3a\x0e\xe2\x6f\xe8\x8d\x6f\x0d\x89\x35\x16\xd1\xd3\x78\xe3\x2f\x86\x78\xe3\x2d\xb6\x0b\x52\xec\xe8\x39\x6d\xf1\x37\xbf\xb9\xe9\xbf\x8e\x9b\x7e\xd0\xa2\x40\x5a\x97\x45\x52\x35\xd0\x7b\x5a\x78\x20\x3b\x9c\xa3\x11\x85\x56\x91\x0a\xbc\x16\x32\xd6\x6c\xc9\xa3\x67\xa0\x8b\x83\xdb\xf1\x78\x7f\xe0\x1e\xf0\xcb\x8d\xda\x0a\x06\x55\x69\xd4\xbc\x60\x94\xc5\x38\x01\xb4\xaa\xe9\xa0\x47\x8c\x10\x1e\x05\xae\x53\x44\xae\xc4\xde\xa8\x7e\x29\xc5\x23\x33\xb7\xd5\x24\x84\xef\x05\xd3\x03\x62\x48\xaf\x8c\x75\x58\xc1\xfa\x3b\xca\x86\x5c\xac\x79\x1e\x43\x86\x09\x6d\xc9\x94\x47\xf7\xe6\xbf\xa1\x7d\x54\x23\x41\x0c\x2d\x2f\x3b\xc2\x5e\x7d\x69\x89\x8c\x72\x20\xe3\x22\x34\xa3\x6f\x1f\xfe\x5c\x33\x1e\xe5\x4a\xa3\xd3\xc8\x69\x88\x42\x86\x33\x18\xb0\x0f\x49\x5c\xf2\x14\x6b\xec\xf4\xb4\x8f\x85\xaf\xd5\x01\x47\x81\xdc\x4f\x13\xcd\x46\xd3\x81\x1c\x45\x30\x8c\xd3\xb9\x7c\xeb\x02\x26\xaf\xd9\x9d\x16\x84\x32\xd3\x96\x30\xb9\xb7\xa5\xcf\x66\x3e\x34\x30\x81\x9d\x36\x44\xcf\x00\x58\x90\x75\x30\x10\xba\x7b\x24\xf6\x90\x0e\x1e\x33\x29\xa3\xc9\x53\x2f\x02\xcd\x61\x3f\x2c\xf8\x4e\xc8\x05\x8f\x77\x21\x35\x5b\x22\x19\x44\xe9\x18\x8f\xb7\x89\x34\x9b\xc0\xea\xda\xb9\x9b\xc6\x52\x5c\x23\xe4\x18\xe4\x5f\xd2\xb4\x76\x08\x6a\x26\x85\x31\x2e\x79\x9e\xa4\x3b\x78\x4f\x64\xb9\x38\x09\xea\x09\xe6\x87\x32\x9e\x80\xac\x9b\x68\x44\x4a\x2d\x56\x65\x8a\xaf\x0e\x78\x97\xbb\x0e\xd0\x89\x74\x77\x31\x31\x06\x47\x41\xa2\x0b\x41\xc5\x28\x65\xf6\x14\xd9\x23\x8d\x68\xe5\xb8\x88\x9b\xa7\x0e\xcc\x01\xe4\xbe\x51\x8f\x36\xd5\xed\x91\x7b\x2c\x73\xd7\xed\xfa\x64\x51\x96\x7e\x3b\xd4\xbe\x00\xed\x39\x85\x83\x1f\x57\x42\x6b\xf4\x99\x88\xdd\xd9\x94\x48\xe8\x0e\xa9\x81\x7a\xcf\x75\xa9\x31\x63\xce\xcc\x25\xdc\x5f\xd6\xd1\x51\x75\x5c\x33\xd7\xbb\x44\x2b\xc9\xe6\xe5\xef\x7f\xff\x07\xc1\x7e\x0f\x29\x84\xf4\x1e\xc1\xf8\x18\x90\x07\x62\xe9\x70\x64\xbb\x0a\x04\x32\x0b\x36\x66\x84\xb5\x41\x54\x6d\xbe\x3e\x80\x3c\x79\xb4\x61\xba\x5c\x22\x82\x91\x53\x88\x85\x4b\xc7\xcd\xfb\x5e\x01\x18\x11\x6f\x76\xdb\xfa\xff\x25\x01\x05\xe4\xc7\x9f\xcb\x4c\x21\x7d\x34\x40\x3f\x97\x82\x6d\x79\x7e\x0f\x72\x87\xa4\x69\xcf\x78\xc1\x5e\x26\x62\x5a\x0d\x2f\xbc\xaa\xb4\x87\x02\x3a\x48\x0b\xcb\xf2\x52\x4a\xab\xdf\xc2\x8c\x61\xea\x7d\xfd\x93\xb9\x5c\x96\xe1\xdb\xb3\x12\x2c\xf0\x4b\x0b\x02\x06\x70\xd8\x2a\xe0\x0a\xa1\x46\x71\x1d\x68\xed\xb3\x01\x51\x83\xb9\x7c\xe2\xb0\xc1\x3e\x87\xdf\x47\xb2\xc1\xac\x33\x2f\xc8\x57\x80\xee\x86\x12\xa3\x30\x1d\xb8\xec\xc1\xc8\xf9\x08\x3a\xa3\x13\xf6\x73\xf2\x20\x26\xec\x26\xe3\xf9\xfd\x84\xbd\xc5\xf0\xdf\x9f\xd4\xb2\xcd\x87\xd7\x20\x94\x38\xda\x8f\x77\x98\x1b\xab\x8f\x68\xa5\xdd\xfa\xff\xb5\x41\x0c\xc0\xba\x62\xdf\xff\x33\x11\x79\x1d\x5c\x1f\x7f\xef\x9e\x88\x3d\x61\xea\xdf\xc0\x6b\x7f\x97\xaf\xe2\x7e\x9a\x8f\xdf\x85\xff\x6b\xcf\x2f\x6b\x71\x81\xed\x49\xa7\x5c\x2b\x2a\xed\xfb\x4a\x6c\x4e\xe2\xfa\xa5\xdc\xcc\x6f\x1e\xb6\x15\x28\x7d\x3c\x76\xa9\xed\x23\x40\xf7\xf4\x53\x3b\x5e\x67\xa9\xd2\x65\xde\xbf\xf9\xaf\xab\xad\xb6\xb5\xb7\x50\x7d\xc2\x62\xdb\x2e\x05\xb0\x16\x0c\x85\x9f\xe0\xd7\x16\xff\xa1\x96\x0b\xc0\x5a\x1d\xb7\xc3\xdb\x8a\xb3\xe2\x41\x2e\x22\x46\x4d\xf5\x37\xe4\x4d\x26\x80\x71\xca\x9b\xa2\x3e\x20\x50\x5b\x61\xce\x35\x32\x97\x96\x80\x1b\x33\x66\xf3\x5c\x00\x53\x70\x2e\x40\x13\x8b\x65\x3c\x77\x80\x07\x6b\x11\x05\x2f\x1f\x0f\x8a\x09\xb3\xdc\x20\x59\x95\xde\x5b\x4b\x21\xa4\x1b\xed\x31\xa6\x84\xb1\x0e\xea\xa3\x4f\x68\xb7\x47\xc1\x22\x4c\xa4\xe8\xd0\xef\x6b\xfc\x2e\x78\x0b\x82\xc9\xbd\x16\x45\x70\x9a\xd7\x4c\x8b\xca\xd6\xac\x44\xa8\xbe\x2b\xc4\x7f\x6b\x0c\xba\x46\xce\x55\x71\xa0\x0c\x8a\xe9\x3d\x85\xbf\xfc\x23\x2f\x36\xf8\xa0\xdd\xaa\x42\xe0\x99\x89\x2c\x41\xb8\x5e\xd0\xeb\xbc\x4c\xd5\x12\xc4\xa8\xcc\x27\x5d\x6f\xc3\x88\xb6\xf6\xa0\xa1\x6b\x4e\xd8\x90\x93\xc1\x9c\x26\x90\x69\x9b\x0b\x0d\x84\x2b\xcd\x28\xd5\x50\x7c\xf2\xb8\x47\x77\xb3\xb9\xe6\xd0\x7f\xdb\x78\x6c\x37\x19\xfa\xcd\xb6\x06\xb0\xea\xf9\x01\x19\x34\xe7\x61\xb6\xaa\x31\x0e\x88\xac\x98\xc2\xc0\xc8\x57\x5a\xeb\xaf\xd5\x3c\x9e\xcb\x19\x7e\x12\x5c\x02\xdc\x2b\xd1\x38\x3c\x28\xc9\x5b\xba\xfd\x87\xe9\xab\x6c\x16\x22\x10\xc9\x43\x30\xf1\xbe\x4c\x78\x0c\x4c\x20\xab\x51\x16\x49\x2e\x98\x04\x14\xc2\x5c\xea\x72\x79\xe2\x89\x49\xcc\x2b\xee\x01\xc8\x74\xb4\xc8\x38\x3c\x65\x80\xaf\xe8\xa4\xe5\x1a\x46\xcf\xa4\x57\x94\xb0\x04\x7e\x3c\xa5\xc3\x1f\x72\x25\x31\x33\xde\xf5\xdd\x95\x63\x1e\x6b\xf0\x8a\xb6\x70\x25\xbc\xec\xfa\xce\x0b\xd0\xbc\x81\x0c\xcc\x6b\x44\x51\x7c\xeb\x0b\x3c\x8c\x86\x0e\xbd\xba\x21\x9e\x36\x97\xff\xd7\xde\x0d\xdd\xa0\xe2\x11\x2b\xdd\x8c\x8c\xb9\xa2\x3a\xc1\xce\x95\xb6\xd9\x27\x64\x60\x04\x76\x37\xaa\xb1\xe4\xdb\x4a\xe5\x16\xd7\x12\x2a\x3c\x28\x4a\x97\x85\x4f\x1f\x12\x1d\xd0\x7d\x43\x6d\x37\x42\xb0\xd7\xb9\x58\xbd\xfe\x94\x8b\xd5\xc2\xce\xf4\x14\x3a\x34\x35\x3d\x6a\x92\x7e\x0f\x5c\x1c\x3a\x53\xb2\x9d\xfc\x70\x0f\x39\x69\xad\x4b\x58\x4e\xd0\xa7\x64\xc5\xbc\x10\xa0\xe9\x0f\x30\x40\x88\xb8\xce\x46\xde\x68\xd9\x57\xbf\xe6\xba\x90\x60\x03\xa0\x56\x1d\x02\x7a\x7f\xff\xd7\x5b\x65\xcc\x86\x5c\x6f\xb7\x55\xc8\x8c\x3d\xec\xb9\x74\x17\x5e\x37\x2e\xf4\xeb\xa2\xd3\x61\x02\x75\xc6\x1f\x25\xf1\xd8\x8c\x72\x3d\x0d\xbb\xd6\xda\xa5\xfc\xcd\xb5\xd6\xc0\xc0\xf9\x5d\x26\xad\xa7\x2f\x71\x6a\x73\x93\x40\xa8\x99\xa7\x69\xa8\xa9\xe0\x23\x6d\x73\xe9\xf3\x52\x8d\xd5\x9a\xa6\xd6\x85\x57\xb1\x37\x88\xb5\x28\x86\x84\x60\x31\xb1\xa4\x2b\x44\x57\x48\xf1\xb0\x93\x25\x07\x15\x50\xa7\x34\xb4\x6f\x37\x3f\xd5\x23\xf2\x3b\xcb\x8b\xde\x13\x79\xc6\x6a\x17\xf7\xa2\x01\x67\xde\xdb\xd6\xf6\x48\x47\x40\x29\x01\x9b\xd9\x9e\xb2\x11\xcf\x73\x8b\xf2\xa7\x5a\x99\x79\x2b\xad\x78\x54\x71\x73\x76\xb4\x73\x23\xa2\xfb\x4c\x25\x72\xf4\x59\x54\xa1\xb8\x80\xc5\x5e\x30\x5f\x9a\x7b\x1d\x0e\xba\x1c\x2b\xf6\x24\x76\x44\x03\xbc\xc2\x42\x43\x3d\x19\x1b\x67\x4e\x65\xb5\x7b\xd9\x3d\xb5\xff\x42\xf8\xbb\xe1\x19\x7c\xb1\x2d\xf1\xa1\xda\xad\xc2\x5b\x1c\x3b\x15\x26\x50\xde\xc8\xfe\x1a\x38\xd8\x9c\x55\x28\x0c\x5b\x87\x14\x5c\x90\xbf\x79\x86\x7e\xf3\x0c\xfd\x0f\xf7\x0c\x7d\x4d\xb7\x10\x60\x63\x9e\xd3\x27\xd4\x13\x20\x3f\x62\x3b\xba\x5a\x8f\x95\x1c\x47\xeb\x78\x12\x48\xe3\x06\x99\x8e\x4d\xa0\xbf\x25\xc2\x28\x40\x58\x3c\xba\x17\xb2\x33\x46\x6f\xe9\x8b\x3a\xf5\x93\x9f\x16\xc1\xd2\xc6\xbe\x14\xfc\xba\x1f\xca\xe2\xa1\x4e\x44\x1a\xdc\x46\x08\x62\xf6\x09\xd8\x9e\xa6\xe3\x27\x00\x1a\x53\xb9\x23\xb6\xd6\x94\x85\x87\xc1\x48\xa4\x49\x42\xb0\x54\x8d\x0a\x7a\x28\x26\xce\x56\xbc\xc8\x94\x4a\x5b\xa1\x71\x4f\x3a\x80\x8d\x44\x99\xa1\x83\x77\x81\xc6\xa8\x0e\x01\x63\x76\x14\x7d\xd2\x85\x4f\xd1\xc0\x7c\x0c\xd0\xc2\x80\xd5\x14\x97\x90\x4b\xe9\x87\x63\xea\x33\x9c\xb8\x73\xb8\x10\x46\x6c\x29\x22\x0e\x3a\x90\x16\xbc\x17\x71\x97\x7d\x12\x92\x22\x35\xd2\x41\x74\xb3\x9e\x8e\xa8\x25\x94\xbb\x48\xda\x84\x2f\xc6\x6e\xae\x9a\x85\x60\xa1\xe5\xd8\x72\x8b\x24\xb1\xb4\x8b\xfb\x64\x3f\x2d\xc7\xf4\x22\x4a\xb9\x1e\x68\x58\xb7\x9e\x3b\x17\x54\xd0\x19\x94\x33\xfc\x20\xfd\x19\xd2\x71\xb6\x03\x91\x3b\x73\x39\x73\xb2\x97\x1e\xfb\xe5\x90\x7b\x18\x2e\x45\xcc\x62\x63\x6a\x90\xcb\xd1\xbf\x5c\x26\x4c\x97\xd1\x06\xd8\x2a\xab\xe7\x54\x78\x6e\x35\x77\xec\x64\x2e\xcd\x83\x08\x5c\x2d\x5b\x0e\x79\xf1\x8f\xc6\x58\xd5\xc9\x7f\x0a\x07\xcf\x22\xf2\xae\x10\x91\x85\x0f\x27\x25\x5b\xd1\x6b\x96\x38\x14\x01\x16\x1e\x53\x52\x66\x31\x2f\xc4\x74\xee\xd1\x36\x09\x7a\x3a\x2d\xca\x83\x4c\x66\x1d\x76\x2c\xc4\x31\xd6\x4e\xda\x34\x59\x89\x68\x17\x35\x74\x80\xfa\x69\x22\x7e\x7b\xb6\x7d\x5f\xcf\x36\x64\xd9\xc5\x9c\xc1\x31\x43\x4b\x4d\xbd\xf6\x3f\x3f\x6e\x70\x05\x0b\x5a\xa2\x47\x8c\xf3\x57\x7c\x76\xb6\xd8\xc0\xe3\xec\xf9\xc1\xef\xa0\xfe\xeb\xcc\x3f\x6c\xfd\x65\x1d\x50\x20\x34\xcc\xc2\x30\xb8\x58\x84\x4b\xc7\x18\xb4\x83\xc3\xfa\xdd\x2c\x33\xdf\x15\x38\x69\xc8\xc3\xd5\x58\xdc\x0e\xae\x74\x69\x2d\x6d\x29\xf0\xbe\xeb\xb1\xb8\x03\x56\x77\x5e\xbc\xd0\x6e\xd4\xab\x27\xa0\xc5\xfe\xbf\x4f\x74\xf1\x4b\x4d\x33\xf4\x30\xd1\xd1\x67\x33\x4d\x6d\x53\xb1\x99\x43\x2d\xaa\xeb\xaa\xcd\xa3\x56\x76\xcd\xc1\xe3\xc9\xaa\xc4\x99\x76\x8f\x79\x07\x7d\x72\xe3\xf5\x09\xaf\xa6\xc7\x9c\x67\x99\xc8\xed\x45\xde\xb0\xb5\x40\x72\x0d\x6a\x01\xcd\xc4\x8d\x40\xe1\xe6\xda\x2b\xd7\x1c\x25\xb5\xa2\xe1\x6b\x30\x74\xd3\xf6\x99\xbb\x2c\xd3\xb4\x73\xe6\xf6\x2b\x39\x5d\xde\xbd\x7f\xbf\xf8\x65\xf6\xfe\xee\xdc\x76\xbf\x55\x19\x29\xf8\x5a\xe7\x98\xb8\x96\xd0\x98\x78\xed\x45\x53\xad\xb0\xe2\xd1\xca\xf7\x1a\x9d\x5c\x65\x9a\x56\x55\xb3\xe6\xf2\x13\x95\x03\x30\x6d\x54\x04\x35\xe3\xc6\x7a\x07\xae\x5a\x3f\x7c\xed\x93\x29\xfc\x13\xfe\xf6\x84\xf9\x4e\xbc\x06\x6d\x47\xd2\x8c\x6b\x1f\x57\xca\x86\x39\x62\x3b\x20\x18\xb8\x6b\x3b\x3c\xb5\x2e\xe0\x61\xdb\xe3\x4e\x02\x23\xb9\x88\xad\x9c\xdf\x93\xec\x0e\x1c\xbb\x4f\xd5\x38\xb5\x3b\xcb\x63\x7c\xd2\x40\xb9\x13\x54\x73\x03\x8d\x6a\x2f\x78\x36\x97\xe8\x03\x35\x6d\x2a\x54\x77\x9b\xd8\x05\x99\xb7\x29\x97\xeb\x92\xaf\x8d\x75\x6b\x2b\x9f\xcb\x6d\xb2\xde\x20\x0f\x48\x99\x79\x7c\x32\x67\x12\xe8\x62\x6a\x4b\xa8\x86\x4f\x4e\xe4\x5c\x52\x9f\xe4\xda\x17\x8f\x58\xd9\x3f\xdd\xb8\xee\x10\x28\x1d\x0b\x22\x41\x3a\x39\x97\x38\xb9\xc8\x4f\x62\x23\x21\xf0\x62\xe1\x45\x7d\xe9\x72\x88\x5d\xa2\x68\xbb\x39\xd3\xd7\x10\x93\x99\x4b\x97\xa2\x8b\x9e\x23\xea\x43\x20\x5c\x82\x4d\xda\x7f\x9e\xd8\xc9\xb0\x7b\x82\xda\xd6\xbe\xea\x8f\xbe\x03\xcc\x86\x5b\x8c\x50\x9f\x6e\x1e\x63\x03\xbd\x85\x3c\x38\x38\xba\x78\x1b\x20\x2f\xbb\xbd\x35\xb6\x5f\xf8\x9d\x4e\x68\xab\x2a\x97\xe9\x88\x26\xe1\xf7\x7b\x1b\x85\x47\x72\x7f\xa3\x06\x3c\x87\xaf\x6b\x5b\xcb\x2c\xd3\xbe\x6a\x97\x4a\x75\xcc\xcb\x13\x06\x14\x2b\x8d\xa2\x1f\xec\x1b\x8c\x32\x2a\x0e\x59\x2f\x03\x92\x15\xeb\x43\x64\x4f\x9f\xbe\x06\xa5\x89\x3e\xa8\x39\xde\x7e\x1a\xdc\x22\x67\x21\xd0\x65\x37\xea\x84\xa5\x7b\xae\x72\xc0\x76\x1c\x93\x14\x4f\xb2\x32\xce\x09\x1e\x2f\x66\xf3\xa0\xc6\xb2\x59\xff\x13\xb7\x88\x26\x7e\xe6\x26\xd0\xc8\xa8\xcc\xb5\x39\x2e\xe9\xbc\xa3\x53\x5b\xe5\x8c\xcf\xa5\x4d\x55\xb3\xc7\xf1\xcc\x82\x73\x73\xf7\x57\x4c\x00\xcd\x90\x4f\x1f\x2c\xd6\x82\x29\x29\xec\x69\x38\x97\x56\xfb\x7b\xc2\xf8\x52\x5b\x49\x6d\x2e\x77\x4e\xe7\x3a\x71\xf4\x45\x5c\x32\x40\x3d\xef\x3f\xf3\x6a\x66\x40\xe5\x9e\xff\x9d\xf9\xbf\xff\xfe\xdd\xff\x0f\x00\x00\xff\xff\x7a\x2f\x54\xf3\xe3\xad\x04\x00") +var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfb\x73\xeb\xb8\x95\x2f\x8e\xfe\x3e\x7f\x05\xbe\x7b\x4e\x55\x77\x27\xb2\xdd\x49\x66\x72\x53\x9e\x3a\x75\xaf\xda\xd6\xde\xed\xd3\xde\xb6\xe3\x47\xf7\xe4\x1e\x4d\x29\x10\x09\x49\x88\x49\x80\x01\x40\x7b\x2b\xa9\xfc\xef\xdf\xc2\xc2\x83\xe0\x4b\xa2\x1e\xb6\xe5\xdd\x9c\xa9\x4a\x7b\x8b\x24\x9e\x0b\x0b\xeb\xf9\x59\xff\xfc\x37\x84\x3e\xc8\x67\x3c\x9f\x13\xf1\xe1\x14\x7d\xf8\xfd\xf1\xf7\x1f\x06\xfa\x37\xca\x66\xfc\xc3\x29\xd2\xcf\x11\xfa\xa0\xa8\x4a\x88\x7e\x3e\x4b\x96\x8a\xd0\x38\x39\x91\x44\x3c\xd1\x88\x9c\xe0\x38\xa5\xec\x38\x13\x5c\x71\xf8\x10\xa1\x0f\x4f\x44\x48\xca\x99\x7e\xdd\xfe\x89\x18\x57\x48\x12\xf5\xe1\xdf\x10\xfa\x17\x34\x2f\xa3\x05\x49\x89\xfc\x70\x8a\xfe\xaf\xf9\x68\xa1\x54\xe6\x1a\xd0\x7f\x4b\xfd\xee\xff\xc0\xbb\x11\x67\x32\x2f\xbd\x8c\xb3\x2c\xa1\x11\x56\x94\xb3\x93\xbf\x49\xce\x8a\x77\x33\xc1\xe3\x3c\xea\xf8\x2e\x56\x0b\x59\xcc\xf1\x04\x67\xf4\xe4\xe9\x77\x27\x38\x52\xf4\x89\x4c\x12\x9c\xb3\x68\x31\xc9\x12\xcc\xe4\xc9\x3f\x69\xac\xe7\xf8\x37\x12\xa9\x7f\xc1\x3f\x62\x9e\x62\xca\xcc\xdf\x0c\xa7\xe4\x5f\xbe\x1d\x84\x3e\xcc\x89\x0a\xfe\xa9\x67\x9b\xa7\x29\x16\x4b\xbd\x22\x1f\x89\x8a\x16\x48\x2d\x08\x32\xfd\x20\xb7\x44\x7c\x86\x30\x3a\x15\x64\x76\xfa\x57\x41\x66\x13\xb7\xd0\xc7\x66\x81\x2f\x61\x34\x37\x09\x66\x7f\x3d\xb6\xcb\x04\x2d\xf3\x8c\x08\x98\xdb\x45\xac\x5b\xff\x44\xd4\x10\x9a\x2d\xde\x0f\xdf\x16\x44\x66\x9c\x49\x22\x4b\xc3\x43\xe8\xc3\xef\xbf\xff\xbe\xf2\x13\x42\x1f\x62\x22\x23\x41\x33\x65\xf7\x72\x88\x64\x1e\x45\x44\xca\x59\x9e\x20\xd7\x52\x38\x18\x33\x55\xbd\xb1\xb8\xd6\x18\x42\x1f\xfe\x97\x20\x33\xdd\xce\xbf\x9f\xc4\x64\x46\x19\xd5\xed\x4a\x43\x3f\xc1\x68\x4b\x5f\xfd\xeb\xdf\x9a\xfe\xfe\x57\x30\xa3\x0c\x0b\x9c\x12\x45\x44\xb1\xe3\xe6\xff\x2a\x73\xd1\x7b\xa4\x3b\x2f\xf6\xb1\x3a\xf0\xca\x6c\xaf\x70\x4a\xf4\x9e\xe8\x9d\xb2\x5f\xc0\xdf\x82\x48\x9e\x8b\x88\xa0\x29\x49\x38\x9b\x4b\xa4\x78\x6d\x0d\x28\xb4\xa0\xc9\xab\xfa\x44\x90\xbf\xe7\x54\x10\xbd\x57\x4a\xe4\xa4\xf2\x54\x2d\x33\x18\xa4\x54\x82\xb2\x79\xb8\x14\xff\x1a\x74\x9a\x9a\xa1\xca\x0d\x66\x66\x3e\x68\x9d\xd8\x98\x0d\xdd\x2b\x11\x66\x68\x4a\x90\x3e\x8b\x34\x26\x82\xc4\x08\x4b\x84\x91\xcc\xa7\x92\x28\xf4\x4c\xd5\x82\x32\xfd\xef\x8c\x44\x74\x46\x23\xb7\x66\x87\xb3\x36\xf0\xe7\xea\x95\x79\x90\x44\xe8\x81\x3f\xd1\x98\xc4\xe8\x09\x27\x39\x41\x33\x2e\x4a\xcb\x73\x3c\x66\xf7\x0b\xbd\x0e\xe9\x94\x32\x38\x79\x7a\x2d\x1d\x85\xfc\xd6\x2d\xd7\x6f\x91\xee\x0f\xe5\x8c\xfe\x3d\x27\xc9\x12\xd1\x98\x30\x45\x67\x94\xc8\x6a\x6b\xbf\xe5\xd0\x3f\x4e\xd0\x11\xd2\xeb\x4c\x84\x82\xf5\xe6\x4c\x91\x2f\x4a\xa2\x23\x94\xd0\x47\x82\xbe\xb9\xa4\x52\xa1\xe1\xcd\xc5\x37\x03\xf4\x8d\x39\x2f\x08\x78\xd3\x37\xaf\xb0\xc2\xfe\xef\xff\x09\x8e\x9e\xc2\xf3\xea\xa1\xfb\x30\xd4\xa7\xf9\xce\x5c\x0d\x45\x0b\xff\xf3\x6f\x61\x3b\x76\xbf\x56\xf3\xdb\x82\xd9\x5a\x4e\xdb\x95\xbf\xc2\x32\x95\x59\xab\xd4\x3b\xb4\x2b\x67\xd5\xed\x56\x59\xab\x7c\x5f\xbc\x55\x4f\xe1\xa5\xf9\xeb\x2e\xcc\x15\x2b\xa0\x7a\x4c\x99\x39\x24\xfe\xcc\x08\xa9\xcf\x89\xa3\xde\x03\x61\x29\xbb\xf0\xda\x60\x66\x01\xbb\x75\x5c\x34\x58\x95\x03\x9c\x77\x42\x53\xba\x6e\x7f\x2f\x58\xac\x45\x2e\xcb\xec\x58\x9e\x4e\x89\xd0\xcb\xe0\xd8\x1e\xcc\x76\xaa\xd9\xa0\xca\x05\x23\x71\x87\x69\xfe\x3d\x27\x62\xb9\x62\x9e\x33\x9c\xc8\xb6\x89\x52\xa6\x88\x96\x6f\x2b\x8f\x67\x5c\xa4\x58\xd9\x17\xfe\xf8\x1f\x9b\x2e\x84\xe2\x8f\x64\xdd\xfe\x5f\x98\xdd\x8c\xb0\x04\x32\x48\xf3\x44\xd1\x2c\x21\x28\xc3\x73\x22\xed\x8a\xe4\x89\x92\x03\x78\x4d\xcb\xd4\x44\x1c\xf9\x1b\x08\x7a\x70\x37\x6f\x2e\xe1\x17\x34\xf3\x02\x24\x23\x5f\x14\xb4\x34\x66\x70\xf7\xc2\x12\x85\x37\xca\x0b\x2c\xe5\x76\x34\x23\xb9\x50\x93\xe9\xf2\xf8\x91\xd4\xfa\x6d\xa5\x1c\xcc\x10\x56\x4a\xd0\x69\xae\x88\x9e\xb7\x6e\xc3\xdd\x9d\xc0\x1e\xcd\x05\xdd\x85\x35\xbc\xdd\x84\x63\x2a\x48\x04\x73\xdb\xe4\xc0\xf8\xaf\xf4\xbc\xb5\xfe\xb2\x34\xb3\x7f\x24\x4b\x90\x47\x1a\x56\xc0\x6f\xf9\x98\x8d\x19\x3a\x42\xe7\xa3\xbb\xb3\xd1\xd5\xf9\xc5\xd5\xa7\x53\xf4\xc3\x12\xc5\x64\x86\xf3\x44\x0d\xd0\x8c\x92\x24\x96\x08\x0b\x02\x4d\x92\x58\xcb\x1c\x7a\x30\x84\xc5\x94\xcd\x11\x17\x31\x11\x2f\xb7\x8c\x95\xa7\x84\xe5\x69\xe5\x5e\x81\xdf\x8b\xd1\x57\xbe\xd0\x22\x86\x7f\x54\x7a\xf2\x3f\xb5\x05\x86\x19\xeb\xbe\x83\xd6\x5e\x4d\xa8\x89\x16\x34\x89\x05\x61\x27\x0a\xcb\xc7\x09\xf9\x42\xa2\xdc\xdc\xc9\xff\x2c\xff\x30\xd1\x92\x29\x8f\x49\xf9\x97\xd2\x3f\x0a\x51\x68\xe3\x4f\xbd\x96\xba\xf1\x97\xa0\xd3\x76\xfb\x0e\x7e\xa1\x71\xe3\xdb\xf0\xcb\x9a\x39\xb8\x77\x56\x0c\xd6\xbd\xd2\x3a\x2a\xf7\x82\x95\xf8\x1a\xdf\x11\x44\x89\xe5\x04\x2b\x45\xd2\x4c\x6d\xa8\xaf\x63\x94\x68\xb9\x72\x95\x1c\x79\xc5\x63\x32\x72\xfd\xfd\x15\x19\x71\x96\xc4\x68\xba\xb4\x5c\x6b\x46\x04\x61\x11\x69\x6f\xe1\x1e\xcb\xc7\xa2\x85\x75\xc2\x68\xa9\x3f\xf9\x91\x0b\xfd\xf9\x7b\x10\x48\x4b\x03\x7f\x0d\x99\x74\xdb\x13\xf7\xd5\x59\x08\xb6\xe4\x1f\xbd\x3d\x61\xf7\x95\xec\x6a\x7d\xe0\x02\xc9\xa5\x54\x24\x5d\x6b\x87\x78\x3f\x0b\x61\x2f\x88\x43\x1d\x70\xe5\x8e\xfa\x15\x9c\xfa\xf2\x8d\xdb\x1f\xef\x0d\x96\x6c\x5f\x56\xc4\x43\x9f\xa7\xf3\xe1\xac\x9e\xea\x9d\xdb\xbe\xc0\x89\xf1\x2e\xa6\x59\x92\x05\xf7\x3d\xc8\x17\x32\x37\xb4\xee\x95\x5b\xed\x09\x0c\x60\x8d\xa2\x59\xb6\x43\xfb\xf3\xa7\x3f\x0d\x2d\x34\xc6\x1c\xa7\x16\x54\x06\xc6\x2a\x14\x71\x61\x64\xc1\xd8\x9e\x77\xa3\x6b\x0e\xef\x87\x77\xa3\xfb\x53\x34\x44\x31\x56\x58\x1f\x70\x41\x32\x41\x24\x61\x0a\xf4\x78\xfd\xbd\x5a\xa2\x94\xc7\x24\x31\x1a\xe7\x47\x2d\xf9\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\x84\x7f\xea\x8f\xa9\x44\x38\x91\x1c\x61\x47\x56\x24\x76\x4d\x60\x16\x3b\xd6\x82\x51\xc4\xd3\x8c\x26\xde\x06\xef\x8d\x2b\x94\xc5\xf4\x89\xc6\x39\x4e\x10\x9f\x6a\xae\xa2\x35\xe4\xd1\x13\x61\x2a\xc7\x49\xb2\x44\x38\x49\x90\xed\xd6\xbd\x80\xe4\x82\xe7\x49\xac\xdb\x75\xa3\x94\x34\xa5\x09\x16\x5a\x05\x37\xa3\xbd\xb6\x6d\xa1\xfb\x05\xf1\x63\x85\x71\xe9\xd5\x4c\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x34\x29\xce\xfc\xc3\x05\x82\x71\x9f\x5d\x5e\x80\x3e\x1f\x29\xc4\x0d\x0f\x75\x9d\x5b\xfb\x8d\xeb\x31\xc5\x8c\x11\xe8\x98\xab\x05\x11\xb6\x7b\xfb\xf2\x5b\xab\xe6\x0f\x57\x77\x37\xa3\xb3\x8b\x8f\x17\xa3\xf3\xba\x6e\x7e\x3f\xbc\xfb\xa9\xfe\xeb\x2f\xd7\xb7\x3f\x7d\xbc\xbc\xfe\xa5\xfe\xe4\x72\xf8\x70\x75\xf6\xe3\xe4\xe6\x72\x78\x55\x7f\x68\xc9\xaa\xb3\x9a\x1f\x8e\x6c\xc3\xb3\xd5\xdb\x34\x5f\xca\xa6\x39\xf8\x7a\x8d\x9a\x33\x9a\x80\x0e\xda\xd9\xa0\xe9\x6d\x08\xf6\x4b\x94\x61\x29\x8d\x64\x64\x46\x70\x3c\x66\x9f\xb9\xd0\x0c\x6c\xc6\x35\x8f\xd0\xd2\x93\x12\x79\xa4\x28\x9b\xfb\x8f\x4e\xd1\x38\xff\xfe\xfb\x3f\x44\x97\x94\x3d\xc2\x5f\xe4\x10\x17\xa7\xb7\xf8\xf6\x16\xdf\x5f\x97\xc5\x57\x8b\x3e\x27\xa1\xa1\x77\xbf\x21\x43\x5a\xb8\x60\x59\xae\x40\x94\xe0\xb9\xd2\x7f\xea\x2e\x81\x3c\x56\x04\x0e\x75\x33\x28\x7e\x22\xca\xbf\xa8\x45\x9b\xf7\x60\x47\xfc\x85\x8b\xc7\x59\xc2\x9f\xfd\xc0\x3f\x11\xa5\xc7\x7e\x6b\x7b\xe9\x43\x89\xfa\x50\xa2\xb7\x0d\x25\x3a\x28\x63\xde\xcb\x33\xbf\xb2\xe5\xcf\x70\xc0\x16\x4f\x56\xab\xa3\xaa\xc5\x0f\x15\xb8\x99\x5e\x85\x6b\x96\x9d\x39\x6b\x38\x67\xe9\xe5\xf7\xc2\x3d\x4b\x83\x7e\x7d\xce\xf9\xab\xf0\xb7\xf4\xee\x94\x2d\x17\xea\x5d\x32\xd8\x8e\x77\xc7\xab\x39\x43\x5e\x9e\xe1\xd7\x62\x1b\x36\x09\x66\xd8\x20\x7a\xa1\x73\xb8\xc2\x9a\xf8\x84\xc6\x80\x84\xa6\x08\x84\x7a\xc8\x41\x63\x8c\xc1\x6e\x41\x05\xdb\xde\x4d\xdd\xc3\x04\x3e\x11\x55\x7a\xf9\xbd\xdc\x4d\xa5\x41\xbf\xfe\xdd\xf4\x2b\x8d\x0e\xe8\xc3\x01\x5e\x70\xe9\xbe\xf6\x1b\xed\x70\x1d\xfe\xbf\x02\x0f\x7f\xef\xd2\xdf\x68\x8d\xbe\x2e\x1f\xfe\xd7\xea\xb4\x7f\x9f\x5e\xfa\xde\x2d\xdf\xbb\xe5\xdf\xc2\x7f\xf2\xfe\xdc\xf2\x2f\xab\x9e\x16\xc7\x6b\xe2\x68\xc1\xea\x6b\xc1\xa1\xfc\x57\x07\x27\x0d\xfc\xe5\x54\xbe\x4d\x83\xc6\x5b\x75\xb8\xf3\x62\x7c\x23\x38\x42\x7f\xb5\x84\xb4\x46\x9d\xab\x7d\xf7\x1e\xd4\xb9\xfa\xa0\x5f\x5e\x87\x7b\x33\xe6\xfb\x42\x97\xe7\x3b\x61\x03\x9b\xdf\x96\x5f\xb1\x4c\xde\xcb\xe2\x2f\x9f\x8d\x7f\x30\x13\x7a\x3f\xb2\xf7\x1b\x5c\xbc\x1d\x6f\xdd\xbd\xe7\x64\x35\x5c\xb3\xc1\xed\xb4\x2e\xc3\xaa\xfa\x35\x25\xf2\xf7\xef\xf2\xbe\x7d\x8d\x24\xab\xfe\xc2\xed\x2f\x5c\xdb\x54\x7f\xe1\x7e\xc5\x17\xee\xc1\xc1\xdf\x1c\x4c\x04\x68\x1f\x44\xde\x03\x63\xf4\x31\xe4\x7b\x5c\x9c\x3e\x86\xbc\x8f\x21\xff\x95\xc5\x90\xef\xa2\x3d\x6d\x8b\x45\xf9\x16\x7a\x54\xaf\x46\xf5\x6a\x54\xf8\x7b\xaf\x46\xf5\x6a\x54\xaf\x46\x7d\xe5\x28\xa2\xbd\x0e\xd5\x7d\x21\x7a\x1d\xaa\xf3\x52\xf5\x3a\xd4\x8a\xc5\xe9\x75\xa8\x5e\x87\xfa\x75\xe9\x50\xe4\x89\x30\x25\x21\x19\x2d\xd4\x28\x3e\x64\x5c\xb6\x6b\x42\x21\x77\x68\xd0\x82\xa0\xcd\x72\x52\x18\x04\x2e\xfd\x15\x2d\xb0\x44\x3c\x8a\x72\x51\x39\x03\x55\x3d\xe8\x4c\x10\xac\x08\xb4\xa0\x3f\x7c\x0f\xfa\x4f\x7d\xba\xaf\x15\x83\x3f\xe5\x71\x8d\xda\xcd\x41\x68\x7a\xb2\x5a\x1e\xd9\xdb\xd4\xff\x9e\x93\x6e\xea\xdf\x0b\x12\xb5\xc2\xf2\x71\xcf\x44\x5d\xca\xb5\xd8\x8a\xa8\xa1\x85\xf7\x42\xd4\xf5\xe9\xfe\x6a\x88\xba\x69\xea\x87\x40\xd4\xcf\x36\x8f\x7f\xcf\x84\x5d\x83\x07\xd8\x8a\xb8\x7d\x2b\xef\x85\xc0\x9b\xa7\xfd\xab\x21\xf2\xb6\xe9\xbf\x2d\xa1\xfb\x14\xc9\xce\x24\x7e\x2f\xe8\x7c\xae\xd5\x0c\xd0\xf0\x34\x29\xae\xaf\x11\x54\x24\x05\xae\x25\x6b\xff\xea\x7b\x20\x69\x3f\x58\x33\xf6\x5f\x0d\x2d\xd7\xe6\x7d\x20\x44\x7c\x22\x48\xc4\x9f\xa0\x5e\x58\x37\x62\xbe\x25\x40\xc1\xc0\xaf\x33\x41\x9e\x28\xcf\x65\xb2\x3c\x12\x39\x43\x8e\xf9\x23\xdf\xbc\xb1\x56\x3f\xd3\x24\x41\x9c\x69\xfd\x4b\x61\xa1\xdc\x63\xad\x7f\x0b\x9e\xc2\xa9\x48\xb0\x54\xe8\x91\xf1\x67\x86\x66\x98\x26\xb9\x20\x28\xe3\x94\xa9\xe3\x31\xbb\x60\xe8\xd6\x8c\x11\xf2\x06\x06\x28\x97\xfa\x2c\x45\x98\x31\xae\x50\xb4\xc0\x6c\x4e\x10\x66\x4b\x9b\x80\x5b\x50\x06\xe2\x02\xe5\x59\x8c\xb5\xe2\xbb\x20\xd5\x28\x3d\x3f\x46\x30\xdf\x51\x89\xa8\x44\xe4\x8b\x12\x24\x25\xc9\x52\xf7\xa1\x69\x5f\x71\x64\xd7\xc7\x0c\xd5\xa6\xf3\x11\x21\xb8\x90\x90\x71\x30\x5d\xfe\x03\x33\x45\x19\x41\xa0\x28\x49\x63\x9a\x3b\x42\x97\x5c\x82\xd9\xe6\xa7\x3f\x49\x14\x25\xb9\x54\x44\x0c\xd0\x34\x9f\x4b\xad\x29\x66\x09\x56\x33\x2e\x52\x3d\x42\xca\xa4\xc2\x53\x9a\x50\xb5\x1c\xa0\x14\x47\x0b\xd3\x16\xac\x81\x1c\x8c\x59\xcc\x9f\x99\x54\x82\x60\xdf\xbb\x7b\x88\xbe\x0d\x9f\x19\x02\x90\xdf\x0d\x20\xed\x90\xa6\x5a\xdd\x0d\x86\x5f\xec\xb8\xd9\x13\xdd\x08\x89\xd1\x94\x44\x38\x97\xd6\xc3\xa0\xc4\x12\x91\x2f\x0b\x9c\x4b\xd8\x3b\x3d\x3d\x9b\xb3\x11\xf1\x34\x4b\x88\x22\x88\xce\x90\x12\x94\xc4\x08\xcf\x31\xd5\x4b\x77\x47\x56\x80\xa0\x7b\xa2\xb7\x1b\x68\xa9\xfe\xaf\xa0\x7e\xa7\x5c\x10\x14\x13\x85\x69\xb2\xd2\xeb\x64\xbf\xed\xb9\xdc\x7b\xe2\x72\xe5\x0d\x3f\x08\x36\x67\x40\xfc\xf7\x70\x69\x33\x6b\xba\x8f\x70\xb2\xe3\xfd\x7d\x6b\x07\xd5\xd3\xf6\xfb\xa2\x6d\xb3\x6b\x87\x43\xdc\xaf\x16\x83\xdd\xbd\xa2\x45\x51\xcd\xe2\x5d\xd1\xf4\x6b\x84\x05\xf4\x0e\xe7\xde\xe1\xdc\xba\x32\xef\xd3\xe1\x7c\x30\x1e\xa3\xde\xe7\xfc\x42\x3e\x67\x2a\x7b\xa7\x73\xef\x74\xee\xba\x40\xbd\xd3\xb9\x77\x3a\xbf\x5f\xa7\xf3\x4b\xe2\x3e\xef\x15\xdd\xf9\x5d\x89\xd6\xbd\x58\xdd\x8b\xd5\x3d\x84\xb3\x9f\xda\xbe\x58\x98\xfb\xfa\x43\x4c\x12\xa2\x48\xbb\x3d\x8b\x88\x54\x6b\x0b\xe6\x7a\xa6\x4c\xcb\x71\x73\x41\xa4\xdc\x95\x21\xf9\x86\xdf\x27\x5b\xf2\xc3\xef\xa1\xe6\x7b\x3e\xd5\xf3\xa9\x6d\xa6\x76\x38\xa6\xd9\xe0\x30\xbf\x96\x6d\xd6\xf3\xdf\x2c\x6f\x97\xfe\x1e\x8c\x1b\xb2\xf0\x8b\x1a\x0a\xd7\x52\xbb\xe2\xfe\x70\x5b\x3a\xdf\x91\x1f\x9b\xbe\xde\x27\x33\x36\x63\xef\x39\x71\xcf\x89\x7b\x4e\xfc\xbe\x39\xb1\x3b\xc9\x6f\xea\x22\x33\x7e\xba\x49\x96\x60\x36\xa1\xb1\x3c\xf9\x67\xa1\xcb\xbf\x94\x87\x4c\x1f\xa8\xd8\xa4\x98\xfa\x94\x4e\xf1\x57\xfd\x49\x52\x18\xcc\x3d\x66\xe6\x1a\x27\x9a\xb1\xb1\xdf\x24\x98\x5d\xc4\xef\xc2\x8f\xd6\x38\xfb\xd7\xf0\xa9\xed\xc2\xc7\xb1\x02\x4f\x07\xa6\xcc\x98\xf0\x8a\xbc\xda\x92\x81\xf2\x30\x4e\xf8\x2e\x5c\x3d\x98\x58\xc0\xd8\x1d\xbf\x0e\x16\xe5\xf0\xa6\xdd\xfb\x75\xfa\x5c\xc2\xde\x73\xd1\x71\xc2\xbd\xe7\xe2\x70\x3d\x17\x6f\xe5\x8e\x7c\xe5\xe3\xf9\x5a\x62\x5d\xf7\x20\x7c\x13\xad\x06\x41\xad\x79\x96\x70\x1c\xaf\x72\xc5\x14\x82\x57\x08\x8e\xb2\x36\x12\xbf\xf8\xec\x3d\x08\x6b\xc5\x68\x7f\x65\x91\x7c\xf5\x89\x1f\x8a\x96\xf2\x8a\xa1\x7c\xcd\x24\xbe\x81\x4a\xf2\x3e\xf0\x53\x8b\xf1\xf6\xa1\x7d\xbd\x45\xe9\xed\x2d\x4a\x7d\x68\x5f\xaf\x02\x1e\x98\x0a\xd8\x87\xf6\xf5\xa1\x7d\xbd\x82\xbc\x7a\xda\xbd\x82\xfc\x55\x84\xf6\x75\x12\xb5\x5f\x10\x7b\x73\x77\xa1\xbb\x97\xb9\xdd\x7b\xbd\xcc\xdd\xcb\xdc\x5f\xa9\xcc\x7d\x18\x2b\xdc\x0b\xdc\xbd\xc0\xdd\x0b\xdc\xbd\xc0\xdd\x0b\xdc\x7b\x5f\xc6\x5e\xe0\x7e\xcd\x02\x9d\xcd\x52\xf7\x9a\x24\x9b\xf7\xea\xcb\xe9\xc5\xed\x5e\xdc\x3e\x6c\x71\xfb\x60\x26\xf4\x7e\xca\x3c\x76\x9b\x4f\x5f\xa4\xbc\x2f\x52\xde\x17\x29\x7f\xf1\x22\xe5\xee\xeb\x0e\x19\x1f\xf6\x70\x29\xac\x72\x69\x00\x1f\x05\x99\x53\xa9\x80\xfd\x77\x91\x57\xd6\x27\x7a\xbc\x57\x39\xa5\x4f\xf5\xf0\x4f\x7b\xa9\xa5\x97\x5a\x7e\xa5\x52\xcb\x01\xc5\x82\x1d\x44\xc6\x4a\x8a\x55\xb4\xc0\xd3\x84\x4c\xbc\xd1\x47\x76\xd5\x83\x2f\xa9\x54\x12\x45\xb9\x54\x3c\x6d\xbf\x5c\x3e\xbb\x1e\x86\xbe\x83\x33\xce\x66\x74\x9e\x9b\xbb\xc5\x80\x73\x06\x27\xba\x90\x04\x97\x19\x59\xe7\xa9\x6a\x68\xfd\x5d\x5c\x4b\xcd\x43\x7f\xad\xdb\x69\x13\xc1\xbd\x30\xf2\x59\xa9\x5b\xcb\x5a\x93\xdb\xd1\xdd\xf5\xc3\xed\xd9\xe8\x14\x0d\xb3\x2c\xa1\xc6\xee\x6e\x48\x81\xfe\x43\x4f\x0a\x29\x2c\x1f\x8b\xbd\x14\x86\xcc\x0d\x86\x2d\x18\xfa\xb5\x6c\x8c\x8e\xd0\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xa5\x41\x4b\x28\x90\xb7\x4a\xd2\x2c\xc1\x8a\xc4\xe8\x31\x9f\x12\xc1\x88\x96\x76\x2c\xd2\x6d\x61\xfe\x37\x8d\x8e\xfe\x7b\x74\xf6\x70\x7f\x71\x7d\x35\xf9\xf3\xc3\xe8\x61\x74\x8a\x1c\xc5\xe9\x66\xf5\xb8\xf4\x28\xe2\x25\xc3\xa9\xd6\x40\xf4\x0f\x45\xa6\xec\xdf\x73\x92\x13\x84\xa5\xa4\x73\x96\x12\x40\x04\x2e\xb5\xe8\x06\x7c\x39\xfc\x61\x74\x59\x6e\x79\x41\x42\xf8\x5d\x94\xe0\x29\x49\xac\x3f\x02\x4c\xec\x9a\xd0\x03\xa8\x62\xe3\xa8\xc8\xcd\xaa\xfe\xf9\x61\x78\x79\x71\xff\x97\xc9\xf5\xc7\xc9\xdd\xe8\xf6\xe7\x8b\xb3\xd1\xc4\x4a\x95\x67\x43\xdd\x6f\xa9\x27\x2b\x7c\xa2\xbf\xe7\x38\xd1\xda\x09\x9f\x39\x3c\x5e\xf4\xbc\x20\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf9\xf0\xe9\xe2\x6a\x72\xfd\xf3\xe8\xf6\xf6\xe2\x7c\x74\x8a\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\xe7\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x02\x3f\x51\x2e\xec\xd1\x9d\xd3\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x09\x96\xee\xfa\xea\xe3\xc5\xa7\x53\x34\x8c\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x95\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xbc\xbb\xbb\xf8\x74\xf5\x79\x74\x75\x0f\x2b\xa6\x04\x4f\x24\x5a\xf0\x67\x30\x65\xc3\x0c\xc1\xc2\xfd\x84\x69\x02\x9d\xb9\xcd\xe2\x0c\x3d\x2f\x28\xb8\x3f\x00\x98\xd9\xf7\x6c\xf4\x33\x91\xb3\x37\xb7\xce\x96\x0e\x5e\x5d\x6d\xa9\x9e\xa4\xfa\x1b\x95\x63\xb1\xea\x85\x12\x95\xd7\x5f\x5c\x47\xad\xf5\x2f\x2a\xe4\xd6\xae\xac\xd5\xe8\xa5\x7d\xa6\xc5\x5e\x77\xd6\xd5\xca\x6b\xf8\x7a\xd7\x2c\x51\x82\x46\xf2\x65\xa1\x9e\x44\xce\x14\x4d\x09\xb2\x9d\xd9\xc3\xb9\x47\xf8\xa7\xcf\xa6\xe1\xf7\x70\xc1\xd6\x4a\x39\x7c\x22\xca\x0e\xbf\x57\x01\x7b\x15\xf0\x30\x54\xc0\xf7\x96\xed\x1f\x93\xac\xde\x61\x65\x62\xf0\x8e\xf1\x7a\xd5\x82\x34\x8c\x3d\xd1\x5a\x54\x13\xf2\x44\x12\x90\xf2\x94\xc0\x5a\x69\xb4\xb2\xcb\x54\x10\xfc\xa8\x05\xbe\x98\x3f\x87\x92\x4b\x03\x72\x3f\xda\xcf\x2d\xdc\x25\x88\xe3\x0f\xbf\x7f\xbd\xcb\x42\x2f\x77\xfc\x1a\x25\xbc\x6f\x21\x48\x66\x25\x46\x60\x90\x60\xff\x57\x6b\x09\x5e\x73\x5b\x04\x5f\xbc\x87\x8b\x22\x1c\xee\x01\x69\x5d\xb7\xa1\x12\xec\x58\x68\x4a\x14\x8e\xb1\xc2\xfa\xd0\xcc\x89\x3a\x46\xd7\x0c\x9e\xdd\x63\xf9\x38\x40\xee\xca\xd3\x6c\xa5\xb0\x32\xbc\x42\x6a\xfd\x3b\x31\xe0\x6f\xce\xc7\xfb\xeb\xbb\xbf\xbe\x9b\x57\xa6\x0f\xf3\x6c\x59\xe1\x7d\x5d\x8c\x1b\xf9\xbc\xf6\x77\x7f\x99\x16\xdf\xef\x15\xf6\xba\x4e\xae\xbd\x5e\x68\xa6\x72\x56\x7f\x5b\x99\xff\xeb\x6f\xab\xfe\xb6\xea\x6f\xab\x03\x58\xe1\x37\x77\x18\x36\x70\xf7\x37\xf5\x18\xae\xd3\x4e\xb7\x86\xbc\x2b\xb4\xd1\x4d\x40\xef\xfe\xda\x15\xdb\xae\xf8\x86\xbe\x0f\x1f\x61\x30\xc9\xd7\x48\x6b\xdb\xeb\x65\x6e\xf2\x45\x7a\xfd\xf4\x05\x6f\xfc\x1e\x81\x70\xaf\x08\x84\x87\x31\xd7\x17\x49\x81\x7b\x1b\x8b\xe9\xdb\xa7\xbd\xf5\x50\x83\x7d\x62\x57\x9f\xd8\x05\xbf\xf7\x50\x83\xfb\xa3\xd6\x97\x95\xae\x79\x4c\x26\x95\x28\x01\xff\xcf\x49\xd5\xf3\x53\x7a\x12\xba\x81\x4a\x0f\x8a\x4c\x37\x68\x9d\xc6\xfb\x2c\x22\x75\xc5\x63\xd2\x39\x92\xa0\xf4\xf2\x81\xcb\xe0\x6e\x9e\x46\x16\x2f\x0d\xfc\x85\x25\xf1\x96\x2d\xff\x1a\x0d\x3b\x0d\x04\xdc\x5b\x79\xd6\x2e\xd4\xd7\x1a\x5f\x50\x70\xa8\x77\xe4\xa9\xe8\xc6\xc6\x5d\x4c\xe3\xa4\x85\x99\x37\x3f\xf7\x2c\xbd\xf9\xf1\xcb\x60\x06\x75\xe7\xe8\x60\x56\x09\xdf\x7e\x1f\x76\x95\x70\xc4\xaf\x61\x59\x59\xb9\xf7\x5f\x1d\x57\x5f\x45\xc9\x3d\x6f\xef\xb8\x5c\x5f\x2b\x87\xef\x21\x7e\x56\xd9\x3a\x7a\x0c\x9d\xde\xd4\x72\x38\x13\xee\x4d\x2d\xef\xda\xd4\x62\x5c\xb4\x93\x0c\x0b\xc2\x54\x83\x48\x5d\xbd\x4e\xe0\xf5\x10\x73\xc1\x49\x1d\xd0\x00\xd2\x12\x2d\xb2\x17\xb2\xbf\xaa\xbe\x2e\xdb\x8b\x15\x0c\x82\x4c\xc8\x93\x7f\x16\x7f\x7b\x61\xbd\x54\x01\x62\x45\x74\x92\xc1\xfa\x97\xfa\x8e\xce\x6d\xa0\xd2\xee\xb9\x92\x58\x95\x44\x41\x08\xa2\x5e\x1b\xcf\x74\x63\xde\x7e\x5f\x29\x92\xb5\x41\xbf\x6e\x6c\x53\x7d\xe3\xbb\x1d\x20\xb7\x33\xd4\xa4\xfb\x05\x39\x65\x5a\x1a\xe5\xb3\xe2\x62\x90\xe8\x99\x26\x09\x20\x8a\x40\xc6\x63\xdb\x0d\xf0\xab\x8b\x78\x68\xdd\xf9\x37\x8d\x7b\x68\xe2\x0e\x4d\x2c\xa1\x8b\x3d\x75\x5f\x39\xd3\x8e\xd8\x20\x9d\x15\xb4\xa1\x35\x06\xd8\xaf\x83\x13\x7c\x22\xea\xb5\xd8\xc0\xb6\x67\x7f\xe5\xb9\x17\x64\x46\x04\x61\x11\x39\x40\x6f\xfb\x26\x61\x20\xbf\x98\x49\xda\x18\x10\x0f\x25\x10\x4e\x55\x71\xab\xa7\x95\x44\xdd\x3e\x93\xbc\xcf\x24\xef\x33\xc9\xab\x47\xbd\xcf\x24\xef\x33\xc9\x1b\x73\x20\x62\x92\x10\x45\x5a\xa5\x8a\x73\x78\xfc\x56\x52\x85\xe9\xfd\xeb\x10\x2c\xcc\x5c\x7a\xd9\xe2\x57\xa3\x59\xb8\x0d\x3f\x08\xcd\xc2\x9c\xb5\x75\xe6\x87\xd2\x8f\x0d\x21\xd6\xaf\x6e\x92\xd8\x86\x69\x94\xec\x12\xe7\xf0\xfa\xbb\x64\x1d\xd5\xa1\xf7\x36\x0a\x14\x6c\xdd\xcb\x71\x92\xda\x11\xe8\x36\x71\xeb\x31\x7c\xbf\xf3\x3e\x14\x0e\xda\x46\xf7\x87\xca\x47\xb7\x4e\x4a\x39\x14\x8b\xcd\x57\xc4\x23\x7b\xeb\xcd\x1b\xe7\x4a\xd4\x98\xe1\xbb\x9d\x6e\x6f\xac\xea\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\x2a\xd4\x1b\xab\x36\x36\x56\x7d\x45\x32\x55\x6f\xb8\xea\xc5\xaa\xfd\x4d\xf7\x50\xb5\xcc\x43\xb2\xd6\x75\x46\x49\x2f\x72\xa8\xd6\x46\xde\xdb\x69\xff\x75\x4d\xc8\xfd\x8d\x1b\xc1\xfb\xe1\x57\xf2\xa5\x59\xd2\x2e\x81\xc5\x6e\x47\xbf\xda\xb8\xe2\xbe\x74\x68\xe3\x5a\xf5\x61\xcf\x2b\x16\xa7\x0f\x7b\xee\xc3\x9e\x0f\x2e\xec\x79\xef\xca\x4a\xc6\xe5\x2a\x40\x22\x53\x3a\x6b\x65\xfe\xb3\xbb\xb3\x21\xd1\x08\x48\xc1\xa0\x1c\xc7\x24\x4b\xf8\x12\x2c\x29\x2b\xae\x73\xd7\xc5\x4d\x4d\xa2\x3e\xf4\x1b\xdd\x8d\xfc\xb5\x74\x8e\x43\x91\x49\x8b\x79\x1f\x84\x14\x7a\xf2\xcf\x4a\x3a\x7f\x27\xbc\x4c\x86\xc8\x17\x2a\xe1\x56\x5a\x4f\xd8\x63\xd6\xfc\x24\x28\x5d\x68\xef\xc1\x69\xae\x82\xdc\x3d\xa9\x05\xab\x8c\x08\xb5\x0c\xde\x24\x69\xa6\x96\xff\x35\x66\x54\x79\x0f\x1b\x9d\x33\x2e\x0c\x57\xd3\x1f\x2f\x30\x8b\x13\x22\xf4\xa5\xea\xda\x89\x30\x63\x5c\x81\xb8\x01\x33\x88\xd1\x13\xc5\x46\x38\x19\xde\x5c\x74\xf6\x33\xbf\xa3\xd3\xf5\xda\xc5\xea\xd6\xdc\x75\x9f\x12\x3e\x85\x0a\x96\x79\x59\xa7\xd7\x0d\xf4\x9e\xd1\xd2\xce\xbd\x15\x43\x50\x58\x3e\x56\x81\x43\xca\x59\xe8\x93\x95\x50\x22\x6b\xde\x2d\x61\xcc\xaf\x7e\xb5\x02\x37\x52\x7e\x66\x01\x48\xe0\x31\x0c\xb9\x3a\x0e\xf7\x63\xd8\xa1\xfb\xad\x68\xd9\xfd\xe2\x4a\x77\xc3\x8f\x82\x28\xb1\x9c\x60\xa5\x34\x93\xd9\x27\xc6\xc9\x3d\x96\x8f\x9d\x31\x4e\x4a\x2f\x1f\x38\xcb\x29\x61\x9c\x94\x07\xfe\xe2\x2c\xa7\x23\x75\xae\xe1\x4c\xef\x2f\x3f\xbe\xeb\x59\xdb\x60\xe2\xbf\x96\x5c\xf9\x6e\xbc\x67\x9d\x99\xf6\x3d\xe6\xcd\xaf\x62\xa6\x07\x33\xc2\x0a\x3f\xff\x1a\x4f\x6e\xf9\x76\xea\x8f\xe8\xaa\x35\xfa\xea\x0a\xe1\x56\x84\x8e\x35\x73\x7b\x27\x05\x71\xab\x72\xd3\xbe\x47\xf5\x32\x66\xee\x60\x37\x36\x89\x01\xba\x28\xa3\x95\xfb\x33\xe4\xa2\x82\x8a\xd2\xb3\x0b\x48\xb4\xa6\x32\x4c\x88\x8f\xb8\x30\x92\x57\x6c\xcf\xac\x31\xdb\x19\x30\xdf\x53\x34\x44\xb1\xad\xcd\x2f\x48\x26\x88\x24\x4c\x19\x55\xdb\xd4\xbb\x72\xe5\xfd\x29\xb3\x16\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\xf4\x85\xfd\xa9\x44\x38\x91\x1c\x61\x47\x38\x24\x76\x4d\x60\x16\x3b\xf6\x80\x51\xc4\xd3\x8c\x26\x1e\xa9\xdd\x5b\xf1\x29\x8b\xe9\x13\x8d\x73\x9c\x78\x64\xec\x31\x1b\x3d\x11\xa6\x72\x50\xe1\x70\x92\x20\xdb\xad\x7b\x21\xd0\xcf\xdd\x28\x25\x4d\x69\x82\x05\x52\xdc\x8e\xf6\xda\xb6\x85\xee\x17\xc4\x8f\xd5\xa1\x80\xa3\x14\x3f\x12\x89\xa8\x42\x19\x97\x92\x4e\x93\xe2\x18\x3f\x5c\x20\x18\xf7\xd9\xe5\x05\x98\x46\x23\x85\xb8\xe1\x83\xae\x73\xeb\x27\x70\x3d\xa6\x98\x31\x02\x1d\x73\xb5\x20\xc2\x76\x6f\x5f\x7e\x6b\x2b\xe7\x5b\x63\x44\xb7\x5b\x4c\xc3\x91\xbd\x9d\xd2\xd9\x59\xe3\xec\xaa\x6e\x76\xd3\x35\xdb\x15\xcd\x17\xf0\xd2\x76\xd7\x06\x2f\xa9\x2c\xab\x83\xef\xc2\x65\x5b\x1a\xf1\x6b\xe0\xa3\xfd\x4a\x15\xc1\x5e\x0b\x7c\x91\x75\xfb\x5a\x55\xc0\x03\xd7\xff\x7a\x64\xb7\x1e\xc5\xbe\x0f\xc0\xd8\xe3\xe2\xf4\x01\x18\x7d\x00\xc6\x57\x1b\x80\xd1\xae\x4d\xd0\x78\xe7\x74\xbd\x0d\x2b\x48\x79\xa3\x80\xf8\x2b\x88\x52\x58\x3e\x76\xad\x29\xa5\x45\xe5\x8b\xf8\x5d\x48\xf5\x8d\x13\x7e\x0d\xe9\xbe\xaf\x53\xb4\xd7\x3a\x45\x07\x37\xed\x5e\xf0\xeb\x05\xbf\x5e\xb6\xe9\x38\xe1\x5e\xb6\x39\x5c\xd9\xe6\xad\x14\x96\xaf\x09\x42\x57\x0b\x4f\xa5\xcc\x98\x95\x01\xb6\x06\x8e\x06\xdc\x03\x79\x96\x70\x1c\xaf\x0b\xc2\xf9\x2b\x2a\xe4\x9a\x15\xa2\x99\x69\x57\x7f\x70\xe0\x92\x59\x2d\xfe\xc6\x8c\xfc\xd7\x10\x53\xdb\x3a\xf5\x37\x0d\xab\x05\xfa\x85\x60\xb2\x52\x50\xda\x4b\x69\x21\x55\x9a\xee\xa4\x70\xc8\xdf\x1f\x38\x55\xfb\x2d\x7d\x0d\xf5\xe2\x2b\x76\x10\xf4\x4e\x80\x5f\x67\xe1\xf3\x83\x91\x5a\x7b\xd5\xae\xcf\xaa\xec\x8d\xfa\xbd\xe2\xdb\x2b\xbe\x7b\x5f\xc6\x43\x52\x7c\xdf\x50\xa2\x36\x69\x22\x2f\x52\xc6\x70\x3b\xd9\xba\x17\xad\x7b\xd1\xba\x17\xad\xbf\x5a\xd1\xfa\x30\x56\xb8\x97\xab\x7b\xb9\xba\x97\xab\x7b\xb9\xba\x97\xab\xf7\xbe\x8c\xbd\x5c\x5d\x91\xab\xe1\x2f\x97\x26\xbd\xa9\x90\xdd\x59\xb8\xee\x90\x13\xfd\x5e\x24\xeb\x5e\xaa\xee\xa5\xea\xc3\x96\xaa\x0f\x66\x42\x5f\x5f\x22\x64\x9f\x4a\xd8\xa7\x12\xf6\xa9\x84\x6f\x91\x4a\xe8\x78\xc9\x2a\x09\xa5\x2e\x58\xfc\x5c\xe3\x40\x07\x2b\x5b\x14\xa3\xdd\x36\xbc\x63\x5f\x4b\xed\x80\xe6\xb7\xa9\x34\x55\xfa\xcd\x35\x74\x40\xf5\xa7\x06\x4e\x5a\xd0\x8c\xc2\x8d\x6f\x3d\x42\xd8\x2f\xf6\xcd\xf7\x05\x06\x5e\x1f\x75\x5f\x7f\x0a\x05\xbb\xd6\xd7\x9f\x7a\xc1\x79\xbb\xc3\xb5\x66\xe6\x8e\x46\x8d\x8d\xf7\x9d\x4e\xfb\xcd\xc1\xe5\xda\x4f\xfa\x9b\x86\xcb\x35\xde\x24\xb5\xe4\x9d\x93\x7f\x36\x5e\x14\x6f\x50\x76\x6b\xe3\xdb\xe1\x13\x51\x5f\xcb\xd5\xd0\x97\xdd\xea\xeb\x43\xec\x69\xba\x5b\xb1\xfe\x77\x3b\xdb\xbe\xc8\x58\x5f\x64\xac\x2f\x32\xd6\x17\x19\xeb\x8b\x8c\xa1\x5f\x79\x91\xb1\x8d\xc5\x47\x33\x8e\xaf\x45\x82\xec\x8b\x8c\xf5\x42\xe4\xfe\xa6\xfb\xeb\x12\x22\x0f\xd0\x82\x70\x10\xd5\xd4\xbc\x05\xe1\xcd\x71\x3f\xdc\x48\xba\x62\x7f\xb8\x05\xed\xf1\x3f\xec\xff\xf5\xf8\x1f\x3d\xfe\x47\xcb\xac\xfb\x60\xd6\x1e\xff\x03\xf5\xe1\x9a\x7d\xb8\xe6\x21\x87\x6b\x76\xd8\xc6\x1e\xff\xa3\xa3\x38\xf7\x42\x18\x20\x4e\xe6\xda\x08\x07\xe4\x97\xba\xa2\x71\xb0\x52\x9a\x1b\xeb\xaf\x07\x07\xa4\x71\xda\x07\xa1\x92\xbc\x22\x0e\x48\x13\x5d\x77\x56\x40\xde\x07\x1e\x88\x1b\x6d\x9f\xb8\xd8\x87\x58\x1f\x7e\x88\xf5\xc1\x25\x2e\x1e\x8c\x24\xdb\xab\x7b\x7d\xee\x62\x9f\xbb\xd8\x2b\xc3\xbd\x32\xbc\xf7\x65\x3c\x24\x65\xf8\x8d\x25\xec\x17\xc4\x05\xd9\x4d\xd6\xee\x45\x6d\xf3\x5e\x2f\x6a\xf7\xa2\xf6\x57\x2a\x6a\x1f\xc6\x0a\xf7\x72\x76\x2f\x67\xf7\x72\x76\x2f\x67\xf7\x72\xf6\xde\x97\xb1\x97\xb3\x5f\x0d\x27\xa4\x49\xd8\xee\x98\x6f\xf3\x9e\x24\xed\x5e\xca\xee\xa5\xec\xc3\x96\xb2\x0f\x66\x42\x3d\x66\x48\x8f\x19\xd2\x63\x86\xf4\x98\x21\x5b\xc9\x37\xff\x66\x8f\xe5\x87\xe0\x26\xf6\x57\xf6\x87\x1f\x12\x3e\xbd\x5f\x66\x44\xff\xf7\x9c\xa6\x84\x49\x90\x46\xa9\x5a\x86\xf2\x4c\xcb\xca\xd7\xd7\xfc\xc3\xdd\xc5\xd5\xa7\xcb\x30\x9b\xe6\xc3\xe7\x87\xcb\xfb\x8b\x9b\xe1\xad\x5f\x17\x3f\xab\x70\x2d\xec\x77\x25\x91\xcc\x92\xfc\x2d\xd1\xba\x27\x9c\x9a\x3b\x85\x55\x2e\xb7\x1b\xd9\xed\xe8\x6e\x74\xfb\x33\x64\x03\x4d\xce\x2f\xee\x86\x3f\x5c\x96\x08\xa2\xf4\x7c\x78\xf6\xe7\x87\x8b\xdb\xf6\xe7\xa3\xff\xbe\xb8\xbb\xbf\x6b\x7b\x7a\x3b\xba\x1c\x0d\xef\xda\xbf\xfe\x38\xbc\xb8\x7c\xb8\x1d\xad\x5c\x8f\x95\xa3\x5d\xad\x84\x48\x58\x24\x88\xf3\x47\x91\xe5\x1a\xa2\x58\x43\xe4\xc5\x47\xc7\x0e\x9b\xfa\x3a\x45\x0f\x56\xa7\xa7\xb6\x71\xc3\x60\x83\x86\x8c\x32\x12\x53\x89\xa7\x09\x89\x6b\x2d\xb9\x35\x6c\x6b\x09\x97\x06\xf5\xac\xb5\x67\x2f\x72\x6a\x9e\x17\x19\x5e\x80\x20\x47\x51\x11\x16\x37\xf4\x61\xf6\xa1\xb5\x07\xa6\x79\x17\x7d\x22\xa5\x9e\xa2\x5c\x08\xc2\x54\xb2\x44\xe4\x0b\x95\x4a\xd6\x1a\x75\xdb\xd7\xd6\xac\xbd\x53\x7d\x83\x0b\x2c\xd1\x94\x10\x56\x1e\xbf\x20\x09\xc1\xb2\x61\xcc\x76\xf7\xbb\x2d\x8b\xdf\x2b\x6b\x8d\x31\x97\xd1\x0c\xd3\x24\x17\xa4\x72\x5a\x78\x9a\x61\x41\x25\x67\xa3\x2f\xfa\x2e\xd3\x07\xf9\x1a\x3e\xe7\x62\xbb\x13\x33\xfa\x73\x48\xc1\x57\xe5\x7f\x7e\xba\x2f\xff\xab\x74\xe6\x2f\xef\xcb\xff\x5a\x4d\xeb\x41\xc3\x55\xca\x3e\x42\x9f\xee\x4f\xd1\x27\x08\x71\x12\xe8\x7e\x81\x0d\xc5\x5e\xde\x9f\xa2\x4b\x22\x25\xfc\x52\x7c\xac\xa8\x4a\x60\x6e\x3f\x50\x86\xc5\x12\xb9\xe9\x9b\x44\x57\x1c\x2d\x10\xf1\x4b\x53\x5d\x3c\xf6\xb7\x9c\x81\xea\x5e\xac\xde\x25\x9f\xd3\x08\x27\xbb\x2d\xe2\xf0\xaa\xc4\x07\xae\x6f\x57\x2e\x45\xf8\x76\x7d\x2d\x86\x57\xe7\x90\x44\xea\x86\xda\x30\xf3\x2b\x22\x35\x91\x44\x9c\xc5\xd6\x4b\xa3\x6f\xff\x65\x20\xd4\xff\x8d\x43\x22\x6e\x2e\x29\x9b\xeb\x16\xd1\x09\xba\xbe\x1d\xb3\x6b\x11\x1b\x43\x28\xd1\xd2\xb0\xa1\x39\x2a\x11\xe3\x0a\xd1\x34\xe3\x42\x61\xa6\xb4\x22\x00\x62\x80\x5d\x11\xc3\x01\xce\x78\x9a\xe6\x0a\xeb\x83\x56\x5b\x54\x66\xcc\x21\x77\x44\x5d\xc4\xe0\x5a\x69\x58\x43\x23\x27\x14\x73\xc9\x84\x6e\x5f\xcb\x28\x65\x1d\x9a\xc6\x35\x55\xd6\x35\x81\x85\xc0\x65\x69\xe2\x03\x55\x24\xad\xbe\xdf\x31\xc8\xf3\x5f\x8d\x06\x82\x33\x93\x54\x41\xc4\x50\x44\x0b\xaa\x48\xa4\xf4\x11\xdc\x8a\x26\x1e\xae\x7e\xba\xba\xfe\x25\x94\x20\x3e\x0c\x3f\x9f\xff\xf1\x3f\x4a\x3f\xdc\x7e\xae\xfd\x30\xf9\xf9\x8f\xb5\x5f\xfe\x3f\x2b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x04\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x9c\x20\x99\x67\x9a\x02\xe4\x71\x79\x7f\xb5\x48\x79\xc9\x71\x4c\xd9\xdc\x64\x80\x5e\x52\x45\x04\x4e\x3e\xe3\xec\xa3\xb3\x5f\x6f\xb1\x3a\xff\xe7\xae\x94\xaf\xfb\xe1\x2f\xc3\xcf\x61\xc6\xef\x87\x9b\xdb\xeb\xfb\xeb\x95\xb3\x2e\xb5\x50\x3f\x46\xfa\xf1\x29\xfc\x2f\x3a\x41\xba\x75\x2f\xf9\xa6\x44\x61\xad\x11\xa0\x6f\x4d\xd2\x9c\x4f\xa4\xa1\x2c\x81\x53\x93\x09\x9a\x52\xb8\x52\x8c\x05\xef\x3b\x23\x5c\x7b\xed\xc1\x9f\x1b\xf3\x01\x68\xcb\xee\x52\x66\x31\x16\x31\xfa\x9b\xac\xa6\x8f\x83\xe1\xd8\xfc\x40\x62\x74\x84\x16\x4a\x65\xf2\xf4\xe4\xe4\xf9\xf9\xf9\x58\xbf\x7d\xcc\xc5\xfc\x44\xff\x71\x44\xd8\xf1\x42\xa5\x89\x49\x97\xd7\xab\x70\x8a\x6e\x04\xd7\x57\x08\x28\xe8\x44\x50\x9c\xd0\x7f\x90\x18\x4d\x0d\xff\xe3\x33\xf4\xd7\x88\x0b\x72\x5c\x6c\x8c\x35\x2a\xd9\x7b\xc4\x1a\x9e\x4e\xf4\x4b\x0d\xcc\xa4\xba\x9f\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xf2\x68\x7c\x15\xba\x3d\x97\x69\xa8\x35\x9a\x2c\x57\xc5\x72\x06\xca\x0a\x8e\x49\x90\xed\xae\x78\x99\xe0\xb4\xe2\x73\x61\xd4\xd6\x5c\xab\xe8\xfa\x6e\xc5\x70\xab\xba\x57\x33\x3d\xe1\x88\x27\x68\x9a\xcf\x66\x44\x84\x0e\xe9\x81\xd6\x66\xa8\x44\x82\x44\x3c\x4d\x41\x62\xd0\x5f\xe5\xd2\x50\x35\xac\x98\x1d\xed\xf1\x98\xc1\xfe\x6b\x35\x07\x28\x20\xe6\xc0\xea\x18\x21\x31\xc2\x6c\x69\xba\x99\xe6\xb3\xb0\x7d\x03\x43\x81\x63\x44\xd5\x98\x0d\x93\x04\x09\x92\x72\x45\x82\x1c\x4a\x70\x9e\x95\x17\x1c\x58\xa4\x20\x59\x82\x23\x12\x1b\x7a\x48\x78\x84\x13\x34\xa3\x09\x91\x4b\xa9\x48\x1a\x36\xf0\x2d\xd8\x6a\xf4\x9a\x51\x89\x62\xfe\xcc\x12\x8e\xed\x3c\xaa\x9f\x7d\x57\x3e\x8d\x23\x07\x11\x30\x12\x82\x0b\xf8\x9f\x9f\x28\x8b\xf7\xc6\xa1\x1e\xee\x46\xb7\xe1\xbf\xef\xfe\x72\x77\x3f\xfa\xbc\x19\xf7\xf1\x94\x05\xc3\x03\x1d\xfe\x14\xdd\x99\x45\xe0\x42\x4b\x44\xa2\x65\x52\x9f\x2d\x29\x15\x3f\xf0\x78\x4b\xee\xfb\x79\x78\xf5\x30\x2c\x71\x94\xbb\xb3\x1f\x47\xe7\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xec\xc7\x8b\xcb\xf3\x49\x83\xc2\xf8\xe1\x76\x74\x76\xfd\xf3\xe8\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xc1\x63\x34\x5d\x36\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x05\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x81\x7d\x07\x90\x34\x8c\x71\xc5\x48\xcc\xcd\x0d\xeb\xde\x31\x0b\x0c\x15\x06\xe4\xc2\x2f\xdc\x29\x1a\x22\xa9\x5f\xcc\xf5\xa1\x16\x74\x3e\x07\xc3\x61\x65\xa8\xa6\x35\xfb\x29\x2c\x2f\x7c\x67\xf6\x3f\x13\x1c\xce\xb9\xee\xd6\x5a\x9c\xbd\x55\xc2\x7c\x08\xa8\x2b\xe5\x16\x05\x06\x83\x43\xc3\xd0\xdc\x66\xe9\x45\x68\x5d\x2f\x73\x1e\x8d\xbd\x48\x1f\x2e\x60\x5b\xd2\xd8\x3b\x33\x41\x9e\x28\xcf\x83\x4f\x2d\xb0\x47\x69\xc7\x1b\x9b\x2f\x16\x00\x96\xcd\x18\x45\x2a\xcd\x78\xf2\x68\x6c\x41\xb3\xb0\x27\x68\x61\x26\x78\xda\xd0\x46\xf9\x98\x5c\x5c\xdf\x29\x81\x15\x99\x2f\xcf\x2d\xcb\xd8\xfe\x78\x9c\x5f\xff\x72\x75\x79\x3d\x3c\x9f\x8c\x86\x9f\xca\x27\xde\x3f\xb9\xbb\xbf\x1d\x0d\x3f\x97\x1f\x4d\xae\xae\xef\x27\xee\x8d\x95\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x8a\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x25\x33\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x53\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb1\xf8\xe8\x7a\x76\x74\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x63\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd1\x25\x16\xf3\xc2\x0e\xf7\x2d\x9f\xcd\x4c\x63\xdf\x99\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\x76\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xea\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xa6\xb5\xcd\x06\x5a\x22\x5f\xa8\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x0c\x10\x67\x60\x70\xf0\x42\x44\x85\x22\x3b\xd0\x80\x69\xab\x46\x01\x37\x80\xb6\x74\x6d\x91\x8d\x3e\x53\xa9\x95\x46\xf3\xe3\x0f\x16\x72\x69\x3b\x82\xf8\x38\xbc\xb8\xac\x08\x17\x93\xf3\xd1\xc7\xe1\xc3\xe5\x6a\x33\x61\xe9\xbb\xea\x16\xa3\x23\xa4\x9f\x97\xfd\xe6\x74\x66\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x97\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\x67\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x23\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x5b\x9e\xb1\xe1\xd9\xfd\xc5\xcf\xa3\xb2\x7e\x78\xf6\xe3\xc5\xcf\x4d\x52\xcd\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x23\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x94\x02\x40\x98\xf5\x44\x3e\x5c\x00\x67\x7d\xc2\x09\x8d\xa9\x5a\x3a\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x14\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x13\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x73\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\xdf\x68\x99\x2b\x4b\x68\x44\x55\xb2\x44\x11\xd8\xb0\xc0\x9c\x99\x62\x86\xe7\x56\x38\x00\x35\xa7\x42\x12\x7f\x36\x28\x6a\xd7\x33\x6b\xda\xbf\xa7\x64\xcb\x63\xf6\x70\x75\x3e\xfa\x78\x71\x55\x26\x81\x1f\x2f\x3e\x95\x44\xd8\xcf\xa3\xf3\x8b\x87\xd2\x6d\xae\x25\xd9\xd5\x72\x7d\xb5\xd9\x86\xa3\xe8\x5f\x3a\x45\xe7\xe6\xd3\x53\xbd\xb8\x0d\x10\x71\x5e\xf9\xad\xac\xc3\xad\x0b\xc9\x73\x7f\x8c\x98\x12\x8d\x7e\x89\xae\x26\x24\xeb\x83\x2c\xd9\x90\x9a\x43\x15\x6a\x7d\x5f\x55\x9d\xca\xd5\x29\xbb\x17\x21\xe8\xf2\xb8\xb0\x2c\x85\x31\x0c\x60\x34\x68\x33\x62\x35\xb8\xb5\x0a\x86\xfd\x33\xb8\xa8\xd3\x5c\x2a\xe3\x4a\x04\xe2\x44\x8f\x7f\x92\x7a\x41\xc1\xd5\x78\x8c\xee\x08\x19\x33\x67\x3d\x98\x53\xb5\xc8\xa7\xc7\x11\x4f\x4f\x0a\x7c\xc2\x13\x9c\xd1\x14\x6b\x49\x9a\x88\xe5\xc9\x34\xe1\xd3\x93\x14\x4b\x45\xc4\x49\xf6\x38\x87\x08\x18\xe7\x4e\x3d\xf1\xcd\xce\xf9\xbf\x5f\xfe\xe1\xfb\xa3\xcb\x3f\x7d\xff\xa1\x6e\x21\x6b\xdb\xff\x11\x8b\x70\x26\xf3\xc4\x46\xcc\x89\x70\x6d\xdc\x91\xcf\xc9\xba\xfd\xbe\x2a\x6f\xd7\x6e\xfa\xeb\xd9\xcd\x43\xc9\x62\x5d\xfe\xe7\xe7\xd1\xe7\xeb\xdb\xbf\x94\x38\xe5\xfd\xf5\xed\xf0\x53\x89\xa1\x8e\x6e\x7e\x1c\x7d\x1e\xdd\x0e\x2f\x27\xee\xe1\x2e\xb6\xb7\x9f\x18\x7f\x66\xe5\xa5\x91\x8e\x03\xd6\x7a\x3a\x45\x1f\xb9\x40\x3f\xf9\x9d\x3c\x9a\x62\x09\x57\x8c\xbb\xb3\xe4\x00\x65\x3c\x06\xc6\x8b\x48\xb6\x20\x29\x11\x38\xb1\x36\x03\xa9\xb8\xc0\x73\x73\xd3\xcb\x48\x60\x15\x2d\x90\xcc\x70\x44\x06\x28\x02\x6a\x98\x0f\x60\x53\x40\xd5\xe2\xf3\xaa\x9d\xef\x36\x67\x8a\xa6\xc4\xa9\xe0\xf6\x9f\xf7\x66\x33\xb6\xd8\x9c\xeb\xfb\x1f\xcb\xc2\xde\xc7\xcb\xbf\xdc\x8f\x26\x77\xe7\x3f\xad\x5c\x4f\xf3\x59\x69\x64\x77\x10\x80\x74\xc6\x93\x3c\x65\xe1\xdf\xdb\x8f\xed\xe2\xea\x7e\xf4\xa9\x3a\xba\xeb\xe1\x7d\x99\x32\x6e\xcb\x01\x6e\x1f\x7e\xb8\xbe\xbe\x1c\x95\x5c\xc2\x1f\xce\x87\xf7\xa3\xfb\x8b\xcf\x25\xfa\x39\x7f\xb8\x35\x68\x84\xab\xa6\xe9\x46\xd0\x30\x51\x3d\xad\x70\x9a\xfb\x66\x85\x9d\x38\xd1\xd0\x06\x94\x9b\xb3\x7c\x14\xc0\xed\x98\x70\x30\xb0\xea\x1c\x79\x93\x6a\x64\x46\xda\xc8\x0e\x55\x79\x9b\x50\x3b\x3b\x5e\xb9\xd1\xab\xb8\xf2\xbd\x1f\x82\x81\x02\x35\xca\x36\x4e\x12\xfe\x6c\x42\x79\x53\xaa\x6f\x65\x0b\x8c\xa6\x5f\x91\x85\x87\xf0\xb8\x81\xe3\x95\xb7\x85\x44\x82\xa8\xcf\x3c\x67\x6a\x7b\x92\x1b\x5e\x95\xf8\xce\xe8\xea\xe7\xc9\xcf\xc3\x32\x05\x5e\x5c\xae\x66\x35\x61\x13\x0d\x57\xf1\xf0\xea\x2f\xfe\x12\x86\x80\xef\x81\xd7\x50\x8d\xec\x1a\x25\x54\x8b\xbd\x11\xd6\xda\x6b\x02\x12\x0d\x22\x14\x4c\x0e\xa9\x9e\x1c\x04\x98\x66\xc6\x9f\x64\xf8\x93\x19\xe4\xa9\xfb\xa3\xd2\x9e\x84\x75\x01\x6b\xaa\x8b\xa7\x87\x76\xac\x56\xcd\x10\x61\x4f\x54\x70\xc0\xb3\x45\x4f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\x4f\xe1\x7f\x37\x6b\x13\x0c\xa3\x15\xc6\x75\xc7\x85\x3a\xf7\x81\xbc\xdb\x59\x43\x9a\x02\x5a\xeb\xa1\xac\xcd\x86\x8e\xfa\xb7\x0d\x9b\xb3\x63\xc0\x6f\x79\xc2\x7f\x4f\xce\x29\x4e\x34\x03\xd8\x9f\xbc\x38\xbc\xba\xbb\x28\xcb\x8f\x65\x35\x23\xe0\xcb\x5b\xcb\x8b\x60\xa8\x34\x23\x77\xca\xc4\xdd\x9f\x2f\x8d\x76\x01\xa0\xc7\xe6\xdc\x06\x8a\x05\x08\x40\x0e\x05\x25\xc3\x42\x56\xbe\x90\x08\x80\xd0\x8a\x80\x2b\x7d\x67\x41\x38\xd3\x13\xa7\xf1\x98\x91\x2f\x19\x61\x12\x82\x03\xcc\x7d\x56\xf8\xda\xe5\x31\xba\x98\x01\x4b\xd0\xaf\x33\x94\x33\xeb\x00\xd3\x17\xae\x19\xe4\x40\x8b\xb2\x76\x08\x5e\x43\x04\xc3\x0b\x23\x2e\x58\xaa\x18\xfc\x98\xfd\xe2\x9d\x68\xf0\x68\xc6\x35\x03\xd2\xbb\x68\xdb\x3b\x45\x98\x49\x3a\x40\x5a\x61\xa9\xee\x29\xa4\x0e\x68\x85\xd2\x86\x70\x69\x4e\x63\xff\x7c\xfd\x6b\xa0\x16\x27\x1c\x5e\x06\xcd\x77\x41\xe5\x2a\x68\x11\x8d\x13\xe3\x31\x99\x74\xbf\x13\x22\x2e\x88\xf5\xb3\x6c\x7c\x0d\xac\x63\xec\xf7\x58\x3e\xd6\x7c\x0f\x17\x4c\x2a\xcc\x22\x72\x96\x60\xb9\x65\x10\x92\xb3\x71\x0c\xca\x12\xc7\xed\xed\xc3\xcd\xfd\xc5\x0f\x6b\xb8\x7c\xf5\xe3\x7a\x18\x50\x94\xe4\xce\x3d\x37\x15\x1c\xc7\x48\xb3\xcf\x39\x37\xae\x40\x2b\xf8\x17\xd0\xdf\x26\xaf\xc7\x07\x54\x96\x60\xc7\x8b\x74\x04\x6b\xe7\x08\x5d\x09\xd4\x2e\x04\x8a\xf4\x4a\xa0\xc0\xe4\xe1\xb6\x1a\x3c\x8b\xa6\x20\x89\xb5\x6e\x65\x09\x56\x33\x2e\x52\xc3\xe5\x4b\x93\x36\x8d\xaf\x6e\x94\x32\x45\x84\xc8\x33\x45\x1d\x96\x7b\x55\x4a\x85\x0a\xef\x7c\xfe\x99\x48\x89\xe7\x64\x17\x07\x74\x93\xf2\x70\xf7\x73\xf8\x4f\x70\x30\x77\x91\xfd\x4b\x23\x74\x91\xef\x8e\x9e\xae\xd9\x47\x13\xc8\x73\xc3\x13\x1a\x6d\x19\x70\xf7\x71\x78\x71\x39\xb9\xf8\xac\x95\xf8\xe1\xfd\xe8\xb2\x24\x4a\xc0\xb3\xe1\xc7\xfb\xd1\xad\x05\xb1\x1e\xfe\x70\x39\x9a\x5c\x5d\x9f\x8f\xee\x26\x67\xd7\x9f\x6f\x2e\x47\x6b\x22\x73\x5a\x1b\xaf\x5b\x57\xab\xaf\x9e\xd6\x7e\x81\x1d\xd6\xbc\x2c\xb4\x97\x41\xd6\x18\xa6\x09\x38\xc1\xb9\x71\x86\x63\xc4\x78\x4c\xe0\x67\xe9\xac\x33\x1e\x39\x1a\x5d\xa8\x6f\x92\x04\xe1\x5c\xf1\x14\x83\xd7\x26\x59\x8e\x19\x9e\x6a\xd6\x8a\x93\x24\x08\xef\x12\x39\x63\x9a\xc5\xea\xc6\x0c\x44\x7b\x94\x10\xcd\xce\xb3\x20\xd9\xcf\xfa\x0d\x66\x94\x41\xa4\x6d\x8a\xc5\xa3\x71\x33\x15\x5d\x16\x87\x42\x22\x2c\xc7\x4c\x8f\x8b\x58\xc3\x50\x97\x15\x3e\xed\xf4\x56\xeb\xea\xa4\xf8\x91\xe8\x55\x49\xf3\x68\x81\x32\xc1\xe7\x82\x48\x69\x6d\xcb\x11\x66\x26\x00\xc1\xbe\xae\xaf\xa1\x31\x63\x5c\x2f\x85\x33\x61\xc7\x24\x23\x2c\x26\x2c\xa2\x26\xad\x0f\x7c\xf7\xde\xb4\x39\x17\x38\x5b\x20\xc9\xc1\xe9\x0d\xcb\x0e\xf6\x2b\xf3\x91\xbb\xc9\xcc\x8c\xcd\xe3\xd0\x02\x2d\x72\xcd\x27\xae\x41\x4e\x34\xab\x0c\x1f\xbb\xcb\xd0\xb9\x5d\x8c\x1d\x30\xcd\x12\xa2\x0c\x58\x3f\x2c\x39\x6c\x86\x5e\xeb\xd2\x7e\xe8\x6d\x6a\xda\x04\x7d\x61\xbb\x31\x63\x69\x47\x74\xdc\x60\xd9\xb6\x47\x0a\xfd\x88\x59\x9c\xe8\x56\x9c\x0f\xa3\x7c\x16\x21\x15\x65\xa8\xa9\xc6\x9d\xc6\x5d\x6e\xd1\x08\xe7\x72\x97\x6b\xb4\x92\x8b\x69\xac\x82\x47\x45\x50\x08\x90\xb7\x4d\xc4\x84\xd5\xcd\x34\x8b\xc4\x09\xb7\xab\x64\x5e\xcf\x4d\xfd\x27\x04\xa3\x69\xb9\x66\x33\x41\x59\x44\x33\x9c\x6c\xa5\xfb\x55\x82\xf1\x6d\x8c\xfb\xb7\x74\xa6\xc9\xe7\xbb\x9a\xdb\x56\x11\x91\x42\x82\xb2\x1d\xa6\xdf\xc2\x0d\x2c\x49\x36\xab\x81\xc8\x22\x9a\x04\x0b\x9e\x1b\x7f\x1c\xac\x0b\x89\x1b\x8e\xea\x71\xd3\x76\xeb\x93\x81\xcb\x01\xd0\x5b\x6c\xb6\x89\xfc\x69\x5b\xbf\x4a\x2b\xb6\x77\x13\x8c\x87\x93\x9b\xe6\x36\x9b\x76\x20\x78\xf8\xaf\x55\xb4\xf3\x19\x67\x9a\x66\x2c\x6c\x3f\x2e\xe6\x68\x95\x24\x5b\x15\xcc\xc5\xcf\x04\xbe\x73\x9f\x17\xd2\x7d\x37\x8a\x25\xb4\x01\x50\xf5\x4e\x4a\x31\x04\x41\x8e\xb9\xa5\xf1\x59\xae\x65\x59\x84\x21\x0a\x01\x7d\x4b\x8e\xe7\xc7\xc8\x15\x61\x18\xa0\xe1\xcd\xcd\xe8\xea\x7c\x80\x88\x8a\xbe\x73\x31\x8b\x36\x60\x69\xcc\x14\xb7\xd2\xca\xd2\x15\xd0\x48\x89\x98\x93\xd2\x9c\x5d\x74\x13\x84\x2a\xcf\xa9\x54\x36\x7c\x56\xf3\x95\xa0\xd4\x09\x4d\xab\x62\xb6\xa1\x90\x5c\x2d\x76\x21\x0d\x2c\x65\x9e\x6a\x5d\x76\x42\x71\x3a\x11\x3c\xd9\x85\x29\x9c\xc3\x54\x40\x5d\xf6\xe9\xf9\x14\xa7\x48\x37\x6b\x43\x41\xbc\xcb\xd1\x8b\x74\x5a\x30\xd2\x7c\x59\xdf\x9b\xc1\xbd\xe5\xbc\x0f\x36\x1e\x8d\xba\x10\x08\x48\xdf\x6f\x61\x15\x85\xd9\x78\x62\x2d\xf5\x13\x1c\x45\x5a\xe5\xde\xf3\xa4\x82\xfa\x39\xce\x25\x60\x3b\x7a\xb1\x69\xae\xa3\x73\x37\xcc\x4c\x73\x30\x08\x06\xd6\x57\xae\xe4\x11\x2d\xda\x6f\xe8\x77\xba\xac\xf5\xea\x2a\xdc\x3c\x48\x6f\x52\x31\x97\xb0\x24\xb0\x93\xd2\x54\xc8\x51\x0b\xb2\x44\x0b\xfc\x44\x4a\x5d\xba\x84\x18\xdd\xf0\x92\xe7\xa2\x89\xd1\x8d\xd9\x39\xc9\x04\xd1\x92\x7e\xd5\x81\xe2\x69\xfa\xb6\x4c\x89\x3d\x5d\xf7\x74\xfd\xee\xe9\xfa\xcc\x14\x4a\x1a\xfa\xc2\x58\x3b\x09\x70\xa6\xb1\x49\xc6\x79\x32\xe9\x60\x13\xe9\xbe\xe2\x25\x4f\x58\xa5\x6c\x14\x40\x02\xf0\x1c\xe4\xa3\xd2\xb5\xc9\xf5\x5d\x17\xa4\xd8\xda\xe1\xad\x58\x06\xe7\x32\x0b\xea\xe5\xec\x72\xde\x9b\x5a\x59\xd5\x12\x7a\x71\x31\xe7\xcc\xc8\x37\xde\x5d\x16\xd6\x3f\x2d\x1d\x26\x27\x8a\x50\x56\xab\xc6\x66\xe8\x59\x2f\xb0\x91\x3b\xfe\x9e\x73\x85\xe5\x77\xc7\x63\xa6\x85\xa8\x47\xb2\x34\xe6\x56\x2d\xa6\xfc\x46\xcb\xe2\x47\x92\x30\x09\xe1\xde\xbf\x31\xee\x39\x4d\xe2\xce\x5c\x6d\x54\x53\x53\x04\x0e\x82\xae\x7d\x2f\x10\xa2\x6b\x1b\xb5\x52\x52\x11\x00\x0d\x72\xbe\x99\x8b\x7d\x66\x86\x3f\x27\x0a\x52\xac\x15\x55\xa0\x33\xc5\xa6\xca\x5c\x6d\xe8\x6b\x4d\x57\x86\x2a\x04\x07\x3f\x49\x9c\xef\xc6\xf8\x65\xbd\x8d\xb5\x9c\xd1\x6b\x0b\x77\x36\xe6\xfd\xc4\xd9\x8d\x22\xc1\x6b\xa5\xdb\xb0\x44\x66\xa7\xa7\x86\x1d\x38\xff\x35\x61\xc7\xcf\xf4\x91\x66\x24\xa6\x18\x22\xe0\xf5\xbf\x4e\xf4\xbc\xfe\xfd\xec\xf6\xfa\x6a\x52\x64\xf2\xfc\xd7\x98\x0d\x13\xc9\x7d\x96\x02\x62\x9c\xf9\x70\xfb\x4c\x10\x27\x12\xda\xb9\x80\xd5\xb5\x30\x23\x8e\x59\xdb\x08\x62\x1e\xc9\x63\xfc\x2c\x8f\x71\x8a\xff\xc1\x19\xb8\xd2\x87\xf0\xe7\x59\xc2\xf3\xf8\x17\xac\xa2\xc5\x09\x9c\x6b\x75\x42\x9e\x08\x53\xc6\x4d\xa5\x97\x2b\x86\xe4\x5d\x09\xd1\xfa\xff\xae\xc7\x5c\x24\x15\x49\xad\xc9\x46\x24\x53\xe8\xff\x27\xc8\x94\x73\xd5\x7c\x49\xf1\xd9\x4c\x92\x8d\x2e\xa4\x42\x49\xbb\xbb\x46\x7f\xfa\xe3\xf7\xbf\xd3\x24\xb4\xcd\x1a\x5f\xdc\x5d\x4f\xf4\xf7\xff\x7e\x6e\xbf\x97\x1b\xb0\xbb\xeb\xac\x60\x6d\x8e\x78\x4c\xe0\x7c\xce\xe0\xf6\x13\xe0\xbc\x00\xf6\x06\xe4\x50\xec\x63\x13\x77\x3b\x2f\xb5\xbe\x9b\xca\xb6\xd5\x62\x82\x8a\x1d\xcc\x11\x1d\x21\xc6\x51\x6a\x62\x4d\x31\x43\xff\xf1\xd3\x0f\xcd\x1b\x98\x0b\xba\x55\x87\xd4\xc2\x35\x04\x5d\x4a\xfa\x0f\x22\x91\xa6\x1a\x4d\xc5\x3c\xd5\x5d\x0b\x22\x17\x3c\x89\xd1\x33\x01\x35\xc9\xc6\x81\x7a\xad\x5c\x90\x31\x0b\x9b\x80\x90\x43\x84\x13\xc5\xe7\x04\xee\x6a\xa7\xa8\x29\x22\xb4\xa8\x62\xb2\x34\x14\x17\x64\x60\xa0\xbe\xee\xfe\xe0\x62\xab\x61\x9a\xf0\xc8\x25\xb5\x58\x93\x5c\x3c\x6d\x9e\xf9\xac\x6a\x7a\x45\xed\x36\xfc\xea\x26\x5b\xb3\x6d\xf3\xd2\xd8\x24\x14\x6b\xc3\xaa\xee\x4c\xf3\x60\x68\xc4\xd9\x24\xa1\xec\x71\xab\xcd\xb8\x76\xa2\x9c\x6e\xc1\xae\x99\x6e\xd1\xdb\xb9\x8d\x05\x64\x83\xf3\xf1\x31\x4f\x12\x93\xda\x12\x6e\x0f\xc8\x5d\x66\xdd\x40\x18\xc8\x4c\x0e\x28\x89\xad\xdf\xcb\x6a\xc2\x82\x30\x08\x78\x1b\xb3\xe9\xd2\xfa\x6c\xe5\x00\xc9\x3c\x5a\xb8\xcc\xbc\x88\x33\xa9\xc5\x68\x2e\x50\xc4\xd3\xd4\x14\x37\x65\x04\x29\xce\x13\x69\xa3\xdd\xd9\x91\xc2\x91\x1a\xb3\xa2\xbf\x35\x27\xcf\x54\x40\xda\x2d\x75\xaf\xbb\x4b\xa7\xa8\xb4\xb4\x52\xe0\xa6\x71\x88\xd9\x00\x46\x30\xe3\x89\x0a\xd0\x1f\x78\xfd\x2c\x99\x0d\x6b\xd1\x0c\xe4\x82\x0b\x35\x89\x1b\x79\xce\x5a\xa2\xa9\x32\x42\x46\x8e\x12\x08\x1a\xe6\x4f\x5a\xf8\x27\xcf\xde\xf8\xba\x6a\x08\x9a\xaa\x57\x8d\xa0\xdb\x31\x5a\x39\xb2\x4d\x49\xb0\x65\xad\x0c\x82\x47\x54\x8e\x09\x5f\x37\xc6\x3b\xf8\xea\x4c\x7f\xb4\x72\xf1\xaa\xe7\xce\x09\x41\x3c\x2e\xc0\xe6\xcc\xbd\x6e\x33\x42\x56\xad\xa9\x85\x4e\x78\xb9\xcc\xd1\x55\x53\x79\x28\x5b\x72\xf5\x58\xc0\x64\x2f\x09\xc8\x9a\x58\x4c\xa9\x12\x58\x94\x90\x42\xbc\x3e\x28\x09\x16\x10\x9f\x35\x66\x06\x37\xce\x68\x0a\x31\x8a\xa9\x84\x04\x11\xb8\x4b\x03\x67\x18\xea\xa6\x04\x56\x8e\x76\x91\xe7\x68\xe2\xcf\x21\xb0\xac\x20\x0d\xc7\xec\x74\x47\x1e\x1f\x4b\xeb\x67\x3c\xca\x0b\x41\x2e\x02\x09\xd7\x62\xea\x20\xca\x24\x9d\x2f\x14\xa2\xcc\xda\x1d\x71\x32\xe7\x82\xaa\x45\x2a\x07\x68\x9a\x4b\xad\x85\x9a\x60\x35\x13\x8f\x42\x54\xd4\x89\x0b\xed\x9a\x44\x1c\x57\x1a\xac\xab\x28\x5b\x90\x46\xb7\x43\x39\xaa\xdc\x15\x6b\x08\x67\xe8\x71\x06\xab\x6d\x50\xa8\xdb\x68\xe0\x29\x91\x89\x03\xe4\x0e\xd9\x09\xaa\x80\xb4\x9d\x03\x40\x85\xdc\x9b\x97\xe2\x35\x0a\x71\x21\x93\x0c\x2a\x88\x8b\xdd\x06\xc9\xab\x8c\x4c\x69\xd0\x9b\xbc\xd3\x29\xcd\x54\x63\xe0\x56\xdd\x55\x74\x1b\x60\xfe\x74\x5b\x6c\x48\xc6\x02\x6a\x06\xa4\xb6\x31\xbb\x23\xa4\x1d\xc8\xad\xb6\xf7\xa6\x34\x2e\x4c\xc1\x26\x7a\xac\x26\xf9\x5d\x9c\xd8\xe7\xa3\xbb\xb3\xdb\x8b\x1b\x03\x39\x71\x7d\xfb\x79\x78\x3f\x69\xf0\x6b\x37\xbc\xf5\x79\x78\xfb\xd3\xf9\xfa\xd7\x7e\xbc\x2f\x67\x65\x37\xbc\x72\x7b\xb7\x3a\x99\xa3\xc3\x10\x1b\x92\xc2\x1a\xfb\x39\x45\xd9\x52\x2d\x38\xf3\x21\x0a\x71\x89\x37\x1d\x21\x93\x11\xac\x20\x84\x48\x48\xd5\xe0\x38\xbc\x87\xb8\x9c\xf5\x12\x66\x79\xb3\x0c\x0c\xdb\x5e\x45\xa3\x0d\x4e\xe4\xa7\x84\x4f\xc1\x6f\x9d\x97\x4a\xdc\xae\x88\x40\xdf\x31\xde\xe7\x9c\xca\x2c\xc1\xcb\x5a\x0f\xeb\xae\x9c\x2b\x9c\x12\x88\x38\x2e\xf0\xe3\x5c\xb2\x88\xde\x19\x48\x60\xf2\xf7\x3a\x9d\x41\x26\x93\xa2\x58\x11\x34\x25\xea\x19\xf2\xe6\xdc\xaf\xde\x96\xea\x02\x46\xe4\xf1\x98\x81\x39\x67\xac\x17\x39\xce\x21\xda\x6f\xfc\x61\x80\xc6\x1f\x62\xf2\x44\x12\x9e\xe9\x9d\xd7\x3f\xb4\x5c\x32\xa3\x14\xd3\xe4\x8a\x2b\x6f\x99\xdb\x65\x3f\x05\x89\x68\x06\x92\xf9\x84\xe8\x76\x5f\x4f\xf0\x28\x51\xb2\x63\x67\x30\x06\x84\xe3\x58\x2b\xd9\xc0\xca\xdc\xf0\x8a\x10\x20\x16\x4c\xbd\x54\x2b\x73\x13\x91\xc2\x9b\xbf\x4d\x8f\x61\x9b\x65\xb3\x67\xe3\x0e\xb0\xa7\x17\x74\xc9\xee\x7a\x91\x6b\xad\xe4\x27\xb2\x84\x14\x8c\x1b\x4c\xc5\x96\xae\xd9\xa6\x98\xd7\x17\x71\xd2\x8e\x1a\x3a\x3a\x20\x77\x6d\xf3\x3a\xec\xe6\xb8\xf5\xb1\x7a\xaf\xa5\xa5\xba\x58\x2e\xdf\x71\x47\xb5\xf5\xa1\x4d\x49\x6d\x0d\x61\x40\x55\xc5\x2b\x23\xd1\x06\x1a\x97\x1f\xe0\x9d\xfe\x6e\xad\xa6\xe2\xc5\xb5\x28\xac\xe9\x0f\xbb\x60\x93\xe3\xab\xf9\xf8\x64\xed\x88\xa3\x84\xcb\x32\x56\x4e\xe7\x41\x9f\xd9\x4f\x57\x8d\x7b\x14\x92\xaf\x96\x0b\x37\x0a\x68\x68\x58\xf8\x0a\x18\xa4\xb9\x67\x94\xf5\x90\xd9\xb7\x07\x88\x42\xb4\x25\x28\x64\x49\x81\x1c\xc0\x62\x54\xb8\x41\xc6\xac\x88\x59\x91\xe8\x99\x24\x10\xe6\x16\xf1\x34\x03\x13\xbf\x1d\xae\x6d\x89\xc4\x26\x62\x78\x80\x78\xae\x74\x63\x26\x27\xc7\x19\x71\x6d\xc2\x4f\xe1\xf6\x30\xbe\x37\x1b\xfc\xee\x81\xa5\x0d\xad\x9b\xbb\x94\x32\xf4\x89\x28\x68\x05\x80\xfb\xc3\x09\x82\x9e\x50\x0d\xa1\x6c\x5e\xfb\x1d\x4e\x94\x9d\xc9\x06\x3b\x5f\x00\xa7\xfc\x90\xf0\xe9\x6a\x23\x01\x34\x8e\x1e\x6e\x2f\x9c\x45\xb2\x88\x9f\x0a\xd0\x8b\x4b\x1e\xc5\xd1\xcd\xed\xe8\x6c\x78\x3f\x3a\x3f\x46\x0f\x92\xe8\xe5\xf1\xd3\x85\xfc\x6a\xaf\x92\x98\x91\x5b\x24\x16\x26\x15\xc1\x6d\x86\x10\x22\x44\x29\x0b\x7a\x0d\xe3\x28\xc3\xb4\xac\x26\x6c\x00\x49\xa1\xd6\x50\x07\xc0\x42\xd5\x79\xda\xc8\xbc\x75\x27\x10\xe2\xa4\x26\xef\x27\x4a\xcd\x8c\x37\xad\x47\xe6\xad\x23\x9f\x72\x44\xdf\x4b\x4f\x06\x8e\x96\x5a\x10\x2a\x50\xa7\x69\x19\xa2\x9a\x74\x9f\x53\x10\xe2\xfe\x19\x67\xab\xd3\x4f\xf1\x73\x89\x68\x8d\x28\x1c\xf8\xee\x5f\xfa\x1c\x38\xb6\x36\x31\xac\x70\xf7\x09\x16\x0e\x2d\xc3\x5b\x3d\xdf\x34\x19\x1f\xd2\x19\xc9\xc2\x89\x55\x06\x61\xe3\x58\x25\x82\xb3\x03\xbf\x50\x86\x4a\x57\xe2\x00\xcd\xe8\x17\xdb\x68\x11\xdf\xee\x5e\x0d\x02\x1e\x5a\xe2\x29\x17\xb8\x7e\xa6\x36\x10\x1b\x6e\xe0\xfb\x95\x42\x24\x97\x5a\x24\x8a\xb4\xb8\x24\x48\xc4\x85\xbe\x29\xa0\xdb\xc2\x0b\xb1\x4e\x64\x50\x58\xe8\x45\xa9\x7b\x65\x56\x9d\xfe\xa2\x06\x49\x8c\x15\x39\xd2\xa2\xd7\x9a\x04\x68\x9b\x23\x03\xd9\x34\x58\x05\x70\x60\xc5\xcd\x33\x25\x73\xcc\x5c\x68\x76\xcb\x70\xdd\x95\xb7\x03\xab\xd2\x2a\x10\x86\xf4\x30\x90\xaf\x20\xf5\xa7\x34\x0e\x99\xc1\x7a\xae\x1c\x87\x8d\x7e\x39\x84\x65\x7b\xc6\x3e\x18\xa7\x65\xb0\x79\x16\x1f\xd2\x60\x13\x2c\x15\xb2\x63\x6a\x33\x45\x04\x2a\xe2\xcb\x1a\x61\x4b\xba\x7d\x57\xe5\x4d\x93\x50\x59\x8b\x25\xe0\x19\x91\x0e\x37\xc5\xa0\xc4\x68\x9d\xc6\x09\xc2\xa6\x14\xb3\x3f\xdb\xb6\x26\xb3\xbb\x25\x42\x66\x02\x41\xfa\xf5\xa6\x8f\xd1\x90\xd5\xf0\xb2\x5c\x5c\x56\x69\xbd\xcc\x9d\x84\x93\x67\xbc\x94\x28\x13\x06\x5a\xc6\x44\xee\xbb\xc9\x83\x06\x56\xfe\xc8\x87\x42\x28\x97\x3a\x81\xc0\x16\xb3\x3e\x68\xce\xc9\xbd\x93\x17\x70\xe5\x55\xa2\xca\xbd\x40\x5e\x34\x57\xd8\x2a\x3a\xb0\x3a\x45\x26\xd1\x02\xb3\x39\x99\x38\x23\xeb\x36\xda\x92\x6e\xe7\x0c\x9a\x39\xb7\xad\x34\x5f\x4e\x37\x46\x61\xb2\xf5\x5f\xcc\xab\xde\x80\xa8\x0f\x81\x54\x78\x4e\x90\x19\x51\x27\xb3\x74\x29\x62\xcc\x82\x0d\x83\x9e\x60\x5b\x1d\x95\xa3\xe8\xdb\x84\x77\x08\x7d\xba\xc4\x53\x92\xbc\x4d\xe4\x04\x74\x6d\x8d\xf3\xe0\xad\x33\xd9\x00\x04\x3d\x83\x3d\xbf\xc2\x32\xac\xf5\x5e\xe4\x4d\xb9\x01\xab\xe6\x59\xaa\x7e\xbe\xc3\x44\x5d\xad\x90\x6d\xa6\xda\x56\x41\x24\xbc\xf6\x82\x4a\x1b\x4d\x06\xb6\xf0\xfa\xab\xda\x94\xb7\x1b\x48\x50\xf0\xa3\x65\x1c\x3b\x57\xfc\x58\x3b\x95\xad\x41\x06\x3a\x56\xc1\xbb\x98\x21\xc6\x19\x41\x54\x16\x2f\xab\x72\x3a\x94\x87\xe8\xd1\x22\xbe\x31\xbe\xf8\x2a\x5d\xbe\xf8\xd2\x4b\x5b\x5a\x0a\xf0\x04\x6f\x1b\x70\xf9\xdd\x8c\x68\x45\x15\x8b\x25\x40\x7c\x1a\x3e\x5c\x96\xe9\xd6\x8e\x73\x5f\x02\x77\xc3\x05\x68\x25\x61\x1f\xaf\xab\x38\x02\x61\xb2\x32\x44\x64\xd0\x50\xed\x4b\xf6\x23\x0b\x56\x33\x66\xde\xbe\x01\xe4\x48\x25\x4a\x71\x06\x9e\x3d\xc6\x55\xf1\x95\x01\x5f\x52\x7e\x23\x07\x4e\x1c\x97\xa6\x92\x56\xb8\x0e\x61\x6c\xf0\x29\xba\x01\xa4\x75\xb8\x93\xa1\xeb\x49\x07\x6d\xa5\x78\x71\x83\xeb\x4c\x7f\x73\x5e\x53\x2c\x4b\x76\xf7\x03\x5d\xb0\x0d\x2c\x62\x4e\x6a\x29\xc8\xb1\x8c\x0a\xea\x10\x8d\xe7\xf4\x89\x30\xc7\x0a\x06\x8e\x95\xe8\x41\xb9\x4e\x93\xe5\x11\x86\xe8\x6c\x12\x87\x0e\xa3\xd5\x8c\xdc\xd8\xb1\x0e\xc1\x8c\xdb\x7d\xc9\xee\x1b\xa3\x8f\x0c\xb6\x5c\xa9\x28\x80\x8b\xa7\x0f\x0f\xb7\x85\x3b\x36\x09\xf4\x58\xa2\xdf\x30\xae\x7e\x13\x00\x42\x3b\x9b\x0f\x7c\xea\x2c\x77\x83\x5a\xa5\x1b\xe0\x75\x96\x70\x10\x0e\x80\xc9\xd6\xae\xfc\xae\x21\x15\x45\xbe\xc0\x8b\x0a\xf1\xa3\x7a\xf2\x60\x5b\xa9\xb0\x3e\xd0\x01\x55\x6f\xd3\xaa\x9d\xd8\x54\x23\x2c\x4e\x7a\xc9\x3e\x2c\xd7\x45\x36\xf8\xbd\xe8\x14\xd1\x50\x03\x52\xd8\x85\xda\xd2\xce\x01\x67\x6b\xb0\xa3\x9b\xcd\x39\xdb\xa4\xc7\xb6\xa9\x33\xa2\x1c\xf1\x67\xab\x87\xb4\x80\x23\x1f\x8f\xd9\x47\x2e\xac\xe4\x22\x6d\x79\x86\x29\x8e\x1e\x8f\x08\x8b\x11\xce\xd5\xc2\x80\x14\x5b\x77\xcc\xd2\x52\x83\x16\xd0\x80\x6c\x3c\x02\x09\x95\x11\x16\xb1\x2b\x14\xf2\xc4\xdd\x28\xc6\x2c\x68\x04\x0a\x40\x40\x7d\x2c\xa8\xf0\xdb\xa6\xa1\x13\xa9\xd5\xd2\xb6\xb5\x68\xaa\x5d\x5b\xab\x5c\xbb\xfa\x9c\x95\x6a\xf1\x42\xe9\x0a\x88\x0b\xe3\xb3\xfa\xea\x5c\x38\x23\xad\x53\x8b\x35\x3d\xd7\x9d\x37\x03\xab\x88\x19\x4b\x9e\x9d\x81\x16\x10\xbf\x77\xbc\xb6\x04\xb6\x3c\xcb\x05\x44\x39\x37\xb5\xf9\x6d\xb4\xa0\x49\xe1\xf2\xf9\x6e\xe0\x87\xa9\x9b\x4c\xc8\x13\x49\x0c\xd4\x7f\x24\x20\xa1\xc1\x18\x5b\xbf\x47\xff\xdb\xd4\x73\x45\xbf\x1b\xb3\x4f\xc0\x86\x93\x64\x09\x40\xa4\xbe\x65\xac\x2a\xcd\x3c\x36\x0e\x40\xd9\x0c\x2a\x54\x1e\x88\xd9\xeb\x05\x7e\x22\x63\xe6\x9a\xf9\xdf\xe8\x11\xfd\x16\xfd\xae\x4d\x2b\x76\x79\x09\x2f\x6c\x1e\xfa\x18\x44\xfd\x07\xb7\x9c\x65\x94\x96\xdf\x38\xeb\x51\xc9\x76\xdb\x00\x48\xe2\xf1\xc4\x29\x7b\xe2\x51\x2d\xf9\x25\x3c\xb5\x58\x10\xa6\x26\x8c\xc7\x64\x42\x1a\x3c\xc1\x2b\x98\x84\x16\x02\xae\x78\x4c\xd6\xfa\x71\x3d\x33\xfd\x05\x2c\x5e\x32\x9f\xfa\xed\x00\x5c\x04\x9f\x04\xef\x8d\x36\x65\x4a\x6b\x1e\xb9\x07\xed\xdd\x66\xdc\xdb\xfa\xa0\x5d\x74\xed\x00\x2e\x04\x3b\x80\x66\x3f\x68\x82\x95\x8b\x4a\xa8\x1e\xc7\xaa\xff\x44\xbf\xac\x67\x6e\x2f\xab\x00\x8e\x18\x4a\xc6\x08\x3a\xa7\x5a\xed\xe9\xee\xe7\x06\x4e\xb8\x8d\x13\xc8\x60\xb3\x76\xf2\x02\x15\x4b\xe1\xf0\x69\x8e\x3c\xfd\x15\xbe\xdb\x29\xcf\xab\x02\xbc\x5d\x00\x2a\xc3\x28\x09\x2b\xab\x2f\x35\x1f\x9e\x9b\xc4\x49\xb2\xa0\x06\xaa\x60\x78\x76\x89\xf4\xe9\xe0\xa9\xc1\xf3\x82\x45\xcb\xd5\x82\x0b\xfa\x8f\xd6\xc4\xae\x76\x19\xbd\x70\x50\x17\x79\x70\x66\x9c\x65\x69\x1d\x88\xd5\x88\x14\xaa\xa4\x95\x34\xa9\x9a\x68\x9a\x03\x74\xad\x66\xb3\xb3\x3c\x31\xf5\x2e\x22\x2e\x62\x53\x70\x5e\x96\xb2\xee\x20\x7a\xd9\x89\xf7\x58\xf9\x06\xa9\x45\xf8\xb4\x15\x35\x8c\xe1\x6b\xa5\x00\xfa\xe7\x9c\xe4\x7b\x4a\x5c\x7c\xd3\x50\xef\x7b\x3c\x97\x45\xec\xb6\x59\x1b\xcd\x9b\x8b\xf5\xfd\xbb\x9e\xa9\x0c\x52\x7d\x9d\x41\xd6\x23\x67\x19\x4b\x86\xa9\xa7\xba\x91\x21\xec\xd6\x54\x0c\xd8\x83\x25\xec\x35\xc2\x60\xea\x32\x52\x03\xfb\xb1\xe4\xf7\xe4\x13\x5f\xab\x2c\xe2\x85\xcc\x4b\xae\xf4\x42\x45\xfa\x78\x41\x4b\xd3\x16\x4c\xae\x2e\x54\xaf\x0c\x26\x2f\xec\x4e\x9e\xad\x35\xe4\xa0\x2b\x0e\xd9\x2a\xcf\x82\x02\xb0\xde\xb2\x78\xd9\x97\x0e\x76\xd7\x45\xc8\x63\xb4\x94\x62\xc4\x5a\x08\x87\x71\x4b\xb8\x6c\xe6\xf1\x1b\x18\x20\x6c\x43\xe5\xae\xeb\xe1\x0e\x6d\x27\xc2\xb0\xa4\x43\x3d\x12\x75\x54\x9d\xb5\x87\xc1\x17\x50\x79\x1b\xbb\xab\x17\x6d\x5e\xef\x64\x78\x72\x9c\x44\x38\x5a\xb4\x4e\x6a\xca\x79\x42\x30\x6b\x93\x5e\x1b\x1f\x57\x8f\x88\xc1\x84\x05\xd6\x9d\x24\x00\x8c\xec\x96\xc0\x16\xd3\x2c\xc4\x77\x16\x03\xa0\xbd\xe1\xe1\x26\xa4\xd2\x0d\x54\x11\xe6\x2c\x3f\x94\xcd\x13\x52\x5d\x2b\x5b\x79\x60\x60\x3b\x49\xa2\x3c\x09\xaa\x69\x66\x44\xe8\x51\xeb\x25\x7e\x22\x4c\xeb\x0c\x76\x1c\xce\x07\xf4\xec\xf2\xc8\x7d\x0d\xad\x81\xef\xda\xb9\x21\x21\x59\x33\x1e\x33\x38\xb8\xbc\x7c\x58\x35\xad\x4a\xad\x66\x84\x76\xa9\xad\x4f\x67\x20\x44\x6c\x7c\x3c\xef\xca\xd6\xf5\x8d\xcf\xa4\xe9\x7b\x02\xa1\x19\x3b\x7b\x24\x03\xaf\x55\x81\x70\x61\x36\xd6\xa1\x98\xbd\xac\xed\xbd\x1c\xec\x52\x8e\xd6\x0d\x62\x5d\xda\x50\xb4\x5e\xf4\x2e\x29\xaa\x86\xb8\xdb\xa0\xe3\x50\x56\x7a\xf8\x3b\xfa\xeb\xc1\x3a\xb9\xea\xdc\x5e\xda\x48\xf7\xb2\xa7\xdb\xa7\x45\x15\xd1\xa1\xb6\x2e\xae\x12\x18\x40\x1d\x20\x15\xff\x17\xa3\x61\x53\x69\x2c\x60\xae\x3a\x48\x9a\xa9\xa5\x2d\x26\x07\xf7\x62\x98\x0a\x6d\x80\xf2\x9a\xbc\xea\xd5\x3b\x32\x2e\xf9\xd5\x9b\x3a\x83\x8e\xac\x59\xa1\xb1\x49\xb7\xd0\x21\xf0\x4a\x05\xe8\xa2\x2d\x88\xc6\xd4\xe5\x9d\xe0\xa4\xd5\x96\xb5\x07\xa6\x09\xd9\xc9\x05\xb8\x85\xc5\xcc\x55\x22\x27\x9a\x77\xe1\x24\xa9\xcc\x0b\x43\x16\xb9\xf2\xb5\xf9\xa6\x45\x01\xe1\xee\x3e\xfe\x04\x4f\xc9\x46\x5e\xfd\x4b\xf3\xc1\x4a\x2a\x82\x57\x20\x20\x3e\xcb\x92\x65\xb7\x40\xfc\x30\x62\xb1\x11\x5b\x6e\xdd\xc0\x42\x44\xba\x95\x77\x53\x19\xd5\x6d\xbb\x21\x4a\x12\xe5\x82\xaa\xe5\xc4\x1a\xfd\xba\x33\xad\x3b\xfb\xe5\x99\xfd\xb0\x8b\x46\x7d\x8a\x5c\x7f\xce\xc8\x08\xf7\x94\xa0\xa6\xf0\x90\x9d\x42\x97\xed\xd6\x5a\x72\x23\xe6\xd4\xaa\x85\x75\xa0\x57\xdd\x86\xaa\xbb\xd8\x76\x78\xb6\xa0\xc9\x84\xcf\x1c\x9c\x54\xf7\x85\xad\x56\x7a\xd9\xc0\x5a\xea\x50\xab\x33\x41\xb9\xb0\x05\x55\xba\xc4\x02\xa6\xf8\xcb\x24\xc3\x02\x27\x09\x49\xa8\x4c\xb7\xb7\xed\xfe\xe1\xf7\x2b\x47\x7b\x66\x0a\xff\x48\x5b\x46\xeb\x0b\x4d\xf3\x14\xb1\x3c\x9d\x5a\x29\x17\xcb\xc7\x10\x33\xd4\x21\x1c\x18\xe8\x2b\x37\xc0\x12\xce\x82\x08\x50\x60\xc7\x2c\xc0\x03\xb7\xa6\x0a\x1c\x2d\x28\x79\x02\xb4\x52\xc1\x88\x94\xc7\xe8\x8a\x2b\x72\x8a\x3e\xe3\xec\x1e\x04\x35\x53\x89\x73\x6e\xac\xe3\x58\x22\x2d\xb5\xe6\x8c\xaa\xc1\x98\x59\x10\x71\xb7\x2a\x27\x11\x67\x06\x48\x36\x82\x85\xf5\x4d\x80\xb9\xd7\x21\xaa\x2a\x97\x0f\x4a\x65\xcb\x62\x0b\xfc\x3c\x09\x82\x7e\x27\x26\xa9\x62\x03\x3a\xbe\xc5\xcf\x26\xcc\xfd\x1c\x2b\x6c\x8a\xec\xae\x92\xdc\x6d\x1c\x99\x2d\xbc\x64\xf0\x93\x5d\xbc\x0d\xb7\x20\x1e\xbe\x64\x9c\x09\xea\xfd\x96\x1e\x93\x63\xf4\x43\xc2\xa7\x72\x80\xa4\xc7\x1a\x87\x87\x92\x28\x39\x30\x0e\x2a\xf8\xb7\xc9\xa0\xfb\xce\xad\x7e\xc1\xf7\xa1\x5a\xe2\x8c\x7e\x31\xd8\x21\xf2\x0f\xa7\x27\x27\xe9\xf2\x68\x9a\x47\x8f\x44\xe9\xbf\x40\xa6\x68\x5c\x21\x07\xbc\x85\x9b\x60\xbc\xd6\xad\x4e\x1d\x02\xac\x13\x45\xda\x6c\x24\x49\x00\x6e\x5e\x5f\xe9\xbe\x1e\xad\x43\x8c\xe2\xac\xb9\xd8\xa6\x9d\xb2\xc8\xdb\x8e\x57\x09\xa7\xfa\x75\xb4\x15\x53\x6f\x37\x84\xc7\x9e\x25\x78\x5e\x51\x59\x36\x50\x52\xae\x53\x6a\xa9\x48\xcf\x1d\xc2\x54\xf4\x29\x2b\x07\xe7\x7d\xe3\xdc\x91\xe0\x56\xb4\xee\x96\xe3\x31\x1b\x4a\xf4\x4c\x4c\x19\x5d\x48\xe5\x04\xef\x44\x4e\xe5\xc2\x27\x72\x82\xbd\x14\x1a\x35\x28\xc2\x06\x6c\xc2\x2a\x8e\x4e\xb3\x72\xfe\x1b\xab\x81\xe2\x44\x92\x81\x6e\x18\x90\xe4\x5c\xfc\x25\x7a\x16\x38\xcb\x88\x18\x33\x8b\x08\x0b\xb8\xe7\x9c\xdb\xd8\x9a\xb6\x20\xfc\x5e\xa3\x7c\x5d\x8d\x32\x58\x7b\x52\xce\xf3\x5c\x77\xbe\x21\x2d\x74\xd5\x0a\x37\x65\x3a\xba\xe5\xd3\xb2\x68\xd7\x00\xf9\xb7\x37\x1b\x77\x1c\xf3\x3a\xed\x7c\x58\xc9\x6e\x80\x2a\xdd\x29\x28\x90\xb2\x28\x46\xea\x6c\x7d\x5e\x7d\x2f\x89\x39\x00\x28\x0e\x1f\xc7\x9c\xc8\xc0\x88\x8f\xbc\x2d\x2e\xa1\x33\xa2\xa5\x8f\x31\xd3\x64\x1c\x3a\x1c\x0c\x2e\xb9\x83\x29\xd7\x9d\x46\x82\x4b\x69\x13\x16\x4c\x3b\xab\xd3\xce\x76\x28\x81\x68\xc0\xd5\x2f\xae\xaf\x26\xf5\x62\x88\xc1\x33\x57\x16\xd1\x3e\x6c\xc4\x26\x68\x6d\x6a\x6d\x11\xc4\x62\x2d\x36\x28\x83\x78\x72\x76\x79\xe1\x6b\x7f\x55\xba\xae\xd7\x41\x0c\x01\xe9\xdb\x2b\x21\xd6\x67\x1c\xd4\x44\xac\x34\xb1\xa2\x2a\xe2\xfa\xcd\x2a\x87\x49\xef\x82\x36\x58\xd9\xfa\xb5\xfc\xa1\x4c\x33\xeb\x82\x19\xf7\xb4\x4d\x2d\xd7\x4a\x04\x02\xe3\x4b\x7b\xd8\x41\xf0\xd2\x6f\x49\x85\xd3\x2c\xcc\x54\x75\x70\xab\x76\x9a\xe6\xa8\xb5\x5d\x82\xaf\x0a\x03\x1f\x61\x13\xcd\x52\x1d\x5c\x6d\x2b\x36\xf3\x78\xdd\x5b\x74\xf9\x7d\x44\x7f\xbf\x5e\xea\x77\xb2\x2c\xa2\xf6\xa4\x95\xdd\x5c\xe5\xf2\x16\xbb\xff\x94\x78\x24\xfd\xd6\x0d\xdd\x35\xb7\xd3\x23\x6e\x09\x82\xa5\x0d\xc7\x80\x14\xc8\x4a\x7a\xd4\x06\xe6\x61\x3f\x66\x93\x44\x7d\xe4\x6b\x57\x04\x57\x8d\x2d\xc7\x16\xb9\x83\x48\x85\x20\x4f\x44\x00\xed\xd8\x98\x1f\x56\x3e\xaa\x38\x11\x04\xc7\xcb\x60\x45\x7c\xc0\x81\xe9\x19\xcc\x63\x92\xa6\x5a\x81\x07\xd5\x84\xf1\x23\x9e\x39\x9d\xa5\xf4\x16\x14\x1e\xa1\x33\x7d\x63\x05\xe1\x0a\xfa\x0b\x76\x44\xbe\x50\xa9\xb4\x5c\xd1\x10\xab\xe9\x1a\x01\x89\x07\xca\x91\x2d\x88\xbd\xe1\xc6\x1f\x86\x3f\x5c\xdf\xde\x8f\xce\xc7\x1f\x8a\xa4\x06\x97\xb5\xe7\x81\xb4\x5c\x5d\x04\xce\xc6\xcc\x07\xd4\x7a\xdc\x68\xd8\x4b\x84\xe3\xb8\x00\x84\xb0\x4a\xa4\x91\xd9\x56\x72\xe4\xe0\x54\xac\x0d\xa5\x5d\xd1\xcc\x03\xa4\x6e\x1d\xea\xc9\x5a\xe1\x3a\x2b\x9d\x1c\x93\x80\xb6\x22\x53\x68\x4f\x97\x4d\x08\x79\xab\x8c\xae\x4d\x94\xc3\x64\x64\xe4\xd9\xe9\x4a\x70\x3b\x9f\x60\x73\x09\x6f\xc6\xed\xdc\x86\x6c\xb1\xa9\x1f\xe9\x17\x12\xdf\xb6\x48\x55\x7b\x49\x04\xea\x14\x09\xd8\xb8\x0b\x39\xa3\x9b\x68\xfc\x7e\x2a\x0f\xfa\xbb\xee\x6c\xe9\xba\x40\xb2\x2b\x50\x69\x01\x92\x56\x21\x8c\x22\x22\x14\xa6\x0c\xcd\xe0\x60\xb3\x68\x89\x00\xe7\x84\x80\x0f\xfb\xf7\x28\xa5\x0c\x00\x17\x56\x2d\xed\x43\x79\x1e\x1b\x08\xad\x9f\x2f\xae\x1e\xee\x4b\xa2\xea\x8f\xd7\x0f\xe5\x5a\xf8\xc3\xbf\xac\x94\x55\x2b\x2d\xac\x0a\x16\x0a\xa6\x58\x24\x6f\x5a\x70\x5e\xbf\x32\x8d\x13\x4d\x96\x8a\x3c\xdc\x5e\xee\x24\xdf\x35\x3b\xcb\x5a\xa1\xd5\x43\xe9\xaa\x19\x48\xa2\xcb\xa7\x31\x89\xd6\x81\xbf\x76\xa7\x23\x13\x05\xa5\xd7\xc1\x5a\x13\x2d\x30\x1c\x96\x28\xc3\xc2\xfa\xa1\x62\x13\x00\x55\x2e\xa8\x66\x34\xaf\x55\xc0\x1b\x9f\x88\xfa\x59\x5f\x7d\x9c\xed\x23\x0b\xc2\x8a\xb2\xe0\x1f\x25\x93\x27\xd3\xf0\x06\x27\xcd\x0e\x65\x45\xaa\x8b\x13\x96\xa1\x07\x64\x7b\x08\xe1\x2a\x8e\x4d\x61\xfd\xa1\x6e\x0e\x56\xc4\xc5\x13\x6a\x95\x94\x33\x4d\x91\x06\x85\xd6\x41\xd7\x06\xcd\xf1\x99\xf9\xb8\x23\x90\x5f\x10\xd5\xae\xdb\x2a\x96\x12\x0d\x6f\x2e\x1a\xd6\xfa\xb2\xea\x42\xfa\xba\xaa\x00\x25\xde\x9b\xb5\x6f\x6c\xa9\x20\xab\xf3\x20\xc0\xa4\xec\x4c\x77\x43\x8f\x32\x4e\xff\x9b\x72\x24\xc1\x21\x80\x1c\x37\xa9\x0c\xa5\x6c\xed\x35\x78\xc6\x9b\x25\x30\x16\xcb\xb0\x21\x56\x54\x38\x20\x9b\x06\x12\xe2\x23\xd5\x63\x8c\x07\x21\x5e\x12\x37\x75\x86\x6d\x6c\xc1\xde\x30\xa4\x8a\xd9\x74\x01\x91\xfa\xd9\x50\xb4\xc7\x18\x01\xd4\x14\x57\xc7\xd2\xc5\x06\xdb\x94\xff\x70\xba\x21\xb5\x6d\x86\x3b\x55\x8c\xcf\x99\xbf\x2d\x84\x37\xce\xb0\xb5\x3b\x80\x12\xe5\x0a\x4c\x34\xd5\x23\x3c\x1e\xb3\x20\x60\x45\x1a\xb5\x47\x9f\x11\x57\xd3\x05\x0a\x05\x33\xc0\x03\x87\x24\x1d\x2f\xfc\x94\x76\xa0\x8a\x2c\xa0\x16\xe5\xaa\x2c\xb5\x7e\xec\xe9\x94\x0b\xec\x12\x11\x9d\x05\xc5\xc6\x01\x86\xf6\x25\x68\x2f\xa8\xc3\x60\x3b\x06\x73\x34\x18\x2d\x70\x50\xe5\x2f\xc8\xf9\x8f\x39\x91\xec\x1b\xe5\x33\x64\x69\x62\x2b\xc9\xe0\xaa\x7b\x40\x4b\x75\x98\xda\x96\x57\x1f\xf0\x3d\x80\x5a\x6d\xaa\x38\x04\xc7\x6a\xad\x99\xca\xf9\x78\x81\x12\xc2\x58\x24\xe8\xb4\xcd\xaa\xfe\x25\x23\xd1\x36\xc8\x3b\x37\x58\xe0\x94\x28\x22\x56\x85\x23\x95\x6b\x70\x83\x88\xe3\x76\xd0\xf6\x6b\x76\xd1\x14\x28\xa9\x56\xb2\xf1\xda\xed\xe5\x3a\x24\x1d\x3f\x8b\x8d\x40\xc3\xf4\x34\x7e\xb6\x96\xff\x0d\x67\x61\xfb\x29\xa6\x61\xa3\xad\x02\xe0\xa4\x5d\xe7\xf4\x3a\x08\x32\xf7\x35\x2c\x96\x52\xb8\xd0\x81\x40\xc7\xac\x1f\x65\x1b\x66\xcc\x3a\x5e\xba\x17\xde\xed\x32\x1c\x5c\x0a\x6d\xe5\x50\x95\x72\x27\x80\x4a\x40\xa5\x32\xf0\x29\xcd\xb8\x2f\x20\xb4\x34\x45\x48\x06\x6e\x3f\x8b\x0a\x58\x18\x74\xad\x64\x55\xad\xc9\x55\x59\xae\x35\x3c\x6e\x5f\x98\x18\xbd\x44\xb3\x6f\x89\x66\x1d\x29\x97\xa2\x6b\x35\x75\x12\x51\x81\xe7\xb1\xb5\xb2\x2d\x40\x40\x79\x82\x90\x7b\x64\xaf\x48\x5b\x70\x17\xae\x7e\xca\xfc\xbf\xca\x1c\xdc\x11\x75\x48\xaa\x4d\x49\x95\xc7\x81\x0b\x0a\x3c\x50\x49\x28\x0d\xd8\xb8\x1a\x18\xad\x09\x83\x34\x56\xfe\x8b\x2b\xe3\xc0\x82\xe4\xe6\x25\xcf\xd1\x33\x95\x0b\xa4\xf8\x98\x41\x9c\xa0\xf7\x06\x28\x8e\xcc\x8b\x03\x78\x0b\x60\x10\x64\x3e\x4d\xa9\x42\x38\x98\x61\xc9\x24\x39\xb0\xe7\x59\x7f\x00\x33\x6e\xcc\xb3\x6f\x42\x36\x5a\x73\x68\xb6\xb0\xaf\x15\x8d\xec\x9a\x4a\x1f\xc4\x34\xbf\x6c\x32\x7d\xa0\xf1\x84\x1a\x66\xe3\x99\xeb\xb3\xe9\x51\xb3\xb5\xc1\x62\xad\x02\x20\x2e\x95\xaa\x72\xb7\x58\x43\xcf\x9a\x4c\xfa\x62\x23\x3a\xa5\xd2\x17\xaf\xef\x23\x97\xbe\xad\xba\xdb\xaa\xdc\x4a\xf7\x49\x8b\xfd\xdb\xe5\xec\x2a\xee\x02\xe7\x43\x49\xe9\xa6\x55\x52\x3a\x34\x30\xb8\x22\x21\x60\xfb\xf0\xf2\x4d\xd4\xc1\x22\x3f\x2b\xa4\xa2\x20\xdd\xb2\x8c\x09\x43\xaa\x9c\x9f\x71\x05\x39\x35\x11\x54\xbe\xaf\xe5\x79\x8e\x59\xb3\x04\xb2\x9a\x27\xee\x9a\xa2\xb1\x57\xd0\xb8\xe0\xfc\xb9\x59\x58\x8b\xd6\x2f\x3e\xc8\xcd\x28\xcb\xb6\x86\x7d\x55\xc4\x2c\x5c\x7c\x6d\xc1\x49\x5a\xf0\xd8\x26\xe1\xb8\xe1\x54\x36\x0f\xbd\x96\x40\xb1\xf6\x5c\xd8\x4b\x77\x8f\xaa\x5d\x8d\x3b\x77\xce\x37\xf1\x32\xb2\xe5\xc6\x36\x60\x3a\xf6\x7a\x7c\xc5\x55\xbb\x4d\x71\x5e\x00\x63\xdd\x3f\x84\x2c\xf8\x69\x06\xe0\xd8\xb5\xa3\xc6\x26\xc8\xc5\x43\x9a\x57\x76\xa3\x34\x57\x13\xa8\xb8\xe3\x7c\x5b\x31\xab\xf4\x94\xa3\x49\x1d\xb9\x6a\xed\x02\xed\x07\xbe\xaa\x0a\xe1\xf0\xf6\x2b\xd5\x12\x4b\xbd\x61\xd5\xe9\xc0\x27\x2b\x6c\x4c\x34\x0d\xad\x2b\x50\x6e\xda\x86\x92\x56\x6e\x2b\x2f\x00\xe7\x2c\x26\x82\x11\xac\x16\xaf\x97\x89\x72\xb6\xab\x09\x3f\x18\xdf\xcb\x66\xa5\xd8\x91\xe2\x72\x72\xca\x2e\xc3\x2d\x97\xdf\x5f\x3b\x4e\xfd\x7a\x17\x6b\x9a\x0d\xd0\xf0\x05\xa8\x6b\xea\x75\x83\x69\x35\x00\xea\xd9\x84\x4a\x77\x4a\x56\x69\x56\x79\x5f\x26\x6d\xa7\xc1\x36\x56\x4b\xd8\xd1\xa7\x3d\x2c\xdb\xbd\x66\x49\xbe\x8a\xfc\x98\x97\x4f\xd9\x58\x55\x20\x3c\x0f\xb2\x38\xa0\x4a\xbb\xc2\x94\x59\xee\xb5\x2a\x71\x43\xcb\xdd\x29\x6e\xca\xd5\x38\xf8\x2c\xa0\xaf\x3e\x09\xa8\x4f\x09\xe9\x53\x42\x1a\xf6\xa8\x4f\x09\x41\xe8\xd0\x52\x42\xd6\xa9\xe9\xab\x8c\xc4\xde\x6f\x09\x85\x5c\x4b\xd5\x93\xcc\xfe\xae\xd1\xb5\xb7\x4f\x7b\x70\x76\xd6\x30\x66\xcc\xfe\x62\x7f\x68\x0c\x1b\xab\x7d\x56\x9d\x6d\x68\xf3\x65\xcb\xaa\xeb\x04\x8b\x38\xb1\x58\x7d\x36\xa8\xbb\x6c\xa3\x5b\x65\x4e\x1e\xb3\x1f\xf9\x33\x79\x22\x62\x80\xb0\x42\x29\x97\x0a\xf8\xb0\x8b\x21\x82\x83\x50\x42\xcb\x37\xb1\x22\x18\x5d\xe1\x94\xc4\xa6\x98\x66\x10\xfa\x69\x8d\xda\xd6\x1d\xdd\x04\x49\x0b\xe8\xaa\x66\x1b\x5c\x6c\xc9\x98\x99\x70\x4c\x13\x02\x08\xb2\x02\x75\x13\x03\x82\xf9\x8d\x77\x96\xff\xe6\x18\xdd\xeb\xfb\x89\xca\xf2\x78\x03\x84\xba\xb6\xb1\x8d\xd9\x5c\xf0\x3c\xf3\x76\x46\x3e\x35\x55\x95\x4d\x84\x58\xdd\x59\x0e\x83\x71\x9e\xf2\x08\xc7\x84\x45\x6b\x42\x56\xde\x24\x52\x77\x2b\x98\xa7\x90\x80\xf4\x31\xf4\xe1\x87\x36\x1d\xc0\xf8\xb8\x03\x70\x9b\x55\x18\xff\x2f\xe4\x80\x3f\x27\x12\x2c\x67\xde\x33\x51\xca\xb5\x2f\xeb\xf3\x8d\xe3\x5c\x65\x37\xf6\xbe\x1d\xe7\xff\x68\x86\x8a\x28\x3a\xb7\x71\x71\x26\x91\xd7\xde\x13\x2f\x66\x51\xee\x1c\x61\xdc\xc6\x2f\x6e\x72\x91\x71\x90\xc4\x92\xa5\x83\xb6\xb0\x68\x78\x19\xcf\x72\x13\xfb\x47\xc3\x50\xb0\x46\xca\xa6\x52\x7d\xc6\x2a\x5a\x68\xce\x5d\xa0\xc2\xed\x29\x26\xb2\xe0\xca\x2f\x6b\x65\x6e\x98\xc1\x59\xd8\x7b\x8b\xdb\x65\x15\xf5\x04\x31\x8e\x3e\x90\xd4\x4b\x12\xa9\xee\xcf\xb8\x26\x6d\xad\xf4\xc0\x76\xec\x3e\xb1\x4f\xf4\x44\xd7\x51\xd1\xba\xf1\x77\xa3\xad\x72\x31\xb7\xbd\x47\x5b\xee\x60\x10\x3c\xb7\xa0\x66\xc5\x8b\xb6\xf8\x6f\x4b\x88\x84\xa0\xdb\x65\x4a\xd9\x02\x0c\x4f\x5a\x1c\xf1\x56\xe9\x14\x67\x5a\x89\x50\x5c\xdf\x92\x62\x6e\xe4\x58\x13\x4b\x8c\x30\xca\x05\x75\x67\xbf\x92\x37\xdf\x4e\x1d\x60\xdb\x3b\x09\x8b\x75\x45\x38\xa8\x63\x68\x82\x22\x70\xa4\x72\xec\x83\x37\x81\x26\x5c\x7d\x7d\x83\x11\xe0\x82\x0f\x84\x13\xef\x1a\xf6\x74\x2d\x61\xef\xb0\xcb\xb8\x09\x03\xb2\xd3\x49\xa3\x6c\x1e\x00\x48\x36\x5b\xd2\xbb\x94\xd5\x68\xfc\xb2\x5b\x69\x90\xc6\x4f\x9d\xec\xb3\xcd\xb7\x2b\x00\xae\xb6\x8e\x5f\x2f\xe5\x02\xd8\x60\x61\x2b\x3d\x85\xd0\x9e\xd6\x7e\x07\x08\xbd\x14\x82\x19\xb0\x95\xa6\xfe\xcb\xff\x65\xca\xb0\x99\xa5\xf9\x2f\xc4\xc5\x98\x99\xdf\x07\xbe\x04\x8a\x7e\xa1\x00\xc9\xc5\x29\x29\x60\x44\x45\x19\x70\x10\x60\x57\x2c\x60\x9c\x01\x44\xf6\xa5\x0c\xf4\x18\x1e\xf3\x29\x11\x8c\xe8\xa1\x39\x80\x06\xcf\xcc\x52\xcc\xf0\x1c\xe0\x97\x07\x10\x3d\x08\xe2\x6a\xa1\x8a\x18\x92\x36\xa5\x34\x81\x5b\x69\x66\x69\x73\x92\x8b\x92\xd2\xd0\xa7\x11\x65\x2d\xfa\x6b\x11\x82\xd2\x4c\xfd\xb7\xb6\xff\xed\x24\xf6\xfb\xe1\xdd\x4f\x93\xdb\xd1\xdd\xf5\xc3\xed\x59\x49\x6c\x3f\xbb\x7c\xb8\xbb\x1f\xdd\x36\x3e\x2b\xf2\x79\xff\xfc\x30\x7a\x68\x79\xe4\x1a\xb8\x1c\xfe\x30\x2a\xd5\x67\xff\xf3\xc3\xf0\xf2\xe2\xfe\x2f\x93\xeb\x8f\x93\xbb\xd1\xed\xcf\x17\x67\xa3\xc9\xdd\xcd\xe8\xec\xe2\xe3\xc5\xd9\x50\x7f\x19\xbe\x7b\x73\xf9\xf0\xe9\xe2\x6a\xe2\x42\xb3\xc3\x47\xbf\x5c\xdf\xfe\xf4\xf1\xf2\xfa\x97\x49\xd0\xe5\xf5\xd5\xc7\x8b\x4f\x4d\xb3\x18\xde\xdd\x5d\x7c\xba\xfa\x3c\xba\x5a\x5d\x07\xbe\x79\x35\x5a\x4b\x4c\x07\x17\x59\x60\x34\x0a\xc4\xa4\xe9\xd2\x92\x36\xfd\x07\xf8\x2e\x6e\x0c\x3d\x1e\x0d\xdc\x5f\xa6\x6a\xfb\x91\x66\x81\xce\x77\x58\x70\x8f\x31\xf3\xce\x5d\x7f\xa9\x2a\x3c\x97\x2e\x3d\xbb\x34\xda\x53\x34\x84\xb3\x02\x0a\x43\xa9\x53\xc8\xfe\xf0\x23\x75\xe1\x00\x40\x87\x09\x4d\x29\x44\x06\xa0\x23\x54\xdd\xf0\x72\x83\x76\x4e\x30\x04\xeb\xdb\x8c\x57\x9d\x06\x59\xcd\xfc\x06\x4a\x39\x45\x8e\x43\x13\x63\x4e\x30\xf8\xbc\x4b\x86\x53\x1a\x55\xd3\x54\x00\xa2\x16\x15\x70\x2c\xd5\x16\x4b\x04\x56\x6e\x79\x41\xd0\x4f\x7f\x2a\x06\x05\x1e\x0c\xab\x79\xe7\xb5\x62\x8d\xf6\x81\xc8\xcd\xaa\xae\x23\xcf\x52\x4f\xee\x98\x5b\xd3\x32\x9c\x5b\x5b\x14\x1e\xdc\x4d\x39\x0b\x20\xd9\x4a\xbe\x27\x7d\xbc\xcd\x8c\x2a\x34\x7e\x8a\xee\x00\x0e\x46\x16\xaa\xbb\xde\xc5\x2c\xc9\xe7\x94\x21\x9a\x66\x09\xf0\x18\xa3\xcf\x4f\xc9\x02\x3f\x51\xee\x4a\x7c\x98\x4a\x28\xb0\x8e\x56\xb4\x42\x47\xa8\xf5\xa0\x9c\xa2\x61\x1c\xcb\x32\x83\x2b\x51\x8e\x63\x99\x47\xe5\x61\x87\x28\x6a\x2c\xf6\x6c\xb3\x42\x47\xc5\x91\x83\x15\xdb\x3f\xe0\x4d\x9d\x1d\x96\xef\xde\x1d\xae\x7f\xbd\x82\x13\x47\xca\x93\xad\x84\x81\x7b\x2c\x1f\x1d\x6b\x5e\x27\x10\x38\xe8\xa1\xdd\x7a\xb4\x18\x44\x5d\x3b\xf5\x2b\x3b\x81\x83\xb6\x5d\x9f\xad\xc8\xd9\x6b\xba\x74\x33\x4e\x2a\x55\xe1\x3a\xf7\x57\xaa\x2a\xd7\xd8\xd9\x5e\xbd\x3d\xcd\xd2\x18\x1c\xc9\x89\xa7\xff\x0d\xe6\x71\x03\x9f\x5e\xfb\x2f\x57\x8a\x6c\x93\x60\xdd\x36\xf5\x01\xd5\x12\x99\xad\x1f\x68\x25\x1d\xee\x09\x02\xab\xbb\x30\x08\xc5\x29\x68\x04\xee\x3e\x4c\x99\x2d\x59\x44\xbc\x3f\xca\xd5\x36\xd7\xe7\xd8\x57\x1f\xc4\x53\xfe\x54\x52\x2e\x53\x22\x25\x6e\x01\x75\x09\x4c\x62\xbb\x30\x06\x7f\x42\xed\x87\x1d\xe9\xc9\x9d\xc9\x7b\xfd\xd5\x2a\xa3\xcf\x6d\xa8\x19\xbb\x89\x6a\x81\x35\x76\xd1\xc8\xe8\xda\xe4\x24\x6a\xfe\x32\x28\x02\x8e\xb8\x08\xe2\xb0\xda\xdc\x3f\x1d\xcd\x6a\xd5\x05\x6b\xac\x44\x15\xba\xf0\x36\x8f\x53\x0a\x5a\xdf\x1a\x35\xdc\xfa\x55\x70\x79\x7d\x36\xa0\xba\x92\xbf\x33\x2c\x6e\x1e\xf1\x34\x35\x72\x41\xc9\x96\x3a\x40\xd8\xa4\x82\x16\xd2\x94\xcc\xa3\x85\xf1\x32\xe9\x2b\x63\x30\x66\xcf\xc1\x86\x94\x82\xa5\x87\x61\x4b\x80\xb8\xfa\x45\x1f\x37\xfa\x54\x0a\x41\x07\x91\x91\x42\x3c\x74\x40\x08\xc6\x21\x58\x94\xd8\x5a\x43\xe0\xc1\x7e\xed\x40\xea\x5b\x94\xa1\xac\xac\x6f\x5b\x31\x4a\x3f\xb7\xa0\x06\xe4\x0e\x9a\x72\xd7\x21\x04\x65\x28\x9b\x46\xb0\x87\x2a\x94\xaf\x0a\x81\xee\x53\x5a\x4d\x06\x74\x3a\xb5\x38\x1e\x7a\xba\x6e\xb5\x7f\xeb\x66\xf4\x5b\xe3\x77\xc8\x5b\x80\x5f\x82\xd6\x3c\x0a\x3a\x3a\xd2\x32\xab\x03\x24\xb0\x81\x18\x12\x1d\x19\x64\xc5\x6f\x20\x1a\x75\x78\x73\xf1\xcd\x00\x7d\x13\x66\xe4\x7d\xb3\xd5\x01\xb4\xe3\xb6\x95\x28\x41\x9b\x2a\xa5\x65\x94\x8f\x1d\xec\x55\xe5\x24\xda\x3d\xb3\x07\x11\xb5\x9d\x43\xfd\x65\xe9\x1b\x70\x4e\x43\x89\x40\xe3\xbf\xf5\x41\xe1\xd6\x05\x64\x64\x5c\x2a\x1b\xd6\x2e\x1e\xb3\xe9\xb2\xea\xe4\x19\x78\x2f\x4f\xe7\x53\xba\x73\xd9\x3b\xdd\x5e\x3d\x85\x7b\xcf\xc1\xca\xab\xef\x83\x35\x49\xe1\x43\x13\x97\xce\x67\x01\x17\x6b\x8b\x52\xe8\xa3\xfc\x9b\x66\x55\xb2\x97\xb9\xc5\x6c\xdc\x94\x75\xf2\xcf\x7b\x23\xb7\x0e\xa1\xf1\xc3\xa6\x15\xb1\x59\x11\x2d\xc2\x75\x4f\x65\x2f\x4b\x65\xfb\xc8\x0a\x29\x0f\x6e\xf3\x0b\xf4\xcc\xc8\x71\x41\x33\xce\xe0\xaa\x95\x09\xcf\xe0\x4b\xb5\x11\xd7\xd7\x62\xde\xd0\xe7\x1b\xac\xc9\x7a\xa7\xef\x9d\x09\x1c\x30\x6e\xd7\xfa\x58\xab\x43\x1d\x2a\x5b\xa8\x89\x53\x93\x01\xaa\x68\x4a\x06\x88\xb3\x64\x19\x04\x3b\xd8\xf3\x0a\xe4\x66\x62\x94\x16\x84\x0a\xd7\x89\xc5\x61\xdc\x08\x32\x60\x43\x69\xbc\x8d\x46\x76\x88\x34\xb9\x1a\x7e\x1e\x9d\x4f\x46\x57\xf7\x17\xf7\x7f\x69\xc0\xd8\x2c\x3f\x76\x30\x9b\xc1\x0b\x77\x7f\xb9\xbb\x1f\x7d\x9e\x7c\x1a\x5d\x8d\x6e\x87\xf7\x6b\x20\x38\x57\x75\xd6\x06\xef\x98\xcb\x26\xf5\x6d\x13\x88\x47\x67\xe6\x6d\xe8\xbd\x0e\xc4\x19\x74\x42\x49\x0b\x18\xa7\x81\x47\x60\x31\x11\x28\x26\x4f\x24\xe1\x59\x61\x56\x6d\x5c\xb0\x00\xa5\xb3\xa1\xfd\x55\x48\x9d\xd0\x66\x75\x8d\x4f\x91\xa9\x87\x17\x94\x04\xf6\x0d\x82\xc8\x87\x05\x61\xdf\x28\x44\xbe\x64\x09\x8d\xa8\x0a\xd2\x27\xb9\xb0\xee\x15\xe3\x3e\x84\xe8\xd4\x35\xc4\xb5\xb7\x68\x94\xbd\xeb\xfc\xa1\x27\xbd\xae\xed\xfb\x13\xe5\x51\xe3\xd6\x16\x59\xda\x83\x62\xdf\xe2\x34\xae\x81\xda\x6d\x31\xba\x97\x30\x0f\xd4\xf3\x98\x6c\x0a\x64\x0b\xe0\x5d\xf3\x20\xd7\xdf\x86\xab\xe2\x64\x4a\xe7\x7a\x75\xa0\x4c\x37\x4a\x7d\xe3\x70\x97\x52\xf1\xd1\x3d\xa0\x93\xd8\xd8\xf5\x0d\x03\x16\x6a\x35\x75\x98\x89\x39\xc5\x48\x90\x94\x2b\xad\x80\x99\x88\x80\x81\x16\xaa\x28\x4e\xe8\x3f\x00\xc7\x4b\x90\xe3\x20\x82\xc2\xa1\x9f\x15\xee\x03\x8b\xb1\x71\x3c\x66\xe7\xa3\x9b\xdb\xd1\x99\x66\x48\xc7\xe8\x41\x02\x44\x57\x69\xea\xe7\x96\xbc\x8d\x38\x16\x46\x32\xac\x2e\xe4\x4f\x84\xe0\xa2\x3b\x7f\xf0\xfd\x8d\xe0\xbb\x66\xf2\x86\x67\x25\xdb\x94\x33\x00\x5c\xb5\x56\x8e\x0e\x72\x06\x76\x0f\x53\xa9\x9e\x08\xfc\x5c\x5a\x91\x10\xa2\x04\x24\x91\xf2\xaa\xbf\xe0\x6a\x03\xc8\x69\xf7\xf9\x95\xfa\xbc\x81\x6f\x57\xcd\xf3\x1e\x42\xec\xa4\x2a\x10\x53\x0d\xa8\xaa\xaf\x0c\x54\x99\x67\xab\xa8\x28\xde\x02\xce\xa4\x42\xfa\x53\x32\xc7\x0c\x89\x9c\xb1\x0a\x84\x6e\x68\x69\xab\x07\xcd\x6c\x7a\x54\xf5\x9a\xe1\x94\xe7\x0c\x94\x06\x08\x63\x6d\x18\x8c\xcc\x08\x53\x6b\x06\xf3\x56\x60\x35\x95\xa1\x1e\x2e\x5e\x4d\xc3\x40\xdb\x20\x6b\x9a\xfc\x49\x50\x9e\x7a\xb3\x6b\xd9\x05\xe5\x95\x9c\x4a\xfa\x50\xf9\xfb\xb9\x59\xcb\xc6\xf2\x71\xe7\xee\xee\xb1\x7c\x5c\xdf\x55\x4c\xa2\xc7\x4d\x2f\x9b\x6a\x66\x66\x62\xab\x7b\xd7\x8c\x7d\x4b\xfd\xd4\x96\xaf\x81\xa2\xee\xd1\x23\xfa\xf1\xfe\xf3\x25\x9a\x51\x2d\xf7\xea\x6b\xe5\x0a\x6b\x19\xfb\x41\x24\xce\x2e\x6c\x6d\xab\xb9\x48\xfc\xdd\x0b\x1b\xef\x44\xa9\x40\x4a\xd0\x37\x1a\x9e\x13\x67\xec\x15\x16\x91\xb0\x52\xbe\x46\x60\x16\xf3\xd4\xcc\xe3\x44\xe6\xb3\x19\xfd\x72\xac\xb0\xf8\xae\x65\x3d\x4c\x54\xc5\xe4\x6f\x7c\x3a\xd1\x23\xda\xf1\x22\x6e\x6a\x0e\xd9\xa2\xd3\x7e\xd9\xec\xcc\xce\xcd\xbb\xff\x87\x4f\x01\x11\x20\x13\x1c\x50\x12\xc1\x3b\x67\x23\x15\xec\x2b\x8e\x92\x8e\x91\x4b\xa0\x2a\x01\xc1\x44\x5c\x08\x62\x81\x04\x4c\xfd\xd5\x0c\x0b\x45\xc1\x5a\xeb\x80\x64\x4a\x15\x04\x8a\x2d\x0a\xcb\xa2\x2f\x70\x81\xd6\x3d\x25\x04\x1c\x3c\x19\x4d\x36\x53\x7a\xcf\x4a\xbe\xc9\xca\x09\xb4\x91\xa7\x16\x5b\x14\x0c\x32\x6b\x45\xac\xd1\x13\x61\x6a\x2f\xfa\x09\x34\xd1\x00\x6d\xd0\xcd\xcb\x60\xca\xa0\x5e\x9c\x17\x97\x9b\x0b\xe9\x0d\xa3\x9a\x94\xc0\x70\xcf\xdb\x44\x29\xeb\x52\x6f\x73\xf4\x3f\x75\xf6\x1d\xc3\xab\xf5\x75\x59\x13\x1a\x6f\x57\xbb\x28\x87\x5e\x84\xb5\xba\xf2\x07\x5b\x82\x1d\x49\x62\xac\x18\x01\xc8\x86\x55\x4e\xab\x7b\x6e\xfa\xd4\xb4\x55\xe9\x72\xed\x96\x6f\x81\xec\x53\x6a\xe6\x13\x81\x94\xce\x7d\x04\xa2\x6f\x82\x6f\x00\x03\x79\x10\x09\x84\x50\xaf\xb4\x62\x99\x52\xec\x9a\xf3\x79\xc9\x0e\x77\x90\xd1\xcd\x60\x56\xe0\x13\xe4\x49\xe2\x50\xd0\x56\x4b\x87\x1b\x21\xf7\xbd\xf8\xbc\x02\xdd\x63\xc5\xc4\x1c\x0a\xe0\xea\x99\x05\x6b\xb0\x77\xe9\xfe\x63\xb0\xbe\x60\x42\x06\x43\x62\x59\x8b\x04\x0e\xbf\x34\x71\xb3\x60\x4a\xc2\xa5\x8b\x8c\xfe\x43\xb3\x5f\x41\xe4\x82\x27\x71\xfb\x84\xeb\x18\x13\xab\xa6\xbb\x31\x0e\xe3\x26\xf3\x75\xcb\xfe\xb2\x13\x0e\x94\xb2\x35\x33\x7e\x39\x40\x0d\xff\xd6\x7e\xe6\xba\x47\xed\xb3\x48\x53\x5f\x5d\x1a\xc4\xbf\xf6\x92\x33\x70\x92\x4e\x5b\xc4\x7c\x07\x89\xb5\x22\xdd\x94\x84\xd7\x95\x13\x74\xbe\x77\x1f\xd7\x63\xd1\x86\xad\xd4\x64\x87\x06\xf2\x4f\x61\x44\x0d\x91\xff\x0a\xa7\x54\xa1\xa6\x2e\x8d\x57\xdd\x7f\x5e\xb8\x06\x8a\x64\x0f\xaa\x64\x51\x73\x11\x69\x29\xaa\xed\x40\xea\x79\x4e\x72\xb1\x11\xd8\x48\x81\xd9\xbf\xc9\x9d\x6c\xd3\x8c\x8a\x61\xe9\x45\x68\xbe\x08\x6d\x29\x15\x50\x90\x6c\x10\x99\x2c\xe1\x20\xda\x43\x6e\x96\xb1\x51\x79\x6f\xbf\x6e\x77\x75\x98\x82\xfe\x53\x08\xa9\x2f\xe5\x37\x2d\x51\x60\x69\x02\x3d\xb2\xde\xe6\xc8\x7a\xb6\xae\x8e\xa7\x3d\xc0\xc1\x54\x02\x20\x1d\x0a\xd7\x68\x55\x24\xb4\xee\x8c\x75\x39\x6d\xa5\xdd\xe9\x94\xc0\x56\xfa\x42\xf3\x92\xf3\x1d\x7d\xab\x7a\x32\xcb\x09\xa4\x04\xef\x12\x5f\x55\x9a\xbf\xf1\x0b\x41\x9b\x24\x46\x06\x97\xc2\xe0\x7e\xdb\xb5\xf3\x3e\xb1\x0c\x0b\xc2\xd4\x98\xdd\xea\x51\x98\x2f\x8a\x18\x1b\x17\x61\xe5\x6a\x31\x40\xc5\xe6\x19\xc2\xf6\x2b\x58\xf4\xb6\xcb\x53\x4e\xcc\x4b\x60\x74\x78\x41\xf8\x84\x1f\xcc\x3b\x06\xcd\xc2\xa2\x39\xe9\xa9\xd2\x59\x61\xa0\xd1\xaa\x41\xb4\xa0\x00\x26\x11\x13\x69\x2f\x24\xaa\x2c\x5a\x88\x57\xac\x72\xe2\xd0\xc7\xe1\x33\xcf\xbf\x9a\x18\xb6\x33\x01\x31\x67\x7a\x95\x63\x16\xf4\xb1\x02\xac\xd6\x98\x61\xb6\x54\x12\x61\x9f\x69\xec\x5d\x9a\xf0\x4f\xb3\x43\x5c\xd0\x39\x65\x41\xc9\x30\x3b\xbd\x14\x67\x60\xb8\x37\x67\x90\xcf\xfc\x9d\x76\x6f\xf3\x47\x8e\x61\xc4\xff\xf7\xbf\xff\xe7\x98\xb6\xf9\xb5\xe4\xc4\xae\xc0\x21\xec\xe4\x66\xdb\x12\xee\x7c\x80\x0f\xd3\x82\x3b\x12\x58\x2b\x64\x29\x27\xa6\xf8\xd5\x5e\x6e\x9a\x68\xb8\x5a\x18\x47\x7e\x99\xdc\xc1\xeb\x25\xf2\x15\x67\xc3\x5c\x31\x6f\xbb\x96\x54\x42\xde\x87\x1e\x89\x39\xc9\xde\xf4\x13\x96\xe3\xaf\x19\xe0\xc6\xac\xf8\x44\x1a\xa4\x1b\x03\x6e\x6c\x7e\x28\x56\xa7\xe3\xc2\xac\xe2\xfd\x45\x0c\x4c\x11\xe8\x10\xc4\x99\xbb\xe2\x31\x26\x3e\x58\xb7\x5f\xb9\x69\x2b\x9c\x3b\x40\xf9\xdc\x25\x1e\x77\x81\xe5\xcb\x05\x5d\x35\x16\x3d\x33\x7e\x92\x50\x78\x58\x17\x7e\x65\x06\x69\xf2\x78\xf5\x86\xe4\x92\x08\xc3\xe9\x3c\xd0\x99\xa5\x84\x10\xc3\x14\xa2\x6f\xd7\x78\x91\x49\x8a\xe9\x46\x99\x22\xfa\xfd\x66\x84\xd5\x92\x1b\x09\xcf\x89\x98\xc4\xb9\xaa\x1d\x8b\x55\xd9\x1b\xfa\xa3\xf3\x5c\x2d\xd7\xb7\x2f\x13\x5c\x2f\xfa\xb4\x0a\xd5\x56\xbf\xdf\xd2\xec\x7a\x89\x39\x08\xde\x2a\x4b\xcd\x2d\x98\xb1\xa4\x82\x19\x6b\xa3\x89\x4b\xc6\x2f\xb8\x81\x99\x02\xb0\xc4\x42\x93\xb2\x57\xb4\x41\xb6\x87\x91\xa3\x69\x5e\x18\x0b\x7d\xad\x10\xad\x12\x7f\x34\xc5\x76\x40\x27\x37\x03\x88\x20\x95\x8b\x7c\xc9\xb8\x24\xa5\xdc\xc2\x86\xfa\x1f\x36\x37\xd8\x0e\xa3\x59\x58\x2f\x3e\xda\x5d\x56\x7f\x73\xf4\xdf\xfa\x86\xd7\xa7\xdc\x4c\x81\x3b\x89\x83\x11\xcd\xa8\xa6\x9d\x49\xe3\x49\x7b\xb9\x1a\xd4\x45\xb4\x1e\x20\x9c\xa9\x64\x39\x40\x7e\x7a\x15\x82\x48\xc8\x13\x01\x47\x09\x8c\x31\xac\xf2\x52\xb6\xd8\xb6\xb0\x93\x75\x07\xa8\x48\xec\x05\xb6\x80\xe2\xea\x08\xca\xe9\x8f\x4d\xb4\x58\x4e\xec\xda\x39\x07\xb1\x29\xe4\x68\x03\xf1\x7c\x18\x56\xbb\x59\x12\x85\xc8\x17\x45\x6c\x3d\xdc\x7b\x97\x25\x5a\x4f\x2c\x41\xcd\x89\x6e\xed\xb2\xe3\x8b\x57\x26\x1f\x3a\x6c\x00\x97\x06\x1b\xbb\x2b\xdf\xa6\x85\x2e\x30\x8b\x6d\xae\xb3\x55\x32\xb4\xb0\x05\xb3\x33\xd6\x36\x9f\x05\x62\x33\x76\x83\x32\x01\xa6\x4d\x53\xcf\x00\x2e\x32\xa7\x30\x6a\x95\x05\x02\x67\xb8\xd0\x92\x7b\xce\x14\x4d\x34\x71\xd8\x31\x48\x34\x83\x98\x47\x0b\x41\x09\x39\x0b\x6d\x28\x87\x54\x4a\xca\xe6\x13\xbb\x92\x2e\x6d\xb7\xdb\xc5\x50\xa6\xa9\xcf\xa6\x29\xf3\xe3\x0f\xae\xa1\xd5\xee\x12\x43\xd6\x80\x40\xe7\x12\x86\x41\xe3\x60\xdc\x4d\xc6\x42\x07\xba\x3c\xe3\x09\x8d\xcd\x52\x50\x53\x76\x1d\x26\xba\x89\x47\x05\x64\xba\x3a\x42\x47\x71\x85\x48\x9b\x04\x6c\x52\xfb\x20\x07\x43\xb5\x64\x39\xcb\xd6\xec\xe6\x0b\xe6\x45\x34\x5b\xf4\xcd\x63\x38\x54\x12\xa5\xb1\xeb\xce\x26\x9a\xe0\x24\x99\xe2\xe8\xd1\x6b\x61\xde\x16\xc1\x85\x2b\x9a\xa1\xe5\x4a\xa8\x0a\x68\x88\x4b\x0f\x34\x02\xe9\x26\xf4\x03\x1b\x8c\x26\x3b\xec\xa2\x73\xb3\x6a\x16\xfc\xce\x80\x72\x99\xd1\x9b\xac\x95\x98\x64\x09\x5f\xa6\x2d\xf7\x59\x35\x39\x74\x97\x18\xac\xb6\xdc\xd4\xbd\x5e\x65\x15\xa6\xb7\xf1\x65\x56\xcb\x34\xdb\x03\x62\xd8\x06\x5c\xf2\x53\xc2\xa7\x60\x52\xb5\xe6\x07\x97\x3d\x15\x24\xf1\x54\xcf\xf3\xa6\x39\x5d\xd5\x13\x49\x65\x96\x68\x65\xa6\xbd\x07\x93\x4d\xf4\xb2\xfb\x66\xd0\x27\xd6\x5b\x07\xbb\xc7\xe1\x37\x7e\xfe\x12\xd8\xd4\x97\x4e\x12\x30\xef\x1a\xfe\x55\xb1\xb2\x99\x34\xce\x63\x13\x7e\xa0\xf8\x98\x29\x3c\x77\x9b\x6b\x85\x4b\xfe\xcc\x88\x90\x0b\x9a\x95\xaa\x85\xee\x1c\xf8\x6f\x29\xda\xfe\xc7\x84\xb9\x6f\xc0\x3b\x79\x76\x64\xb0\x67\x34\x7d\xc8\x0c\x47\x85\x55\x34\x4a\xb0\x94\x74\xb6\x0c\x20\x63\x7c\x0c\x35\x24\xe6\x95\xcd\x08\x41\x81\xbe\x26\x46\x63\xc6\xb7\x1f\xcc\x84\xdd\xf3\x45\x1f\xca\xc7\x8f\xc6\x21\x36\x9f\xbe\x4f\xea\xf8\x40\xee\xa6\xb6\x38\x41\xad\x18\xc3\x06\x1c\x62\x3b\x8c\x83\x95\xb0\x4e\xed\x66\x84\x42\x98\xb4\xc3\xb6\x8a\x8c\x87\x72\x09\x61\x8e\x54\x29\x49\x16\x36\x5f\x2b\x4e\xce\x2e\xac\x89\xd3\xc3\xc0\x00\x5a\x46\xf1\xf1\x00\xc9\x9d\xe0\xd3\xba\xd0\xc5\x39\x49\xc8\x5e\x62\xe9\xb7\x20\x92\x6a\xa0\x4a\x40\x1e\x2b\x49\xa3\x28\xb2\xb1\xde\xb8\xb0\x45\x88\x7f\x0b\x08\x53\xf3\xd0\x7f\x31\x03\xb5\x51\xfe\x4d\xbb\x08\x86\x41\x58\xe5\xae\xba\x4b\x13\x9a\xa3\x69\xc1\x92\x5c\xd1\x4d\x89\xae\x8a\x4e\xbd\xbc\x72\x88\xa4\xf6\xc6\xc1\xf0\xb5\x71\x7d\x22\x5d\x02\x77\xd6\x1e\x80\xad\x38\x50\x9d\x4f\x77\xa3\x0b\xeb\x40\x55\x1c\xcd\x09\xa0\xed\x50\x16\xd3\x27\x1a\xe7\x38\x79\x57\x34\xb1\xb7\x54\x9e\x3d\xad\x7e\xf3\x21\xdf\xec\xd4\xde\x11\x25\xdd\x95\x50\x03\xc8\xb4\x9b\x73\x80\x5b\x70\x18\xc7\xd2\x08\xae\x5f\xbd\xdc\xb2\x33\xfc\x85\x1d\x99\x05\x81\xf8\x15\x09\x54\x66\x8e\xb1\xfd\xc2\x03\x3e\x94\xa0\xce\x70\x09\x1e\xd2\xac\xd1\xdb\x73\xbd\x2a\x69\x7f\xed\xa2\xd7\xe6\x34\x5e\x1d\x55\x41\xdd\xbd\x3c\xb8\x99\x3c\xe8\xe0\x53\x0f\xf0\xf2\x6f\x3b\x06\x87\x79\xff\x1c\x80\x70\x58\xbb\x12\xf7\x27\x22\xbe\x23\x32\x39\x08\x49\xb1\xb6\x15\xaf\x25\x2f\x1e\x39\xfc\xaa\x02\x0d\xea\x70\xb7\xe8\x30\x4e\xf2\xad\x75\x03\xbd\xdc\x05\xbb\x9e\x5e\xf6\x42\x1f\x00\xe5\x8a\x21\xe3\x3d\xb7\xb5\x61\xe0\xf0\x06\xb1\x74\x35\xdf\xc3\x9a\x28\x45\x3b\xbc\x4e\xf1\x89\xb5\xe5\x7c\x89\xed\xb5\xe9\x8d\x9d\x37\xf7\x25\x49\x6d\xd3\xb1\xec\x43\x47\x79\x61\x2f\x8e\xa5\xc6\xe0\x83\x3e\x58\xb8\xdb\x2d\xda\x00\x9a\xe4\xb6\x6c\x9f\x87\xac\xa9\xa0\xdf\xee\x00\x0d\x2e\x7b\x73\x92\x09\x32\xa3\x5f\xb6\x12\xc5\x6f\xe0\x53\xab\x5e\xea\x65\xae\x94\x08\x04\xf7\x0c\x94\x14\x0c\x02\x1a\xed\x4a\xdb\x32\x62\x63\x56\xe4\xbc\xda\x84\xd7\x47\xb2\x44\x5c\x94\x7e\xda\x16\xde\x73\xff\xe5\x0c\xcd\xbe\x2e\x94\xca\xe4\xe9\xc9\xc9\x9c\xaa\x45\x3e\x3d\x8e\x78\x6a\xe2\xf0\xb9\x98\x9b\x3f\x4e\xa8\x94\x39\x91\x27\xbf\xff\xdd\xef\x8a\x2d\x9e\xe2\xe8\x71\x6e\x00\x93\xea\x7e\xa7\xf2\x96\x13\x2c\x77\x8b\xec\x71\xc9\x89\x2f\x9c\xa4\x1e\x74\xe3\xd2\x82\xf5\x37\x52\xe1\x34\x0b\x43\x41\x4d\x41\x40\xa9\x70\x51\x86\x04\x32\x4e\xf5\x34\xd1\x02\x67\x19\x61\xed\x66\x07\x93\x42\xbc\x03\xeb\x71\x49\xc8\x76\x84\xe4\x4b\x96\x60\x56\x06\xd6\x80\x9a\x5a\x82\x44\x84\x29\x0b\xfa\x50\x14\x52\x07\x6a\x34\xe0\x4e\x86\xff\x6f\x96\x64\x0a\x73\xa4\xb2\x28\x96\xe7\x86\x63\x0b\xd7\xba\x72\xa6\x38\x58\xba\x6a\xb1\xe0\x62\xed\x88\x5b\xb5\x55\xe9\xa7\x77\xf5\xc2\xfa\x9b\x17\x2b\x12\x9c\x4d\xc8\x17\xcd\xe4\xe4\xb6\x50\x6c\x0f\x92\x48\x34\xfc\xe5\x0e\xc9\x25\x53\xf8\xcb\x29\xfa\x4c\x19\x08\xb0\x3f\xf2\x5c\x48\x74\x8e\x97\x47\x7c\x76\x94\x72\xa6\x16\xe8\x33\xfc\xaf\xfd\xe9\x99\x90\x47\xf4\x17\x82\x85\xe5\x0f\xb6\xd8\xa0\xaf\xee\xaf\x49\x48\xe4\x4c\x22\xf2\xa4\x4f\xe8\xef\xfe\x13\xa5\xa6\xe5\x53\xf4\xfd\xc9\xef\xfe\x13\xfd\x06\xfe\xff\xff\x8b\x7e\xd3\xa2\xe9\x6f\x06\xe6\x06\x35\xa9\x6f\xcb\xee\xdc\x41\x65\xa5\x64\x7d\xc9\xd7\x35\x7b\x26\x78\xb1\x53\x8d\x2d\x3f\xd2\xe8\x91\xcf\x66\x13\x4d\x18\xb6\xe6\x36\x16\x35\x20\xf0\x2d\x91\x71\xa9\xad\xbc\x6e\x6a\x14\x16\xd5\x81\x6c\xa7\x06\xcb\xc3\xb1\x6b\x99\x17\x35\x95\x21\x88\xa8\x54\xa7\x9a\x4a\xf8\x8a\xc4\x9a\xab\x6e\x72\x3a\x9c\x75\xcf\xa5\xf5\x3b\x0b\x4e\x88\x7d\xe3\x04\xe2\x52\xe0\x5f\x18\xc5\x6a\x02\x7d\xec\x42\x36\x1e\x87\x5a\x78\xed\x57\x13\x33\x09\x53\x7b\xab\x78\x49\x59\xeb\x7c\x7d\xa8\xe4\x1d\x17\x3b\xe9\x5b\x8f\xa4\x35\x95\x61\x4d\x25\x2c\x57\x9d\x19\x87\x46\x0d\xc5\x91\xe4\xc2\x23\x54\x1b\xbb\x88\xad\x97\xb9\xde\x8a\x49\x85\x09\x2e\xeb\x76\xe8\xf5\xd4\xcf\xfd\x27\xeb\x86\x09\x91\x66\xee\xed\xa2\x12\x20\x8c\x56\x8b\x48\x9a\x25\x36\x8c\xb8\x01\xc6\x72\xdd\x86\xde\x79\xe4\x12\x68\x1c\xc2\x1e\x21\x7f\x83\x39\xc9\xd6\x42\x43\x34\xef\x67\x2e\x22\x72\xc6\x77\x0b\x7b\x4d\x28\xab\xc5\xcb\x77\x2f\x32\xe5\x57\xef\xd2\x96\x13\x73\x48\xcf\x3c\x2e\x94\x05\xe3\x16\xb0\xf5\x45\x02\x88\xd9\xf2\x6c\x00\xaa\x70\x1f\x28\xa6\xb5\xaa\x17\x3b\x70\x6d\x63\x38\x2e\x18\x9e\x2b\x9a\x52\xa9\x95\x22\xb0\xe6\x85\x2b\x62\xd7\x20\xa8\x68\xe7\x71\x04\xf5\x7f\x8a\x48\xa5\x4a\x9d\x7d\x6c\x8a\xe0\x88\x2d\x51\x68\x4d\x29\xae\x01\x12\x18\x82\x32\xd5\x42\xb7\x27\x89\x38\x9a\xe1\x88\xb2\xf9\x20\x00\x20\x05\x30\x90\xf0\x3a\x68\x22\xd2\x7b\x2c\x1f\xf7\x1b\x68\xb8\x73\x69\x52\x1a\x17\xe5\xf1\x2c\x64\x90\x71\x6c\xd0\x1a\xfa\xa2\xc2\xf2\xb1\x0d\x33\xab\x06\xd8\xb7\x62\x74\x7e\x29\x1c\xcc\xdf\xaa\xf1\xb9\x14\x74\x12\xea\x53\x50\x8d\xc3\x15\xcb\xb6\xf0\x9d\x2e\xe3\x0f\x7b\x7c\x9d\x2a\x6e\xed\x8a\xf1\xcb\x05\x17\x6a\xb2\x25\xe2\x6f\x35\x8d\x9e\x91\xa3\x04\xa0\x7a\xf8\x13\x11\x4f\x94\x3c\x97\x81\x73\x37\xa1\x45\x63\x34\x0b\xa2\xea\x00\x59\x35\xcd\x38\xa4\xd0\xcc\x50\x8a\xd9\xd2\x30\x4a\xcd\x5c\xb0\x7c\x94\xbe\x44\x2f\x92\x29\x4e\x92\x01\x12\x24\x97\xa6\x74\xb5\x24\xc9\xec\xc8\x15\x39\x89\x51\xc2\xe7\x34\xc2\x09\x9a\x26\x3c\x7a\x94\x26\xc3\x8d\xcd\x0d\x93\xca\x04\x8f\x88\x94\x81\x64\x55\x64\xb3\xdb\x1c\x43\xa8\xcf\xab\x88\x48\x29\xa3\x52\xd1\xc8\x89\x4c\x05\xdc\x88\xa9\x12\x1f\x61\x30\x09\x43\xc6\x26\x0c\x57\x4b\x7a\xc4\xc0\xae\xe6\xcc\x96\xc3\x82\xeb\xda\xa2\x29\xba\x20\xf1\xb6\x03\xb4\x07\x70\x48\x47\x21\x13\x55\x3e\x90\x6b\x8e\xd4\x99\xfd\x0c\x8e\xf1\x2a\x12\xb8\x2d\x9f\x28\x4f\x90\xfe\xa4\x95\x00\xab\x20\xa6\xdc\x87\xc0\x97\x24\x17\x1f\x19\x7e\x60\x58\x75\x30\xe4\x16\x84\xba\x75\x34\xad\x57\x11\x44\x1e\xa8\xc0\x56\xf5\x9a\x53\x16\x25\x79\xec\x6b\x70\x6a\x11\xe0\x49\x13\x89\x5b\x1e\xbd\xf6\x5a\x50\x18\x20\x2c\xd1\x33\x49\x12\xfd\x5f\x13\x01\x7f\xe4\x4b\x62\x68\x96\x6c\xca\x96\x40\x27\x8e\x4b\xb7\x51\xd4\xc1\xe1\x8e\xde\x60\xb5\x30\x39\xff\x29\x57\xa6\xfc\xa9\xc1\x1d\x75\xf6\x2d\x03\x54\x39\x4d\xf8\x14\x4e\x3a\x40\x92\xba\x3c\xd7\x20\xad\x2e\x8f\x22\x42\x62\x12\xa3\x6f\x83\x83\xeb\xf1\x28\xbe\x6b\x06\xc8\x2c\xad\xc8\x01\xc0\x91\x56\x0d\x6b\xad\xa0\xa4\xe5\x0a\x7e\xc7\xe8\xa6\x02\xcc\x12\x56\xe6\xc7\x55\x00\xb6\x41\x6d\x0b\xdf\x06\xc2\xb4\x32\x89\x97\xdb\xa1\x0d\x21\x4c\x4b\x7d\xee\x01\xc2\xb4\x32\xcf\x96\xd8\x7d\x3e\x7f\xd1\x9c\x63\x3d\xa9\x4b\xde\x3d\x11\xcc\x40\xbf\x99\xbb\xb3\x44\x82\xee\x40\x2e\x9b\x08\xf1\xb0\xe0\x59\x2b\x75\x2e\xdf\x16\x9e\xb5\x32\x98\x43\x86\x67\xad\x0c\xf5\x70\xe1\x59\x1b\x06\xda\x01\x9e\xd5\x38\xf7\x27\x9a\xa8\xbb\x31\x05\x48\x6c\x99\xe6\xb3\x3b\x48\xf5\x5e\x39\xc6\x33\x13\x38\x60\xae\x31\x77\x47\x5b\xb4\x72\x18\xad\xcd\x81\x6c\x0b\x87\xaa\x38\x21\x36\xa5\x3d\xef\x7d\x33\xe0\x0f\x9b\x9a\xdd\x07\xa1\xb5\x1b\xec\x90\x11\xce\x6c\x4e\x79\x5b\x11\xa1\xc3\xc9\x9e\xdd\x0e\xf9\x16\xd0\x25\x4b\x2c\xbf\x13\x82\xd8\xe7\x4a\x3d\x8e\x05\x7f\xb6\x35\xb1\x80\x0c\x0d\x51\xb6\x92\x20\x74\x3a\xb1\x4a\x5b\xdb\xca\x51\xa6\xc8\xbc\xaa\xd3\x16\x87\x86\x32\xf5\x87\xdf\xaf\xe5\x44\x06\x3c\xd3\xa9\x87\x41\x55\x0c\xef\xec\xb0\xcf\x48\x8c\xa2\x85\xd6\x8a\xa4\x56\x5f\xf4\x74\xcc\xcd\x2a\x51\x8a\xa9\x53\xa4\x72\x69\x5c\x4b\x54\x8e\x59\x09\x6d\xf6\x18\x7d\x84\x52\xbf\x38\xcd\xb4\xfe\xe5\xe7\x47\x35\x25\x8d\xf3\xef\xbf\xff\x03\x41\xdf\xa3\x94\x60\x56\xd2\x61\x41\x6d\xd2\x57\x1f\x60\xf7\xa9\x05\x19\xb3\xc6\xad\x40\xa3\x2f\xa6\x7a\x98\x8b\xf7\xbb\x60\x33\xee\x74\x62\x28\x61\x89\xa3\x05\x92\xf9\xd4\xd4\x60\x0e\x6c\x18\x4e\x90\xbe\xe4\x73\x70\x54\xc3\x8d\xec\x06\xbd\xea\x14\xbe\x6c\x0c\x80\x75\x37\x76\xbd\x8d\x87\x70\x8f\x1c\x49\x52\xc2\x76\x6a\x70\x9a\x19\xce\x17\x1e\x7c\x69\x70\x5f\x06\xc6\x87\xa0\xf5\x33\x6c\x2d\xfb\x5a\x96\x86\x70\x5e\xf0\x92\xe5\x09\x16\xf6\xe8\x8f\x99\x56\x34\x04\x79\xa2\x3c\x97\xc9\x12\xc5\x9c\x91\x01\x50\x42\x1e\x2d\x8c\x63\x55\xeb\x2c\xd8\x96\x22\x79\xa2\x32\xd7\x0a\x2d\xb4\xe5\x2a\x9f\x48\x85\x0d\x26\xd5\x82\x42\x3f\x5a\xfd\x26\xf0\x55\x98\x25\x87\xba\x69\x51\x21\x20\x70\x85\xe7\x77\x04\x04\x2e\x51\x55\x0f\x08\xec\x01\x81\xeb\xeb\x72\x88\x80\xc0\x95\x3d\xef\x06\x08\xdc\xb4\xe5\x5b\x00\x02\x97\x9a\xf9\x6a\x00\x81\x2b\x2b\xfa\xd5\x00\x02\x57\xe6\xd5\x03\x02\xf7\x80\xc0\x3d\x20\xf0\x7b\x01\x04\xde\x11\xf2\xb6\xf9\x96\x35\xc8\x59\x8a\xb2\xe5\xc6\xec\xe3\x1b\x89\x2e\xae\x35\x61\x45\x8f\xe5\x70\x45\x2f\x88\xec\x0e\xb3\xdb\x7c\xbd\x6c\x06\xb3\xdb\x68\x84\x69\xbf\xc4\x76\x85\xee\x02\x95\xef\x95\x61\x76\x4b\x13\xe8\x23\x67\x37\x8f\x9c\x6d\x24\x3e\xdb\xb7\x1e\x9e\x0b\xa7\xad\x8a\x5a\x1d\x81\x76\x4b\xfb\xd3\x29\xc6\x16\x94\xb2\x3d\x50\xe2\xcb\xea\x69\xf7\xa5\x43\xbe\x56\x4b\x0b\x57\x51\x5a\xc8\x6f\x2d\xbb\x3b\x1c\x40\x63\x5e\x09\x23\x3b\x7a\xca\xdd\x22\xe6\xbb\xb2\xbc\xde\x63\x66\x68\xb1\x03\xa9\x76\xa6\x50\x67\x6f\xd8\x4f\x0a\xb4\x4b\x8b\xdd\x30\x78\xc0\x0d\xe2\x2e\x23\x51\x8b\xf7\x80\xa6\x74\x5f\xcd\xae\xbb\xc8\x3c\xca\x19\x98\x5a\x6a\x19\xbf\xfa\x7a\x32\xc3\x31\xda\x5b\x25\xd1\x19\x20\x58\xcc\x97\x73\x2a\x95\x68\x8d\x5a\xab\x8d\x70\x17\x27\x78\x96\x77\x0e\x75\x0a\x56\x75\xbe\xdd\x67\x29\x49\xb9\x58\x17\x32\xd7\xf8\xa5\x2d\x4f\xb5\xcd\xa7\x24\x5b\x90\x54\x4b\x32\x93\x4d\x1b\xe9\xba\xdf\x3e\x1d\xdc\x66\x25\x9a\x10\xd6\x12\x11\x04\x2e\x6e\xfd\x6e\x6c\xb0\x46\x3b\x6f\xf7\xae\xdb\x6c\xd1\x50\x37\x74\xf5\x39\x98\xec\xd5\xa6\x54\xfb\x52\x29\x90\x01\xe8\xbb\x31\x5a\xc7\x07\x4b\xad\x8f\xc7\x59\x11\x89\xb3\x0a\x51\xac\xf8\xca\x16\x6f\xdf\x20\x48\xa3\x1c\x77\xa1\x39\x61\x58\xb9\x7b\xf3\xd0\x9d\x16\x3c\xdc\xfa\xf2\x40\xcc\x95\x24\xe2\x28\xd4\x0c\x4a\x83\xa9\xaf\x57\x89\x4a\x9c\xad\x60\x07\x22\xc9\x45\x6b\xfc\x70\x17\x57\x45\xa4\x72\x9c\x80\x26\x11\x56\x9c\xad\x6e\xea\x74\xd9\x90\xd0\xda\xcd\x17\x46\x99\xfa\xe3\x7f\x6c\xb4\x9b\x5a\xb5\xb2\xeb\x06\x55\xf2\x70\x14\x11\x69\xbc\x27\x36\xbe\x1c\x4f\xf9\x13\x14\xc8\xdb\x65\x57\xf5\x51\xd6\xf3\xd6\x0c\xde\x83\x4c\xc7\x05\xa9\x1b\x71\x61\x21\x78\x3e\x5f\x38\xeb\xa0\x3e\x33\x7a\x6a\x4d\x7b\xf9\x73\xcd\xfb\xb1\xf1\x5e\xfe\x90\xd3\x64\x3b\xdb\xeb\x5d\xa9\x74\xe0\xa7\x8b\x7b\x24\x17\xfe\xb4\x4e\xa1\xd9\xc6\x8d\xad\x0f\xba\x7b\x9f\xf6\x5b\xef\x89\x83\x6e\x06\x0e\x58\x75\xc6\x93\x04\x7c\x48\x92\xa4\x4f\x44\x34\x77\x0f\x13\xbe\xa7\x9b\x61\x22\xfa\x01\xc0\xd7\x45\xca\x4b\x27\xf9\xeb\xc6\x88\x86\x12\xb9\xd1\x57\xc3\x51\x4c\x10\x22\x67\x84\x35\x59\x4f\x7f\xa9\xd7\xf6\x79\x67\xa1\xa0\x2e\x2e\x70\x6f\xe1\xa0\x6e\x49\x5e\x39\x24\x74\xcd\x3c\x0e\x35\x2c\xb4\xc2\xec\x7c\x94\x66\x71\xcd\xb8\x90\x30\xa3\xf8\x0c\xf5\x12\x8f\xd9\xb0\x94\x29\xe3\xaa\xdb\x4f\x97\x45\xa8\xbd\xd1\x21\x42\x66\x06\x15\x54\xac\x61\x05\x1c\xa4\xfa\x2f\xd0\x74\x0c\x2c\xb1\x09\x16\x75\x01\xa1\x90\x27\x40\xe2\x23\x1c\x2d\xa3\x84\x46\x81\xce\x3c\x17\x38\x5b\x34\x71\x3c\xb7\xf3\x3d\x9e\xd2\x5b\xe1\x29\xb5\x95\x1a\xdb\x24\x22\xdf\xd1\x15\xc3\x29\xe9\x71\x9e\x9a\x70\x9e\x06\x1e\xc9\x84\x15\x45\xd3\xde\x10\x20\xa3\x7e\xee\x7a\xb0\xa7\x37\x00\x7b\xda\xe6\xf0\x15\x48\x4e\xa5\x63\xd7\x03\x50\x7d\xe8\x04\x40\xe5\x2f\xc1\x83\xc2\x14\x6a\x3f\x8f\x6f\x8c\x55\x53\x1f\xd8\x5b\x02\x4e\x35\x88\x0b\x9b\xc8\x4d\xab\x10\xa7\x56\xd1\x45\xa7\x75\x79\x5b\xfc\xa7\xcd\x56\x66\x23\x68\xa7\xc6\xbb\xeb\x40\x80\x9e\xda\xb7\xe1\x40\xce\xcd\x3e\xf3\x95\x36\xab\x0a\x1b\xe6\x2c\x6d\xa2\x60\x6d\x96\xbe\xe4\xe9\xe1\x7d\xa5\x30\x15\xe5\xf3\xb6\x4b\x63\x1a\x3a\x1f\x34\x11\x68\xc1\x93\xd8\xc1\x8b\xf8\xd5\xf2\x1d\xf8\x1c\x0f\xbf\x40\x6e\x33\xee\x32\x12\x19\x6d\xab\x28\xf5\xb6\x2a\x59\xc9\x6f\x22\x0c\x77\x0f\x8c\x66\x1f\x56\x04\xcf\x49\xb6\xb1\x1f\xac\x95\x45\x64\xd9\xfc\xbd\x62\x8c\xa5\x15\x02\xab\x79\xf3\x30\xd7\xda\x7d\xd7\x0c\x6e\x95\xe8\x11\x18\x07\x45\x53\x11\x57\x43\x67\xf0\xf4\x89\x3a\x43\x04\x0e\x7b\x5c\xe9\xa5\x73\xb3\xeb\xe4\xa9\xab\x12\xcb\x16\x61\x7e\xb5\x9a\x7c\xbb\xc3\x3e\xa5\xf8\xcb\x24\xc3\x02\x27\x09\x49\xa8\x4c\x5f\x2c\xcc\xfb\xac\xec\xae\xd5\x67\x55\x70\x63\x22\x62\x79\x3a\x35\xa4\xe8\x06\x62\xcb\x38\x2a\x8e\x44\xce\x42\xd0\x3a\xbf\x31\xbe\x4c\x64\x0e\xf7\x02\x58\x95\xa2\x05\xd4\xe3\x9d\x61\x2a\x18\x91\xad\xd5\x4f\x49\x94\x0b\xaa\x96\x13\x5b\x4c\xb6\xfb\x81\xbb\xb3\x5f\x9e\xd9\x0f\x57\x7b\xb8\x1d\x5e\x83\xeb\xcf\x17\xaf\xcd\x88\x80\x02\x50\xae\x94\x51\x50\x30\xd7\xe2\x71\x10\x5f\x45\x0a\x02\xdb\x6b\xd7\x76\x5b\x48\x38\x7e\x9e\x04\xf1\x55\x93\xa8\x4a\x1c\xeb\x0e\x6b\x13\xa2\xd8\xaa\x49\xbe\x30\xa6\x56\x8b\x17\xf9\x05\xea\xc7\xd8\x84\x18\xd3\xb4\x1e\x70\xe0\x0a\x06\x7b\x65\xb1\x31\x01\x98\x81\x55\xaa\x5a\xc6\x69\x51\x9c\x9a\x82\x8f\x56\x0c\x76\x18\x7c\xd5\x61\xc4\x41\x27\x7b\x1a\xb6\x3e\xe8\x42\xe4\x99\xa2\xd3\x3a\x68\x91\xda\x5f\x71\xd8\x61\x02\x09\xf4\xce\xcd\x50\xea\xd6\x54\x8c\x2d\x71\x62\x3b\x3b\x2d\xff\x5b\x84\x38\x87\xfd\x64\xb0\xb3\xc2\x0c\xcd\xeb\x94\x2a\xe5\x52\x40\x8c\x01\x5a\x53\x67\xd9\x36\xfb\x8d\x0b\xf7\xc0\x50\xc3\xd7\x98\x88\x8e\xc7\x6c\x28\xd1\x33\x41\x8c\x58\x70\x90\x86\xea\xbc\xde\xaa\x0d\x55\xbd\xa6\x44\xf7\xe4\x63\x53\xb4\xf0\x40\x95\xf4\x85\xe5\x4c\x1f\x33\x9c\x48\x32\xd0\x0d\x43\x3d\x5a\xc5\x21\xe8\x13\xa3\x67\x81\xb3\x8c\x88\x31\xb3\xf9\x39\xe0\x70\xe1\x3c\x31\xed\xb7\x85\x50\xda\x35\x20\x93\x08\x47\x8b\x57\xda\x23\x0c\x69\x56\xd1\x82\xc4\x2e\x13\xbc\xbc\x3d\x6e\xde\xc6\x60\xbd\xc1\x66\x5d\xcc\x5c\x61\xb4\x81\xed\x24\x89\x34\x47\xf1\x05\xc4\x33\x22\xf4\xa8\x35\x0d\x3f\x11\x86\xe8\xcc\x8d\xc3\xc6\xee\xa0\x67\xf0\x4c\x69\xd2\x7f\xc2\x34\x31\xd0\x0a\xae\x6b\x27\x04\x1a\xf3\xfb\x98\x19\x77\x37\x8b\x4a\xb9\xc7\x94\x51\xb9\xd0\x9c\x3a\x07\x9f\x24\xa8\x19\x6d\x29\x51\xec\x69\x93\xd3\x3c\xd2\xaf\xaf\xe6\xa0\x4f\x54\x70\x96\x42\xfa\x93\x45\xdc\x72\xcb\x27\x89\xf2\xc7\xa3\x31\x79\x75\xad\x44\x1c\xc7\xb2\x6c\xfc\x34\x6a\x25\xfd\x47\xc9\xec\x72\x54\xca\xf7\x8c\x02\xc0\x28\x08\xe2\x74\x35\xe3\x56\xc9\xbf\x7d\xd2\x4a\x3d\x69\xa5\x79\x6d\x0e\x31\x71\xc5\x1f\xe2\x4d\x93\x57\xda\xb6\x7f\x1f\x92\xed\x1e\x93\x58\xde\x38\xdb\xe3\x65\x12\x3d\xde\x36\x33\xe7\x25\x92\x72\xfa\xd4\x95\x3d\xcf\xb7\x4f\x5d\xe9\x53\x57\xb6\x4e\xf9\x68\x67\xc8\x1b\xa5\x7d\xac\x01\x60\x6b\xea\xe5\x33\x51\x82\x46\x72\x1f\x9c\x5f\x66\xb8\x63\xbc\x22\xe8\xf7\xd9\x1a\x79\x58\xbf\xe0\xdd\xcb\x10\x01\xe8\x6b\x73\x4e\x05\xc1\x8f\x31\x7f\xae\x59\x61\x65\x88\x80\xf3\x99\x6b\x81\x56\x90\x88\x4a\x52\x8a\x51\xa2\x12\x31\x22\xad\x19\x1b\x8f\xd9\x82\x12\x81\x45\xb4\x80\x8c\xe4\x62\x63\x4c\x66\xbb\x01\x21\x33\x51\x2a\xa1\x1f\x71\x83\x4d\xef\xb0\xee\x55\xdb\xa1\xc7\x94\xb4\x7b\xae\x47\x92\x9a\x4f\xbc\x98\x6a\xe5\xc7\xd0\xd8\xda\x69\xfb\x77\x4d\xb1\xf0\x8b\xfd\xa2\x69\x16\x3e\x4c\x2c\xf8\xa2\x63\xaa\x45\x41\x0d\x7d\xba\xc5\x0b\xa5\x5b\x34\x2c\xf1\x66\x29\x17\x5b\x19\x73\x5f\x3f\x1a\xdc\xf5\xfc\x1a\x11\xe1\xeb\xc2\xf1\xf2\xe9\xe4\xc5\x8f\x5e\xe3\x9c\xbb\x9e\xc0\x5f\x3c\x51\x18\x5d\x47\x68\x3a\x9b\x92\x38\x06\x4e\xab\xb8\xad\xee\x5e\xd0\x8e\x33\xfc\xe8\xbb\x17\x4b\x4d\xec\x38\xe1\x6c\x2e\x69\x6c\x00\x92\x32\x0c\x55\x96\x43\xb3\x14\x00\x82\xc0\xfe\x26\x09\x11\xce\xdf\x24\xd0\xb7\x92\x32\x8b\x80\xea\x7f\x8b\x39\x91\xec\x1b\x65\xcc\x40\x98\x2d\xd1\x23\xe3\xcf\x09\x89\xe7\xb0\x43\xd5\xc1\x1c\x21\x4a\x06\x88\x2a\xff\x99\x00\x04\x11\x9e\xab\xb1\x1e\x3b\x44\x11\x1a\xdd\x8e\xd8\x6f\x85\xad\xb8\x12\x70\x60\xf9\xdd\x31\x42\x17\x0c\xcd\x70\xa4\x06\x48\xe6\xd3\xa2\xfd\x98\x9b\xc2\xf4\x4f\x84\x85\x13\x2f\x1a\xe9\xb3\x01\x1a\x3a\x6f\x3e\x1b\x8e\x3b\x68\x72\x1d\x26\x14\xef\x14\x35\xf9\x84\x77\x81\x05\xfe\x9c\x4b\x1b\x5e\x83\x38\xf3\x47\xdf\x42\xa2\x79\x5c\x77\xc0\xe8\x35\x18\xe9\x8c\xc7\xad\x56\xec\xca\x54\x36\x1d\x4b\x11\xe2\x6a\x05\x25\xeb\x82\x84\x76\xcd\x72\x6b\xa9\x49\x2a\x41\x70\x6a\xdd\x3e\xfa\xaa\x01\xb1\xc6\x04\xb8\xea\xd1\x53\x61\x24\xcc\x4d\xb6\xf8\x92\xb2\x47\xbd\xbb\x05\x92\x3d\x07\x8c\x6f\xdd\x73\xd3\xa6\x65\xfa\xc6\x23\x67\x9c\x19\xd7\xef\x4e\x72\x27\x9d\x33\x9c\x6c\x68\xbd\xaa\xad\x5c\xdd\x5b\xeb\xe4\x2c\x2b\x2e\x68\x29\xc2\x98\x71\x91\xe9\x71\x23\xeb\x60\x65\xbe\xa1\xbc\x87\x51\x4c\x32\xc2\x62\xc2\xa2\x25\x90\x08\x03\xb4\x2b\xc1\x70\x82\x30\x7c\x87\x93\x63\x74\x6e\x32\xa7\xbc\x84\x67\xaf\x75\xb8\xd0\x53\xcc\xe8\x4c\xeb\x09\x60\x5e\xb7\xa3\x1c\x33\x33\x4c\xe7\xdd\x22\x85\xdd\xdc\xaf\x58\xd3\xce\xe8\x1b\xe4\x6a\x47\x24\x71\x56\xfe\x1e\xad\xbe\x70\xa0\xb7\x55\xbb\xa3\x9b\x73\x75\x43\x64\x3e\x3d\x82\x7f\x97\x52\x09\x1d\xb8\x56\x81\xfc\x44\x12\x02\x86\x5e\xeb\xcb\x84\x8b\xb1\x0d\x0c\x72\x1f\x1e\xd9\x35\x19\x3a\x41\x1f\x25\xa5\x26\xa5\x8c\xa6\x79\x1a\xb8\x65\x4d\x95\x91\xc8\x5a\xa6\x4d\x8e\x4d\xa6\xf5\x80\xc8\x15\x1c\x40\xfa\x72\x65\x4b\x34\xa7\x4f\x84\x8d\x59\xc6\x29\x53\xc7\xe8\x8a\x2b\x12\x94\x75\x31\x70\x6f\x3c\x53\x34\x35\x08\xc5\x82\xe8\x73\x60\x80\xec\x01\x1c\x76\x81\xd5\x00\xc5\x39\x1c\x55\x46\x94\x66\x1d\xfa\xc6\x55\xb0\x33\x10\xf9\x2e\xc6\xcc\xdc\x74\x33\x4c\x93\x5c\x10\x2b\xb3\x62\x93\xf1\x54\x0c\xb9\x18\x99\x45\x2f\x0c\x26\x91\xd2\xf9\x42\xe9\x2d\xd2\x32\x9e\xf5\x24\x2f\x34\x37\xe2\x63\x36\x25\x08\xa3\x8c\x4b\xaa\xe8\x93\xf7\x4c\xd3\x19\xc2\x52\x82\x6d\xec\x18\x9d\x97\x3c\x3b\x54\x82\xea\xdd\x16\x31\x4d\xd9\xc4\x7a\x15\xda\x33\xad\x76\xde\xc8\x52\x2f\x76\x95\xf1\x54\xf2\x24\x57\xa1\x73\xbd\x79\x6f\x0b\xa7\x87\x2b\xb6\x01\xa6\x7f\x3e\x1b\x33\x47\xd7\xf2\x18\x0d\x25\x92\x5c\xef\x92\x34\x5b\x19\x09\xaa\x88\xa0\x06\x79\x8d\x28\xb3\x09\xfe\x9c\xfa\x33\x90\x62\xf1\xa8\x45\xa8\xd0\xb7\x62\x70\x80\x4b\xb6\xa9\xa9\x91\x90\x00\x8a\x2e\xdc\x0e\x70\xea\x20\xc6\xd9\x11\x23\x73\xbc\x6e\x47\xc6\xac\xb4\x25\xe8\x5b\x3a\x2b\x14\xd2\x36\x6f\x72\xb0\x76\x13\x88\x69\x6b\xdb\x25\xd3\x71\xdb\x26\xcd\x12\x8e\xd7\x04\x04\xcc\x8a\x43\x8f\xfe\xc6\xa7\x66\x8c\x5a\xef\xe7\x0a\xa4\x40\xad\x5e\xcd\xb8\x20\x0b\xcc\xe2\x81\xdb\xac\xf2\xd8\xe0\x66\xb4\x36\x36\xa7\x8c\x81\x24\xe8\x80\xbf\x89\xc1\x4f\xc3\x2c\xd8\x0b\xab\xb8\xd9\xad\x28\xf6\x61\xa3\xbb\xc2\xb7\x06\xf5\x8a\x8c\x01\xc2\xb0\xbc\x65\x66\x8f\xb8\xa4\x69\x96\x14\xd9\x6a\x81\xd5\x7b\xa6\x45\x2c\xc7\x23\xf9\x13\x98\xae\x9c\xd6\x06\xb7\xba\xdd\x39\x4d\x67\x0d\x23\xf7\x8c\x14\x6e\x0d\x67\xf3\x32\xa5\x6b\x03\x16\xf6\xad\x24\xfa\x9f\x8a\x14\x6a\x9f\x11\xd6\xc7\xcc\x89\x20\xdf\x01\x97\xb1\xcd\x06\xc6\x33\x2d\x42\x1b\x68\x66\xbb\x7e\x28\x32\xe1\x0b\xa5\x73\x62\x0f\x83\x7b\xb5\xe1\xa2\xfa\x81\x32\x5c\xca\xa9\xde\x42\xf0\x4b\xf2\x8d\xd2\xe6\x02\x87\xee\xb2\xad\x0e\x91\xc2\xeb\x4a\x03\x6d\x40\x09\x66\x9f\x09\xd2\xdd\x59\x6a\x76\x55\xaa\x30\xc4\x7a\x2c\x48\x92\xa1\x98\xce\xc0\x2c\xa5\x80\x7d\x7b\x30\x40\x53\xbf\x41\x1f\xf6\x34\x67\x06\xd8\xd1\xf8\xba\x9e\x2d\x46\xbe\xbd\x1a\x8b\xc6\x8f\xc7\xec\x42\x7d\x23\xb5\x88\xce\xd9\x5c\x5f\x34\xf1\x13\x95\x45\x61\xa2\x88\x33\x99\xa7\x44\xd8\x2e\xf4\x8d\xac\x29\xd2\x16\xf5\xc0\x4e\x86\xd2\x63\xd3\x7b\xff\x84\x13\x1a\xbb\xe2\x59\xfa\x47\x73\xe6\xf4\x28\xa5\xf3\x15\x37\x04\xfb\xd9\xcd\x8d\xf5\x5a\xbd\x99\x58\xff\x73\x28\xb9\xa3\xb4\x10\xf2\xb1\xf5\xc2\x9c\x54\x45\x7c\xbb\xea\x2b\xc4\xfb\x69\x6d\x52\x68\xb5\x60\x64\x57\x61\xad\x41\xdb\xa1\x60\xe7\x26\xb8\x5b\xf7\xe3\x8c\x3e\x66\x70\x1b\xb1\x9f\xca\x04\xed\xa8\x0d\x67\x09\xc5\x7b\x42\x41\x36\x90\x0a\x6b\xf1\xc2\x5c\x07\x5c\x58\x0d\xc7\xde\x39\xed\x5b\x7b\xbe\x63\x69\x17\x19\xe1\xa4\xbe\xc3\x2b\xec\xcd\xe6\xfd\xd5\x4a\x80\x3d\x6e\xa6\xed\x95\xe9\xdc\x11\x4f\x92\x4d\xca\x0e\x55\x66\x7e\x56\x7c\xbe\x7a\x44\x45\x3f\x7a\x03\xdc\x5e\xc0\xa9\x31\x97\x37\x4e\xac\x29\x45\x2a\xbb\x4b\xe1\x4b\x46\x0d\x5b\x5a\xd6\x3a\x66\x7c\x06\x85\xa9\x92\xb6\x78\xbd\x4c\xf0\x94\x6e\x82\x8c\x6e\x7c\x29\xb7\xce\x2e\xbe\xc6\xca\xe0\xac\xe7\x20\x9a\x1a\xf2\xb2\x3d\x42\x26\x26\xb6\xe2\xe6\x8a\x33\x94\xe2\x6c\xab\x05\x5f\xe7\xc3\x1b\xa2\xd4\x38\x5b\xed\xea\x01\x46\x2a\x81\x1a\x4f\xb0\xc8\xcf\x78\x59\x24\xbd\xb7\x61\x5e\xb3\x8d\xc8\xe1\x41\xbf\x7e\xc1\x66\x7c\x83\xc3\x59\x24\xa9\xdb\xd3\x87\x1d\xcd\x06\xe7\xcf\x7b\x29\xcc\xee\x9b\x35\xed\x72\x1e\xcf\x9a\x88\x7a\xe3\x93\xe9\x56\xf0\x25\x6d\x94\x21\x13\x09\xcd\x93\x9b\xdc\xad\xe5\xa3\x15\xb4\x88\x60\x38\xab\x97\xea\x73\x89\x0e\xf7\xbe\x46\x95\x76\x90\x31\x85\xbb\x30\xf9\x9b\xe6\x56\x5f\x61\xcd\xec\x21\xe9\xb4\x58\x3b\xa2\x72\x6c\x86\xdd\xed\x7a\xf4\x48\xdd\xcd\x27\x74\x6d\x61\x92\xee\x8b\x01\xdc\x4c\x5a\x3b\x57\x11\x73\x6b\x93\x0f\x67\x34\xd1\x22\xf6\x45\x83\x81\xd3\xa5\xfe\xf9\x50\x39\x93\x04\xe1\xa4\xa7\x5c\xd0\xa0\x98\xaf\x93\x91\x10\x85\xa2\x42\xa1\x93\x27\x50\xe8\xc1\xb4\xb8\xe0\xcf\x26\xef\x40\x50\xcd\xb3\x8c\xb0\xaa\xc0\xdc\xa3\x79\x01\xb5\xd6\x12\x63\x6c\xf2\x1f\x70\x13\x0d\x8a\x6d\xbd\xf2\x62\x54\x2d\x5b\xba\x8f\xb2\x6c\xdd\x33\x2b\x5d\xaf\xf7\xfa\x8b\xfa\xde\x34\x8e\xf0\xbe\xdc\xfa\xc6\xa3\xf3\x52\xfe\xe6\xa1\x70\x1f\xe1\x53\xa7\xf4\x60\x34\x13\x04\x1c\xfc\xa9\x47\x4b\x31\x40\xd8\x9c\xc3\x7d\x77\x77\xfe\xd3\xc9\xc3\x05\x22\x2a\x42\x09\x7d\x24\x63\x16\xc9\xa7\x81\x16\x8f\xff\x9e\x13\xa5\x7f\x6e\xf1\x08\xd0\x94\x30\x09\x9c\x80\xaa\x1a\xaa\x54\xf3\x42\xba\x85\xd1\xff\x3d\x2f\x7f\xbf\x82\xe4\x6b\x89\xe1\x40\xbb\xae\x46\x15\x90\x29\x94\xe1\x31\x4b\x2b\x1b\x28\xc6\xd8\x22\x47\x4d\x15\x6c\xb7\x48\x04\x63\x7f\xcb\xd9\x86\x42\xd7\x59\xf1\x51\x30\x8a\x16\x99\x2e\xcd\x30\xe0\xd3\x6f\x96\x61\x66\xbe\x69\x6c\x7d\x1d\x13\x29\x12\xee\x9d\x6d\xb9\x28\xf6\x8b\x94\x20\x04\x58\x88\xa7\x27\x7b\xd7\x5b\x8c\x15\x3f\xb1\xe0\xa3\xe3\x31\xfb\xec\x3c\xce\xc5\xaf\xb2\xd0\xc3\xd3\x69\x00\xdb\x5f\x6e\x05\x9a\x8d\xa9\xf4\x3f\x40\x11\x26\x99\x27\xca\x54\xa1\x9c\x51\x86\x13\x3f\x50\xf3\xa4\x89\x4b\x08\xcc\xa2\xc5\xae\x26\x64\x3a\x9b\x90\x64\x13\x49\xf4\x62\x36\x4a\xa4\xa6\xef\xe8\xb1\xe5\x74\x6e\x53\x67\xb5\x98\x8c\xad\x1e\x6d\x6a\xb5\xa1\xc2\x04\x8d\x13\x53\x05\x92\x20\xf0\x51\x56\xf3\x02\x0d\xf4\x87\xde\x45\x2b\xa9\x1b\x17\xa5\x49\xc8\xf1\xc1\xf6\xd0\x0b\xc2\x6a\xcc\x44\xce\xa0\x40\x8c\x8f\x58\xc0\xa8\xc0\xf8\x8f\x9c\xff\xc0\x7a\x73\xe6\x9a\x4d\x18\x08\x7d\xf3\xb2\xd6\xcf\x78\x2e\xc1\x56\x93\x12\xa5\x2f\xa8\x6f\xa1\x76\xb3\x09\x19\x1a\xa0\x4c\xd0\x14\xcc\xad\xf2\xbb\x86\xad\x3b\xc3\x0a\x27\x7c\x3e\x14\x8a\xce\x70\xa4\xee\xf1\x4e\x1a\x38\xb6\xcd\x6c\x1b\x58\xec\x86\x81\x2e\xce\xf5\xe2\xcf\x09\x23\x02\x26\xaa\x75\xf2\xe6\x23\x0c\x4f\xb6\xe2\xdc\x60\x65\xb3\x86\x51\xe9\x2d\x16\x38\x57\x3c\xd5\xfa\x2d\x4e\x92\xe5\xc0\x58\x64\x09\x5a\x60\xb9\x70\x1b\x6d\x8c\x69\x5d\xee\x26\xbb\xb8\x67\x38\x5a\x90\x3b\xa8\x64\xde\xb4\xb8\x95\x51\x7e\x20\x2c\x4f\x3f\x9c\xa2\xff\x5b\xcc\xf1\x6c\x78\xf6\xe3\x68\x72\x7e\x71\x37\xfc\xe1\x72\x74\x1e\xcc\xc7\x3e\xf9\x7c\x71\x77\x57\xff\xf5\xc7\x8b\xfb\xfa\x8f\x37\xd7\x37\x0f\x97\xc3\xfb\xa6\x56\x2e\xaf\xaf\x7f\x7a\xb8\x99\x7c\x1c\x5e\x5c\x3e\xdc\x8e\x1a\x3e\x7d\xb8\x6f\x7f\x78\xf7\xd3\xc5\xcd\xcd\xe8\xdc\xad\xca\xff\x04\xa7\x0b\xac\xc7\x7a\xa2\x2d\xd3\xa8\x1e\xc0\x23\x54\x7e\xf1\x14\x3d\x54\xcb\x95\xd8\x28\x73\x83\x50\xf2\x8c\xa5\xe6\x61\x90\xe4\x30\x66\xc8\x7d\xae\x17\xa5\xed\x53\x13\xae\x13\x2d\x08\x4a\x38\x7f\xcc\x33\xcb\xda\x4c\x7c\x18\xe3\xc6\xf0\x43\x64\xd0\xda\x8f\x17\xf7\xa7\xf5\xb2\x29\xbe\xb1\x00\x0b\xcd\x9d\x01\x18\x17\x76\xec\x14\x6c\x29\xae\x9c\x46\x61\xbd\x0d\x7a\xf0\x3b\xb3\xaa\x1f\xd3\x1a\x66\xaa\xd2\x4d\x1c\xdb\x42\xdd\x6e\x62\x41\xc3\xe5\x7d\x5d\xb5\x9a\x7e\x39\x4c\xbd\x38\x34\x25\x11\xce\x4d\x50\x93\xbe\xa7\x84\xe0\x22\x1c\x70\x41\x0f\xfb\x6b\xd4\xd2\x51\x63\x83\x95\x3d\xd3\x13\x97\x8f\x34\xcb\x48\xfc\xa1\x2e\xbf\x94\x2b\x3a\x4b\x38\x7d\xba\xcf\xe0\x4c\x6a\xbd\x1e\x74\x7e\x57\xec\x68\xb1\xf4\x9e\x34\x08\xdc\x28\x42\x59\x00\xa2\x5b\xdf\x09\xbe\x18\x0d\x05\xd7\x18\x56\xe8\x99\x40\xb2\x7c\x6e\xab\xbd\x19\xdd\x5b\x9f\x6d\xe8\xce\xd8\xb4\x5d\xed\xc6\x52\x12\x7d\x2b\x33\xde\x87\xc0\xad\xbf\x97\xa4\x89\x11\xef\x90\xf1\x7c\x6e\x1a\x05\xee\xec\x62\xde\x60\xc4\x2d\xc1\x0d\xee\x36\x68\xb0\x90\xaf\x90\xaf\xea\x37\xd2\x9a\xcb\x42\xb3\xed\x2e\xe3\x71\x28\x2f\x25\xe8\xf2\xee\x03\x2b\xc1\x5b\xaf\x5d\xab\x7b\x1e\xe3\xa5\x26\x0e\x88\x35\x96\x79\x96\x71\xa1\x50\x4b\x1b\xc6\x8d\x6f\xc6\x07\x77\x8e\x9d\x87\xe7\x71\xd0\x88\x96\x30\x64\x43\xfd\x9b\x6e\xc0\x17\x76\x5d\x0b\xc6\x11\x06\xc8\x82\x22\xe8\x6b\x95\xa5\x25\x95\xba\x44\xa1\x4d\xc2\xef\x2e\xb9\x23\x99\xbe\xe0\xbb\x96\xce\x6c\xea\xfd\xda\xb5\xd0\xb8\xe5\x09\x99\xa9\x49\xa3\xd7\x67\x85\x81\x53\xb7\xc8\xda\xb0\x82\xe8\x7c\xb1\x87\x16\xbb\x6b\x09\xbf\xb7\x81\x3d\x5a\x35\x08\x2c\x04\x82\x73\x65\xe4\xd3\x42\x87\x41\x6e\x35\xc1\xbc\x60\x3b\xb5\x59\x7e\x5e\x08\xd4\x32\xbf\xf1\x87\xfa\x84\xb8\xe3\x31\x1b\x41\x00\x45\xa1\x88\xb8\xe4\x3f\xd0\x02\xd6\xca\xff\xa5\x42\xc1\xaf\x1a\xad\xd9\x8e\xdd\x5b\xd0\xbd\x71\xbb\x93\x64\x89\x8a\x62\xd0\xa5\xef\xba\x9c\x1e\x63\xf5\x76\x22\xa0\x99\xb0\x39\x3a\x52\x91\xcc\x5a\xe6\xcd\x3c\x8b\x48\x1f\x88\x0f\xd3\x5d\x1d\xa3\x5f\x9c\xe5\x07\x02\x5f\x8b\x3a\xea\x36\x76\x23\xc1\x4b\x07\xf7\xd9\xb4\xb0\xfb\x40\xd0\xdc\x77\x28\xec\xea\x05\xf6\x50\x5d\x0d\xab\x5c\x52\xc0\x19\x33\x16\xd9\x0d\x92\x74\xce\xfc\x47\x77\x64\x75\x54\xc0\x47\x28\x9d\x6b\x23\xab\x40\xe8\x60\xc9\xf2\xff\x31\x9b\x65\x72\x8c\x5d\x31\x3c\x5b\xca\xd4\x7a\x50\xf5\xf9\x01\x0f\xa0\x49\x41\x46\x33\x9a\x24\x20\x07\x1c\xa3\x21\x94\xf4\x86\x14\x5d\x7d\x15\xba\x00\x0b\x3a\x67\x7c\x5d\xf6\x60\x0b\x31\x45\x01\x31\xdd\xb5\x13\x93\x04\x6a\x2a\x10\x1a\xf6\x43\x51\x7b\x40\xeb\xd1\xbc\x05\xd7\xb1\xce\xbb\x63\xf4\x6c\xa0\xbc\xbf\x45\x74\x74\x6d\xb8\xc1\x87\xff\x6a\x1e\xfa\xa7\x1c\x0b\xcc\x14\xc4\xfc\x5a\xd1\x5d\x90\x20\xf5\x88\x7c\x81\xf8\x0c\x66\x0c\xc1\xf0\x53\xb8\xb9\xce\xe5\x0f\xe1\x5e\x88\xc6\x03\x44\x8f\xc9\x31\x54\x54\x14\x5a\x96\x98\x16\x6f\x2e\xb4\xe4\x30\x66\xb5\x58\xc6\x63\x34\x4c\x24\xb7\x5f\x10\x16\x25\x50\x42\x3f\x08\x4f\xf6\x94\x6f\xdd\x4a\xd3\x25\x28\x28\xb0\x95\x45\xf3\xdc\x3e\x08\x3e\x84\xc2\x80\xe0\x13\x4f\xe0\xa4\x17\xbf\xff\x96\x67\xc6\x5b\xd1\x16\x27\xf1\x82\x85\x3a\x6a\xd7\xd0\x8b\x6d\x92\x29\xef\xb9\x6a\x83\xe0\x0d\xd8\x98\x22\xc6\x34\xc0\xd6\x41\xdf\x62\x85\x12\x82\xa5\x42\xbf\xfb\x6e\xa3\xd8\x10\x37\xc1\x82\xbb\xda\xe3\x5b\x24\x8a\xb9\x54\x83\x50\xb8\xf3\x1d\x43\xbd\x47\x2c\x14\xc2\x88\x91\xe7\x30\xb2\x94\x43\x30\xb0\x2b\xe2\x48\x82\xac\x65\x13\x4f\x66\x30\x17\x20\x5b\xc3\xa8\x4c\x2d\x7c\xc4\x01\x59\x5b\xf7\xa9\x1d\x56\x03\x65\x59\xe5\xc9\x86\x78\x02\xd8\x5a\x11\xf4\xbf\xc0\x6a\xcc\x2c\x67\x75\x61\x23\x41\x9a\xd7\x30\x49\xca\x81\xf6\x18\x72\x49\x98\x9e\xb0\x1e\x7d\x7c\xec\x17\xe8\x0a\xd4\x2f\x1f\xed\x5c\xb2\xd3\x15\x87\xc5\xc4\xe3\x79\x24\xab\xb0\xed\x46\x69\xa7\xc9\xbe\xfc\x8a\x42\x70\x43\xf7\x97\x7c\x4e\x23\x9c\x74\x10\x86\x49\xd3\x90\xd7\x1c\xac\xba\x4d\x7f\x85\x6c\xbc\xef\x0e\xba\x8b\xca\xcd\xf6\x71\xb8\x66\x9f\x79\x83\xb9\xbd\x65\x73\x03\xd9\x62\x17\x05\xdc\x87\xdd\xbf\x96\xc7\xb7\x34\xf4\x8b\x18\x92\xfe\xd6\x73\xc1\x22\x89\xce\xb1\x0e\x13\x7b\x1d\x07\x39\x3d\x41\x0a\x01\x04\xff\x39\xc6\x67\xdf\x6c\xf1\xbc\x66\xef\x7b\xfa\x83\x62\xfe\x6e\x2a\x3e\x08\xae\x3e\xf1\x76\x61\x6f\x18\xff\x0d\x47\x10\xe9\x0f\x3d\xb9\x1c\x83\x3a\xd4\x96\x03\x28\xc7\x60\xcc\x6f\x14\x0f\x33\xc1\x23\x22\xe5\x31\x1a\xc1\x45\x63\xff\x89\xf0\xcc\x39\x24\x82\x97\xc7\x4c\x6b\x26\x0e\x99\x27\x68\xbf\x4c\xe2\x4d\x27\xc0\xc0\xfc\xed\xe4\xcb\x49\xd7\x57\x9f\x69\xd3\x26\x1c\xca\x20\xb4\x01\x05\x2b\xd0\x68\x7e\x8a\x62\x1e\x3d\x12\x71\x22\x48\x4c\xe5\x29\xf8\xd6\x55\xab\x53\x2f\xd5\xda\xf6\xce\x92\x46\x5b\xa0\xc0\x9a\xa4\xb8\x33\xd3\xbf\x0d\xb0\x76\xe1\xb5\x03\x44\x67\xa0\x4e\xb8\x9c\x0c\x13\x84\xec\x80\x8c\x08\x53\x62\x09\x71\xfd\xde\x94\x55\x59\x08\xa7\x69\x68\xa1\xad\x2d\x9b\x48\xec\x23\x06\x67\xcb\x69\xdf\x2f\x88\x24\x2e\xe0\xc0\x4c\x4a\x71\x1b\xcb\x6c\xd8\x45\x86\xd5\x42\x42\xea\x6a\x79\x0d\xac\xd2\x05\x9f\xea\x15\xc2\x19\xc4\x2b\x18\x2b\x45\xf1\x91\x4f\xb0\x94\x8a\x26\xc9\x98\x31\x42\x62\x89\x20\xcb\xf4\x9b\xc6\x0c\x79\xfd\xe9\x00\xe1\x38\x46\xff\xeb\xdb\x8f\x97\x7f\xb9\x1f\x4d\x2e\xae\xc0\x68\x7d\x71\x39\xfa\x6e\xe0\x7f\xbc\x7e\xb8\xf7\xbf\x1a\x0b\xcb\x13\x11\x28\xc5\x8f\xa0\xe2\x31\x49\x6c\xf2\x04\x19\xb3\x70\xa4\x0e\x3b\x40\x3f\x91\xc4\x45\xba\x5a\x31\xc5\x83\x63\xda\x3d\x6c\xad\x32\x6e\x6c\x7e\x1b\x28\xbf\xb7\xfe\x93\xd5\x34\xe8\x88\xc7\x77\xe1\xc4\x40\xc8\x91\xc1\x32\x48\x26\xb7\xba\x6f\x41\x70\x84\xcd\x29\x6b\x8b\xc7\x23\xec\xe9\x25\x85\xf8\x9f\xc8\xf2\x67\xad\x5e\xdf\x60\x2a\x3a\xd3\x5e\x33\xce\x93\x3b\x31\x5a\x4f\xc7\xb2\x7a\xa8\xa4\x91\x85\x4d\xb6\x4d\x6b\xcc\x67\x13\xc4\xdf\x9b\x4f\xd7\x02\x87\x91\x2f\x4a\x38\x94\x0a\x9f\xcf\xe1\x40\xba\xfc\x45\x53\xd0\xe0\x98\xdd\x5f\x9f\x5f\x9f\x22\x92\xe0\x29\x87\x50\x7e\x1b\x12\xe4\x9a\xb0\x0b\x16\xf1\x34\x68\xa8\x04\x4d\x32\x40\x59\x01\x4d\x12\x1a\xd1\x8e\x4d\x1b\x6b\x20\x4a\x32\x2e\xea\x68\x2c\xfb\x55\x01\xed\x64\x6f\xb8\xe8\x72\xfd\xeb\xd7\x60\xe9\x78\xa6\x15\xb9\x0a\xe7\xb5\x77\xf3\x8c\x60\xc8\x5e\xb5\x6e\x21\x6b\xcb\xb7\x01\xac\x49\x52\xaa\x94\xa9\x0f\x8e\x3c\xb6\x2e\xf8\xe2\x4d\xce\xd0\x4f\x7f\x92\x68\x9a\xab\x31\x2b\xb7\xc1\x19\x1a\xfe\x72\x87\x7e\xc0\x2a\x5a\x7c\x37\x66\xd7\x5a\xcd\xfc\xe9\x4f\x2d\x20\x59\x1b\xe3\x4e\xea\x35\x39\xc7\x0a\x5f\x72\x1c\x53\x36\x6f\x02\x9d\x2c\x2a\x03\x8d\xee\x87\xa7\xe8\xda\xea\xf0\x45\x26\x88\x4f\x09\x0e\x1a\x02\x86\x0c\x13\x71\x5c\x04\x58\x39\x2b\x03\xf3\x19\xcd\x0c\x2e\xac\x31\xbb\x37\x68\x9b\x9a\xab\x52\x85\x32\x6e\xab\x53\x69\xad\xcc\xe0\x90\x62\x97\x21\x45\x92\x25\xd2\xab\x03\x64\xec\x37\xc3\xca\x63\x20\xcf\xd4\x99\xfd\x98\x81\x82\xee\x73\x53\x12\x1e\xe1\x04\x62\xf2\x8e\x02\x9b\x9e\x56\xdb\x79\x0e\xf9\xe1\x10\x0c\xc3\x96\xe5\xd0\x59\x0f\x59\xe0\x85\xb2\x70\xa3\xc0\x00\x00\xfb\x68\xbd\xb1\x29\xd7\x1c\xc7\xa0\xec\x81\xf1\x2d\x31\xab\xa3\x3f\xf4\xa8\x7b\x66\x59\x3c\xf4\x0c\xe4\xc5\xe5\xcc\x61\x91\x44\x60\xbe\x67\x4b\x08\xdf\x86\x72\x32\x1c\x42\x3f\x0a\xee\x6c\x89\xb2\xb6\x8b\xfe\x4e\x0c\x3e\x1b\x33\x13\x29\x58\xda\x97\x10\x97\x29\xe8\x9d\x33\x08\x64\xac\xe7\x8a\xe5\x99\x0d\x6c\xb4\xb2\x7e\x26\xc8\x91\xcf\x80\x8a\x4b\x6b\xaa\x6f\xd8\x63\x74\x1b\xaa\xd7\x31\x8f\xf2\xd4\x61\x66\x43\xf6\x94\x8d\x80\xb3\x97\xa8\xa7\x10\x73\xb1\xaf\xa3\x78\x40\x69\x51\x04\xd2\xc7\x3b\xeb\xc7\x86\x60\x86\xe1\xa7\x75\x49\xbd\x5d\xf0\x05\xde\xb1\x5b\xd4\x9a\x69\x68\x92\x95\x5b\x2a\xb5\xb6\x73\x5e\xe2\x55\x81\xeb\xcb\x05\x08\x5b\xe4\x4b\xc6\xc1\xc8\x6d\xd2\xb3\x78\xfc\x8d\x44\x17\x37\x5a\x02\xd2\x1a\xaf\x3f\x83\xb9\x54\x26\xb8\x0c\xd2\x75\xcc\xd7\x26\x5d\x60\x80\xbe\x47\xe3\xfc\xfb\xef\xff\x10\xa1\x2f\xee\x8f\x3f\xfe\xe7\x7f\xfe\xe1\x8f\x9b\xa4\x93\x38\x85\x1c\xda\x2d\xd6\xc8\x17\x0a\x2b\x8b\x44\xe1\x0e\xd4\x39\xd5\x0e\xbb\x60\x0f\x60\xdb\xf2\x6f\x83\xdf\x19\xc4\x0e\xe1\xb9\x3d\xe1\x32\x3c\x99\xa8\x74\x34\x8b\x48\x02\x49\xd4\xa0\xcc\x21\xbc\xb0\x6b\x25\xfa\xff\x67\x15\xa6\x97\x3e\x2a\xdb\xc5\x38\xd1\xc4\x8b\xd7\xba\x11\xf4\xad\xb5\xff\x29\x70\x20\x7e\xe7\x2e\x38\x9e\xc4\x44\x98\x31\x79\x93\x9d\x37\x24\x02\x73\x20\x5f\xb2\x84\xc7\x0e\xf8\xb6\xc8\x05\xa4\x20\x20\x8c\xbe\x60\xcd\xb9\x07\x16\x46\xcb\x7c\x64\x3c\x2f\x33\x1c\x19\xbc\x57\x89\xbe\xfd\x72\xaa\x7f\x1b\xa0\xe5\x29\x04\x91\x0e\xd0\x3f\x4e\x2d\x5a\x0e\x16\x6a\xa2\x7f\xfa\xce\xc9\xda\xb6\x09\x18\x34\x95\xe8\x9b\x93\x27\x2c\x4c\x35\xf0\x13\x33\xa2\x6f\x2c\x67\xf5\x15\x0f\x43\xd9\x3c\xe1\xfc\xd1\x06\xd8\xd6\x3e\x3c\x71\x90\x7a\x40\xde\xde\x6f\x62\xb6\xde\x27\xe6\x2b\x74\x04\x2f\x10\x74\x9c\x4d\xd1\xf1\xdf\x24\x67\xe8\x78\x89\xd3\xc4\xfe\xea\x9e\xda\xf8\x5f\x2c\x6d\x4e\x5c\xec\x83\x7c\x92\xa5\xb1\x94\xfe\x90\xf0\x29\xcc\xea\xb3\x9b\xa9\x89\xa0\x85\x81\x16\xb7\x4f\x71\x61\xd9\x89\xb8\x44\x54\xc0\x0f\x4a\xb9\x32\xaf\x00\x8f\x6b\x9a\xd5\x17\x3f\xa4\xff\x36\x7e\x61\x58\x14\x97\xc4\x67\x8c\xc3\x3e\x7a\x4d\x37\xfa\x05\x7d\x6b\x59\xd0\x77\xfa\x8e\xb1\xe1\xca\x66\x19\x9a\x3a\x58\xfa\x0e\xfe\x12\x74\x40\x19\x32\x69\x99\x2b\xbe\xfc\xc7\xc9\xf1\xf1\xb1\xff\x1a\xb2\xd6\xff\xff\x88\x2a\x49\x92\x99\x69\xc9\xdd\x60\xcb\x31\xfb\xec\x4a\x6a\x38\xe3\x75\x01\xd6\x99\x09\xae\x78\xc4\x13\x74\x54\x18\x74\x63\x1e\x49\xf4\xef\x5a\xac\x0d\x96\x12\x7e\xd4\x7a\xdc\x4a\xa0\xb9\x57\x3a\x54\xd6\x20\x5e\x3d\x56\x21\x8a\x9b\x57\x6c\xb1\x0c\xeb\xb3\x00\x2d\x68\xca\x39\xb1\x48\x6f\x42\xe8\x97\xc9\x17\x05\x8f\x5a\x60\x0f\x1b\x43\xd9\x9b\x6f\xca\x1a\xbb\x2d\xd0\x0f\x0d\x59\xb7\x2c\x80\xc5\xbb\xb2\x9c\xc1\xcc\x73\x10\xba\x4f\xf4\xe5\xc2\xc2\x22\x0f\x32\x4f\x53\x2c\x96\x27\xc5\x69\xab\x13\x67\x81\xb4\x06\x3c\x26\x71\x0b\x00\x2e\xdc\xc4\x1e\x2d\x1b\xc5\x60\xc5\x4b\x77\xa3\xf9\xb3\x1b\x41\x95\xca\x00\xb1\x80\xb0\x88\xc7\x96\xae\x8b\xec\xd3\xb2\xc4\xe2\xdf\xa9\xcb\x2a\x2e\x22\x46\x16\xc6\x38\xa6\x0c\x84\x87\x7d\xc3\x7d\xdc\xc2\xbe\xf9\x04\xea\x1d\x93\xf9\x06\xee\xd1\x8b\xeb\x3b\xf7\x4d\xf7\x4b\x17\xd6\xa1\x2c\xb2\xe3\x24\xc4\xc7\x63\x73\x24\xf0\x73\x71\xfd\x42\x6c\x87\xb1\xce\xe4\x3e\x37\xd7\xfc\xfb\x8c\xdf\xd0\x44\xdf\x5a\x40\xe3\xc7\x63\x56\xfa\x79\x80\x48\x42\x53\xca\x7c\x6c\x9d\x61\xee\x7c\x66\xa4\xe7\x47\xaa\xf4\x96\xc9\xf8\x51\x73\x30\x87\xeb\x14\xa8\x54\x43\xb6\x74\xa4\xe3\x1d\x53\xd6\x02\x91\x4b\x3d\xae\x42\x47\xd7\xc2\xac\x6e\xe2\xc8\x0a\xa4\x34\x20\x3c\x38\xbf\x63\xa6\x5b\x73\x67\xa9\x08\x17\x0e\xda\x0b\x9a\x3b\x72\xa5\x0e\x02\x0e\x00\x7d\x94\x62\x7e\xbd\xfc\xdb\x20\xa0\x8c\x58\x9e\xee\x9a\x6c\x62\xc3\x87\xdf\xca\x4c\x77\x23\x88\xbb\xa9\x6c\xe2\x12\x61\x79\xea\x0e\xd4\x06\x14\x37\xb2\xe2\x4f\x4c\xa2\x04\x1b\xa4\x1a\xdd\x10\x44\x3e\x0e\x8c\x83\x34\x0b\xfa\x32\xd7\x8b\xe9\xc6\x54\x4f\x4a\x08\xfb\xd6\xfc\xfb\x3b\x64\xef\x86\xef\x07\xf6\x3e\x17\xd2\x23\x80\x98\x3d\x87\xea\x9b\x24\x36\x36\x74\xc0\x9b\x9e\x63\x11\x1b\x6b\x79\xa8\x55\x98\x0c\x5e\x2d\x7f\x2d\x79\x8e\x9e\xa9\x5c\x8c\xd9\x3d\x77\x06\x47\xc4\xb8\x47\xec\x1e\x80\x32\x5a\xeb\x0f\x4b\x60\x02\x30\xea\x26\x0a\xd0\x4c\x78\xa7\x5c\x23\x88\x82\x9d\x30\x1e\x93\xdd\x00\x8c\xee\x0b\x5f\x85\xf3\x5f\x0b\x62\xf2\xc1\xe0\xa6\x68\x4b\xa7\x25\x52\x6e\x68\x9b\xaf\x6e\x3c\xdc\x43\xb6\x1d\x28\xf6\xfc\xbc\x11\x6e\x7a\x88\x0d\xe6\x6f\x35\x68\xc5\x69\x9c\x41\x36\x70\x69\xed\x3d\x0e\xf6\xae\x9b\x10\x35\xa0\x15\x75\xba\xfb\xcd\xdc\x23\x58\x76\x1f\x60\x8c\xd1\x5c\xf0\x3c\xf3\x29\xf3\x2e\xdd\xcf\x6c\x83\x95\x69\x2e\xd8\x8c\x9f\x5a\x9d\xea\x92\xb2\x47\x43\xf1\x2f\xb5\x47\x06\xea\x9c\xc4\x25\x18\x37\x57\x7f\x17\xe6\x70\x84\x28\x8b\x92\x1c\x2e\x3e\xa9\x70\xf4\x68\xe0\xda\xdb\x8c\xbe\xfa\x9b\xc9\xfa\x64\xca\x16\x89\x29\x4f\x12\xdb\x6d\x71\x81\x16\x05\xca\x9f\x28\x46\x18\x3d\xdc\x5e\x34\xf7\xfd\x48\xeb\xce\x9c\xe6\xdb\xb3\x4c\x20\xf0\x3f\x3f\xd1\x8d\xe2\x2e\x2b\xb0\x78\xa4\x44\xea\xde\xb8\xd4\x06\xba\xaa\x89\xf4\x13\x56\x64\xd7\x4c\x28\x83\x01\xb6\x41\xa4\x5e\x0d\x5c\x6d\xa5\xf5\x78\x47\x64\xb2\x02\x55\x0c\x42\x83\xda\x21\xd2\xc2\x60\x2d\x78\xb8\x01\x76\x03\xbc\xdf\x6d\x3e\x95\x77\xd7\x4c\x67\xf5\x30\x13\x42\x36\x40\x1b\xb8\xfb\x7f\xd9\xfb\xb6\xe6\x36\x92\xe4\xdc\xf7\xfd\x15\x15\xe1\x07\x8d\xce\x01\xc1\x9d\xd9\xb0\x63\xac\x08\x3f\x40\x14\xb5\xc3\x1d\x89\xd4\xf2\x32\xb3\x3e\x86\x03\x2a\x74\x17\x80\x36\x1b\x55\xad\xae\x6e\x52\xb0\x77\xff\xfb\x89\xca\xcc\xba\xf4\x15\xdd\x00\x29\x69\xd7\xf3\x60\xef\x88\x00\xea\x7e\xc9\xca\xfc\xf2\xfb\xcc\xd7\x07\x36\xb2\xf2\xd5\xbe\x36\x3e\x72\xd4\xd5\x68\x92\xfe\xc6\x64\xd9\x8d\x39\x6c\xed\x72\x44\xf3\x5a\xbb\x1c\x11\xd7\x12\x0b\xc3\x71\xb6\x98\xad\x77\x0d\xb1\x2d\x55\x91\xed\x70\x1e\xda\x96\x85\x1f\x98\xad\x47\xc2\x26\x8c\xf9\xb5\xd8\x0e\x26\x94\xf3\x15\xbf\xa1\x1f\xbf\x6f\xd0\xcb\xb9\xa3\xe8\x3d\x64\xf1\x39\xe2\x94\x2d\x97\x66\x67\xdb\x5a\x3b\x9c\x90\x68\x11\x1e\xd4\xa4\xbb\xec\xa0\x06\x61\x8d\x03\x15\x2d\xa9\x2a\x5b\xca\x23\xfa\xe1\x79\x8a\x7e\xa6\x62\x03\x2e\x08\xaf\x04\x65\x4e\xb4\xaa\x2b\x02\x55\xa3\x52\x9e\xaf\xf1\x81\xa4\x45\xa1\x5f\xb6\xcc\xb0\xcf\x79\x38\x62\x86\x0f\x50\xdb\x0d\xe3\x9e\x60\x7e\xf7\xed\x34\xd7\xca\x2a\xb9\xa8\xbb\x95\x9d\x6e\x75\xc0\x9c\xe7\x13\x31\x22\x95\x23\x13\x77\x6c\xf6\x4a\x37\x67\xca\x91\xaa\xeb\x97\x7c\xeb\x18\x01\xac\xf6\x33\xe5\x77\x61\xe3\x96\x02\x78\x71\xbb\xdb\x70\xb4\xbc\x7a\xd8\x04\x92\x3b\xed\x6a\xc1\x5c\xce\xec\x57\x3c\xbb\x97\x79\x98\xe5\x68\x80\x03\x3e\x14\xd1\xd0\xf0\xbe\xe2\x7e\xd4\xa9\x73\x1d\x9d\x18\x9b\xbc\x59\x57\x88\x37\xef\x3b\x77\x1b\x91\x16\x94\xe3\xf0\xec\xd5\xe1\x7a\x10\x79\x1b\x44\x6d\x44\xe5\x37\xb6\x8b\x54\x94\x1d\xcb\xb6\x8a\xf7\xbf\xa5\x2c\x63\x04\x15\x04\xe0\x74\x42\x60\x21\x86\x34\xdd\xf9\x65\xea\x49\xe2\x6a\x95\x35\x77\x6b\x71\xd4\x69\x9c\xf0\xed\x22\x57\xdd\x42\x65\x03\x86\xc9\x16\x51\xf1\xef\x6c\x50\xb8\x64\xc7\x3e\x95\x3c\xc5\xcb\x4d\xd2\x72\xb4\xcd\x06\x53\xf9\x87\x7f\x61\x33\xb8\x7d\xd8\x7b\x38\x17\x21\xc0\x0f\xa5\x15\x8a\x25\xdb\x4c\xe4\x5a\x49\xde\xa9\xd8\x77\xff\xa3\x5e\x90\xea\xd0\x82\x47\x91\x2a\x9b\x0a\x43\x23\x7a\xd2\x52\x5a\xd8\x29\xce\xee\xcb\xa5\xc8\xa5\x40\x55\x42\xf8\x1e\xb3\xdf\x1b\xd4\x5c\xc5\xcb\x62\xf3\xc3\x22\x4a\x93\xc1\x52\x48\x90\x5d\x34\x33\x3f\x3b\xc3\x5f\xf5\x75\xa0\x52\x7e\xa5\xe9\x92\xe1\x67\x0c\x3f\x9b\xb2\xd7\x3c\xba\x17\x32\x66\x59\x5a\xae\x13\x22\x13\x80\x1b\x0a\x8e\xcb\xc0\x3d\x5b\xed\x18\xda\x16\x58\xbe\xb9\x86\xe6\x72\xcb\xef\x91\xc4\x96\x8c\xc8\x88\xa7\x9d\x54\x54\xce\xac\x5e\x24\xcd\xb5\xbb\x77\xb6\xdc\x7d\xd8\x2c\xa6\xbe\xf6\x74\x89\xb9\x15\x8f\x1b\x45\x11\xe9\x8a\x55\x3f\x62\xe3\xba\xd5\xda\xe0\x7c\xb1\x79\xf9\x4e\x9f\x92\x1a\x83\xbb\x17\xdc\xbd\x40\xc4\x5c\x4a\xc6\x81\x36\xe6\x85\x66\x65\x66\xed\x33\xf0\x43\xa6\x10\x15\xc6\x29\x30\x1f\x64\x89\x79\xa5\x6d\xc4\x5c\x02\xd2\x96\xb9\xee\x35\x64\xcc\x98\xf0\x80\x98\xb6\xa3\x61\x85\xa4\x09\xc7\xc5\x38\x1b\x3c\xce\x7b\xd6\xe9\x40\x14\x71\xb1\x11\x72\x71\x00\x9d\xf0\xf0\x49\xab\x20\x86\xc9\x0c\x76\xfe\x5c\x37\x84\xa5\x4c\x48\x1a\x8c\x5c\xf8\x21\x57\x66\xb2\xaa\x99\xd1\x89\x66\x9a\x17\x89\x36\x67\x59\xeb\x88\x7b\xaa\x8a\x63\x46\x9d\x8f\xe3\xc7\x68\xe1\xc6\xa8\x8d\x85\xcb\x4a\x98\xb2\xb7\xe0\x05\x0b\x5e\x06\xca\x31\x4d\x74\x1d\x58\xc5\x46\x74\x52\x2e\x3e\x05\x9c\xc7\xf6\x20\xf8\x7e\xaf\x73\xd3\x65\xa0\x4c\xd9\xcc\x47\x1f\x90\x6b\x03\xe3\x0a\x7b\x7a\x24\x52\x2d\x0e\x59\x7c\x83\x1c\x75\x10\xa1\x87\x05\xc4\xc0\x92\xd2\xe6\xef\x9e\x41\xde\x35\xf3\x11\x92\x3c\xf9\xbd\x90\x7d\xde\x98\xe1\x2d\x44\x77\x59\xaf\x4b\xc0\xf9\xe1\x14\xba\xe2\x0e\x69\xe0\xf0\x6d\xe7\xe9\x4d\x92\xd5\xa9\x19\x72\xf3\x0c\x89\xee\x29\xb5\x04\xbd\xb1\x44\x90\xf2\xb8\x51\x3a\xdc\x67\x76\xfe\xf0\x25\x9b\x97\x8e\x25\x1c\x52\x73\xdc\x00\x23\x26\x47\xaa\x90\x3f\x05\x5a\xed\x36\x29\x7a\x9a\xdd\x7c\x33\x7b\x84\xc2\x30\x40\x14\xcb\x16\xd5\xb2\x9b\x9d\x6a\xd6\x31\xb6\xd5\xe1\x52\x6c\xcd\x31\x6f\x34\xf1\xe7\x1f\xf5\x15\x34\xe4\x29\xc8\x04\xda\x35\x81\x8f\x07\xf2\x1f\x18\xc2\x70\x10\x35\x2f\x28\xcc\x63\x47\x7f\x91\xa9\x98\xf9\xb1\x1b\xaf\x1e\xfc\xf5\xbb\x55\x53\x1d\x1e\xd4\xb7\x7d\x9b\xef\x7d\x80\x73\x60\xcb\x32\x41\x01\xff\x8a\xcd\xaa\xac\x51\x04\x14\xcd\x60\xa1\x24\xda\x5d\x79\x2d\xdb\xe0\xe7\x1f\xf5\x07\x15\x1f\xb3\xb0\xc6\x33\xfe\x35\xd7\xf5\x00\x18\xb4\x0e\x63\xd1\xdb\xfd\x23\x91\xa9\x6e\x00\x6b\xbc\x18\x2e\xd1\x0f\x88\x85\x65\xb9\xba\x01\x01\x94\x2e\x52\x8d\x40\x1b\xc0\x66\xc9\x99\x79\x36\xd5\xb8\x9c\x8d\xae\x49\xa1\x00\xb8\xb7\x50\x38\xfb\xd3\xcd\xd5\xe5\xc9\x96\xe7\x7a\xc3\x21\x69\xd9\x96\x35\xb1\x9a\x72\xf8\x82\xb7\x81\xb9\x44\xce\xe5\x09\x5b\xab\x09\x86\x81\x5f\xb1\x4d\x51\x64\xfa\xd5\xe9\xe9\x3a\x29\x36\xe5\x72\x1a\xa9\xed\xa9\x1f\x9a\x53\x9e\x25\xa7\xcb\x54\x2d\x4f\x73\x01\x40\xe0\x93\xef\xa7\x3f\x7c\x0f\x33\x73\xfa\xf0\xfd\x29\x04\xff\xa6\x6b\xf5\x4f\xef\x7e\xf8\xd7\x3f\xfc\x8b\x29\x38\xdb\x15\x1b\x25\x5f\x51\x8c\xb9\xb7\xec\x13\x7c\x38\x9c\xe2\x4f\x6a\xb5\xfc\xeb\xf4\xf7\x61\x33\xe8\xab\x5b\x15\x8b\x54\x9f\x3e\x7c\xbf\xb0\x13\x33\xcd\x76\xbf\x41\x67\xbf\x1a\x74\xf6\x3e\x29\x7e\x83\xce\x7e\x55\xe8\xec\x70\x23\xcc\x9d\x31\xc0\x45\xea\xcf\x47\xf3\x77\x77\x46\xda\xe8\xc0\xbe\x73\xa8\xe5\x72\x08\x13\x1b\x8e\xb8\x22\xee\xc5\x28\x2f\x40\xad\xbb\xee\x75\xd3\xe1\x05\x1c\xab\x07\xd0\xf9\xde\x18\x95\xc7\x0d\x40\x95\x24\x02\xae\x69\xf4\x5a\x66\x3c\x69\x03\xc4\x92\xcd\x77\xcc\xf8\x3d\x27\x6b\xfa\x53\xd3\xa5\x53\x77\x0f\xa4\x4a\x4f\xf1\xd7\x16\x3e\xa6\x1e\x2d\x45\xfa\x53\x10\x8b\x0f\x14\x06\x76\x7c\xc9\xb8\x78\xa0\x2d\xb6\x5d\x1d\xcd\xd8\x70\x7d\x18\x0e\x71\x86\xac\x84\x2e\x94\x88\x20\xae\x44\xdb\x0a\xed\xc5\x61\x89\x1e\x40\xa1\x9e\xf8\xa4\xb2\x32\xcf\x94\x16\x7a\xca\xde\xd6\xc4\x18\x3d\xb6\xf2\xfa\xed\x19\xfb\xfe\xc7\x7f\xfd\xc3\x5c\x7e\xd7\x72\x6f\xc3\x79\xaf\xf2\x35\x41\x3d\xe1\xb6\xde\x72\x5d\x88\xfc\x34\x5f\x45\xa7\x78\xca\x9d\x9a\xdf\x9f\x50\xa5\x27\x6a\x75\xe2\x58\x93\x4f\x88\x40\x76\xba\x8d\xc7\x71\x20\x54\x96\x1e\xde\x35\x74\xd1\x68\xb8\x94\x90\x2d\x49\xad\x1c\x3f\x3e\xa6\xe2\xa0\x94\x86\x5a\xb5\xfc\xc7\xeb\x54\x2d\xf5\x4b\xc7\xd1\xc6\xb5\xad\xc3\x93\x26\x75\x6f\xcd\xa7\x21\x50\xb7\x4b\xe4\x39\x7d\x29\xf6\x2c\x09\x9f\x23\x63\x06\xbe\x7d\xb3\xf9\xeb\x1e\x29\x23\x78\xae\x4a\x69\x09\xa8\x95\x14\x6a\x05\x40\x43\xb0\x84\x2d\x90\x02\xdc\xc9\xe6\xa6\xf5\xf4\x10\xb9\xc8\xf0\x82\x81\xc0\x47\xf7\x70\x1f\x49\xc2\xbe\x6f\x9c\x9f\x83\x84\xfd\xd8\x71\xa7\x03\xe5\x2b\x0d\xf8\xb1\x68\x47\xdc\x4a\x63\x80\x1f\xe6\xfb\x7b\x83\xbc\xee\x1c\xf0\x02\x49\x9e\xef\x38\xe3\x39\x18\x69\xe2\xa4\x50\x27\xc0\xab\x03\x6c\x2d\x28\x8b\xd0\x85\xfc\x80\xe0\xf8\x98\x6b\xd2\x7c\x7f\x40\x3b\xd1\x30\xff\x1c\x34\x94\x6c\x12\x8d\x2c\xa3\x84\x1a\x4b\xa4\x14\x39\x85\xfd\xf6\xde\xa8\x23\x43\xe7\xe1\x54\xf6\x83\xc6\x02\xe9\xed\x80\xb2\xde\xa5\x0c\xf0\xe0\x10\x98\x32\xb0\x3e\x37\x6a\xab\x8c\x39\xa3\x4a\x1d\x7c\x88\xaf\x17\xb8\x84\x3b\x6d\xaf\x2d\xcf\x90\x47\xef\xeb\xf5\xc6\x6c\x2d\xf3\x11\xfa\x1d\xc3\x2f\x8d\x52\x01\x59\x56\x75\x0f\xf6\xb4\xdf\x11\xd6\xf7\xaf\x1b\x00\x66\xa0\x94\x1e\xa8\xd9\x12\x0d\x75\xf2\xdf\xe6\x5d\x63\x96\x94\x7b\x29\xb8\x9b\x1b\x71\x44\x48\x17\x19\x32\xd2\x5a\x6b\xbe\x33\xa1\xbb\xdc\x8e\x9c\x03\x87\x83\x1e\x32\x01\x5c\x22\x32\xd8\x42\x82\x4f\x5a\x31\xc1\x5d\xfb\xd2\x6a\xc7\xc6\x0b\x4b\x69\x3a\xae\xa9\x37\xae\x00\x62\x2f\x6d\xb6\xdb\x33\x42\x01\x80\x1c\xc7\x18\x0f\x04\x6b\x5b\x74\xe0\x82\xe4\xf8\xcd\x08\x1a\x30\x63\xc6\x0e\x2a\xc1\xc5\xd9\x18\xc1\x60\x2f\x74\x0d\xe0\x38\x17\x5b\x9f\xc7\xaa\x2d\xe3\x00\x49\xf4\x7c\x82\x91\x69\x65\xe3\xf1\xe8\x7e\xf8\xe0\x85\xb2\x77\x99\x98\xb0\x65\x09\x9f\x5f\x5e\xdd\x86\x80\x92\x04\x7b\x7b\x12\x6d\x44\x74\x0f\x0e\x13\xbc\xf2\x9c\xae\x24\x11\xf6\xcd\xa5\x57\x27\x2b\x94\x45\x47\xec\x1c\x61\xbb\x13\x2d\x50\x39\x8b\x13\x9d\xa5\x7c\x07\x71\x68\x89\xa9\x04\x3e\x86\xed\x72\x70\xcc\x51\xb0\xcf\x5f\x3c\x7c\xa6\xcd\xac\xcc\xfc\xef\xc6\x8e\x25\xcf\x97\x49\x91\xf3\x7c\xc7\xfc\x60\x36\xcf\x03\xa6\xc5\x96\xcb\x22\x89\xe6\x72\x2b\xb8\x0c\x81\x83\x14\x87\x37\x83\x1c\x2b\x41\x94\xc6\xab\x95\x88\x0a\xcf\x89\x08\xc6\xbb\x1b\xa9\x7d\x7b\x70\x5c\xdf\xdd\xce\xeb\xed\xfa\x4f\x89\xc4\x0c\xfc\x64\x0b\xb0\x54\x5a\x43\x74\x35\x1e\x18\x5f\x02\x35\x3b\xba\x72\xed\x63\x10\xfe\x65\xd7\x14\x5b\x8a\xe2\x51\x40\xca\x3f\xe5\x28\xb6\xd9\xf8\x47\x2b\x1a\x1c\x27\x50\xdc\x2e\xed\x1c\x80\xd5\x70\x83\x85\x78\x37\xc7\x4d\x24\x6b\x24\x43\x2f\x28\x6b\x12\xbc\x3d\x2f\xc8\x6f\xf5\x02\xae\x69\xf3\x7a\xcc\x1f\x44\x3c\x97\x55\xe6\x27\xb2\x19\xfd\x86\x63\x5e\xab\xeb\x69\x4e\x1b\x3b\xc6\x83\x7c\xf9\xe7\xc0\x76\xe1\x79\x2e\x5d\x5e\x60\x8f\x76\x58\x7b\x8c\xed\x19\x64\xa9\x06\x07\x79\xbc\x9c\x17\x69\xf1\x90\x74\x5f\x05\xf2\xe1\x16\xa5\xe3\xb5\x41\xd2\x3b\x87\xd1\x25\xbf\x64\xc3\xd3\xd9\x56\xc6\x5c\xda\x84\xef\x55\x99\x22\x91\x69\x97\x9a\x19\xd1\x5c\xd9\xe4\x94\xaf\x97\xa4\xe4\xfc\x6a\x2c\x90\x3f\x73\xc8\x8c\x00\x2f\x8d\x67\x9d\x5d\xf5\x42\x6a\xd4\xcc\xb6\xca\x47\xe0\x78\x5e\x8b\x02\x6e\xf3\xb8\x4c\x31\x7f\x19\x3c\xe6\x40\x99\xc5\xd3\x94\x25\x85\x9e\x4b\xc7\xf0\x85\x7c\xed\x70\xc2\x5a\x97\xba\x15\xcd\x95\x4e\x7a\x17\x3e\xe6\x12\xec\xb0\x24\x4a\x8a\x06\xca\x7c\x17\xaa\x85\x64\x99\xe0\x98\x6e\x87\xd3\x36\x97\xe1\x9b\xab\x3e\x09\x94\x9b\x06\x32\xea\x4f\x91\x26\xd6\x93\x34\x00\xda\xf3\xa3\xa7\x64\xca\x66\xd8\x3b\xf3\xe0\xb2\x42\xa0\xd8\x5a\x4a\xf1\x27\x30\xa8\x79\xd5\x14\xda\xfa\xc8\xfd\xbb\x15\x14\xa7\xa3\x32\xe5\x79\x0a\xb4\xf9\xab\x32\x65\xc9\x2a\xd0\x34\x85\x39\x40\x7e\x27\x33\x5d\x91\x82\xbb\xda\x7a\xc9\x35\xdf\x8a\x20\xb5\x9c\xdc\x3b\x69\x00\xf3\x40\xd2\x6a\xc4\x0f\x98\xb2\x5e\x4e\xd9\x9b\xba\x08\x3e\xec\x89\x80\x17\x32\xd1\x78\xfc\xb9\xf6\x06\x59\x91\x28\xa6\x9f\xac\xcc\x93\xf2\x45\xb0\xeb\x3a\x66\x10\xf8\xe5\xc7\x61\x48\xac\xba\x40\x3f\xb0\xb9\x35\x2b\xda\xfc\xb4\x86\x2c\x71\x1b\xa2\xa3\x81\xf6\x56\x18\xd9\xc8\x90\x53\xf3\x80\x86\x3a\xce\xd2\x96\xc6\x6e\x7b\x24\x54\x61\x1e\x47\x36\x35\x10\x24\x1a\xdf\xd0\x60\xe5\x84\x88\xa1\x21\x23\xbb\xe6\xc5\x58\xf8\x90\xcb\x17\x1a\xdf\xd0\x56\xa8\xd6\x90\x66\xc2\xe9\x31\xb2\x9d\x4e\x37\xfa\x80\x86\x3a\x75\x6a\x2f\x59\xe0\x65\xfb\x2b\x69\x9e\x96\x8c\xd1\xf5\x40\xcf\x25\x5d\x76\xe3\x33\x54\x67\x7e\xcd\x81\x26\x13\x33\xcd\x9f\xb2\x2b\x29\x10\xdc\xa7\x56\xc1\xa5\x42\x0d\x20\xf1\x26\xe0\xc3\x97\x81\x4a\x76\x9a\xc8\x7b\xcb\x7e\x61\xb6\xdc\x84\x71\x5f\x3a\x9c\x7a\xb8\x6c\xf0\x14\xe9\xb0\x25\xdb\xd4\x23\x8e\x30\x2f\x87\xe5\x90\xb6\xbf\xf9\x03\x8c\xec\xf8\x13\xa0\xad\x1f\xc3\xa7\xa5\x17\xec\xee\x5e\x71\x15\x19\xf4\x10\xd8\x5a\x24\xc5\x6e\xdf\xf8\x7e\xd8\x54\x81\x92\x23\xb4\x96\xee\x2e\xdf\x9c\xbf\xbd\xb8\xac\x0a\x24\xfd\xf9\xee\xfc\xae\xfa\x97\xeb\xbb\xcb\xcb\x8b\xcb\x3f\x86\x7f\xba\xb9\x3b\x3b\x3b\x3f\x7f\x53\xfd\xde\xdb\xd9\xc5\xbb\xda\xf7\xcc\x9f\xaa\x5f\x9a\xbd\xbe\xba\xae\x49\x32\x59\x3d\xa5\xe0\x4f\xb7\x17\xef\xcf\xdf\x2c\xae\xee\x2a\xaa\x4e\x6f\xfe\xfd\x72\xf6\xfe\xe2\x6c\xd1\xd2\x9e\xeb\xf3\xb3\xab\x5f\xce\xaf\xf7\x88\x32\xf9\xfe\xb6\x0e\xe9\x53\xc0\xc7\x0e\x96\xe8\x9a\xb1\x55\x9e\x08\x19\xa7\x3b\x4c\x0f\xb0\x2f\xdb\x1a\xde\x37\xbc\x7b\x93\xad\x50\xe5\x31\x28\xff\xdb\x0d\x8a\xe8\x03\x51\x07\x96\x46\x59\xbd\x5c\xdf\x77\xd2\x38\x16\x79\x33\x2a\xd0\x9b\xcc\x54\xe4\x3b\x97\x2e\xd7\xd7\x1c\x4f\xf2\x44\x95\xb0\x4c\xe4\x7d\x6d\x01\xcb\x28\x2f\xb3\x22\x59\x76\xe7\x6d\x0c\x24\x3f\x1a\xff\xf6\x46\x4a\xc2\x76\xfe\x96\xcb\xf6\x83\xb1\x92\xbe\x70\x0c\x36\x1a\x4a\x38\x54\x79\xce\xfd\xda\xe2\x49\xb3\x72\x99\x26\x11\x4b\xe2\xba\x3f\x05\xb3\xec\xd0\x65\x5c\x67\x2e\xcd\x44\x0e\xa6\xaa\x79\x01\x64\xb9\x38\xe1\x65\xb1\xb1\xa2\xf8\x2e\xd9\x12\x99\x44\x45\x94\x0b\x8c\x05\x08\x0d\x4e\x5a\x94\x1c\x0b\x6a\x82\xc6\x50\x92\x79\x0c\x7c\x36\xd3\x80\x45\xbe\x23\x46\x80\xbf\xc4\xd2\x47\x38\x49\xf1\xfb\xbd\x43\x43\x2d\x4e\x74\x5d\x6f\x1a\x6e\x78\xfc\xd0\x0a\x97\x99\x7e\x9b\x93\xda\x09\x77\xe1\x24\xdb\xf4\x92\xf6\x6e\xec\x5b\x63\xe1\x42\xa9\xe6\x5b\x50\xe9\xf4\xd1\x59\x2e\xe0\x12\x21\x28\x80\xf5\x5f\x00\x74\x85\xd2\x51\x20\x0b\xc5\x3c\xd5\x96\x62\xc3\xd3\x15\x5a\x1c\x66\x6a\xfc\xbe\x6a\x2e\xd1\x5b\x75\x2f\xe4\x35\x4e\xd8\x57\x39\x0e\x25\xbe\x7c\x3c\xed\x80\xf3\x08\x79\x17\xa6\x69\xa3\x5d\x55\x36\x1d\x0f\x8c\xa9\x02\xdf\x09\xc1\xc7\x98\x75\xe2\x49\x85\x6d\x26\xdf\x6a\x95\x7c\x36\x05\xce\xa5\x68\xa5\x55\x05\xbc\x90\x25\x80\x72\xe7\x32\x60\xa3\x90\x45\xe7\x5e\x48\x90\x3c\x43\x45\xe4\xbd\x6b\x76\x9c\xff\xbc\x39\x17\x3d\x0e\x7d\xf0\xf9\x25\x15\x25\xb8\x30\xca\x63\xc7\xa9\xc0\x34\xa0\x29\x7b\x43\xdc\x20\xe6\x2f\x67\xef\x2e\xce\x2f\x6f\x17\x67\xd7\xe7\x6f\xce\x2f\x6f\x2f\x66\xef\x6e\x86\x6e\xbf\xa7\x48\xdd\xaa\xed\xbe\x7a\x06\x93\x3b\x21\x4e\x69\xe7\xf9\x0c\x62\xd7\x29\xbf\xed\x60\x4a\xf6\xb7\x3e\x89\xb3\x45\x9c\xe8\xc8\x5c\x7f\xbb\x85\x90\x31\xf0\x51\x1f\xb4\x54\xdb\x8b\xaa\xf7\xc2\x7d\x83\xb9\x6f\xd8\x13\x04\x6f\xbb\x07\xbb\xa2\xdd\xe7\x80\xba\x03\x37\x64\x2e\xcc\xe6\x8f\xcd\xfb\xc0\xdd\x36\xd3\xfd\x22\x24\xa6\xb8\xe3\xfa\x56\x2d\xa2\xde\x27\x6c\x6f\xa2\x75\xc9\xcd\xf9\x68\xbf\x06\x90\xc3\x8e\x51\x21\x92\xc0\x90\x14\x3b\x09\x04\x5d\x59\xa2\xe7\x72\xcb\x65\xcc\x0b\x95\xef\x3a\xba\x38\xec\xf0\x0c\xb7\x4d\xf5\x08\x0d\xaf\x6c\x29\x44\x6c\x67\x01\xbf\xca\x65\x7d\x29\x21\x75\xf6\xed\xd5\xcf\xe7\x97\x37\x8b\xf3\xcb\x5f\x16\x1f\xae\xcf\xdf\x5e\xfc\xc5\x21\x21\x33\xae\xdb\x04\x1c\xb3\x5c\x98\xd3\xc5\x32\x91\xb4\x9e\x2f\xa8\xaa\x68\xcb\x21\x25\xad\x64\x35\x97\xf6\x64\xc9\x7d\xf1\x9b\x5c\x95\xeb\x4d\x7b\x41\xf5\x56\x7e\x98\xdd\xfe\x74\x50\x33\x81\x27\x0a\xa5\xd7\x70\xb7\x35\x11\xa1\xc9\x8a\xce\x3d\x84\x91\xd6\x9a\x07\x6c\x67\xf0\xd5\xb6\x28\x43\xc7\x89\x76\xd0\xeb\xa5\x79\x68\xf5\x1a\xff\x2d\x5f\xef\x5a\x40\xb7\xc1\xb9\x59\xb9\x46\x00\xa1\x8c\x0a\x9e\x8d\xd2\x5e\xb5\xfc\xad\x72\x83\xfd\x70\x92\x8a\xf5\x5a\xc4\xb8\xbc\xea\x05\x93\x0f\x8e\x8e\xc0\xc8\xdf\xeb\x6d\xa3\x48\x1a\x7b\x47\x5c\xcc\x0e\xef\x35\xfc\x00\xff\xe0\x7e\xd2\x7e\x56\x9c\x59\x1d\xef\x48\x49\x5d\x70\xd9\x11\x48\x7e\x68\x22\x34\x07\x1d\x45\x57\x39\x73\xf9\x59\xe4\x30\xb1\x21\x03\xbf\x0f\xba\x00\x2f\xc7\xe3\x42\x5d\x3b\xae\x45\x96\xf2\x48\xb8\x1c\x06\x24\xe9\x83\x77\xfd\x21\x01\x3c\x52\x32\x94\xe4\x6f\x09\x14\x0e\x03\xd9\xf3\x96\x25\x00\x9e\xdb\x63\xf3\xb2\xc8\xff\xfb\x5c\x89\x59\xd8\xc8\x6b\x7b\x69\x3c\xbf\xff\xa7\xf7\x75\x49\xfc\x61\xe0\x0d\x47\xbd\x2b\xc2\xe7\xa3\xc3\x0c\x44\xe4\x3a\xb1\xd3\xa3\xd6\x6c\xad\xe6\x5f\x68\x75\xe2\xc3\xbe\xea\x8d\xe7\x96\xa1\xcf\xad\x61\x67\xdf\xf6\x39\x35\x8b\x22\xef\x25\xf5\x7c\x8a\x98\xc9\x87\x5c\x6d\x13\x2d\x66\x45\x91\x27\xcb\x32\x54\x35\x1c\x89\xea\xab\xbc\xa0\x7c\x87\xb3\x5c\xc5\x65\x64\xa9\x95\xa0\xb7\x1e\x9b\x44\xae\x48\x6b\x1a\xc5\xec\xc4\x6c\x11\x7a\x5e\x8a\xf8\x04\xb2\x0e\xe6\xb2\x2b\x10\x68\x4f\xef\x0e\x07\xe5\x07\x6b\x6f\x1c\xb3\x24\x5b\x16\x45\xf7\x60\xda\x35\x30\x2c\x41\x99\xd9\xaf\x83\x99\xde\x01\xed\xa2\xe5\xb2\xe4\x18\xe5\xaf\x1a\x52\x5d\x4c\x2a\xee\x3e\x1c\xb7\xe1\x87\x01\x78\xaa\x69\x3d\x68\xdc\x6c\xb8\xc6\x37\x47\x11\x6d\xaa\x0d\x87\xde\x54\xd9\x07\xeb\xcd\x75\x36\xfc\x71\xbe\x9d\x41\xb1\xbe\x09\x7a\x43\x12\xf2\xbe\x57\x94\xe4\x9c\x2c\xe6\x38\x97\x7c\x68\xd6\xba\x67\x27\xde\x58\x70\xd8\xa7\xbc\x94\xd1\x86\x65\x29\xc7\xa4\xfc\x0d\xd7\xb8\xa4\x2d\xe0\x85\x2f\x93\x34\x29\x80\xed\x08\xe3\xb0\xb5\x11\x36\x6f\x51\x9e\xdf\x5b\x82\x61\xee\xa9\xad\xfa\x16\xfd\x91\xc0\x62\xd7\xab\x2f\x0a\x2d\xf6\x5b\x36\x3c\x86\x86\x2d\x4b\x82\x15\xfb\xe9\x30\x07\x31\x2c\x4b\xdf\x97\x71\x33\x4b\x25\x7e\xa8\xff\xbc\x32\xde\x2d\x26\xd6\x01\x99\xd3\xc8\x9c\x3f\xe2\xf6\xa9\xf3\xea\xb7\xee\xac\x55\xaa\x78\x87\xb6\xb3\x2d\x1b\x69\xf2\xbb\xca\x8e\x55\xb9\xec\x22\x66\xc6\x56\xf5\x97\xde\x17\xb1\xb1\xfb\xf6\xa9\x3c\xba\xe1\x01\xc8\x0b\x51\x24\xe3\x9c\x52\x41\xa7\x79\x21\x4e\xe0\xe7\xed\x85\x53\x1a\xe4\xe0\x3e\x37\x16\x9a\x17\x6b\x71\x96\x25\x00\x1e\xdb\x56\x57\xed\x76\x3e\x06\xb8\x7e\xe4\x7c\x25\x72\xcf\x52\xda\xaf\xff\xf0\x87\x1f\x86\x18\x94\x7f\x2e\xb9\x39\x0f\xaf\x56\x37\xc8\x39\x74\x4c\xa7\x8b\xa4\xb9\xad\xda\x8f\x9f\x7a\xad\xb7\xd5\x18\x60\xb8\xf0\x07\xa7\x4b\xb7\xf5\xe6\xc6\xfc\x7a\xf8\x29\x74\x51\xf1\xf5\x65\x79\xa2\x80\x7b\x47\xad\x90\xc9\xb2\x9b\xb6\xb3\xb5\xde\x23\x46\xf2\x53\x29\x4a\x61\x16\xd0\xb2\x8c\xd7\x4d\x57\xfc\x08\x4b\xd9\x77\x69\xa3\x1e\xd9\xb6\x8c\x36\xcc\x16\xce\x62\x91\xf2\x5d\xa5\x6b\x60\x24\x16\x2a\x05\x22\xec\x03\x59\x79\xa3\x52\x17\x6a\x0b\x28\x68\x5f\x6e\x5e\x4a\xd8\xe5\x8c\xdb\xdd\xd5\x76\xbe\x57\x58\xfa\x0e\x8c\xbf\xde\x7c\x38\x3f\xbb\x78\x7b\x51\x0b\x7e\xce\x6e\x7e\x0e\xff\xfd\xeb\xd5\xf5\xcf\x6f\xdf\x5d\xfd\x1a\xfe\xed\xdd\xec\xee\xf2\xec\xa7\xc5\x87\x77\xb3\xcb\x4a\x88\x74\x76\x3b\xbb\x39\xbf\xdd\x13\x05\x6d\xd6\xda\x3d\x11\x3c\x20\x11\xb4\xb8\x6c\xcb\xa6\x6e\x9d\x21\x54\xeb\x2b\x36\xb3\x94\x8a\x15\xd2\x4f\x1b\xc9\x06\xe8\x0b\x6a\x8b\x53\xc0\xdb\xbc\x5f\xcf\x78\xc1\x53\xb5\x9e\xb2\x19\x23\xd4\x3a\x66\x23\x68\x63\x21\x11\xdf\x9c\x99\x1d\x2c\xc2\x98\x49\x91\x77\x34\x78\xb9\x48\xb5\x22\xa6\xc7\x54\x84\xc2\x02\x36\xf5\x6e\x2e\xcf\x1f\x84\x2c\x4a\x60\x3d\xe7\x69\xca\xa8\x5a\xfb\x85\x80\x56\xc0\xb6\x52\x27\xdb\x24\xe5\xb9\x57\xf6\xbb\xa2\xb2\xe0\x95\x62\xdb\xea\x88\xae\x9a\x39\xeb\xf6\x21\x77\x77\xc1\xa0\xdd\x67\xef\x2e\xc0\xee\x8b\x0a\x2b\x5b\x63\x2b\x9f\x4b\x64\x12\xa4\x1a\xb7\x1c\x32\x64\x0a\x45\xee\x5f\xac\x9e\xbe\xdc\xbd\x10\xf5\x31\x9b\xd8\x06\x4a\x9e\xeb\x45\xe9\x1a\x69\xff\xe3\x5c\x16\xf9\x6e\xb0\x31\x77\x0b\x29\xe1\x1a\x0c\x72\x02\xdc\x55\xd5\xfe\xd0\x3b\xc7\x6c\xe9\x97\x60\xe1\x59\x34\x28\x05\x8f\x5c\x8c\x08\xc1\x37\x1d\x8f\x8e\xd4\xdc\xbc\xdf\xea\x38\x84\xc4\x42\x30\x0a\x4b\x55\xca\x58\x13\x34\x70\x9b\xc8\xd3\x2d\xff\xfc\xd2\xf6\x14\x59\x30\x9c\xe6\x06\x90\xb0\x89\xd4\x3c\xbf\x76\xe6\x90\xeb\x1f\xae\xb9\xec\x19\xaf\xfd\x26\xb2\x3d\x59\xe1\xad\xe7\x1f\xe6\x08\x72\x7c\x10\xbb\xb6\xf9\x6b\xe8\x26\x21\x90\x92\x36\x3c\x14\x92\xe5\xc2\x7c\xd1\x21\x28\x53\x04\xc6\xba\x7f\x43\xa6\x44\x45\xdb\xb1\xfd\xec\x0e\x41\x09\x47\x6d\x9b\x56\x38\xc4\x33\x08\x5f\x51\x4d\x66\xce\x10\x1c\x61\xfd\xf2\x94\x19\x42\x51\x5f\x33\x59\xff\xa5\x96\x6c\x05\x69\x52\xa4\xdd\x9e\x0b\x88\xc3\xc0\x54\x58\xa6\x76\xa0\xea\x6a\x20\x2e\xec\x12\x48\x85\x86\xe8\x84\x34\x6f\x4c\xf1\xa9\xa4\x00\xf3\xf7\xbf\x1f\x77\xcf\x16\xf9\x8e\x59\x55\x90\x30\x4d\x8b\xb2\x14\xe9\xce\x85\x76\x95\x32\x69\xe3\xef\xbb\x2e\xa5\xb9\x8a\x9f\x02\x9b\x33\x3c\xf8\x5a\xab\x94\xfe\xb9\x37\x93\xc9\xc6\x0d\x72\xfc\xfe\xb3\xd1\xb1\xfe\x52\x63\x61\xa5\xea\x00\x37\x4f\xa5\x87\x17\xda\x92\x47\xf7\x8f\x3c\x8f\xd1\xb9\x0c\x60\x99\x29\xfb\x49\x3d\x8a\x07\x91\x4f\x58\x24\xf2\x82\x13\x05\x9a\x06\xb4\x00\x6c\x28\x2a\x67\x2e\x21\x8d\x04\xf9\xe4\x24\xc8\xde\x17\xc9\x7a\x63\x1e\xd1\x01\xd6\x43\xe5\xe6\x38\x2a\x90\xfd\x32\x13\x11\x31\x3a\x75\x0c\xc0\x2a\xe5\x0f\x4d\x4e\xb7\x43\xa8\x28\xd8\x85\xcb\x85\xb5\xc1\x54\xab\x7e\xd1\x87\xce\xa1\x01\xa3\x43\x13\x39\x78\x26\x6c\xad\x52\x2e\xd7\xd3\xe9\x94\x89\x22\x9a\xbe\x1c\xb5\xd0\xa9\xc0\x30\x3c\xeb\x30\xe0\xa9\x52\x5a\xa4\x3b\xc7\x42\xe4\xb2\x74\x00\x16\xfa\xb9\x10\x52\x27\xe8\xe7\x69\x59\xfe\x37\xf5\xd0\xc5\x97\x8d\xf4\xb4\x3f\xcf\x47\xe7\x80\x76\x94\x03\x62\x5a\x23\x4a\xc2\xef\xb7\xbf\xbc\x0e\xca\x69\x6e\x2f\x4b\x2a\x39\x36\x51\xf7\x17\xd5\x25\x0d\x7f\x10\x7f\x61\x6b\x49\xc4\xa4\x72\x50\x72\x63\xfb\x98\x35\xf2\x4d\x8f\x48\x35\xed\xc9\x1a\x1d\x99\x30\x3a\xc4\x11\x70\x53\x9f\xee\xd1\xdb\x62\xbf\xbe\x47\x6b\x87\x46\x26\xe4\xfa\xcc\xf9\x31\xa6\x13\xe6\xf4\xa5\x3b\x78\x71\xb9\xf4\x5c\x70\xa7\xc7\x41\x38\xa0\x12\xed\x80\x44\x31\x1f\x2e\x71\x0c\x57\x41\x74\x44\x17\x2a\xe7\x6b\xc1\xb6\x22\x4e\xca\x6d\xeb\x61\xe3\x9a\x7b\x0c\x38\x51\xa5\xe5\xb6\x9b\x6b\xf0\x58\x03\xda\x37\x12\xff\xeb\x0c\xaa\x1b\x6c\x40\xcf\x1c\xee\xde\xca\x2c\x51\x7b\xd1\xf7\x4f\x63\x6d\x6e\xca\x3c\xd1\x40\xdc\x79\x48\x5e\xa6\x2b\x06\x8b\x86\xf0\xee\x2e\x43\x9f\x73\x65\x76\x4f\x6c\x48\x8b\x7e\xa2\x71\x56\x21\x26\xdc\x7d\x29\xd4\x21\x8f\xa3\xe7\x08\x44\x7c\x0e\x0a\xc3\x83\xd9\x18\xd0\xe9\x13\x26\x0b\x0a\x24\xe0\x48\xa1\xd8\xca\x66\xfa\xdd\x8b\x80\x3b\x2d\x06\xa2\xfd\x47\x24\xe2\xf9\xf9\x47\x6d\x21\x26\x84\x02\xf2\x16\x4b\xe1\x2b\xc1\x80\xc8\xc3\xf7\x16\xfc\x85\x3d\xc4\x22\x80\xe1\x2c\xe6\xb2\x68\x2d\xc0\x63\x23\xa1\x2c\xfc\xc9\x2f\xbc\x4c\xdb\xbf\x4e\xe5\xc3\x57\x51\xb4\x6b\xf6\xeb\x0d\xc3\xa1\x26\x4a\xf6\xbc\xaf\xa1\x41\x21\xfb\xe1\x67\x30\x5c\x8b\x03\x2c\xc1\xca\x3c\xe0\xa0\x5b\x4e\x7e\x33\xec\xa2\x88\x36\xde\xf2\xa8\xaa\x6f\x93\x22\x23\xf5\x73\xeb\x49\xe6\x11\xd9\x1b\x42\x24\x93\xb5\x54\xa1\x3e\x8a\x92\x02\x22\x53\xe6\x00\x52\x61\xb1\x2c\x29\xf6\xe3\xd0\x46\xd2\x9a\xed\x5b\x6a\x85\x42\x7c\x11\xf5\xb3\x12\x60\x84\x27\x45\x82\x64\x48\x16\xc4\x8b\x6f\x22\x12\xf8\xab\x93\x8f\x57\xe9\x25\xe6\xb2\x5a\x55\x63\x90\x2c\x50\x2c\xc9\x05\x72\x06\x6b\x63\xbd\x15\xc9\x83\xd9\xa8\xcd\x65\xed\x16\x28\x9c\x00\xcd\xb5\x37\x97\xd8\xec\x80\x78\xf8\x5e\xec\x74\xa8\x26\x48\x2b\x8a\x75\x2d\xc8\xc4\xf4\x87\xe6\x6b\xff\x54\xc0\xc0\x2d\xa8\x07\xdb\xc1\xf8\x4d\xac\xf4\xbd\xf9\x71\x0f\x02\xb5\x51\xb8\x59\x83\x3e\x95\xd2\xfb\x14\xe9\x98\xf0\xe3\x4c\x73\xe8\x41\x66\x00\x21\x0c\x41\x82\x61\x5e\x0c\x3c\x7c\xcd\xfb\x76\x2e\x89\x9b\x3c\xb8\xe4\xcc\x81\xd3\x9c\x36\xca\xef\x46\x46\xe4\x5d\x85\x9b\x06\xb8\x19\x2d\x4f\x65\xb5\x4a\x1b\x6c\xb5\x62\xb4\x73\x09\x55\x63\x06\xac\xf5\xe1\xb5\x56\x78\x20\x72\x91\x26\xb7\x13\xad\x18\xa4\x99\xe1\x37\x89\x9e\x10\x65\x29\xf1\xf5\x13\x09\x33\x7c\x33\xd9\x0a\x14\xb4\x30\xc1\x9b\xf3\xb3\xeb\xf3\xdb\x2f\x86\x66\xb4\x50\xc2\xd1\x70\x46\xdb\xce\x37\xe7\x6f\x67\x77\xef\x6e\x17\x6f\x2e\xae\x9f\x03\xcf\x48\x1f\x1d\x00\x68\xbc\x21\xc9\x83\x33\x25\x0b\xf1\xf9\xa8\x3b\x39\x2f\xe5\x82\x8f\xc0\x62\x39\xd1\x93\x3e\x73\x07\x0b\x6d\x4a\x36\x38\x3d\x05\x22\xc7\xc4\x1b\xcd\x29\x34\xac\xbc\xd3\x70\x95\xa4\x29\xe4\x19\x3b\xf7\x3a\xe5\xb0\x99\x41\x85\xf3\xc7\xf2\x81\xd2\x99\x3a\x97\xcb\x8a\xa2\x06\xb8\xfc\x36\xe6\x11\x8c\x19\xc6\x99\x19\x80\x3c\x81\xfc\xcd\x3e\x55\x87\x75\x22\x85\x6f\x06\x4a\x48\x97\x92\x75\xf2\x5c\xd3\x24\x3e\x27\x24\x8a\x0c\xaf\xa1\xb6\xa6\x5d\x71\x95\xf5\x69\xcd\x4f\xfb\xa1\xeb\x21\x6e\xe2\x44\xa2\x61\x5a\xd9\xcd\x37\xed\x4b\xf7\xd4\x6f\x01\x18\x77\x33\x93\x1c\x62\x10\xa0\xd2\xec\x27\x92\x26\x02\xd5\x9e\x7c\x70\xe2\x3e\x41\xe8\x90\x5a\xd5\xc6\xd9\x1c\x85\x66\xac\x13\x88\x54\x70\xa2\x4e\x89\xd2\x52\x17\x22\x27\xb7\xc9\xec\xd7\x9b\xb9\x7c\x6d\xae\xaf\x97\x74\x0b\x91\x22\x10\x56\x81\xc0\x15\x55\xa9\xdf\x5a\x28\xe1\x09\xf6\x1d\xfa\xa8\xb7\x82\x4b\x8d\x0a\xfa\x69\x2a\x72\xbf\x32\xb0\x3d\x42\xc4\xa4\xa2\x08\x5c\xb1\xfe\xf7\x24\xa2\xae\x60\xd7\x9a\xf6\xd2\xa7\x24\x23\x5e\x5f\x4f\x5d\x69\xec\x80\x67\x7e\xce\x95\xd3\x92\x56\x33\x74\x15\x11\x14\xbc\x75\x11\x55\x93\x5c\x06\xad\xa5\x5b\x2c\xee\xb7\xa5\xf4\x84\x4b\x69\xc0\xbd\x1e\xde\x12\x6c\xa3\xcc\x01\xea\xe4\x72\x7c\x98\xd9\xd1\x68\xa4\x00\xfa\x32\xc3\xd8\x7a\xeb\xd4\x24\x23\x8f\xc1\x7e\x40\x51\xc7\x41\x6b\x67\x2d\x7c\x3d\x5e\x9b\xcc\xc6\x76\x7a\xd5\x28\x9f\x87\x17\x6f\x66\x41\x86\x52\x15\x96\xe1\xc2\xe1\xfa\x08\xa4\x68\xbe\xe0\xa8\x55\x7a\xdb\x48\x74\x25\xd6\x4a\x59\x1c\xa9\xe8\x76\x1b\x82\x21\x2b\x39\xbf\xd8\x8a\x90\x2d\xc0\x32\x04\x38\x86\x91\x31\x8b\xef\x70\xcd\xd0\xea\x9a\x73\x6c\x95\x07\x81\x1d\x2e\xaf\x2e\xcf\x43\xa8\xc2\xc5\xe5\xed\xf9\x1f\xcf\xaf\x2b\xd9\xe2\xef\xae\x66\x95\x8c\xef\x9b\xdb\xeb\x5a\xa2\xf7\xeb\xab\xab\x77\xe7\x0d\xcc\xc3\xf9\xed\xc5\xfb\x4a\xe1\x6f\xee\xae\x67\xb7\x17\x57\x95\xef\xbd\xbe\xb8\x9c\x5d\xff\x7b\xf8\x97\xf3\xeb\xeb\xab\xeb\x5a\x7d\x77\x67\xfd\xe8\x89\x4a\x37\xda\xdd\x3f\x3e\x38\x1b\x10\x77\xb6\x6e\xe3\xaa\xa6\xea\x11\xbb\x78\x20\xf2\x6c\xdf\x72\xb4\xc9\xe0\x71\xc8\xe7\x8f\x1b\xc3\x34\x75\xd4\xaa\x7b\x7a\x11\xd8\xca\xd0\x65\xfc\xb8\x63\xcf\xdc\x6a\x8b\xa7\x40\x02\xf6\x1a\x80\xae\x96\x9a\xe3\x56\x17\x90\x31\x87\x43\x9b\x41\x04\x6b\xcd\x3b\x25\x90\x64\xfc\xec\x2d\xb5\x75\xec\x6b\xa7\x27\x8a\xda\xc3\xb7\xf3\x54\x5c\x1b\x7d\x8d\x0e\x2a\xb3\xa9\xec\x49\x6c\x0d\x05\xfb\x61\x70\x71\x43\x37\xcc\xca\x09\x96\x63\x97\x5a\x67\x7b\xbe\x49\x3f\xb7\xdb\xd8\xf6\x53\x25\xcd\xb6\xd7\x88\x40\x46\xb4\x1b\x08\x99\xc6\xb4\xfb\x96\xeb\xfb\xb1\xed\xa6\x4a\x9a\xed\x06\xb3\xef\xa0\x76\x83\xc3\xbb\x68\x27\x69\x19\x71\x88\x85\xc5\x54\x9b\xe7\x32\xc8\xdd\x57\x02\x51\xdc\x61\x6d\x34\x1b\xe0\x79\x9f\x97\x19\x1f\x1e\xc8\x80\xd6\xb8\xed\xca\x6b\x9c\xe5\x37\xf0\x29\xf4\x70\x99\x0b\x7e\x1f\xab\x47\x9a\x8f\x3a\x32\x94\x0d\x3a\xcd\xab\x03\x64\xce\x70\x7b\x45\x80\x94\xbe\xa9\x12\x51\x6a\xbe\x78\x80\xc9\x25\xc4\xba\x8d\x36\x58\xa0\xe6\x5a\xa7\xb9\x01\x62\x21\xe9\x67\x67\x2e\xd1\x9a\x6f\x53\x84\x35\xb3\x6a\x5a\x44\xc4\x14\xd0\x55\x67\x43\x63\x70\x5d\x07\x13\x4b\x09\x1c\x65\x0e\x60\xba\x65\x0e\x6f\x26\x18\x90\x44\x82\x33\x39\x37\x0f\x9e\x5c\x44\x89\x16\x81\xe4\x54\xeb\x8d\xfd\xe9\x38\x81\x8a\x82\x17\xad\x6e\xd7\xc1\xfe\x70\x1e\x15\x25\x4f\xd9\xa7\x52\xe4\x3b\xe2\xf7\x43\x5f\x25\xfe\x25\xe2\x12\x33\x45\x0a\xb1\xcd\x20\x67\x3c\x4c\x71\x98\xcb\x5f\x01\x28\x81\x53\xf0\x42\xb3\x3f\x02\xe4\xc1\x7e\x99\x2e\xe1\x2d\x2f\xe0\x2e\xfe\x33\xd6\xe1\x3e\x9b\xce\x65\x45\xc2\x25\xf8\x55\x45\xcd\x65\x3a\x97\x56\x43\x21\x56\x91\x9e\xc2\x8b\x6f\xaa\xf2\xf5\x29\x09\x24\x9b\xc5\xae\xee\x97\x4a\xdd\x9f\x0a\x79\x0a\x3e\xa9\xe2\x94\x97\x85\x3a\x05\xb8\x14\xce\xbf\x3e\xb5\x3a\xaa\x56\x88\x56\x9f\x6e\x92\x07\x01\xff\x6f\xba\x29\xb6\xe9\x3f\xe9\x6c\xf3\xf9\x64\x9d\xe6\x27\xe6\xb7\x27\xe1\x6f\x4f\xec\x6f\x4f\xec\x6f\x4f\xcc\xcf\xf0\xff\x65\x3b\x0c\xef\x88\xcf\xdc\xdc\x65\x93\xb9\x4c\xa4\x16\x79\x01\xd6\xcf\x63\x9e\x14\x5e\x2b\x67\xc7\x5e\xfc\xcf\xff\xb0\x69\xce\x1f\x7d\xbe\xe5\x07\xf4\x2f\xfe\xed\x6f\x2f\x20\xa0\x8a\x49\x3d\x19\xcf\x3f\x95\xa2\x98\x4b\x2d\xcc\x26\x64\xff\x67\x2e\x21\x02\xbb\xdd\x2d\x0a\xf4\xbb\xa2\x0f\x32\xd6\xec\xdf\xb0\xcc\x0b\xe4\xba\x8c\xb5\x29\xa9\x23\x9d\x20\xe1\x69\x8b\xf4\x76\x87\x8b\xfe\x53\xfa\x86\xbe\x3f\x62\x5b\x7f\x4a\xab\xbb\xda\xaa\xb5\xe8\x4f\x29\x5c\xa0\xa9\xe2\x16\xac\xc5\xdc\xe2\x85\x77\x32\x35\xae\x6d\x8f\x34\xa0\x01\xcf\x1a\xa6\x6f\xdf\x2b\x37\xc8\xb7\x6d\x3d\xf7\x8d\x63\x04\x62\x05\x3e\x0e\x01\xd1\xf3\xc4\xec\x90\x1b\xf4\x84\x82\xe5\x86\x3d\x07\x9b\x94\x42\xe7\xae\x3c\x74\x5c\xe8\x3f\xbc\x3a\x3d\x9d\xb0\xb5\x86\xff\x59\x7e\x82\xff\x01\xf4\xd0\x53\x51\xc6\x36\x06\xd3\x01\xe1\x9a\xb3\xbc\x7f\x26\x9e\x02\x45\xf7\x25\x58\xca\x6b\xcb\xf4\x75\x29\xe3\x54\xf8\x14\xc8\x4a\x48\x24\x55\x56\xfa\x1f\x1d\x63\x75\x3d\x18\x98\xe3\xa5\x88\xb8\x39\xf8\x1a\x75\x23\xb8\x54\xad\x0a\x21\xd1\x1b\x96\x7b\xb9\x38\x8e\x9e\x2b\x30\x8b\x01\x0a\xc9\x0b\x82\x9c\x0b\xf8\x23\x54\x02\xb4\xdf\x93\xfa\x47\x6c\xa7\x4a\x62\xb0\x06\x5e\xd6\x58\x44\x29\xc8\x04\x58\x6e\x1a\x96\x8b\xa2\xcc\x25\xe3\x2c\xe3\x32\xe6\x1a\x56\xe0\x2a\x87\x68\x67\xce\x78\xb3\xa1\x13\x84\xe3\xaa\xb2\x00\xc6\x25\x44\x16\x84\x23\x81\x14\xe3\x41\x9b\x27\x41\x23\xf0\x4e\x00\xa6\xe3\xc6\x0f\xa7\x73\x69\x05\xcd\x08\x0b\x87\x9e\xb2\x48\x65\x3b\xe2\xd3\xa9\x0f\x7a\x62\x3d\x67\x34\xdc\x13\x8f\x37\xa9\x7f\x77\xc2\x92\x6a\x68\x0d\xd8\xcc\x8b\x40\x35\xda\xea\x6e\x7f\x27\x64\xa4\x62\x91\xeb\x97\x66\x1b\x26\xee\xdd\x81\xf6\x43\xa2\xfd\x64\xc0\x29\x65\x2e\x37\xf2\x16\x9a\xe2\x9d\xec\x8f\x19\x9d\x0a\xff\x75\x9b\x9d\xb3\x7f\xab\x7c\xeb\x28\x98\xb6\xf6\xd2\x7f\x7e\x51\x44\x4c\x88\xeb\xb4\x6f\xce\xc3\x5d\x10\xb8\x65\xc3\x13\x17\x0b\x45\x1b\x87\x8c\x13\x2b\xd1\x9b\x14\x20\xb1\x97\x0b\x5d\xcc\x25\xdd\xc0\x13\xb6\x12\xdc\xd8\x79\x13\x16\xe9\x07\x3c\x8c\xf1\xba\x2f\x1e\x95\xc7\xe0\x58\xf1\x14\x00\xc3\x56\x0a\xf7\x4e\x62\xfc\x1a\x20\x0a\x78\x54\x20\xc0\xa0\x53\xcd\xdd\x9a\x2a\x30\x58\xad\x07\xe2\x01\xe3\x60\xb5\x38\xea\xba\x57\xa1\x14\x0c\x8c\xc4\x0e\x03\xc5\xac\xde\x0e\xfc\xc0\x1c\x3c\xd8\x3b\x84\x81\x04\x87\x23\x58\xdc\x84\xa5\xc5\x7d\xe6\x63\xb8\x21\x21\x3a\xf8\x66\xba\x36\x55\xcf\x40\x40\x03\x0e\xf3\x5b\x98\x9f\xee\x75\x58\x69\x91\x5b\xa1\x10\xec\x2b\xd2\x17\x6e\x92\x3c\x3e\xc9\x78\x5e\xec\xec\xf2\x4d\x93\x25\xe8\x0b\xa4\xc9\xbd\x60\xb3\x3c\x57\x8f\x4f\x3d\x0a\x9d\x47\x4b\xd7\x0b\xfb\x18\x24\xfb\xd8\x57\x7e\x2b\x79\x69\xdd\xdd\x71\x18\x51\x6a\x97\xe3\xa3\xb5\x9e\x5c\x14\xf9\x6e\x61\x16\xe2\x36\xeb\x3c\x29\x06\x25\x4d\x0c\x37\x72\xc7\x71\xb0\xd6\x5c\x18\x9d\x1c\xac\x95\x59\xfd\x76\x38\x58\x5b\xe8\x55\x9b\x1c\xac\x17\x97\x17\xb7\x17\xb3\x77\x17\xff\xaf\x56\xe2\xaf\xb3\x8b\xdb\x8b\xcb\x3f\x2e\xde\x5e\x5d\x2f\xae\xcf\x6f\xae\xee\xae\xcf\xce\xfb\x49\x95\x9a\xad\xf7\x26\xf8\x09\x0b\xeb\x79\xc5\x6e\x03\xa0\x06\x26\x1b\x90\xfd\x4d\x02\x9b\xb0\xaa\xcc\x66\x4e\xe4\x7a\x02\x1b\xf5\x15\x3b\xcf\xf3\x8b\x2d\x5f\x8b\x0f\x65\x9a\x02\x9c\x0a\x33\x7b\xce\x72\x01\x0f\xcf\x09\xfb\xa0\xe2\x8b\xe0\x77\x90\x8e\xd8\xda\x0d\xa8\x9f\xc7\x71\x2e\xb4\xc6\xea\x27\x54\x7f\x00\x1e\x72\xa9\x8e\x04\x9e\xe3\x0f\x3c\x49\xcd\xfb\xed\x15\x7b\xcd\xa3\x7b\xb5\x5a\x61\xfa\xcc\xc4\x25\x4e\xb1\x4f\xa5\x2a\x38\x13\x9f\x23\x20\x12\x6b\x5f\x27\xef\xd4\xfa\x2b\x40\x95\x07\x84\xa7\x3a\x1e\x29\x20\xa4\xb6\x68\xbf\xce\xdb\x0f\x02\xea\xe5\x7b\xfc\xe9\x5b\xfc\x65\xbb\x83\xb2\x48\x9f\x20\x3d\xfe\x9d\x5a\xb7\xcb\xda\x80\x75\x4d\x5a\x3c\x14\x48\x88\x88\x6c\x43\xad\x99\x4e\xe4\xfd\x5c\xfe\xba\x11\x92\xa9\x32\xc7\x3f\xc1\x33\xdf\x98\x99\x69\xa9\x37\x02\x74\x6e\x27\xec\x51\xb0\x2d\xdf\xa1\xd9\x0c\x6f\x02\xa7\xc5\x01\x4b\x06\x6e\x11\xf3\xeb\x34\x91\xe6\xb4\xc8\x12\x9b\x97\x50\x9f\xfa\xa7\x78\x71\x59\x1a\x3d\x7e\x3c\xcb\x6d\xdf\x7d\x5a\xc1\xe7\x81\xab\xcc\xe3\x26\x2d\x40\x88\x4e\x6e\x90\xfa\x54\xea\xbe\xcc\x3c\xe1\xe6\x0b\x1b\x9c\x84\xe1\x7e\x50\x49\xcc\xe2\x32\x4b\x93\xc8\x9d\xbb\x8f\x2a\xef\x64\x15\xc6\x04\x9a\xe1\xb7\x4e\x3d\x2d\xac\xaf\x63\x2d\xd9\x39\x01\x92\xae\x87\x5f\xf8\x99\x19\x96\x59\x22\xa3\xb4\x04\x11\xb3\x52\x8b\xfc\xa4\xc8\x93\xf5\x1a\x0c\x70\x9b\xeb\xf7\xed\x53\x30\x7b\x8a\xc7\xe3\xd3\xda\xc2\xa4\xf3\x54\xad\x93\x88\xa7\x21\xb8\xd9\xa3\x22\x1c\xc7\xab\xdd\xf6\x24\xf1\x0a\x79\x10\xb6\x41\x9d\x0c\x48\x59\x2e\x80\x66\x78\x01\x47\xf9\x82\x8e\xbb\x63\xda\xbd\x62\xe6\x81\x8e\xed\x0a\x19\x58\x6d\x78\xc1\xde\x70\xbe\x6e\xab\xf3\x05\x26\x26\x6a\x80\x33\xf5\x28\x45\x0e\x16\x2c\xc0\x3e\x4c\x4f\xa5\x02\xdb\xc4\x69\x7f\x39\x7c\xb2\xd5\xbe\x5b\x39\x20\x36\x66\xce\xae\x93\x07\x21\xbf\x3c\x65\x76\x50\x41\xc4\xa3\x8d\x58\x58\xbb\xfc\xa9\x8f\x2c\x77\x01\x8c\x3c\xac\xac\x08\x47\x78\x94\xba\xf0\x26\x3c\x9d\xb0\xc5\xcd\xb3\x0b\x03\x89\x3d\x19\x59\xa6\x11\x8b\x58\x44\xf7\x5f\xfc\x68\xf6\x20\x2b\xdb\x10\xc6\xd9\x1b\x11\xdd\xb3\xbb\xeb\x0b\xcc\x06\x4e\x0a\x66\x8e\x02\xbd\xf1\xa2\x42\x9d\x6f\xb7\x82\xaf\x9f\x81\xd1\x69\xa8\x2a\x92\x27\xc2\x77\x5a\x70\xa6\x41\x04\x88\x82\x7c\x49\x73\x48\x52\x2e\x0d\x00\xc1\x78\x61\xb5\x72\xc0\x11\xcf\xf4\x16\xa4\x71\xca\x22\xd0\x93\x4b\xf9\x52\xa4\x1d\xb4\x90\x99\x8a\x17\x36\x4e\x72\x2c\x98\xa7\x51\x96\xf5\x63\x50\xd4\xd1\xe6\x31\x70\x63\xb1\xde\xd2\x17\xd9\xfd\x8f\x3a\xa0\xd7\x50\x21\x3b\x35\xbc\xeb\xb9\x86\xf4\xee\x55\xb2\xb6\xd1\xb6\x64\x45\x02\x3e\x98\xd0\x0f\x52\xf5\xe6\xbc\x34\x25\x7d\x50\x31\xc1\xf4\x1c\x89\x99\xb1\x82\x04\x79\x4f\x3c\xae\x22\x6c\x82\x93\xf3\xd7\xe0\x1b\xd0\x85\xe0\x31\x53\x2b\xf2\x26\x66\x59\x9a\x00\xef\x70\x8c\x14\xe7\xc0\x9e\xa1\xab\xe8\xf8\xb0\x34\xdb\xd8\x80\xe4\xe3\x83\x05\xe2\xf5\xc6\x1b\x7d\x90\xcb\xf4\xab\xea\xe4\xae\xdb\x54\xc7\x4a\xd5\xb9\x7c\xa4\x43\x9f\xd0\xfd\xde\xb4\x75\xaa\x96\x30\x50\xdd\xa0\xb8\x9e\x03\xda\x9c\x4e\x79\x12\x8f\xb9\xde\xed\x98\x5c\xb9\x9f\xf6\x35\xf0\xca\x7a\x3a\x5c\x4d\x76\x9a\x19\xb1\xc2\x87\x11\xfc\x5a\x1a\xfb\xbe\xb7\x36\x04\x08\xb5\x8b\x10\x3a\x6b\xbc\x20\x4d\x04\xd8\x15\xee\x38\xee\x78\x56\x57\xfb\x72\xd4\x44\x37\x89\x51\xf6\x8c\xa5\xe7\x52\xe9\x9f\xe4\x23\xd8\x2d\x70\xe7\x3a\x8a\x8b\x31\xc4\xd6\x76\xea\x10\xe3\x6b\xc6\xd3\x4f\x62\x25\xf9\x62\xd0\x8c\xd6\xc7\xdd\xee\xe2\x63\x86\xfc\x39\x76\x54\x59\x28\xef\xf2\x87\xfe\x5c\x00\x69\x68\x98\xd6\x05\xc7\xc6\x45\xdc\x01\x17\xb0\x36\x98\xdd\x9a\x23\x40\xa8\xa3\x60\xb0\x59\x2e\x6c\xf0\x68\x27\x0a\x97\xdc\x9f\x5a\xe9\x32\x88\x8d\xb8\x5e\x57\xd9\x4d\x2c\x81\x81\x63\xa4\x82\x48\x06\xd9\x7b\x91\xda\x66\x4a\x02\x36\x05\x53\x95\xe6\x92\x0a\xb7\x02\xd4\x2e\xbc\x52\xc9\x77\x9b\x90\x57\x0b\xb3\x27\x84\x56\xe9\x03\xc5\xd1\x02\x9d\x04\x90\xae\x33\x0d\x3c\x33\x0f\x04\xf3\x1c\x86\x00\x2f\x1d\xef\x00\x07\xaf\xa9\x30\xe7\x62\x9d\xe8\x42\x84\x29\x82\xe1\xef\x9f\x4c\x30\xb3\xf2\x82\xee\x1b\xfa\x4e\xc1\xcc\x7d\xa6\xb0\xd9\xb5\x23\xda\xb3\xcb\x44\x7c\xe1\x7e\xd7\xbf\x18\x6a\x59\xdc\xfe\x90\xa8\xdc\x02\xb8\x06\xf0\x09\xa0\x91\xef\x49\x3b\x85\x03\x37\x49\xc4\xc4\xc3\x3d\xaa\xcd\x4c\xd1\xba\xe4\x39\x97\x85\x10\x7a\x2e\x29\xfa\x88\xbc\x65\x21\x35\x47\x0d\x0d\xe7\x0c\xdc\x48\xe9\x02\x69\x80\xe0\x27\x2b\x9e\xa4\x65\xde\xf9\xe6\xc4\x55\x79\x10\xf7\x40\xdf\x28\x9d\x41\xb1\xac\x6d\xd2\x5c\x16\x6b\xb0\x8b\x1c\x75\x46\x3d\x76\x58\x4d\xf2\xec\xe8\x82\x3d\x72\x87\xcf\xb7\x73\x38\x76\x24\xb6\xfe\xa8\x17\x99\x1a\x71\xe2\xfd\xfc\xa3\xfe\xa0\x3a\x52\x82\xf5\xa7\x86\x63\xac\x27\x86\xfe\xa9\x4b\xf3\x81\xeb\x7b\x08\x3f\xed\x7b\x8f\x0f\xa2\x64\xdc\x1b\xa4\xea\x3c\xbb\x60\xd5\x6e\xb8\x8c\x53\xf3\x4e\xe5\x45\xed\x06\xf2\x60\x5f\x63\x17\x17\xf6\x70\xec\xce\xec\x82\x44\x89\x45\xd4\xc8\xb2\xdb\x37\x4e\xb5\xf4\xbc\x5e\x40\x5d\xad\x96\x6a\xd2\x5c\x5b\xb2\x86\xbf\xd9\x49\x69\xd5\x6d\xd8\xee\x25\xb8\x4a\xd6\xdf\xc0\x23\xeb\x7d\xf3\xa4\x8c\x68\x2b\xd2\xfd\xe5\x90\xdf\x47\x6e\x46\x48\xb2\x31\x87\x59\x48\x4e\x3c\x97\x24\xc4\x8c\x91\x57\x08\xb9\x21\x17\x95\x66\xdf\xbb\xcc\xcb\xef\xff\xd9\x32\x11\xed\xd8\x0a\xc6\x1a\xe8\xbe\x54\x14\x95\x39\x84\x45\xc9\x75\xc3\x04\xde\x4d\x7a\x14\xc9\x06\xdc\xc8\x0e\xcc\x82\xe6\x53\x9b\xf5\xe0\x7c\x75\x95\x4e\xdd\x82\x8b\x06\x25\xa5\xdd\x5d\x48\x4a\x41\xb9\x2e\x98\x2e\x44\xd6\x7a\x2a\x55\x8c\xae\xaa\x6a\xfa\x11\x66\x97\xd7\x6c\x1f\x68\xeb\x8e\x38\xa3\x67\xc1\x73\xfa\x4f\x37\x57\x97\x2c\xe3\x3b\xc0\x85\x15\x8a\xe4\xee\x81\x8c\xb1\xbe\x7f\xf7\xcd\x40\xb5\xf3\xd5\xcd\x86\x63\x6a\x01\xa6\xed\xbe\x5b\xaa\xb1\x69\x43\xc1\x9a\xa1\x25\x69\xb6\x72\xae\xd2\x93\x2c\xe5\x32\x80\xfe\xea\x29\xab\x55\x1f\xc6\x7a\x5d\xd4\x87\xd0\x34\xd0\x00\x70\xa7\xd0\x5a\xc8\xcb\x56\x70\x68\x55\x08\xfe\xa8\xf0\x6e\xe7\x19\xd1\x0b\x7a\x7b\x8f\xd2\x06\x3c\x32\xdb\x04\x99\x05\x6c\xc8\xda\xa1\x1e\xb8\x06\x40\xe2\x88\x89\xea\x57\xad\x9f\x4b\x2b\x4a\xac\x1e\x35\x8b\x91\x7b\xa1\x4c\xf4\x06\xfc\x93\x18\x10\x00\x70\x10\x9d\x2f\x88\x5c\xc8\xb9\xd4\x66\x42\xc1\xa7\x29\x1e\x04\x39\x36\x2a\xc1\xb8\x8b\x37\xef\x5c\x7c\x1f\x27\x89\x74\xe3\x3a\x86\x3e\x30\xcc\x8e\x79\xc0\xb4\xca\xa8\xef\x27\xf6\xaf\x4a\x62\x84\x0f\xfa\xb1\x1a\x1b\xed\x25\xee\x9b\x25\xc7\x3c\x53\xb7\x3a\x41\x50\x16\xa4\xa4\x2a\xa9\x63\xe1\xe8\xdd\xc9\x23\x8f\x9f\x56\xf2\xe7\xfd\xa2\x02\x83\x1f\x61\xc3\x32\x01\x47\x9c\x3d\x01\x09\x9c\xc3\xd6\x38\x7b\xd9\xec\x72\x10\xea\x01\xf6\x2a\xf4\xa4\x4d\xd9\x8d\x10\xec\x23\x8c\x94\xa9\xec\x23\x09\xc1\x01\x5c\xb0\xe0\x49\xab\x4e\x0f\x7c\xfb\x42\xae\xd4\x71\x87\x41\xbe\x6e\xc0\xd1\x8e\x1a\x95\xf6\x76\x1e\x0b\x78\x83\x54\x46\xf9\xbc\xf9\xf7\xad\xfd\xda\x03\x6f\xfb\xe0\xdf\xe4\x94\x95\x67\x5b\x6a\xee\x67\x98\xe2\x43\x18\x9e\x6a\x8b\xc4\xf4\x72\x82\xac\xc5\xf7\x52\x3d\x4a\xb4\x05\xa8\x26\xf6\x9d\xd9\x7f\x70\x81\xa1\x03\x15\xcd\x82\x12\x4f\xc3\x97\x40\xa3\x3c\x73\xff\x66\x37\x18\x2b\xc2\x36\x83\x38\x8a\x06\xe3\x87\x64\x4d\xe0\x34\xff\x6e\x36\x61\xaf\x27\xec\x6c\xc2\xa6\xd3\xe9\xcb\x09\xca\x4b\x53\x8b\xf0\x27\x88\x1c\x2b\xf8\xda\x94\x4d\x72\x11\xab\xa0\x02\x50\x69\x32\x97\x95\x65\x0b\xe3\xfe\x5b\x81\xe7\xc1\x76\x01\x73\x18\x29\xe1\x82\xe2\xea\xd1\x46\x25\xbe\x51\x00\xd1\x14\x91\xca\x2d\xc8\x53\x17\x2a\xb7\x80\xb5\x07\x9e\xf3\x44\x42\x6a\x37\x6f\xc2\x75\xa9\xe6\x80\xdc\x59\x7c\xe6\x5b\xe8\x7f\x22\x1d\xbf\xa5\x19\xa6\x5b\xd7\xfe\x62\x97\x91\x43\xfa\x31\x4f\x8a\xc2\xdc\xce\x7a\x2e\x6f\xd8\xab\x7f\x63\xb3\x2c\x4b\x05\x9b\xb1\xbf\xb2\xd7\x5c\x72\xc9\xd9\x6b\xf6\x57\x76\xc6\x65\xc1\x53\x55\x66\x82\x9d\xb1\xbf\x9a\x61\x33\xe5\x5d\x2a\x73\x1d\xee\x26\x8c\x33\x59\xa6\x78\xeb\x7f\x67\xc1\x60\x2f\x5d\xbf\xb8\x9f\x9d\xa5\x28\x1e\x85\x90\x4c\xab\x2d\x5d\x85\x7f\x71\x31\x09\x9d\xc8\x75\x2a\x0a\x5a\x0f\x55\xd8\x1e\x56\x70\x02\x3d\x7d\x35\x97\xce\x97\xf7\x17\xd3\xe2\xbf\xb0\xbf\xb2\xcb\x32\x4d\x4d\x93\xcc\x41\x63\x16\xd2\x2b\x66\xd3\x28\x84\x9c\x3e\x26\xf7\x49\x26\xe2\x84\x43\x22\x85\xf9\xd7\xe9\x2d\xcc\xf6\xa2\xf4\x9c\x79\xe1\x9e\x76\x82\x33\xc7\x1c\x3d\xcf\x92\x94\xed\xe4\x90\xec\xe4\xf7\xbc\xfc\xaa\x3f\x1d\x6f\x11\x79\xa6\x50\xda\x0f\x64\xb0\xa2\x58\x50\x28\xbb\x74\xd0\x11\x50\xbb\x6c\x6d\x59\x2d\x57\x41\x78\xa9\x1f\x7b\xc8\x82\xd0\xd9\x93\xbf\x21\x07\x68\x17\x0d\x3d\x72\x1b\xca\x2b\x95\x34\x77\xb0\x25\x3d\xd5\xcf\xa0\xa8\x90\x53\x5c\xf9\xa5\xaa\xf4\x56\x19\x62\x95\x0c\x92\xc4\xab\x35\xf6\x8e\x7c\x17\x98\xa0\x66\xb6\x69\x92\x9e\x9a\xad\x7a\x7a\xa9\xa4\x79\xb6\xea\x64\x8d\xf4\x44\x00\x23\x42\x2d\x39\x6b\x14\xdc\x56\x4d\xd6\x60\x0b\x80\x7d\x60\x9a\x84\xd0\xb6\xc2\x9c\x02\x66\x0a\xd2\xdd\x5c\x9a\x5f\xd0\x8d\x04\x30\xf7\xc4\xb1\xd8\x62\x6d\x56\x7c\x9f\xea\xa2\x03\x39\x28\xbc\x65\x81\xf5\xe5\xd0\x1e\xb1\xe0\x28\x65\xeb\x08\xaf\xf8\x65\xc0\xe0\x46\xa5\x59\x7a\x0f\x8c\x7b\x2e\x45\xaa\xe4\xda\xac\x8a\xae\x43\x40\x6d\x79\x72\x0c\xb0\x24\x6c\x02\x16\xd6\xd9\x02\x73\x59\xd2\x57\x68\x4a\xcc\x3d\x99\xc4\xfe\x7d\xaf\xcb\xa5\xb1\x23\x9c\x47\xd6\xdd\x86\xd4\xb9\xae\x84\xe2\xe3\xe2\xcb\x77\x5a\xe4\x40\xb3\x8c\x08\x07\xe7\xed\xc7\x8b\xd3\x93\x6d\x60\x8f\x86\x6d\xaa\x5e\x60\x6c\xbb\x2b\x84\xa2\x09\x8d\xd4\xea\x01\xeb\xf1\x6b\x62\x64\x87\x20\x67\xdf\xce\x2e\xde\xd5\xbe\xd7\x44\xce\xb6\xc0\x6b\x6f\x2f\xde\x9f\xbf\x59\x5c\xdd\xdd\x36\xbe\x67\x4a\xa3\x3f\xed\x01\xcf\x76\x8e\xde\x53\xc0\x07\x3f\xa1\xdc\xcb\x42\xad\x6c\x26\xe5\xf0\x3b\xbd\x21\xb8\x33\x0c\xa5\x12\x92\x6c\x87\xc2\x34\xcd\x85\xd3\x99\x0f\x2e\x17\x14\x91\x18\xd6\xd8\xfa\x80\x5d\xc9\xb7\xf8\xf3\x0f\x2a\x4d\xa2\x7e\xd0\x9b\xbd\xae\x36\xea\xb1\x05\x45\xb4\x14\x80\x02\x25\xff\x0f\x35\x0a\x2d\xf4\x42\x44\x85\x8f\xb8\x35\x3b\xf7\xbf\x1a\x68\xb3\xff\x0d\x8e\x1e\x65\x37\x6c\x20\xc0\xe9\x62\x78\x70\xb7\x02\xc1\x26\xf0\xca\xa3\xaf\x15\x72\xe9\x20\xb6\x1d\x71\x72\x41\x57\x46\x1e\x0e\xe8\xc7\x8d\x4a\xcd\x5b\x4c\xc6\x44\x56\x3a\x97\x99\xc8\x23\x05\x00\x15\xcc\x83\x57\x2c\xda\x24\x69\xec\xc5\x5b\xbe\x03\x44\x2f\xe0\xee\x5e\x92\x2c\x9f\x70\x31\x66\x5b\x7c\xcf\xad\x6b\x97\x9d\x15\x55\x3f\xce\x03\xf5\x74\x10\xbd\xbe\x65\xff\x2b\x41\xc9\x70\x28\x88\x5e\xa8\x16\x2d\x34\x83\x5e\x69\xcf\x28\x0f\x2f\xc8\x9e\xaf\xac\xf8\xa7\x7d\x38\x15\xb5\x79\xa5\x65\x56\x1f\x4a\x20\x9d\x45\x14\x15\x02\x48\xb4\x80\xe6\x6c\x05\x47\x5b\xcc\x53\x40\xd2\xa4\xce\xa5\x8f\x8f\xbe\xd0\xa1\x5d\xd6\x3a\xcf\xc8\xa9\x6a\x41\x80\x13\xf6\xa2\xd2\xd1\x17\x40\x4a\x2a\x15\xd4\x47\x31\xac\xca\xd0\xc0\x72\x9d\xb0\xa4\x98\xcb\x44\xe3\xca\xcc\x45\x2a\x1e\x4c\xeb\x42\x67\x31\x61\x5d\xec\xdb\xd9\x76\x1b\x70\xe4\xdc\xa6\x1f\x3b\x2d\x7e\xd8\x84\x79\x48\x6e\xc9\xc1\x31\x1d\x0b\x6d\xec\x46\x90\xe5\x10\x9f\xcd\x06\x48\x20\x16\x82\xf0\x8f\x58\x48\xdb\x3e\x40\x85\xa0\x96\xed\x5c\x5e\xac\x20\x07\x14\x32\x4f\xe3\x18\x5f\xa1\x56\xa8\xc1\x31\x8d\x25\xe4\x1c\x56\xf4\x26\xb7\x13\x41\xaa\x92\xb8\x93\xc4\x83\xc8\x77\x05\x38\x75\x61\x5c\xa5\xe0\xc5\x86\x25\xc5\x04\x28\xe2\xec\x49\x39\x97\x3c\x26\x39\x75\x2a\xce\x0c\x0d\xac\xfb\x9e\x79\xa6\xcf\x97\xea\xa1\xcf\xb0\x3d\x16\xf5\x85\xbb\x3a\x4b\xb9\x5c\xe0\x0d\xf2\x15\x70\x5f\x81\xe0\x67\x57\xa8\xb3\x5c\x2e\x1c\xad\xcd\x93\xb4\x33\x10\xae\x0e\x65\x78\x8d\x1d\x6b\x2b\x9a\xe0\x62\xf0\xb4\xd6\xf6\x79\xe2\xfc\x34\x84\x2e\xc8\x99\x8d\xc0\x0e\x3f\x05\x3c\x24\x8c\xd7\x90\x08\x76\xb5\xee\xc3\x84\xd9\x15\xf0\xad\xe2\x93\x86\xcc\x7c\xed\x0e\xa9\x4f\xfb\x78\x68\x4c\xc3\x42\x3c\x08\x1e\xb3\xa7\x59\xcf\x0b\x91\xe9\xf4\xa3\x34\xa1\x32\xb6\xb7\x41\xb8\x0f\x93\x27\x04\xfa\xe1\x9c\x9b\xa7\x5d\xd0\x35\x7c\x87\xa9\x16\x6c\xe5\x53\xfa\xa8\xe1\x9c\x1a\xea\x29\xf1\xb9\xd7\xd0\xae\x29\xbb\x90\xcc\x9a\x7b\x13\xf6\x02\x17\x96\x7e\x41\x2e\x48\x52\x05\xa6\xd8\x79\x4c\xbb\x87\xb2\x55\xeb\x50\x0c\xcc\x19\xf0\xdb\x0d\x23\x41\xbd\xd4\x86\xcf\x3a\x2e\xaf\x13\xc8\x59\x38\x24\x2d\x1d\xa3\x88\x4b\x2c\x80\x2e\x49\x7c\x76\xef\xd0\x68\x57\xde\x9b\xed\x3b\x6c\xe3\x5d\xec\xb5\xfd\xa1\x19\xa2\xac\xa4\xfb\xd4\x7e\xce\x54\x3e\x97\xb6\x34\x72\x49\x6a\xd4\x52\xaa\x17\x15\x40\xa8\xc9\xe6\x0f\x56\x2a\x80\x18\xac\x7c\x16\xa8\xb2\x79\xfe\xd5\xfa\x29\x00\xa0\x88\xa5\xf0\x7a\xe6\x53\x36\xf3\xb5\x19\xc3\xc3\x2c\xf0\x2d\x5e\xf3\x75\x8e\xc6\x34\x35\x83\x92\x14\x96\x12\x32\x48\x6f\xd0\x25\x10\x9b\xae\x4a\x73\x18\x05\xec\xaf\x73\x69\x06\x8f\xad\x12\xc0\xfd\xd2\xb8\xcc\xe5\x7b\xa5\x6d\x36\xbd\xf6\xe3\x61\x31\xa4\x34\x6c\x2f\x9c\x8a\x18\xfd\xe1\x0d\x5c\xda\xe4\xf3\xaf\x49\xfc\x43\x5e\x0b\x51\x62\xec\x54\x99\xfb\x4e\x45\x5c\xce\xe5\x7f\x99\xe1\x41\x25\x6b\x27\x03\xaf\x56\xb8\x85\x61\x06\x21\x58\xf2\x11\x0b\xfd\xee\x9f\x5f\x7e\x7c\x89\x38\xf4\x52\x83\x70\xe3\xa4\x7a\x81\x38\x22\xf0\x32\x4d\x21\x12\x6d\x7b\xe0\xc8\x28\x7c\x15\xbc\x0f\x96\x43\x8f\xba\x85\xac\x9a\x18\x43\x36\x7a\xdf\x0a\xf6\xce\xe7\x19\x8b\x78\x11\x6d\x4e\xac\x2d\x47\xc7\x98\xbd\xfd\x68\xfa\x50\xc1\xcd\x58\x5a\xed\x5c\xd8\xe6\xc1\x99\x6f\x1d\x3b\x5f\x65\xbd\x98\x2e\x00\xb0\xe6\xb6\x2e\x0c\xe3\xc8\x43\x71\x71\x7a\x21\x76\x6f\xe7\xb9\xaf\x5b\x59\x36\xff\xe2\x24\x2f\xb9\xe4\x5b\x11\xb3\x17\x90\x31\xf5\xc2\x4e\xfe\x5c\x66\xcb\x69\xba\x5b\x15\x44\xf1\x64\x06\x65\x0a\x02\x46\x7b\x6e\xb9\x45\xdc\x7c\x26\xed\x19\xec\xce\x87\x56\xbb\xad\xe3\xc6\xc6\xd5\x34\xdc\x60\x41\x1f\x97\x1b\x9d\x9b\x2a\x44\xa8\xca\xa4\xce\xf5\xfd\x84\x2d\x73\x2e\x41\x7b\x22\x0e\x8d\x2a\xbf\x3b\xe1\xf1\x8c\xfc\x49\x36\x85\x42\xf2\x74\x07\xd8\xf1\xc9\x5c\x22\xd9\x14\xb0\x12\xef\xa2\x34\x89\xd8\x3a\xe7\xd9\xa6\x66\x07\x89\x07\x21\x0b\x90\x30\xbd\x16\x5c\x1f\x17\xad\xcf\xeb\x25\xb0\xc1\xf1\x94\x99\x84\xd7\x07\x97\x35\x7a\x50\x68\x5e\xc7\xd5\x02\x70\x2d\x11\x2f\xc6\x51\x83\xec\x25\xb0\xac\xd0\xa2\x11\x47\x0f\x44\x20\x4d\xe7\x98\xad\x75\x5f\xf8\x1b\xc7\x95\x58\x2b\x2c\xf8\xff\xd8\x90\xbd\x63\xc1\x38\x8a\xcb\xf0\xa2\x6a\x45\x72\x4f\xef\xe1\x3d\xd7\x98\x00\x44\x9e\x0a\x0b\x16\x76\x07\xc7\x84\x24\xe6\x80\xe7\x8c\xfd\xb9\x5c\xaa\xd4\x12\xc5\x5d\xbc\x61\x2a\x07\x8d\x86\x42\xd1\x9f\x92\xb8\xcb\x3a\x48\x64\x2c\x3e\x1f\xc5\xd6\xd0\x7f\xd1\x5b\xb3\xd9\x54\x13\x48\x01\xd4\x3b\x0b\xa7\x53\x2e\xcc\x25\x5c\xd8\x97\x71\xe3\x5b\xba\x8e\x5c\x9c\xa5\xc5\x06\xe0\x84\x08\x64\xf7\x83\xba\xe5\x3b\x16\x6d\xb8\x5c\x07\xae\x09\x40\x77\x89\x4c\xe5\xa8\x65\xf8\x00\xb4\x68\x2a\xb7\xd9\xb0\x94\xe3\x49\x68\x7a\x17\x48\x40\x10\xab\xb2\x89\x9c\x7c\xbd\xce\xc5\x1a\x08\x0a\xe6\xb2\x92\xa5\x0e\x94\x70\x56\x46\x01\xeb\xe9\x4b\xf2\x7d\x1a\xa6\x8c\xae\xd7\x60\x91\xef\x5c\x8a\x24\x09\x81\xfa\xfd\x5c\x1f\xd6\x09\x4b\xc4\x74\xc2\x7e\xf0\xc0\x5d\x11\x29\xe9\x72\x2c\x3b\x12\xec\x6a\x2e\x7f\xb6\xe7\xe9\xd0\xa4\xd4\x68\x6f\x3b\x7c\xd6\x90\x13\x6d\x5d\x34\xbd\x49\xaa\x05\x2f\xca\x11\x77\x10\x49\x46\x9f\x99\x1f\xdf\xe0\x6f\x7b\xb1\xed\x3c\x33\xd7\x86\xa5\x33\x32\xdf\x37\x37\xa7\xa9\xdb\xd3\x1d\xb7\x8d\xf5\x5e\x07\x72\xaa\xba\x1d\xc8\x4f\x61\xaa\x5b\xce\x8a\xfd\x3e\xe4\xb4\x83\x87\xa1\xa7\x4f\x63\x5d\xc4\x16\xe4\x4b\xf0\x7d\x5d\x7f\xc6\xb6\x9c\x00\x59\xae\xe2\x32\x12\xb1\xd9\xb9\xf0\x1e\x42\x44\x8c\xa3\x83\xa8\x1c\x92\x6d\x17\x6d\x85\xd3\x06\x6e\xdd\x2f\xe5\x73\x18\x44\x23\xec\x86\xff\xae\xc3\xdf\x60\x2d\xbe\xb6\x41\x0f\xf7\x27\x8e\x53\x3e\xf2\x9e\x72\xd5\x57\xc9\x7f\x55\x9e\xac\x13\xc9\x0b\x95\xb3\xef\x5c\xd2\xe7\x4b\xa7\x18\xd4\x6d\x21\x8c\x3c\x26\x2a\x43\x84\xc7\xc4\x17\x35\x3c\xda\x16\xa9\xf9\x96\x2e\xf8\x36\x0b\xe9\x34\x9d\x1e\x33\x8d\x4c\x8a\x83\xe0\x6c\x13\xf0\x9d\x26\xda\xe7\xb6\xcd\x25\x45\x1c\x70\xde\x54\x1e\xf2\x41\x77\xde\xcd\x59\x59\x2c\x0e\xa4\x88\x09\xc8\x10\xb0\x9c\x71\x3e\x28\x42\x24\xbc\xe7\x59\xd7\x25\xc3\xc9\xef\x80\x19\x3e\x4e\xa9\xda\x9a\x2b\xd5\x45\x3a\x9d\xcb\x37\xae\x41\xaf\x58\x96\x0a\x73\xcc\x97\x5a\x30\xdf\x38\x9b\xa2\xdc\x37\x18\xe3\x3a\x01\x44\xac\x6f\xf6\x72\x88\x8c\xeb\x49\x9f\x97\x65\xc0\x64\xf5\x22\x01\xae\xdf\xd9\xb8\x97\x7f\xde\x56\xde\x8b\xb0\xae\x90\x4c\x51\x83\x91\x84\x9e\x0a\x77\x4a\x1b\xa3\xc4\x12\x8f\x9c\xa5\xaa\x8c\x19\x9d\xd1\x84\x2a\xc8\xa7\x78\xd9\x03\xbb\xe9\x74\xda\x45\xf5\x36\x52\xd8\xd6\x1d\xa7\xf0\xbb\xf6\xf5\x02\x9f\x75\x5c\x28\xbd\x27\x59\xb0\x90\x69\x90\x9f\x61\x25\xd3\x70\xc3\x02\x70\x57\x8c\x5d\x00\x2d\xd1\xdf\xce\xe5\x1c\x34\xb1\x7f\x3d\x1f\xd4\x17\x4f\x55\xbc\x77\x45\x8f\xed\xd1\x1e\xce\x7f\x60\x91\x1b\xe7\xca\x06\xcf\x41\x12\xa7\x70\x32\x86\xa1\x9e\x16\x9e\xdb\x4a\x08\x5d\xdf\x1f\x5d\x9d\xcd\x35\xef\xaf\x2a\xe3\xb9\x90\xc5\x02\x6a\x1c\x57\x19\x54\xf2\x01\x7e\x5e\x31\x6d\x07\xb9\xec\xff\xe3\x56\x61\x24\xc6\xae\xa0\xff\x64\x37\xe4\x7d\x34\x37\x4b\x02\x70\x5f\x7d\xcf\xbe\x4b\x00\x1d\x16\x44\xad\xdd\x79\xd4\x31\x5d\xd4\xa1\x03\x46\x2f\xe8\x50\xe5\x12\x1e\xd4\x21\xdf\x7a\x00\x15\x40\x29\xe4\x88\xa5\x1c\x67\x73\x29\xda\xbf\x05\x34\xf2\x97\x95\x7f\x03\xe5\xa7\x99\xbf\x94\xfd\xb7\xc8\x95\x4f\xdc\x41\xb7\x62\x58\x70\xef\xcb\xea\x70\x05\x5c\x7c\x39\xa1\xf6\x6a\x28\x3e\x08\x7f\x21\x56\x1e\xf4\xfd\x2c\x77\xf6\xe1\xd8\x11\xec\xcb\x44\xb4\xe8\x50\x9a\x18\xd4\x94\xc0\x45\x10\x2a\x47\x24\x35\xb3\xc3\x6e\xd0\x53\xf0\x2c\x11\xef\xe5\x96\x67\x84\xc4\x24\xd0\x77\x3d\xcc\x36\x85\x4e\xfc\xc7\x5f\xfe\x73\xda\xa5\x6d\x0e\x4d\x1f\x0b\x6c\x73\x8d\x7f\x9b\x27\x42\xc6\x10\x36\xe7\x71\x53\x04\x49\x56\xe2\x28\x95\x9b\xc7\x2c\xc3\x27\xc9\x6f\x6d\x37\x22\xf4\x02\x17\xd1\x17\xc0\x5e\x78\xdb\xc1\x6d\xdf\x4a\x64\xb6\xcb\xe8\xd3\x8b\x78\x27\xf9\xb6\xa9\x06\xff\xac\x6d\xdc\x25\x22\x8d\xa1\x89\x54\xfb\xbe\xf8\x61\x2c\xa2\xfb\xb1\xe6\xce\xc1\x14\xee\x22\xba\x67\x3f\xdd\xbe\x7f\x87\x8a\x9d\x89\x9e\xcb\x4b\x5e\x24\x0f\xe2\x2e\x4f\x5d\xe0\x86\x38\x79\xf2\xd4\xee\x91\x2a\xa5\x70\x40\x5f\x63\xf9\x87\xad\x4d\x14\x32\xbe\x6f\x77\x27\xcb\x32\xba\x17\xc5\x69\xce\x65\xac\xb6\xd8\x8d\x53\x5d\xae\x56\xc9\xe7\x69\xc1\xf3\x0e\xfa\x77\xf4\xf8\x7c\xc5\x17\x89\x17\xf5\x29\xfc\xeb\x04\x1f\x25\x8f\x90\x9f\x4b\x52\xd1\x95\x67\x08\x38\x2b\x72\xbe\x15\xc0\xdf\xc7\xaa\xd2\x09\x50\x0a\xa6\xbc\x82\xc2\xa0\xd6\x94\xeb\xa0\x48\xbf\xf8\x63\xf0\x0c\xfb\x18\xb4\xaa\xaa\xa1\x6d\x1b\xe5\x55\xfb\xb6\xfc\x1e\x5f\xf2\xeb\x5c\x68\x3d\x61\x5a\x41\x8b\xe7\xd2\x66\x0d\xd8\xcc\x36\x40\x28\x01\x03\x68\xba\x63\x91\xca\x12\x10\x39\x74\xfd\xda\xa8\x47\x88\xa8\x84\x09\x9e\xa0\x4b\x5b\xca\x22\x49\x19\x5f\x15\x14\x6e\x01\xba\x73\x2b\x6f\xa4\xa7\x73\x09\x41\xf3\x08\xba\x0f\x60\x16\x17\x28\x73\x9d\xd0\x6c\xc5\xa3\x24\x4d\x0a\x22\x61\x82\x74\x30\x6e\xfa\x6b\xee\x03\x33\x96\x39\xdf\xf1\xd4\x3f\x81\x79\x5a\xfa\x9c\xd6\x13\x2d\x7a\x48\xfe\x12\xbd\x40\x57\xce\x97\x60\x15\x4b\xc2\x30\x11\x12\x22\xcf\x4c\xe5\x97\xb5\x5b\xf4\x77\xe1\xff\x56\x3c\x26\x7d\x56\xc1\x11\xae\x93\x63\x2e\xc7\xa6\x73\xc4\x69\x02\x7b\x3b\x23\x89\x2d\x92\xbb\xf2\xca\xf0\xdc\xd0\xee\x7a\x84\xe8\x56\x87\x7b\x66\x6a\x95\x9c\x9a\x35\x8c\x18\xbd\x76\x23\xf1\x0b\x39\x9e\xba\x58\xaa\x87\x34\xdf\xc6\x4d\x3e\x28\x95\x1e\x1b\x3b\xe1\xa9\x3d\xf0\x17\x20\x6e\x7a\xcc\x4b\x19\x17\x80\x73\x41\x5e\xbc\x71\xe8\x08\x47\xfb\x5c\x95\x44\x22\xe0\x1e\x35\x01\x0e\x32\x68\x44\x0f\xa6\x5f\x67\x2d\xf0\x98\x91\xb9\x09\x50\x06\xe2\xea\xac\x69\xdf\x0c\xe6\x04\x6c\x13\xdc\xb7\x11\xa8\x31\x6b\x2d\xfc\x5d\xad\xa5\xbd\x6e\x55\x94\x22\xad\x55\xe5\x5c\xac\x21\x85\xae\x1b\xc7\xa0\x6e\x3b\x9e\x28\x80\x6e\xee\x4f\xb2\xe2\xe7\x32\xb0\xd8\x91\xf7\xca\x26\x7f\xb8\x51\x6b\xf3\xbc\x56\x96\xe1\xd1\x9e\xd7\x63\x78\xd2\x7b\x4f\xce\x37\xa1\xe2\x19\xa0\x76\x22\xb5\x5d\x26\xd2\x92\x09\x50\x38\x02\x9e\x1a\x33\x4b\x43\xe9\x42\x47\xf6\xc9\x80\x3a\x18\xb5\xb1\x77\x66\x4e\xc8\xe8\x19\x1e\x59\xfb\x9e\xe3\xe1\xfb\xee\x69\x29\xdd\x3b\x62\xc2\xf5\x1e\x98\x0b\x24\x7d\xe4\x3b\x0d\xaa\xc0\xc2\x9c\x8a\x2b\x74\xc1\x57\xdb\x3f\x09\xcc\x0f\x4b\x71\x4a\x12\xfb\x25\x89\x85\x53\x5f\x12\x64\x58\x11\xa9\xd5\x3f\xf6\xcc\x55\x2f\x74\xfb\xe0\x7c\x9d\xa8\x5a\xde\x1b\x55\x43\xb8\xc0\xdf\x47\x20\xad\xc7\x5d\x7f\x64\xd4\x20\xb8\x26\xd1\x62\x24\x40\x17\xa4\xd8\x39\x30\xc1\x84\x6d\x79\x22\x69\x1b\xa0\xc6\x5c\x2c\x96\xe5\x7a\xdd\xe9\xcc\xfe\xf6\xa3\x62\xd5\x7d\xf2\x0f\x1f\xb5\xe8\xe5\x5e\x7b\x0a\x47\xf8\x85\xad\x09\x3d\xf3\xe6\xdd\xf7\x65\x7c\xdf\xbf\xc5\x4d\xfe\x1e\xe3\x26\x17\x43\xe2\x26\x16\x54\x08\xb9\x9d\xe4\x1d\xb0\xc0\xaf\xdf\x02\x2a\xbf\x05\x54\xfa\x97\xfa\xd3\x04\x54\x90\x2a\x69\x91\x54\x9f\x52\x3d\xad\x3c\x90\x71\xd1\x51\xf3\xc2\xc5\x84\xf4\x6d\xe6\x1e\x8e\x35\x5b\xf2\xe8\x19\x28\x18\xc1\x8e\x39\xde\x73\xbb\x07\x50\x76\xa3\xb6\x82\x41\x55\x1a\x75\x64\x18\x65\x06\x4f\x00\x01\x6e\x3a\xe8\x51\x58\x84\xf1\x02\xc3\x07\xd1\x60\xb1\x7f\xfe\x7c\x27\xc5\x23\x33\x76\xc5\x24\x84\xc4\x06\xd3\x03\x02\x63\x2f\x8d\x1d\x5f\xc9\x9f\x71\x34\x28\xb9\x58\xf3\x3c\x86\xac\x2d\x3a\x6d\x52\x1e\xdd\x9b\xff\x86\xf6\x51\x8d\x04\xdb\xb5\x5a\x07\x08\x25\xf7\xa5\x25\x32\xca\x81\xe0\x8e\x10\xc2\xbe\x7d\xf8\x73\xcd\x78\x94\x2b\x8d\xee\x3d\xa7\xcb\x0b\xac\x01\xf0\xd4\x78\x48\xe2\x92\xa7\x58\x63\x67\x4c\x64\x2c\x24\xb4\x0e\xe2\x0b\x24\xb4\x9a\x08\x51\x9a\x0e\xe4\xfd\x4a\x5a\xf6\xf2\x9d\x16\x84\xdc\xd4\x76\x03\xf7\xb6\xf4\xd9\x0c\xbd\x06\xce\xb6\xd3\xda\xeb\x19\x00\x9b\xb8\x10\x0c\x84\xee\x1e\x89\x3d\x44\x9e\xc7\x4c\xca\x68\x42\xe2\x8b\x40\xc7\xdb\x0f\x0b\xbe\xe8\x72\xc1\xe3\x5d\x48\x77\x98\x48\x06\xf1\x54\xc6\xe3\x6d\x22\xcd\x26\xb0\x5a\x91\xee\x12\xb5\xb4\xf1\x08\xe3\x07\x49\xa5\x34\xad\xd9\xc1\x9a\x49\x61\x9e\x01\x3c\x4f\xd2\x1d\x1c\xe7\x59\x2e\x4e\x82\x7a\x82\xf9\xa1\x2c\x42\x20\xc0\x27\x6a\x9e\x52\x8b\x55\x99\xe2\xfb\x10\x3c\x28\xae\x03\x74\x22\xdd\x5d\x4c\x8c\x69\x58\x90\x90\x49\x50\x31\xca\x03\x3e\x45\x46\x56\x23\xae\x3c\x2e\x36\xea\xe9\x38\x73\x48\x1c\xd9\xa8\x47\x9b\x3e\xfa\xc8\x7d\x7e\x40\x97\xe1\xf0\x64\xf1\xb0\xfe\x17\x83\x7d\xab\xdb\x73\x0a\x07\x3f\xae\x04\x41\xe9\x33\x11\xbb\xb3\x29\x91\xd0\x1d\x52\xd8\xf5\x31\x86\x52\x63\x16\xaa\x99\x4b\xb8\xbf\xac\x4b\xaa\x1a\x62\x60\xae\x77\x89\x56\x92\xcd\xcb\xdf\xff\xfe\x0f\x82\xfd\x1e\xd2\x72\xe9\xe5\x88\x91\x4c\x20\xe4\xc4\xd2\xe1\xc8\x76\x15\x08\x64\xeb\x6c\xcc\x08\x6b\x83\x7d\x5b\x0e\x0c\x00\x4e\xf3\x68\xc3\x74\xb9\x44\x54\x30\xa7\x60\x18\x97\x8e\xef\xfa\x9d\x02\x80\x2f\xde\xee\xb6\xf5\xff\x4b\x42\x3f\xa8\x39\x31\x97\x99\x42\x4a\x76\x80\x53\x2f\x05\xdb\xf2\xfc\x1e\x24\x44\x31\x90\x02\x14\xf4\xdf\x25\x62\x5a\x0d\x04\xbd\xac\xb4\x87\x42\x6f\x48\xb5\xcc\xf2\x52\x4a\xab\x89\xc4\x8c\xcd\xed\xa3\x32\x93\xb9\x5c\x96\xa1\x97\xa0\x12\xd6\xf1\x4b\x0b\x42\x3b\x70\xd8\x2a\xe0\xdf\xa1\x46\x71\xed\xdb\x35\x65\x03\xe2\x3b\x73\xf9\xc4\x01\x9e\x7d\xae\xd9\x0f\x64\x83\x59\xb7\x6b\x90\x03\x04\xdd\x0d\x65\x7b\x61\x3a\x70\xd9\x83\x91\xf3\x01\xb4\x7b\x27\xec\xa7\xe4\x41\x4c\xd8\x4d\xc6\xf3\xfb\x09\x7b\x83\x81\xda\x3f\xa9\x65\x9b\xb7\xb5\x41\xd2\x72\xb4\xc7\xf5\x30\x87\x63\x1f\x79\x51\xfb\xf3\xe1\xd7\x86\x2d\xcd\xba\x50\x0a\x7f\x9f\x28\xd7\x0e\xfe\x9c\x7f\x74\x9f\xd1\x1e\x40\xc1\x6f\x08\xca\xdf\x1e\xfc\xff\x28\x0f\xfe\xdf\x85\xff\x6b\x8f\x65\x6b\x48\x82\x49\x4d\x87\x77\x2b\x2c\xf2\xdb\xe2\x40\x48\xe2\xba\xad\xd1\xa4\x42\x18\xb6\xc3\x89\x69\x22\x76\x2c\x18\x23\xf2\x73\xe8\xa7\x76\xbc\xce\x52\xa5\xcb\xbc\xff\x4c\xbb\xae\xb6\xda\xd6\xde\xc2\x0a\x0c\x7b\x68\xbb\x14\x40\x70\x32\x14\xff\x84\x5f\x5b\xfc\x97\x5a\x2e\x00\xec\x77\xdc\xc1\xd5\x56\x9c\xd5\x19\x73\x21\x59\x6a\xaa\xbf\xf8\x6f\x32\x01\xe4\x74\xde\xc2\xf6\x11\xa9\xda\x0a\x73\x1e\x9f\xb9\xb4\x5c\xfd\x98\x5c\x9f\xe7\x02\x48\xc5\x73\x01\xf2\x79\x2c\xe3\xb9\x43\xdc\x58\x43\x2f\x78\xd0\x79\x54\x56\x98\x10\x0b\x79\xed\xf4\x8c\x5c\x0a\x21\xdd\x68\x8f\xb1\x90\x8c\xd1\x53\x1f\x7d\x82\x5b\x3e\x0a\x16\x61\xce\x55\x87\xd4\x67\xe3\x77\xc1\x13\x17\x5e\x12\x6b\x51\x04\x97\x54\xcd\x62\xaa\x6c\xcd\x4a\x88\xf4\x9b\x4a\x0e\x6a\x05\x41\xd4\x78\xfc\x2a\x7e\xa1\x41\x2e\xf8\xa7\x08\xd8\x7c\xe0\xc5\x06\xdf\xe9\x5b\x55\x08\x3c\x33\x91\x50\x0c\xd7\x0b\xc6\x09\x96\xa9\x5a\x82\x6e\x9d\xf9\xa4\xeb\xc9\x1b\xd1\xd6\x1e\x34\x74\xcd\x09\x1b\x72\x32\x98\xd3\x04\x92\xf2\x73\xa1\x81\x9b\xa9\x19\x26\x1d\x1a\xbf\x18\xe7\x4b\x68\x36\xd7\x1c\xfa\xcd\xdb\xa8\x29\xe6\x61\xb6\x35\xa0\xa5\xcf\x0f\x48\xb6\x3b\x0f\x13\xdb\x8d\xcd\x43\xbc\xe6\x84\x43\x40\x6a\xe3\x5a\x7f\xad\x3c\xfa\x5c\xce\xf0\x93\xe0\x12\xe0\x5e\xb4\xca\x01\x92\x49\x09\xd7\xed\x3f\xcc\x74\x67\xb3\x10\x02\x4b\x8e\x8f\x89\x77\xd1\xc2\x1b\x67\x02\x09\xd0\xb2\x48\x72\xc1\x24\xc0\x60\xe6\x52\x97\xcb\x13\xcf\x61\x64\x1e\xa7\x0f\xc0\xbb\xa5\x45\xc6\xe1\x85\x06\xd4\x66\x27\xad\x86\xc5\x6d\x45\x7c\xc6\x72\x7d\xf2\x94\x0e\x7f\x48\xab\x46\x12\x0d\xd7\x77\x57\x8e\x79\x83\x82\x73\xc0\xe2\xe5\xf0\xb2\xeb\x3b\x2f\x40\x1e\x0b\x92\xb5\xaf\x11\xc6\xf3\xb5\x2f\xf0\x30\x1c\x3f\xf4\xea\x86\x80\xee\x5c\xfe\x5f\x7b\x37\x74\xa3\xda\x47\xac\x74\x33\x32\xe6\x8a\xea\x44\xdb\x57\xda\x66\x5f\xc6\x81\x6d\xdb\xdd\xa8\xc6\x92\x6f\x2b\x95\x5b\x60\x55\x28\x06\xa3\x28\xb3\x1e\x3e\x7d\x48\x74\xa0\x0c\x00\xb5\xdd\x08\xc1\x5e\xe5\x62\xf5\xea\x63\x2e\x56\x0b\x3b\xd3\x53\xe8\xd0\xd4\xf4\xa8\xa9\x0f\x30\x70\x71\xe8\x4c\xc9\x76\x9e\xd4\x3d\x3c\xc6\xb5\x2e\x61\x39\x41\x9f\x92\x15\xf3\x9a\xa1\xa6\x3f\x40\x16\x23\xe2\xba\x70\x41\xa3\x65\x5f\xfc\x9a\xeb\x82\x22\x0e\xc0\xfa\x75\x68\x6d\xfe\xe3\x5f\x6f\x95\x31\x1b\x72\xbd\xdd\x56\x31\x5b\xf6\xb0\xe7\xd2\x5d\x78\xdd\xc0\xe4\x2f\x9b\x1e\x01\x13\xa8\x33\xfe\x28\x89\xf2\x6a\x94\x47\x6d\xd8\xb5\x56\x43\xb0\x05\xd7\x5a\x03\x84\xe9\x77\x99\xb4\x0e\xcc\xc4\x09\x53\x4e\x02\x4d\x77\x9e\xa6\xa1\xfc\x8a\x0f\x20\xce\xa5\x4f\x61\x37\x56\x6b\x9a\x5a\xcf\x64\xc5\xde\x20\x82\xb3\x18\xb8\x03\xc4\xc4\xf2\x33\x11\xb3\x29\x85\xf9\x4e\x96\x1c\x04\x83\x9d\x28\xd9\xbe\xdd\xfc\x54\x8f\xc8\x6f\x8c\x42\x61\x4f\x40\x1d\xab\x5d\xdc\x8b\x06\x9e\x7e\x6f\x5b\xdb\x03\x38\x01\xfb\x0c\x6c\x66\x7b\xca\x46\x3c\xcf\x6d\x9a\x09\xd5\xca\xcc\x5b\x69\xc5\xa3\x8a\xf7\xb6\xa3\x9d\x1b\x11\xdd\x67\x2a\x91\xa3\xcf\xa2\x0a\x1b\x0e\x2c\xf6\x82\xf9\xd2\xdc\xeb\x70\xd0\xe5\x58\xb1\x27\xb1\x23\x80\x25\x72\xd8\x64\xcf\xdb\xc8\x99\x13\x64\xee\x5e\x76\x4f\xed\xbf\x10\xfe\x6e\x78\x06\x17\x73\x4b\xd8\xab\x76\xab\xf0\x16\xc7\x4e\x85\x34\x98\x37\xd2\x0f\x07\x0e\x36\x67\x15\xb6\xd3\xd6\x21\x05\xcf\xea\x6f\x9e\xa1\xdf\x3c\x43\x7f\xe7\x9e\xa1\x2f\xe9\x16\x02\xc8\xcf\x73\xfa\x84\x7a\xe2\xfe\x47\x6c\x47\x57\xeb\xe8\x24\xdb\x56\xeb\x78\x12\xa8\x68\x07\xa9\xb6\xcd\x4c\x13\xcb\x99\x63\xc6\x67\xc9\xa3\x7b\x21\x3b\xa1\x07\x96\xe9\xac\x53\x6a\xfd\x69\x81\x39\x6d\x44\x6d\xc1\xaf\xfb\x11\x3a\x1e\xc1\x45\xfc\xe2\x6d\xdc\x41\x66\x9f\x80\xed\x69\x3a\x7e\x02\x58\x38\x95\x3b\x0e\x7c\x4d\x69\xa0\x18\x63\x45\x46\x35\xc4\x80\xd5\x58\xe3\x1b\x83\xda\x89\x0b\xc0\x8a\x17\x99\x52\x69\x2b\xe2\xef\x49\x07\xb0\x91\xa9\x35\x74\xf0\x2e\xd0\x18\xd5\x21\x0e\xce\x8e\xa2\xcf\xfa\xf1\x39\x42\x98\x10\x04\xb2\x39\xb0\x9a\xe2\x12\x92\x79\xfd\x70\x4c\x7d\x8a\x1d\x77\x0e\x17\x82\xbe\x2d\x45\xc4\x41\x32\xd6\x62\x12\x23\xee\xd2\x9f\x42\xfe\xb4\x46\x3e\x92\x6e\xd6\xd3\x11\x8c\x85\x72\x17\x49\x9b\x46\xce\xd8\xcd\x55\xb3\x10\x6c\x6e\x03\xb6\xdc\x02\x64\x2c\x43\xeb\x3e\x85\x60\x4b\x47\xbf\x88\x52\xae\x07\x1a\xd6\xad\xe7\xce\x05\x15\x74\x06\xe5\x0c\x3f\x48\x7f\x82\x7c\xb0\xed\x40\x40\xd2\x5c\xce\x9c\x42\xae\x87\xb4\x39\x40\x22\x46\x81\x11\x8a\xd9\x98\x1a\xa4\x7d\xf5\x2f\x97\x09\xd3\x65\xb4\x01\x62\xdb\xea\x39\x15\x9e\x5b\xcd\x1d\x3b\x99\x4b\xf3\x20\x02\x57\xcb\x96\x03\x31\xc3\xa3\x31\x56\x75\xf2\xdf\xc2\xa1\xce\x88\xe7\x2f\x04\x9a\xe1\xc3\x49\xc9\x56\x50\x9e\xe5\x18\x46\xdc\x88\x87\xca\x94\x59\xcc\x0b\x31\x9d\x7b\x10\x51\x82\x9e\x4e\x0b\x5e\x21\x93\x59\x87\x1d\x0b\xe1\x99\xb5\x93\x36\x4d\x56\x22\xda\x45\x0d\xc9\xb0\x7e\x9e\x92\xdf\x9e\x6d\xdf\xd6\xb3\x0d\x09\xb9\x31\x69\x75\xcc\xd0\x52\x53\xaf\xfd\xcf\x8f\x1b\x5c\xc1\x82\x96\xe8\x11\xe3\xfc\x05\x9f\x9d\x2d\x36\xf0\x38\x7b\x7e\xf0\x3b\xa8\xff\x3a\xf3\x0f\x5b\x7f\x59\x07\x1c\x1c\x0d\xb3\x30\x0c\x2e\x16\xe1\xd2\x31\x06\xed\xe0\xb0\x7e\x37\xcd\xd1\x37\x85\xb9\x1a\xf2\x70\x35\x16\xb7\x43\x61\x5d\x5a\x4b\x5b\x0a\xbc\xef\x7a\x2c\xee\x40\x00\x82\x17\x2f\xb4\x1b\xf5\xea\x09\x68\x53\x1a\xde\x25\xba\xf8\xa5\x26\x2f\x7c\x98\x3e\xf1\xb3\x99\xa6\xb6\xa9\xd8\xcc\xa1\x16\xd5\x75\xd5\xe6\x51\x2b\xbb\xe6\xe0\xf1\x64\x05\x25\x4d\xbb\xc7\xbc\x83\x3e\xba\xf1\xfa\x88\x57\xd3\x63\xce\xb3\x4c\xe4\xf6\x22\x6f\xd8\x5a\xa0\xce\x08\xb5\x80\xbc\xea\x46\xa0\xc6\x7b\xed\x95\x6b\x8e\x92\x5a\xd1\xf0\x35\x18\xba\x69\xfb\xcc\x5d\x96\x69\xda\x39\x73\xfb\x45\xdf\x2e\xef\xde\xbd\x5b\xfc\x32\x7b\x77\x77\x6e\xbb\xdf\x2a\xa2\x16\x7c\xad\x73\x4c\x5c\x4b\x68\x4c\xbc\x4c\xab\xa9\x56\x58\x9d\x79\xe5\x7b\x8d\x4e\xae\x32\x4d\xab\x02\x7b\x73\xf9\x91\xca\x01\xf4\x39\x8a\x07\x9b\x71\x63\xbd\x03\x57\xad\x1f\xbe\xf6\xd1\x14\xfe\x11\x7f\x7b\xc2\x7c\x27\x5e\x81\x0c\x2c\xc9\x4b\xb6\x8f\x2b\x25\xf9\x1c\xb1\x1d\x10\xe3\xdc\xb5\x1d\x9e\x5a\x42\xf4\xb0\xed\x71\x27\x41\xbc\x40\xc4\x56\xf9\xf3\x49\x76\x07\x8e\xdd\xc7\x6a\x9c\xda\x9d\xe5\x31\x3e\x69\xa0\xdc\x09\x0a\x3f\x82\x9c\xbd\xd7\x46\x9c\x4b\xf4\x81\x9a\x36\x15\xaa\xbb\x4d\xec\x82\xcc\xdb\x94\xcb\x75\xc9\xd7\xc6\xba\xb5\x95\xcf\xe5\x36\x59\x6f\x90\x88\xa6\xcc\x3c\xec\x9a\x33\x09\x7c\x45\xb5\x25\x54\x83\x5d\x27\x72\x2e\xa9\x4f\x72\xed\x8b\x47\x08\xf0\x9f\x6e\x5c\x77\x08\x6b\x8f\x05\x91\x76\xa5\x9c\x4b\x9c\x5c\x24\xc8\xb1\x91\x10\x78\xb1\xf0\xa2\xbe\x74\x39\xc4\x2e\x41\x2e\x17\xce\xf4\x35\xc4\x64\xe6\xd2\xe5\x88\xa3\xe7\x88\xfa\x10\x68\x1c\x61\x93\xf6\x9f\x27\x76\x32\xec\x9e\xa0\xb6\xb5\xaf\xfa\xa3\xef\x00\xb3\xe1\x16\x23\x84\xea\x9b\xc7\xd8\x40\x6f\x21\x0f\x0e\x8e\x2e\xe2\x10\x20\x06\x68\x6f\x8d\xed\x17\x7e\xa7\x13\xb1\xab\xca\x65\x3a\xa2\x49\xf8\xfd\xde\x46\xe1\x91\xdc\xdf\xa8\x01\xcf\xe1\xeb\xda\xd6\x32\xcb\xb4\xaf\xda\xa5\x52\x1d\xf3\xf2\x84\x01\xc5\x4a\xa3\xe8\x07\xfb\x06\xa3\x8c\x8a\x43\xd6\xcb\x80\x1c\xcc\xfa\x10\xd9\xd3\xa7\xaf\x41\x69\xa2\x0f\x6a\x8e\xb7\x9f\x06\xb7\xc8\x59\x08\x74\xd9\x8d\x3a\x61\xe9\x9e\xab\x1c\xb0\x1d\xc7\x24\xc5\x93\xac\xe2\x7b\x82\xc7\x8b\xd9\x3c\x28\xc7\x6e\xd6\xff\xc4\x2d\xa2\x89\x9f\xb9\x09\x34\x32\x2a\x73\x6d\x8e\x4b\x3a\xef\xe8\xd4\x56\x39\xe3\x73\x69\x33\xf0\xec\x71\x3c\xb3\xe0\xdc\xdc\xfd\x15\xf3\x5a\x33\x94\xde\x00\x8b\xb5\x60\x4a\x0a\x7b\x1a\xce\x25\x29\xdf\xeb\x09\xe3\x4b\x6d\xd5\xf7\xb9\xdc\x39\x49\xfc\xc4\xf1\x67\x71\xc9\x00\xcc\xbd\xff\xcc\xab\x99\x01\x95\x7b\xfe\x77\xe6\xff\xfe\xf6\xbb\xff\x1f\x00\x00\xff\xff\xee\x96\x37\x4a\x3f\xbb\x04\x00") func adminSwaggerJsonBytes() ([]byte, error) { return bindataRead( @@ -93,7 +93,7 @@ func adminSwaggerJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "admin.swagger.json", size: 306659, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} + info := bindataFileInfo{name: "admin.swagger.json", size: 310079, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/flyteidl/gen/pb-java/flyteidl/admin/Agent.java b/flyteidl/gen/pb-java/flyteidl/admin/Agent.java index b0d9d2574e..87b29e2a0a 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/Agent.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/Agent.java @@ -2234,31 +2234,34 @@ public interface CreateTaskRequestOrBuilder extends * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Use inputs instead. * * - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - boolean hasInputs(); + @java.lang.Deprecated boolean hasDeprecatedInputs(); /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: Use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getInputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedInputs(); /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: Use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputsOrBuilder(); /** *
@@ -2327,6 +2330,37 @@ public interface CreateTaskRequestOrBuilder extends
      * .flyteidl.admin.TaskExecutionMetadata task_execution_metadata = 4;
      */
     flyteidl.admin.Agent.TaskExecutionMetadataOrBuilder getTaskExecutionMetadataOrBuilder();
+
+    /**
+     * 
+     * Inputs are the inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + boolean hasInputs(); + /** + *
+     * Inputs are the inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + flyteidl.core.Literals.InputData getInputs(); + /** + *
+     * Inputs are the inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + flyteidl.core.Literals.InputDataOrBuilder getInputsOrBuilder(); } /** *
@@ -2374,13 +2408,13 @@ private CreateTaskRequest(
               break;
             case 10: {
               flyteidl.core.Literals.LiteralMap.Builder subBuilder = null;
-              if (inputs_ != null) {
-                subBuilder = inputs_.toBuilder();
+              if (deprecatedInputs_ != null) {
+                subBuilder = deprecatedInputs_.toBuilder();
               }
-              inputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry);
+              deprecatedInputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry);
               if (subBuilder != null) {
-                subBuilder.mergeFrom(inputs_);
-                inputs_ = subBuilder.buildPartial();
+                subBuilder.mergeFrom(deprecatedInputs_);
+                deprecatedInputs_ = subBuilder.buildPartial();
               }
 
               break;
@@ -2417,6 +2451,19 @@ private CreateTaskRequest(
 
               break;
             }
+            case 42: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (inputs_ != null) {
+                subBuilder = inputs_.toBuilder();
+              }
+              inputs_ = input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(inputs_);
+                inputs_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -2449,43 +2496,46 @@ private CreateTaskRequest(
               flyteidl.admin.Agent.CreateTaskRequest.class, flyteidl.admin.Agent.CreateTaskRequest.Builder.class);
     }
 
-    public static final int INPUTS_FIELD_NUMBER = 1;
-    private flyteidl.core.Literals.LiteralMap inputs_;
+    public static final int DEPRECATED_INPUTS_FIELD_NUMBER = 1;
+    private flyteidl.core.Literals.LiteralMap deprecatedInputs_;
     /**
      * 
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: Use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public boolean hasInputs() { - return inputs_ != null; + @java.lang.Deprecated public boolean hasDeprecatedInputs() { + return deprecatedInputs_ != null; } /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: Use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputs() { - return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputs() { + return deprecatedInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedInputs_; } /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: Use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { - return getInputs(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputsOrBuilder() { + return getDeprecatedInputs(); } public static final int TEMPLATE_FIELD_NUMBER = 2; @@ -2596,6 +2646,45 @@ public flyteidl.admin.Agent.TaskExecutionMetadataOrBuilder getTaskExecutionMetad return getTaskExecutionMetadata(); } + public static final int INPUTS_FIELD_NUMBER = 5; + private flyteidl.core.Literals.InputData inputs_; + /** + *
+     * Inputs are the inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public boolean hasInputs() { + return inputs_ != null; + } + /** + *
+     * Inputs are the inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public flyteidl.core.Literals.InputData getInputs() { + return inputs_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputs_; + } + /** + *
+     * Inputs are the inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputsOrBuilder() { + return getInputs(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -2610,8 +2699,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (inputs_ != null) { - output.writeMessage(1, getInputs()); + if (deprecatedInputs_ != null) { + output.writeMessage(1, getDeprecatedInputs()); } if (template_ != null) { output.writeMessage(2, getTemplate()); @@ -2622,6 +2711,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (taskExecutionMetadata_ != null) { output.writeMessage(4, getTaskExecutionMetadata()); } + if (inputs_ != null) { + output.writeMessage(5, getInputs()); + } unknownFields.writeTo(output); } @@ -2631,9 +2723,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (inputs_ != null) { + if (deprecatedInputs_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getInputs()); + .computeMessageSize(1, getDeprecatedInputs()); } if (template_ != null) { size += com.google.protobuf.CodedOutputStream @@ -2646,6 +2738,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getTaskExecutionMetadata()); } + if (inputs_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getInputs()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -2661,10 +2757,10 @@ public boolean equals(final java.lang.Object obj) { } flyteidl.admin.Agent.CreateTaskRequest other = (flyteidl.admin.Agent.CreateTaskRequest) obj; - if (hasInputs() != other.hasInputs()) return false; - if (hasInputs()) { - if (!getInputs() - .equals(other.getInputs())) return false; + if (hasDeprecatedInputs() != other.hasDeprecatedInputs()) return false; + if (hasDeprecatedInputs()) { + if (!getDeprecatedInputs() + .equals(other.getDeprecatedInputs())) return false; } if (hasTemplate() != other.hasTemplate()) return false; if (hasTemplate()) { @@ -2678,6 +2774,11 @@ public boolean equals(final java.lang.Object obj) { if (!getTaskExecutionMetadata() .equals(other.getTaskExecutionMetadata())) return false; } + if (hasInputs() != other.hasInputs()) return false; + if (hasInputs()) { + if (!getInputs() + .equals(other.getInputs())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2689,9 +2790,9 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasInputs()) { - hash = (37 * hash) + INPUTS_FIELD_NUMBER; - hash = (53 * hash) + getInputs().hashCode(); + if (hasDeprecatedInputs()) { + hash = (37 * hash) + DEPRECATED_INPUTS_FIELD_NUMBER; + hash = (53 * hash) + getDeprecatedInputs().hashCode(); } if (hasTemplate()) { hash = (37 * hash) + TEMPLATE_FIELD_NUMBER; @@ -2703,6 +2804,10 @@ public int hashCode() { hash = (37 * hash) + TASK_EXECUTION_METADATA_FIELD_NUMBER; hash = (53 * hash) + getTaskExecutionMetadata().hashCode(); } + if (hasInputs()) { + hash = (37 * hash) + INPUTS_FIELD_NUMBER; + hash = (53 * hash) + getInputs().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -2840,11 +2945,11 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - if (inputsBuilder_ == null) { - inputs_ = null; + if (deprecatedInputsBuilder_ == null) { + deprecatedInputs_ = null; } else { - inputs_ = null; - inputsBuilder_ = null; + deprecatedInputs_ = null; + deprecatedInputsBuilder_ = null; } if (templateBuilder_ == null) { template_ = null; @@ -2860,6 +2965,12 @@ public Builder clear() { taskExecutionMetadata_ = null; taskExecutionMetadataBuilder_ = null; } + if (inputsBuilder_ == null) { + inputs_ = null; + } else { + inputs_ = null; + inputsBuilder_ = null; + } return this; } @@ -2886,10 +2997,10 @@ public flyteidl.admin.Agent.CreateTaskRequest build() { @java.lang.Override public flyteidl.admin.Agent.CreateTaskRequest buildPartial() { flyteidl.admin.Agent.CreateTaskRequest result = new flyteidl.admin.Agent.CreateTaskRequest(this); - if (inputsBuilder_ == null) { - result.inputs_ = inputs_; + if (deprecatedInputsBuilder_ == null) { + result.deprecatedInputs_ = deprecatedInputs_; } else { - result.inputs_ = inputsBuilder_.build(); + result.deprecatedInputs_ = deprecatedInputsBuilder_.build(); } if (templateBuilder_ == null) { result.template_ = template_; @@ -2902,6 +3013,11 @@ public flyteidl.admin.Agent.CreateTaskRequest buildPartial() { } else { result.taskExecutionMetadata_ = taskExecutionMetadataBuilder_.build(); } + if (inputsBuilder_ == null) { + result.inputs_ = inputs_; + } else { + result.inputs_ = inputsBuilder_.build(); + } onBuilt(); return result; } @@ -2950,8 +3066,8 @@ public Builder mergeFrom(com.google.protobuf.Message other) { public Builder mergeFrom(flyteidl.admin.Agent.CreateTaskRequest other) { if (other == flyteidl.admin.Agent.CreateTaskRequest.getDefaultInstance()) return this; - if (other.hasInputs()) { - mergeInputs(other.getInputs()); + if (other.hasDeprecatedInputs()) { + mergeDeprecatedInputs(other.getDeprecatedInputs()); } if (other.hasTemplate()) { mergeTemplate(other.getTemplate()); @@ -2963,6 +3079,9 @@ public Builder mergeFrom(flyteidl.admin.Agent.CreateTaskRequest other) { if (other.hasTaskExecutionMetadata()) { mergeTaskExecutionMetadata(other.getTaskExecutionMetadata()); } + if (other.hasInputs()) { + mergeInputs(other.getInputs()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2992,35 +3111,37 @@ public Builder mergeFrom( return this; } - private flyteidl.core.Literals.LiteralMap inputs_; + private flyteidl.core.Literals.LiteralMap deprecatedInputs_; private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> inputsBuilder_; + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedInputsBuilder_; /** *
        * The inputs required to start the execution. All required inputs must be
        * included in this map. If not required and not provided, defaults apply.
        * +optional
+       * Deprecated: Use inputs instead.
        * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public boolean hasInputs() { - return inputsBuilder_ != null || inputs_ != null; + @java.lang.Deprecated public boolean hasDeprecatedInputs() { + return deprecatedInputsBuilder_ != null || deprecatedInputs_ != null; } /** *
        * The inputs required to start the execution. All required inputs must be
        * included in this map. If not required and not provided, defaults apply.
        * +optional
+       * Deprecated: Use inputs instead.
        * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputs() { - if (inputsBuilder_ == null) { - return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputs() { + if (deprecatedInputsBuilder_ == null) { + return deprecatedInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedInputs_; } else { - return inputsBuilder_.getMessage(); + return deprecatedInputsBuilder_.getMessage(); } } /** @@ -3028,19 +3149,20 @@ public flyteidl.core.Literals.LiteralMap getInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { - if (inputsBuilder_ == null) { + @java.lang.Deprecated public Builder setDeprecatedInputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - inputs_ = value; + deprecatedInputs_ = value; onChanged(); } else { - inputsBuilder_.setMessage(value); + deprecatedInputsBuilder_.setMessage(value); } return this; @@ -3050,17 +3172,18 @@ public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder setInputs( + @java.lang.Deprecated public Builder setDeprecatedInputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { - if (inputsBuilder_ == null) { - inputs_ = builderForValue.build(); + if (deprecatedInputsBuilder_ == null) { + deprecatedInputs_ = builderForValue.build(); onChanged(); } else { - inputsBuilder_.setMessage(builderForValue.build()); + deprecatedInputsBuilder_.setMessage(builderForValue.build()); } return this; @@ -3070,21 +3193,22 @@ public Builder setInputs( * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Use inputs instead. * * - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { - if (inputsBuilder_ == null) { - if (inputs_ != null) { - inputs_ = - flyteidl.core.Literals.LiteralMap.newBuilder(inputs_).mergeFrom(value).buildPartial(); + @java.lang.Deprecated public Builder mergeDeprecatedInputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputsBuilder_ == null) { + if (deprecatedInputs_ != null) { + deprecatedInputs_ = + flyteidl.core.Literals.LiteralMap.newBuilder(deprecatedInputs_).mergeFrom(value).buildPartial(); } else { - inputs_ = value; + deprecatedInputs_ = value; } onChanged(); } else { - inputsBuilder_.mergeFrom(value); + deprecatedInputsBuilder_.mergeFrom(value); } return this; @@ -3094,17 +3218,18 @@ public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Use inputs instead. * * - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder clearInputs() { - if (inputsBuilder_ == null) { - inputs_ = null; + @java.lang.Deprecated public Builder clearDeprecatedInputs() { + if (deprecatedInputsBuilder_ == null) { + deprecatedInputs_ = null; onChanged(); } else { - inputs_ = null; - inputsBuilder_ = null; + deprecatedInputs_ = null; + deprecatedInputsBuilder_ = null; } return this; @@ -3114,30 +3239,32 @@ public Builder clearInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Use inputs instead. * * - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedInputsBuilder() { onChanged(); - return getInputsFieldBuilder().getBuilder(); + return getDeprecatedInputsFieldBuilder().getBuilder(); } /** *
        * The inputs required to start the execution. All required inputs must be
        * included in this map. If not required and not provided, defaults apply.
        * +optional
+       * Deprecated: Use inputs instead.
        * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { - if (inputsBuilder_ != null) { - return inputsBuilder_.getMessageOrBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputsOrBuilder() { + if (deprecatedInputsBuilder_ != null) { + return deprecatedInputsBuilder_.getMessageOrBuilder(); } else { - return inputs_ == null ? - flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + return deprecatedInputs_ == null ? + flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedInputs_; } } /** @@ -3145,22 +3272,23 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Use inputs instead. * * - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> - getInputsFieldBuilder() { - if (inputsBuilder_ == null) { - inputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + getDeprecatedInputsFieldBuilder() { + if (deprecatedInputsBuilder_ == null) { + deprecatedInputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( - getInputs(), + getDeprecatedInputs(), getParentForChildren(), isClean()); - inputs_ = null; + deprecatedInputs_ = null; } - return inputsBuilder_; + return deprecatedInputsBuilder_; } private flyteidl.core.Tasks.TaskTemplate template_; @@ -3557,6 +3685,177 @@ public flyteidl.admin.Agent.TaskExecutionMetadataOrBuilder getTaskExecutionMetad } return taskExecutionMetadataBuilder_; } + + private flyteidl.core.Literals.InputData inputs_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputsBuilder_; + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public boolean hasInputs() { + return inputsBuilder_ != null || inputs_ != null; + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public flyteidl.core.Literals.InputData getInputs() { + if (inputsBuilder_ == null) { + return inputs_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputs_; + } else { + return inputsBuilder_.getMessage(); + } + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public Builder setInputs(flyteidl.core.Literals.InputData value) { + if (inputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputs_ = value; + onChanged(); + } else { + inputsBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public Builder setInputs( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputsBuilder_ == null) { + inputs_ = builderForValue.build(); + onChanged(); + } else { + inputsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public Builder mergeInputs(flyteidl.core.Literals.InputData value) { + if (inputsBuilder_ == null) { + if (inputs_ != null) { + inputs_ = + flyteidl.core.Literals.InputData.newBuilder(inputs_).mergeFrom(value).buildPartial(); + } else { + inputs_ = value; + } + onChanged(); + } else { + inputsBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public Builder clearInputs() { + if (inputsBuilder_ == null) { + inputs_ = null; + onChanged(); + } else { + inputs_ = null; + inputsBuilder_ = null; + } + + return this; + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public flyteidl.core.Literals.InputData.Builder getInputsBuilder() { + + onChanged(); + return getInputsFieldBuilder().getBuilder(); + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputsOrBuilder() { + if (inputsBuilder_ != null) { + return inputsBuilder_.getMessageOrBuilder(); + } else { + return inputs_ == null ? + flyteidl.core.Literals.InputData.getDefaultInstance() : inputs_; + } + } + /** + *
+       * Inputs are the inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputsFieldBuilder() { + if (inputsBuilder_ == null) { + inputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + getInputs(), + getParentForChildren(), + isClean()); + inputs_ = null; + } + return inputsBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -5430,6 +5729,40 @@ public interface ResourceOrBuilder extends */ flyteidl.admin.Agent.State getState(); + /** + *
+     * The outputs of the execution. It's typically used by sql task. Agent service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Use outputs instead.
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated boolean hasDeprecatedOutputs(); + /** + *
+     * The outputs of the execution. It's typically used by sql task. Agent service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Use outputs instead.
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedOutputs(); + /** + *
+     * The outputs of the execution. It's typically used by sql task. Agent service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Use outputs instead.
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputsOrBuilder(); + /** *
      * The outputs of the execution. It's typically used by sql task. Agent service will create a
@@ -5437,7 +5770,7 @@ public interface ResourceOrBuilder extends
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ boolean hasOutputs(); /** @@ -5447,9 +5780,9 @@ public interface ResourceOrBuilder extends * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - flyteidl.core.Literals.LiteralMap getOutputs(); + flyteidl.core.Literals.OutputData getOutputs(); /** *
      * The outputs of the execution. It's typically used by sql task. Agent service will create a
@@ -5457,9 +5790,9 @@ public interface ResourceOrBuilder extends
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder(); + flyteidl.core.Literals.OutputDataOrBuilder getOutputsOrBuilder(); } /** * Protobuf type {@code flyteidl.admin.Resource} @@ -5509,10 +5842,23 @@ private Resource( } case 18: { flyteidl.core.Literals.LiteralMap.Builder subBuilder = null; + if (deprecatedOutputs_ != null) { + subBuilder = deprecatedOutputs_.toBuilder(); + } + deprecatedOutputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deprecatedOutputs_); + deprecatedOutputs_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + flyteidl.core.Literals.OutputData.Builder subBuilder = null; if (outputs_ != null) { subBuilder = outputs_.toBuilder(); } - outputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry); + outputs_ = input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(outputs_); outputs_ = subBuilder.buildPartial(); @@ -5577,8 +5923,50 @@ public flyteidl.admin.Agent.State getState() { return result == null ? flyteidl.admin.Agent.State.UNRECOGNIZED : result; } - public static final int OUTPUTS_FIELD_NUMBER = 2; - private flyteidl.core.Literals.LiteralMap outputs_; + public static final int DEPRECATED_OUTPUTS_FIELD_NUMBER = 2; + private flyteidl.core.Literals.LiteralMap deprecatedOutputs_; + /** + *
+     * The outputs of the execution. It's typically used by sql task. Agent service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Use outputs instead.
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public boolean hasDeprecatedOutputs() { + return deprecatedOutputs_ != null; + } + /** + *
+     * The outputs of the execution. It's typically used by sql task. Agent service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Use outputs instead.
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputs() { + return deprecatedOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedOutputs_; + } + /** + *
+     * The outputs of the execution. It's typically used by sql task. Agent service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Use outputs instead.
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputsOrBuilder() { + return getDeprecatedOutputs(); + } + + public static final int OUTPUTS_FIELD_NUMBER = 3; + private flyteidl.core.Literals.OutputData outputs_; /** *
      * The outputs of the execution. It's typically used by sql task. Agent service will create a
@@ -5586,7 +5974,7 @@ public flyteidl.admin.Agent.State getState() {
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ public boolean hasOutputs() { return outputs_ != null; @@ -5598,10 +5986,10 @@ public boolean hasOutputs() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMap getOutputs() { - return outputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + public flyteidl.core.Literals.OutputData getOutputs() { + return outputs_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputs_; } /** *
@@ -5610,9 +5998,9 @@ public flyteidl.core.Literals.LiteralMap getOutputs() {
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { + public flyteidl.core.Literals.OutputDataOrBuilder getOutputsOrBuilder() { return getOutputs(); } @@ -5633,8 +6021,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (state_ != flyteidl.admin.Agent.State.RETRYABLE_FAILURE.getNumber()) { output.writeEnum(1, state_); } + if (deprecatedOutputs_ != null) { + output.writeMessage(2, getDeprecatedOutputs()); + } if (outputs_ != null) { - output.writeMessage(2, getOutputs()); + output.writeMessage(3, getOutputs()); } unknownFields.writeTo(output); } @@ -5649,9 +6040,13 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(1, state_); } + if (deprecatedOutputs_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getDeprecatedOutputs()); + } if (outputs_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getOutputs()); + .computeMessageSize(3, getOutputs()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -5669,6 +6064,11 @@ public boolean equals(final java.lang.Object obj) { flyteidl.admin.Agent.Resource other = (flyteidl.admin.Agent.Resource) obj; if (state_ != other.state_) return false; + if (hasDeprecatedOutputs() != other.hasDeprecatedOutputs()) return false; + if (hasDeprecatedOutputs()) { + if (!getDeprecatedOutputs() + .equals(other.getDeprecatedOutputs())) return false; + } if (hasOutputs() != other.hasOutputs()) return false; if (hasOutputs()) { if (!getOutputs() @@ -5687,6 +6087,10 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + STATE_FIELD_NUMBER; hash = (53 * hash) + state_; + if (hasDeprecatedOutputs()) { + hash = (37 * hash) + DEPRECATED_OUTPUTS_FIELD_NUMBER; + hash = (53 * hash) + getDeprecatedOutputs().hashCode(); + } if (hasOutputs()) { hash = (37 * hash) + OUTPUTS_FIELD_NUMBER; hash = (53 * hash) + getOutputs().hashCode(); @@ -5826,6 +6230,12 @@ public Builder clear() { super.clear(); state_ = 0; + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputs_ = null; + } else { + deprecatedOutputs_ = null; + deprecatedOutputsBuilder_ = null; + } if (outputsBuilder_ == null) { outputs_ = null; } else { @@ -5859,6 +6269,11 @@ public flyteidl.admin.Agent.Resource build() { public flyteidl.admin.Agent.Resource buildPartial() { flyteidl.admin.Agent.Resource result = new flyteidl.admin.Agent.Resource(this); result.state_ = state_; + if (deprecatedOutputsBuilder_ == null) { + result.deprecatedOutputs_ = deprecatedOutputs_; + } else { + result.deprecatedOutputs_ = deprecatedOutputsBuilder_.build(); + } if (outputsBuilder_ == null) { result.outputs_ = outputs_; } else { @@ -5915,6 +6330,9 @@ public Builder mergeFrom(flyteidl.admin.Agent.Resource other) { if (other.state_ != 0) { setStateValue(other.getStateValue()); } + if (other.hasDeprecatedOutputs()) { + mergeDeprecatedOutputs(other.getDeprecatedOutputs()); + } if (other.hasOutputs()) { mergeOutputs(other.getOutputs()); } @@ -6012,9 +6430,189 @@ public Builder clearState() { return this; } - private flyteidl.core.Literals.LiteralMap outputs_; + private flyteidl.core.Literals.LiteralMap deprecatedOutputs_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedOutputsBuilder_; + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public boolean hasDeprecatedOutputs() { + return deprecatedOutputsBuilder_ != null || deprecatedOutputs_ != null; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputs() { + if (deprecatedOutputsBuilder_ == null) { + return deprecatedOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedOutputs_; + } else { + return deprecatedOutputsBuilder_.getMessage(); + } + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public Builder setDeprecatedOutputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deprecatedOutputs_ = value; + onChanged(); + } else { + deprecatedOutputsBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public Builder setDeprecatedOutputs( + flyteidl.core.Literals.LiteralMap.Builder builderForValue) { + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputs_ = builderForValue.build(); + onChanged(); + } else { + deprecatedOutputsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public Builder mergeDeprecatedOutputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputsBuilder_ == null) { + if (deprecatedOutputs_ != null) { + deprecatedOutputs_ = + flyteidl.core.Literals.LiteralMap.newBuilder(deprecatedOutputs_).mergeFrom(value).buildPartial(); + } else { + deprecatedOutputs_ = value; + } + onChanged(); + } else { + deprecatedOutputsBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public Builder clearDeprecatedOutputs() { + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputs_ = null; + onChanged(); + } else { + deprecatedOutputs_ = null; + deprecatedOutputsBuilder_ = null; + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedOutputsBuilder() { + + onChanged(); + return getDeprecatedOutputsFieldBuilder().getBuilder(); + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputsOrBuilder() { + if (deprecatedOutputsBuilder_ != null) { + return deprecatedOutputsBuilder_.getMessageOrBuilder(); + } else { + return deprecatedOutputs_ == null ? + flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedOutputs_; + } + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Agent service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Use outputs instead.
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> + getDeprecatedOutputsFieldBuilder() { + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( + getDeprecatedOutputs(), + getParentForChildren(), + isClean()); + deprecatedOutputs_ = null; + } + return deprecatedOutputsBuilder_; + } + + private flyteidl.core.Literals.OutputData outputs_; private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> outputsBuilder_; + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputsBuilder_; /** *
        * The outputs of the execution. It's typically used by sql task. Agent service will create a
@@ -6022,7 +6620,7 @@ public Builder clearState() {
        * +optional
        * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ public boolean hasOutputs() { return outputsBuilder_ != null || outputs_ != null; @@ -6034,11 +6632,11 @@ public boolean hasOutputs() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMap getOutputs() { + public flyteidl.core.Literals.OutputData getOutputs() { if (outputsBuilder_ == null) { - return outputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + return outputs_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputs_; } else { return outputsBuilder_.getMessage(); } @@ -6050,9 +6648,9 @@ public flyteidl.core.Literals.LiteralMap getOutputs() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public Builder setOutputs(flyteidl.core.Literals.LiteralMap value) { + public Builder setOutputs(flyteidl.core.Literals.OutputData value) { if (outputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -6072,10 +6670,10 @@ public Builder setOutputs(flyteidl.core.Literals.LiteralMap value) { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ public Builder setOutputs( - flyteidl.core.Literals.LiteralMap.Builder builderForValue) { + flyteidl.core.Literals.OutputData.Builder builderForValue) { if (outputsBuilder_ == null) { outputs_ = builderForValue.build(); onChanged(); @@ -6092,13 +6690,13 @@ public Builder setOutputs( * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public Builder mergeOutputs(flyteidl.core.Literals.LiteralMap value) { + public Builder mergeOutputs(flyteidl.core.Literals.OutputData value) { if (outputsBuilder_ == null) { if (outputs_ != null) { outputs_ = - flyteidl.core.Literals.LiteralMap.newBuilder(outputs_).mergeFrom(value).buildPartial(); + flyteidl.core.Literals.OutputData.newBuilder(outputs_).mergeFrom(value).buildPartial(); } else { outputs_ = value; } @@ -6116,7 +6714,7 @@ public Builder mergeOutputs(flyteidl.core.Literals.LiteralMap value) { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ public Builder clearOutputs() { if (outputsBuilder_ == null) { @@ -6136,9 +6734,9 @@ public Builder clearOutputs() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMap.Builder getOutputsBuilder() { + public flyteidl.core.Literals.OutputData.Builder getOutputsBuilder() { onChanged(); return getOutputsFieldBuilder().getBuilder(); @@ -6150,14 +6748,14 @@ public flyteidl.core.Literals.LiteralMap.Builder getOutputsBuilder() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { + public flyteidl.core.Literals.OutputDataOrBuilder getOutputsOrBuilder() { if (outputsBuilder_ != null) { return outputsBuilder_.getMessageOrBuilder(); } else { return outputs_ == null ? - flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + flyteidl.core.Literals.OutputData.getDefaultInstance() : outputs_; } } /** @@ -6167,14 +6765,14 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> getOutputsFieldBuilder() { if (outputsBuilder_ == null) { outputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( getOutputs(), getParentForChildren(), isClean()); @@ -7414,25 +8012,28 @@ public flyteidl.admin.Agent.DeleteTaskResponse getDefaultInstanceForType() { "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0322\n\020Anno" + "tationsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + ":\0028\001\032;\n\031EnvironmentVariablesEntry\022\013\n\003key" + - "\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\314\001\n\021CreateTask" + - "Request\022)\n\006inputs\030\001 \001(\0132\031.flyteidl.core." + - "LiteralMap\022-\n\010template\030\002 \001(\0132\033.flyteidl." + - "core.TaskTemplate\022\025\n\routput_prefix\030\003 \001(\t" + - "\022F\n\027task_execution_metadata\030\004 \001(\0132%.flyt" + - "eidl.admin.TaskExecutionMetadata\"+\n\022Crea" + - "teTaskResponse\022\025\n\rresource_meta\030\001 \001(\014\":\n" + - "\016GetTaskRequest\022\021\n\ttask_type\030\001 \001(\t\022\025\n\rre" + - "source_meta\030\002 \001(\014\"=\n\017GetTaskResponse\022*\n\010" + - "resource\030\001 \001(\0132\030.flyteidl.admin.Resource" + - "\"\\\n\010Resource\022$\n\005state\030\001 \001(\0162\025.flyteidl.a" + - "dmin.State\022*\n\007outputs\030\002 \001(\0132\031.flyteidl.c" + - "ore.LiteralMap\"=\n\021DeleteTaskRequest\022\021\n\tt" + - "ask_type\030\001 \001(\t\022\025\n\rresource_meta\030\002 \001(\014\"\024\n" + - "\022DeleteTaskResponse*^\n\005State\022\025\n\021RETRYABL" + - "E_FAILURE\020\000\022\025\n\021PERMANENT_FAILURE\020\001\022\013\n\007PE" + - "NDING\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDED\020\004B=Z;g" + - "ithub.com/flyteorg/flyte/flyteidl/gen/pb" + - "-go/flyteidl/adminb\006proto3" + "\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\205\002\n\021CreateTask" + + "Request\0228\n\021deprecated_inputs\030\001 \001(\0132\031.fly" + + "teidl.core.LiteralMapB\002\030\001\022-\n\010template\030\002 " + + "\001(\0132\033.flyteidl.core.TaskTemplate\022\025\n\routp" + + "ut_prefix\030\003 \001(\t\022F\n\027task_execution_metada" + + "ta\030\004 \001(\0132%.flyteidl.admin.TaskExecutionM" + + "etadata\022(\n\006inputs\030\005 \001(\0132\030.flyteidl.core." + + "InputData\"+\n\022CreateTaskResponse\022\025\n\rresou" + + "rce_meta\030\001 \001(\014\":\n\016GetTaskRequest\022\021\n\ttask" + + "_type\030\001 \001(\t\022\025\n\rresource_meta\030\002 \001(\014\"=\n\017Ge" + + "tTaskResponse\022*\n\010resource\030\001 \001(\0132\030.flytei" + + "dl.admin.Resource\"\227\001\n\010Resource\022$\n\005state\030" + + "\001 \001(\0162\025.flyteidl.admin.State\0229\n\022deprecat" + + "ed_outputs\030\002 \001(\0132\031.flyteidl.core.Literal" + + "MapB\002\030\001\022*\n\007outputs\030\003 \001(\0132\031.flyteidl.core" + + ".OutputData\"=\n\021DeleteTaskRequest\022\021\n\ttask" + + "_type\030\001 \001(\t\022\025\n\rresource_meta\030\002 \001(\014\"\024\n\022De" + + "leteTaskResponse*^\n\005State\022\025\n\021RETRYABLE_F" + + "AILURE\020\000\022\025\n\021PERMANENT_FAILURE\020\001\022\013\n\007PENDI" + + "NG\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDED\020\004B=Z;gith" + + "ub.com/flyteorg/flyte/flyteidl/gen/pb-go" + + "/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -7479,7 +8080,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_CreateTaskRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_CreateTaskRequest_descriptor, - new java.lang.String[] { "Inputs", "Template", "OutputPrefix", "TaskExecutionMetadata", }); + new java.lang.String[] { "DeprecatedInputs", "Template", "OutputPrefix", "TaskExecutionMetadata", "Inputs", }); internal_static_flyteidl_admin_CreateTaskResponse_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_flyteidl_admin_CreateTaskResponse_fieldAccessorTable = new @@ -7503,7 +8104,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_Resource_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_Resource_descriptor, - new java.lang.String[] { "State", "Outputs", }); + new java.lang.String[] { "State", "DeprecatedOutputs", "Outputs", }); internal_static_flyteidl_admin_DeleteTaskRequest_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_flyteidl_admin_DeleteTaskRequest_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java index a911efd93e..f912dc908f 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java @@ -233,11 +233,45 @@ public interface ExecutionCreateRequestOrBuilder extends * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - boolean hasInputs(); + @java.lang.Deprecated boolean hasInputs(); + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * Deprecated: Please use input_data instead.
+     * 
+ * + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getInputs(); + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * Deprecated: Please use input_data instead.
+     * 
+ * + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder(); + + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + boolean hasInputData(); /** *
      * The inputs required to start the execution. All required inputs must be
@@ -245,9 +279,9 @@ public interface ExecutionCreateRequestOrBuilder extends
      * +optional
      * 
* - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.InputData input_data = 6; */ - flyteidl.core.Literals.LiteralMap getInputs(); + flyteidl.core.Literals.InputData getInputData(); /** *
      * The inputs required to start the execution. All required inputs must be
@@ -255,9 +289,9 @@ public interface ExecutionCreateRequestOrBuilder extends
      * +optional
      * 
* - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.InputData input_data = 6; */ - flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder(); + flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); } /** *
@@ -349,6 +383,19 @@ private ExecutionCreateRequest(
 
               break;
             }
+            case 50: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (inputData_ != null) {
+                subBuilder = inputData_.toBuilder();
+              }
+              inputData_ = input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(inputData_);
+                inputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -560,11 +607,12 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionSpecOrBuilder getSpecOrBuilde
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public boolean hasInputs() { + @java.lang.Deprecated public boolean hasInputs() { return inputs_ != null; } /** @@ -572,11 +620,12 @@ public boolean hasInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getInputs() { return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; } /** @@ -584,14 +633,54 @@ public flyteidl.core.Literals.LiteralMap getInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { return getInputs(); } + public static final int INPUT_DATA_FIELD_NUMBER = 6; + private flyteidl.core.Literals.InputData inputData_; + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public boolean hasInputData() { + return inputData_ != null; + } + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputData getInputData() { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + return getInputData(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -621,6 +710,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (inputs_ != null) { output.writeMessage(5, getInputs()); } + if (inputData_ != null) { + output.writeMessage(6, getInputData()); + } unknownFields.writeTo(output); } @@ -647,6 +739,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getInputs()); } + if (inputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getInputData()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -678,6 +774,11 @@ public boolean equals(final java.lang.Object obj) { if (!getInputs() .equals(other.getInputs())) return false; } + if (hasInputData() != other.hasInputData()) return false; + if (hasInputData()) { + if (!getInputData() + .equals(other.getInputData())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -703,6 +804,10 @@ public int hashCode() { hash = (37 * hash) + INPUTS_FIELD_NUMBER; hash = (53 * hash) + getInputs().hashCode(); } + if (hasInputData()) { + hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getInputData().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -858,6 +963,12 @@ public Builder clear() { inputs_ = null; inputsBuilder_ = null; } + if (inputDataBuilder_ == null) { + inputData_ = null; + } else { + inputData_ = null; + inputDataBuilder_ = null; + } return this; } @@ -897,6 +1008,11 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionCreateRequest buildPartial() } else { result.inputs_ = inputsBuilder_.build(); } + if (inputDataBuilder_ == null) { + result.inputData_ = inputData_; + } else { + result.inputData_ = inputDataBuilder_.build(); + } onBuilt(); return result; } @@ -963,6 +1079,9 @@ public Builder mergeFrom(flyteidl.admin.ExecutionOuterClass.ExecutionCreateReque if (other.hasInputs()) { mergeInputs(other.getInputs()); } + if (other.hasInputData()) { + mergeInputData(other.getInputData()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1454,11 +1573,12 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionSpecOrBuilder getSpecOrBuilde * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public boolean hasInputs() { + @java.lang.Deprecated public boolean hasInputs() { return inputsBuilder_ != null || inputs_ != null; } /** @@ -1466,11 +1586,12 @@ public boolean hasInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getInputs() { if (inputsBuilder_ == null) { return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; } else { @@ -1482,11 +1603,12 @@ public flyteidl.core.Literals.LiteralMap getInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { if (inputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -1504,11 +1626,12 @@ public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public Builder setInputs( + @java.lang.Deprecated public Builder setInputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (inputsBuilder_ == null) { inputs_ = builderForValue.build(); @@ -1524,11 +1647,12 @@ public Builder setInputs( * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { if (inputsBuilder_ == null) { if (inputs_ != null) { inputs_ = @@ -1548,11 +1672,12 @@ public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public Builder clearInputs() { + @java.lang.Deprecated public Builder clearInputs() { if (inputsBuilder_ == null) { inputs_ = null; onChanged(); @@ -1568,11 +1693,12 @@ public Builder clearInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { onChanged(); return getInputsFieldBuilder().getBuilder(); @@ -1582,11 +1708,12 @@ public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { if (inputsBuilder_ != null) { return inputsBuilder_.getMessageOrBuilder(); } else { @@ -1599,9 +1726,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: Please use input_data instead. * * - * .flyteidl.core.LiteralMap inputs = 5; + * .flyteidl.core.LiteralMap inputs = 5 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -1616,6 +1744,177 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { } return inputsBuilder_; } + + private flyteidl.core.Literals.InputData inputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public boolean hasInputData() { + return inputDataBuilder_ != null || inputData_ != null; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputDataBuilder_ == null) { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } else { + return inputDataBuilder_.getMessage(); + } + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder setInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputData_ = value; + onChanged(); + } else { + inputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder setInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputDataBuilder_ == null) { + inputData_ = builderForValue.build(); + onChanged(); + } else { + inputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder mergeInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (inputData_ != null) { + inputData_ = + flyteidl.core.Literals.InputData.newBuilder(inputData_).mergeFrom(value).buildPartial(); + } else { + inputData_ = value; + } + onChanged(); + } else { + inputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder clearInputData() { + if (inputDataBuilder_ == null) { + inputData_ = null; + onChanged(); + } else { + inputData_ = null; + inputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { + + onChanged(); + return getInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if (inputDataBuilder_ != null) { + return inputDataBuilder_.getMessageOrBuilder(); + } else { + return inputData_ == null ? + flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputDataFieldBuilder() { + if (inputDataBuilder_ == null) { + inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + getInputData(), + getParentForChildren(), + isClean()); + inputData_ = null; + } + return inputDataBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -23286,52 +23585,108 @@ public interface WorkflowExecutionGetDataResponseOrBuilder extends /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - boolean hasFullInputs(); + @java.lang.Deprecated boolean hasFullInputs(); /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getFullInputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getFullInputs(); /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder(); /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - boolean hasFullOutputs(); + @java.lang.Deprecated boolean hasFullOutputs(); /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getFullOutputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getFullOutputs(); /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
+     * 
+ * + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder(); + + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + boolean hasInputData(); + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.InputData input_data = 5; */ - flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder(); + flyteidl.core.Literals.InputData getInputData(); + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); + + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + boolean hasOutputData(); + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + flyteidl.core.Literals.OutputData getOutputData(); + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder(); } /** *
@@ -23428,6 +23783,32 @@ private WorkflowExecutionGetDataResponse(
 
               break;
             }
+            case 42: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (inputData_ != null) {
+                subBuilder = inputData_.toBuilder();
+              }
+              inputData_ = input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(inputData_);
+                inputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
+            case 50: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
+              if (outputData_ != null) {
+                subBuilder = outputData_.toBuilder();
+              }
+              outputData_ = input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(outputData_);
+                outputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -23537,31 +23918,34 @@ private WorkflowExecutionGetDataResponse(
     /**
      * 
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public boolean hasFullInputs() { + @java.lang.Deprecated public boolean hasFullInputs() { return fullInputs_ != null; } /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullInputs() { return fullInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullInputs_; } /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { return getFullInputs(); } @@ -23570,34 +23954,103 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public boolean hasFullOutputs() { + @java.lang.Deprecated public boolean hasFullOutputs() { return fullOutputs_ != null; } /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullOutputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullOutputs() { return fullOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullOutputs_; } /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { return getFullOutputs(); } + public static final int INPUT_DATA_FIELD_NUMBER = 5; + private flyteidl.core.Literals.InputData inputData_; + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public boolean hasInputData() { + return inputData_ != null; + } + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputData getInputData() { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + return getInputData(); + } + + public static final int OUTPUT_DATA_FIELD_NUMBER = 6; + private flyteidl.core.Literals.OutputData outputData_; + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public boolean hasOutputData() { + return outputData_ != null; + } + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + return outputData_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + return getOutputData(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -23624,6 +24077,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (fullOutputs_ != null) { output.writeMessage(4, getFullOutputs()); } + if (inputData_ != null) { + output.writeMessage(5, getInputData()); + } + if (outputData_ != null) { + output.writeMessage(6, getOutputData()); + } unknownFields.writeTo(output); } @@ -23649,6 +24108,14 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getFullOutputs()); } + if (inputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getInputData()); + } + if (outputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getOutputData()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -23684,6 +24151,16 @@ public boolean equals(final java.lang.Object obj) { if (!getFullOutputs() .equals(other.getFullOutputs())) return false; } + if (hasInputData() != other.hasInputData()) return false; + if (hasInputData()) { + if (!getInputData() + .equals(other.getInputData())) return false; + } + if (hasOutputData() != other.hasOutputData()) return false; + if (hasOutputData()) { + if (!getOutputData() + .equals(other.getOutputData())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -23711,6 +24188,14 @@ public int hashCode() { hash = (37 * hash) + FULL_OUTPUTS_FIELD_NUMBER; hash = (53 * hash) + getFullOutputs().hashCode(); } + if (hasInputData()) { + hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getInputData().hashCode(); + } + if (hasOutputData()) { + hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getOutputData().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -23872,6 +24357,18 @@ public Builder clear() { fullOutputs_ = null; fullOutputsBuilder_ = null; } + if (inputDataBuilder_ == null) { + inputData_ = null; + } else { + inputData_ = null; + inputDataBuilder_ = null; + } + if (outputDataBuilder_ == null) { + outputData_ = null; + } else { + outputData_ = null; + outputDataBuilder_ = null; + } return this; } @@ -23918,6 +24415,16 @@ public flyteidl.admin.ExecutionOuterClass.WorkflowExecutionGetDataResponse build } else { result.fullOutputs_ = fullOutputsBuilder_.build(); } + if (inputDataBuilder_ == null) { + result.inputData_ = inputData_; + } else { + result.inputData_ = inputDataBuilder_.build(); + } + if (outputDataBuilder_ == null) { + result.outputData_ = outputData_; + } else { + result.outputData_ = outputDataBuilder_.build(); + } onBuilt(); return result; } @@ -23978,6 +24485,12 @@ public Builder mergeFrom(flyteidl.admin.ExecutionOuterClass.WorkflowExecutionGet if (other.hasFullOutputs()) { mergeFullOutputs(other.getFullOutputs()); } + if (other.hasInputData()) { + mergeInputData(other.getInputData()); + } + if (other.hasOutputData()) { + mergeOutputData(other.getOutputData()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -24337,21 +24850,23 @@ public Builder mergeFrom( /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public boolean hasFullInputs() { + @java.lang.Deprecated public boolean hasFullInputs() { return fullInputsBuilder_ != null || fullInputs_ != null; } /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullInputs() { if (fullInputsBuilder_ == null) { return fullInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullInputs_; } else { @@ -24361,11 +24876,12 @@ public flyteidl.core.Literals.LiteralMap getFullInputs() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { if (fullInputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -24381,11 +24897,12 @@ public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder setFullInputs( + @java.lang.Deprecated public Builder setFullInputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (fullInputsBuilder_ == null) { fullInputs_ = builderForValue.build(); @@ -24399,11 +24916,12 @@ public Builder setFullInputs( /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { if (fullInputsBuilder_ == null) { if (fullInputs_ != null) { fullInputs_ = @@ -24421,11 +24939,12 @@ public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder clearFullInputs() { + @java.lang.Deprecated public Builder clearFullInputs() { if (fullInputsBuilder_ == null) { fullInputs_ = null; onChanged(); @@ -24439,11 +24958,12 @@ public Builder clearFullInputs() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { onChanged(); return getFullInputsFieldBuilder().getBuilder(); @@ -24451,11 +24971,12 @@ public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { if (fullInputsBuilder_ != null) { return fullInputsBuilder_.getMessageOrBuilder(); } else { @@ -24466,9 +24987,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -24490,21 +25012,23 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public boolean hasFullOutputs() { + @java.lang.Deprecated public boolean hasFullOutputs() { return fullOutputsBuilder_ != null || fullOutputs_ != null; } /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullOutputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullOutputs() { if (fullOutputsBuilder_ == null) { return fullOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullOutputs_; } else { @@ -24514,11 +25038,12 @@ public flyteidl.core.Literals.LiteralMap getFullOutputs() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { if (fullOutputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -24534,11 +25059,12 @@ public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder setFullOutputs( + @java.lang.Deprecated public Builder setFullOutputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (fullOutputsBuilder_ == null) { fullOutputs_ = builderForValue.build(); @@ -24552,11 +25078,12 @@ public Builder setFullOutputs( /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { if (fullOutputsBuilder_ == null) { if (fullOutputs_ != null) { fullOutputs_ = @@ -24574,11 +25101,12 @@ public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder clearFullOutputs() { + @java.lang.Deprecated public Builder clearFullOutputs() { if (fullOutputsBuilder_ == null) { fullOutputs_ = null; onChanged(); @@ -24592,11 +25120,12 @@ public Builder clearFullOutputs() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { onChanged(); return getFullOutputsFieldBuilder().getBuilder(); @@ -24604,11 +25133,12 @@ public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { if (fullOutputsBuilder_ != null) { return fullOutputsBuilder_.getMessageOrBuilder(); } else { @@ -24619,9 +25149,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -24636,6 +25167,312 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { } return fullOutputsBuilder_; } + + private flyteidl.core.Literals.InputData inputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public boolean hasInputData() { + return inputDataBuilder_ != null || inputData_ != null; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputDataBuilder_ == null) { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } else { + return inputDataBuilder_.getMessage(); + } + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder setInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputData_ = value; + onChanged(); + } else { + inputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder setInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputDataBuilder_ == null) { + inputData_ = builderForValue.build(); + onChanged(); + } else { + inputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder mergeInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (inputData_ != null) { + inputData_ = + flyteidl.core.Literals.InputData.newBuilder(inputData_).mergeFrom(value).buildPartial(); + } else { + inputData_ = value; + } + onChanged(); + } else { + inputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder clearInputData() { + if (inputDataBuilder_ == null) { + inputData_ = null; + onChanged(); + } else { + inputData_ = null; + inputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { + + onChanged(); + return getInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if (inputDataBuilder_ != null) { + return inputDataBuilder_.getMessageOrBuilder(); + } else { + return inputData_ == null ? + flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputDataFieldBuilder() { + if (inputDataBuilder_ == null) { + inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + getInputData(), + getParentForChildren(), + isClean()); + inputData_ = null; + } + return inputDataBuilder_; + } + + private flyteidl.core.Literals.OutputData outputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputDataBuilder_; + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public boolean hasOutputData() { + return outputDataBuilder_ != null || outputData_ != null; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputDataBuilder_ == null) { + return outputData_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } else { + return outputDataBuilder_.getMessage(); + } + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder setOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputData_ = value; + onChanged(); + } else { + outputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder setOutputData( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (outputDataBuilder_ == null) { + outputData_ = builderForValue.build(); + onChanged(); + } else { + outputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder mergeOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (outputData_ != null) { + outputData_ = + flyteidl.core.Literals.OutputData.newBuilder(outputData_).mergeFrom(value).buildPartial(); + } else { + outputData_ = value; + } + onChanged(); + } else { + outputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder clearOutputData() { + if (outputDataBuilder_ == null) { + outputData_ = null; + onChanged(); + } else { + outputData_ = null; + outputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputData.Builder getOutputDataBuilder() { + + onChanged(); + return getOutputDataFieldBuilder().getBuilder(); + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if (outputDataBuilder_ != null) { + return outputDataBuilder_.getMessageOrBuilder(); + } else { + return outputData_ == null ? + flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getOutputDataFieldBuilder() { + if (outputDataBuilder_ == null) { + outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + getOutputData(), + getParentForChildren(), + isClean()); + outputData_ = null; + } + return outputDataBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -28443,113 +29280,117 @@ public flyteidl.admin.ExecutionOuterClass.WorkflowExecutionGetMetricsResponse ge "\032\034flyteidl/core/security.proto\032\036google/p" + "rotobuf/duration.proto\032\037google/protobuf/" + "timestamp.proto\032\036google/protobuf/wrapper" + - "s.proto\"\237\001\n\026ExecutionCreateRequest\022\017\n\007pr" + + "s.proto\"\321\001\n\026ExecutionCreateRequest\022\017\n\007pr" + "oject\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\014\n\004name\030\003 \001(" + "\t\022+\n\004spec\030\004 \001(\0132\035.flyteidl.admin.Executi" + - "onSpec\022)\n\006inputs\030\005 \001(\0132\031.flyteidl.core.L" + - "iteralMap\"\177\n\030ExecutionRelaunchRequest\0226\n" + - "\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExecut" + - "ionIdentifier\022\014\n\004name\030\003 \001(\t\022\027\n\017overwrite" + - "_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027ExecutionRecoverR" + - "equest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workf" + - "lowExecutionIdentifier\022\014\n\004name\030\002 \001(\t\0223\n\010" + - "metadata\030\003 \001(\0132!.flyteidl.admin.Executio" + - "nMetadata\"Q\n\027ExecutionCreateResponse\0226\n\002" + - "id\030\001 \001(\0132*.flyteidl.core.WorkflowExecuti" + - "onIdentifier\"U\n\033WorkflowExecutionGetRequ" + - "est\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workflow" + - "ExecutionIdentifier\"\243\001\n\tExecution\0226\n\002id\030" + - "\001 \001(\0132*.flyteidl.core.WorkflowExecutionI" + - "dentifier\022+\n\004spec\030\002 \001(\0132\035.flyteidl.admin" + - ".ExecutionSpec\0221\n\007closure\030\003 \001(\0132 .flytei" + - "dl.admin.ExecutionClosure\"M\n\rExecutionLi" + - "st\022-\n\nexecutions\030\001 \003(\0132\031.flyteidl.admin." + - "Execution\022\r\n\005token\030\002 \001(\t\"X\n\016LiteralMapBl" + - "ob\022/\n\006values\030\001 \001(\0132\031.flyteidl.core.Liter" + - "alMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004data\"1\n\rAb" + - "ortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\tprincipal\030" + - "\002 \001(\t\"\360\005\n\020ExecutionClosure\0225\n\007outputs\030\001 " + - "\001(\0132\036.flyteidl.admin.LiteralMapBlobB\002\030\001H" + - "\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.core.Executi" + - "onErrorH\000\022\031\n\013abort_cause\030\n \001(\tB\002\030\001H\000\0227\n\016" + - "abort_metadata\030\014 \001(\0132\035.flyteidl.admin.Ab" + - "ortMetadataH\000\0224\n\013output_data\030\r \001(\0132\031.fly" + - "teidl.core.LiteralMapB\002\030\001H\000\0226\n\017computed_" + - "inputs\030\003 \001(\0132\031.flyteidl.core.LiteralMapB" + - "\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyteidl.core.Workf" + - "lowExecution.Phase\022.\n\nstarted_at\030\005 \001(\0132\032" + - ".google.protobuf.Timestamp\022+\n\010duration\030\006" + - " \001(\0132\031.google.protobuf.Duration\022.\n\ncreat" + - "ed_at\030\007 \001(\0132\032.google.protobuf.Timestamp\022" + - ".\n\nupdated_at\030\010 \001(\0132\032.google.protobuf.Ti" + - "mestamp\0223\n\rnotifications\030\t \003(\0132\034.flyteid" + - "l.admin.Notification\022.\n\013workflow_id\030\013 \001(" + - "\0132\031.flyteidl.core.Identifier\022I\n\024state_ch" + - "ange_details\030\016 \001(\0132+.flyteidl.admin.Exec" + - "utionStateChangeDetailsB\017\n\routput_result" + - "\">\n\016SystemMetadata\022\031\n\021execution_cluster\030" + - "\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\332\003\n\021ExecutionMe" + - "tadata\022=\n\004mode\030\001 \001(\0162/.flyteidl.admin.Ex" + - "ecutionMetadata.ExecutionMode\022\021\n\tprincip" + - "al\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\0220\n\014scheduled_a" + - "t\030\004 \001(\0132\032.google.protobuf.Timestamp\022E\n\025p" + - "arent_node_execution\030\005 \001(\0132&.flyteidl.co" + - "re.NodeExecutionIdentifier\022G\n\023reference_" + - "execution\030\020 \001(\0132*.flyteidl.core.Workflow" + - "ExecutionIdentifier\0227\n\017system_metadata\030\021" + - " \001(\0132\036.flyteidl.admin.SystemMetadata\"g\n\r" + - "ExecutionMode\022\n\n\006MANUAL\020\000\022\r\n\tSCHEDULED\020\001" + - "\022\n\n\006SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016CHILD_WORK" + - "FLOW\020\004\022\r\n\tRECOVERED\020\005\"G\n\020NotificationLis" + - "t\0223\n\rnotifications\030\001 \003(\0132\034.flyteidl.admi" + - "n.Notification\"\262\006\n\rExecutionSpec\022.\n\013laun" + - "ch_plan\030\001 \001(\0132\031.flyteidl.core.Identifier" + - "\022-\n\006inputs\030\002 \001(\0132\031.flyteidl.core.Literal" + - "MapB\002\030\001\0223\n\010metadata\030\003 \001(\0132!.flyteidl.adm" + - "in.ExecutionMetadata\0229\n\rnotifications\030\005 " + - "\001(\0132 .flyteidl.admin.NotificationListH\000\022" + - "\025\n\013disable_all\030\006 \001(\010H\000\022&\n\006labels\030\007 \001(\0132\026" + - ".flyteidl.admin.Labels\0220\n\013annotations\030\010 " + - "\001(\0132\033.flyteidl.admin.Annotations\0228\n\020secu" + - "rity_context\030\n \001(\0132\036.flyteidl.core.Secur" + - "ityContext\022/\n\tauth_role\030\020 \001(\0132\030.flyteidl" + - ".admin.AuthRoleB\002\030\001\022;\n\022quality_of_servic" + - "e\030\021 \001(\0132\037.flyteidl.core.QualityOfService" + - "\022\027\n\017max_parallelism\030\022 \001(\005\022C\n\026raw_output_" + - "data_config\030\023 \001(\0132#.flyteidl.admin.RawOu" + - "tputDataConfig\022=\n\022cluster_assignment\030\024 \001" + - "(\0132!.flyteidl.admin.ClusterAssignment\0221\n" + - "\rinterruptible\030\025 \001(\0132\032.google.protobuf.B" + - "oolValue\022\027\n\017overwrite_cache\030\026 \001(\010\022\"\n\004env" + - "s\030\027 \001(\0132\024.flyteidl.admin.Envs\022\014\n\004tags\030\030 " + - "\003(\tB\030\n\026notification_overridesJ\004\010\004\020\005\"b\n\031E" + - "xecutionTerminateRequest\0226\n\002id\030\001 \001(\0132*.f" + - "lyteidl.core.WorkflowExecutionIdentifier" + - "\022\r\n\005cause\030\002 \001(\t\"\034\n\032ExecutionTerminateRes" + - "ponse\"Y\n\037WorkflowExecutionGetDataRequest" + - "\0226\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExe" + - "cutionIdentifier\"\336\001\n WorkflowExecutionGe" + - "tDataResponse\022,\n\007outputs\030\001 \001(\0132\027.flyteid" + - "l.admin.UrlBlobB\002\030\001\022+\n\006inputs\030\002 \001(\0132\027.fl" + - "yteidl.admin.UrlBlobB\002\030\001\022.\n\013full_inputs\030" + - "\003 \001(\0132\031.flyteidl.core.LiteralMap\022/\n\014full" + - "_outputs\030\004 \001(\0132\031.flyteidl.core.LiteralMa" + - "p\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001(\0132" + - "*.flyteidl.core.WorkflowExecutionIdentif" + - "ier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.Exec" + - "utionState\"\220\001\n\033ExecutionStateChangeDetai" + - "ls\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin.Execu" + - "tionState\022/\n\013occurred_at\030\002 \001(\0132\032.google." + - "protobuf.Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n" + - "\027ExecutionUpdateResponse\"k\n\"WorkflowExec" + - "utionGetMetricsRequest\0226\n\002id\030\001 \001(\0132*.fly" + - "teidl.core.WorkflowExecutionIdentifier\022\r" + - "\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionGetMet" + - "ricsResponse\022!\n\004span\030\001 \001(\0132\023.flyteidl.co" + - "re.Span*>\n\016ExecutionState\022\024\n\020EXECUTION_A" + - "CTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;githu" + - "b.com/flyteorg/flyte/flyteidl/gen/pb-go/" + - "flyteidl/adminb\006proto3" + "onSpec\022-\n\006inputs\030\005 \001(\0132\031.flyteidl.core.L" + + "iteralMapB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyt" + + "eidl.core.InputData\"\177\n\030ExecutionRelaunch" + + "Request\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Work" + + "flowExecutionIdentifier\022\014\n\004name\030\003 \001(\t\022\027\n" + + "\017overwrite_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027Executi" + + "onRecoverRequest\0226\n\002id\030\001 \001(\0132*.flyteidl." + + "core.WorkflowExecutionIdentifier\022\014\n\004name" + + "\030\002 \001(\t\0223\n\010metadata\030\003 \001(\0132!.flyteidl.admi" + + "n.ExecutionMetadata\"Q\n\027ExecutionCreateRe" + + "sponse\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workf" + + "lowExecutionIdentifier\"U\n\033WorkflowExecut" + + "ionGetRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.cor" + + "e.WorkflowExecutionIdentifier\"\243\001\n\tExecut" + + "ion\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workflow" + + "ExecutionIdentifier\022+\n\004spec\030\002 \001(\0132\035.flyt" + + "eidl.admin.ExecutionSpec\0221\n\007closure\030\003 \001(" + + "\0132 .flyteidl.admin.ExecutionClosure\"M\n\rE" + + "xecutionList\022-\n\nexecutions\030\001 \003(\0132\031.flyte" + + "idl.admin.Execution\022\r\n\005token\030\002 \001(\t\"X\n\016Li" + + "teralMapBlob\022/\n\006values\030\001 \001(\0132\031.flyteidl." + + "core.LiteralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004" + + "data\"1\n\rAbortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\t" + + "principal\030\002 \001(\t\"\360\005\n\020ExecutionClosure\0225\n\007" + + "outputs\030\001 \001(\0132\036.flyteidl.admin.LiteralMa" + + "pBlobB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.co" + + "re.ExecutionErrorH\000\022\031\n\013abort_cause\030\n \001(\t" + + "B\002\030\001H\000\0227\n\016abort_metadata\030\014 \001(\0132\035.flyteid" + + "l.admin.AbortMetadataH\000\0224\n\013output_data\030\r" + + " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000\0226\n" + + "\017computed_inputs\030\003 \001(\0132\031.flyteidl.core.L" + + "iteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyteidl." + + "core.WorkflowExecution.Phase\022.\n\nstarted_" + + "at\030\005 \001(\0132\032.google.protobuf.Timestamp\022+\n\010" + + "duration\030\006 \001(\0132\031.google.protobuf.Duratio" + + "n\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." + + "Timestamp\022.\n\nupdated_at\030\010 \001(\0132\032.google.p" + + "rotobuf.Timestamp\0223\n\rnotifications\030\t \003(\013" + + "2\034.flyteidl.admin.Notification\022.\n\013workfl" + + "ow_id\030\013 \001(\0132\031.flyteidl.core.Identifier\022I" + + "\n\024state_change_details\030\016 \001(\0132+.flyteidl." + + "admin.ExecutionStateChangeDetailsB\017\n\rout" + + "put_result\">\n\016SystemMetadata\022\031\n\021executio" + + "n_cluster\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\332\003\n\021E" + + "xecutionMetadata\022=\n\004mode\030\001 \001(\0162/.flyteid" + + "l.admin.ExecutionMetadata.ExecutionMode\022" + + "\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\0220\n\014s" + + "cheduled_at\030\004 \001(\0132\032.google.protobuf.Time" + + "stamp\022E\n\025parent_node_execution\030\005 \001(\0132&.f" + + "lyteidl.core.NodeExecutionIdentifier\022G\n\023" + + "reference_execution\030\020 \001(\0132*.flyteidl.cor" + + "e.WorkflowExecutionIdentifier\0227\n\017system_" + + "metadata\030\021 \001(\0132\036.flyteidl.admin.SystemMe" + + "tadata\"g\n\rExecutionMode\022\n\n\006MANUAL\020\000\022\r\n\tS" + + "CHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016" + + "CHILD_WORKFLOW\020\004\022\r\n\tRECOVERED\020\005\"G\n\020Notif" + + "icationList\0223\n\rnotifications\030\001 \003(\0132\034.fly" + + "teidl.admin.Notification\"\262\006\n\rExecutionSp" + + "ec\022.\n\013launch_plan\030\001 \001(\0132\031.flyteidl.core." + + "Identifier\022-\n\006inputs\030\002 \001(\0132\031.flyteidl.co" + + "re.LiteralMapB\002\030\001\0223\n\010metadata\030\003 \001(\0132!.fl" + + "yteidl.admin.ExecutionMetadata\0229\n\rnotifi" + + "cations\030\005 \001(\0132 .flyteidl.admin.Notificat" + + "ionListH\000\022\025\n\013disable_all\030\006 \001(\010H\000\022&\n\006labe" + + "ls\030\007 \001(\0132\026.flyteidl.admin.Labels\0220\n\013anno" + + "tations\030\010 \001(\0132\033.flyteidl.admin.Annotatio" + + "ns\0228\n\020security_context\030\n \001(\0132\036.flyteidl." + + "core.SecurityContext\022/\n\tauth_role\030\020 \001(\0132" + + "\030.flyteidl.admin.AuthRoleB\002\030\001\022;\n\022quality" + + "_of_service\030\021 \001(\0132\037.flyteidl.core.Qualit" + + "yOfService\022\027\n\017max_parallelism\030\022 \001(\005\022C\n\026r" + + "aw_output_data_config\030\023 \001(\0132#.flyteidl.a" + + "dmin.RawOutputDataConfig\022=\n\022cluster_assi" + + "gnment\030\024 \001(\0132!.flyteidl.admin.ClusterAss" + + "ignment\0221\n\rinterruptible\030\025 \001(\0132\032.google." + + "protobuf.BoolValue\022\027\n\017overwrite_cache\030\026 " + + "\001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteidl.admin.Envs\022" + + "\014\n\004tags\030\030 \003(\tB\030\n\026notification_overridesJ" + + "\004\010\004\020\005\"b\n\031ExecutionTerminateRequest\0226\n\002id" + + "\030\001 \001(\0132*.flyteidl.core.WorkflowExecution" + + "Identifier\022\r\n\005cause\030\002 \001(\t\"\034\n\032ExecutionTe" + + "rminateResponse\"Y\n\037WorkflowExecutionGetD" + + "ataRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.W" + + "orkflowExecutionIdentifier\"\304\002\n WorkflowE" + + "xecutionGetDataResponse\022,\n\007outputs\030\001 \001(\013" + + "2\027.flyteidl.admin.UrlBlobB\002\030\001\022+\n\006inputs\030" + + "\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\0222\n\013fu" + + "ll_inputs\030\003 \001(\0132\031.flyteidl.core.LiteralM" + + "apB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyteidl." + + "core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005 \001(\0132" + + "\030.flyteidl.core.InputData\022.\n\013output_data" + + "\030\006 \001(\0132\031.flyteidl.core.OutputData\"\177\n\026Exe" + + "cutionUpdateRequest\0226\n\002id\030\001 \001(\0132*.flytei" + + "dl.core.WorkflowExecutionIdentifier\022-\n\005s" + + "tate\030\002 \001(\0162\036.flyteidl.admin.ExecutionSta" + + "te\"\220\001\n\033ExecutionStateChangeDetails\022-\n\005st" + + "ate\030\001 \001(\0162\036.flyteidl.admin.ExecutionStat" + + "e\022/\n\013occurred_at\030\002 \001(\0132\032.google.protobuf" + + ".Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n\027Executi" + + "onUpdateResponse\"k\n\"WorkflowExecutionGet" + + "MetricsRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.co" + + "re.WorkflowExecutionIdentifier\022\r\n\005depth\030" + + "\002 \001(\005\"H\n#WorkflowExecutionGetMetricsResp" + + "onse\022!\n\004span\030\001 \001(\0132\023.flyteidl.core.Span*" + + ">\n\016ExecutionState\022\024\n\020EXECUTION_ACTIVE\020\000\022" + + "\026\n\022EXECUTION_ARCHIVED\020\001B=Z;github.com/fl" + + "yteorg/flyte/flyteidl/gen/pb-go/flyteidl" + + "/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -28578,7 +29419,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ExecutionCreateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ExecutionCreateRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "Name", "Spec", "Inputs", }); + new java.lang.String[] { "Project", "Domain", "Name", "Spec", "Inputs", "InputData", }); internal_static_flyteidl_admin_ExecutionRelaunchRequest_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_admin_ExecutionRelaunchRequest_fieldAccessorTable = new @@ -28680,7 +29521,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_WorkflowExecutionGetDataResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_WorkflowExecutionGetDataResponse_descriptor, - new java.lang.String[] { "Outputs", "Inputs", "FullInputs", "FullOutputs", }); + new java.lang.String[] { "Outputs", "Inputs", "FullInputs", "FullOutputs", "InputData", "OutputData", }); internal_static_flyteidl_admin_ExecutionUpdateRequest_descriptor = getDescriptor().getMessageTypes().get(18); internal_static_flyteidl_admin_ExecutionUpdateRequest_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java index 8642e176d2..3d3d71df13 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java @@ -4491,29 +4491,60 @@ public interface LaunchPlanSpecOrBuilder extends *
      * Fixed, non-overridable inputs for the Launch Plan.
      * These can not be overridden when an execution is created with this launch plan.
+     * Deprecated: Please use fixec_input_data instead
      * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - boolean hasFixedInputs(); + @java.lang.Deprecated boolean hasFixedInputs(); /** *
      * Fixed, non-overridable inputs for the Launch Plan.
      * These can not be overridden when an execution is created with this launch plan.
+     * Deprecated: Please use fixec_input_data instead
      * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getFixedInputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getFixedInputs(); /** *
      * Fixed, non-overridable inputs for the Launch Plan.
      * These can not be overridden when an execution is created with this launch plan.
+     * Deprecated: Please use fixec_input_data instead
      * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder(); + + /** + *
+     * Fixed, non-overridable inputs for the Launch Plan.
+     * These can not be overridden when an execution is created with this launch plan.
+     * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + boolean hasFixedInputData(); + /** + *
+     * Fixed, non-overridable inputs for the Launch Plan.
+     * These can not be overridden when an execution is created with this launch plan.
+     * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + flyteidl.core.Literals.InputData getFixedInputData(); + /** + *
+     * Fixed, non-overridable inputs for the Launch Plan.
+     * These can not be overridden when an execution is created with this launch plan.
+     * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + flyteidl.core.Literals.InputDataOrBuilder getFixedInputDataOrBuilder(); /** *
@@ -5006,6 +5037,19 @@ private LaunchPlanSpec(
 
               break;
             }
+            case 178: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (fixedInputData_ != null) {
+                subBuilder = fixedInputData_.toBuilder();
+              }
+              fixedInputData_ = input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(fixedInputData_);
+                fixedInputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -5146,36 +5190,75 @@ public flyteidl.core.Interface.ParameterMapOrBuilder getDefaultInputsOrBuilder()
      * 
      * Fixed, non-overridable inputs for the Launch Plan.
      * These can not be overridden when an execution is created with this launch plan.
+     * Deprecated: Please use fixec_input_data instead
      * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public boolean hasFixedInputs() { + @java.lang.Deprecated public boolean hasFixedInputs() { return fixedInputs_ != null; } /** *
      * Fixed, non-overridable inputs for the Launch Plan.
      * These can not be overridden when an execution is created with this launch plan.
+     * Deprecated: Please use fixec_input_data instead
      * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFixedInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFixedInputs() { return fixedInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fixedInputs_; } /** *
      * Fixed, non-overridable inputs for the Launch Plan.
      * These can not be overridden when an execution is created with this launch plan.
+     * Deprecated: Please use fixec_input_data instead
      * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder() { return getFixedInputs(); } + public static final int FIXED_INPUT_DATA_FIELD_NUMBER = 22; + private flyteidl.core.Literals.InputData fixedInputData_; + /** + *
+     * Fixed, non-overridable inputs for the Launch Plan.
+     * These can not be overridden when an execution is created with this launch plan.
+     * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public boolean hasFixedInputData() { + return fixedInputData_ != null; + } + /** + *
+     * Fixed, non-overridable inputs for the Launch Plan.
+     * These can not be overridden when an execution is created with this launch plan.
+     * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public flyteidl.core.Literals.InputData getFixedInputData() { + return fixedInputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : fixedInputData_; + } + /** + *
+     * Fixed, non-overridable inputs for the Launch Plan.
+     * These can not be overridden when an execution is created with this launch plan.
+     * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public flyteidl.core.Literals.InputDataOrBuilder getFixedInputDataOrBuilder() { + return getFixedInputData(); + } + public static final int ROLE_FIELD_NUMBER = 5; private volatile java.lang.Object role_; /** @@ -5604,6 +5687,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (envs_ != null) { output.writeMessage(21, getEnvs()); } + if (fixedInputData_ != null) { + output.writeMessage(22, getFixedInputData()); + } unknownFields.writeTo(output); } @@ -5676,6 +5762,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(21, getEnvs()); } + if (fixedInputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(22, getFixedInputData()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -5711,6 +5801,11 @@ public boolean equals(final java.lang.Object obj) { if (!getFixedInputs() .equals(other.getFixedInputs())) return false; } + if (hasFixedInputData() != other.hasFixedInputData()) return false; + if (hasFixedInputData()) { + if (!getFixedInputData() + .equals(other.getFixedInputData())) return false; + } if (!getRole() .equals(other.getRole())) return false; if (hasLabels() != other.hasLabels()) return false; @@ -5789,6 +5884,10 @@ public int hashCode() { hash = (37 * hash) + FIXED_INPUTS_FIELD_NUMBER; hash = (53 * hash) + getFixedInputs().hashCode(); } + if (hasFixedInputData()) { + hash = (37 * hash) + FIXED_INPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getFixedInputData().hashCode(); + } hash = (37 * hash) + ROLE_FIELD_NUMBER; hash = (53 * hash) + getRole().hashCode(); if (hasLabels()) { @@ -5993,6 +6092,12 @@ public Builder clear() { fixedInputs_ = null; fixedInputsBuilder_ = null; } + if (fixedInputDataBuilder_ == null) { + fixedInputData_ = null; + } else { + fixedInputData_ = null; + fixedInputDataBuilder_ = null; + } role_ = ""; if (labelsBuilder_ == null) { @@ -6099,6 +6204,11 @@ public flyteidl.admin.LaunchPlanOuterClass.LaunchPlanSpec buildPartial() { } else { result.fixedInputs_ = fixedInputsBuilder_.build(); } + if (fixedInputDataBuilder_ == null) { + result.fixedInputData_ = fixedInputData_; + } else { + result.fixedInputData_ = fixedInputDataBuilder_.build(); + } result.role_ = role_; if (labelsBuilder_ == null) { result.labels_ = labels_; @@ -6207,6 +6317,9 @@ public Builder mergeFrom(flyteidl.admin.LaunchPlanOuterClass.LaunchPlanSpec othe if (other.hasFixedInputs()) { mergeFixedInputs(other.getFixedInputs()); } + if (other.hasFixedInputData()) { + mergeFixedInputData(other.getFixedInputData()); + } if (!other.getRole().isEmpty()) { role_ = other.role_; onChanged(); @@ -6748,22 +6861,24 @@ public flyteidl.core.Interface.ParameterMapOrBuilder getDefaultInputsOrBuilder() *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public boolean hasFixedInputs() { + @java.lang.Deprecated public boolean hasFixedInputs() { return fixedInputsBuilder_ != null || fixedInputs_ != null; } /** *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFixedInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFixedInputs() { if (fixedInputsBuilder_ == null) { return fixedInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fixedInputs_; } else { @@ -6774,11 +6889,12 @@ public flyteidl.core.Literals.LiteralMap getFixedInputs() { *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public Builder setFixedInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setFixedInputs(flyteidl.core.Literals.LiteralMap value) { if (fixedInputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -6795,11 +6911,12 @@ public Builder setFixedInputs(flyteidl.core.Literals.LiteralMap value) { *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public Builder setFixedInputs( + @java.lang.Deprecated public Builder setFixedInputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (fixedInputsBuilder_ == null) { fixedInputs_ = builderForValue.build(); @@ -6814,11 +6931,12 @@ public Builder setFixedInputs( *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public Builder mergeFixedInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeFixedInputs(flyteidl.core.Literals.LiteralMap value) { if (fixedInputsBuilder_ == null) { if (fixedInputs_ != null) { fixedInputs_ = @@ -6837,11 +6955,12 @@ public Builder mergeFixedInputs(flyteidl.core.Literals.LiteralMap value) { *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public Builder clearFixedInputs() { + @java.lang.Deprecated public Builder clearFixedInputs() { if (fixedInputsBuilder_ == null) { fixedInputs_ = null; onChanged(); @@ -6856,11 +6975,12 @@ public Builder clearFixedInputs() { *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getFixedInputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getFixedInputsBuilder() { onChanged(); return getFixedInputsFieldBuilder().getBuilder(); @@ -6869,11 +6989,12 @@ public flyteidl.core.Literals.LiteralMap.Builder getFixedInputsBuilder() { *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder() { if (fixedInputsBuilder_ != null) { return fixedInputsBuilder_.getMessageOrBuilder(); } else { @@ -6885,9 +7006,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder() { *
        * Fixed, non-overridable inputs for the Launch Plan.
        * These can not be overridden when an execution is created with this launch plan.
+       * Deprecated: Please use fixec_input_data instead
        * 
* - * .flyteidl.core.LiteralMap fixed_inputs = 4; + * .flyteidl.core.LiteralMap fixed_inputs = 4 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -6903,6 +7025,168 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFixedInputsOrBuilder() { return fixedInputsBuilder_; } + private flyteidl.core.Literals.InputData fixedInputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> fixedInputDataBuilder_; + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public boolean hasFixedInputData() { + return fixedInputDataBuilder_ != null || fixedInputData_ != null; + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public flyteidl.core.Literals.InputData getFixedInputData() { + if (fixedInputDataBuilder_ == null) { + return fixedInputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : fixedInputData_; + } else { + return fixedInputDataBuilder_.getMessage(); + } + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public Builder setFixedInputData(flyteidl.core.Literals.InputData value) { + if (fixedInputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + fixedInputData_ = value; + onChanged(); + } else { + fixedInputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public Builder setFixedInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (fixedInputDataBuilder_ == null) { + fixedInputData_ = builderForValue.build(); + onChanged(); + } else { + fixedInputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public Builder mergeFixedInputData(flyteidl.core.Literals.InputData value) { + if (fixedInputDataBuilder_ == null) { + if (fixedInputData_ != null) { + fixedInputData_ = + flyteidl.core.Literals.InputData.newBuilder(fixedInputData_).mergeFrom(value).buildPartial(); + } else { + fixedInputData_ = value; + } + onChanged(); + } else { + fixedInputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public Builder clearFixedInputData() { + if (fixedInputDataBuilder_ == null) { + fixedInputData_ = null; + onChanged(); + } else { + fixedInputData_ = null; + fixedInputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public flyteidl.core.Literals.InputData.Builder getFixedInputDataBuilder() { + + onChanged(); + return getFixedInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + public flyteidl.core.Literals.InputDataOrBuilder getFixedInputDataOrBuilder() { + if (fixedInputDataBuilder_ != null) { + return fixedInputDataBuilder_.getMessageOrBuilder(); + } else { + return fixedInputData_ == null ? + flyteidl.core.Literals.InputData.getDefaultInstance() : fixedInputData_; + } + } + /** + *
+       * Fixed, non-overridable inputs for the Launch Plan.
+       * These can not be overridden when an execution is created with this launch plan.
+       * 
+ * + * .flyteidl.core.InputData fixed_input_data = 22; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getFixedInputDataFieldBuilder() { + if (fixedInputDataBuilder_ == null) { + fixedInputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + getFixedInputData(), + getParentForChildren(), + isClean()); + fixedInputData_ = null; + } + return fixedInputDataBuilder_; + } + private java.lang.Object role_ = ""; /** *
@@ -14576,47 +14860,49 @@ public flyteidl.admin.LaunchPlanOuterClass.ActiveLaunchPlanListRequest getDefaul
       "0\n\014launch_plans\030\001 \003(\0132\032.flyteidl.admin.L" +
       "aunchPlan\022\r\n\005token\030\002 \001(\t\"J\n\004Auth\022\032\n\022assu" +
       "mable_iam_role\030\001 \001(\t\022\"\n\032kubernetes_servi" +
-      "ce_account\030\002 \001(\t:\002\030\001\"\355\005\n\016LaunchPlanSpec\022" +
+      "ce_account\030\002 \001(\t:\002\030\001\"\245\006\n\016LaunchPlanSpec\022" +
       ".\n\013workflow_id\030\001 \001(\0132\031.flyteidl.core.Ide" +
       "ntifier\022;\n\017entity_metadata\030\002 \001(\0132\".flyte" +
       "idl.admin.LaunchPlanMetadata\0223\n\016default_" +
       "inputs\030\003 \001(\0132\033.flyteidl.core.ParameterMa" +
-      "p\022/\n\014fixed_inputs\030\004 \001(\0132\031.flyteidl.core." +
-      "LiteralMap\022\020\n\004role\030\005 \001(\tB\002\030\001\022&\n\006labels\030\006" +
-      " \001(\0132\026.flyteidl.admin.Labels\0220\n\013annotati" +
-      "ons\030\007 \001(\0132\033.flyteidl.admin.Annotations\022&" +
-      "\n\004auth\030\010 \001(\0132\024.flyteidl.admin.AuthB\002\030\001\022/" +
-      "\n\tauth_role\030\t \001(\0132\030.flyteidl.admin.AuthR" +
-      "oleB\002\030\001\0228\n\020security_context\030\n \001(\0132\036.flyt" +
-      "eidl.core.SecurityContext\022;\n\022quality_of_" +
-      "service\030\020 \001(\0132\037.flyteidl.core.QualityOfS" +
-      "ervice\022C\n\026raw_output_data_config\030\021 \001(\0132#" +
-      ".flyteidl.admin.RawOutputDataConfig\022\027\n\017m" +
-      "ax_parallelism\030\022 \001(\005\0221\n\rinterruptible\030\023 " +
-      "\001(\0132\032.google.protobuf.BoolValue\022\027\n\017overw" +
-      "rite_cache\030\024 \001(\010\022\"\n\004envs\030\025 \001(\0132\024.flyteid" +
-      "l.admin.Envs\"\217\002\n\021LaunchPlanClosure\022.\n\005st" +
-      "ate\030\001 \001(\0162\037.flyteidl.admin.LaunchPlanSta" +
-      "te\0224\n\017expected_inputs\030\002 \001(\0132\033.flyteidl.c" +
-      "ore.ParameterMap\0224\n\020expected_outputs\030\003 \001" +
-      "(\0132\032.flyteidl.core.VariableMap\022.\n\ncreate" +
-      "d_at\030\004 \001(\0132\032.google.protobuf.Timestamp\022." +
-      "\n\nupdated_at\030\005 \001(\0132\032.google.protobuf.Tim" +
-      "estamp\"u\n\022LaunchPlanMetadata\022*\n\010schedule" +
-      "\030\001 \001(\0132\030.flyteidl.admin.Schedule\0223\n\rnoti" +
-      "fications\030\002 \003(\0132\034.flyteidl.admin.Notific" +
-      "ation\"p\n\027LaunchPlanUpdateRequest\022%\n\002id\030\001" +
-      " \001(\0132\031.flyteidl.core.Identifier\022.\n\005state" +
-      "\030\002 \001(\0162\037.flyteidl.admin.LaunchPlanState\"" +
-      "\032\n\030LaunchPlanUpdateResponse\"L\n\027ActiveLau" +
-      "nchPlanRequest\0221\n\002id\030\001 \001(\0132%.flyteidl.ad" +
-      "min.NamedEntityIdentifier\"\203\001\n\033ActiveLaun" +
-      "chPlanListRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006do" +
-      "main\030\002 \001(\t\022\r\n\005limit\030\003 \001(\r\022\r\n\005token\030\004 \001(\t" +
-      "\022%\n\007sort_by\030\005 \001(\0132\024.flyteidl.admin.Sort*" +
-      "+\n\017LaunchPlanState\022\014\n\010INACTIVE\020\000\022\n\n\006ACTI" +
-      "VE\020\001B=Z;github.com/flyteorg/flyte/flytei" +
-      "dl/gen/pb-go/flyteidl/adminb\006proto3"
+      "p\0223\n\014fixed_inputs\030\004 \001(\0132\031.flyteidl.core." +
+      "LiteralMapB\002\030\001\0222\n\020fixed_input_data\030\026 \001(\013" +
+      "2\030.flyteidl.core.InputData\022\020\n\004role\030\005 \001(\t" +
+      "B\002\030\001\022&\n\006labels\030\006 \001(\0132\026.flyteidl.admin.La" +
+      "bels\0220\n\013annotations\030\007 \001(\0132\033.flyteidl.adm" +
+      "in.Annotations\022&\n\004auth\030\010 \001(\0132\024.flyteidl." +
+      "admin.AuthB\002\030\001\022/\n\tauth_role\030\t \001(\0132\030.flyt" +
+      "eidl.admin.AuthRoleB\002\030\001\0228\n\020security_cont" +
+      "ext\030\n \001(\0132\036.flyteidl.core.SecurityContex" +
+      "t\022;\n\022quality_of_service\030\020 \001(\0132\037.flyteidl" +
+      ".core.QualityOfService\022C\n\026raw_output_dat" +
+      "a_config\030\021 \001(\0132#.flyteidl.admin.RawOutpu" +
+      "tDataConfig\022\027\n\017max_parallelism\030\022 \001(\005\0221\n\r" +
+      "interruptible\030\023 \001(\0132\032.google.protobuf.Bo" +
+      "olValue\022\027\n\017overwrite_cache\030\024 \001(\010\022\"\n\004envs" +
+      "\030\025 \001(\0132\024.flyteidl.admin.Envs\"\217\002\n\021LaunchP" +
+      "lanClosure\022.\n\005state\030\001 \001(\0162\037.flyteidl.adm" +
+      "in.LaunchPlanState\0224\n\017expected_inputs\030\002 " +
+      "\001(\0132\033.flyteidl.core.ParameterMap\0224\n\020expe" +
+      "cted_outputs\030\003 \001(\0132\032.flyteidl.core.Varia" +
+      "bleMap\022.\n\ncreated_at\030\004 \001(\0132\032.google.prot" +
+      "obuf.Timestamp\022.\n\nupdated_at\030\005 \001(\0132\032.goo" +
+      "gle.protobuf.Timestamp\"u\n\022LaunchPlanMeta" +
+      "data\022*\n\010schedule\030\001 \001(\0132\030.flyteidl.admin." +
+      "Schedule\0223\n\rnotifications\030\002 \003(\0132\034.flytei" +
+      "dl.admin.Notification\"p\n\027LaunchPlanUpdat" +
+      "eRequest\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Ide" +
+      "ntifier\022.\n\005state\030\002 \001(\0162\037.flyteidl.admin." +
+      "LaunchPlanState\"\032\n\030LaunchPlanUpdateRespo" +
+      "nse\"L\n\027ActiveLaunchPlanRequest\0221\n\002id\030\001 \001" +
+      "(\0132%.flyteidl.admin.NamedEntityIdentifie" +
+      "r\"\203\001\n\033ActiveLaunchPlanListRequest\022\017\n\007pro" +
+      "ject\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003 \001(" +
+      "\r\022\r\n\005token\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyt" +
+      "eidl.admin.Sort*+\n\017LaunchPlanState\022\014\n\010IN" +
+      "ACTIVE\020\000\022\n\n\006ACTIVE\020\001B=Z;github.com/flyte" +
+      "org/flyte/flyteidl/gen/pb-go/flyteidl/ad" +
+      "minb\006proto3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
         new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
@@ -14674,7 +14960,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors(
     internal_static_flyteidl_admin_LaunchPlanSpec_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_flyteidl_admin_LaunchPlanSpec_descriptor,
-        new java.lang.String[] { "WorkflowId", "EntityMetadata", "DefaultInputs", "FixedInputs", "Role", "Labels", "Annotations", "Auth", "AuthRole", "SecurityContext", "QualityOfService", "RawOutputDataConfig", "MaxParallelism", "Interruptible", "OverwriteCache", "Envs", });
+        new java.lang.String[] { "WorkflowId", "EntityMetadata", "DefaultInputs", "FixedInputs", "FixedInputData", "Role", "Labels", "Annotations", "Auth", "AuthRole", "SecurityContext", "QualityOfService", "RawOutputDataConfig", "MaxParallelism", "Interruptible", "OverwriteCache", "Envs", });
     internal_static_flyteidl_admin_LaunchPlanClosure_descriptor =
       getDescriptor().getMessageTypes().get(6);
     internal_static_flyteidl_admin_LaunchPlanClosure_fieldAccessorTable = new
diff --git a/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java
index b1301715d6..7086dfdb99 100644
--- a/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java
+++ b/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java
@@ -13859,52 +13859,108 @@ public interface NodeExecutionGetDataResponseOrBuilder extends
     /**
      * 
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - boolean hasFullInputs(); + @java.lang.Deprecated boolean hasFullInputs(); /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getFullInputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getFullInputs(); /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder(); /** *
-     * Full_outputs will only be populated if they are under a configured size threshold. 
+     * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - boolean hasFullOutputs(); + @java.lang.Deprecated boolean hasFullOutputs(); /** *
-     * Full_outputs will only be populated if they are under a configured size threshold. 
+     * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getFullOutputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getFullOutputs(); /** *
-     * Full_outputs will only be populated if they are under a configured size threshold. 
+     * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder(); + + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + boolean hasInputData(); + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + flyteidl.core.Literals.InputData getInputData(); + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); + + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + boolean hasOutputData(); + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + flyteidl.core.Literals.OutputData getOutputData(); + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder(); /** *
@@ -14039,6 +14095,32 @@ private NodeExecutionGetDataResponse(
 
               break;
             }
+            case 42: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (inputData_ != null) {
+                subBuilder = inputData_.toBuilder();
+              }
+              inputData_ = input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(inputData_);
+                inputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
+            case 50: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
+              if (outputData_ != null) {
+                subBuilder = outputData_.toBuilder();
+              }
+              outputData_ = input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(outputData_);
+                outputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
             case 130: {
               flyteidl.admin.NodeExecutionOuterClass.DynamicWorkflowNodeMetadata.Builder subBuilder = null;
               if (dynamicWorkflow_ != null) {
@@ -14174,31 +14256,34 @@ private NodeExecutionGetDataResponse(
     /**
      * 
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public boolean hasFullInputs() { + @java.lang.Deprecated public boolean hasFullInputs() { return fullInputs_ != null; } /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullInputs() { return fullInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullInputs_; } /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { return getFullInputs(); } @@ -14206,35 +14291,104 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { private flyteidl.core.Literals.LiteralMap fullOutputs_; /** *
-     * Full_outputs will only be populated if they are under a configured size threshold. 
+     * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public boolean hasFullOutputs() { + @java.lang.Deprecated public boolean hasFullOutputs() { return fullOutputs_ != null; } /** *
-     * Full_outputs will only be populated if they are under a configured size threshold. 
+     * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullOutputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullOutputs() { return fullOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullOutputs_; } /** *
-     * Full_outputs will only be populated if they are under a configured size threshold. 
+     * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { return getFullOutputs(); } + public static final int INPUT_DATA_FIELD_NUMBER = 5; + private flyteidl.core.Literals.InputData inputData_; + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public boolean hasInputData() { + return inputData_ != null; + } + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputData getInputData() { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + return getInputData(); + } + + public static final int OUTPUT_DATA_FIELD_NUMBER = 6; + private flyteidl.core.Literals.OutputData outputData_; + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public boolean hasOutputData() { + return outputData_ != null; + } + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + return outputData_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + return getOutputData(); + } + public static final int DYNAMIC_WORKFLOW_FIELD_NUMBER = 16; private flyteidl.admin.NodeExecutionOuterClass.DynamicWorkflowNodeMetadata dynamicWorkflow_; /** @@ -14315,6 +14469,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (fullOutputs_ != null) { output.writeMessage(4, getFullOutputs()); } + if (inputData_ != null) { + output.writeMessage(5, getInputData()); + } + if (outputData_ != null) { + output.writeMessage(6, getOutputData()); + } if (dynamicWorkflow_ != null) { output.writeMessage(16, getDynamicWorkflow()); } @@ -14346,6 +14506,14 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getFullOutputs()); } + if (inputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getInputData()); + } + if (outputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getOutputData()); + } if (dynamicWorkflow_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(16, getDynamicWorkflow()); @@ -14389,6 +14557,16 @@ public boolean equals(final java.lang.Object obj) { if (!getFullOutputs() .equals(other.getFullOutputs())) return false; } + if (hasInputData() != other.hasInputData()) return false; + if (hasInputData()) { + if (!getInputData() + .equals(other.getInputData())) return false; + } + if (hasOutputData() != other.hasOutputData()) return false; + if (hasOutputData()) { + if (!getOutputData() + .equals(other.getOutputData())) return false; + } if (hasDynamicWorkflow() != other.hasDynamicWorkflow()) return false; if (hasDynamicWorkflow()) { if (!getDynamicWorkflow() @@ -14426,6 +14604,14 @@ public int hashCode() { hash = (37 * hash) + FULL_OUTPUTS_FIELD_NUMBER; hash = (53 * hash) + getFullOutputs().hashCode(); } + if (hasInputData()) { + hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getInputData().hashCode(); + } + if (hasOutputData()) { + hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getOutputData().hashCode(); + } if (hasDynamicWorkflow()) { hash = (37 * hash) + DYNAMIC_WORKFLOW_FIELD_NUMBER; hash = (53 * hash) + getDynamicWorkflow().hashCode(); @@ -14595,6 +14781,18 @@ public Builder clear() { fullOutputs_ = null; fullOutputsBuilder_ = null; } + if (inputDataBuilder_ == null) { + inputData_ = null; + } else { + inputData_ = null; + inputDataBuilder_ = null; + } + if (outputDataBuilder_ == null) { + outputData_ = null; + } else { + outputData_ = null; + outputDataBuilder_ = null; + } if (dynamicWorkflowBuilder_ == null) { dynamicWorkflow_ = null; } else { @@ -14653,6 +14851,16 @@ public flyteidl.admin.NodeExecutionOuterClass.NodeExecutionGetDataResponse build } else { result.fullOutputs_ = fullOutputsBuilder_.build(); } + if (inputDataBuilder_ == null) { + result.inputData_ = inputData_; + } else { + result.inputData_ = inputDataBuilder_.build(); + } + if (outputDataBuilder_ == null) { + result.outputData_ = outputData_; + } else { + result.outputData_ = outputDataBuilder_.build(); + } if (dynamicWorkflowBuilder_ == null) { result.dynamicWorkflow_ = dynamicWorkflow_; } else { @@ -14723,6 +14931,12 @@ public Builder mergeFrom(flyteidl.admin.NodeExecutionOuterClass.NodeExecutionGet if (other.hasFullOutputs()) { mergeFullOutputs(other.getFullOutputs()); } + if (other.hasInputData()) { + mergeInputData(other.getInputData()); + } + if (other.hasOutputData()) { + mergeOutputData(other.getOutputData()); + } if (other.hasDynamicWorkflow()) { mergeDynamicWorkflow(other.getDynamicWorkflow()); } @@ -15088,21 +15302,23 @@ public Builder mergeFrom( /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public boolean hasFullInputs() { + @java.lang.Deprecated public boolean hasFullInputs() { return fullInputsBuilder_ != null || fullInputs_ != null; } /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullInputs() { if (fullInputsBuilder_ == null) { return fullInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullInputs_; } else { @@ -15112,11 +15328,12 @@ public flyteidl.core.Literals.LiteralMap getFullInputs() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { if (fullInputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -15132,11 +15349,12 @@ public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder setFullInputs( + @java.lang.Deprecated public Builder setFullInputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (fullInputsBuilder_ == null) { fullInputs_ = builderForValue.build(); @@ -15150,11 +15368,12 @@ public Builder setFullInputs( /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { if (fullInputsBuilder_ == null) { if (fullInputs_ != null) { fullInputs_ = @@ -15172,11 +15391,12 @@ public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder clearFullInputs() { + @java.lang.Deprecated public Builder clearFullInputs() { if (fullInputsBuilder_ == null) { fullInputs_ = null; onChanged(); @@ -15190,11 +15410,12 @@ public Builder clearFullInputs() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { onChanged(); return getFullInputsFieldBuilder().getBuilder(); @@ -15202,11 +15423,12 @@ public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { if (fullInputsBuilder_ != null) { return fullInputsBuilder_.getMessageOrBuilder(); } else { @@ -15217,9 +15439,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -15240,22 +15463,24 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> fullOutputsBuilder_; /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public boolean hasFullOutputs() { + @java.lang.Deprecated public boolean hasFullOutputs() { return fullOutputsBuilder_ != null || fullOutputs_ != null; } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullOutputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullOutputs() { if (fullOutputsBuilder_ == null) { return fullOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullOutputs_; } else { @@ -15264,12 +15489,13 @@ public flyteidl.core.Literals.LiteralMap getFullOutputs() { } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { if (fullOutputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -15284,12 +15510,13 @@ public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder setFullOutputs( + @java.lang.Deprecated public Builder setFullOutputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (fullOutputsBuilder_ == null) { fullOutputs_ = builderForValue.build(); @@ -15302,12 +15529,13 @@ public Builder setFullOutputs( } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { if (fullOutputsBuilder_ == null) { if (fullOutputs_ != null) { fullOutputs_ = @@ -15324,12 +15552,13 @@ public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder clearFullOutputs() { + @java.lang.Deprecated public Builder clearFullOutputs() { if (fullOutputsBuilder_ == null) { fullOutputs_ = null; onChanged(); @@ -15342,24 +15571,26 @@ public Builder clearFullOutputs() { } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { onChanged(); return getFullOutputsFieldBuilder().getBuilder(); } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { if (fullOutputsBuilder_ != null) { return fullOutputsBuilder_.getMessageOrBuilder(); } else { @@ -15369,10 +15600,11 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { } /** *
-       * Full_outputs will only be populated if they are under a configured size threshold. 
+       * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -15388,6 +15620,312 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { return fullOutputsBuilder_; } + private flyteidl.core.Literals.InputData inputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public boolean hasInputData() { + return inputDataBuilder_ != null || inputData_ != null; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputDataBuilder_ == null) { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } else { + return inputDataBuilder_.getMessage(); + } + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder setInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputData_ = value; + onChanged(); + } else { + inputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder setInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputDataBuilder_ == null) { + inputData_ = builderForValue.build(); + onChanged(); + } else { + inputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder mergeInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (inputData_ != null) { + inputData_ = + flyteidl.core.Literals.InputData.newBuilder(inputData_).mergeFrom(value).buildPartial(); + } else { + inputData_ = value; + } + onChanged(); + } else { + inputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public Builder clearInputData() { + if (inputDataBuilder_ == null) { + inputData_ = null; + onChanged(); + } else { + inputData_ = null; + inputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { + + onChanged(); + return getInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if (inputDataBuilder_ != null) { + return inputDataBuilder_.getMessageOrBuilder(); + } else { + return inputData_ == null ? + flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputDataFieldBuilder() { + if (inputDataBuilder_ == null) { + inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + getInputData(), + getParentForChildren(), + isClean()); + inputData_ = null; + } + return inputDataBuilder_; + } + + private flyteidl.core.Literals.OutputData outputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputDataBuilder_; + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public boolean hasOutputData() { + return outputDataBuilder_ != null || outputData_ != null; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputDataBuilder_ == null) { + return outputData_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } else { + return outputDataBuilder_.getMessage(); + } + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder setOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputData_ = value; + onChanged(); + } else { + outputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder setOutputData( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (outputDataBuilder_ == null) { + outputData_ = builderForValue.build(); + onChanged(); + } else { + outputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder mergeOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (outputData_ != null) { + outputData_ = + flyteidl.core.Literals.OutputData.newBuilder(outputData_).mergeFrom(value).buildPartial(); + } else { + outputData_ = value; + } + onChanged(); + } else { + outputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public Builder clearOutputData() { + if (outputDataBuilder_ == null) { + outputData_ = null; + onChanged(); + } else { + outputData_ = null; + outputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputData.Builder getOutputDataBuilder() { + + onChanged(); + return getOutputDataFieldBuilder().getBuilder(); + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if (outputDataBuilder_ != null) { + return outputDataBuilder_.getMessageOrBuilder(); + } else { + return outputData_ == null ? + flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getOutputDataFieldBuilder() { + if (outputDataBuilder_ == null) { + outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + getOutputData(), + getParentForChildren(), + isClean()); + outputData_ = null; + } + return outputDataBuilder_; + } + private flyteidl.admin.NodeExecutionOuterClass.DynamicWorkflowNodeMetadata dynamicWorkflow_; private com.google.protobuf.SingleFieldBuilderV3< flyteidl.admin.NodeExecutionOuterClass.DynamicWorkflowNodeMetadata, flyteidl.admin.NodeExecutionOuterClass.DynamicWorkflowNodeMetadata.Builder, flyteidl.admin.NodeExecutionOuterClass.DynamicWorkflowNodeMetadataOrBuilder> dynamicWorkflowBuilder_; @@ -15836,18 +16374,20 @@ public flyteidl.admin.NodeExecutionOuterClass.NodeExecutionGetDataResponse getDe "(\0132&.flyteidl.core.CompiledWorkflowClosu" + "re\022\034\n\024dynamic_job_spec_uri\030\003 \001(\t\"Q\n\033Node" + "ExecutionGetDataRequest\0222\n\002id\030\001 \001(\0132&.fl" + - "yteidl.core.NodeExecutionIdentifier\"\320\002\n\034" + + "yteidl.core.NodeExecutionIdentifier\"\266\003\n\034" + "NodeExecutionGetDataResponse\022+\n\006inputs\030\001" + " \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022,\n\007out" + "puts\030\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022" + - ".\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lit" + - "eralMap\022/\n\014full_outputs\030\004 \001(\0132\031.flyteidl" + - ".core.LiteralMap\022E\n\020dynamic_workflow\030\020 \001" + - "(\0132+.flyteidl.admin.DynamicWorkflowNodeM" + - "etadata\022-\n\nflyte_urls\030\021 \001(\0132\031.flyteidl.a" + - "dmin.FlyteURLsB=Z;github.com/flyteorg/fl" + - "yte/flyteidl/gen/pb-go/flyteidl/adminb\006p" + - "roto3" + "2\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lit" + + "eralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyt" + + "eidl.core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005" + + " \001(\0132\030.flyteidl.core.InputData\022.\n\013output" + + "_data\030\006 \001(\0132\031.flyteidl.core.OutputData\022E" + + "\n\020dynamic_workflow\030\020 \001(\0132+.flyteidl.admi" + + "n.DynamicWorkflowNodeMetadata\022-\n\nflyte_u" + + "rls\030\021 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;" + + "github.com/flyteorg/flyte/flyteidl/gen/p" + + "b-go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -15940,7 +16480,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_NodeExecutionGetDataResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_NodeExecutionGetDataResponse_descriptor, - new java.lang.String[] { "Inputs", "Outputs", "FullInputs", "FullOutputs", "DynamicWorkflow", "FlyteUrls", }); + new java.lang.String[] { "Inputs", "Outputs", "FullInputs", "FullOutputs", "InputData", "OutputData", "DynamicWorkflow", "FlyteUrls", }); flyteidl.admin.Common.getDescriptor(); flyteidl.core.Execution.getDescriptor(); flyteidl.core.Catalog.getDescriptor(); diff --git a/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java index 9fe3947f83..93f4129994 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java @@ -10253,52 +10253,108 @@ public interface TaskExecutionGetDataResponseOrBuilder extends /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - boolean hasFullInputs(); + @java.lang.Deprecated boolean hasFullInputs(); /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getFullInputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getFullInputs(); /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder(); /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - boolean hasFullOutputs(); + @java.lang.Deprecated boolean hasFullOutputs(); /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getFullOutputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getFullOutputs(); /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder(); + + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + boolean hasInputData(); + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + flyteidl.core.Literals.InputData getInputData(); + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); + + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + boolean hasOutputData(); + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + flyteidl.core.Literals.OutputData getOutputData(); + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder(); /** *
@@ -10436,6 +10492,32 @@ private TaskExecutionGetDataResponse(
 
               break;
             }
+            case 50: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (inputData_ != null) {
+                subBuilder = inputData_.toBuilder();
+              }
+              inputData_ = input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(inputData_);
+                inputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
+            case 58: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
+              if (outputData_ != null) {
+                subBuilder = outputData_.toBuilder();
+              }
+              outputData_ = input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(outputData_);
+                outputData_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -10545,31 +10627,34 @@ private TaskExecutionGetDataResponse(
     /**
      * 
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public boolean hasFullInputs() { + @java.lang.Deprecated public boolean hasFullInputs() { return fullInputs_ != null; } /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullInputs() { return fullInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullInputs_; } /** *
      * Full_inputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use input_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { return getFullInputs(); } @@ -10578,34 +10663,103 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public boolean hasFullOutputs() { + @java.lang.Deprecated public boolean hasFullOutputs() { return fullOutputs_ != null; } /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullOutputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullOutputs() { return fullOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullOutputs_; } /** *
      * Full_outputs will only be populated if they are under a configured size threshold.
+     * Deprecated: Please use output_data instead.
      * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { return getFullOutputs(); } + public static final int INPUT_DATA_FIELD_NUMBER = 6; + private flyteidl.core.Literals.InputData inputData_; + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public boolean hasInputData() { + return inputData_ != null; + } + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputData getInputData() { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + /** + *
+     * InputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + return getInputData(); + } + + public static final int OUTPUT_DATA_FIELD_NUMBER = 7; + private flyteidl.core.Literals.OutputData outputData_; + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public boolean hasOutputData() { + return outputData_ != null; + } + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + return outputData_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } + /** + *
+     * OutputData will only be populated if they are under a configured size threshold.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + return getOutputData(); + } + public static final int FLYTE_URLS_FIELD_NUMBER = 5; private flyteidl.admin.Common.FlyteURLs flyteUrls_; /** @@ -10671,6 +10825,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (flyteUrls_ != null) { output.writeMessage(5, getFlyteUrls()); } + if (inputData_ != null) { + output.writeMessage(6, getInputData()); + } + if (outputData_ != null) { + output.writeMessage(7, getOutputData()); + } unknownFields.writeTo(output); } @@ -10700,6 +10860,14 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getFlyteUrls()); } + if (inputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getInputData()); + } + if (outputData_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getOutputData()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -10735,6 +10903,16 @@ public boolean equals(final java.lang.Object obj) { if (!getFullOutputs() .equals(other.getFullOutputs())) return false; } + if (hasInputData() != other.hasInputData()) return false; + if (hasInputData()) { + if (!getInputData() + .equals(other.getInputData())) return false; + } + if (hasOutputData() != other.hasOutputData()) return false; + if (hasOutputData()) { + if (!getOutputData() + .equals(other.getOutputData())) return false; + } if (hasFlyteUrls() != other.hasFlyteUrls()) return false; if (hasFlyteUrls()) { if (!getFlyteUrls() @@ -10767,6 +10945,14 @@ public int hashCode() { hash = (37 * hash) + FULL_OUTPUTS_FIELD_NUMBER; hash = (53 * hash) + getFullOutputs().hashCode(); } + if (hasInputData()) { + hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getInputData().hashCode(); + } + if (hasOutputData()) { + hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getOutputData().hashCode(); + } if (hasFlyteUrls()) { hash = (37 * hash) + FLYTE_URLS_FIELD_NUMBER; hash = (53 * hash) + getFlyteUrls().hashCode(); @@ -10932,6 +11118,18 @@ public Builder clear() { fullOutputs_ = null; fullOutputsBuilder_ = null; } + if (inputDataBuilder_ == null) { + inputData_ = null; + } else { + inputData_ = null; + inputDataBuilder_ = null; + } + if (outputDataBuilder_ == null) { + outputData_ = null; + } else { + outputData_ = null; + outputDataBuilder_ = null; + } if (flyteUrlsBuilder_ == null) { flyteUrls_ = null; } else { @@ -10984,6 +11182,16 @@ public flyteidl.admin.TaskExecutionOuterClass.TaskExecutionGetDataResponse build } else { result.fullOutputs_ = fullOutputsBuilder_.build(); } + if (inputDataBuilder_ == null) { + result.inputData_ = inputData_; + } else { + result.inputData_ = inputDataBuilder_.build(); + } + if (outputDataBuilder_ == null) { + result.outputData_ = outputData_; + } else { + result.outputData_ = outputDataBuilder_.build(); + } if (flyteUrlsBuilder_ == null) { result.flyteUrls_ = flyteUrls_; } else { @@ -11049,6 +11257,12 @@ public Builder mergeFrom(flyteidl.admin.TaskExecutionOuterClass.TaskExecutionGet if (other.hasFullOutputs()) { mergeFullOutputs(other.getFullOutputs()); } + if (other.hasInputData()) { + mergeInputData(other.getInputData()); + } + if (other.hasOutputData()) { + mergeOutputData(other.getOutputData()); + } if (other.hasFlyteUrls()) { mergeFlyteUrls(other.getFlyteUrls()); } @@ -11411,21 +11625,23 @@ public Builder mergeFrom( /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public boolean hasFullInputs() { + @java.lang.Deprecated public boolean hasFullInputs() { return fullInputsBuilder_ != null || fullInputs_ != null; } /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullInputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullInputs() { if (fullInputsBuilder_ == null) { return fullInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullInputs_; } else { @@ -11435,11 +11651,12 @@ public flyteidl.core.Literals.LiteralMap getFullInputs() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { if (fullInputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -11455,11 +11672,12 @@ public Builder setFullInputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder setFullInputs( + @java.lang.Deprecated public Builder setFullInputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (fullInputsBuilder_ == null) { fullInputs_ = builderForValue.build(); @@ -11473,11 +11691,12 @@ public Builder setFullInputs( /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { if (fullInputsBuilder_ == null) { if (fullInputs_ != null) { fullInputs_ = @@ -11495,11 +11714,12 @@ public Builder mergeFullInputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public Builder clearFullInputs() { + @java.lang.Deprecated public Builder clearFullInputs() { if (fullInputsBuilder_ == null) { fullInputs_ = null; onChanged(); @@ -11513,11 +11733,12 @@ public Builder clearFullInputs() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { onChanged(); return getFullInputsFieldBuilder().getBuilder(); @@ -11525,11 +11746,12 @@ public flyteidl.core.Literals.LiteralMap.Builder getFullInputsBuilder() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { if (fullInputsBuilder_ != null) { return fullInputsBuilder_.getMessageOrBuilder(); } else { @@ -11540,9 +11762,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { /** *
        * Full_inputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use input_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_inputs = 3; + * .flyteidl.core.LiteralMap full_inputs = 3 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -11564,21 +11787,23 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullInputsOrBuilder() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public boolean hasFullOutputs() { + @java.lang.Deprecated public boolean hasFullOutputs() { return fullOutputsBuilder_ != null || fullOutputs_ != null; } /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getFullOutputs() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getFullOutputs() { if (fullOutputsBuilder_ == null) { return fullOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : fullOutputs_; } else { @@ -11588,11 +11813,12 @@ public flyteidl.core.Literals.LiteralMap getFullOutputs() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { if (fullOutputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -11608,11 +11834,12 @@ public Builder setFullOutputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder setFullOutputs( + @java.lang.Deprecated public Builder setFullOutputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { if (fullOutputsBuilder_ == null) { fullOutputs_ = builderForValue.build(); @@ -11626,11 +11853,12 @@ public Builder setFullOutputs( /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { + @java.lang.Deprecated public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { if (fullOutputsBuilder_ == null) { if (fullOutputs_ != null) { fullOutputs_ = @@ -11648,11 +11876,12 @@ public Builder mergeFullOutputs(flyteidl.core.Literals.LiteralMap value) { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public Builder clearFullOutputs() { + @java.lang.Deprecated public Builder clearFullOutputs() { if (fullOutputsBuilder_ == null) { fullOutputs_ = null; onChanged(); @@ -11666,11 +11895,12 @@ public Builder clearFullOutputs() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { onChanged(); return getFullOutputsFieldBuilder().getBuilder(); @@ -11678,11 +11908,12 @@ public flyteidl.core.Literals.LiteralMap.Builder getFullOutputsBuilder() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { if (fullOutputsBuilder_ != null) { return fullOutputsBuilder_.getMessageOrBuilder(); } else { @@ -11693,9 +11924,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { /** *
        * Full_outputs will only be populated if they are under a configured size threshold.
+       * Deprecated: Please use output_data instead.
        * 
* - * .flyteidl.core.LiteralMap full_outputs = 4; + * .flyteidl.core.LiteralMap full_outputs = 4 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> @@ -11711,6 +11943,312 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getFullOutputsOrBuilder() { return fullOutputsBuilder_; } + private flyteidl.core.Literals.InputData inputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public boolean hasInputData() { + return inputDataBuilder_ != null || inputData_ != null; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputDataBuilder_ == null) { + return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } else { + return inputDataBuilder_.getMessage(); + } + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder setInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputData_ = value; + onChanged(); + } else { + inputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder setInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputDataBuilder_ == null) { + inputData_ = builderForValue.build(); + onChanged(); + } else { + inputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder mergeInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (inputData_ != null) { + inputData_ = + flyteidl.core.Literals.InputData.newBuilder(inputData_).mergeFrom(value).buildPartial(); + } else { + inputData_ = value; + } + onChanged(); + } else { + inputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public Builder clearInputData() { + if (inputDataBuilder_ == null) { + inputData_ = null; + onChanged(); + } else { + inputData_ = null; + inputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { + + onChanged(); + return getInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if (inputDataBuilder_ != null) { + return inputDataBuilder_.getMessageOrBuilder(); + } else { + return inputData_ == null ? + flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; + } + } + /** + *
+       * InputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.InputData input_data = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputDataFieldBuilder() { + if (inputDataBuilder_ == null) { + inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + getInputData(), + getParentForChildren(), + isClean()); + inputData_ = null; + } + return inputDataBuilder_; + } + + private flyteidl.core.Literals.OutputData outputData_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputDataBuilder_; + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public boolean hasOutputData() { + return outputDataBuilder_ != null || outputData_ != null; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputDataBuilder_ == null) { + return outputData_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } else { + return outputDataBuilder_.getMessage(); + } + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public Builder setOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputData_ = value; + onChanged(); + } else { + outputDataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public Builder setOutputData( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (outputDataBuilder_ == null) { + outputData_ = builderForValue.build(); + onChanged(); + } else { + outputDataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public Builder mergeOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (outputData_ != null) { + outputData_ = + flyteidl.core.Literals.OutputData.newBuilder(outputData_).mergeFrom(value).buildPartial(); + } else { + outputData_ = value; + } + onChanged(); + } else { + outputDataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public Builder clearOutputData() { + if (outputDataBuilder_ == null) { + outputData_ = null; + onChanged(); + } else { + outputData_ = null; + outputDataBuilder_ = null; + } + + return this; + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public flyteidl.core.Literals.OutputData.Builder getOutputDataBuilder() { + + onChanged(); + return getOutputDataFieldBuilder().getBuilder(); + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if (outputDataBuilder_ != null) { + return outputDataBuilder_.getMessageOrBuilder(); + } else { + return outputData_ == null ? + flyteidl.core.Literals.OutputData.getDefaultInstance() : outputData_; + } + } + /** + *
+       * OutputData will only be populated if they are under a configured size threshold.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 7; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getOutputDataFieldBuilder() { + if (outputDataBuilder_ == null) { + outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + getOutputData(), + getParentForChildren(), + isClean()); + outputData_ = null; + } + return outputDataBuilder_; + } + private flyteidl.admin.Common.FlyteURLs flyteUrls_; private com.google.protobuf.SingleFieldBuilderV3< flyteidl.admin.Common.FlyteURLs, flyteidl.admin.Common.FlyteURLs.Builder, flyteidl.admin.Common.FlyteURLsOrBuilder> flyteUrlsBuilder_; @@ -12014,16 +12552,18 @@ public flyteidl.admin.TaskExecutionOuterClass.TaskExecutionGetDataResponse getDe "curred_at\030\001 \001(\0132\032.google.protobuf.Timest" + "amp\022\017\n\007message\030\002 \001(\t\"Q\n\033TaskExecutionGet" + "DataRequest\0222\n\002id\030\001 \001(\0132&.flyteidl.core." + - "TaskExecutionIdentifier\"\211\002\n\034TaskExecutio" + + "TaskExecutionIdentifier\"\357\002\n\034TaskExecutio" + "nGetDataResponse\022+\n\006inputs\030\001 \001(\0132\027.flyte" + "idl.admin.UrlBlobB\002\030\001\022,\n\007outputs\030\002 \001(\0132\027" + - ".flyteidl.admin.UrlBlobB\002\030\001\022.\n\013full_inpu" + - "ts\030\003 \001(\0132\031.flyteidl.core.LiteralMap\022/\n\014f" + - "ull_outputs\030\004 \001(\0132\031.flyteidl.core.Litera" + - "lMap\022-\n\nflyte_urls\030\005 \001(\0132\031.flyteidl.admi" + - "n.FlyteURLsB=Z;github.com/flyteorg/flyte" + - "/flyteidl/gen/pb-go/flyteidl/adminb\006prot" + - "o3" + ".flyteidl.admin.UrlBlobB\002\030\001\0222\n\013full_inpu" + + "ts\030\003 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001\022" + + "3\n\014full_outputs\030\004 \001(\0132\031.flyteidl.core.Li" + + "teralMapB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyte" + + "idl.core.InputData\022.\n\013output_data\030\007 \001(\0132" + + "\031.flyteidl.core.OutputData\022-\n\nflyte_urls" + + "\030\005 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;git" + + "hub.com/flyteorg/flyte/flyteidl/gen/pb-g" + + "o/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -12092,7 +12632,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_TaskExecutionGetDataResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_TaskExecutionGetDataResponse_descriptor, - new java.lang.String[] { "Inputs", "Outputs", "FullInputs", "FullOutputs", "FlyteUrls", }); + new java.lang.String[] { "Inputs", "Outputs", "FullInputs", "FullOutputs", "InputData", "OutputData", "FlyteUrls", }); flyteidl.admin.Common.getDescriptor(); flyteidl.core.Execution.getDescriptor(); flyteidl.core.IdentifierOuterClass.getDescriptor(); diff --git a/flyteidl/gen/pb-java/flyteidl/core/Literals.java b/flyteidl/gen/pb-java/flyteidl/core/Literals.java index d55809f736..e86828d637 100644 --- a/flyteidl/gen/pb-java/flyteidl/core/Literals.java +++ b/flyteidl/gen/pb-java/flyteidl/core/Literals.java @@ -12304,6 +12304,1218 @@ public flyteidl.core.Literals.LiteralMap getDefaultInstanceForType() { } + public interface InputDataOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.InputData) + com.google.protobuf.MessageOrBuilder { + + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + boolean hasInputs(); + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + flyteidl.core.Literals.LiteralMap getInputs(); + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder(); + } + /** + * Protobuf type {@code flyteidl.core.InputData} + */ + public static final class InputData extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.InputData) + InputDataOrBuilder { + private static final long serialVersionUID = 0L; + // Use InputData.newBuilder() to construct. + private InputData(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private InputData() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private InputData( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.core.Literals.LiteralMap.Builder subBuilder = null; + if (inputs_ != null) { + subBuilder = inputs_.toBuilder(); + } + inputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(inputs_); + inputs_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Literals.internal_static_flyteidl_core_InputData_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Literals.internal_static_flyteidl_core_InputData_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Literals.InputData.class, flyteidl.core.Literals.InputData.Builder.class); + } + + public static final int INPUTS_FIELD_NUMBER = 1; + private flyteidl.core.Literals.LiteralMap inputs_; + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public boolean hasInputs() { + return inputs_ != null; + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public flyteidl.core.Literals.LiteralMap getInputs() { + return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { + return getInputs(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (inputs_ != null) { + output.writeMessage(1, getInputs()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (inputs_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getInputs()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.core.Literals.InputData)) { + return super.equals(obj); + } + flyteidl.core.Literals.InputData other = (flyteidl.core.Literals.InputData) obj; + + if (hasInputs() != other.hasInputs()) return false; + if (hasInputs()) { + if (!getInputs() + .equals(other.getInputs())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasInputs()) { + hash = (37 * hash) + INPUTS_FIELD_NUMBER; + hash = (53 * hash) + getInputs().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.Literals.InputData parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Literals.InputData parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Literals.InputData parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Literals.InputData parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Literals.InputData parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Literals.InputData parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Literals.InputData parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Literals.InputData parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Literals.InputData parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.Literals.InputData parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Literals.InputData parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Literals.InputData parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.core.Literals.InputData prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code flyteidl.core.InputData} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.InputData) + flyteidl.core.Literals.InputDataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Literals.internal_static_flyteidl_core_InputData_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Literals.internal_static_flyteidl_core_InputData_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Literals.InputData.class, flyteidl.core.Literals.InputData.Builder.class); + } + + // Construct using flyteidl.core.Literals.InputData.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (inputsBuilder_ == null) { + inputs_ = null; + } else { + inputs_ = null; + inputsBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.Literals.internal_static_flyteidl_core_InputData_descriptor; + } + + @java.lang.Override + public flyteidl.core.Literals.InputData getDefaultInstanceForType() { + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.Literals.InputData build() { + flyteidl.core.Literals.InputData result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.Literals.InputData buildPartial() { + flyteidl.core.Literals.InputData result = new flyteidl.core.Literals.InputData(this); + if (inputsBuilder_ == null) { + result.inputs_ = inputs_; + } else { + result.inputs_ = inputsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.core.Literals.InputData) { + return mergeFrom((flyteidl.core.Literals.InputData)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.Literals.InputData other) { + if (other == flyteidl.core.Literals.InputData.getDefaultInstance()) return this; + if (other.hasInputs()) { + mergeInputs(other.getInputs()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.core.Literals.InputData parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.Literals.InputData) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.core.Literals.LiteralMap inputs_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> inputsBuilder_; + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public boolean hasInputs() { + return inputsBuilder_ != null || inputs_ != null; + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public flyteidl.core.Literals.LiteralMap getInputs() { + if (inputsBuilder_ == null) { + return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + } else { + return inputsBuilder_.getMessage(); + } + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { + if (inputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputs_ = value; + onChanged(); + } else { + inputsBuilder_.setMessage(value); + } + + return this; + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public Builder setInputs( + flyteidl.core.Literals.LiteralMap.Builder builderForValue) { + if (inputsBuilder_ == null) { + inputs_ = builderForValue.build(); + onChanged(); + } else { + inputsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { + if (inputsBuilder_ == null) { + if (inputs_ != null) { + inputs_ = + flyteidl.core.Literals.LiteralMap.newBuilder(inputs_).mergeFrom(value).buildPartial(); + } else { + inputs_ = value; + } + onChanged(); + } else { + inputsBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public Builder clearInputs() { + if (inputsBuilder_ == null) { + inputs_ = null; + onChanged(); + } else { + inputs_ = null; + inputsBuilder_ = null; + } + + return this; + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { + + onChanged(); + return getInputsFieldBuilder().getBuilder(); + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { + if (inputsBuilder_ != null) { + return inputsBuilder_.getMessageOrBuilder(); + } else { + return inputs_ == null ? + flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + } + } + /** + * .flyteidl.core.LiteralMap inputs = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> + getInputsFieldBuilder() { + if (inputsBuilder_ == null) { + inputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( + getInputs(), + getParentForChildren(), + isClean()); + inputs_ = null; + } + return inputsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.core.InputData) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.InputData) + private static final flyteidl.core.Literals.InputData DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.Literals.InputData(); + } + + public static flyteidl.core.Literals.InputData getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public InputData parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new InputData(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.core.Literals.InputData getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface OutputDataOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.core.OutputData) + com.google.protobuf.MessageOrBuilder { + + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + boolean hasOutputs(); + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + flyteidl.core.Literals.LiteralMap getOutputs(); + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder(); + } + /** + * Protobuf type {@code flyteidl.core.OutputData} + */ + public static final class OutputData extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.core.OutputData) + OutputDataOrBuilder { + private static final long serialVersionUID = 0L; + // Use OutputData.newBuilder() to construct. + private OutputData(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private OutputData() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private OutputData( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.core.Literals.LiteralMap.Builder subBuilder = null; + if (outputs_ != null) { + subBuilder = outputs_.toBuilder(); + } + outputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(outputs_); + outputs_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Literals.internal_static_flyteidl_core_OutputData_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Literals.internal_static_flyteidl_core_OutputData_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Literals.OutputData.class, flyteidl.core.Literals.OutputData.Builder.class); + } + + public static final int OUTPUTS_FIELD_NUMBER = 1; + private flyteidl.core.Literals.LiteralMap outputs_; + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public boolean hasOutputs() { + return outputs_ != null; + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public flyteidl.core.Literals.LiteralMap getOutputs() { + return outputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { + return getOutputs(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (outputs_ != null) { + output.writeMessage(1, getOutputs()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (outputs_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getOutputs()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.core.Literals.OutputData)) { + return super.equals(obj); + } + flyteidl.core.Literals.OutputData other = (flyteidl.core.Literals.OutputData) obj; + + if (hasOutputs() != other.hasOutputs()) return false; + if (hasOutputs()) { + if (!getOutputs() + .equals(other.getOutputs())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOutputs()) { + hash = (37 * hash) + OUTPUTS_FIELD_NUMBER; + hash = (53 * hash) + getOutputs().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.core.Literals.OutputData parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Literals.OutputData parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Literals.OutputData parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Literals.OutputData parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Literals.OutputData parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.core.Literals.OutputData parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.core.Literals.OutputData parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Literals.OutputData parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Literals.OutputData parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.core.Literals.OutputData parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.core.Literals.OutputData parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.core.Literals.OutputData parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.core.Literals.OutputData prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code flyteidl.core.OutputData} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.core.OutputData) + flyteidl.core.Literals.OutputDataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.core.Literals.internal_static_flyteidl_core_OutputData_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.core.Literals.internal_static_flyteidl_core_OutputData_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.core.Literals.OutputData.class, flyteidl.core.Literals.OutputData.Builder.class); + } + + // Construct using flyteidl.core.Literals.OutputData.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (outputsBuilder_ == null) { + outputs_ = null; + } else { + outputs_ = null; + outputsBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.core.Literals.internal_static_flyteidl_core_OutputData_descriptor; + } + + @java.lang.Override + public flyteidl.core.Literals.OutputData getDefaultInstanceForType() { + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.core.Literals.OutputData build() { + flyteidl.core.Literals.OutputData result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.core.Literals.OutputData buildPartial() { + flyteidl.core.Literals.OutputData result = new flyteidl.core.Literals.OutputData(this); + if (outputsBuilder_ == null) { + result.outputs_ = outputs_; + } else { + result.outputs_ = outputsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.core.Literals.OutputData) { + return mergeFrom((flyteidl.core.Literals.OutputData)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.core.Literals.OutputData other) { + if (other == flyteidl.core.Literals.OutputData.getDefaultInstance()) return this; + if (other.hasOutputs()) { + mergeOutputs(other.getOutputs()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.core.Literals.OutputData parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.core.Literals.OutputData) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.core.Literals.LiteralMap outputs_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> outputsBuilder_; + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public boolean hasOutputs() { + return outputsBuilder_ != null || outputs_ != null; + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public flyteidl.core.Literals.LiteralMap getOutputs() { + if (outputsBuilder_ == null) { + return outputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + } else { + return outputsBuilder_.getMessage(); + } + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public Builder setOutputs(flyteidl.core.Literals.LiteralMap value) { + if (outputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputs_ = value; + onChanged(); + } else { + outputsBuilder_.setMessage(value); + } + + return this; + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public Builder setOutputs( + flyteidl.core.Literals.LiteralMap.Builder builderForValue) { + if (outputsBuilder_ == null) { + outputs_ = builderForValue.build(); + onChanged(); + } else { + outputsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public Builder mergeOutputs(flyteidl.core.Literals.LiteralMap value) { + if (outputsBuilder_ == null) { + if (outputs_ != null) { + outputs_ = + flyteidl.core.Literals.LiteralMap.newBuilder(outputs_).mergeFrom(value).buildPartial(); + } else { + outputs_ = value; + } + onChanged(); + } else { + outputsBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public Builder clearOutputs() { + if (outputsBuilder_ == null) { + outputs_ = null; + onChanged(); + } else { + outputs_ = null; + outputsBuilder_ = null; + } + + return this; + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public flyteidl.core.Literals.LiteralMap.Builder getOutputsBuilder() { + + onChanged(); + return getOutputsFieldBuilder().getBuilder(); + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { + if (outputsBuilder_ != null) { + return outputsBuilder_.getMessageOrBuilder(); + } else { + return outputs_ == null ? + flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + } + } + /** + * .flyteidl.core.LiteralMap outputs = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> + getOutputsFieldBuilder() { + if (outputsBuilder_ == null) { + outputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( + getOutputs(), + getParentForChildren(), + isClean()); + outputs_ = null; + } + return outputsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.core.OutputData) + } + + // @@protoc_insertion_point(class_scope:flyteidl.core.OutputData) + private static final flyteidl.core.Literals.OutputData DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.core.Literals.OutputData(); + } + + public static flyteidl.core.Literals.OutputData getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public OutputData parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new OutputData(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.core.Literals.OutputData getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface BindingDataCollectionOrBuilder extends // @@protoc_insertion_point(interface_extends:flyteidl.core.BindingDataCollection) com.google.protobuf.MessageOrBuilder { @@ -18423,6 +19635,16 @@ public flyteidl.core.Literals.RetryStrategy getDefaultInstanceForType() { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_flyteidl_core_LiteralMap_LiteralsEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_InputData_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_InputData_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_core_OutputData_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_core_OutputData_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_flyteidl_core_BindingDataCollection_descriptor; private static final @@ -18514,26 +19736,29 @@ public flyteidl.core.Literals.RetryStrategy getDefaultInstanceForType() { "erals\030\001 \003(\0132\'.flyteidl.core.LiteralMap.L" + "iteralsEntry\032G\n\rLiteralsEntry\022\013\n\003key\030\001 \001" + "(\t\022%\n\005value\030\002 \001(\0132\026.flyteidl.core.Litera" + - "l:\0028\001\"E\n\025BindingDataCollection\022,\n\010bindin" + - "gs\030\001 \003(\0132\032.flyteidl.core.BindingData\"\234\001\n" + - "\016BindingDataMap\022=\n\010bindings\030\001 \003(\0132+.flyt" + - "eidl.core.BindingDataMap.BindingsEntry\032K" + - "\n\rBindingsEntry\022\013\n\003key\030\001 \001(\t\022)\n\005value\030\002 " + - "\001(\0132\032.flyteidl.core.BindingData:\0028\001\";\n\tU" + - "nionInfo\022.\n\ntargetType\030\001 \001(\0132\032.flyteidl." + - "core.LiteralType\"\205\002\n\013BindingData\022\'\n\006scal" + - "ar\030\001 \001(\0132\025.flyteidl.core.ScalarH\000\022:\n\ncol" + - "lection\030\002 \001(\0132$.flyteidl.core.BindingDat" + - "aCollectionH\000\0221\n\007promise\030\003 \001(\0132\036.flyteid" + - "l.core.OutputReferenceH\000\022,\n\003map\030\004 \001(\0132\035." + - "flyteidl.core.BindingDataMapH\000\022\'\n\005union\030" + - "\005 \001(\0132\030.flyteidl.core.UnionInfoB\007\n\005value" + - "\"C\n\007Binding\022\013\n\003var\030\001 \001(\t\022+\n\007binding\030\002 \001(" + - "\0132\032.flyteidl.core.BindingData\"*\n\014KeyValu" + - "ePair\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\" \n\rRet" + - "ryStrategy\022\017\n\007retries\030\005 \001(\rB * Raw output data produced by this workflow execution. + * Deprecated: please use output_data instead *
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + */ + @java.lang.Deprecated boolean hasDeprecatedOutputData(); + /** + *
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedOutputData(); + /** + *
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder(); + + /** + *
+     * Raw output data produced by this workflow execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 8; */ boolean hasOutputData(); /** @@ -156,17 +184,17 @@ public interface WorkflowExecutionEventOrBuilder extends * Raw output data produced by this workflow execution. *
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.OutputData output_data = 8; */ - flyteidl.core.Literals.LiteralMap getOutputData(); + flyteidl.core.Literals.OutputData getOutputData(); /** *
      * Raw output data produced by this workflow execution.
      * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.OutputData output_data = 8; */ - flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder(); + flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder(); public flyteidl.event.Event.WorkflowExecutionEvent.OutputResultCase getOutputResultCase(); } @@ -283,6 +311,20 @@ private WorkflowExecutionEvent( outputResultCase_ = 7; break; } + case 66: { + flyteidl.core.Literals.OutputData.Builder subBuilder = null; + if (outputResultCase_ == 8) { + subBuilder = ((flyteidl.core.Literals.OutputData) outputResult_).toBuilder(); + } + outputResult_ = + input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Literals.OutputData) outputResult_); + outputResult_ = subBuilder.buildPartial(); + } + outputResultCase_ = 8; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -321,7 +363,8 @@ public enum OutputResultCase implements com.google.protobuf.Internal.EnumLite { OUTPUT_URI(5), ERROR(6), - OUTPUT_DATA(7), + @java.lang.Deprecated DEPRECATED_OUTPUT_DATA(7), + OUTPUT_DATA(8), OUTPUTRESULT_NOT_SET(0); private final int value; private OutputResultCase(int value) { @@ -339,7 +382,8 @@ public static OutputResultCase forNumber(int value) { switch (value) { case 5: return OUTPUT_URI; case 6: return ERROR; - case 7: return OUTPUT_DATA; + case 7: return DEPRECATED_OUTPUT_DATA; + case 8: return OUTPUT_DATA; case 0: return OUTPUTRESULT_NOT_SET; default: return null; } @@ -574,25 +618,27 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() { return flyteidl.core.Execution.ExecutionError.getDefaultInstance(); } - public static final int OUTPUT_DATA_FIELD_NUMBER = 7; + public static final int DEPRECATED_OUTPUT_DATA_FIELD_NUMBER = 7; /** *
      * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public boolean hasOutputData() { + @java.lang.Deprecated public boolean hasDeprecatedOutputData() { return outputResultCase_ == 7; } /** *
      * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getOutputData() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputData() { if (outputResultCase_ == 7) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } @@ -601,17 +647,56 @@ public flyteidl.core.Literals.LiteralMap getOutputData() { /** *
      * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder() { if (outputResultCase_ == 7) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } + public static final int OUTPUT_DATA_FIELD_NUMBER = 8; + /** + *
+     * Raw output data produced by this workflow execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public boolean hasOutputData() { + return outputResultCase_ == 8; + } + /** + *
+     * Raw output data produced by this workflow execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputResultCase_ == 8) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + /** + *
+     * Raw output data produced by this workflow execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if (outputResultCase_ == 8) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -647,6 +732,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (outputResultCase_ == 7) { output.writeMessage(7, (flyteidl.core.Literals.LiteralMap) outputResult_); } + if (outputResultCase_ == 8) { + output.writeMessage(8, (flyteidl.core.Literals.OutputData) outputResult_); + } unknownFields.writeTo(output); } @@ -682,6 +770,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, (flyteidl.core.Literals.LiteralMap) outputResult_); } + if (outputResultCase_ == 8) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, (flyteidl.core.Literals.OutputData) outputResult_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -721,6 +813,10 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getError())) return false; break; case 7: + if (!getDeprecatedOutputData() + .equals(other.getDeprecatedOutputData())) return false; + break; + case 8: if (!getOutputData() .equals(other.getOutputData())) return false; break; @@ -760,6 +856,10 @@ public int hashCode() { hash = (53 * hash) + getError().hashCode(); break; case 7: + hash = (37 * hash) + DEPRECATED_OUTPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getDeprecatedOutputData().hashCode(); + break; + case 8: hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; hash = (53 * hash) + getOutputData().hashCode(); break; @@ -966,6 +1066,13 @@ public flyteidl.event.Event.WorkflowExecutionEvent buildPartial() { } } if (outputResultCase_ == 7) { + if (deprecatedOutputDataBuilder_ == null) { + result.outputResult_ = outputResult_; + } else { + result.outputResult_ = deprecatedOutputDataBuilder_.build(); + } + } + if (outputResultCase_ == 8) { if (outputDataBuilder_ == null) { result.outputResult_ = outputResult_; } else { @@ -1045,6 +1152,10 @@ public Builder mergeFrom(flyteidl.event.Event.WorkflowExecutionEvent other) { mergeError(other.getError()); break; } + case DEPRECATED_OUTPUT_DATA: { + mergeDeprecatedOutputData(other.getDeprecatedOutputData()); + break; + } case OUTPUT_DATA: { mergeOutputData(other.getOutputData()); break; @@ -1824,33 +1935,35 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() { } private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> outputDataBuilder_; + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedOutputDataBuilder_; /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public boolean hasOutputData() { + @java.lang.Deprecated public boolean hasDeprecatedOutputData() { return outputResultCase_ == 7; } /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getOutputData() { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputData() { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 7) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } else { if (outputResultCase_ == 7) { - return outputDataBuilder_.getMessage(); + return deprecatedOutputDataBuilder_.getMessage(); } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } @@ -1858,19 +1971,20 @@ public flyteidl.core.Literals.LiteralMap getOutputData() { /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public Builder setOutputData(flyteidl.core.Literals.LiteralMap value) { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder setDeprecatedOutputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputDataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } outputResult_ = value; onChanged(); } else { - outputDataBuilder_.setMessage(value); + deprecatedOutputDataBuilder_.setMessage(value); } outputResultCase_ = 7; return this; @@ -1878,17 +1992,18 @@ public Builder setOutputData(flyteidl.core.Literals.LiteralMap value) { /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public Builder setOutputData( + @java.lang.Deprecated public Builder setDeprecatedOutputData( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { - if (outputDataBuilder_ == null) { + if (deprecatedOutputDataBuilder_ == null) { outputResult_ = builderForValue.build(); onChanged(); } else { - outputDataBuilder_.setMessage(builderForValue.build()); + deprecatedOutputDataBuilder_.setMessage(builderForValue.build()); } outputResultCase_ = 7; return this; @@ -1896,12 +2011,13 @@ public Builder setOutputData( /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public Builder mergeOutputData(flyteidl.core.Literals.LiteralMap value) { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder mergeDeprecatedOutputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 7 && outputResult_ != flyteidl.core.Literals.LiteralMap.getDefaultInstance()) { outputResult_ = flyteidl.core.Literals.LiteralMap.newBuilder((flyteidl.core.Literals.LiteralMap) outputResult_) @@ -1912,9 +2028,9 @@ public Builder mergeOutputData(flyteidl.core.Literals.LiteralMap value) { onChanged(); } else { if (outputResultCase_ == 7) { - outputDataBuilder_.mergeFrom(value); + deprecatedOutputDataBuilder_.mergeFrom(value); } - outputDataBuilder_.setMessage(value); + deprecatedOutputDataBuilder_.setMessage(value); } outputResultCase_ = 7; return this; @@ -1922,12 +2038,13 @@ public Builder mergeOutputData(flyteidl.core.Literals.LiteralMap value) { /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public Builder clearOutputData() { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder clearDeprecatedOutputData() { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 7) { outputResultCase_ = 0; outputResult_ = null; @@ -1938,30 +2055,32 @@ public Builder clearOutputData() { outputResultCase_ = 0; outputResult_ = null; } - outputDataBuilder_.clear(); + deprecatedOutputDataBuilder_.clear(); } return this; } /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getOutputDataBuilder() { - return getOutputDataFieldBuilder().getBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedOutputDataBuilder() { + return getDeprecatedOutputDataFieldBuilder().getBuilder(); } /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { - if ((outputResultCase_ == 7) && (outputDataBuilder_ != null)) { - return outputDataBuilder_.getMessageOrBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder() { + if ((outputResultCase_ == 7) && (deprecatedOutputDataBuilder_ != null)) { + return deprecatedOutputDataBuilder_.getMessageOrBuilder(); } else { if (outputResultCase_ == 7) { return (flyteidl.core.Literals.LiteralMap) outputResult_; @@ -1972,18 +2091,19 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { /** *
        * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 7; + * .flyteidl.core.LiteralMap deprecated_output_data = 7 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> - getOutputDataFieldBuilder() { - if (outputDataBuilder_ == null) { + getDeprecatedOutputDataFieldBuilder() { + if (deprecatedOutputDataBuilder_ == null) { if (!(outputResultCase_ == 7)) { outputResult_ = flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } - outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + deprecatedOutputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( (flyteidl.core.Literals.LiteralMap) outputResult_, getParentForChildren(), @@ -1992,6 +2112,178 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { } outputResultCase_ = 7; onChanged();; + return deprecatedOutputDataBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputDataBuilder_; + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public boolean hasOutputData() { + return outputResultCase_ == 8; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 8) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } else { + if (outputResultCase_ == 8) { + return outputDataBuilder_.getMessage(); + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public Builder setOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputResult_ = value; + onChanged(); + } else { + outputDataBuilder_.setMessage(value); + } + outputResultCase_ = 8; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public Builder setOutputData( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (outputDataBuilder_ == null) { + outputResult_ = builderForValue.build(); + onChanged(); + } else { + outputDataBuilder_.setMessage(builderForValue.build()); + } + outputResultCase_ = 8; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public Builder mergeOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 8 && + outputResult_ != flyteidl.core.Literals.OutputData.getDefaultInstance()) { + outputResult_ = flyteidl.core.Literals.OutputData.newBuilder((flyteidl.core.Literals.OutputData) outputResult_) + .mergeFrom(value).buildPartial(); + } else { + outputResult_ = value; + } + onChanged(); + } else { + if (outputResultCase_ == 8) { + outputDataBuilder_.mergeFrom(value); + } + outputDataBuilder_.setMessage(value); + } + outputResultCase_ = 8; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public Builder clearOutputData() { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 8) { + outputResultCase_ = 0; + outputResult_ = null; + onChanged(); + } + } else { + if (outputResultCase_ == 8) { + outputResultCase_ = 0; + outputResult_ = null; + } + outputDataBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public flyteidl.core.Literals.OutputData.Builder getOutputDataBuilder() { + return getOutputDataFieldBuilder().getBuilder(); + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if ((outputResultCase_ == 8) && (outputDataBuilder_ != null)) { + return outputDataBuilder_.getMessageOrBuilder(); + } else { + if (outputResultCase_ == 8) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getOutputDataFieldBuilder() { + if (outputDataBuilder_ == null) { + if (!(outputResultCase_ == 8)) { + outputResult_ = flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + (flyteidl.core.Literals.OutputData) outputResult_, + getParentForChildren(), + isClean()); + outputResult_ = null; + } + outputResultCase_ = 8; + onChanged();; return outputDataBuilder_; } @java.lang.Override @@ -2141,12 +2433,40 @@ public interface NodeExecutionEventOrBuilder extends com.google.protobuf.ByteString getInputUriBytes(); + /** + *
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + */ + @java.lang.Deprecated boolean hasDeprecatedInputData(); + /** + *
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedInputData(); + /** + *
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputDataOrBuilder(); + /** *
      * Raw input data consumed by this node execution.
      * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.InputData input_data = 24; */ boolean hasInputData(); /** @@ -2154,17 +2474,17 @@ public interface NodeExecutionEventOrBuilder extends * Raw input data consumed by this node execution. *
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.InputData input_data = 24; */ - flyteidl.core.Literals.LiteralMap getInputData(); + flyteidl.core.Literals.InputData getInputData(); /** *
      * Raw input data consumed by this node execution.
      * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.InputData input_data = 24; */ - flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder(); + flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); /** *
@@ -2213,28 +2533,56 @@ public interface NodeExecutionEventOrBuilder extends
 
     /**
      * 
-     * Raw output data produced by this node execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + */ + @java.lang.Deprecated boolean hasDeprecatedOutputData(); + /** + *
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedOutputData(); + /** + *
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder(); + + /** + *
+     * Raw output data produced by this workflow execution.
      * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.OutputData output_data = 23; */ boolean hasOutputData(); /** *
-     * Raw output data produced by this node execution.
+     * Raw output data produced by this workflow execution.
      * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.OutputData output_data = 23; */ - flyteidl.core.Literals.LiteralMap getOutputData(); + flyteidl.core.Literals.OutputData getOutputData(); /** *
-     * Raw output data produced by this node execution.
+     * Raw output data produced by this workflow execution.
      * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.OutputData output_data = 23; */ - flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder(); + flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder(); /** * .flyteidl.event.WorkflowNodeMetadata workflow_node_metadata = 8; @@ -2708,6 +3056,34 @@ private NodeExecutionEvent( isArray_ = input.readBool(); break; } + case 186: { + flyteidl.core.Literals.OutputData.Builder subBuilder = null; + if (outputResultCase_ == 23) { + subBuilder = ((flyteidl.core.Literals.OutputData) outputResult_).toBuilder(); + } + outputResult_ = + input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Literals.OutputData) outputResult_); + outputResult_ = subBuilder.buildPartial(); + } + outputResultCase_ = 23; + break; + } + case 194: { + flyteidl.core.Literals.InputData.Builder subBuilder = null; + if (inputValueCase_ == 24) { + subBuilder = ((flyteidl.core.Literals.InputData) inputValue_).toBuilder(); + } + inputValue_ = + input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Literals.InputData) inputValue_); + inputValue_ = subBuilder.buildPartial(); + } + inputValueCase_ = 24; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -2745,7 +3121,8 @@ private NodeExecutionEvent( public enum InputValueCase implements com.google.protobuf.Internal.EnumLite { INPUT_URI(5), - INPUT_DATA(20), + @java.lang.Deprecated DEPRECATED_INPUT_DATA(20), + INPUT_DATA(24), INPUTVALUE_NOT_SET(0); private final int value; private InputValueCase(int value) { @@ -2762,7 +3139,8 @@ public static InputValueCase valueOf(int value) { public static InputValueCase forNumber(int value) { switch (value) { case 5: return INPUT_URI; - case 20: return INPUT_DATA; + case 20: return DEPRECATED_INPUT_DATA; + case 24: return INPUT_DATA; case 0: return INPUTVALUE_NOT_SET; default: return null; } @@ -2784,7 +3162,8 @@ public enum OutputResultCase implements com.google.protobuf.Internal.EnumLite { OUTPUT_URI(6), ERROR(7), - OUTPUT_DATA(15), + @java.lang.Deprecated DEPRECATED_OUTPUT_DATA(15), + OUTPUT_DATA(23), OUTPUTRESULT_NOT_SET(0); private final int value; private OutputResultCase(int value) { @@ -2802,7 +3181,8 @@ public static OutputResultCase forNumber(int value) { switch (value) { case 6: return OUTPUT_URI; case 7: return ERROR; - case 15: return OUTPUT_DATA; + case 15: return DEPRECATED_OUTPUT_DATA; + case 23: return OUTPUT_DATA; case 0: return OUTPUTRESULT_NOT_SET; default: return null; } @@ -3027,25 +3407,27 @@ public java.lang.String getInputUri() { } } - public static final int INPUT_DATA_FIELD_NUMBER = 20; + public static final int DEPRECATED_INPUT_DATA_FIELD_NUMBER = 20; /** *
      * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
      * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public boolean hasInputData() { + @java.lang.Deprecated public boolean hasDeprecatedInputData() { return inputValueCase_ == 20; } /** *
      * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
      * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputData() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputData() { if (inputValueCase_ == 20) { return (flyteidl.core.Literals.LiteralMap) inputValue_; } @@ -3054,17 +3436,56 @@ public flyteidl.core.Literals.LiteralMap getInputData() { /** *
      * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
      * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputDataOrBuilder() { if (inputValueCase_ == 20) { return (flyteidl.core.Literals.LiteralMap) inputValue_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } + public static final int INPUT_DATA_FIELD_NUMBER = 24; + /** + *
+     * Raw input data consumed by this node execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public boolean hasInputData() { + return inputValueCase_ == 24; + } + /** + *
+     * Raw input data consumed by this node execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputValueCase_ == 24) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + /** + *
+     * Raw input data consumed by this node execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if (inputValueCase_ == 24) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + public static final int OUTPUT_URI_FIELD_NUMBER = 6; /** *
@@ -3156,25 +3577,27 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() {
       return flyteidl.core.Execution.ExecutionError.getDefaultInstance();
     }
 
-    public static final int OUTPUT_DATA_FIELD_NUMBER = 15;
+    public static final int DEPRECATED_OUTPUT_DATA_FIELD_NUMBER = 15;
     /**
      * 
-     * Raw output data produced by this node execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public boolean hasOutputData() { + @java.lang.Deprecated public boolean hasDeprecatedOutputData() { return outputResultCase_ == 15; } /** *
-     * Raw output data produced by this node execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getOutputData() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputData() { if (outputResultCase_ == 15) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } @@ -3182,18 +3605,57 @@ public flyteidl.core.Literals.LiteralMap getOutputData() { } /** *
-     * Raw output data produced by this node execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder() { if (outputResultCase_ == 15) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } + public static final int OUTPUT_DATA_FIELD_NUMBER = 23; + /** + *
+     * Raw output data produced by this workflow execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public boolean hasOutputData() { + return outputResultCase_ == 23; + } + /** + *
+     * Raw output data produced by this workflow execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputResultCase_ == 23) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + /** + *
+     * Raw output data produced by this workflow execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if (outputResultCase_ == 23) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + public static final int WORKFLOW_NODE_METADATA_FIELD_NUMBER = 8; /** * .flyteidl.event.WorkflowNodeMetadata workflow_node_metadata = 8; @@ -3654,6 +4116,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (isArray_ != false) { output.writeBool(22, isArray_); } + if (outputResultCase_ == 23) { + output.writeMessage(23, (flyteidl.core.Literals.OutputData) outputResult_); + } + if (inputValueCase_ == 24) { + output.writeMessage(24, (flyteidl.core.Literals.InputData) inputValue_); + } unknownFields.writeTo(output); } @@ -3744,6 +4212,14 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeBoolSize(22, isArray_); } + if (outputResultCase_ == 23) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(23, (flyteidl.core.Literals.OutputData) outputResult_); + } + if (inputValueCase_ == 24) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(24, (flyteidl.core.Literals.InputData) inputValue_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -3810,6 +4286,10 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getInputUri())) return false; break; case 20: + if (!getDeprecatedInputData() + .equals(other.getDeprecatedInputData())) return false; + break; + case 24: if (!getInputData() .equals(other.getInputData())) return false; break; @@ -3827,6 +4307,10 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getError())) return false; break; case 15: + if (!getDeprecatedOutputData() + .equals(other.getDeprecatedOutputData())) return false; + break; + case 23: if (!getOutputData() .equals(other.getOutputData())) return false; break; @@ -3906,6 +4390,10 @@ public int hashCode() { hash = (53 * hash) + getInputUri().hashCode(); break; case 20: + hash = (37 * hash) + DEPRECATED_INPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getDeprecatedInputData().hashCode(); + break; + case 24: hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER; hash = (53 * hash) + getInputData().hashCode(); break; @@ -3922,6 +4410,10 @@ public int hashCode() { hash = (53 * hash) + getError().hashCode(); break; case 15: + hash = (37 * hash) + DEPRECATED_OUTPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getDeprecatedOutputData().hashCode(); + break; + case 23: hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; hash = (53 * hash) + getOutputData().hashCode(); break; @@ -4171,6 +4663,13 @@ public flyteidl.event.Event.NodeExecutionEvent buildPartial() { result.inputValue_ = inputValue_; } if (inputValueCase_ == 20) { + if (deprecatedInputDataBuilder_ == null) { + result.inputValue_ = inputValue_; + } else { + result.inputValue_ = deprecatedInputDataBuilder_.build(); + } + } + if (inputValueCase_ == 24) { if (inputDataBuilder_ == null) { result.inputValue_ = inputValue_; } else { @@ -4188,6 +4687,13 @@ public flyteidl.event.Event.NodeExecutionEvent buildPartial() { } } if (outputResultCase_ == 15) { + if (deprecatedOutputDataBuilder_ == null) { + result.outputResult_ = outputResult_; + } else { + result.outputResult_ = deprecatedOutputDataBuilder_.build(); + } + } + if (outputResultCase_ == 23) { if (outputDataBuilder_ == null) { result.outputResult_ = outputResult_; } else { @@ -4339,6 +4845,10 @@ public Builder mergeFrom(flyteidl.event.Event.NodeExecutionEvent other) { onChanged(); break; } + case DEPRECATED_INPUT_DATA: { + mergeDeprecatedInputData(other.getDeprecatedInputData()); + break; + } case INPUT_DATA: { mergeInputData(other.getInputData()); break; @@ -4358,6 +4868,10 @@ public Builder mergeFrom(flyteidl.event.Event.NodeExecutionEvent other) { mergeError(other.getError()); break; } + case DEPRECATED_OUTPUT_DATA: { + mergeDeprecatedOutputData(other.getDeprecatedOutputData()); + break; + } case OUTPUT_DATA: { mergeOutputData(other.getOutputData()); break; @@ -4983,33 +5497,35 @@ public Builder setInputUriBytes( } private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> inputDataBuilder_; + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedInputDataBuilder_; /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public boolean hasInputData() { + @java.lang.Deprecated public boolean hasDeprecatedInputData() { return inputValueCase_ == 20; } /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputData() { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputData() { + if (deprecatedInputDataBuilder_ == null) { if (inputValueCase_ == 20) { return (flyteidl.core.Literals.LiteralMap) inputValue_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } else { if (inputValueCase_ == 20) { - return inputDataBuilder_.getMessage(); + return deprecatedInputDataBuilder_.getMessage(); } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } @@ -5017,19 +5533,20 @@ public flyteidl.core.Literals.LiteralMap getInputData() { /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public Builder setInputData(flyteidl.core.Literals.LiteralMap value) { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public Builder setDeprecatedInputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputDataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } inputValue_ = value; onChanged(); } else { - inputDataBuilder_.setMessage(value); + deprecatedInputDataBuilder_.setMessage(value); } inputValueCase_ = 20; return this; @@ -5037,17 +5554,18 @@ public Builder setInputData(flyteidl.core.Literals.LiteralMap value) { /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public Builder setInputData( + @java.lang.Deprecated public Builder setDeprecatedInputData( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { - if (inputDataBuilder_ == null) { + if (deprecatedInputDataBuilder_ == null) { inputValue_ = builderForValue.build(); onChanged(); } else { - inputDataBuilder_.setMessage(builderForValue.build()); + deprecatedInputDataBuilder_.setMessage(builderForValue.build()); } inputValueCase_ = 20; return this; @@ -5055,12 +5573,13 @@ public Builder setInputData( /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public Builder mergeInputData(flyteidl.core.Literals.LiteralMap value) { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public Builder mergeDeprecatedInputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputDataBuilder_ == null) { if (inputValueCase_ == 20 && inputValue_ != flyteidl.core.Literals.LiteralMap.getDefaultInstance()) { inputValue_ = flyteidl.core.Literals.LiteralMap.newBuilder((flyteidl.core.Literals.LiteralMap) inputValue_) @@ -5071,9 +5590,9 @@ public Builder mergeInputData(flyteidl.core.Literals.LiteralMap value) { onChanged(); } else { if (inputValueCase_ == 20) { - inputDataBuilder_.mergeFrom(value); + deprecatedInputDataBuilder_.mergeFrom(value); } - inputDataBuilder_.setMessage(value); + deprecatedInputDataBuilder_.setMessage(value); } inputValueCase_ = 20; return this; @@ -5081,12 +5600,13 @@ public Builder mergeInputData(flyteidl.core.Literals.LiteralMap value) { /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public Builder clearInputData() { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public Builder clearDeprecatedInputData() { + if (deprecatedInputDataBuilder_ == null) { if (inputValueCase_ == 20) { inputValueCase_ = 0; inputValue_ = null; @@ -5097,30 +5617,32 @@ public Builder clearInputData() { inputValueCase_ = 0; inputValue_ = null; } - inputDataBuilder_.clear(); + deprecatedInputDataBuilder_.clear(); } return this; } /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getInputDataBuilder() { - return getInputDataFieldBuilder().getBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedInputDataBuilder() { + return getDeprecatedInputDataFieldBuilder().getBuilder(); } /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { - if ((inputValueCase_ == 20) && (inputDataBuilder_ != null)) { - return inputDataBuilder_.getMessageOrBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputDataOrBuilder() { + if ((inputValueCase_ == 20) && (deprecatedInputDataBuilder_ != null)) { + return deprecatedInputDataBuilder_.getMessageOrBuilder(); } else { if (inputValueCase_ == 20) { return (flyteidl.core.Literals.LiteralMap) inputValue_; @@ -5131,18 +5653,19 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { /** *
        * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 20; + * .flyteidl.core.LiteralMap deprecated_input_data = 20 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> - getInputDataFieldBuilder() { - if (inputDataBuilder_ == null) { + getDeprecatedInputDataFieldBuilder() { + if (deprecatedInputDataBuilder_ == null) { if (!(inputValueCase_ == 20)) { inputValue_ = flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } - inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + deprecatedInputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( (flyteidl.core.Literals.LiteralMap) inputValue_, getParentForChildren(), @@ -5151,6 +5674,178 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { } inputValueCase_ = 20; onChanged();; + return deprecatedInputDataBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public boolean hasInputData() { + return inputValueCase_ == 24; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputDataBuilder_ == null) { + if (inputValueCase_ == 24) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } else { + if (inputValueCase_ == 24) { + return inputDataBuilder_.getMessage(); + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public Builder setInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputValue_ = value; + onChanged(); + } else { + inputDataBuilder_.setMessage(value); + } + inputValueCase_ = 24; + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public Builder setInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputDataBuilder_ == null) { + inputValue_ = builderForValue.build(); + onChanged(); + } else { + inputDataBuilder_.setMessage(builderForValue.build()); + } + inputValueCase_ = 24; + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public Builder mergeInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (inputValueCase_ == 24 && + inputValue_ != flyteidl.core.Literals.InputData.getDefaultInstance()) { + inputValue_ = flyteidl.core.Literals.InputData.newBuilder((flyteidl.core.Literals.InputData) inputValue_) + .mergeFrom(value).buildPartial(); + } else { + inputValue_ = value; + } + onChanged(); + } else { + if (inputValueCase_ == 24) { + inputDataBuilder_.mergeFrom(value); + } + inputDataBuilder_.setMessage(value); + } + inputValueCase_ = 24; + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public Builder clearInputData() { + if (inputDataBuilder_ == null) { + if (inputValueCase_ == 24) { + inputValueCase_ = 0; + inputValue_ = null; + onChanged(); + } + } else { + if (inputValueCase_ == 24) { + inputValueCase_ = 0; + inputValue_ = null; + } + inputDataBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { + return getInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if ((inputValueCase_ == 24) && (inputDataBuilder_ != null)) { + return inputDataBuilder_.getMessageOrBuilder(); + } else { + if (inputValueCase_ == 24) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 24; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputDataFieldBuilder() { + if (inputDataBuilder_ == null) { + if (!(inputValueCase_ == 24)) { + inputValue_ = flyteidl.core.Literals.InputData.getDefaultInstance(); + } + inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + (flyteidl.core.Literals.InputData) inputValue_, + getParentForChildren(), + isClean()); + inputValue_ = null; + } + inputValueCase_ = 24; + onChanged();; return inputDataBuilder_; } @@ -5432,84 +6127,89 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() { } private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> outputDataBuilder_; + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedOutputDataBuilder_; /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public boolean hasOutputData() { + @java.lang.Deprecated public boolean hasDeprecatedOutputData() { return outputResultCase_ == 15; } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getOutputData() { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputData() { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 15) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } else { if (outputResultCase_ == 15) { - return outputDataBuilder_.getMessage(); + return deprecatedOutputDataBuilder_.getMessage(); } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public Builder setOutputData(flyteidl.core.Literals.LiteralMap value) { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder setDeprecatedOutputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputDataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } outputResult_ = value; onChanged(); } else { - outputDataBuilder_.setMessage(value); + deprecatedOutputDataBuilder_.setMessage(value); } outputResultCase_ = 15; return this; } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public Builder setOutputData( + @java.lang.Deprecated public Builder setDeprecatedOutputData( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { - if (outputDataBuilder_ == null) { + if (deprecatedOutputDataBuilder_ == null) { outputResult_ = builderForValue.build(); onChanged(); } else { - outputDataBuilder_.setMessage(builderForValue.build()); + deprecatedOutputDataBuilder_.setMessage(builderForValue.build()); } outputResultCase_ = 15; return this; } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public Builder mergeOutputData(flyteidl.core.Literals.LiteralMap value) { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder mergeDeprecatedOutputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 15 && outputResult_ != flyteidl.core.Literals.LiteralMap.getDefaultInstance()) { outputResult_ = flyteidl.core.Literals.LiteralMap.newBuilder((flyteidl.core.Literals.LiteralMap) outputResult_) @@ -5520,22 +6220,23 @@ public Builder mergeOutputData(flyteidl.core.Literals.LiteralMap value) { onChanged(); } else { if (outputResultCase_ == 15) { - outputDataBuilder_.mergeFrom(value); + deprecatedOutputDataBuilder_.mergeFrom(value); } - outputDataBuilder_.setMessage(value); + deprecatedOutputDataBuilder_.setMessage(value); } outputResultCase_ = 15; return this; } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public Builder clearOutputData() { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder clearDeprecatedOutputData() { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 15) { outputResultCase_ = 0; outputResult_ = null; @@ -5546,30 +6247,32 @@ public Builder clearOutputData() { outputResultCase_ = 0; outputResult_ = null; } - outputDataBuilder_.clear(); + deprecatedOutputDataBuilder_.clear(); } return this; } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getOutputDataBuilder() { - return getOutputDataFieldBuilder().getBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedOutputDataBuilder() { + return getDeprecatedOutputDataFieldBuilder().getBuilder(); } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { - if ((outputResultCase_ == 15) && (outputDataBuilder_ != null)) { - return outputDataBuilder_.getMessageOrBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder() { + if ((outputResultCase_ == 15) && (deprecatedOutputDataBuilder_ != null)) { + return deprecatedOutputDataBuilder_.getMessageOrBuilder(); } else { if (outputResultCase_ == 15) { return (flyteidl.core.Literals.LiteralMap) outputResult_; @@ -5579,19 +6282,20 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { } /** *
-       * Raw output data produced by this node execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 15; + * .flyteidl.core.LiteralMap deprecated_output_data = 15 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> - getOutputDataFieldBuilder() { - if (outputDataBuilder_ == null) { + getDeprecatedOutputDataFieldBuilder() { + if (deprecatedOutputDataBuilder_ == null) { if (!(outputResultCase_ == 15)) { outputResult_ = flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } - outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + deprecatedOutputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( (flyteidl.core.Literals.LiteralMap) outputResult_, getParentForChildren(), @@ -5600,6 +6304,178 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { } outputResultCase_ = 15; onChanged();; + return deprecatedOutputDataBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputDataBuilder_; + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public boolean hasOutputData() { + return outputResultCase_ == 23; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 23) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } else { + if (outputResultCase_ == 23) { + return outputDataBuilder_.getMessage(); + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public Builder setOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputResult_ = value; + onChanged(); + } else { + outputDataBuilder_.setMessage(value); + } + outputResultCase_ = 23; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public Builder setOutputData( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (outputDataBuilder_ == null) { + outputResult_ = builderForValue.build(); + onChanged(); + } else { + outputDataBuilder_.setMessage(builderForValue.build()); + } + outputResultCase_ = 23; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public Builder mergeOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 23 && + outputResult_ != flyteidl.core.Literals.OutputData.getDefaultInstance()) { + outputResult_ = flyteidl.core.Literals.OutputData.newBuilder((flyteidl.core.Literals.OutputData) outputResult_) + .mergeFrom(value).buildPartial(); + } else { + outputResult_ = value; + } + onChanged(); + } else { + if (outputResultCase_ == 23) { + outputDataBuilder_.mergeFrom(value); + } + outputDataBuilder_.setMessage(value); + } + outputResultCase_ = 23; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public Builder clearOutputData() { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 23) { + outputResultCase_ = 0; + outputResult_ = null; + onChanged(); + } + } else { + if (outputResultCase_ == 23) { + outputResultCase_ = 0; + outputResult_ = null; + } + outputDataBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public flyteidl.core.Literals.OutputData.Builder getOutputDataBuilder() { + return getOutputDataFieldBuilder().getBuilder(); + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if ((outputResultCase_ == 23) && (outputDataBuilder_ != null)) { + return outputDataBuilder_.getMessageOrBuilder(); + } else { + if (outputResultCase_ == 23) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 23; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getOutputDataFieldBuilder() { + if (outputDataBuilder_ == null) { + if (!(outputResultCase_ == 23)) { + outputResult_ = flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + (flyteidl.core.Literals.OutputData) outputResult_, + getParentForChildren(), + isClean()); + outputResult_ = null; + } + outputResultCase_ = 23; + onChanged();; return outputDataBuilder_; } @@ -12233,28 +13109,56 @@ flyteidl.core.Execution.TaskLogOrBuilder getLogsOrBuilder( /** *
-     * Raw input data consumed by this task execution.
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + */ + @java.lang.Deprecated boolean hasDeprecatedInputData(); + /** + *
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedInputData(); + /** + *
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputDataOrBuilder(); + + /** + *
+     * Raw input data consumed by this node execution.
      * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.InputData input_data = 23; */ boolean hasInputData(); /** *
-     * Raw input data consumed by this task execution.
+     * Raw input data consumed by this node execution.
      * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.InputData input_data = 23; */ - flyteidl.core.Literals.LiteralMap getInputData(); + flyteidl.core.Literals.InputData getInputData(); /** *
-     * Raw input data consumed by this task execution.
+     * Raw input data consumed by this node execution.
      * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.InputData input_data = 23; */ - flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder(); + flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); /** *
@@ -12303,28 +13207,56 @@ flyteidl.core.Execution.TaskLogOrBuilder getLogsOrBuilder(
 
     /**
      * 
-     * Raw output data produced by this task execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + */ + @java.lang.Deprecated boolean hasDeprecatedOutputData(); + /** + *
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedOutputData(); + /** + *
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + */ + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder(); + + /** + *
+     * Raw output data produced by this workflow execution.
      * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.OutputData output_data = 22; */ boolean hasOutputData(); /** *
-     * Raw output data produced by this task execution.
+     * Raw output data produced by this workflow execution.
      * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.OutputData output_data = 22; */ - flyteidl.core.Literals.LiteralMap getOutputData(); + flyteidl.core.Literals.OutputData getOutputData(); /** *
-     * Raw output data produced by this task execution.
+     * Raw output data produced by this workflow execution.
      * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.OutputData output_data = 22; */ - flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder(); + flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder(); /** *
@@ -12753,14 +13685,42 @@ private TaskExecutionEvent(
               break;
             }
             case 170: {
-              if (!((mutable_bitField0_ & 0x00008000) != 0)) {
+              if (!((mutable_bitField0_ & 0x00020000) != 0)) {
                 reasons_ = new java.util.ArrayList();
-                mutable_bitField0_ |= 0x00008000;
+                mutable_bitField0_ |= 0x00020000;
               }
               reasons_.add(
                   input.readMessage(flyteidl.event.Event.EventReason.parser(), extensionRegistry));
               break;
             }
+            case 178: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
+              if (outputResultCase_ == 22) {
+                subBuilder = ((flyteidl.core.Literals.OutputData) outputResult_).toBuilder();
+              }
+              outputResult_ =
+                  input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom((flyteidl.core.Literals.OutputData) outputResult_);
+                outputResult_ = subBuilder.buildPartial();
+              }
+              outputResultCase_ = 22;
+              break;
+            }
+            case 186: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (inputValueCase_ == 23) {
+                subBuilder = ((flyteidl.core.Literals.InputData) inputValue_).toBuilder();
+              }
+              inputValue_ =
+                  input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom((flyteidl.core.Literals.InputData) inputValue_);
+                inputValue_ = subBuilder.buildPartial();
+              }
+              inputValueCase_ = 23;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -12779,7 +13739,7 @@ private TaskExecutionEvent(
         if (((mutable_bitField0_ & 0x00000020) != 0)) {
           logs_ = java.util.Collections.unmodifiableList(logs_);
         }
-        if (((mutable_bitField0_ & 0x00008000) != 0)) {
+        if (((mutable_bitField0_ & 0x00020000) != 0)) {
           reasons_ = java.util.Collections.unmodifiableList(reasons_);
         }
         this.unknownFields = unknownFields.build();
@@ -12805,7 +13765,8 @@ private TaskExecutionEvent(
     public enum InputValueCase
         implements com.google.protobuf.Internal.EnumLite {
       INPUT_URI(8),
-      INPUT_DATA(19),
+      @java.lang.Deprecated DEPRECATED_INPUT_DATA(19),
+      INPUT_DATA(23),
       INPUTVALUE_NOT_SET(0);
       private final int value;
       private InputValueCase(int value) {
@@ -12822,7 +13783,8 @@ public static InputValueCase valueOf(int value) {
       public static InputValueCase forNumber(int value) {
         switch (value) {
           case 8: return INPUT_URI;
-          case 19: return INPUT_DATA;
+          case 19: return DEPRECATED_INPUT_DATA;
+          case 23: return INPUT_DATA;
           case 0: return INPUTVALUE_NOT_SET;
           default: return null;
         }
@@ -12844,7 +13806,8 @@ public enum OutputResultCase
         implements com.google.protobuf.Internal.EnumLite {
       OUTPUT_URI(9),
       ERROR(10),
-      OUTPUT_DATA(17),
+      @java.lang.Deprecated DEPRECATED_OUTPUT_DATA(17),
+      OUTPUT_DATA(22),
       OUTPUTRESULT_NOT_SET(0);
       private final int value;
       private OutputResultCase(int value) {
@@ -12862,7 +13825,8 @@ public static OutputResultCase forNumber(int value) {
         switch (value) {
           case 9: return OUTPUT_URI;
           case 10: return ERROR;
-          case 17: return OUTPUT_DATA;
+          case 17: return DEPRECATED_OUTPUT_DATA;
+          case 22: return OUTPUT_DATA;
           case 0: return OUTPUTRESULT_NOT_SET;
           default: return null;
         }
@@ -13174,25 +14138,27 @@ public java.lang.String getInputUri() {
       }
     }
 
-    public static final int INPUT_DATA_FIELD_NUMBER = 19;
+    public static final int DEPRECATED_INPUT_DATA_FIELD_NUMBER = 19;
     /**
      * 
-     * Raw input data consumed by this task execution.
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
      * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public boolean hasInputData() { + @java.lang.Deprecated public boolean hasDeprecatedInputData() { return inputValueCase_ == 19; } /** *
-     * Raw input data consumed by this task execution.
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
      * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputData() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputData() { if (inputValueCase_ == 19) { return (flyteidl.core.Literals.LiteralMap) inputValue_; } @@ -13200,18 +14166,57 @@ public flyteidl.core.Literals.LiteralMap getInputData() { } /** *
-     * Raw input data consumed by this task execution.
+     * Raw input data consumed by this node execution.
+     * Deprecated: please use input_data instead
      * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputDataOrBuilder() { if (inputValueCase_ == 19) { return (flyteidl.core.Literals.LiteralMap) inputValue_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } + public static final int INPUT_DATA_FIELD_NUMBER = 23; + /** + *
+     * Raw input data consumed by this node execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public boolean hasInputData() { + return inputValueCase_ == 23; + } + /** + *
+     * Raw input data consumed by this node execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputValueCase_ == 23) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + /** + *
+     * Raw input data consumed by this node execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if (inputValueCase_ == 23) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + public static final int OUTPUT_URI_FIELD_NUMBER = 9; /** *
@@ -13303,25 +14308,27 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() {
       return flyteidl.core.Execution.ExecutionError.getDefaultInstance();
     }
 
-    public static final int OUTPUT_DATA_FIELD_NUMBER = 17;
+    public static final int DEPRECATED_OUTPUT_DATA_FIELD_NUMBER = 17;
     /**
      * 
-     * Raw output data produced by this task execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public boolean hasOutputData() { + @java.lang.Deprecated public boolean hasDeprecatedOutputData() { return outputResultCase_ == 17; } /** *
-     * Raw output data produced by this task execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getOutputData() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputData() { if (outputResultCase_ == 17) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } @@ -13329,54 +14336,93 @@ public flyteidl.core.Literals.LiteralMap getOutputData() { } /** *
-     * Raw output data produced by this task execution.
+     * Raw output data produced by this workflow execution.
+     * Deprecated: please use output_data instead
      * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder() { if (outputResultCase_ == 17) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } - public static final int CUSTOM_INFO_FIELD_NUMBER = 11; - private com.google.protobuf.Struct customInfo_; + public static final int OUTPUT_DATA_FIELD_NUMBER = 22; /** *
-     * Custom data that the task plugin sends back. This is extensible to allow various plugins in the system.
+     * Raw output data produced by this workflow execution.
      * 
* - * .google.protobuf.Struct custom_info = 11; + * .flyteidl.core.OutputData output_data = 22; */ - public boolean hasCustomInfo() { - return customInfo_ != null; + public boolean hasOutputData() { + return outputResultCase_ == 22; } /** *
-     * Custom data that the task plugin sends back. This is extensible to allow various plugins in the system.
+     * Raw output data produced by this workflow execution.
      * 
* - * .google.protobuf.Struct custom_info = 11; + * .flyteidl.core.OutputData output_data = 22; */ - public com.google.protobuf.Struct getCustomInfo() { - return customInfo_ == null ? com.google.protobuf.Struct.getDefaultInstance() : customInfo_; + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputResultCase_ == 22) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); } /** *
-     * Custom data that the task plugin sends back. This is extensible to allow various plugins in the system.
+     * Raw output data produced by this workflow execution.
      * 
* - * .google.protobuf.Struct custom_info = 11; + * .flyteidl.core.OutputData output_data = 22; */ - public com.google.protobuf.StructOrBuilder getCustomInfoOrBuilder() { - return getCustomInfo(); + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if (outputResultCase_ == 22) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); } - public static final int PHASE_VERSION_FIELD_NUMBER = 12; - private int phaseVersion_; - /** + public static final int CUSTOM_INFO_FIELD_NUMBER = 11; + private com.google.protobuf.Struct customInfo_; + /** + *
+     * Custom data that the task plugin sends back. This is extensible to allow various plugins in the system.
+     * 
+ * + * .google.protobuf.Struct custom_info = 11; + */ + public boolean hasCustomInfo() { + return customInfo_ != null; + } + /** + *
+     * Custom data that the task plugin sends back. This is extensible to allow various plugins in the system.
+     * 
+ * + * .google.protobuf.Struct custom_info = 11; + */ + public com.google.protobuf.Struct getCustomInfo() { + return customInfo_ == null ? com.google.protobuf.Struct.getDefaultInstance() : customInfo_; + } + /** + *
+     * Custom data that the task plugin sends back. This is extensible to allow various plugins in the system.
+     * 
+ * + * .google.protobuf.Struct custom_info = 11; + */ + public com.google.protobuf.StructOrBuilder getCustomInfoOrBuilder() { + return getCustomInfo(); + } + + public static final int PHASE_VERSION_FIELD_NUMBER = 12; + private int phaseVersion_; + /** *
      * Some phases, like RUNNING, can send multiple events with changed metadata (new logs, additional custom_info, etc)
      * that should be recorded regardless of the lack of phase change.
@@ -13699,6 +14745,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       for (int i = 0; i < reasons_.size(); i++) {
         output.writeMessage(21, reasons_.get(i));
       }
+      if (outputResultCase_ == 22) {
+        output.writeMessage(22, (flyteidl.core.Literals.OutputData) outputResult_);
+      }
+      if (inputValueCase_ == 23) {
+        output.writeMessage(23, (flyteidl.core.Literals.InputData) inputValue_);
+      }
       unknownFields.writeTo(output);
     }
 
@@ -13783,6 +14835,14 @@ public int getSerializedSize() {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(21, reasons_.get(i));
       }
+      if (outputResultCase_ == 22) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(22, (flyteidl.core.Literals.OutputData) outputResult_);
+      }
+      if (inputValueCase_ == 23) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(23, (flyteidl.core.Literals.InputData) inputValue_);
+      }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
       return size;
@@ -13852,6 +14912,10 @@ public boolean equals(final java.lang.Object obj) {
               .equals(other.getInputUri())) return false;
           break;
         case 19:
+          if (!getDeprecatedInputData()
+              .equals(other.getDeprecatedInputData())) return false;
+          break;
+        case 23:
           if (!getInputData()
               .equals(other.getInputData())) return false;
           break;
@@ -13869,6 +14933,10 @@ public boolean equals(final java.lang.Object obj) {
               .equals(other.getError())) return false;
           break;
         case 17:
+          if (!getDeprecatedOutputData()
+              .equals(other.getDeprecatedOutputData())) return false;
+          break;
+        case 22:
           if (!getOutputData()
               .equals(other.getOutputData())) return false;
           break;
@@ -13938,6 +15006,10 @@ public int hashCode() {
           hash = (53 * hash) + getInputUri().hashCode();
           break;
         case 19:
+          hash = (37 * hash) + DEPRECATED_INPUT_DATA_FIELD_NUMBER;
+          hash = (53 * hash) + getDeprecatedInputData().hashCode();
+          break;
+        case 23:
           hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER;
           hash = (53 * hash) + getInputData().hashCode();
           break;
@@ -13954,6 +15026,10 @@ public int hashCode() {
           hash = (53 * hash) + getError().hashCode();
           break;
         case 17:
+          hash = (37 * hash) + DEPRECATED_OUTPUT_DATA_FIELD_NUMBER;
+          hash = (53 * hash) + getDeprecatedOutputData().hashCode();
+          break;
+        case 22:
           hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER;
           hash = (53 * hash) + getOutputData().hashCode();
           break;
@@ -14141,7 +15217,7 @@ public Builder clear() {
 
         if (reasonsBuilder_ == null) {
           reasons_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00008000);
+          bitField0_ = (bitField0_ & ~0x00020000);
         } else {
           reasonsBuilder_.clear();
         }
@@ -14224,6 +15300,13 @@ public flyteidl.event.Event.TaskExecutionEvent buildPartial() {
           result.inputValue_ = inputValue_;
         }
         if (inputValueCase_ == 19) {
+          if (deprecatedInputDataBuilder_ == null) {
+            result.inputValue_ = inputValue_;
+          } else {
+            result.inputValue_ = deprecatedInputDataBuilder_.build();
+          }
+        }
+        if (inputValueCase_ == 23) {
           if (inputDataBuilder_ == null) {
             result.inputValue_ = inputValue_;
           } else {
@@ -14241,6 +15324,13 @@ public flyteidl.event.Event.TaskExecutionEvent buildPartial() {
           }
         }
         if (outputResultCase_ == 17) {
+          if (deprecatedOutputDataBuilder_ == null) {
+            result.outputResult_ = outputResult_;
+          } else {
+            result.outputResult_ = deprecatedOutputDataBuilder_.build();
+          }
+        }
+        if (outputResultCase_ == 22) {
           if (outputDataBuilder_ == null) {
             result.outputResult_ = outputResult_;
           } else {
@@ -14255,9 +15345,9 @@ public flyteidl.event.Event.TaskExecutionEvent buildPartial() {
         result.phaseVersion_ = phaseVersion_;
         result.reason_ = reason_;
         if (reasonsBuilder_ == null) {
-          if (((bitField0_ & 0x00008000) != 0)) {
+          if (((bitField0_ & 0x00020000) != 0)) {
             reasons_ = java.util.Collections.unmodifiableList(reasons_);
-            bitField0_ = (bitField0_ & ~0x00008000);
+            bitField0_ = (bitField0_ & ~0x00020000);
           }
           result.reasons_ = reasons_;
         } else {
@@ -14385,7 +15475,7 @@ public Builder mergeFrom(flyteidl.event.Event.TaskExecutionEvent other) {
           if (!other.reasons_.isEmpty()) {
             if (reasons_.isEmpty()) {
               reasons_ = other.reasons_;
-              bitField0_ = (bitField0_ & ~0x00008000);
+              bitField0_ = (bitField0_ & ~0x00020000);
             } else {
               ensureReasonsIsMutable();
               reasons_.addAll(other.reasons_);
@@ -14398,7 +15488,7 @@ public Builder mergeFrom(flyteidl.event.Event.TaskExecutionEvent other) {
               reasonsBuilder_.dispose();
               reasonsBuilder_ = null;
               reasons_ = other.reasons_;
-              bitField0_ = (bitField0_ & ~0x00008000);
+              bitField0_ = (bitField0_ & ~0x00020000);
               reasonsBuilder_ = 
                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getReasonsFieldBuilder() : null;
@@ -14427,6 +15517,10 @@ public Builder mergeFrom(flyteidl.event.Event.TaskExecutionEvent other) {
             onChanged();
             break;
           }
+          case DEPRECATED_INPUT_DATA: {
+            mergeDeprecatedInputData(other.getDeprecatedInputData());
+            break;
+          }
           case INPUT_DATA: {
             mergeInputData(other.getInputData());
             break;
@@ -14446,6 +15540,10 @@ public Builder mergeFrom(flyteidl.event.Event.TaskExecutionEvent other) {
             mergeError(other.getError());
             break;
           }
+          case DEPRECATED_OUTPUT_DATA: {
+            mergeDeprecatedOutputData(other.getDeprecatedOutputData());
+            break;
+          }
           case OUTPUT_DATA: {
             mergeOutputData(other.getOutputData());
             break;
@@ -15610,84 +16708,89 @@ public Builder setInputUriBytes(
       }
 
       private com.google.protobuf.SingleFieldBuilderV3<
-          flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> inputDataBuilder_;
+          flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedInputDataBuilder_;
       /**
        * 
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public boolean hasInputData() { + @java.lang.Deprecated public boolean hasDeprecatedInputData() { return inputValueCase_ == 19; } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputData() { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputData() { + if (deprecatedInputDataBuilder_ == null) { if (inputValueCase_ == 19) { return (flyteidl.core.Literals.LiteralMap) inputValue_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } else { if (inputValueCase_ == 19) { - return inputDataBuilder_.getMessage(); + return deprecatedInputDataBuilder_.getMessage(); } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public Builder setInputData(flyteidl.core.Literals.LiteralMap value) { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public Builder setDeprecatedInputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputDataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } inputValue_ = value; onChanged(); } else { - inputDataBuilder_.setMessage(value); + deprecatedInputDataBuilder_.setMessage(value); } inputValueCase_ = 19; return this; } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public Builder setInputData( + @java.lang.Deprecated public Builder setDeprecatedInputData( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { - if (inputDataBuilder_ == null) { + if (deprecatedInputDataBuilder_ == null) { inputValue_ = builderForValue.build(); onChanged(); } else { - inputDataBuilder_.setMessage(builderForValue.build()); + deprecatedInputDataBuilder_.setMessage(builderForValue.build()); } inputValueCase_ = 19; return this; } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public Builder mergeInputData(flyteidl.core.Literals.LiteralMap value) { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public Builder mergeDeprecatedInputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputDataBuilder_ == null) { if (inputValueCase_ == 19 && inputValue_ != flyteidl.core.Literals.LiteralMap.getDefaultInstance()) { inputValue_ = flyteidl.core.Literals.LiteralMap.newBuilder((flyteidl.core.Literals.LiteralMap) inputValue_) @@ -15698,22 +16801,23 @@ public Builder mergeInputData(flyteidl.core.Literals.LiteralMap value) { onChanged(); } else { if (inputValueCase_ == 19) { - inputDataBuilder_.mergeFrom(value); + deprecatedInputDataBuilder_.mergeFrom(value); } - inputDataBuilder_.setMessage(value); + deprecatedInputDataBuilder_.setMessage(value); } inputValueCase_ = 19; return this; } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public Builder clearInputData() { - if (inputDataBuilder_ == null) { + @java.lang.Deprecated public Builder clearDeprecatedInputData() { + if (deprecatedInputDataBuilder_ == null) { if (inputValueCase_ == 19) { inputValueCase_ = 0; inputValue_ = null; @@ -15724,30 +16828,32 @@ public Builder clearInputData() { inputValueCase_ = 0; inputValue_ = null; } - inputDataBuilder_.clear(); + deprecatedInputDataBuilder_.clear(); } return this; } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getInputDataBuilder() { - return getInputDataFieldBuilder().getBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedInputDataBuilder() { + return getDeprecatedInputDataFieldBuilder().getBuilder(); } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { - if ((inputValueCase_ == 19) && (inputDataBuilder_ != null)) { - return inputDataBuilder_.getMessageOrBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputDataOrBuilder() { + if ((inputValueCase_ == 19) && (deprecatedInputDataBuilder_ != null)) { + return deprecatedInputDataBuilder_.getMessageOrBuilder(); } else { if (inputValueCase_ == 19) { return (flyteidl.core.Literals.LiteralMap) inputValue_; @@ -15757,19 +16863,20 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { } /** *
-       * Raw input data consumed by this task execution.
+       * Raw input data consumed by this node execution.
+       * Deprecated: please use input_data instead
        * 
* - * .flyteidl.core.LiteralMap input_data = 19; + * .flyteidl.core.LiteralMap deprecated_input_data = 19 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> - getInputDataFieldBuilder() { - if (inputDataBuilder_ == null) { + getDeprecatedInputDataFieldBuilder() { + if (deprecatedInputDataBuilder_ == null) { if (!(inputValueCase_ == 19)) { inputValue_ = flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } - inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + deprecatedInputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( (flyteidl.core.Literals.LiteralMap) inputValue_, getParentForChildren(), @@ -15778,6 +16885,178 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputDataOrBuilder() { } inputValueCase_ = 19; onChanged();; + return deprecatedInputDataBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public boolean hasInputData() { + return inputValueCase_ == 23; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputDataBuilder_ == null) { + if (inputValueCase_ == 23) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } else { + if (inputValueCase_ == 23) { + return inputDataBuilder_.getMessage(); + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public Builder setInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputValue_ = value; + onChanged(); + } else { + inputDataBuilder_.setMessage(value); + } + inputValueCase_ = 23; + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public Builder setInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputDataBuilder_ == null) { + inputValue_ = builderForValue.build(); + onChanged(); + } else { + inputDataBuilder_.setMessage(builderForValue.build()); + } + inputValueCase_ = 23; + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public Builder mergeInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (inputValueCase_ == 23 && + inputValue_ != flyteidl.core.Literals.InputData.getDefaultInstance()) { + inputValue_ = flyteidl.core.Literals.InputData.newBuilder((flyteidl.core.Literals.InputData) inputValue_) + .mergeFrom(value).buildPartial(); + } else { + inputValue_ = value; + } + onChanged(); + } else { + if (inputValueCase_ == 23) { + inputDataBuilder_.mergeFrom(value); + } + inputDataBuilder_.setMessage(value); + } + inputValueCase_ = 23; + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public Builder clearInputData() { + if (inputDataBuilder_ == null) { + if (inputValueCase_ == 23) { + inputValueCase_ = 0; + inputValue_ = null; + onChanged(); + } + } else { + if (inputValueCase_ == 23) { + inputValueCase_ = 0; + inputValue_ = null; + } + inputDataBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { + return getInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if ((inputValueCase_ == 23) && (inputDataBuilder_ != null)) { + return inputDataBuilder_.getMessageOrBuilder(); + } else { + if (inputValueCase_ == 23) { + return (flyteidl.core.Literals.InputData) inputValue_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + } + /** + *
+       * Raw input data consumed by this node execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 23; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputDataFieldBuilder() { + if (inputDataBuilder_ == null) { + if (!(inputValueCase_ == 23)) { + inputValue_ = flyteidl.core.Literals.InputData.getDefaultInstance(); + } + inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + (flyteidl.core.Literals.InputData) inputValue_, + getParentForChildren(), + isClean()); + inputValue_ = null; + } + inputValueCase_ = 23; + onChanged();; return inputDataBuilder_; } @@ -16059,84 +17338,89 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() { } private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> outputDataBuilder_; + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedOutputDataBuilder_; /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public boolean hasOutputData() { + @java.lang.Deprecated public boolean hasDeprecatedOutputData() { return outputResultCase_ == 17; } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getOutputData() { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedOutputData() { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 17) { return (flyteidl.core.Literals.LiteralMap) outputResult_; } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } else { if (outputResultCase_ == 17) { - return outputDataBuilder_.getMessage(); + return deprecatedOutputDataBuilder_.getMessage(); } return flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public Builder setOutputData(flyteidl.core.Literals.LiteralMap value) { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder setDeprecatedOutputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputDataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } outputResult_ = value; onChanged(); } else { - outputDataBuilder_.setMessage(value); + deprecatedOutputDataBuilder_.setMessage(value); } outputResultCase_ = 17; return this; } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public Builder setOutputData( + @java.lang.Deprecated public Builder setDeprecatedOutputData( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { - if (outputDataBuilder_ == null) { + if (deprecatedOutputDataBuilder_ == null) { outputResult_ = builderForValue.build(); onChanged(); } else { - outputDataBuilder_.setMessage(builderForValue.build()); + deprecatedOutputDataBuilder_.setMessage(builderForValue.build()); } outputResultCase_ = 17; return this; } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public Builder mergeOutputData(flyteidl.core.Literals.LiteralMap value) { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder mergeDeprecatedOutputData(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 17 && outputResult_ != flyteidl.core.Literals.LiteralMap.getDefaultInstance()) { outputResult_ = flyteidl.core.Literals.LiteralMap.newBuilder((flyteidl.core.Literals.LiteralMap) outputResult_) @@ -16147,22 +17431,23 @@ public Builder mergeOutputData(flyteidl.core.Literals.LiteralMap value) { onChanged(); } else { if (outputResultCase_ == 17) { - outputDataBuilder_.mergeFrom(value); + deprecatedOutputDataBuilder_.mergeFrom(value); } - outputDataBuilder_.setMessage(value); + deprecatedOutputDataBuilder_.setMessage(value); } outputResultCase_ = 17; return this; } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public Builder clearOutputData() { - if (outputDataBuilder_ == null) { + @java.lang.Deprecated public Builder clearDeprecatedOutputData() { + if (deprecatedOutputDataBuilder_ == null) { if (outputResultCase_ == 17) { outputResultCase_ = 0; outputResult_ = null; @@ -16173,30 +17458,32 @@ public Builder clearOutputData() { outputResultCase_ = 0; outputResult_ = null; } - outputDataBuilder_.clear(); + deprecatedOutputDataBuilder_.clear(); } return this; } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getOutputDataBuilder() { - return getOutputDataFieldBuilder().getBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedOutputDataBuilder() { + return getDeprecatedOutputDataFieldBuilder().getBuilder(); } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { - if ((outputResultCase_ == 17) && (outputDataBuilder_ != null)) { - return outputDataBuilder_.getMessageOrBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputDataOrBuilder() { + if ((outputResultCase_ == 17) && (deprecatedOutputDataBuilder_ != null)) { + return deprecatedOutputDataBuilder_.getMessageOrBuilder(); } else { if (outputResultCase_ == 17) { return (flyteidl.core.Literals.LiteralMap) outputResult_; @@ -16206,19 +17493,20 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { } /** *
-       * Raw output data produced by this task execution.
+       * Raw output data produced by this workflow execution.
+       * Deprecated: please use output_data instead
        * 
* - * .flyteidl.core.LiteralMap output_data = 17; + * .flyteidl.core.LiteralMap deprecated_output_data = 17 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> - getOutputDataFieldBuilder() { - if (outputDataBuilder_ == null) { + getDeprecatedOutputDataFieldBuilder() { + if (deprecatedOutputDataBuilder_ == null) { if (!(outputResultCase_ == 17)) { outputResult_ = flyteidl.core.Literals.LiteralMap.getDefaultInstance(); } - outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + deprecatedOutputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( (flyteidl.core.Literals.LiteralMap) outputResult_, getParentForChildren(), @@ -16227,6 +17515,178 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder() { } outputResultCase_ = 17; onChanged();; + return deprecatedOutputDataBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputDataBuilder_; + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public boolean hasOutputData() { + return outputResultCase_ == 22; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 22) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } else { + if (outputResultCase_ == 22) { + return outputDataBuilder_.getMessage(); + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public Builder setOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputResult_ = value; + onChanged(); + } else { + outputDataBuilder_.setMessage(value); + } + outputResultCase_ = 22; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public Builder setOutputData( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (outputDataBuilder_ == null) { + outputResult_ = builderForValue.build(); + onChanged(); + } else { + outputDataBuilder_.setMessage(builderForValue.build()); + } + outputResultCase_ = 22; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public Builder mergeOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 22 && + outputResult_ != flyteidl.core.Literals.OutputData.getDefaultInstance()) { + outputResult_ = flyteidl.core.Literals.OutputData.newBuilder((flyteidl.core.Literals.OutputData) outputResult_) + .mergeFrom(value).buildPartial(); + } else { + outputResult_ = value; + } + onChanged(); + } else { + if (outputResultCase_ == 22) { + outputDataBuilder_.mergeFrom(value); + } + outputDataBuilder_.setMessage(value); + } + outputResultCase_ = 22; + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public Builder clearOutputData() { + if (outputDataBuilder_ == null) { + if (outputResultCase_ == 22) { + outputResultCase_ = 0; + outputResult_ = null; + onChanged(); + } + } else { + if (outputResultCase_ == 22) { + outputResultCase_ = 0; + outputResult_ = null; + } + outputDataBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public flyteidl.core.Literals.OutputData.Builder getOutputDataBuilder() { + return getOutputDataFieldBuilder().getBuilder(); + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if ((outputResultCase_ == 22) && (outputDataBuilder_ != null)) { + return outputDataBuilder_.getMessageOrBuilder(); + } else { + if (outputResultCase_ == 22) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this workflow execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 22; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getOutputDataFieldBuilder() { + if (outputDataBuilder_ == null) { + if (!(outputResultCase_ == 22)) { + outputResult_ = flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + (flyteidl.core.Literals.OutputData) outputResult_, + getParentForChildren(), + isClean()); + outputResult_ = null; + } + outputResultCase_ = 22; + onChanged();; return outputDataBuilder_; } @@ -16524,9 +17984,9 @@ public Builder clearPhaseVersion() { private java.util.List reasons_ = java.util.Collections.emptyList(); private void ensureReasonsIsMutable() { - if (!((bitField0_ & 0x00008000) != 0)) { + if (!((bitField0_ & 0x00020000) != 0)) { reasons_ = new java.util.ArrayList(reasons_); - bitField0_ |= 0x00008000; + bitField0_ |= 0x00020000; } } @@ -16720,7 +18180,7 @@ public Builder addAllReasons( public Builder clearReasons() { if (reasonsBuilder_ == null) { reasons_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00008000); + bitField0_ = (bitField0_ & ~0x00020000); onChanged(); } else { reasonsBuilder_.clear(); @@ -16825,7 +18285,7 @@ public flyteidl.event.Event.EventReason.Builder addReasonsBuilder( reasonsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< flyteidl.event.Event.EventReason, flyteidl.event.Event.EventReason.Builder, flyteidl.event.Event.EventReasonOrBuilder>( reasons_, - ((bitField0_ & 0x00008000) != 0), + ((bitField0_ & 0x00020000) != 0), getParentForChildren(), isClean()); reasons_ = null; @@ -21693,96 +23153,104 @@ public flyteidl.event.Event.TaskExecutionMetadata getDefaultInstanceForType() { "execution.proto\032\036flyteidl/core/identifie" + "r.proto\032\033flyteidl/core/catalog.proto\032\037go" + "ogle/protobuf/timestamp.proto\032\034google/pr" + - "otobuf/struct.proto\"\340\002\n\026WorkflowExecutio" + + "otobuf/struct.proto\"\241\003\n\026WorkflowExecutio" + "nEvent\022@\n\014execution_id\030\001 \001(\0132*.flyteidl." + "core.WorkflowExecutionIdentifier\022\023\n\013prod" + "ucer_id\030\002 \001(\t\0225\n\005phase\030\003 \001(\0162&.flyteidl." + "core.WorkflowExecution.Phase\022/\n\013occurred" + "_at\030\004 \001(\0132\032.google.protobuf.Timestamp\022\024\n" + "\noutput_uri\030\005 \001(\tH\000\022.\n\005error\030\006 \001(\0132\035.fly" + - "teidl.core.ExecutionErrorH\000\0220\n\013output_da" + - "ta\030\007 \001(\0132\031.flyteidl.core.LiteralMapH\000B\017\n" + - "\routput_result\"\241\007\n\022NodeExecutionEvent\0222\n" + - "\002id\030\001 \001(\0132&.flyteidl.core.NodeExecutionI" + - "dentifier\022\023\n\013producer_id\030\002 \001(\t\0221\n\005phase\030" + - "\003 \001(\0162\".flyteidl.core.NodeExecution.Phas" + - "e\022/\n\013occurred_at\030\004 \001(\0132\032.google.protobuf" + - ".Timestamp\022\023\n\tinput_uri\030\005 \001(\tH\000\022/\n\ninput" + - "_data\030\024 \001(\0132\031.flyteidl.core.LiteralMapH\000" + - "\022\024\n\noutput_uri\030\006 \001(\tH\001\022.\n\005error\030\007 \001(\0132\035." + - "flyteidl.core.ExecutionErrorH\001\0220\n\013output" + - "_data\030\017 \001(\0132\031.flyteidl.core.LiteralMapH\001" + - "\022F\n\026workflow_node_metadata\030\010 \001(\0132$.flyte" + - "idl.event.WorkflowNodeMetadataH\002\022>\n\022task" + - "_node_metadata\030\016 \001(\0132 .flyteidl.event.Ta" + - "skNodeMetadataH\002\022I\n\024parent_task_metadata" + - "\030\t \001(\0132+.flyteidl.event.ParentTaskExecut" + - "ionMetadata\022I\n\024parent_node_metadata\030\n \001(" + - "\0132+.flyteidl.event.ParentNodeExecutionMe" + - "tadata\022\023\n\013retry_group\030\013 \001(\t\022\024\n\014spec_node" + - "_id\030\014 \001(\t\022\021\n\tnode_name\030\r \001(\t\022\025\n\revent_ve" + - "rsion\030\020 \001(\005\022\021\n\tis_parent\030\021 \001(\010\022\022\n\nis_dyn" + - "amic\030\022 \001(\010\022\020\n\010deck_uri\030\023 \001(\t\022/\n\013reported" + - "_at\030\025 \001(\0132\032.google.protobuf.Timestamp\022\020\n" + - "\010is_array\030\026 \001(\010B\r\n\013input_valueB\017\n\routput" + - "_resultB\021\n\017target_metadata\"X\n\024WorkflowNo" + - "deMetadata\022@\n\014execution_id\030\001 \001(\0132*.flyte" + - "idl.core.WorkflowExecutionIdentifier\"\245\002\n" + - "\020TaskNodeMetadata\0227\n\014cache_status\030\001 \001(\0162" + - "!.flyteidl.core.CatalogCacheStatus\0223\n\013ca" + - "talog_key\030\002 \001(\0132\036.flyteidl.core.CatalogM" + - "etadata\022D\n\022reservation_status\030\003 \001(\0162(.fl" + - "yteidl.core.CatalogReservation.Status\022\026\n" + - "\016checkpoint_uri\030\004 \001(\t\022E\n\020dynamic_workflo" + - "w\030\020 \001(\0132+.flyteidl.event.DynamicWorkflow" + - "NodeMetadata\"\245\001\n\033DynamicWorkflowNodeMeta" + - "data\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Identif" + - "ier\022A\n\021compiled_workflow\030\002 \001(\0132&.flyteid" + - "l.core.CompiledWorkflowClosure\022\034\n\024dynami" + - "c_job_spec_uri\030\003 \001(\t\"Q\n\033ParentTaskExecut" + - "ionMetadata\0222\n\002id\030\001 \001(\0132&.flyteidl.core." + - "TaskExecutionIdentifier\".\n\033ParentNodeExe" + - "cutionMetadata\022\017\n\007node_id\030\001 \001(\t\"N\n\013Event" + - "Reason\022\016\n\006reason\030\001 \001(\t\022/\n\013occurred_at\030\002 " + - "\001(\0132\032.google.protobuf.Timestamp\"\271\006\n\022Task" + - "ExecutionEvent\022*\n\007task_id\030\001 \001(\0132\031.flytei" + - "dl.core.Identifier\022H\n\030parent_node_execut" + - "ion_id\030\002 \001(\0132&.flyteidl.core.NodeExecuti" + - "onIdentifier\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005p" + - "hase\030\004 \001(\0162\".flyteidl.core.TaskExecution" + - ".Phase\022\023\n\013producer_id\030\005 \001(\t\022$\n\004logs\030\006 \003(" + - "\0132\026.flyteidl.core.TaskLog\022/\n\013occurred_at" + - "\030\007 \001(\0132\032.google.protobuf.Timestamp\022\023\n\tin" + - "put_uri\030\010 \001(\tH\000\022/\n\ninput_data\030\023 \001(\0132\031.fl" + - "yteidl.core.LiteralMapH\000\022\024\n\noutput_uri\030\t" + - " \001(\tH\001\022.\n\005error\030\n \001(\0132\035.flyteidl.core.Ex" + - "ecutionErrorH\001\0220\n\013output_data\030\021 \001(\0132\031.fl" + - "yteidl.core.LiteralMapH\001\022,\n\013custom_info\030" + - "\013 \001(\0132\027.google.protobuf.Struct\022\025\n\rphase_" + - "version\030\014 \001(\r\022\022\n\006reason\030\r \001(\tB\002\030\001\022,\n\007rea" + - "sons\030\025 \003(\0132\033.flyteidl.event.EventReason\022" + - "\021\n\ttask_type\030\016 \001(\t\0227\n\010metadata\030\020 \001(\0132%.f" + - "lyteidl.event.TaskExecutionMetadata\022\025\n\re" + - "vent_version\030\022 \001(\005\022/\n\013reported_at\030\024 \001(\0132" + - "\032.google.protobuf.TimestampB\r\n\013input_val" + - "ueB\017\n\routput_result\"\343\001\n\024ExternalResource" + - "Info\022\023\n\013external_id\030\001 \001(\t\022\r\n\005index\030\002 \001(\r" + - "\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162\"" + - ".flyteidl.core.TaskExecution.Phase\0227\n\014ca" + - "che_status\030\005 \001(\0162!.flyteidl.core.Catalog" + - "CacheStatus\022$\n\004logs\030\006 \003(\0132\026.flyteidl.cor" + - "e.TaskLog\"?\n\020ResourcePoolInfo\022\030\n\020allocat" + - "ion_token\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025T" + - "askExecutionMetadata\022\026\n\016generated_name\030\001" + - " \001(\t\022@\n\022external_resources\030\002 \003(\0132$.flyte" + - "idl.event.ExternalResourceInfo\022<\n\022resour" + - "ce_pool_info\030\003 \003(\0132 .flyteidl.event.Reso" + - "urcePoolInfo\022\031\n\021plugin_identifier\030\004 \001(\t\022" + - "K\n\016instance_class\030\020 \001(\01623.flyteidl.event" + - ".TaskExecutionMetadata.InstanceClass\"/\n\r" + - "InstanceClass\022\013\n\007DEFAULT\020\000\022\021\n\rINTERRUPTI" + - "BLE\020\001B=Z;github.com/flyteorg/flyte/flyte" + - "idl/gen/pb-go/flyteidl/eventb\006proto3" + "teidl.core.ExecutionErrorH\000\022?\n\026deprecate" + + "d_output_data\030\007 \001(\0132\031.flyteidl.core.Lite" + + "ralMapB\002\030\001H\000\0220\n\013output_data\030\010 \001(\0132\031.flyt" + + "eidl.core.OutputDataH\000B\017\n\routput_result\"" + + "\241\010\n\022NodeExecutionEvent\0222\n\002id\030\001 \001(\0132&.fly" + + "teidl.core.NodeExecutionIdentifier\022\023\n\013pr" + + "oducer_id\030\002 \001(\t\0221\n\005phase\030\003 \001(\0162\".flyteid" + + "l.core.NodeExecution.Phase\022/\n\013occurred_a" + + "t\030\004 \001(\0132\032.google.protobuf.Timestamp\022\023\n\ti" + + "nput_uri\030\005 \001(\tH\000\022>\n\025deprecated_input_dat" + + "a\030\024 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000" + + "\022.\n\ninput_data\030\030 \001(\0132\030.flyteidl.core.Inp" + + "utDataH\000\022\024\n\noutput_uri\030\006 \001(\tH\001\022.\n\005error\030" + + "\007 \001(\0132\035.flyteidl.core.ExecutionErrorH\001\022?" + + "\n\026deprecated_output_data\030\017 \001(\0132\031.flyteid" + + "l.core.LiteralMapB\002\030\001H\001\0220\n\013output_data\030\027" + + " \001(\0132\031.flyteidl.core.OutputDataH\001\022F\n\026wor" + + "kflow_node_metadata\030\010 \001(\0132$.flyteidl.eve" + + "nt.WorkflowNodeMetadataH\002\022>\n\022task_node_m" + + "etadata\030\016 \001(\0132 .flyteidl.event.TaskNodeM" + + "etadataH\002\022I\n\024parent_task_metadata\030\t \001(\0132" + + "+.flyteidl.event.ParentTaskExecutionMeta" + + "data\022I\n\024parent_node_metadata\030\n \001(\0132+.fly" + + "teidl.event.ParentNodeExecutionMetadata\022" + + "\023\n\013retry_group\030\013 \001(\t\022\024\n\014spec_node_id\030\014 \001" + + "(\t\022\021\n\tnode_name\030\r \001(\t\022\025\n\revent_version\030\020" + + " \001(\005\022\021\n\tis_parent\030\021 \001(\010\022\022\n\nis_dynamic\030\022 " + + "\001(\010\022\020\n\010deck_uri\030\023 \001(\t\022/\n\013reported_at\030\025 \001" + + "(\0132\032.google.protobuf.Timestamp\022\020\n\010is_arr" + + "ay\030\026 \001(\010B\r\n\013input_valueB\017\n\routput_result" + + "B\021\n\017target_metadata\"X\n\024WorkflowNodeMetad" + + "ata\022@\n\014execution_id\030\001 \001(\0132*.flyteidl.cor" + + "e.WorkflowExecutionIdentifier\"\245\002\n\020TaskNo" + + "deMetadata\0227\n\014cache_status\030\001 \001(\0162!.flyte" + + "idl.core.CatalogCacheStatus\0223\n\013catalog_k" + + "ey\030\002 \001(\0132\036.flyteidl.core.CatalogMetadata" + + "\022D\n\022reservation_status\030\003 \001(\0162(.flyteidl." + + "core.CatalogReservation.Status\022\026\n\016checkp" + + "oint_uri\030\004 \001(\t\022E\n\020dynamic_workflow\030\020 \001(\013" + + "2+.flyteidl.event.DynamicWorkflowNodeMet" + + "adata\"\245\001\n\033DynamicWorkflowNodeMetadata\022%\n" + + "\002id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A\n\021" + + "compiled_workflow\030\002 \001(\0132&.flyteidl.core." + + "CompiledWorkflowClosure\022\034\n\024dynamic_job_s" + + "pec_uri\030\003 \001(\t\"Q\n\033ParentTaskExecutionMeta" + + "data\0222\n\002id\030\001 \001(\0132&.flyteidl.core.TaskExe" + + "cutionIdentifier\".\n\033ParentNodeExecutionM" + + "etadata\022\017\n\007node_id\030\001 \001(\t\"N\n\013EventReason\022" + + "\016\n\006reason\030\001 \001(\t\022/\n\013occurred_at\030\002 \001(\0132\032.g" + + "oogle.protobuf.Timestamp\"\271\007\n\022TaskExecuti" + + "onEvent\022*\n\007task_id\030\001 \001(\0132\031.flyteidl.core" + + ".Identifier\022H\n\030parent_node_execution_id\030" + + "\002 \001(\0132&.flyteidl.core.NodeExecutionIdent" + + "ifier\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 " + + "\001(\0162\".flyteidl.core.TaskExecution.Phase\022" + + "\023\n\013producer_id\030\005 \001(\t\022$\n\004logs\030\006 \003(\0132\026.fly" + + "teidl.core.TaskLog\022/\n\013occurred_at\030\007 \001(\0132" + + "\032.google.protobuf.Timestamp\022\023\n\tinput_uri" + + "\030\010 \001(\tH\000\022>\n\025deprecated_input_data\030\023 \001(\0132" + + "\031.flyteidl.core.LiteralMapB\002\030\001H\000\022.\n\ninpu" + + "t_data\030\027 \001(\0132\030.flyteidl.core.InputDataH\000" + + "\022\024\n\noutput_uri\030\t \001(\tH\001\022.\n\005error\030\n \001(\0132\035." + + "flyteidl.core.ExecutionErrorH\001\022?\n\026deprec" + + "ated_output_data\030\021 \001(\0132\031.flyteidl.core.L" + + "iteralMapB\002\030\001H\001\0220\n\013output_data\030\026 \001(\0132\031.f" + + "lyteidl.core.OutputDataH\001\022,\n\013custom_info" + + "\030\013 \001(\0132\027.google.protobuf.Struct\022\025\n\rphase" + + "_version\030\014 \001(\r\022\022\n\006reason\030\r \001(\tB\002\030\001\022,\n\007re" + + "asons\030\025 \003(\0132\033.flyteidl.event.EventReason" + + "\022\021\n\ttask_type\030\016 \001(\t\0227\n\010metadata\030\020 \001(\0132%." + + "flyteidl.event.TaskExecutionMetadata\022\025\n\r" + + "event_version\030\022 \001(\005\022/\n\013reported_at\030\024 \001(\013" + + "2\032.google.protobuf.TimestampB\r\n\013input_va" + + "lueB\017\n\routput_result\"\343\001\n\024ExternalResourc" + + "eInfo\022\023\n\013external_id\030\001 \001(\t\022\r\n\005index\030\002 \001(" + + "\r\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162" + + "\".flyteidl.core.TaskExecution.Phase\0227\n\014c" + + "ache_status\030\005 \001(\0162!.flyteidl.core.Catalo" + + "gCacheStatus\022$\n\004logs\030\006 \003(\0132\026.flyteidl.co" + + "re.TaskLog\"?\n\020ResourcePoolInfo\022\030\n\020alloca" + + "tion_token\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025" + + "TaskExecutionMetadata\022\026\n\016generated_name\030" + + "\001 \001(\t\022@\n\022external_resources\030\002 \003(\0132$.flyt" + + "eidl.event.ExternalResourceInfo\022<\n\022resou" + + "rce_pool_info\030\003 \003(\0132 .flyteidl.event.Res" + + "ourcePoolInfo\022\031\n\021plugin_identifier\030\004 \001(\t" + + "\022K\n\016instance_class\030\020 \001(\01623.flyteidl.even" + + "t.TaskExecutionMetadata.InstanceClass\"/\n" + + "\rInstanceClass\022\013\n\007DEFAULT\020\000\022\021\n\rINTERRUPT" + + "IBLE\020\001B=Z;github.com/flyteorg/flyte/flyt" + + "eidl/gen/pb-go/flyteidl/eventb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -21808,13 +23276,13 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_event_WorkflowExecutionEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_event_WorkflowExecutionEvent_descriptor, - new java.lang.String[] { "ExecutionId", "ProducerId", "Phase", "OccurredAt", "OutputUri", "Error", "OutputData", "OutputResult", }); + new java.lang.String[] { "ExecutionId", "ProducerId", "Phase", "OccurredAt", "OutputUri", "Error", "DeprecatedOutputData", "OutputData", "OutputResult", }); internal_static_flyteidl_event_NodeExecutionEvent_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_event_NodeExecutionEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_event_NodeExecutionEvent_descriptor, - new java.lang.String[] { "Id", "ProducerId", "Phase", "OccurredAt", "InputUri", "InputData", "OutputUri", "Error", "OutputData", "WorkflowNodeMetadata", "TaskNodeMetadata", "ParentTaskMetadata", "ParentNodeMetadata", "RetryGroup", "SpecNodeId", "NodeName", "EventVersion", "IsParent", "IsDynamic", "DeckUri", "ReportedAt", "IsArray", "InputValue", "OutputResult", "TargetMetadata", }); + new java.lang.String[] { "Id", "ProducerId", "Phase", "OccurredAt", "InputUri", "DeprecatedInputData", "InputData", "OutputUri", "Error", "DeprecatedOutputData", "OutputData", "WorkflowNodeMetadata", "TaskNodeMetadata", "ParentTaskMetadata", "ParentNodeMetadata", "RetryGroup", "SpecNodeId", "NodeName", "EventVersion", "IsParent", "IsDynamic", "DeckUri", "ReportedAt", "IsArray", "InputValue", "OutputResult", "TargetMetadata", }); internal_static_flyteidl_event_WorkflowNodeMetadata_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_flyteidl_event_WorkflowNodeMetadata_fieldAccessorTable = new @@ -21856,7 +23324,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_event_TaskExecutionEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_event_TaskExecutionEvent_descriptor, - new java.lang.String[] { "TaskId", "ParentNodeExecutionId", "RetryAttempt", "Phase", "ProducerId", "Logs", "OccurredAt", "InputUri", "InputData", "OutputUri", "Error", "OutputData", "CustomInfo", "PhaseVersion", "Reason", "Reasons", "TaskType", "Metadata", "EventVersion", "ReportedAt", "InputValue", "OutputResult", }); + new java.lang.String[] { "TaskId", "ParentNodeExecutionId", "RetryAttempt", "Phase", "ProducerId", "Logs", "OccurredAt", "InputUri", "DeprecatedInputData", "InputData", "OutputUri", "Error", "DeprecatedOutputData", "OutputData", "CustomInfo", "PhaseVersion", "Reason", "Reasons", "TaskType", "Metadata", "EventVersion", "ReportedAt", "InputValue", "OutputResult", }); internal_static_flyteidl_event_ExternalResourceInfo_descriptor = getDescriptor().getMessageTypes().get(9); internal_static_flyteidl_event_ExternalResourceInfo_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/service/Dataproxy.java b/flyteidl/gen/pb-java/flyteidl/service/Dataproxy.java index df75c41816..4bfd014685 100644 --- a/flyteidl/gen/pb-java/flyteidl/service/Dataproxy.java +++ b/flyteidl/gen/pb-java/flyteidl/service/Dataproxy.java @@ -8447,6 +8447,56 @@ public interface GetDataResponseOrBuilder extends */ flyteidl.core.Literals.LiteralOrBuilder getLiteralOrBuilder(); + /** + *
+     * InputData is returned when the user/url requests the input data for an execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + boolean hasInputData(); + /** + *
+     * InputData is returned when the user/url requests the input data for an execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + flyteidl.core.Literals.InputData getInputData(); + /** + *
+     * InputData is returned when the user/url requests the input data for an execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); + + /** + *
+     * OutputData is returned when the user/url requests the output data for an execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + boolean hasOutputData(); + /** + *
+     * OutputData is returned when the user/url requests the output data for an execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + flyteidl.core.Literals.OutputData getOutputData(); + /** + *
+     * OutputData is returned when the user/url requests the output data for an execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder(); + public flyteidl.service.Dataproxy.GetDataResponse.DataCase getDataCase(); } /** @@ -8530,6 +8580,34 @@ private GetDataResponse( dataCase_ = 3; break; } + case 34: { + flyteidl.core.Literals.InputData.Builder subBuilder = null; + if (dataCase_ == 4) { + subBuilder = ((flyteidl.core.Literals.InputData) data_).toBuilder(); + } + data_ = + input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Literals.InputData) data_); + data_ = subBuilder.buildPartial(); + } + dataCase_ = 4; + break; + } + case 42: { + flyteidl.core.Literals.OutputData.Builder subBuilder = null; + if (dataCase_ == 5) { + subBuilder = ((flyteidl.core.Literals.OutputData) data_).toBuilder(); + } + data_ = + input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((flyteidl.core.Literals.OutputData) data_); + data_ = subBuilder.buildPartial(); + } + dataCase_ = 5; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -8569,6 +8647,8 @@ public enum DataCase LITERAL_MAP(1), PRE_SIGNED_URLS(2), LITERAL(3), + INPUT_DATA(4), + OUTPUT_DATA(5), DATA_NOT_SET(0); private final int value; private DataCase(int value) { @@ -8587,6 +8667,8 @@ public static DataCase forNumber(int value) { case 1: return LITERAL_MAP; case 2: return PRE_SIGNED_URLS; case 3: return LITERAL; + case 4: return INPUT_DATA; + case 5: return OUTPUT_DATA; case 0: return DATA_NOT_SET; default: return null; } @@ -8719,6 +8801,82 @@ public flyteidl.core.Literals.LiteralOrBuilder getLiteralOrBuilder() { return flyteidl.core.Literals.Literal.getDefaultInstance(); } + public static final int INPUT_DATA_FIELD_NUMBER = 4; + /** + *
+     * InputData is returned when the user/url requests the input data for an execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public boolean hasInputData() { + return dataCase_ == 4; + } + /** + *
+     * InputData is returned when the user/url requests the input data for an execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (dataCase_ == 4) { + return (flyteidl.core.Literals.InputData) data_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + /** + *
+     * InputData is returned when the user/url requests the input data for an execution.
+     * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if (dataCase_ == 4) { + return (flyteidl.core.Literals.InputData) data_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + + public static final int OUTPUT_DATA_FIELD_NUMBER = 5; + /** + *
+     * OutputData is returned when the user/url requests the output data for an execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public boolean hasOutputData() { + return dataCase_ == 5; + } + /** + *
+     * OutputData is returned when the user/url requests the output data for an execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (dataCase_ == 5) { + return (flyteidl.core.Literals.OutputData) data_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + /** + *
+     * OutputData is returned when the user/url requests the output data for an execution.
+     * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if (dataCase_ == 5) { + return (flyteidl.core.Literals.OutputData) data_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -8742,6 +8900,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (dataCase_ == 3) { output.writeMessage(3, (flyteidl.core.Literals.Literal) data_); } + if (dataCase_ == 4) { + output.writeMessage(4, (flyteidl.core.Literals.InputData) data_); + } + if (dataCase_ == 5) { + output.writeMessage(5, (flyteidl.core.Literals.OutputData) data_); + } unknownFields.writeTo(output); } @@ -8763,6 +8927,14 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, (flyteidl.core.Literals.Literal) data_); } + if (dataCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, (flyteidl.core.Literals.InputData) data_); + } + if (dataCase_ == 5) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, (flyteidl.core.Literals.OutputData) data_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -8792,6 +8964,14 @@ public boolean equals(final java.lang.Object obj) { if (!getLiteral() .equals(other.getLiteral())) return false; break; + case 4: + if (!getInputData() + .equals(other.getInputData())) return false; + break; + case 5: + if (!getOutputData() + .equals(other.getOutputData())) return false; + break; case 0: default: } @@ -8819,6 +8999,14 @@ public int hashCode() { hash = (37 * hash) + LITERAL_FIELD_NUMBER; hash = (53 * hash) + getLiteral().hashCode(); break; + case 4: + hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getInputData().hashCode(); + break; + case 5: + hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; + hash = (53 * hash) + getOutputData().hashCode(); + break; case 0: default: } @@ -9004,6 +9192,20 @@ public flyteidl.service.Dataproxy.GetDataResponse buildPartial() { result.data_ = literalBuilder_.build(); } } + if (dataCase_ == 4) { + if (inputDataBuilder_ == null) { + result.data_ = data_; + } else { + result.data_ = inputDataBuilder_.build(); + } + } + if (dataCase_ == 5) { + if (outputDataBuilder_ == null) { + result.data_ = data_; + } else { + result.data_ = outputDataBuilder_.build(); + } + } result.dataCase_ = dataCase_; onBuilt(); return result; @@ -9066,6 +9268,14 @@ public Builder mergeFrom(flyteidl.service.Dataproxy.GetDataResponse other) { mergeLiteral(other.getLiteral()); break; } + case INPUT_DATA: { + mergeInputData(other.getInputData()); + break; + } + case OUTPUT_DATA: { + mergeOutputData(other.getOutputData()); + break; + } case DATA_NOT_SET: { break; } @@ -9638,6 +9848,350 @@ public flyteidl.core.Literals.LiteralOrBuilder getLiteralOrBuilder() { onChanged();; return literalBuilder_; } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public boolean hasInputData() { + return dataCase_ == 4; + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public flyteidl.core.Literals.InputData getInputData() { + if (inputDataBuilder_ == null) { + if (dataCase_ == 4) { + return (flyteidl.core.Literals.InputData) data_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } else { + if (dataCase_ == 4) { + return inputDataBuilder_.getMessage(); + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public Builder setInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + data_ = value; + onChanged(); + } else { + inputDataBuilder_.setMessage(value); + } + dataCase_ = 4; + return this; + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public Builder setInputData( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputDataBuilder_ == null) { + data_ = builderForValue.build(); + onChanged(); + } else { + inputDataBuilder_.setMessage(builderForValue.build()); + } + dataCase_ = 4; + return this; + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public Builder mergeInputData(flyteidl.core.Literals.InputData value) { + if (inputDataBuilder_ == null) { + if (dataCase_ == 4 && + data_ != flyteidl.core.Literals.InputData.getDefaultInstance()) { + data_ = flyteidl.core.Literals.InputData.newBuilder((flyteidl.core.Literals.InputData) data_) + .mergeFrom(value).buildPartial(); + } else { + data_ = value; + } + onChanged(); + } else { + if (dataCase_ == 4) { + inputDataBuilder_.mergeFrom(value); + } + inputDataBuilder_.setMessage(value); + } + dataCase_ = 4; + return this; + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public Builder clearInputData() { + if (inputDataBuilder_ == null) { + if (dataCase_ == 4) { + dataCase_ = 0; + data_ = null; + onChanged(); + } + } else { + if (dataCase_ == 4) { + dataCase_ = 0; + data_ = null; + } + inputDataBuilder_.clear(); + } + return this; + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { + return getInputDataFieldBuilder().getBuilder(); + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { + if ((dataCase_ == 4) && (inputDataBuilder_ != null)) { + return inputDataBuilder_.getMessageOrBuilder(); + } else { + if (dataCase_ == 4) { + return (flyteidl.core.Literals.InputData) data_; + } + return flyteidl.core.Literals.InputData.getDefaultInstance(); + } + } + /** + *
+       * InputData is returned when the user/url requests the input data for an execution.
+       * 
+ * + * .flyteidl.core.InputData input_data = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputDataFieldBuilder() { + if (inputDataBuilder_ == null) { + if (!(dataCase_ == 4)) { + data_ = flyteidl.core.Literals.InputData.getDefaultInstance(); + } + inputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + (flyteidl.core.Literals.InputData) data_, + getParentForChildren(), + isClean()); + data_ = null; + } + dataCase_ = 4; + onChanged();; + return inputDataBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputDataBuilder_; + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public boolean hasOutputData() { + return dataCase_ == 5; + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public flyteidl.core.Literals.OutputData getOutputData() { + if (outputDataBuilder_ == null) { + if (dataCase_ == 5) { + return (flyteidl.core.Literals.OutputData) data_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } else { + if (dataCase_ == 5) { + return outputDataBuilder_.getMessage(); + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public Builder setOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + data_ = value; + onChanged(); + } else { + outputDataBuilder_.setMessage(value); + } + dataCase_ = 5; + return this; + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public Builder setOutputData( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (outputDataBuilder_ == null) { + data_ = builderForValue.build(); + onChanged(); + } else { + outputDataBuilder_.setMessage(builderForValue.build()); + } + dataCase_ = 5; + return this; + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public Builder mergeOutputData(flyteidl.core.Literals.OutputData value) { + if (outputDataBuilder_ == null) { + if (dataCase_ == 5 && + data_ != flyteidl.core.Literals.OutputData.getDefaultInstance()) { + data_ = flyteidl.core.Literals.OutputData.newBuilder((flyteidl.core.Literals.OutputData) data_) + .mergeFrom(value).buildPartial(); + } else { + data_ = value; + } + onChanged(); + } else { + if (dataCase_ == 5) { + outputDataBuilder_.mergeFrom(value); + } + outputDataBuilder_.setMessage(value); + } + dataCase_ = 5; + return this; + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public Builder clearOutputData() { + if (outputDataBuilder_ == null) { + if (dataCase_ == 5) { + dataCase_ = 0; + data_ = null; + onChanged(); + } + } else { + if (dataCase_ == 5) { + dataCase_ = 0; + data_ = null; + } + outputDataBuilder_.clear(); + } + return this; + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public flyteidl.core.Literals.OutputData.Builder getOutputDataBuilder() { + return getOutputDataFieldBuilder().getBuilder(); + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() { + if ((dataCase_ == 5) && (outputDataBuilder_ != null)) { + return outputDataBuilder_.getMessageOrBuilder(); + } else { + if (dataCase_ == 5) { + return (flyteidl.core.Literals.OutputData) data_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * OutputData is returned when the user/url requests the output data for an execution.
+       * 
+ * + * .flyteidl.core.OutputData output_data = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getOutputDataFieldBuilder() { + if (outputDataBuilder_ == null) { + if (!(dataCase_ == 5)) { + data_ = flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + outputDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + (flyteidl.core.Literals.OutputData) data_, + getParentForChildren(), + isClean()); + data_ = null; + } + dataCase_ = 5; + onChanged();; + return outputDataBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -9775,30 +10329,33 @@ public flyteidl.service.Dataproxy.GetDataResponse getDefaultInstanceForType() { "ignedURLs\"S\n\rPreSignedURLs\022\022\n\nsigned_url" + "\030\001 \003(\t\022.\n\nexpires_at\030\002 \001(\0132\032.google.prot" + "obuf.Timestamp\"#\n\016GetDataRequest\022\021\n\tflyt" + - "e_url\030\001 \001(\t\"\262\001\n\017GetDataResponse\0220\n\013liter" + + "e_url\030\001 \001(\t\"\224\002\n\017GetDataResponse\0220\n\013liter" + "al_map\030\001 \001(\0132\031.flyteidl.core.LiteralMapH" + "\000\022:\n\017pre_signed_urls\030\002 \001(\0132\037.flyteidl.se" + "rvice.PreSignedURLsH\000\022)\n\007literal\030\003 \001(\0132\026" + - ".flyteidl.core.LiteralH\000B\006\n\004data*C\n\014Arti" + - "factType\022\033\n\027ARTIFACT_TYPE_UNDEFINED\020\000\022\026\n" + - "\022ARTIFACT_TYPE_DECK\020\0012\342\004\n\020DataProxyServi" + - "ce\022\240\001\n\024CreateUploadLocation\022-.flyteidl.s" + - "ervice.CreateUploadLocationRequest\032..fly" + - "teidl.service.CreateUploadLocationRespon" + - "se\")\202\323\344\223\002#\"\036/api/v1/dataproxy/artifact_u" + - "rn:\001*\022\246\001\n\026CreateDownloadLocation\022/.flyte" + - "idl.service.CreateDownloadLocationReques" + - "t\0320.flyteidl.service.CreateDownloadLocat" + - "ionResponse\")\210\002\001\202\323\344\223\002 \022\036/api/v1/dataprox" + - "y/artifact_urn\022\233\001\n\022CreateDownloadLink\022+." + - "flyteidl.service.CreateDownloadLinkReque" + - "st\032,.flyteidl.service.CreateDownloadLink" + - "Response\"*\202\323\344\223\002$\"\037/api/v1/dataproxy/arti" + - "fact_link:\001*\022d\n\007GetData\022 .flyteidl.servi" + - "ce.GetDataRequest\032!.flyteidl.service.Get" + - "DataResponse\"\024\202\323\344\223\002\016\022\014/api/v1/dataB?Z=gi" + - "thub.com/flyteorg/flyte/flyteidl/gen/pb-" + - "go/flyteidl/serviceb\006proto3" + ".flyteidl.core.LiteralH\000\022.\n\ninput_data\030\004" + + " \001(\0132\030.flyteidl.core.InputDataH\000\0220\n\013outp" + + "ut_data\030\005 \001(\0132\031.flyteidl.core.OutputData" + + "H\000B\006\n\004data*C\n\014ArtifactType\022\033\n\027ARTIFACT_T" + + "YPE_UNDEFINED\020\000\022\026\n\022ARTIFACT_TYPE_DECK\020\0012" + + "\342\004\n\020DataProxyService\022\240\001\n\024CreateUploadLoc" + + "ation\022-.flyteidl.service.CreateUploadLoc" + + "ationRequest\032..flyteidl.service.CreateUp" + + "loadLocationResponse\")\202\323\344\223\002#\"\036/api/v1/da" + + "taproxy/artifact_urn:\001*\022\246\001\n\026CreateDownlo" + + "adLocation\022/.flyteidl.service.CreateDown" + + "loadLocationRequest\0320.flyteidl.service.C" + + "reateDownloadLocationResponse\")\210\002\001\202\323\344\223\002 " + + "\022\036/api/v1/dataproxy/artifact_urn\022\233\001\n\022Cre" + + "ateDownloadLink\022+.flyteidl.service.Creat" + + "eDownloadLinkRequest\032,.flyteidl.service." + + "CreateDownloadLinkResponse\"*\202\323\344\223\002$\"\037/api" + + "/v1/dataproxy/artifact_link:\001*\022d\n\007GetDat" + + "a\022 .flyteidl.service.GetDataRequest\032!.fl" + + "yteidl.service.GetDataResponse\"\024\202\323\344\223\002\016\022\014" + + "/api/v1/dataB?Z=github.com/flyteorg/flyt" + + "e/flyteidl/gen/pb-go/flyteidl/serviceb\006p" + + "roto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -9870,7 +10427,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_service_GetDataResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_service_GetDataResponse_descriptor, - new java.lang.String[] { "LiteralMap", "PreSignedUrls", "Literal", "Data", }); + new java.lang.String[] { "LiteralMap", "PreSignedUrls", "Literal", "InputData", "OutputData", "Data", }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.AnnotationsProto.http); diff --git a/flyteidl/gen/pb-java/flyteidl/service/ExternalPluginServiceOuterClass.java b/flyteidl/gen/pb-java/flyteidl/service/ExternalPluginServiceOuterClass.java index 2336dd1564..6ec0a963b8 100644 --- a/flyteidl/gen/pb-java/flyteidl/service/ExternalPluginServiceOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/service/ExternalPluginServiceOuterClass.java @@ -152,31 +152,34 @@ private State(int value) { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: please use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - boolean hasInputs(); + @java.lang.Deprecated boolean hasDeprecatedInputs(); /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: please use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMap getInputs(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMap getDeprecatedInputs(); /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: please use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder(); + @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputsOrBuilder(); /** *
@@ -220,6 +223,37 @@ private State(int value) {
      */
     com.google.protobuf.ByteString
         getOutputPrefixBytes();
+
+    /**
+     * 
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + boolean hasInputs(); + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + flyteidl.core.Literals.InputData getInputs(); + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + flyteidl.core.Literals.InputDataOrBuilder getInputsOrBuilder(); } /** *
@@ -267,13 +301,13 @@ private TaskCreateRequest(
               break;
             case 10: {
               flyteidl.core.Literals.LiteralMap.Builder subBuilder = null;
-              if (inputs_ != null) {
-                subBuilder = inputs_.toBuilder();
+              if (deprecatedInputs_ != null) {
+                subBuilder = deprecatedInputs_.toBuilder();
               }
-              inputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry);
+              deprecatedInputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry);
               if (subBuilder != null) {
-                subBuilder.mergeFrom(inputs_);
-                inputs_ = subBuilder.buildPartial();
+                subBuilder.mergeFrom(deprecatedInputs_);
+                deprecatedInputs_ = subBuilder.buildPartial();
               }
 
               break;
@@ -297,6 +331,19 @@ private TaskCreateRequest(
               outputPrefix_ = s;
               break;
             }
+            case 34: {
+              flyteidl.core.Literals.InputData.Builder subBuilder = null;
+              if (inputs_ != null) {
+                subBuilder = inputs_.toBuilder();
+              }
+              inputs_ = input.readMessage(flyteidl.core.Literals.InputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(inputs_);
+                inputs_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -329,43 +376,46 @@ private TaskCreateRequest(
               flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest.class, flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest.Builder.class);
     }
 
-    public static final int INPUTS_FIELD_NUMBER = 1;
-    private flyteidl.core.Literals.LiteralMap inputs_;
+    public static final int DEPRECATED_INPUTS_FIELD_NUMBER = 1;
+    private flyteidl.core.Literals.LiteralMap deprecatedInputs_;
     /**
      * 
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: please use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public boolean hasInputs() { - return inputs_ != null; + @java.lang.Deprecated public boolean hasDeprecatedInputs() { + return deprecatedInputs_ != null; } /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: please use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputs() { - return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputs() { + return deprecatedInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedInputs_; } /** *
      * The inputs required to start the execution. All required inputs must be
      * included in this map. If not required and not provided, defaults apply.
      * +optional
+     * Deprecated: please use inputs instead.
      * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { - return getInputs(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputsOrBuilder() { + return getDeprecatedInputs(); } public static final int TEMPLATE_FIELD_NUMBER = 2; @@ -443,6 +493,45 @@ public java.lang.String getOutputPrefix() { } } + public static final int INPUTS_FIELD_NUMBER = 4; + private flyteidl.core.Literals.InputData inputs_; + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public boolean hasInputs() { + return inputs_ != null; + } + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public flyteidl.core.Literals.InputData getInputs() { + return inputs_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputs_; + } + /** + *
+     * The inputs required to start the execution. All required inputs must be
+     * included in this map. If not required and not provided, defaults apply.
+     * +optional
+     * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputsOrBuilder() { + return getInputs(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -457,8 +546,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (inputs_ != null) { - output.writeMessage(1, getInputs()); + if (deprecatedInputs_ != null) { + output.writeMessage(1, getDeprecatedInputs()); } if (template_ != null) { output.writeMessage(2, getTemplate()); @@ -466,6 +555,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getOutputPrefixBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, outputPrefix_); } + if (inputs_ != null) { + output.writeMessage(4, getInputs()); + } unknownFields.writeTo(output); } @@ -475,9 +567,9 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (inputs_ != null) { + if (deprecatedInputs_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getInputs()); + .computeMessageSize(1, getDeprecatedInputs()); } if (template_ != null) { size += com.google.protobuf.CodedOutputStream @@ -486,6 +578,10 @@ public int getSerializedSize() { if (!getOutputPrefixBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, outputPrefix_); } + if (inputs_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getInputs()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -501,10 +597,10 @@ public boolean equals(final java.lang.Object obj) { } flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest other = (flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest) obj; - if (hasInputs() != other.hasInputs()) return false; - if (hasInputs()) { - if (!getInputs() - .equals(other.getInputs())) return false; + if (hasDeprecatedInputs() != other.hasDeprecatedInputs()) return false; + if (hasDeprecatedInputs()) { + if (!getDeprecatedInputs() + .equals(other.getDeprecatedInputs())) return false; } if (hasTemplate() != other.hasTemplate()) return false; if (hasTemplate()) { @@ -513,6 +609,11 @@ public boolean equals(final java.lang.Object obj) { } if (!getOutputPrefix() .equals(other.getOutputPrefix())) return false; + if (hasInputs() != other.hasInputs()) return false; + if (hasInputs()) { + if (!getInputs() + .equals(other.getInputs())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -524,9 +625,9 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasInputs()) { - hash = (37 * hash) + INPUTS_FIELD_NUMBER; - hash = (53 * hash) + getInputs().hashCode(); + if (hasDeprecatedInputs()) { + hash = (37 * hash) + DEPRECATED_INPUTS_FIELD_NUMBER; + hash = (53 * hash) + getDeprecatedInputs().hashCode(); } if (hasTemplate()) { hash = (37 * hash) + TEMPLATE_FIELD_NUMBER; @@ -534,6 +635,10 @@ public int hashCode() { } hash = (37 * hash) + OUTPUT_PREFIX_FIELD_NUMBER; hash = (53 * hash) + getOutputPrefix().hashCode(); + if (hasInputs()) { + hash = (37 * hash) + INPUTS_FIELD_NUMBER; + hash = (53 * hash) + getInputs().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -671,11 +776,11 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - if (inputsBuilder_ == null) { - inputs_ = null; + if (deprecatedInputsBuilder_ == null) { + deprecatedInputs_ = null; } else { - inputs_ = null; - inputsBuilder_ = null; + deprecatedInputs_ = null; + deprecatedInputsBuilder_ = null; } if (templateBuilder_ == null) { template_ = null; @@ -685,6 +790,12 @@ public Builder clear() { } outputPrefix_ = ""; + if (inputsBuilder_ == null) { + inputs_ = null; + } else { + inputs_ = null; + inputsBuilder_ = null; + } return this; } @@ -711,10 +822,10 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest build( @java.lang.Override public flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest buildPartial() { flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest result = new flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest(this); - if (inputsBuilder_ == null) { - result.inputs_ = inputs_; + if (deprecatedInputsBuilder_ == null) { + result.deprecatedInputs_ = deprecatedInputs_; } else { - result.inputs_ = inputsBuilder_.build(); + result.deprecatedInputs_ = deprecatedInputsBuilder_.build(); } if (templateBuilder_ == null) { result.template_ = template_; @@ -722,6 +833,11 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest buildP result.template_ = templateBuilder_.build(); } result.outputPrefix_ = outputPrefix_; + if (inputsBuilder_ == null) { + result.inputs_ = inputs_; + } else { + result.inputs_ = inputsBuilder_.build(); + } onBuilt(); return result; } @@ -770,8 +886,8 @@ public Builder mergeFrom(com.google.protobuf.Message other) { public Builder mergeFrom(flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest other) { if (other == flyteidl.service.ExternalPluginServiceOuterClass.TaskCreateRequest.getDefaultInstance()) return this; - if (other.hasInputs()) { - mergeInputs(other.getInputs()); + if (other.hasDeprecatedInputs()) { + mergeDeprecatedInputs(other.getDeprecatedInputs()); } if (other.hasTemplate()) { mergeTemplate(other.getTemplate()); @@ -780,6 +896,9 @@ public Builder mergeFrom(flyteidl.service.ExternalPluginServiceOuterClass.TaskCr outputPrefix_ = other.outputPrefix_; onChanged(); } + if (other.hasInputs()) { + mergeInputs(other.getInputs()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -809,35 +928,37 @@ public Builder mergeFrom( return this; } - private flyteidl.core.Literals.LiteralMap inputs_; + private flyteidl.core.Literals.LiteralMap deprecatedInputs_; private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> inputsBuilder_; + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedInputsBuilder_; /** *
        * The inputs required to start the execution. All required inputs must be
        * included in this map. If not required and not provided, defaults apply.
        * +optional
+       * Deprecated: please use inputs instead.
        * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public boolean hasInputs() { - return inputsBuilder_ != null || inputs_ != null; + @java.lang.Deprecated public boolean hasDeprecatedInputs() { + return deprecatedInputsBuilder_ != null || deprecatedInputs_ != null; } /** *
        * The inputs required to start the execution. All required inputs must be
        * included in this map. If not required and not provided, defaults apply.
        * +optional
+       * Deprecated: please use inputs instead.
        * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap getInputs() { - if (inputsBuilder_ == null) { - return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap getDeprecatedInputs() { + if (deprecatedInputsBuilder_ == null) { + return deprecatedInputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedInputs_; } else { - return inputsBuilder_.getMessage(); + return deprecatedInputsBuilder_.getMessage(); } } /** @@ -845,19 +966,20 @@ public flyteidl.core.Literals.LiteralMap getInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: please use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { - if (inputsBuilder_ == null) { + @java.lang.Deprecated public Builder setDeprecatedInputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - inputs_ = value; + deprecatedInputs_ = value; onChanged(); } else { - inputsBuilder_.setMessage(value); + deprecatedInputsBuilder_.setMessage(value); } return this; @@ -867,17 +989,18 @@ public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: please use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder setInputs( + @java.lang.Deprecated public Builder setDeprecatedInputs( flyteidl.core.Literals.LiteralMap.Builder builderForValue) { - if (inputsBuilder_ == null) { - inputs_ = builderForValue.build(); + if (deprecatedInputsBuilder_ == null) { + deprecatedInputs_ = builderForValue.build(); onChanged(); } else { - inputsBuilder_.setMessage(builderForValue.build()); + deprecatedInputsBuilder_.setMessage(builderForValue.build()); } return this; @@ -887,21 +1010,22 @@ public Builder setInputs( * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: please use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { - if (inputsBuilder_ == null) { - if (inputs_ != null) { - inputs_ = - flyteidl.core.Literals.LiteralMap.newBuilder(inputs_).mergeFrom(value).buildPartial(); + @java.lang.Deprecated public Builder mergeDeprecatedInputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedInputsBuilder_ == null) { + if (deprecatedInputs_ != null) { + deprecatedInputs_ = + flyteidl.core.Literals.LiteralMap.newBuilder(deprecatedInputs_).mergeFrom(value).buildPartial(); } else { - inputs_ = value; + deprecatedInputs_ = value; } onChanged(); } else { - inputsBuilder_.mergeFrom(value); + deprecatedInputsBuilder_.mergeFrom(value); } return this; @@ -911,17 +1035,18 @@ public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: please use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public Builder clearInputs() { - if (inputsBuilder_ == null) { - inputs_ = null; + @java.lang.Deprecated public Builder clearDeprecatedInputs() { + if (deprecatedInputsBuilder_ == null) { + deprecatedInputs_ = null; onChanged(); } else { - inputs_ = null; - inputsBuilder_ = null; + deprecatedInputs_ = null; + deprecatedInputsBuilder_ = null; } return this; @@ -931,30 +1056,32 @@ public Builder clearInputs() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: please use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedInputsBuilder() { onChanged(); - return getInputsFieldBuilder().getBuilder(); + return getDeprecatedInputsFieldBuilder().getBuilder(); } /** *
        * The inputs required to start the execution. All required inputs must be
        * included in this map. If not required and not provided, defaults apply.
        * +optional
+       * Deprecated: please use inputs instead.
        * 
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { - if (inputsBuilder_ != null) { - return inputsBuilder_.getMessageOrBuilder(); + @java.lang.Deprecated public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedInputsOrBuilder() { + if (deprecatedInputsBuilder_ != null) { + return deprecatedInputsBuilder_.getMessageOrBuilder(); } else { - return inputs_ == null ? - flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; + return deprecatedInputs_ == null ? + flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedInputs_; } } /** @@ -962,22 +1089,23 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { * The inputs required to start the execution. All required inputs must be * included in this map. If not required and not provided, defaults apply. * +optional + * Deprecated: please use inputs instead. *
* - * .flyteidl.core.LiteralMap inputs = 1; + * .flyteidl.core.LiteralMap deprecated_inputs = 1 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> - getInputsFieldBuilder() { - if (inputsBuilder_ == null) { - inputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + getDeprecatedInputsFieldBuilder() { + if (deprecatedInputsBuilder_ == null) { + deprecatedInputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( - getInputs(), + getDeprecatedInputs(), getParentForChildren(), isClean()); - inputs_ = null; + deprecatedInputs_ = null; } - return inputsBuilder_; + return deprecatedInputsBuilder_; } private flyteidl.core.Tasks.TaskTemplate template_; @@ -1221,6 +1349,177 @@ public Builder setOutputPrefixBytes( onChanged(); return this; } + + private flyteidl.core.Literals.InputData inputs_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputsBuilder_; + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public boolean hasInputs() { + return inputsBuilder_ != null || inputs_ != null; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public flyteidl.core.Literals.InputData getInputs() { + if (inputsBuilder_ == null) { + return inputs_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputs_; + } else { + return inputsBuilder_.getMessage(); + } + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public Builder setInputs(flyteidl.core.Literals.InputData value) { + if (inputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + inputs_ = value; + onChanged(); + } else { + inputsBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public Builder setInputs( + flyteidl.core.Literals.InputData.Builder builderForValue) { + if (inputsBuilder_ == null) { + inputs_ = builderForValue.build(); + onChanged(); + } else { + inputsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public Builder mergeInputs(flyteidl.core.Literals.InputData value) { + if (inputsBuilder_ == null) { + if (inputs_ != null) { + inputs_ = + flyteidl.core.Literals.InputData.newBuilder(inputs_).mergeFrom(value).buildPartial(); + } else { + inputs_ = value; + } + onChanged(); + } else { + inputsBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public Builder clearInputs() { + if (inputsBuilder_ == null) { + inputs_ = null; + onChanged(); + } else { + inputs_ = null; + inputsBuilder_ = null; + } + + return this; + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public flyteidl.core.Literals.InputData.Builder getInputsBuilder() { + + onChanged(); + return getInputsFieldBuilder().getBuilder(); + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + public flyteidl.core.Literals.InputDataOrBuilder getInputsOrBuilder() { + if (inputsBuilder_ != null) { + return inputsBuilder_.getMessageOrBuilder(); + } else { + return inputs_ == null ? + flyteidl.core.Literals.InputData.getDefaultInstance() : inputs_; + } + } + /** + *
+       * The inputs required to start the execution. All required inputs must be
+       * included in this map. If not required and not provided, defaults apply.
+       * +optional
+       * 
+ * + * .flyteidl.core.InputData inputs = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> + getInputsFieldBuilder() { + if (inputsBuilder_ == null) { + inputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder>( + getInputs(), + getParentForChildren(), + isClean()); + inputs_ = null; + } + return inputsBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -2618,6 +2917,40 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskGetRequest getDefaul */ flyteidl.service.ExternalPluginServiceOuterClass.State getState(); + /** + *
+     * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Please use outputs instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + boolean hasDeprecatedOutputs(); + /** + *
+     * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Please use outputs instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + flyteidl.core.Literals.LiteralMap getDeprecatedOutputs(); + /** + *
+     * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Please use outputs instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputsOrBuilder(); + /** *
      * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
@@ -2625,7 +2958,7 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskGetRequest getDefaul
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ boolean hasOutputs(); /** @@ -2635,9 +2968,9 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskGetRequest getDefaul * +optional *
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - flyteidl.core.Literals.LiteralMap getOutputs(); + flyteidl.core.Literals.OutputData getOutputs(); /** *
      * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
@@ -2645,9 +2978,9 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskGetRequest getDefaul
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder(); + flyteidl.core.Literals.OutputDataOrBuilder getOutputsOrBuilder(); } /** *
@@ -2701,10 +3034,23 @@ private TaskGetResponse(
             }
             case 18: {
               flyteidl.core.Literals.LiteralMap.Builder subBuilder = null;
+              if (deprecatedOutputs_ != null) {
+                subBuilder = deprecatedOutputs_.toBuilder();
+              }
+              deprecatedOutputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(deprecatedOutputs_);
+                deprecatedOutputs_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
+            case 26: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
               if (outputs_ != null) {
                 subBuilder = outputs_.toBuilder();
               }
-              outputs_ = input.readMessage(flyteidl.core.Literals.LiteralMap.parser(), extensionRegistry);
+              outputs_ = input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(outputs_);
                 outputs_ = subBuilder.buildPartial();
@@ -2769,8 +3115,50 @@ public flyteidl.service.ExternalPluginServiceOuterClass.State getState() {
       return result == null ? flyteidl.service.ExternalPluginServiceOuterClass.State.UNRECOGNIZED : result;
     }
 
-    public static final int OUTPUTS_FIELD_NUMBER = 2;
-    private flyteidl.core.Literals.LiteralMap outputs_;
+    public static final int DEPRECATED_OUTPUTS_FIELD_NUMBER = 2;
+    private flyteidl.core.Literals.LiteralMap deprecatedOutputs_;
+    /**
+     * 
+     * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Please use outputs instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public boolean hasDeprecatedOutputs() { + return deprecatedOutputs_ != null; + } + /** + *
+     * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Please use outputs instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public flyteidl.core.Literals.LiteralMap getDeprecatedOutputs() { + return deprecatedOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedOutputs_; + } + /** + *
+     * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+     * Structured dataset pointing to the query result table.
+     * +optional
+     * Deprecated: Please use outputs instead
+     * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputsOrBuilder() { + return getDeprecatedOutputs(); + } + + public static final int OUTPUTS_FIELD_NUMBER = 3; + private flyteidl.core.Literals.OutputData outputs_; /** *
      * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
@@ -2778,7 +3166,7 @@ public flyteidl.service.ExternalPluginServiceOuterClass.State getState() {
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ public boolean hasOutputs() { return outputs_ != null; @@ -2790,10 +3178,10 @@ public boolean hasOutputs() { * +optional *
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMap getOutputs() { - return outputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + public flyteidl.core.Literals.OutputData getOutputs() { + return outputs_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputs_; } /** *
@@ -2802,9 +3190,9 @@ public flyteidl.core.Literals.LiteralMap getOutputs() {
      * +optional
      * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { + public flyteidl.core.Literals.OutputDataOrBuilder getOutputsOrBuilder() { return getOutputs(); } @@ -2825,8 +3213,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (state_ != flyteidl.service.ExternalPluginServiceOuterClass.State.RETRYABLE_FAILURE.getNumber()) { output.writeEnum(1, state_); } + if (deprecatedOutputs_ != null) { + output.writeMessage(2, getDeprecatedOutputs()); + } if (outputs_ != null) { - output.writeMessage(2, getOutputs()); + output.writeMessage(3, getOutputs()); } unknownFields.writeTo(output); } @@ -2841,9 +3232,13 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(1, state_); } + if (deprecatedOutputs_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getDeprecatedOutputs()); + } if (outputs_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getOutputs()); + .computeMessageSize(3, getOutputs()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2861,6 +3256,11 @@ public boolean equals(final java.lang.Object obj) { flyteidl.service.ExternalPluginServiceOuterClass.TaskGetResponse other = (flyteidl.service.ExternalPluginServiceOuterClass.TaskGetResponse) obj; if (state_ != other.state_) return false; + if (hasDeprecatedOutputs() != other.hasDeprecatedOutputs()) return false; + if (hasDeprecatedOutputs()) { + if (!getDeprecatedOutputs() + .equals(other.getDeprecatedOutputs())) return false; + } if (hasOutputs() != other.hasOutputs()) return false; if (hasOutputs()) { if (!getOutputs() @@ -2879,6 +3279,10 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + STATE_FIELD_NUMBER; hash = (53 * hash) + state_; + if (hasDeprecatedOutputs()) { + hash = (37 * hash) + DEPRECATED_OUTPUTS_FIELD_NUMBER; + hash = (53 * hash) + getDeprecatedOutputs().hashCode(); + } if (hasOutputs()) { hash = (37 * hash) + OUTPUTS_FIELD_NUMBER; hash = (53 * hash) + getOutputs().hashCode(); @@ -3022,6 +3426,12 @@ public Builder clear() { super.clear(); state_ = 0; + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputs_ = null; + } else { + deprecatedOutputs_ = null; + deprecatedOutputsBuilder_ = null; + } if (outputsBuilder_ == null) { outputs_ = null; } else { @@ -3055,6 +3465,11 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskGetResponse build() public flyteidl.service.ExternalPluginServiceOuterClass.TaskGetResponse buildPartial() { flyteidl.service.ExternalPluginServiceOuterClass.TaskGetResponse result = new flyteidl.service.ExternalPluginServiceOuterClass.TaskGetResponse(this); result.state_ = state_; + if (deprecatedOutputsBuilder_ == null) { + result.deprecatedOutputs_ = deprecatedOutputs_; + } else { + result.deprecatedOutputs_ = deprecatedOutputsBuilder_.build(); + } if (outputsBuilder_ == null) { result.outputs_ = outputs_; } else { @@ -3111,6 +3526,9 @@ public Builder mergeFrom(flyteidl.service.ExternalPluginServiceOuterClass.TaskGe if (other.state_ != 0) { setStateValue(other.getStateValue()); } + if (other.hasDeprecatedOutputs()) { + mergeDeprecatedOutputs(other.getDeprecatedOutputs()); + } if (other.hasOutputs()) { mergeOutputs(other.getOutputs()); } @@ -3208,17 +3626,197 @@ public Builder clearState() { return this; } - private flyteidl.core.Literals.LiteralMap outputs_; + private flyteidl.core.Literals.LiteralMap deprecatedOutputs_; private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> outputsBuilder_; + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> deprecatedOutputsBuilder_; /** *
        * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
        * Structured dataset pointing to the query result table.
        * +optional
+       * Deprecated: Please use outputs instead
        * 
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public boolean hasDeprecatedOutputs() { + return deprecatedOutputsBuilder_ != null || deprecatedOutputs_ != null; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public flyteidl.core.Literals.LiteralMap getDeprecatedOutputs() { + if (deprecatedOutputsBuilder_ == null) { + return deprecatedOutputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedOutputs_; + } else { + return deprecatedOutputsBuilder_.getMessage(); + } + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public Builder setDeprecatedOutputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deprecatedOutputs_ = value; + onChanged(); + } else { + deprecatedOutputsBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public Builder setDeprecatedOutputs( + flyteidl.core.Literals.LiteralMap.Builder builderForValue) { + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputs_ = builderForValue.build(); + onChanged(); + } else { + deprecatedOutputsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public Builder mergeDeprecatedOutputs(flyteidl.core.Literals.LiteralMap value) { + if (deprecatedOutputsBuilder_ == null) { + if (deprecatedOutputs_ != null) { + deprecatedOutputs_ = + flyteidl.core.Literals.LiteralMap.newBuilder(deprecatedOutputs_).mergeFrom(value).buildPartial(); + } else { + deprecatedOutputs_ = value; + } + onChanged(); + } else { + deprecatedOutputsBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public Builder clearDeprecatedOutputs() { + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputs_ = null; + onChanged(); + } else { + deprecatedOutputs_ = null; + deprecatedOutputsBuilder_ = null; + } + + return this; + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public flyteidl.core.Literals.LiteralMap.Builder getDeprecatedOutputsBuilder() { + + onChanged(); + return getDeprecatedOutputsFieldBuilder().getBuilder(); + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + public flyteidl.core.Literals.LiteralMapOrBuilder getDeprecatedOutputsOrBuilder() { + if (deprecatedOutputsBuilder_ != null) { + return deprecatedOutputsBuilder_.getMessageOrBuilder(); + } else { + return deprecatedOutputs_ == null ? + flyteidl.core.Literals.LiteralMap.getDefaultInstance() : deprecatedOutputs_; + } + } + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * Deprecated: Please use outputs instead
+       * 
+ * + * .flyteidl.core.LiteralMap deprecated_outputs = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> + getDeprecatedOutputsFieldBuilder() { + if (deprecatedOutputsBuilder_ == null) { + deprecatedOutputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( + getDeprecatedOutputs(), + getParentForChildren(), + isClean()); + deprecatedOutputs_ = null; + } + return deprecatedOutputsBuilder_; + } + + private flyteidl.core.Literals.OutputData outputs_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> outputsBuilder_; + /** + *
+       * The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a
+       * Structured dataset pointing to the query result table.
+       * +optional
+       * 
+ * + * .flyteidl.core.OutputData outputs = 3; */ public boolean hasOutputs() { return outputsBuilder_ != null || outputs_ != null; @@ -3230,11 +3828,11 @@ public boolean hasOutputs() { * +optional *
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMap getOutputs() { + public flyteidl.core.Literals.OutputData getOutputs() { if (outputsBuilder_ == null) { - return outputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + return outputs_ == null ? flyteidl.core.Literals.OutputData.getDefaultInstance() : outputs_; } else { return outputsBuilder_.getMessage(); } @@ -3246,9 +3844,9 @@ public flyteidl.core.Literals.LiteralMap getOutputs() { * +optional *
* - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public Builder setOutputs(flyteidl.core.Literals.LiteralMap value) { + public Builder setOutputs(flyteidl.core.Literals.OutputData value) { if (outputsBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3268,10 +3866,10 @@ public Builder setOutputs(flyteidl.core.Literals.LiteralMap value) { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ public Builder setOutputs( - flyteidl.core.Literals.LiteralMap.Builder builderForValue) { + flyteidl.core.Literals.OutputData.Builder builderForValue) { if (outputsBuilder_ == null) { outputs_ = builderForValue.build(); onChanged(); @@ -3288,13 +3886,13 @@ public Builder setOutputs( * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public Builder mergeOutputs(flyteidl.core.Literals.LiteralMap value) { + public Builder mergeOutputs(flyteidl.core.Literals.OutputData value) { if (outputsBuilder_ == null) { if (outputs_ != null) { outputs_ = - flyteidl.core.Literals.LiteralMap.newBuilder(outputs_).mergeFrom(value).buildPartial(); + flyteidl.core.Literals.OutputData.newBuilder(outputs_).mergeFrom(value).buildPartial(); } else { outputs_ = value; } @@ -3312,7 +3910,7 @@ public Builder mergeOutputs(flyteidl.core.Literals.LiteralMap value) { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ public Builder clearOutputs() { if (outputsBuilder_ == null) { @@ -3332,9 +3930,9 @@ public Builder clearOutputs() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMap.Builder getOutputsBuilder() { + public flyteidl.core.Literals.OutputData.Builder getOutputsBuilder() { onChanged(); return getOutputsFieldBuilder().getBuilder(); @@ -3346,14 +3944,14 @@ public flyteidl.core.Literals.LiteralMap.Builder getOutputsBuilder() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ - public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { + public flyteidl.core.Literals.OutputDataOrBuilder getOutputsOrBuilder() { if (outputsBuilder_ != null) { return outputsBuilder_.getMessageOrBuilder(); } else { return outputs_ == null ? - flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; + flyteidl.core.Literals.OutputData.getDefaultInstance() : outputs_; } } /** @@ -3363,14 +3961,14 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { * +optional * * - * .flyteidl.core.LiteralMap outputs = 2; + * .flyteidl.core.OutputData outputs = 3; */ private com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> getOutputsFieldBuilder() { if (outputsBuilder_ == null) { outputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder>( + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( getOutputs(), getParentForChildren(), isClean()); @@ -4658,30 +5256,32 @@ public flyteidl.service.ExternalPluginServiceOuterClass.TaskDeleteResponse getDe "\n.flyteidl/service/external_plugin_servi" + "ce.proto\022\020flyteidl.service\032\034flyteidl/cor" + "e/literals.proto\032\031flyteidl/core/tasks.pr" + - "oto\032\035flyteidl/core/interface.proto\"\210\001\n\021T" + - "askCreateRequest\022)\n\006inputs\030\001 \001(\0132\031.flyte" + - "idl.core.LiteralMap\022-\n\010template\030\002 \001(\0132\033." + - "flyteidl.core.TaskTemplate\022\025\n\routput_pre" + - "fix\030\003 \001(\t:\002\030\001\"(\n\022TaskCreateResponse\022\016\n\006j" + - "ob_id\030\001 \001(\t:\002\030\001\"7\n\016TaskGetRequest\022\021\n\ttas" + - "k_type\030\001 \001(\t\022\016\n\006job_id\030\002 \001(\t:\002\030\001\"i\n\017Task" + - "GetResponse\022&\n\005state\030\001 \001(\0162\027.flyteidl.se" + - "rvice.State\022*\n\007outputs\030\002 \001(\0132\031.flyteidl." + - "core.LiteralMap:\002\030\001\":\n\021TaskDeleteRequest" + - "\022\021\n\ttask_type\030\001 \001(\t\022\016\n\006job_id\030\002 \001(\t:\002\030\001\"" + - "\030\n\022TaskDeleteResponse:\002\030\001*b\n\005State\022\025\n\021RE" + - "TRYABLE_FAILURE\020\000\022\025\n\021PERMANENT_FAILURE\020\001" + - "\022\013\n\007PENDING\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDED\020" + - "\004\032\002\030\0012\250\002\n\025ExternalPluginService\022\\\n\nCreat" + - "eTask\022#.flyteidl.service.TaskCreateReque" + - "st\032$.flyteidl.service.TaskCreateResponse" + - "\"\003\210\002\001\022S\n\007GetTask\022 .flyteidl.service.Task" + - "GetRequest\032!.flyteidl.service.TaskGetRes" + - "ponse\"\003\210\002\001\022\\\n\nDeleteTask\022#.flyteidl.serv" + - "ice.TaskDeleteRequest\032$.flyteidl.service" + - ".TaskDeleteResponse\"\003\210\002\001B?Z=github.com/f" + - "lyteorg/flyte/flyteidl/gen/pb-go/flyteid" + - "l/serviceb\006proto3" + "oto\"\301\001\n\021TaskCreateRequest\0228\n\021deprecated_" + + "inputs\030\001 \001(\0132\031.flyteidl.core.LiteralMapB" + + "\002\030\001\022-\n\010template\030\002 \001(\0132\033.flyteidl.core.Ta" + + "skTemplate\022\025\n\routput_prefix\030\003 \001(\t\022(\n\006inp" + + "uts\030\004 \001(\0132\030.flyteidl.core.InputData:\002\030\001\"" + + "(\n\022TaskCreateResponse\022\016\n\006job_id\030\001 \001(\t:\002\030" + + "\001\"7\n\016TaskGetRequest\022\021\n\ttask_type\030\001 \001(\t\022\016" + + "\n\006job_id\030\002 \001(\t:\002\030\001\"\240\001\n\017TaskGetResponse\022&" + + "\n\005state\030\001 \001(\0162\027.flyteidl.service.State\0225" + + "\n\022deprecated_outputs\030\002 \001(\0132\031.flyteidl.co" + + "re.LiteralMap\022*\n\007outputs\030\003 \001(\0132\031.flyteid" + + "l.core.OutputData:\002\030\001\":\n\021TaskDeleteReque" + + "st\022\021\n\ttask_type\030\001 \001(\t\022\016\n\006job_id\030\002 \001(\t:\002\030" + + "\001\"\030\n\022TaskDeleteResponse:\002\030\001*b\n\005State\022\025\n\021" + + "RETRYABLE_FAILURE\020\000\022\025\n\021PERMANENT_FAILURE" + + "\020\001\022\013\n\007PENDING\020\002\022\013\n\007RUNNING\020\003\022\r\n\tSUCCEEDE" + + "D\020\004\032\002\030\0012\250\002\n\025ExternalPluginService\022\\\n\nCre" + + "ateTask\022#.flyteidl.service.TaskCreateReq" + + "uest\032$.flyteidl.service.TaskCreateRespon" + + "se\"\003\210\002\001\022S\n\007GetTask\022 .flyteidl.service.Ta" + + "skGetRequest\032!.flyteidl.service.TaskGetR" + + "esponse\"\003\210\002\001\022\\\n\nDeleteTask\022#.flyteidl.se" + + "rvice.TaskDeleteRequest\032$.flyteidl.servi" + + "ce.TaskDeleteResponse\"\003\210\002\001B?Z=github.com" + + "/flyteorg/flyte/flyteidl/gen/pb-go/flyte" + + "idl/serviceb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -4696,14 +5296,13 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( new com.google.protobuf.Descriptors.FileDescriptor[] { flyteidl.core.Literals.getDescriptor(), flyteidl.core.Tasks.getDescriptor(), - flyteidl.core.Interface.getDescriptor(), }, assigner); internal_static_flyteidl_service_TaskCreateRequest_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_flyteidl_service_TaskCreateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_service_TaskCreateRequest_descriptor, - new java.lang.String[] { "Inputs", "Template", "OutputPrefix", }); + new java.lang.String[] { "DeprecatedInputs", "Template", "OutputPrefix", "Inputs", }); internal_static_flyteidl_service_TaskCreateResponse_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_service_TaskCreateResponse_fieldAccessorTable = new @@ -4721,7 +5320,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_service_TaskGetResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_service_TaskGetResponse_descriptor, - new java.lang.String[] { "State", "Outputs", }); + new java.lang.String[] { "State", "DeprecatedOutputs", "Outputs", }); internal_static_flyteidl_service_TaskDeleteRequest_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_flyteidl_service_TaskDeleteRequest_fieldAccessorTable = new @@ -4736,7 +5335,6 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( new java.lang.String[] { }); flyteidl.core.Literals.getDescriptor(); flyteidl.core.Tasks.getDescriptor(); - flyteidl.core.Interface.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) diff --git a/flyteidl/gen/pb-js/flyteidl.d.ts b/flyteidl/gen/pb-js/flyteidl.d.ts index 23d4dcceda..244adea1f0 100644 --- a/flyteidl/gen/pb-js/flyteidl.d.ts +++ b/flyteidl/gen/pb-js/flyteidl.d.ts @@ -3016,6 +3016,110 @@ export namespace flyteidl { public static verify(message: { [k: string]: any }): (string|null); } + /** Properties of an InputData. */ + interface IInputData { + + /** InputData inputs */ + inputs?: (flyteidl.core.ILiteralMap|null); + } + + /** Represents an InputData. */ + class InputData implements IInputData { + + /** + * Constructs a new InputData. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.IInputData); + + /** InputData inputs. */ + public inputs?: (flyteidl.core.ILiteralMap|null); + + /** + * Creates a new InputData instance using the specified properties. + * @param [properties] Properties to set + * @returns InputData instance + */ + public static create(properties?: flyteidl.core.IInputData): flyteidl.core.InputData; + + /** + * Encodes the specified InputData message. Does not implicitly {@link flyteidl.core.InputData.verify|verify} messages. + * @param message InputData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.IInputData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an InputData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns InputData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.InputData; + + /** + * Verifies an InputData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + + /** Properties of an OutputData. */ + interface IOutputData { + + /** OutputData outputs */ + outputs?: (flyteidl.core.ILiteralMap|null); + } + + /** Represents an OutputData. */ + class OutputData implements IOutputData { + + /** + * Constructs a new OutputData. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.IOutputData); + + /** OutputData outputs. */ + public outputs?: (flyteidl.core.ILiteralMap|null); + + /** + * Creates a new OutputData instance using the specified properties. + * @param [properties] Properties to set + * @returns OutputData instance + */ + public static create(properties?: flyteidl.core.IOutputData): flyteidl.core.OutputData; + + /** + * Encodes the specified OutputData message. Does not implicitly {@link flyteidl.core.OutputData.verify|verify} messages. + * @param message OutputData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.IOutputData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OutputData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OutputData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.OutputData; + + /** + * Verifies an OutputData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + /** Properties of a BindingDataCollection. */ interface IBindingDataCollection { @@ -6707,8 +6811,11 @@ export namespace flyteidl { /** WorkflowExecutionEvent error */ error?: (flyteidl.core.IExecutionError|null); + /** WorkflowExecutionEvent deprecatedOutputData */ + deprecatedOutputData?: (flyteidl.core.ILiteralMap|null); + /** WorkflowExecutionEvent outputData */ - outputData?: (flyteidl.core.ILiteralMap|null); + outputData?: (flyteidl.core.IOutputData|null); } /** Represents a WorkflowExecutionEvent. */ @@ -6738,11 +6845,14 @@ export namespace flyteidl { /** WorkflowExecutionEvent error. */ public error?: (flyteidl.core.IExecutionError|null); + /** WorkflowExecutionEvent deprecatedOutputData. */ + public deprecatedOutputData?: (flyteidl.core.ILiteralMap|null); + /** WorkflowExecutionEvent outputData. */ - public outputData?: (flyteidl.core.ILiteralMap|null); + public outputData?: (flyteidl.core.IOutputData|null); /** WorkflowExecutionEvent outputResult. */ - public outputResult?: ("outputUri"|"error"|"outputData"); + public outputResult?: ("outputUri"|"error"|"deprecatedOutputData"|"outputData"); /** * Creates a new WorkflowExecutionEvent instance using the specified properties. @@ -6795,8 +6905,11 @@ export namespace flyteidl { /** NodeExecutionEvent inputUri */ inputUri?: (string|null); + /** NodeExecutionEvent deprecatedInputData */ + deprecatedInputData?: (flyteidl.core.ILiteralMap|null); + /** NodeExecutionEvent inputData */ - inputData?: (flyteidl.core.ILiteralMap|null); + inputData?: (flyteidl.core.IInputData|null); /** NodeExecutionEvent outputUri */ outputUri?: (string|null); @@ -6804,8 +6917,11 @@ export namespace flyteidl { /** NodeExecutionEvent error */ error?: (flyteidl.core.IExecutionError|null); + /** NodeExecutionEvent deprecatedOutputData */ + deprecatedOutputData?: (flyteidl.core.ILiteralMap|null); + /** NodeExecutionEvent outputData */ - outputData?: (flyteidl.core.ILiteralMap|null); + outputData?: (flyteidl.core.IOutputData|null); /** NodeExecutionEvent workflowNodeMetadata */ workflowNodeMetadata?: (flyteidl.event.IWorkflowNodeMetadata|null); @@ -6871,8 +6987,11 @@ export namespace flyteidl { /** NodeExecutionEvent inputUri. */ public inputUri: string; + /** NodeExecutionEvent deprecatedInputData. */ + public deprecatedInputData?: (flyteidl.core.ILiteralMap|null); + /** NodeExecutionEvent inputData. */ - public inputData?: (flyteidl.core.ILiteralMap|null); + public inputData?: (flyteidl.core.IInputData|null); /** NodeExecutionEvent outputUri. */ public outputUri: string; @@ -6880,8 +6999,11 @@ export namespace flyteidl { /** NodeExecutionEvent error. */ public error?: (flyteidl.core.IExecutionError|null); + /** NodeExecutionEvent deprecatedOutputData. */ + public deprecatedOutputData?: (flyteidl.core.ILiteralMap|null); + /** NodeExecutionEvent outputData. */ - public outputData?: (flyteidl.core.ILiteralMap|null); + public outputData?: (flyteidl.core.IOutputData|null); /** NodeExecutionEvent workflowNodeMetadata. */ public workflowNodeMetadata?: (flyteidl.event.IWorkflowNodeMetadata|null); @@ -6923,10 +7045,10 @@ export namespace flyteidl { public isArray: boolean; /** NodeExecutionEvent inputValue. */ - public inputValue?: ("inputUri"|"inputData"); + public inputValue?: ("inputUri"|"deprecatedInputData"|"inputData"); /** NodeExecutionEvent outputResult. */ - public outputResult?: ("outputUri"|"error"|"outputData"); + public outputResult?: ("outputUri"|"error"|"deprecatedOutputData"|"outputData"); /** NodeExecutionEvent targetMetadata. */ public targetMetadata?: ("workflowNodeMetadata"|"taskNodeMetadata"); @@ -7345,8 +7467,11 @@ export namespace flyteidl { /** TaskExecutionEvent inputUri */ inputUri?: (string|null); + /** TaskExecutionEvent deprecatedInputData */ + deprecatedInputData?: (flyteidl.core.ILiteralMap|null); + /** TaskExecutionEvent inputData */ - inputData?: (flyteidl.core.ILiteralMap|null); + inputData?: (flyteidl.core.IInputData|null); /** TaskExecutionEvent outputUri */ outputUri?: (string|null); @@ -7354,8 +7479,11 @@ export namespace flyteidl { /** TaskExecutionEvent error */ error?: (flyteidl.core.IExecutionError|null); + /** TaskExecutionEvent deprecatedOutputData */ + deprecatedOutputData?: (flyteidl.core.ILiteralMap|null); + /** TaskExecutionEvent outputData */ - outputData?: (flyteidl.core.ILiteralMap|null); + outputData?: (flyteidl.core.IOutputData|null); /** TaskExecutionEvent customInfo */ customInfo?: (google.protobuf.IStruct|null); @@ -7415,8 +7543,11 @@ export namespace flyteidl { /** TaskExecutionEvent inputUri. */ public inputUri: string; + /** TaskExecutionEvent deprecatedInputData. */ + public deprecatedInputData?: (flyteidl.core.ILiteralMap|null); + /** TaskExecutionEvent inputData. */ - public inputData?: (flyteidl.core.ILiteralMap|null); + public inputData?: (flyteidl.core.IInputData|null); /** TaskExecutionEvent outputUri. */ public outputUri: string; @@ -7424,8 +7555,11 @@ export namespace flyteidl { /** TaskExecutionEvent error. */ public error?: (flyteidl.core.IExecutionError|null); + /** TaskExecutionEvent deprecatedOutputData. */ + public deprecatedOutputData?: (flyteidl.core.ILiteralMap|null); + /** TaskExecutionEvent outputData. */ - public outputData?: (flyteidl.core.ILiteralMap|null); + public outputData?: (flyteidl.core.IOutputData|null); /** TaskExecutionEvent customInfo. */ public customInfo?: (google.protobuf.IStruct|null); @@ -7452,10 +7586,10 @@ export namespace flyteidl { public reportedAt?: (google.protobuf.ITimestamp|null); /** TaskExecutionEvent inputValue. */ - public inputValue?: ("inputUri"|"inputData"); + public inputValue?: ("inputUri"|"deprecatedInputData"|"inputData"); /** TaskExecutionEvent outputResult. */ - public outputResult?: ("outputUri"|"error"|"outputData"); + public outputResult?: ("outputUri"|"error"|"deprecatedOutputData"|"outputData"); /** * Creates a new TaskExecutionEvent instance using the specified properties. @@ -7813,8 +7947,8 @@ export namespace flyteidl { /** Properties of a CreateTaskRequest. */ interface ICreateTaskRequest { - /** CreateTaskRequest inputs */ - inputs?: (flyteidl.core.ILiteralMap|null); + /** CreateTaskRequest deprecatedInputs */ + deprecatedInputs?: (flyteidl.core.ILiteralMap|null); /** CreateTaskRequest template */ template?: (flyteidl.core.ITaskTemplate|null); @@ -7824,6 +7958,9 @@ export namespace flyteidl { /** CreateTaskRequest taskExecutionMetadata */ taskExecutionMetadata?: (flyteidl.admin.ITaskExecutionMetadata|null); + + /** CreateTaskRequest inputs */ + inputs?: (flyteidl.core.IInputData|null); } /** Represents a CreateTaskRequest. */ @@ -7835,8 +7972,8 @@ export namespace flyteidl { */ constructor(properties?: flyteidl.admin.ICreateTaskRequest); - /** CreateTaskRequest inputs. */ - public inputs?: (flyteidl.core.ILiteralMap|null); + /** CreateTaskRequest deprecatedInputs. */ + public deprecatedInputs?: (flyteidl.core.ILiteralMap|null); /** CreateTaskRequest template. */ public template?: (flyteidl.core.ITaskTemplate|null); @@ -7847,6 +7984,9 @@ export namespace flyteidl { /** CreateTaskRequest taskExecutionMetadata. */ public taskExecutionMetadata?: (flyteidl.admin.ITaskExecutionMetadata|null); + /** CreateTaskRequest inputs. */ + public inputs?: (flyteidl.core.IInputData|null); + /** * Creates a new CreateTaskRequest instance using the specified properties. * @param [properties] Properties to set @@ -8048,8 +8188,11 @@ export namespace flyteidl { /** Resource state */ state?: (flyteidl.admin.State|null); + /** Resource deprecatedOutputs */ + deprecatedOutputs?: (flyteidl.core.ILiteralMap|null); + /** Resource outputs */ - outputs?: (flyteidl.core.ILiteralMap|null); + outputs?: (flyteidl.core.IOutputData|null); } /** Represents a Resource. */ @@ -8064,8 +8207,11 @@ export namespace flyteidl { /** Resource state. */ public state: flyteidl.admin.State; + /** Resource deprecatedOutputs. */ + public deprecatedOutputs?: (flyteidl.core.ILiteralMap|null); + /** Resource outputs. */ - public outputs?: (flyteidl.core.ILiteralMap|null); + public outputs?: (flyteidl.core.IOutputData|null); /** * Creates a new Resource instance using the specified properties. @@ -10558,6 +10704,9 @@ export namespace flyteidl { /** ExecutionCreateRequest inputs */ inputs?: (flyteidl.core.ILiteralMap|null); + + /** ExecutionCreateRequest inputData */ + inputData?: (flyteidl.core.IInputData|null); } /** Represents an ExecutionCreateRequest. */ @@ -10584,6 +10733,9 @@ export namespace flyteidl { /** ExecutionCreateRequest inputs. */ public inputs?: (flyteidl.core.ILiteralMap|null); + /** ExecutionCreateRequest inputData. */ + public inputData?: (flyteidl.core.IInputData|null); + /** * Creates a new ExecutionCreateRequest instance using the specified properties. * @param [properties] Properties to set @@ -11755,6 +11907,12 @@ export namespace flyteidl { /** WorkflowExecutionGetDataResponse fullOutputs */ fullOutputs?: (flyteidl.core.ILiteralMap|null); + + /** WorkflowExecutionGetDataResponse inputData */ + inputData?: (flyteidl.core.IInputData|null); + + /** WorkflowExecutionGetDataResponse outputData */ + outputData?: (flyteidl.core.IOutputData|null); } /** Represents a WorkflowExecutionGetDataResponse. */ @@ -11778,6 +11936,12 @@ export namespace flyteidl { /** WorkflowExecutionGetDataResponse fullOutputs. */ public fullOutputs?: (flyteidl.core.ILiteralMap|null); + /** WorkflowExecutionGetDataResponse inputData. */ + public inputData?: (flyteidl.core.IInputData|null); + + /** WorkflowExecutionGetDataResponse outputData. */ + public outputData?: (flyteidl.core.IOutputData|null); + /** * Creates a new WorkflowExecutionGetDataResponse instance using the specified properties. * @param [properties] Properties to set @@ -12400,6 +12564,9 @@ export namespace flyteidl { /** LaunchPlanSpec fixedInputs */ fixedInputs?: (flyteidl.core.ILiteralMap|null); + /** LaunchPlanSpec fixedInputData */ + fixedInputData?: (flyteidl.core.IInputData|null); + /** LaunchPlanSpec role */ role?: (string|null); @@ -12458,6 +12625,9 @@ export namespace flyteidl { /** LaunchPlanSpec fixedInputs. */ public fixedInputs?: (flyteidl.core.ILiteralMap|null); + /** LaunchPlanSpec fixedInputData. */ + public fixedInputData?: (flyteidl.core.IInputData|null); + /** LaunchPlanSpec role. */ public role: string; @@ -14672,6 +14842,12 @@ export namespace flyteidl { /** NodeExecutionGetDataResponse fullOutputs */ fullOutputs?: (flyteidl.core.ILiteralMap|null); + /** NodeExecutionGetDataResponse inputData */ + inputData?: (flyteidl.core.IInputData|null); + + /** NodeExecutionGetDataResponse outputData */ + outputData?: (flyteidl.core.IOutputData|null); + /** NodeExecutionGetDataResponse dynamicWorkflow */ dynamicWorkflow?: (flyteidl.admin.IDynamicWorkflowNodeMetadata|null); @@ -14700,6 +14876,12 @@ export namespace flyteidl { /** NodeExecutionGetDataResponse fullOutputs. */ public fullOutputs?: (flyteidl.core.ILiteralMap|null); + /** NodeExecutionGetDataResponse inputData. */ + public inputData?: (flyteidl.core.IInputData|null); + + /** NodeExecutionGetDataResponse outputData. */ + public outputData?: (flyteidl.core.IOutputData|null); + /** NodeExecutionGetDataResponse dynamicWorkflow. */ public dynamicWorkflow?: (flyteidl.admin.IDynamicWorkflowNodeMetadata|null); @@ -17211,6 +17393,12 @@ export namespace flyteidl { /** TaskExecutionGetDataResponse fullOutputs */ fullOutputs?: (flyteidl.core.ILiteralMap|null); + /** TaskExecutionGetDataResponse inputData */ + inputData?: (flyteidl.core.IInputData|null); + + /** TaskExecutionGetDataResponse outputData */ + outputData?: (flyteidl.core.IOutputData|null); + /** TaskExecutionGetDataResponse flyteUrls */ flyteUrls?: (flyteidl.admin.IFlyteURLs|null); } @@ -17236,6 +17424,12 @@ export namespace flyteidl { /** TaskExecutionGetDataResponse fullOutputs. */ public fullOutputs?: (flyteidl.core.ILiteralMap|null); + /** TaskExecutionGetDataResponse inputData. */ + public inputData?: (flyteidl.core.IInputData|null); + + /** TaskExecutionGetDataResponse outputData. */ + public outputData?: (flyteidl.core.IOutputData|null); + /** TaskExecutionGetDataResponse flyteUrls. */ public flyteUrls?: (flyteidl.admin.IFlyteURLs|null); @@ -20447,6 +20641,12 @@ export namespace flyteidl { /** GetDataResponse literal */ literal?: (flyteidl.core.ILiteral|null); + + /** GetDataResponse inputData */ + inputData?: (flyteidl.core.IInputData|null); + + /** GetDataResponse outputData */ + outputData?: (flyteidl.core.IOutputData|null); } /** Represents a GetDataResponse. */ @@ -20467,8 +20667,14 @@ export namespace flyteidl { /** GetDataResponse literal. */ public literal?: (flyteidl.core.ILiteral|null); + /** GetDataResponse inputData. */ + public inputData?: (flyteidl.core.IInputData|null); + + /** GetDataResponse outputData. */ + public outputData?: (flyteidl.core.IOutputData|null); + /** GetDataResponse data. */ - public data?: ("literalMap"|"preSignedUrls"|"literal"); + public data?: ("literalMap"|"preSignedUrls"|"literal"|"inputData"|"outputData"); /** * Creates a new GetDataResponse instance using the specified properties. @@ -20710,14 +20916,17 @@ export namespace flyteidl { /** Properties of a TaskCreateRequest. */ interface ITaskCreateRequest { - /** TaskCreateRequest inputs */ - inputs?: (flyteidl.core.ILiteralMap|null); + /** TaskCreateRequest deprecatedInputs */ + deprecatedInputs?: (flyteidl.core.ILiteralMap|null); /** TaskCreateRequest template */ template?: (flyteidl.core.ITaskTemplate|null); /** TaskCreateRequest outputPrefix */ outputPrefix?: (string|null); + + /** TaskCreateRequest inputs */ + inputs?: (flyteidl.core.IInputData|null); } /** Represents a TaskCreateRequest. */ @@ -20729,8 +20938,8 @@ export namespace flyteidl { */ constructor(properties?: flyteidl.service.ITaskCreateRequest); - /** TaskCreateRequest inputs. */ - public inputs?: (flyteidl.core.ILiteralMap|null); + /** TaskCreateRequest deprecatedInputs. */ + public deprecatedInputs?: (flyteidl.core.ILiteralMap|null); /** TaskCreateRequest template. */ public template?: (flyteidl.core.ITaskTemplate|null); @@ -20738,6 +20947,9 @@ export namespace flyteidl { /** TaskCreateRequest outputPrefix. */ public outputPrefix: string; + /** TaskCreateRequest inputs. */ + public inputs?: (flyteidl.core.IInputData|null); + /** * Creates a new TaskCreateRequest instance using the specified properties. * @param [properties] Properties to set @@ -20887,8 +21099,11 @@ export namespace flyteidl { /** TaskGetResponse state */ state?: (flyteidl.service.State|null); + /** TaskGetResponse deprecatedOutputs */ + deprecatedOutputs?: (flyteidl.core.ILiteralMap|null); + /** TaskGetResponse outputs */ - outputs?: (flyteidl.core.ILiteralMap|null); + outputs?: (flyteidl.core.IOutputData|null); } /** Represents a TaskGetResponse. */ @@ -20903,8 +21118,11 @@ export namespace flyteidl { /** TaskGetResponse state. */ public state: flyteidl.service.State; + /** TaskGetResponse deprecatedOutputs. */ + public deprecatedOutputs?: (flyteidl.core.ILiteralMap|null); + /** TaskGetResponse outputs. */ - public outputs?: (flyteidl.core.ILiteralMap|null); + public outputs?: (flyteidl.core.IOutputData|null); /** * Creates a new TaskGetResponse instance using the specified properties. diff --git a/flyteidl/gen/pb-js/flyteidl.js b/flyteidl/gen/pb-js/flyteidl.js index 592b6d58c1..1a4e8d6229 100644 --- a/flyteidl/gen/pb-js/flyteidl.js +++ b/flyteidl/gen/pb-js/flyteidl.js @@ -7313,6 +7313,230 @@ return LiteralMap; })(); + core.InputData = (function() { + + /** + * Properties of an InputData. + * @memberof flyteidl.core + * @interface IInputData + * @property {flyteidl.core.ILiteralMap|null} [inputs] InputData inputs + */ + + /** + * Constructs a new InputData. + * @memberof flyteidl.core + * @classdesc Represents an InputData. + * @implements IInputData + * @constructor + * @param {flyteidl.core.IInputData=} [properties] Properties to set + */ + function InputData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * InputData inputs. + * @member {flyteidl.core.ILiteralMap|null|undefined} inputs + * @memberof flyteidl.core.InputData + * @instance + */ + InputData.prototype.inputs = null; + + /** + * Creates a new InputData instance using the specified properties. + * @function create + * @memberof flyteidl.core.InputData + * @static + * @param {flyteidl.core.IInputData=} [properties] Properties to set + * @returns {flyteidl.core.InputData} InputData instance + */ + InputData.create = function create(properties) { + return new InputData(properties); + }; + + /** + * Encodes the specified InputData message. Does not implicitly {@link flyteidl.core.InputData.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.InputData + * @static + * @param {flyteidl.core.IInputData} message InputData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputs != null && message.hasOwnProperty("inputs")) + $root.flyteidl.core.LiteralMap.encode(message.inputs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Decodes an InputData message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.InputData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.InputData} InputData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.InputData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies an InputData message. + * @function verify + * @memberof flyteidl.core.InputData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InputData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputs != null && message.hasOwnProperty("inputs")) { + var error = $root.flyteidl.core.LiteralMap.verify(message.inputs); + if (error) + return "inputs." + error; + } + return null; + }; + + return InputData; + })(); + + core.OutputData = (function() { + + /** + * Properties of an OutputData. + * @memberof flyteidl.core + * @interface IOutputData + * @property {flyteidl.core.ILiteralMap|null} [outputs] OutputData outputs + */ + + /** + * Constructs a new OutputData. + * @memberof flyteidl.core + * @classdesc Represents an OutputData. + * @implements IOutputData + * @constructor + * @param {flyteidl.core.IOutputData=} [properties] Properties to set + */ + function OutputData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OutputData outputs. + * @member {flyteidl.core.ILiteralMap|null|undefined} outputs + * @memberof flyteidl.core.OutputData + * @instance + */ + OutputData.prototype.outputs = null; + + /** + * Creates a new OutputData instance using the specified properties. + * @function create + * @memberof flyteidl.core.OutputData + * @static + * @param {flyteidl.core.IOutputData=} [properties] Properties to set + * @returns {flyteidl.core.OutputData} OutputData instance + */ + OutputData.create = function create(properties) { + return new OutputData(properties); + }; + + /** + * Encodes the specified OutputData message. Does not implicitly {@link flyteidl.core.OutputData.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.OutputData + * @static + * @param {flyteidl.core.IOutputData} message OutputData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.outputs != null && message.hasOwnProperty("outputs")) + $root.flyteidl.core.LiteralMap.encode(message.outputs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Decodes an OutputData message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.OutputData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.OutputData} OutputData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.OutputData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.outputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies an OutputData message. + * @function verify + * @memberof flyteidl.core.OutputData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OutputData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.outputs != null && message.hasOwnProperty("outputs")) { + var error = $root.flyteidl.core.LiteralMap.verify(message.outputs); + if (error) + return "outputs." + error; + } + return null; + }; + + return OutputData; + })(); + core.BindingDataCollection = (function() { /** @@ -16130,7 +16354,8 @@ * @property {google.protobuf.ITimestamp|null} [occurredAt] WorkflowExecutionEvent occurredAt * @property {string|null} [outputUri] WorkflowExecutionEvent outputUri * @property {flyteidl.core.IExecutionError|null} [error] WorkflowExecutionEvent error - * @property {flyteidl.core.ILiteralMap|null} [outputData] WorkflowExecutionEvent outputData + * @property {flyteidl.core.ILiteralMap|null} [deprecatedOutputData] WorkflowExecutionEvent deprecatedOutputData + * @property {flyteidl.core.IOutputData|null} [outputData] WorkflowExecutionEvent outputData */ /** @@ -16196,9 +16421,17 @@ */ WorkflowExecutionEvent.prototype.error = null; + /** + * WorkflowExecutionEvent deprecatedOutputData. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedOutputData + * @memberof flyteidl.event.WorkflowExecutionEvent + * @instance + */ + WorkflowExecutionEvent.prototype.deprecatedOutputData = null; + /** * WorkflowExecutionEvent outputData. - * @member {flyteidl.core.ILiteralMap|null|undefined} outputData + * @member {flyteidl.core.IOutputData|null|undefined} outputData * @memberof flyteidl.event.WorkflowExecutionEvent * @instance */ @@ -16209,12 +16442,12 @@ /** * WorkflowExecutionEvent outputResult. - * @member {"outputUri"|"error"|"outputData"|undefined} outputResult + * @member {"outputUri"|"error"|"deprecatedOutputData"|"outputData"|undefined} outputResult * @memberof flyteidl.event.WorkflowExecutionEvent * @instance */ Object.defineProperty(WorkflowExecutionEvent.prototype, "outputResult", { - get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "outputData"]), + get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "deprecatedOutputData", "outputData"]), set: $util.oneOfSetter($oneOfFields) }); @@ -16254,8 +16487,10 @@ writer.uint32(/* id 5, wireType 2 =*/42).string(message.outputUri); if (message.error != null && message.hasOwnProperty("error")) $root.flyteidl.core.ExecutionError.encode(message.error, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.deprecatedOutputData != null && message.hasOwnProperty("deprecatedOutputData")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedOutputData, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.outputData != null && message.hasOwnProperty("outputData")) - $root.flyteidl.core.LiteralMap.encode(message.outputData, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); return writer; }; @@ -16296,7 +16531,10 @@ message.error = $root.flyteidl.core.ExecutionError.decode(reader, reader.uint32()); break; case 7: - message.outputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedOutputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + case 8: + message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -16362,12 +16600,22 @@ return "error." + error; } } + if (message.deprecatedOutputData != null && message.hasOwnProperty("deprecatedOutputData")) { + if (properties.outputResult === 1) + return "outputResult: multiple values"; + properties.outputResult = 1; + { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedOutputData); + if (error) + return "deprecatedOutputData." + error; + } + } if (message.outputData != null && message.hasOwnProperty("outputData")) { if (properties.outputResult === 1) return "outputResult: multiple values"; properties.outputResult = 1; { - var error = $root.flyteidl.core.LiteralMap.verify(message.outputData); + var error = $root.flyteidl.core.OutputData.verify(message.outputData); if (error) return "outputData." + error; } @@ -16389,10 +16637,12 @@ * @property {flyteidl.core.NodeExecution.Phase|null} [phase] NodeExecutionEvent phase * @property {google.protobuf.ITimestamp|null} [occurredAt] NodeExecutionEvent occurredAt * @property {string|null} [inputUri] NodeExecutionEvent inputUri - * @property {flyteidl.core.ILiteralMap|null} [inputData] NodeExecutionEvent inputData + * @property {flyteidl.core.ILiteralMap|null} [deprecatedInputData] NodeExecutionEvent deprecatedInputData + * @property {flyteidl.core.IInputData|null} [inputData] NodeExecutionEvent inputData * @property {string|null} [outputUri] NodeExecutionEvent outputUri * @property {flyteidl.core.IExecutionError|null} [error] NodeExecutionEvent error - * @property {flyteidl.core.ILiteralMap|null} [outputData] NodeExecutionEvent outputData + * @property {flyteidl.core.ILiteralMap|null} [deprecatedOutputData] NodeExecutionEvent deprecatedOutputData + * @property {flyteidl.core.IOutputData|null} [outputData] NodeExecutionEvent outputData * @property {flyteidl.event.IWorkflowNodeMetadata|null} [workflowNodeMetadata] NodeExecutionEvent workflowNodeMetadata * @property {flyteidl.event.ITaskNodeMetadata|null} [taskNodeMetadata] NodeExecutionEvent taskNodeMetadata * @property {flyteidl.event.IParentTaskExecutionMetadata|null} [parentTaskMetadata] NodeExecutionEvent parentTaskMetadata @@ -16463,9 +16713,17 @@ */ NodeExecutionEvent.prototype.inputUri = ""; + /** + * NodeExecutionEvent deprecatedInputData. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedInputData + * @memberof flyteidl.event.NodeExecutionEvent + * @instance + */ + NodeExecutionEvent.prototype.deprecatedInputData = null; + /** * NodeExecutionEvent inputData. - * @member {flyteidl.core.ILiteralMap|null|undefined} inputData + * @member {flyteidl.core.IInputData|null|undefined} inputData * @memberof flyteidl.event.NodeExecutionEvent * @instance */ @@ -16487,9 +16745,17 @@ */ NodeExecutionEvent.prototype.error = null; + /** + * NodeExecutionEvent deprecatedOutputData. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedOutputData + * @memberof flyteidl.event.NodeExecutionEvent + * @instance + */ + NodeExecutionEvent.prototype.deprecatedOutputData = null; + /** * NodeExecutionEvent outputData. - * @member {flyteidl.core.ILiteralMap|null|undefined} outputData + * @member {flyteidl.core.IOutputData|null|undefined} outputData * @memberof flyteidl.event.NodeExecutionEvent * @instance */ @@ -16604,23 +16870,23 @@ /** * NodeExecutionEvent inputValue. - * @member {"inputUri"|"inputData"|undefined} inputValue + * @member {"inputUri"|"deprecatedInputData"|"inputData"|undefined} inputValue * @memberof flyteidl.event.NodeExecutionEvent * @instance */ Object.defineProperty(NodeExecutionEvent.prototype, "inputValue", { - get: $util.oneOfGetter($oneOfFields = ["inputUri", "inputData"]), + get: $util.oneOfGetter($oneOfFields = ["inputUri", "deprecatedInputData", "inputData"]), set: $util.oneOfSetter($oneOfFields) }); /** * NodeExecutionEvent outputResult. - * @member {"outputUri"|"error"|"outputData"|undefined} outputResult + * @member {"outputUri"|"error"|"deprecatedOutputData"|"outputData"|undefined} outputResult * @memberof flyteidl.event.NodeExecutionEvent * @instance */ Object.defineProperty(NodeExecutionEvent.prototype, "outputResult", { - get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "outputData"]), + get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "deprecatedOutputData", "outputData"]), set: $util.oneOfSetter($oneOfFields) }); @@ -16687,8 +16953,8 @@ writer.uint32(/* id 13, wireType 2 =*/106).string(message.nodeName); if (message.taskNodeMetadata != null && message.hasOwnProperty("taskNodeMetadata")) $root.flyteidl.event.TaskNodeMetadata.encode(message.taskNodeMetadata, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.outputData != null && message.hasOwnProperty("outputData")) - $root.flyteidl.core.LiteralMap.encode(message.outputData, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); + if (message.deprecatedOutputData != null && message.hasOwnProperty("deprecatedOutputData")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedOutputData, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); if (message.eventVersion != null && message.hasOwnProperty("eventVersion")) writer.uint32(/* id 16, wireType 0 =*/128).int32(message.eventVersion); if (message.isParent != null && message.hasOwnProperty("isParent")) @@ -16697,12 +16963,16 @@ writer.uint32(/* id 18, wireType 0 =*/144).bool(message.isDynamic); if (message.deckUri != null && message.hasOwnProperty("deckUri")) writer.uint32(/* id 19, wireType 2 =*/154).string(message.deckUri); - if (message.inputData != null && message.hasOwnProperty("inputData")) - $root.flyteidl.core.LiteralMap.encode(message.inputData, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); + if (message.deprecatedInputData != null && message.hasOwnProperty("deprecatedInputData")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedInputData, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.reportedAt != null && message.hasOwnProperty("reportedAt")) $root.google.protobuf.Timestamp.encode(message.reportedAt, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.isArray != null && message.hasOwnProperty("isArray")) writer.uint32(/* id 22, wireType 0 =*/176).bool(message.isArray); + if (message.outputData != null && message.hasOwnProperty("outputData")) + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); return writer; }; @@ -16740,7 +17010,10 @@ message.inputUri = reader.string(); break; case 20: - message.inputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedInputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + case 24: + message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); break; case 6: message.outputUri = reader.string(); @@ -16749,7 +17022,10 @@ message.error = $root.flyteidl.core.ExecutionError.decode(reader, reader.uint32()); break; case 15: - message.outputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedOutputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + case 23: + message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); break; case 8: message.workflowNodeMetadata = $root.flyteidl.event.WorkflowNodeMetadata.decode(reader, reader.uint32()); @@ -16845,12 +17121,22 @@ if (!$util.isString(message.inputUri)) return "inputUri: string expected"; } + if (message.deprecatedInputData != null && message.hasOwnProperty("deprecatedInputData")) { + if (properties.inputValue === 1) + return "inputValue: multiple values"; + properties.inputValue = 1; + { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedInputData); + if (error) + return "deprecatedInputData." + error; + } + } if (message.inputData != null && message.hasOwnProperty("inputData")) { if (properties.inputValue === 1) return "inputValue: multiple values"; properties.inputValue = 1; { - var error = $root.flyteidl.core.LiteralMap.verify(message.inputData); + var error = $root.flyteidl.core.InputData.verify(message.inputData); if (error) return "inputData." + error; } @@ -16870,12 +17156,22 @@ return "error." + error; } } + if (message.deprecatedOutputData != null && message.hasOwnProperty("deprecatedOutputData")) { + if (properties.outputResult === 1) + return "outputResult: multiple values"; + properties.outputResult = 1; + { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedOutputData); + if (error) + return "deprecatedOutputData." + error; + } + } if (message.outputData != null && message.hasOwnProperty("outputData")) { if (properties.outputResult === 1) return "outputResult: multiple values"; properties.outputResult = 1; { - var error = $root.flyteidl.core.LiteralMap.verify(message.outputData); + var error = $root.flyteidl.core.OutputData.verify(message.outputData); if (error) return "outputData." + error; } @@ -17768,10 +18064,12 @@ * @property {Array.|null} [logs] TaskExecutionEvent logs * @property {google.protobuf.ITimestamp|null} [occurredAt] TaskExecutionEvent occurredAt * @property {string|null} [inputUri] TaskExecutionEvent inputUri - * @property {flyteidl.core.ILiteralMap|null} [inputData] TaskExecutionEvent inputData + * @property {flyteidl.core.ILiteralMap|null} [deprecatedInputData] TaskExecutionEvent deprecatedInputData + * @property {flyteidl.core.IInputData|null} [inputData] TaskExecutionEvent inputData * @property {string|null} [outputUri] TaskExecutionEvent outputUri * @property {flyteidl.core.IExecutionError|null} [error] TaskExecutionEvent error - * @property {flyteidl.core.ILiteralMap|null} [outputData] TaskExecutionEvent outputData + * @property {flyteidl.core.ILiteralMap|null} [deprecatedOutputData] TaskExecutionEvent deprecatedOutputData + * @property {flyteidl.core.IOutputData|null} [outputData] TaskExecutionEvent outputData * @property {google.protobuf.IStruct|null} [customInfo] TaskExecutionEvent customInfo * @property {number|null} [phaseVersion] TaskExecutionEvent phaseVersion * @property {string|null} [reason] TaskExecutionEvent reason @@ -17863,9 +18161,17 @@ */ TaskExecutionEvent.prototype.inputUri = ""; + /** + * TaskExecutionEvent deprecatedInputData. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedInputData + * @memberof flyteidl.event.TaskExecutionEvent + * @instance + */ + TaskExecutionEvent.prototype.deprecatedInputData = null; + /** * TaskExecutionEvent inputData. - * @member {flyteidl.core.ILiteralMap|null|undefined} inputData + * @member {flyteidl.core.IInputData|null|undefined} inputData * @memberof flyteidl.event.TaskExecutionEvent * @instance */ @@ -17887,9 +18193,17 @@ */ TaskExecutionEvent.prototype.error = null; + /** + * TaskExecutionEvent deprecatedOutputData. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedOutputData + * @memberof flyteidl.event.TaskExecutionEvent + * @instance + */ + TaskExecutionEvent.prototype.deprecatedOutputData = null; + /** * TaskExecutionEvent outputData. - * @member {flyteidl.core.ILiteralMap|null|undefined} outputData + * @member {flyteidl.core.IOutputData|null|undefined} outputData * @memberof flyteidl.event.TaskExecutionEvent * @instance */ @@ -17964,23 +18278,23 @@ /** * TaskExecutionEvent inputValue. - * @member {"inputUri"|"inputData"|undefined} inputValue + * @member {"inputUri"|"deprecatedInputData"|"inputData"|undefined} inputValue * @memberof flyteidl.event.TaskExecutionEvent * @instance */ Object.defineProperty(TaskExecutionEvent.prototype, "inputValue", { - get: $util.oneOfGetter($oneOfFields = ["inputUri", "inputData"]), + get: $util.oneOfGetter($oneOfFields = ["inputUri", "deprecatedInputData", "inputData"]), set: $util.oneOfSetter($oneOfFields) }); /** * TaskExecutionEvent outputResult. - * @member {"outputUri"|"error"|"outputData"|undefined} outputResult + * @member {"outputUri"|"error"|"deprecatedOutputData"|"outputData"|undefined} outputResult * @memberof flyteidl.event.TaskExecutionEvent * @instance */ Object.defineProperty(TaskExecutionEvent.prototype, "outputResult", { - get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "outputData"]), + get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "deprecatedOutputData", "outputData"]), set: $util.oneOfSetter($oneOfFields) }); @@ -18039,17 +18353,21 @@ writer.uint32(/* id 14, wireType 2 =*/114).string(message.taskType); if (message.metadata != null && message.hasOwnProperty("metadata")) $root.flyteidl.event.TaskExecutionMetadata.encode(message.metadata, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); - if (message.outputData != null && message.hasOwnProperty("outputData")) - $root.flyteidl.core.LiteralMap.encode(message.outputData, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); + if (message.deprecatedOutputData != null && message.hasOwnProperty("deprecatedOutputData")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedOutputData, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.eventVersion != null && message.hasOwnProperty("eventVersion")) writer.uint32(/* id 18, wireType 0 =*/144).int32(message.eventVersion); - if (message.inputData != null && message.hasOwnProperty("inputData")) - $root.flyteidl.core.LiteralMap.encode(message.inputData, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); + if (message.deprecatedInputData != null && message.hasOwnProperty("deprecatedInputData")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedInputData, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); if (message.reportedAt != null && message.hasOwnProperty("reportedAt")) $root.google.protobuf.Timestamp.encode(message.reportedAt, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.reasons != null && message.reasons.length) for (var i = 0; i < message.reasons.length; ++i) $root.flyteidl.event.EventReason.encode(message.reasons[i], writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.outputData != null && message.hasOwnProperty("outputData")) + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); return writer; }; @@ -18098,7 +18416,10 @@ message.inputUri = reader.string(); break; case 19: - message.inputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedInputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + case 23: + message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); break; case 9: message.outputUri = reader.string(); @@ -18107,7 +18428,10 @@ message.error = $root.flyteidl.core.ExecutionError.decode(reader, reader.uint32()); break; case 17: - message.outputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedOutputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + case 22: + message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); break; case 11: message.customInfo = $root.google.protobuf.Struct.decode(reader, reader.uint32()); @@ -18204,12 +18528,22 @@ if (!$util.isString(message.inputUri)) return "inputUri: string expected"; } + if (message.deprecatedInputData != null && message.hasOwnProperty("deprecatedInputData")) { + if (properties.inputValue === 1) + return "inputValue: multiple values"; + properties.inputValue = 1; + { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedInputData); + if (error) + return "deprecatedInputData." + error; + } + } if (message.inputData != null && message.hasOwnProperty("inputData")) { if (properties.inputValue === 1) return "inputValue: multiple values"; properties.inputValue = 1; { - var error = $root.flyteidl.core.LiteralMap.verify(message.inputData); + var error = $root.flyteidl.core.InputData.verify(message.inputData); if (error) return "inputData." + error; } @@ -18229,12 +18563,22 @@ return "error." + error; } } + if (message.deprecatedOutputData != null && message.hasOwnProperty("deprecatedOutputData")) { + if (properties.outputResult === 1) + return "outputResult: multiple values"; + properties.outputResult = 1; + { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedOutputData); + if (error) + return "deprecatedOutputData." + error; + } + } if (message.outputData != null && message.hasOwnProperty("outputData")) { if (properties.outputResult === 1) return "outputResult: multiple values"; properties.outputResult = 1; { - var error = $root.flyteidl.core.LiteralMap.verify(message.outputData); + var error = $root.flyteidl.core.OutputData.verify(message.outputData); if (error) return "outputData." + error; } @@ -19122,10 +19466,11 @@ * Properties of a CreateTaskRequest. * @memberof flyteidl.admin * @interface ICreateTaskRequest - * @property {flyteidl.core.ILiteralMap|null} [inputs] CreateTaskRequest inputs + * @property {flyteidl.core.ILiteralMap|null} [deprecatedInputs] CreateTaskRequest deprecatedInputs * @property {flyteidl.core.ITaskTemplate|null} [template] CreateTaskRequest template * @property {string|null} [outputPrefix] CreateTaskRequest outputPrefix * @property {flyteidl.admin.ITaskExecutionMetadata|null} [taskExecutionMetadata] CreateTaskRequest taskExecutionMetadata + * @property {flyteidl.core.IInputData|null} [inputs] CreateTaskRequest inputs */ /** @@ -19144,12 +19489,12 @@ } /** - * CreateTaskRequest inputs. - * @member {flyteidl.core.ILiteralMap|null|undefined} inputs + * CreateTaskRequest deprecatedInputs. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedInputs * @memberof flyteidl.admin.CreateTaskRequest * @instance */ - CreateTaskRequest.prototype.inputs = null; + CreateTaskRequest.prototype.deprecatedInputs = null; /** * CreateTaskRequest template. @@ -19175,6 +19520,14 @@ */ CreateTaskRequest.prototype.taskExecutionMetadata = null; + /** + * CreateTaskRequest inputs. + * @member {flyteidl.core.IInputData|null|undefined} inputs + * @memberof flyteidl.admin.CreateTaskRequest + * @instance + */ + CreateTaskRequest.prototype.inputs = null; + /** * Creates a new CreateTaskRequest instance using the specified properties. * @function create @@ -19199,14 +19552,16 @@ CreateTaskRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputs != null && message.hasOwnProperty("inputs")) - $root.flyteidl.core.LiteralMap.encode(message.inputs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.deprecatedInputs != null && message.hasOwnProperty("deprecatedInputs")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedInputs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.template != null && message.hasOwnProperty("template")) $root.flyteidl.core.TaskTemplate.encode(message.template, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.outputPrefix != null && message.hasOwnProperty("outputPrefix")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputPrefix); if (message.taskExecutionMetadata != null && message.hasOwnProperty("taskExecutionMetadata")) $root.flyteidl.admin.TaskExecutionMetadata.encode(message.taskExecutionMetadata, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.inputs != null && message.hasOwnProperty("inputs")) + $root.flyteidl.core.InputData.encode(message.inputs, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -19229,7 +19584,7 @@ var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedInputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; case 2: message.template = $root.flyteidl.core.TaskTemplate.decode(reader, reader.uint32()); @@ -19240,6 +19595,9 @@ case 4: message.taskExecutionMetadata = $root.flyteidl.admin.TaskExecutionMetadata.decode(reader, reader.uint32()); break; + case 5: + message.inputs = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -19259,10 +19617,10 @@ CreateTaskRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputs != null && message.hasOwnProperty("inputs")) { - var error = $root.flyteidl.core.LiteralMap.verify(message.inputs); + if (message.deprecatedInputs != null && message.hasOwnProperty("deprecatedInputs")) { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedInputs); if (error) - return "inputs." + error; + return "deprecatedInputs." + error; } if (message.template != null && message.hasOwnProperty("template")) { var error = $root.flyteidl.core.TaskTemplate.verify(message.template); @@ -19277,6 +19635,11 @@ if (error) return "taskExecutionMetadata." + error; } + if (message.inputs != null && message.hasOwnProperty("inputs")) { + var error = $root.flyteidl.core.InputData.verify(message.inputs); + if (error) + return "inputs." + error; + } return null; }; @@ -19639,7 +20002,8 @@ * @memberof flyteidl.admin * @interface IResource * @property {flyteidl.admin.State|null} [state] Resource state - * @property {flyteidl.core.ILiteralMap|null} [outputs] Resource outputs + * @property {flyteidl.core.ILiteralMap|null} [deprecatedOutputs] Resource deprecatedOutputs + * @property {flyteidl.core.IOutputData|null} [outputs] Resource outputs */ /** @@ -19665,9 +20029,17 @@ */ Resource.prototype.state = 0; + /** + * Resource deprecatedOutputs. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedOutputs + * @memberof flyteidl.admin.Resource + * @instance + */ + Resource.prototype.deprecatedOutputs = null; + /** * Resource outputs. - * @member {flyteidl.core.ILiteralMap|null|undefined} outputs + * @member {flyteidl.core.IOutputData|null|undefined} outputs * @memberof flyteidl.admin.Resource * @instance */ @@ -19699,8 +20071,10 @@ writer = $Writer.create(); if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.deprecatedOutputs != null && message.hasOwnProperty("deprecatedOutputs")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedOutputs, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.outputs != null && message.hasOwnProperty("outputs")) - $root.flyteidl.core.LiteralMap.encode(message.outputs, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + $root.flyteidl.core.OutputData.encode(message.outputs, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -19726,7 +20100,10 @@ message.state = reader.int32(); break; case 2: - message.outputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedOutputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + case 3: + message.outputs = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -19758,8 +20135,13 @@ case 4: break; } + if (message.deprecatedOutputs != null && message.hasOwnProperty("deprecatedOutputs")) { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedOutputs); + if (error) + return "deprecatedOutputs." + error; + } if (message.outputs != null && message.hasOwnProperty("outputs")) { - var error = $root.flyteidl.core.LiteralMap.verify(message.outputs); + var error = $root.flyteidl.core.OutputData.verify(message.outputs); if (error) return "outputs." + error; } @@ -25421,6 +25803,7 @@ * @property {string|null} [name] ExecutionCreateRequest name * @property {flyteidl.admin.IExecutionSpec|null} [spec] ExecutionCreateRequest spec * @property {flyteidl.core.ILiteralMap|null} [inputs] ExecutionCreateRequest inputs + * @property {flyteidl.core.IInputData|null} [inputData] ExecutionCreateRequest inputData */ /** @@ -25478,6 +25861,14 @@ */ ExecutionCreateRequest.prototype.inputs = null; + /** + * ExecutionCreateRequest inputData. + * @member {flyteidl.core.IInputData|null|undefined} inputData + * @memberof flyteidl.admin.ExecutionCreateRequest + * @instance + */ + ExecutionCreateRequest.prototype.inputData = null; + /** * Creates a new ExecutionCreateRequest instance using the specified properties. * @function create @@ -25512,6 +25903,8 @@ $root.flyteidl.admin.ExecutionSpec.encode(message.spec, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.inputs != null && message.hasOwnProperty("inputs")) $root.flyteidl.core.LiteralMap.encode(message.inputs, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -25548,6 +25941,9 @@ case 5: message.inputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; + case 6: + message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -25586,6 +25982,11 @@ if (error) return "inputs." + error; } + if (message.inputData != null && message.hasOwnProperty("inputData")) { + var error = $root.flyteidl.core.InputData.verify(message.inputData); + if (error) + return "inputData." + error; + } return null; }; @@ -28368,6 +28769,8 @@ * @property {flyteidl.admin.IUrlBlob|null} [inputs] WorkflowExecutionGetDataResponse inputs * @property {flyteidl.core.ILiteralMap|null} [fullInputs] WorkflowExecutionGetDataResponse fullInputs * @property {flyteidl.core.ILiteralMap|null} [fullOutputs] WorkflowExecutionGetDataResponse fullOutputs + * @property {flyteidl.core.IInputData|null} [inputData] WorkflowExecutionGetDataResponse inputData + * @property {flyteidl.core.IOutputData|null} [outputData] WorkflowExecutionGetDataResponse outputData */ /** @@ -28417,6 +28820,22 @@ */ WorkflowExecutionGetDataResponse.prototype.fullOutputs = null; + /** + * WorkflowExecutionGetDataResponse inputData. + * @member {flyteidl.core.IInputData|null|undefined} inputData + * @memberof flyteidl.admin.WorkflowExecutionGetDataResponse + * @instance + */ + WorkflowExecutionGetDataResponse.prototype.inputData = null; + + /** + * WorkflowExecutionGetDataResponse outputData. + * @member {flyteidl.core.IOutputData|null|undefined} outputData + * @memberof flyteidl.admin.WorkflowExecutionGetDataResponse + * @instance + */ + WorkflowExecutionGetDataResponse.prototype.outputData = null; + /** * Creates a new WorkflowExecutionGetDataResponse instance using the specified properties. * @function create @@ -28449,6 +28868,10 @@ $root.flyteidl.core.LiteralMap.encode(message.fullInputs, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs")) $root.flyteidl.core.LiteralMap.encode(message.fullOutputs, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.outputData != null && message.hasOwnProperty("outputData")) + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -28482,6 +28905,12 @@ case 4: message.fullOutputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; + case 5: + message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; + case 6: + message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -28521,6 +28950,16 @@ if (error) return "fullOutputs." + error; } + if (message.inputData != null && message.hasOwnProperty("inputData")) { + var error = $root.flyteidl.core.InputData.verify(message.inputData); + if (error) + return "inputData." + error; + } + if (message.outputData != null && message.hasOwnProperty("outputData")) { + var error = $root.flyteidl.core.OutputData.verify(message.outputData); + if (error) + return "outputData." + error; + } return null; }; @@ -29822,6 +30261,7 @@ * @property {flyteidl.admin.ILaunchPlanMetadata|null} [entityMetadata] LaunchPlanSpec entityMetadata * @property {flyteidl.core.IParameterMap|null} [defaultInputs] LaunchPlanSpec defaultInputs * @property {flyteidl.core.ILiteralMap|null} [fixedInputs] LaunchPlanSpec fixedInputs + * @property {flyteidl.core.IInputData|null} [fixedInputData] LaunchPlanSpec fixedInputData * @property {string|null} [role] LaunchPlanSpec role * @property {flyteidl.admin.ILabels|null} [labels] LaunchPlanSpec labels * @property {flyteidl.admin.IAnnotations|null} [annotations] LaunchPlanSpec annotations @@ -29883,6 +30323,14 @@ */ LaunchPlanSpec.prototype.fixedInputs = null; + /** + * LaunchPlanSpec fixedInputData. + * @member {flyteidl.core.IInputData|null|undefined} fixedInputData + * @memberof flyteidl.admin.LaunchPlanSpec + * @instance + */ + LaunchPlanSpec.prototype.fixedInputData = null; + /** * LaunchPlanSpec role. * @member {string} role @@ -30035,6 +30483,8 @@ writer.uint32(/* id 20, wireType 0 =*/160).bool(message.overwriteCache); if (message.envs != null && message.hasOwnProperty("envs")) $root.flyteidl.admin.Envs.encode(message.envs, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.fixedInputData != null && message.hasOwnProperty("fixedInputData")) + $root.flyteidl.core.InputData.encode(message.fixedInputData, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); return writer; }; @@ -30068,6 +30518,9 @@ case 4: message.fixedInputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; + case 22: + message.fixedInputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; case 5: message.role = reader.string(); break; @@ -30143,6 +30596,11 @@ if (error) return "fixedInputs." + error; } + if (message.fixedInputData != null && message.hasOwnProperty("fixedInputData")) { + var error = $root.flyteidl.core.InputData.verify(message.fixedInputData); + if (error) + return "fixedInputData." + error; + } if (message.role != null && message.hasOwnProperty("role")) if (!$util.isString(message.role)) return "role: string expected"; @@ -35342,6 +35800,8 @@ * @property {flyteidl.admin.IUrlBlob|null} [outputs] NodeExecutionGetDataResponse outputs * @property {flyteidl.core.ILiteralMap|null} [fullInputs] NodeExecutionGetDataResponse fullInputs * @property {flyteidl.core.ILiteralMap|null} [fullOutputs] NodeExecutionGetDataResponse fullOutputs + * @property {flyteidl.core.IInputData|null} [inputData] NodeExecutionGetDataResponse inputData + * @property {flyteidl.core.IOutputData|null} [outputData] NodeExecutionGetDataResponse outputData * @property {flyteidl.admin.IDynamicWorkflowNodeMetadata|null} [dynamicWorkflow] NodeExecutionGetDataResponse dynamicWorkflow * @property {flyteidl.admin.IFlyteURLs|null} [flyteUrls] NodeExecutionGetDataResponse flyteUrls */ @@ -35393,6 +35853,22 @@ */ NodeExecutionGetDataResponse.prototype.fullOutputs = null; + /** + * NodeExecutionGetDataResponse inputData. + * @member {flyteidl.core.IInputData|null|undefined} inputData + * @memberof flyteidl.admin.NodeExecutionGetDataResponse + * @instance + */ + NodeExecutionGetDataResponse.prototype.inputData = null; + + /** + * NodeExecutionGetDataResponse outputData. + * @member {flyteidl.core.IOutputData|null|undefined} outputData + * @memberof flyteidl.admin.NodeExecutionGetDataResponse + * @instance + */ + NodeExecutionGetDataResponse.prototype.outputData = null; + /** * NodeExecutionGetDataResponse dynamicWorkflow. * @member {flyteidl.admin.IDynamicWorkflowNodeMetadata|null|undefined} dynamicWorkflow @@ -35441,6 +35917,10 @@ $root.flyteidl.core.LiteralMap.encode(message.fullInputs, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs")) $root.flyteidl.core.LiteralMap.encode(message.fullOutputs, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.outputData != null && message.hasOwnProperty("outputData")) + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.dynamicWorkflow != null && message.hasOwnProperty("dynamicWorkflow")) $root.flyteidl.admin.DynamicWorkflowNodeMetadata.encode(message.dynamicWorkflow, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); if (message.flyteUrls != null && message.hasOwnProperty("flyteUrls")) @@ -35478,6 +35958,12 @@ case 4: message.fullOutputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; + case 5: + message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; + case 6: + message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); + break; case 16: message.dynamicWorkflow = $root.flyteidl.admin.DynamicWorkflowNodeMetadata.decode(reader, reader.uint32()); break; @@ -35523,6 +36009,16 @@ if (error) return "fullOutputs." + error; } + if (message.inputData != null && message.hasOwnProperty("inputData")) { + var error = $root.flyteidl.core.InputData.verify(message.inputData); + if (error) + return "inputData." + error; + } + if (message.outputData != null && message.hasOwnProperty("outputData")) { + var error = $root.flyteidl.core.OutputData.verify(message.outputData); + if (error) + return "outputData." + error; + } if (message.dynamicWorkflow != null && message.hasOwnProperty("dynamicWorkflow")) { var error = $root.flyteidl.admin.DynamicWorkflowNodeMetadata.verify(message.dynamicWorkflow); if (error) @@ -41207,6 +41703,8 @@ * @property {flyteidl.admin.IUrlBlob|null} [outputs] TaskExecutionGetDataResponse outputs * @property {flyteidl.core.ILiteralMap|null} [fullInputs] TaskExecutionGetDataResponse fullInputs * @property {flyteidl.core.ILiteralMap|null} [fullOutputs] TaskExecutionGetDataResponse fullOutputs + * @property {flyteidl.core.IInputData|null} [inputData] TaskExecutionGetDataResponse inputData + * @property {flyteidl.core.IOutputData|null} [outputData] TaskExecutionGetDataResponse outputData * @property {flyteidl.admin.IFlyteURLs|null} [flyteUrls] TaskExecutionGetDataResponse flyteUrls */ @@ -41257,6 +41755,22 @@ */ TaskExecutionGetDataResponse.prototype.fullOutputs = null; + /** + * TaskExecutionGetDataResponse inputData. + * @member {flyteidl.core.IInputData|null|undefined} inputData + * @memberof flyteidl.admin.TaskExecutionGetDataResponse + * @instance + */ + TaskExecutionGetDataResponse.prototype.inputData = null; + + /** + * TaskExecutionGetDataResponse outputData. + * @member {flyteidl.core.IOutputData|null|undefined} outputData + * @memberof flyteidl.admin.TaskExecutionGetDataResponse + * @instance + */ + TaskExecutionGetDataResponse.prototype.outputData = null; + /** * TaskExecutionGetDataResponse flyteUrls. * @member {flyteidl.admin.IFlyteURLs|null|undefined} flyteUrls @@ -41299,6 +41813,10 @@ $root.flyteidl.core.LiteralMap.encode(message.fullOutputs, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.flyteUrls != null && message.hasOwnProperty("flyteUrls")) $root.flyteidl.admin.FlyteURLs.encode(message.flyteUrls, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.outputData != null && message.hasOwnProperty("outputData")) + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); return writer; }; @@ -41332,6 +41850,12 @@ case 4: message.fullOutputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; + case 6: + message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; + case 7: + message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); + break; case 5: message.flyteUrls = $root.flyteidl.admin.FlyteURLs.decode(reader, reader.uint32()); break; @@ -41374,6 +41898,16 @@ if (error) return "fullOutputs." + error; } + if (message.inputData != null && message.hasOwnProperty("inputData")) { + var error = $root.flyteidl.core.InputData.verify(message.inputData); + if (error) + return "inputData." + error; + } + if (message.outputData != null && message.hasOwnProperty("outputData")) { + var error = $root.flyteidl.core.OutputData.verify(message.outputData); + if (error) + return "outputData." + error; + } if (message.flyteUrls != null && message.hasOwnProperty("flyteUrls")) { var error = $root.flyteidl.admin.FlyteURLs.verify(message.flyteUrls); if (error) @@ -47748,6 +48282,8 @@ * @property {flyteidl.core.ILiteralMap|null} [literalMap] GetDataResponse literalMap * @property {flyteidl.service.IPreSignedURLs|null} [preSignedUrls] GetDataResponse preSignedUrls * @property {flyteidl.core.ILiteral|null} [literal] GetDataResponse literal + * @property {flyteidl.core.IInputData|null} [inputData] GetDataResponse inputData + * @property {flyteidl.core.IOutputData|null} [outputData] GetDataResponse outputData */ /** @@ -47789,17 +48325,33 @@ */ GetDataResponse.prototype.literal = null; + /** + * GetDataResponse inputData. + * @member {flyteidl.core.IInputData|null|undefined} inputData + * @memberof flyteidl.service.GetDataResponse + * @instance + */ + GetDataResponse.prototype.inputData = null; + + /** + * GetDataResponse outputData. + * @member {flyteidl.core.IOutputData|null|undefined} outputData + * @memberof flyteidl.service.GetDataResponse + * @instance + */ + GetDataResponse.prototype.outputData = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * GetDataResponse data. - * @member {"literalMap"|"preSignedUrls"|"literal"|undefined} data + * @member {"literalMap"|"preSignedUrls"|"literal"|"inputData"|"outputData"|undefined} data * @memberof flyteidl.service.GetDataResponse * @instance */ Object.defineProperty(GetDataResponse.prototype, "data", { - get: $util.oneOfGetter($oneOfFields = ["literalMap", "preSignedUrls", "literal"]), + get: $util.oneOfGetter($oneOfFields = ["literalMap", "preSignedUrls", "literal", "inputData", "outputData"]), set: $util.oneOfSetter($oneOfFields) }); @@ -47833,6 +48385,10 @@ $root.flyteidl.service.PreSignedURLs.encode(message.preSignedUrls, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.literal != null && message.hasOwnProperty("literal")) $root.flyteidl.core.Literal.encode(message.literal, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.outputData != null && message.hasOwnProperty("outputData")) + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -47863,6 +48419,12 @@ case 3: message.literal = $root.flyteidl.core.Literal.decode(reader, reader.uint32()); break; + case 4: + message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; + case 5: + message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -47911,6 +48473,26 @@ return "literal." + error; } } + if (message.inputData != null && message.hasOwnProperty("inputData")) { + if (properties.data === 1) + return "data: multiple values"; + properties.data = 1; + { + var error = $root.flyteidl.core.InputData.verify(message.inputData); + if (error) + return "inputData." + error; + } + } + if (message.outputData != null && message.hasOwnProperty("outputData")) { + if (properties.data === 1) + return "data: multiple values"; + properties.data = 1; + { + var error = $root.flyteidl.core.OutputData.verify(message.outputData); + if (error) + return "outputData." + error; + } + } return null; }; @@ -48244,9 +48826,10 @@ * Properties of a TaskCreateRequest. * @memberof flyteidl.service * @interface ITaskCreateRequest - * @property {flyteidl.core.ILiteralMap|null} [inputs] TaskCreateRequest inputs + * @property {flyteidl.core.ILiteralMap|null} [deprecatedInputs] TaskCreateRequest deprecatedInputs * @property {flyteidl.core.ITaskTemplate|null} [template] TaskCreateRequest template * @property {string|null} [outputPrefix] TaskCreateRequest outputPrefix + * @property {flyteidl.core.IInputData|null} [inputs] TaskCreateRequest inputs */ /** @@ -48265,12 +48848,12 @@ } /** - * TaskCreateRequest inputs. - * @member {flyteidl.core.ILiteralMap|null|undefined} inputs + * TaskCreateRequest deprecatedInputs. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedInputs * @memberof flyteidl.service.TaskCreateRequest * @instance */ - TaskCreateRequest.prototype.inputs = null; + TaskCreateRequest.prototype.deprecatedInputs = null; /** * TaskCreateRequest template. @@ -48288,6 +48871,14 @@ */ TaskCreateRequest.prototype.outputPrefix = ""; + /** + * TaskCreateRequest inputs. + * @member {flyteidl.core.IInputData|null|undefined} inputs + * @memberof flyteidl.service.TaskCreateRequest + * @instance + */ + TaskCreateRequest.prototype.inputs = null; + /** * Creates a new TaskCreateRequest instance using the specified properties. * @function create @@ -48312,12 +48903,14 @@ TaskCreateRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputs != null && message.hasOwnProperty("inputs")) - $root.flyteidl.core.LiteralMap.encode(message.inputs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.deprecatedInputs != null && message.hasOwnProperty("deprecatedInputs")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedInputs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.template != null && message.hasOwnProperty("template")) $root.flyteidl.core.TaskTemplate.encode(message.template, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.outputPrefix != null && message.hasOwnProperty("outputPrefix")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputPrefix); + if (message.inputs != null && message.hasOwnProperty("inputs")) + $root.flyteidl.core.InputData.encode(message.inputs, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -48340,7 +48933,7 @@ var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedInputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; case 2: message.template = $root.flyteidl.core.TaskTemplate.decode(reader, reader.uint32()); @@ -48348,6 +48941,9 @@ case 3: message.outputPrefix = reader.string(); break; + case 4: + message.inputs = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -48367,10 +48963,10 @@ TaskCreateRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputs != null && message.hasOwnProperty("inputs")) { - var error = $root.flyteidl.core.LiteralMap.verify(message.inputs); + if (message.deprecatedInputs != null && message.hasOwnProperty("deprecatedInputs")) { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedInputs); if (error) - return "inputs." + error; + return "deprecatedInputs." + error; } if (message.template != null && message.hasOwnProperty("template")) { var error = $root.flyteidl.core.TaskTemplate.verify(message.template); @@ -48380,6 +48976,11 @@ if (message.outputPrefix != null && message.hasOwnProperty("outputPrefix")) if (!$util.isString(message.outputPrefix)) return "outputPrefix: string expected"; + if (message.inputs != null && message.hasOwnProperty("inputs")) { + var error = $root.flyteidl.core.InputData.verify(message.inputs); + if (error) + return "inputs." + error; + } return null; }; @@ -48630,7 +49231,8 @@ * @memberof flyteidl.service * @interface ITaskGetResponse * @property {flyteidl.service.State|null} [state] TaskGetResponse state - * @property {flyteidl.core.ILiteralMap|null} [outputs] TaskGetResponse outputs + * @property {flyteidl.core.ILiteralMap|null} [deprecatedOutputs] TaskGetResponse deprecatedOutputs + * @property {flyteidl.core.IOutputData|null} [outputs] TaskGetResponse outputs */ /** @@ -48656,9 +49258,17 @@ */ TaskGetResponse.prototype.state = 0; + /** + * TaskGetResponse deprecatedOutputs. + * @member {flyteidl.core.ILiteralMap|null|undefined} deprecatedOutputs + * @memberof flyteidl.service.TaskGetResponse + * @instance + */ + TaskGetResponse.prototype.deprecatedOutputs = null; + /** * TaskGetResponse outputs. - * @member {flyteidl.core.ILiteralMap|null|undefined} outputs + * @member {flyteidl.core.IOutputData|null|undefined} outputs * @memberof flyteidl.service.TaskGetResponse * @instance */ @@ -48690,8 +49300,10 @@ writer = $Writer.create(); if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.deprecatedOutputs != null && message.hasOwnProperty("deprecatedOutputs")) + $root.flyteidl.core.LiteralMap.encode(message.deprecatedOutputs, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.outputs != null && message.hasOwnProperty("outputs")) - $root.flyteidl.core.LiteralMap.encode(message.outputs, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + $root.flyteidl.core.OutputData.encode(message.outputs, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -48717,7 +49329,10 @@ message.state = reader.int32(); break; case 2: - message.outputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + message.deprecatedOutputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); + break; + case 3: + message.outputs = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -48749,8 +49364,13 @@ case 4: break; } + if (message.deprecatedOutputs != null && message.hasOwnProperty("deprecatedOutputs")) { + var error = $root.flyteidl.core.LiteralMap.verify(message.deprecatedOutputs); + if (error) + return "deprecatedOutputs." + error; + } if (message.outputs != null && message.hasOwnProperty("outputs")) { - var error = $root.flyteidl.core.LiteralMap.verify(message.outputs); + var error = $root.flyteidl.core.OutputData.verify(message.outputs); if (error) return "outputs." + error; } diff --git a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py index 236728acf1..afea71b5af 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py @@ -17,7 +17,7 @@ from flyteidl.core import identifier_pb2 as flyteidl_dot_core_dot_identifier__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/admin/agent.proto\x12\x0e\x66lyteidl.admin\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1e\x66lyteidl/core/identifier.proto\"\x98\x05\n\x15TaskExecutionMetadata\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12I\n\x06labels\x18\x03 \x03(\x0b\x32\x31.flyteidl.admin.TaskExecutionMetadata.LabelsEntryR\x06labels\x12X\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x36.flyteidl.admin.TaskExecutionMetadata.AnnotationsEntryR\x0b\x61nnotations\x12.\n\x13k8s_service_account\x18\x05 \x01(\tR\x11k8sServiceAccount\x12t\n\x15\x65nvironment_variables\x18\x06 \x03(\x0b\x32?.flyteidl.admin.TaskExecutionMetadata.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x83\x02\n\x11\x43reateTaskRequest\x12\x31\n\x06inputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\x12\x37\n\x08template\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x03 \x01(\tR\x0coutputPrefix\x12]\n\x17task_execution_metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.TaskExecutionMetadataR\x15taskExecutionMetadata\"9\n\x12\x43reateTaskResponse\x12#\n\rresource_meta\x18\x01 \x01(\x0cR\x0cresourceMeta\"R\n\x0eGetTaskRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\"G\n\x0fGetTaskResponse\x12\x34\n\x08resource\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ResourceR\x08resource\"l\n\x08Resource\x12+\n\x05state\x18\x01 \x01(\x0e\x32\x15.flyteidl.admin.StateR\x05state\x12\x33\n\x07outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x07outputs\"U\n\x11\x44\x65leteTaskRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\"\x14\n\x12\x44\x65leteTaskResponse*^\n\x05State\x12\x15\n\x11RETRYABLE_FAILURE\x10\x00\x12\x15\n\x11PERMANENT_FAILURE\x10\x01\x12\x0b\n\x07PENDING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x42\xb6\x01\n\x12\x63om.flyteidl.adminB\nAgentProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/admin/agent.proto\x12\x0e\x66lyteidl.admin\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1e\x66lyteidl/core/identifier.proto\"\x98\x05\n\x15TaskExecutionMetadata\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12I\n\x06labels\x18\x03 \x03(\x0b\x32\x31.flyteidl.admin.TaskExecutionMetadata.LabelsEntryR\x06labels\x12X\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x36.flyteidl.admin.TaskExecutionMetadata.AnnotationsEntryR\x0b\x61nnotations\x12.\n\x13k8s_service_account\x18\x05 \x01(\tR\x11k8sServiceAccount\x12t\n\x15\x65nvironment_variables\x18\x06 \x03(\x0b\x32?.flyteidl.admin.TaskExecutionMetadata.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xce\x02\n\x11\x43reateTaskRequest\x12J\n\x11\x64\x65precated_inputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x10\x64\x65precatedInputs\x12\x37\n\x08template\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x03 \x01(\tR\x0coutputPrefix\x12]\n\x17task_execution_metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.TaskExecutionMetadataR\x15taskExecutionMetadata\x12\x30\n\x06inputs\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\x06inputs\"9\n\x12\x43reateTaskResponse\x12#\n\rresource_meta\x18\x01 \x01(\x0cR\x0cresourceMeta\"R\n\x0eGetTaskRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\"G\n\x0fGetTaskResponse\x12\x34\n\x08resource\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ResourceR\x08resource\"\xba\x01\n\x08Resource\x12+\n\x05state\x18\x01 \x01(\x0e\x32\x15.flyteidl.admin.StateR\x05state\x12L\n\x12\x64\x65precated_outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x11\x64\x65precatedOutputs\x12\x33\n\x07outputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\x07outputs\"U\n\x11\x44\x65leteTaskRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\"\x14\n\x12\x44\x65leteTaskResponse*^\n\x05State\x12\x15\n\x11RETRYABLE_FAILURE\x10\x00\x12\x15\n\x11PERMANENT_FAILURE\x10\x01\x12\x0b\n\x07PENDING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x42\xb6\x01\n\x12\x63om.flyteidl.adminB\nAgentProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,8 +32,12 @@ _TASKEXECUTIONMETADATA_ANNOTATIONSENTRY._serialized_options = b'8\001' _TASKEXECUTIONMETADATA_ENVIRONMENTVARIABLESENTRY._options = None _TASKEXECUTIONMETADATA_ENVIRONMENTVARIABLESENTRY._serialized_options = b'8\001' - _globals['_STATE']._serialized_start=1530 - _globals['_STATE']._serialized_end=1624 + _CREATETASKREQUEST.fields_by_name['deprecated_inputs']._options = None + _CREATETASKREQUEST.fields_by_name['deprecated_inputs']._serialized_options = b'\030\001' + _RESOURCE.fields_by_name['deprecated_outputs']._options = None + _RESOURCE.fields_by_name['deprecated_outputs']._serialized_options = b'\030\001' + _globals['_STATE']._serialized_start=1684 + _globals['_STATE']._serialized_end=1778 _globals['_TASKEXECUTIONMETADATA']._serialized_start=167 _globals['_TASKEXECUTIONMETADATA']._serialized_end=831 _globals['_TASKEXECUTIONMETADATA_LABELSENTRY']._serialized_start=637 @@ -43,17 +47,17 @@ _globals['_TASKEXECUTIONMETADATA_ENVIRONMENTVARIABLESENTRY']._serialized_start=760 _globals['_TASKEXECUTIONMETADATA_ENVIRONMENTVARIABLESENTRY']._serialized_end=831 _globals['_CREATETASKREQUEST']._serialized_start=834 - _globals['_CREATETASKREQUEST']._serialized_end=1093 - _globals['_CREATETASKRESPONSE']._serialized_start=1095 - _globals['_CREATETASKRESPONSE']._serialized_end=1152 - _globals['_GETTASKREQUEST']._serialized_start=1154 - _globals['_GETTASKREQUEST']._serialized_end=1236 - _globals['_GETTASKRESPONSE']._serialized_start=1238 - _globals['_GETTASKRESPONSE']._serialized_end=1309 - _globals['_RESOURCE']._serialized_start=1311 - _globals['_RESOURCE']._serialized_end=1419 - _globals['_DELETETASKREQUEST']._serialized_start=1421 - _globals['_DELETETASKREQUEST']._serialized_end=1506 - _globals['_DELETETASKRESPONSE']._serialized_start=1508 - _globals['_DELETETASKRESPONSE']._serialized_end=1528 + _globals['_CREATETASKREQUEST']._serialized_end=1168 + _globals['_CREATETASKRESPONSE']._serialized_start=1170 + _globals['_CREATETASKRESPONSE']._serialized_end=1227 + _globals['_GETTASKREQUEST']._serialized_start=1229 + _globals['_GETTASKREQUEST']._serialized_end=1311 + _globals['_GETTASKRESPONSE']._serialized_start=1313 + _globals['_GETTASKRESPONSE']._serialized_end=1384 + _globals['_RESOURCE']._serialized_start=1387 + _globals['_RESOURCE']._serialized_end=1573 + _globals['_DELETETASKREQUEST']._serialized_start=1575 + _globals['_DELETETASKREQUEST']._serialized_end=1660 + _globals['_DELETETASKRESPONSE']._serialized_start=1662 + _globals['_DELETETASKRESPONSE']._serialized_end=1682 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi index 830158d0b2..c91290059f 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi @@ -61,16 +61,18 @@ class TaskExecutionMetadata(_message.Message): def __init__(self, task_execution_id: _Optional[_Union[_identifier_pb2.TaskExecutionIdentifier, _Mapping]] = ..., namespace: _Optional[str] = ..., labels: _Optional[_Mapping[str, str]] = ..., annotations: _Optional[_Mapping[str, str]] = ..., k8s_service_account: _Optional[str] = ..., environment_variables: _Optional[_Mapping[str, str]] = ...) -> None: ... class CreateTaskRequest(_message.Message): - __slots__ = ["inputs", "template", "output_prefix", "task_execution_metadata"] - INPUTS_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["deprecated_inputs", "template", "output_prefix", "task_execution_metadata", "inputs"] + DEPRECATED_INPUTS_FIELD_NUMBER: _ClassVar[int] TEMPLATE_FIELD_NUMBER: _ClassVar[int] OUTPUT_PREFIX_FIELD_NUMBER: _ClassVar[int] TASK_EXECUTION_METADATA_FIELD_NUMBER: _ClassVar[int] - inputs: _literals_pb2.LiteralMap + INPUTS_FIELD_NUMBER: _ClassVar[int] + deprecated_inputs: _literals_pb2.LiteralMap template: _tasks_pb2.TaskTemplate output_prefix: str task_execution_metadata: TaskExecutionMetadata - def __init__(self, inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ..., task_execution_metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ...) -> None: ... + inputs: _literals_pb2.InputData + def __init__(self, deprecated_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ..., task_execution_metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ..., inputs: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ...) -> None: ... class CreateTaskResponse(_message.Message): __slots__ = ["resource_meta"] @@ -93,12 +95,14 @@ class GetTaskResponse(_message.Message): def __init__(self, resource: _Optional[_Union[Resource, _Mapping]] = ...) -> None: ... class Resource(_message.Message): - __slots__ = ["state", "outputs"] + __slots__ = ["state", "deprecated_outputs", "outputs"] STATE_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_OUTPUTS_FIELD_NUMBER: _ClassVar[int] OUTPUTS_FIELD_NUMBER: _ClassVar[int] state: State - outputs: _literals_pb2.LiteralMap - def __init__(self, state: _Optional[_Union[State, str]] = ..., outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ...) -> None: ... + deprecated_outputs: _literals_pb2.LiteralMap + outputs: _literals_pb2.OutputData + def __init__(self, state: _Optional[_Union[State, str]] = ..., deprecated_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., outputs: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ...) -> None: ... class DeleteTaskRequest(_message.Message): __slots__ = ["task_type", "resource_meta"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py index 373d09440e..35b68f7846 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py @@ -23,7 +23,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc4\x01\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x31\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\x98\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xba\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x88\x02\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12:\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\nfullInputs\x12<\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ullOutputs\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x81\x02\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x35\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12\x37\n\ninput_data\x18\x06 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\x98\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xba\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x85\x03\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,6 +32,8 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.adminB\016ExecutionProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\242\002\003FAX\252\002\016Flyteidl.Admin\312\002\016Flyteidl\\Admin\342\002\032Flyteidl\\Admin\\GPBMetadata\352\002\017Flyteidl::Admin' + _EXECUTIONCREATEREQUEST.fields_by_name['inputs']._options = None + _EXECUTIONCREATEREQUEST.fields_by_name['inputs']._serialized_options = b'\030\001' _LITERALMAPBLOB.fields_by_name['values']._options = None _LITERALMAPBLOB.fields_by_name['values']._serialized_options = b'\030\001' _EXECUTIONCLOSURE.fields_by_name['outputs']._options = None @@ -50,54 +52,58 @@ _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['outputs']._serialized_options = b'\030\001' _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._options = None _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._serialized_options = b'\030\001' - _globals['_EXECUTIONSTATE']._serialized_start=5296 - _globals['_EXECUTIONSTATE']._serialized_end=5358 + _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._options = None + _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._serialized_options = b'\030\001' + _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._options = None + _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._serialized_options = b'\030\001' + _globals['_EXECUTIONSTATE']._serialized_start=5482 + _globals['_EXECUTIONSTATE']._serialized_end=5544 _globals['_EXECUTIONCREATEREQUEST']._serialized_start=370 - _globals['_EXECUTIONCREATEREQUEST']._serialized_end=566 - _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_start=569 - _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_end=722 - _globals['_EXECUTIONRECOVERREQUEST']._serialized_start=725 - _globals['_EXECUTIONRECOVERREQUEST']._serialized_end=893 - _globals['_EXECUTIONCREATERESPONSE']._serialized_start=895 - _globals['_EXECUTIONCREATERESPONSE']._serialized_end=980 - _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_start=982 - _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_end=1071 - _globals['_EXECUTION']._serialized_start=1074 - _globals['_EXECUTION']._serialized_end=1256 - _globals['_EXECUTIONLIST']._serialized_start=1258 - _globals['_EXECUTIONLIST']._serialized_end=1354 - _globals['_LITERALMAPBLOB']._serialized_start=1356 - _globals['_LITERALMAPBLOB']._serialized_end=1457 - _globals['_ABORTMETADATA']._serialized_start=1459 - _globals['_ABORTMETADATA']._serialized_end=1526 - _globals['_EXECUTIONCLOSURE']._serialized_start=1529 - _globals['_EXECUTIONCLOSURE']._serialized_end=2449 - _globals['_SYSTEMMETADATA']._serialized_start=2451 - _globals['_SYSTEMMETADATA']._serialized_end=2542 - _globals['_EXECUTIONMETADATA']._serialized_start=2545 - _globals['_EXECUTIONMETADATA']._serialized_end=3115 - _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_start=3012 - _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_end=3115 - _globals['_NOTIFICATIONLIST']._serialized_start=3117 - _globals['_NOTIFICATIONLIST']._serialized_end=3203 - _globals['_EXECUTIONSPEC']._serialized_start=3206 - _globals['_EXECUTIONSPEC']._serialized_end=4246 - _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4248 - _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4357 - _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4359 - _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4387 - _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4389 - _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4482 - _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4485 - _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=4749 - _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=4752 - _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=4890 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=4893 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5067 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5069 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5094 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5096 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5214 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5216 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5294 + _globals['_EXECUTIONCREATEREQUEST']._serialized_end=627 + _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_start=630 + _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_end=783 + _globals['_EXECUTIONRECOVERREQUEST']._serialized_start=786 + _globals['_EXECUTIONRECOVERREQUEST']._serialized_end=954 + _globals['_EXECUTIONCREATERESPONSE']._serialized_start=956 + _globals['_EXECUTIONCREATERESPONSE']._serialized_end=1041 + _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_start=1043 + _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_end=1132 + _globals['_EXECUTION']._serialized_start=1135 + _globals['_EXECUTION']._serialized_end=1317 + _globals['_EXECUTIONLIST']._serialized_start=1319 + _globals['_EXECUTIONLIST']._serialized_end=1415 + _globals['_LITERALMAPBLOB']._serialized_start=1417 + _globals['_LITERALMAPBLOB']._serialized_end=1518 + _globals['_ABORTMETADATA']._serialized_start=1520 + _globals['_ABORTMETADATA']._serialized_end=1587 + _globals['_EXECUTIONCLOSURE']._serialized_start=1590 + _globals['_EXECUTIONCLOSURE']._serialized_end=2510 + _globals['_SYSTEMMETADATA']._serialized_start=2512 + _globals['_SYSTEMMETADATA']._serialized_end=2603 + _globals['_EXECUTIONMETADATA']._serialized_start=2606 + _globals['_EXECUTIONMETADATA']._serialized_end=3176 + _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_start=3073 + _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_end=3176 + _globals['_NOTIFICATIONLIST']._serialized_start=3178 + _globals['_NOTIFICATIONLIST']._serialized_end=3264 + _globals['_EXECUTIONSPEC']._serialized_start=3267 + _globals['_EXECUTIONSPEC']._serialized_end=4307 + _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4309 + _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4418 + _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4420 + _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4448 + _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4450 + _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4543 + _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4546 + _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=4935 + _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=4938 + _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=5076 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=5079 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5253 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5255 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5280 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5282 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5400 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5402 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5480 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi index f29b3b747e..fb218486af 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi @@ -24,18 +24,20 @@ EXECUTION_ACTIVE: ExecutionState EXECUTION_ARCHIVED: ExecutionState class ExecutionCreateRequest(_message.Message): - __slots__ = ["project", "domain", "name", "spec", "inputs"] + __slots__ = ["project", "domain", "name", "spec", "inputs", "input_data"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] SPEC_FIELD_NUMBER: _ClassVar[int] INPUTS_FIELD_NUMBER: _ClassVar[int] + INPUT_DATA_FIELD_NUMBER: _ClassVar[int] project: str domain: str name: str spec: ExecutionSpec inputs: _literals_pb2.LiteralMap - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., spec: _Optional[_Union[ExecutionSpec, _Mapping]] = ..., inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ...) -> None: ... + input_data: _literals_pb2.InputData + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., spec: _Optional[_Union[ExecutionSpec, _Mapping]] = ..., inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ...) -> None: ... class ExecutionRelaunchRequest(_message.Message): __slots__ = ["id", "name", "overwrite_cache"] @@ -238,16 +240,20 @@ class WorkflowExecutionGetDataRequest(_message.Message): def __init__(self, id: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ...) -> None: ... class WorkflowExecutionGetDataResponse(_message.Message): - __slots__ = ["outputs", "inputs", "full_inputs", "full_outputs"] + __slots__ = ["outputs", "inputs", "full_inputs", "full_outputs", "input_data", "output_data"] OUTPUTS_FIELD_NUMBER: _ClassVar[int] INPUTS_FIELD_NUMBER: _ClassVar[int] FULL_INPUTS_FIELD_NUMBER: _ClassVar[int] FULL_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + INPUT_DATA_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] outputs: _common_pb2.UrlBlob inputs: _common_pb2.UrlBlob full_inputs: _literals_pb2.LiteralMap full_outputs: _literals_pb2.LiteralMap - def __init__(self, outputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., inputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., full_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ...) -> None: ... + input_data: _literals_pb2.InputData + output_data: _literals_pb2.OutputData + def __init__(self, outputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., inputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., full_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ...) -> None: ... class ExecutionUpdateRequest(_message.Message): __slots__ = ["id", "state"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py index b0827f2901..54c1501c23 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py @@ -22,7 +22,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n flyteidl/admin/launch_plan.proto\x12\x0e\x66lyteidl.admin\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1d\x66lyteidl/admin/schedule.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"x\n\x17LaunchPlanCreateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\"\x1a\n\x18LaunchPlanCreateResponse\"\xa8\x01\n\nLaunchPlan\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\x12;\n\x07\x63losure\x18\x03 \x01(\x0b\x32!.flyteidl.admin.LaunchPlanClosureR\x07\x63losure\"e\n\x0eLaunchPlanList\x12=\n\x0claunch_plans\x18\x01 \x03(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x0blaunchPlans\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"v\n\x04\x41uth\x12,\n\x12\x61ssumable_iam_role\x18\x01 \x01(\tR\x10\x61ssumableIamRole\x12<\n\x1akubernetes_service_account\x18\x02 \x01(\tR\x18kubernetesServiceAccount:\x02\x18\x01\"\xbd\x07\n\x0eLaunchPlanSpec\x12:\n\x0bworkflow_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12K\n\x0f\x65ntity_metadata\x18\x02 \x01(\x0b\x32\".flyteidl.admin.LaunchPlanMetadataR\x0e\x65ntityMetadata\x12\x42\n\x0e\x64\x65\x66\x61ult_inputs\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\rdefaultInputs\x12<\n\x0c\x66ixed_inputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ixedInputs\x12\x16\n\x04role\x18\x05 \x01(\tB\x02\x18\x01R\x04role\x12.\n\x06labels\x18\x06 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x07 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12,\n\x04\x61uth\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.AuthB\x02\x18\x01R\x04\x61uth\x12\x39\n\tauth_role\x18\t \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12M\n\x12quality_of_service\x18\x10 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12X\n\x16raw_output_data_config\x18\x11 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12@\n\rinterruptible\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x14 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x15 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\"\xcd\x02\n\x11LaunchPlanClosure\x12\x35\n\x05state\x18\x01 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\x12\x44\n\x0f\x65xpected_inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x0e\x65xpectedInputs\x12\x45\n\x10\x65xpected_outputs\x18\x03 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x0f\x65xpectedOutputs\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"\x8e\x01\n\x12LaunchPlanMetadata\x12\x34\n\x08schedule\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ScheduleR\x08schedule\x12\x42\n\rnotifications\x18\x02 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"{\n\x17LaunchPlanUpdateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x35\n\x05state\x18\x02 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\"\x1a\n\x18LaunchPlanUpdateResponse\"P\n\x17\x41\x63tiveLaunchPlanRequest\x12\x35\n\x02id\x18\x01 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\"\xaa\x01\n\x1b\x41\x63tiveLaunchPlanListRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x03 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy*+\n\x0fLaunchPlanState\x12\x0c\n\x08INACTIVE\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x42\xbb\x01\n\x12\x63om.flyteidl.adminB\x0fLaunchPlanProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n flyteidl/admin/launch_plan.proto\x12\x0e\x66lyteidl.admin\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1d\x66lyteidl/admin/schedule.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"x\n\x17LaunchPlanCreateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\"\x1a\n\x18LaunchPlanCreateResponse\"\xa8\x01\n\nLaunchPlan\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\x12;\n\x07\x63losure\x18\x03 \x01(\x0b\x32!.flyteidl.admin.LaunchPlanClosureR\x07\x63losure\"e\n\x0eLaunchPlanList\x12=\n\x0claunch_plans\x18\x01 \x03(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x0blaunchPlans\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"v\n\x04\x41uth\x12,\n\x12\x61ssumable_iam_role\x18\x01 \x01(\tR\x10\x61ssumableIamRole\x12<\n\x1akubernetes_service_account\x18\x02 \x01(\tR\x18kubernetesServiceAccount:\x02\x18\x01\"\x85\x08\n\x0eLaunchPlanSpec\x12:\n\x0bworkflow_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12K\n\x0f\x65ntity_metadata\x18\x02 \x01(\x0b\x32\".flyteidl.admin.LaunchPlanMetadataR\x0e\x65ntityMetadata\x12\x42\n\x0e\x64\x65\x66\x61ult_inputs\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\rdefaultInputs\x12@\n\x0c\x66ixed_inputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ixedInputs\x12\x42\n\x10\x66ixed_input_data\x18\x16 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\x0e\x66ixedInputData\x12\x16\n\x04role\x18\x05 \x01(\tB\x02\x18\x01R\x04role\x12.\n\x06labels\x18\x06 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x07 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12,\n\x04\x61uth\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.AuthB\x02\x18\x01R\x04\x61uth\x12\x39\n\tauth_role\x18\t \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12M\n\x12quality_of_service\x18\x10 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12X\n\x16raw_output_data_config\x18\x11 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12@\n\rinterruptible\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x14 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x15 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\"\xcd\x02\n\x11LaunchPlanClosure\x12\x35\n\x05state\x18\x01 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\x12\x44\n\x0f\x65xpected_inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x0e\x65xpectedInputs\x12\x45\n\x10\x65xpected_outputs\x18\x03 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x0f\x65xpectedOutputs\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"\x8e\x01\n\x12LaunchPlanMetadata\x12\x34\n\x08schedule\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ScheduleR\x08schedule\x12\x42\n\rnotifications\x18\x02 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"{\n\x17LaunchPlanUpdateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x35\n\x05state\x18\x02 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\"\x1a\n\x18LaunchPlanUpdateResponse\"P\n\x17\x41\x63tiveLaunchPlanRequest\x12\x35\n\x02id\x18\x01 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\"\xaa\x01\n\x1b\x41\x63tiveLaunchPlanListRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x03 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy*+\n\x0fLaunchPlanState\x12\x0c\n\x08INACTIVE\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x42\xbb\x01\n\x12\x63om.flyteidl.adminB\x0fLaunchPlanProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,14 +33,16 @@ DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.adminB\017LaunchPlanProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\242\002\003FAX\252\002\016Flyteidl.Admin\312\002\016Flyteidl\\Admin\342\002\032Flyteidl\\Admin\\GPBMetadata\352\002\017Flyteidl::Admin' _AUTH._options = None _AUTH._serialized_options = b'\030\001' + _LAUNCHPLANSPEC.fields_by_name['fixed_inputs']._options = None + _LAUNCHPLANSPEC.fields_by_name['fixed_inputs']._serialized_options = b'\030\001' _LAUNCHPLANSPEC.fields_by_name['role']._options = None _LAUNCHPLANSPEC.fields_by_name['role']._serialized_options = b'\030\001' _LAUNCHPLANSPEC.fields_by_name['auth']._options = None _LAUNCHPLANSPEC.fields_by_name['auth']._serialized_options = b'\030\001' _LAUNCHPLANSPEC.fields_by_name['auth_role']._options = None _LAUNCHPLANSPEC.fields_by_name['auth_role']._serialized_options = b'\030\001' - _globals['_LAUNCHPLANSTATE']._serialized_start=2724 - _globals['_LAUNCHPLANSTATE']._serialized_end=2767 + _globals['_LAUNCHPLANSTATE']._serialized_start=2796 + _globals['_LAUNCHPLANSTATE']._serialized_end=2839 _globals['_LAUNCHPLANCREATEREQUEST']._serialized_start=331 _globals['_LAUNCHPLANCREATEREQUEST']._serialized_end=451 _globals['_LAUNCHPLANCREATERESPONSE']._serialized_start=453 @@ -52,17 +54,17 @@ _globals['_AUTH']._serialized_start=755 _globals['_AUTH']._serialized_end=873 _globals['_LAUNCHPLANSPEC']._serialized_start=876 - _globals['_LAUNCHPLANSPEC']._serialized_end=1833 - _globals['_LAUNCHPLANCLOSURE']._serialized_start=1836 - _globals['_LAUNCHPLANCLOSURE']._serialized_end=2169 - _globals['_LAUNCHPLANMETADATA']._serialized_start=2172 - _globals['_LAUNCHPLANMETADATA']._serialized_end=2314 - _globals['_LAUNCHPLANUPDATEREQUEST']._serialized_start=2316 - _globals['_LAUNCHPLANUPDATEREQUEST']._serialized_end=2439 - _globals['_LAUNCHPLANUPDATERESPONSE']._serialized_start=2441 - _globals['_LAUNCHPLANUPDATERESPONSE']._serialized_end=2467 - _globals['_ACTIVELAUNCHPLANREQUEST']._serialized_start=2469 - _globals['_ACTIVELAUNCHPLANREQUEST']._serialized_end=2549 - _globals['_ACTIVELAUNCHPLANLISTREQUEST']._serialized_start=2552 - _globals['_ACTIVELAUNCHPLANLISTREQUEST']._serialized_end=2722 + _globals['_LAUNCHPLANSPEC']._serialized_end=1905 + _globals['_LAUNCHPLANCLOSURE']._serialized_start=1908 + _globals['_LAUNCHPLANCLOSURE']._serialized_end=2241 + _globals['_LAUNCHPLANMETADATA']._serialized_start=2244 + _globals['_LAUNCHPLANMETADATA']._serialized_end=2386 + _globals['_LAUNCHPLANUPDATEREQUEST']._serialized_start=2388 + _globals['_LAUNCHPLANUPDATEREQUEST']._serialized_end=2511 + _globals['_LAUNCHPLANUPDATERESPONSE']._serialized_start=2513 + _globals['_LAUNCHPLANUPDATERESPONSE']._serialized_end=2539 + _globals['_ACTIVELAUNCHPLANREQUEST']._serialized_start=2541 + _globals['_ACTIVELAUNCHPLANREQUEST']._serialized_end=2621 + _globals['_ACTIVELAUNCHPLANLISTREQUEST']._serialized_start=2624 + _globals['_ACTIVELAUNCHPLANLISTREQUEST']._serialized_end=2794 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi index 7a77f44820..18224cdb9f 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi @@ -61,11 +61,12 @@ class Auth(_message.Message): def __init__(self, assumable_iam_role: _Optional[str] = ..., kubernetes_service_account: _Optional[str] = ...) -> None: ... class LaunchPlanSpec(_message.Message): - __slots__ = ["workflow_id", "entity_metadata", "default_inputs", "fixed_inputs", "role", "labels", "annotations", "auth", "auth_role", "security_context", "quality_of_service", "raw_output_data_config", "max_parallelism", "interruptible", "overwrite_cache", "envs"] + __slots__ = ["workflow_id", "entity_metadata", "default_inputs", "fixed_inputs", "fixed_input_data", "role", "labels", "annotations", "auth", "auth_role", "security_context", "quality_of_service", "raw_output_data_config", "max_parallelism", "interruptible", "overwrite_cache", "envs"] WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int] ENTITY_METADATA_FIELD_NUMBER: _ClassVar[int] DEFAULT_INPUTS_FIELD_NUMBER: _ClassVar[int] FIXED_INPUTS_FIELD_NUMBER: _ClassVar[int] + FIXED_INPUT_DATA_FIELD_NUMBER: _ClassVar[int] ROLE_FIELD_NUMBER: _ClassVar[int] LABELS_FIELD_NUMBER: _ClassVar[int] ANNOTATIONS_FIELD_NUMBER: _ClassVar[int] @@ -82,6 +83,7 @@ class LaunchPlanSpec(_message.Message): entity_metadata: LaunchPlanMetadata default_inputs: _interface_pb2.ParameterMap fixed_inputs: _literals_pb2.LiteralMap + fixed_input_data: _literals_pb2.InputData role: str labels: _common_pb2.Labels annotations: _common_pb2.Annotations @@ -94,7 +96,7 @@ class LaunchPlanSpec(_message.Message): interruptible: _wrappers_pb2.BoolValue overwrite_cache: bool envs: _common_pb2.Envs - def __init__(self, workflow_id: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., entity_metadata: _Optional[_Union[LaunchPlanMetadata, _Mapping]] = ..., default_inputs: _Optional[_Union[_interface_pb2.ParameterMap, _Mapping]] = ..., fixed_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., role: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., annotations: _Optional[_Union[_common_pb2.Annotations, _Mapping]] = ..., auth: _Optional[_Union[Auth, _Mapping]] = ..., auth_role: _Optional[_Union[_common_pb2.AuthRole, _Mapping]] = ..., security_context: _Optional[_Union[_security_pb2.SecurityContext, _Mapping]] = ..., quality_of_service: _Optional[_Union[_execution_pb2.QualityOfService, _Mapping]] = ..., raw_output_data_config: _Optional[_Union[_common_pb2.RawOutputDataConfig, _Mapping]] = ..., max_parallelism: _Optional[int] = ..., interruptible: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., overwrite_cache: bool = ..., envs: _Optional[_Union[_common_pb2.Envs, _Mapping]] = ...) -> None: ... + def __init__(self, workflow_id: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., entity_metadata: _Optional[_Union[LaunchPlanMetadata, _Mapping]] = ..., default_inputs: _Optional[_Union[_interface_pb2.ParameterMap, _Mapping]] = ..., fixed_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., fixed_input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ..., role: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., annotations: _Optional[_Union[_common_pb2.Annotations, _Mapping]] = ..., auth: _Optional[_Union[Auth, _Mapping]] = ..., auth_role: _Optional[_Union[_common_pb2.AuthRole, _Mapping]] = ..., security_context: _Optional[_Union[_security_pb2.SecurityContext, _Mapping]] = ..., quality_of_service: _Optional[_Union[_execution_pb2.QualityOfService, _Mapping]] = ..., raw_output_data_config: _Optional[_Union[_common_pb2.RawOutputDataConfig, _Mapping]] = ..., max_parallelism: _Optional[int] = ..., interruptible: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., overwrite_cache: bool = ..., envs: _Optional[_Union[_common_pb2.Envs, _Mapping]] = ...) -> None: ... class LaunchPlanClosure(_message.Message): __slots__ = ["state", "expected_inputs", "expected_outputs", "created_at", "updated_at"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py index 17e5cbd652..ef295e0deb 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py @@ -21,7 +21,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/node_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"Q\n\x17NodeExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x99\x02\n\x18NodeExecutionListRequest\x12^\n\x15workflow_execution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x13workflowExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12(\n\x10unique_parent_id\x18\x06 \x01(\tR\x0euniqueParentId\"\xea\x01\n\x1fNodeExecutionForTaskListRequest\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xe7\x01\n\rNodeExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.NodeExecutionClosureR\x07\x63losure\x12\x41\n\x08metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.NodeExecutionMetaDataR\x08metadata\"\xba\x01\n\x15NodeExecutionMetaData\x12\x1f\n\x0bretry_group\x18\x01 \x01(\tR\nretryGroup\x12$\n\x0eis_parent_node\x18\x02 \x01(\x08R\x0cisParentNode\x12 \n\x0cspec_node_id\x18\x03 \x01(\tR\nspecNodeId\x12\x1d\n\nis_dynamic\x18\x04 \x01(\x08R\tisDynamic\x12\x19\n\x08is_array\x18\x05 \x01(\x08R\x07isArray\"q\n\x11NodeExecutionList\x12\x46\n\x0fnode_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.NodeExecutionR\x0enodeExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xf6\x05\n\x14NodeExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\n \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.admin.WorkflowNodeMetadataH\x01R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\t \x01(\x0b\x32 .flyteidl.admin.TaskNodeMetadataH\x01R\x10taskNodeMetadata\x12\x19\n\x08\x64\x65\x63k_uri\x18\x0b \x01(\tR\x07\x64\x65\x63kUri\x12/\n\x14\x64ynamic_job_spec_uri\x18\x0c \x01(\tR\x11\x64ynamicJobSpecUriB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"d\n\x14WorkflowNodeMetadata\x12L\n\x0b\x65xecutionId\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xc0\x01\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bNodeExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x96\x03\n\x1cNodeExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12:\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\nfullInputs\x12<\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ullOutputs\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.admin.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\x12\x38\n\nflyte_urls\x18\x11 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12NodeExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/node_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"Q\n\x17NodeExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x99\x02\n\x18NodeExecutionListRequest\x12^\n\x15workflow_execution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x13workflowExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12(\n\x10unique_parent_id\x18\x06 \x01(\tR\x0euniqueParentId\"\xea\x01\n\x1fNodeExecutionForTaskListRequest\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xe7\x01\n\rNodeExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.NodeExecutionClosureR\x07\x63losure\x12\x41\n\x08metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.NodeExecutionMetaDataR\x08metadata\"\xba\x01\n\x15NodeExecutionMetaData\x12\x1f\n\x0bretry_group\x18\x01 \x01(\tR\nretryGroup\x12$\n\x0eis_parent_node\x18\x02 \x01(\x08R\x0cisParentNode\x12 \n\x0cspec_node_id\x18\x03 \x01(\tR\nspecNodeId\x12\x1d\n\nis_dynamic\x18\x04 \x01(\x08R\tisDynamic\x12\x19\n\x08is_array\x18\x05 \x01(\x08R\x07isArray\"q\n\x11NodeExecutionList\x12\x46\n\x0fnode_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.NodeExecutionR\x0enodeExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xf6\x05\n\x14NodeExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\n \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.admin.WorkflowNodeMetadataH\x01R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\t \x01(\x0b\x32 .flyteidl.admin.TaskNodeMetadataH\x01R\x10taskNodeMetadata\x12\x19\n\x08\x64\x65\x63k_uri\x18\x0b \x01(\tR\x07\x64\x65\x63kUri\x12/\n\x14\x64ynamic_job_spec_uri\x18\x0c \x01(\tR\x11\x64ynamicJobSpecUriB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"d\n\x14WorkflowNodeMetadata\x12L\n\x0b\x65xecutionId\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xc0\x01\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bNodeExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x93\x04\n\x1cNodeExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.admin.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\x12\x38\n\nflyte_urls\x18\x11 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12NodeExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,6 +38,10 @@ _NODEEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._serialized_options = b'\030\001' _NODEEXECUTIONGETDATARESPONSE.fields_by_name['outputs']._options = None _NODEEXECUTIONGETDATARESPONSE.fields_by_name['outputs']._serialized_options = b'\030\001' + _NODEEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._options = None + _NODEEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._serialized_options = b'\030\001' + _NODEEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._options = None + _NODEEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._serialized_options = b'\030\001' _globals['_NODEEXECUTIONGETREQUEST']._serialized_start=301 _globals['_NODEEXECUTIONGETREQUEST']._serialized_end=382 _globals['_NODEEXECUTIONLISTREQUEST']._serialized_start=385 @@ -61,5 +65,5 @@ _globals['_NODEEXECUTIONGETDATAREQUEST']._serialized_start=2710 _globals['_NODEEXECUTIONGETDATAREQUEST']._serialized_end=2795 _globals['_NODEEXECUTIONGETDATARESPONSE']._serialized_start=2798 - _globals['_NODEEXECUTIONGETDATARESPONSE']._serialized_end=3204 + _globals['_NODEEXECUTIONGETDATARESPONSE']._serialized_end=3329 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi index 8cbb708f01..c8c4f3e0ed 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi @@ -144,17 +144,21 @@ class NodeExecutionGetDataRequest(_message.Message): def __init__(self, id: _Optional[_Union[_identifier_pb2.NodeExecutionIdentifier, _Mapping]] = ...) -> None: ... class NodeExecutionGetDataResponse(_message.Message): - __slots__ = ["inputs", "outputs", "full_inputs", "full_outputs", "dynamic_workflow", "flyte_urls"] + __slots__ = ["inputs", "outputs", "full_inputs", "full_outputs", "input_data", "output_data", "dynamic_workflow", "flyte_urls"] INPUTS_FIELD_NUMBER: _ClassVar[int] OUTPUTS_FIELD_NUMBER: _ClassVar[int] FULL_INPUTS_FIELD_NUMBER: _ClassVar[int] FULL_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + INPUT_DATA_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] DYNAMIC_WORKFLOW_FIELD_NUMBER: _ClassVar[int] FLYTE_URLS_FIELD_NUMBER: _ClassVar[int] inputs: _common_pb2.UrlBlob outputs: _common_pb2.UrlBlob full_inputs: _literals_pb2.LiteralMap full_outputs: _literals_pb2.LiteralMap + input_data: _literals_pb2.InputData + output_data: _literals_pb2.OutputData dynamic_workflow: DynamicWorkflowNodeMetadata flyte_urls: _common_pb2.FlyteURLs - def __init__(self, inputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., outputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., full_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., dynamic_workflow: _Optional[_Union[DynamicWorkflowNodeMetadata, _Mapping]] = ..., flyte_urls: _Optional[_Union[_common_pb2.FlyteURLs, _Mapping]] = ...) -> None: ... + def __init__(self, inputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., outputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., full_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., dynamic_workflow: _Optional[_Union[DynamicWorkflowNodeMetadata, _Mapping]] = ..., flyte_urls: _Optional[_Union[_common_pb2.FlyteURLs, _Mapping]] = ...) -> None: ... diff --git a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py index 226866f72d..58f8c1a66f 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py @@ -21,7 +21,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/task_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1a\x66lyteidl/event/event.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"Q\n\x17TaskExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xe3\x01\n\x18TaskExecutionListRequest\x12R\n\x11node_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x0fnodeExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xc1\x01\n\rTaskExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.TaskExecutionClosureR\x07\x63losure\x12\x1b\n\tis_parent\x18\x04 \x01(\x08R\x08isParent\"q\n\x11TaskExecutionList\x12\x46\n\x0ftask_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.TaskExecutionR\x0etaskExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x9c\x06\n\x14TaskExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\x0c \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12*\n\x04logs\x18\x04 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x38\n\x0b\x63ustom_info\x18\t \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12\x16\n\x06reason\x18\n \x01(\tR\x06reason\x12\x1b\n\ttask_type\x18\x0b \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x11 \x01(\x05R\x0c\x65ventVersion\x12\x30\n\x07reasons\x18\x12 \x03(\x0b\x32\x16.flyteidl.admin.ReasonR\x07reasonsB\x0f\n\routput_result\"_\n\x06Reason\x12;\n\x0boccurred_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"U\n\x1bTaskExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xbe\x02\n\x1cTaskExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12:\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\nfullInputs\x12<\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ullOutputs\x12\x38\n\nflyte_urls\x18\x05 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12TaskExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/task_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1a\x66lyteidl/event/event.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"Q\n\x17TaskExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xe3\x01\n\x18TaskExecutionListRequest\x12R\n\x11node_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x0fnodeExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xc1\x01\n\rTaskExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.TaskExecutionClosureR\x07\x63losure\x12\x1b\n\tis_parent\x18\x04 \x01(\x08R\x08isParent\"q\n\x11TaskExecutionList\x12\x46\n\x0ftask_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.TaskExecutionR\x0etaskExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x9c\x06\n\x14TaskExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\x0c \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12*\n\x04logs\x18\x04 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x38\n\x0b\x63ustom_info\x18\t \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12\x16\n\x06reason\x18\n \x01(\tR\x06reason\x12\x1b\n\ttask_type\x18\x0b \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x11 \x01(\x05R\x0c\x65ventVersion\x12\x30\n\x07reasons\x18\x12 \x03(\x0b\x32\x16.flyteidl.admin.ReasonR\x07reasonsB\x0f\n\routput_result\"_\n\x06Reason\x12;\n\x0boccurred_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"U\n\x1bTaskExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xbb\x03\n\x1cTaskExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x06 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x07 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\x12\x38\n\nflyte_urls\x18\x05 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12TaskExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,6 +38,10 @@ _TASKEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._serialized_options = b'\030\001' _TASKEXECUTIONGETDATARESPONSE.fields_by_name['outputs']._options = None _TASKEXECUTIONGETDATARESPONSE.fields_by_name['outputs']._serialized_options = b'\030\001' + _TASKEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._options = None + _TASKEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._serialized_options = b'\030\001' + _TASKEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._options = None + _TASKEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._serialized_options = b'\030\001' _globals['_TASKEXECUTIONGETREQUEST']._serialized_start=300 _globals['_TASKEXECUTIONGETREQUEST']._serialized_end=381 _globals['_TASKEXECUTIONLISTREQUEST']._serialized_start=384 @@ -53,5 +57,5 @@ _globals['_TASKEXECUTIONGETDATAREQUEST']._serialized_start=1820 _globals['_TASKEXECUTIONGETDATAREQUEST']._serialized_end=1905 _globals['_TASKEXECUTIONGETDATARESPONSE']._serialized_start=1908 - _globals['_TASKEXECUTIONGETDATARESPONSE']._serialized_end=2226 + _globals['_TASKEXECUTIONGETDATARESPONSE']._serialized_end=2351 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi index 7f675cc7db..282cf2d95d 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi @@ -102,15 +102,19 @@ class TaskExecutionGetDataRequest(_message.Message): def __init__(self, id: _Optional[_Union[_identifier_pb2.TaskExecutionIdentifier, _Mapping]] = ...) -> None: ... class TaskExecutionGetDataResponse(_message.Message): - __slots__ = ["inputs", "outputs", "full_inputs", "full_outputs", "flyte_urls"] + __slots__ = ["inputs", "outputs", "full_inputs", "full_outputs", "input_data", "output_data", "flyte_urls"] INPUTS_FIELD_NUMBER: _ClassVar[int] OUTPUTS_FIELD_NUMBER: _ClassVar[int] FULL_INPUTS_FIELD_NUMBER: _ClassVar[int] FULL_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + INPUT_DATA_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] FLYTE_URLS_FIELD_NUMBER: _ClassVar[int] inputs: _common_pb2.UrlBlob outputs: _common_pb2.UrlBlob full_inputs: _literals_pb2.LiteralMap full_outputs: _literals_pb2.LiteralMap + input_data: _literals_pb2.InputData + output_data: _literals_pb2.OutputData flyte_urls: _common_pb2.FlyteURLs - def __init__(self, inputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., outputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., full_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., flyte_urls: _Optional[_Union[_common_pb2.FlyteURLs, _Mapping]] = ...) -> None: ... + def __init__(self, inputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., outputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., full_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., flyte_urls: _Optional[_Union[_common_pb2.FlyteURLs, _Mapping]] = ...) -> None: ... diff --git a/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.py b/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.py index 42a098cb95..635ac0af24 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.py @@ -17,7 +17,7 @@ from flyteidl.core import types_pb2 as flyteidl_dot_core_dot_types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/core/literals.proto\x12\rflyteidl.core\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x19\x66lyteidl/core/types.proto\"\x87\x02\n\tPrimitive\x12\x1a\n\x07integer\x18\x01 \x01(\x03H\x00R\x07integer\x12!\n\x0b\x66loat_value\x18\x02 \x01(\x01H\x00R\nfloatValue\x12#\n\x0cstring_value\x18\x03 \x01(\tH\x00R\x0bstringValue\x12\x1a\n\x07\x62oolean\x18\x04 \x01(\x08H\x00R\x07\x62oolean\x12\x38\n\x08\x64\x61tetime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x08\x64\x61tetime\x12\x37\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00R\x08\x64urationB\x07\n\x05value\"\x06\n\x04Void\"Q\n\x04\x42lob\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x1b.flyteidl.core.BlobMetadataR\x08metadata\x12\x10\n\x03uri\x18\x03 \x01(\tR\x03uri\";\n\x0c\x42lobMetadata\x12+\n\x04type\x18\x01 \x01(\x0b\x32\x17.flyteidl.core.BlobTypeR\x04type\"0\n\x06\x42inary\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x10\n\x03tag\x18\x02 \x01(\tR\x03tag\"I\n\x06Schema\x12\x10\n\x03uri\x18\x01 \x01(\tR\x03uri\x12-\n\x04type\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.SchemaTypeR\x04type\"e\n\x05Union\x12,\n\x05value\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\x12.\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\x04type\"y\n\x19StructuredDatasetMetadata\x12\\\n\x17structured_dataset_type\x18\x01 \x01(\x0b\x32$.flyteidl.core.StructuredDatasetTypeR\x15structuredDatasetType\"k\n\x11StructuredDataset\x12\x10\n\x03uri\x18\x01 \x01(\tR\x03uri\x12\x44\n\x08metadata\x18\x02 \x01(\x0b\x32(.flyteidl.core.StructuredDatasetMetadataR\x08metadata\"\xf0\x03\n\x06Scalar\x12\x38\n\tprimitive\x18\x01 \x01(\x0b\x32\x18.flyteidl.core.PrimitiveH\x00R\tprimitive\x12)\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x13.flyteidl.core.BlobH\x00R\x04\x62lob\x12/\n\x06\x62inary\x18\x03 \x01(\x0b\x32\x15.flyteidl.core.BinaryH\x00R\x06\x62inary\x12/\n\x06schema\x18\x04 \x01(\x0b\x32\x15.flyteidl.core.SchemaH\x00R\x06schema\x12\x32\n\tnone_type\x18\x05 \x01(\x0b\x32\x13.flyteidl.core.VoidH\x00R\x08noneType\x12,\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x14.flyteidl.core.ErrorH\x00R\x05\x65rror\x12\x33\n\x07generic\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x00R\x07generic\x12Q\n\x12structured_dataset\x18\x08 \x01(\x0b\x32 .flyteidl.core.StructuredDatasetH\x00R\x11structuredDataset\x12,\n\x05union\x18\t \x01(\x0b\x32\x14.flyteidl.core.UnionH\x00R\x05unionB\x07\n\x05value\"\xca\x01\n\x07Literal\x12/\n\x06scalar\x18\x01 \x01(\x0b\x32\x15.flyteidl.core.ScalarH\x00R\x06scalar\x12\x42\n\ncollection\x18\x02 \x01(\x0b\x32 .flyteidl.core.LiteralCollectionH\x00R\ncollection\x12-\n\x03map\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\x03map\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hashB\x07\n\x05value\"G\n\x11LiteralCollection\x12\x32\n\x08literals\x18\x01 \x03(\x0b\x32\x16.flyteidl.core.LiteralR\x08literals\"\xa6\x01\n\nLiteralMap\x12\x43\n\x08literals\x18\x01 \x03(\x0b\x32\'.flyteidl.core.LiteralMap.LiteralsEntryR\x08literals\x1aS\n\rLiteralsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value:\x02\x38\x01\"O\n\x15\x42indingDataCollection\x12\x36\n\x08\x62indings\x18\x01 \x03(\x0b\x32\x1a.flyteidl.core.BindingDataR\x08\x62indings\"\xb2\x01\n\x0e\x42indingDataMap\x12G\n\x08\x62indings\x18\x01 \x03(\x0b\x32+.flyteidl.core.BindingDataMap.BindingsEntryR\x08\x62indings\x1aW\n\rBindingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.BindingDataR\x05value:\x02\x38\x01\"G\n\tUnionInfo\x12:\n\ntargetType\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\ntargetType\"\xae\x02\n\x0b\x42indingData\x12/\n\x06scalar\x18\x01 \x01(\x0b\x32\x15.flyteidl.core.ScalarH\x00R\x06scalar\x12\x46\n\ncollection\x18\x02 \x01(\x0b\x32$.flyteidl.core.BindingDataCollectionH\x00R\ncollection\x12:\n\x07promise\x18\x03 \x01(\x0b\x32\x1e.flyteidl.core.OutputReferenceH\x00R\x07promise\x12\x31\n\x03map\x18\x04 \x01(\x0b\x32\x1d.flyteidl.core.BindingDataMapH\x00R\x03map\x12.\n\x05union\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.UnionInfoR\x05unionB\x07\n\x05value\"Q\n\x07\x42inding\x12\x10\n\x03var\x18\x01 \x01(\tR\x03var\x12\x34\n\x07\x62inding\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.BindingDataR\x07\x62inding\"6\n\x0cKeyValuePair\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\")\n\rRetryStrategy\x12\x18\n\x07retries\x18\x05 \x01(\rR\x07retriesB\xb3\x01\n\x11\x63om.flyteidl.coreB\rLiteralsProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/core/literals.proto\x12\rflyteidl.core\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x19\x66lyteidl/core/types.proto\"\x87\x02\n\tPrimitive\x12\x1a\n\x07integer\x18\x01 \x01(\x03H\x00R\x07integer\x12!\n\x0b\x66loat_value\x18\x02 \x01(\x01H\x00R\nfloatValue\x12#\n\x0cstring_value\x18\x03 \x01(\tH\x00R\x0bstringValue\x12\x1a\n\x07\x62oolean\x18\x04 \x01(\x08H\x00R\x07\x62oolean\x12\x38\n\x08\x64\x61tetime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x08\x64\x61tetime\x12\x37\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00R\x08\x64urationB\x07\n\x05value\"\x06\n\x04Void\"Q\n\x04\x42lob\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x1b.flyteidl.core.BlobMetadataR\x08metadata\x12\x10\n\x03uri\x18\x03 \x01(\tR\x03uri\";\n\x0c\x42lobMetadata\x12+\n\x04type\x18\x01 \x01(\x0b\x32\x17.flyteidl.core.BlobTypeR\x04type\"0\n\x06\x42inary\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x10\n\x03tag\x18\x02 \x01(\tR\x03tag\"I\n\x06Schema\x12\x10\n\x03uri\x18\x01 \x01(\tR\x03uri\x12-\n\x04type\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.SchemaTypeR\x04type\"e\n\x05Union\x12,\n\x05value\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\x12.\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\x04type\"y\n\x19StructuredDatasetMetadata\x12\\\n\x17structured_dataset_type\x18\x01 \x01(\x0b\x32$.flyteidl.core.StructuredDatasetTypeR\x15structuredDatasetType\"k\n\x11StructuredDataset\x12\x10\n\x03uri\x18\x01 \x01(\tR\x03uri\x12\x44\n\x08metadata\x18\x02 \x01(\x0b\x32(.flyteidl.core.StructuredDatasetMetadataR\x08metadata\"\xf0\x03\n\x06Scalar\x12\x38\n\tprimitive\x18\x01 \x01(\x0b\x32\x18.flyteidl.core.PrimitiveH\x00R\tprimitive\x12)\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x13.flyteidl.core.BlobH\x00R\x04\x62lob\x12/\n\x06\x62inary\x18\x03 \x01(\x0b\x32\x15.flyteidl.core.BinaryH\x00R\x06\x62inary\x12/\n\x06schema\x18\x04 \x01(\x0b\x32\x15.flyteidl.core.SchemaH\x00R\x06schema\x12\x32\n\tnone_type\x18\x05 \x01(\x0b\x32\x13.flyteidl.core.VoidH\x00R\x08noneType\x12,\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x14.flyteidl.core.ErrorH\x00R\x05\x65rror\x12\x33\n\x07generic\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x00R\x07generic\x12Q\n\x12structured_dataset\x18\x08 \x01(\x0b\x32 .flyteidl.core.StructuredDatasetH\x00R\x11structuredDataset\x12,\n\x05union\x18\t \x01(\x0b\x32\x14.flyteidl.core.UnionH\x00R\x05unionB\x07\n\x05value\"\xca\x01\n\x07Literal\x12/\n\x06scalar\x18\x01 \x01(\x0b\x32\x15.flyteidl.core.ScalarH\x00R\x06scalar\x12\x42\n\ncollection\x18\x02 \x01(\x0b\x32 .flyteidl.core.LiteralCollectionH\x00R\ncollection\x12-\n\x03map\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\x03map\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hashB\x07\n\x05value\"G\n\x11LiteralCollection\x12\x32\n\x08literals\x18\x01 \x03(\x0b\x32\x16.flyteidl.core.LiteralR\x08literals\"\xa6\x01\n\nLiteralMap\x12\x43\n\x08literals\x18\x01 \x03(\x0b\x32\'.flyteidl.core.LiteralMap.LiteralsEntryR\x08literals\x1aS\n\rLiteralsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value:\x02\x38\x01\">\n\tInputData\x12\x31\n\x06inputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\"A\n\nOutputData\x12\x33\n\x07outputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x07outputs\"O\n\x15\x42indingDataCollection\x12\x36\n\x08\x62indings\x18\x01 \x03(\x0b\x32\x1a.flyteidl.core.BindingDataR\x08\x62indings\"\xb2\x01\n\x0e\x42indingDataMap\x12G\n\x08\x62indings\x18\x01 \x03(\x0b\x32+.flyteidl.core.BindingDataMap.BindingsEntryR\x08\x62indings\x1aW\n\rBindingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.BindingDataR\x05value:\x02\x38\x01\"G\n\tUnionInfo\x12:\n\ntargetType\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\ntargetType\"\xae\x02\n\x0b\x42indingData\x12/\n\x06scalar\x18\x01 \x01(\x0b\x32\x15.flyteidl.core.ScalarH\x00R\x06scalar\x12\x46\n\ncollection\x18\x02 \x01(\x0b\x32$.flyteidl.core.BindingDataCollectionH\x00R\ncollection\x12:\n\x07promise\x18\x03 \x01(\x0b\x32\x1e.flyteidl.core.OutputReferenceH\x00R\x07promise\x12\x31\n\x03map\x18\x04 \x01(\x0b\x32\x1d.flyteidl.core.BindingDataMapH\x00R\x03map\x12.\n\x05union\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.UnionInfoR\x05unionB\x07\n\x05value\"Q\n\x07\x42inding\x12\x10\n\x03var\x18\x01 \x01(\tR\x03var\x12\x34\n\x07\x62inding\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.BindingDataR\x07\x62inding\"6\n\x0cKeyValuePair\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\")\n\rRetryStrategy\x12\x18\n\x07retries\x18\x05 \x01(\rR\x07retriesB\xb3\x01\n\x11\x63om.flyteidl.coreB\rLiteralsProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -58,20 +58,24 @@ _globals['_LITERALMAP']._serialized_end=1991 _globals['_LITERALMAP_LITERALSENTRY']._serialized_start=1908 _globals['_LITERALMAP_LITERALSENTRY']._serialized_end=1991 - _globals['_BINDINGDATACOLLECTION']._serialized_start=1993 - _globals['_BINDINGDATACOLLECTION']._serialized_end=2072 - _globals['_BINDINGDATAMAP']._serialized_start=2075 - _globals['_BINDINGDATAMAP']._serialized_end=2253 - _globals['_BINDINGDATAMAP_BINDINGSENTRY']._serialized_start=2166 - _globals['_BINDINGDATAMAP_BINDINGSENTRY']._serialized_end=2253 - _globals['_UNIONINFO']._serialized_start=2255 - _globals['_UNIONINFO']._serialized_end=2326 - _globals['_BINDINGDATA']._serialized_start=2329 - _globals['_BINDINGDATA']._serialized_end=2631 - _globals['_BINDING']._serialized_start=2633 - _globals['_BINDING']._serialized_end=2714 - _globals['_KEYVALUEPAIR']._serialized_start=2716 - _globals['_KEYVALUEPAIR']._serialized_end=2770 - _globals['_RETRYSTRATEGY']._serialized_start=2772 - _globals['_RETRYSTRATEGY']._serialized_end=2813 + _globals['_INPUTDATA']._serialized_start=1993 + _globals['_INPUTDATA']._serialized_end=2055 + _globals['_OUTPUTDATA']._serialized_start=2057 + _globals['_OUTPUTDATA']._serialized_end=2122 + _globals['_BINDINGDATACOLLECTION']._serialized_start=2124 + _globals['_BINDINGDATACOLLECTION']._serialized_end=2203 + _globals['_BINDINGDATAMAP']._serialized_start=2206 + _globals['_BINDINGDATAMAP']._serialized_end=2384 + _globals['_BINDINGDATAMAP_BINDINGSENTRY']._serialized_start=2297 + _globals['_BINDINGDATAMAP_BINDINGSENTRY']._serialized_end=2384 + _globals['_UNIONINFO']._serialized_start=2386 + _globals['_UNIONINFO']._serialized_end=2457 + _globals['_BINDINGDATA']._serialized_start=2460 + _globals['_BINDINGDATA']._serialized_end=2762 + _globals['_BINDING']._serialized_start=2764 + _globals['_BINDING']._serialized_end=2845 + _globals['_KEYVALUEPAIR']._serialized_start=2847 + _globals['_KEYVALUEPAIR']._serialized_end=2901 + _globals['_RETRYSTRATEGY']._serialized_start=2903 + _globals['_RETRYSTRATEGY']._serialized_end=2944 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.pyi index 1df1a0bfb9..a1b217ec11 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/core/literals_pb2.pyi @@ -134,6 +134,18 @@ class LiteralMap(_message.Message): literals: _containers.MessageMap[str, Literal] def __init__(self, literals: _Optional[_Mapping[str, Literal]] = ...) -> None: ... +class InputData(_message.Message): + __slots__ = ["inputs"] + INPUTS_FIELD_NUMBER: _ClassVar[int] + inputs: LiteralMap + def __init__(self, inputs: _Optional[_Union[LiteralMap, _Mapping]] = ...) -> None: ... + +class OutputData(_message.Message): + __slots__ = ["outputs"] + OUTPUTS_FIELD_NUMBER: _ClassVar[int] + outputs: LiteralMap + def __init__(self, outputs: _Optional[_Union[LiteralMap, _Mapping]] = ...) -> None: ... + class BindingDataCollection(_message.Message): __slots__ = ["bindings"] BINDINGS_FIELD_NUMBER: _ClassVar[int] diff --git a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py index f1740e326a..0bdcca0c98 100644 --- a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py @@ -20,7 +20,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/event/event.proto\x12\x0e\x66lyteidl.event\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xaa\x03\n\x16WorkflowExecutionEvent\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12<\n\x05phase\x18\x03 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1f\n\noutput_uri\x18\x05 \x01(\tH\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12<\n\x0boutput_data\x18\x07 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\noutputDataB\x0f\n\routput_result\"\xaa\t\n\x12NodeExecutionEvent\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x05 \x01(\tH\x00R\x08inputUri\x12:\n\ninput_data\x18\x14 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\x06 \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\x07 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12<\n\x0boutput_data\x18\x0f \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x01R\noutputData\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.event.WorkflowNodeMetadataH\x02R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\x0e \x01(\x0b\x32 .flyteidl.event.TaskNodeMetadataH\x02R\x10taskNodeMetadata\x12]\n\x14parent_task_metadata\x18\t \x01(\x0b\x32+.flyteidl.event.ParentTaskExecutionMetadataR\x12parentTaskMetadata\x12]\n\x14parent_node_metadata\x18\n \x01(\x0b\x32+.flyteidl.event.ParentNodeExecutionMetadataR\x12parentNodeMetadata\x12\x1f\n\x0bretry_group\x18\x0b \x01(\tR\nretryGroup\x12 \n\x0cspec_node_id\x18\x0c \x01(\tR\nspecNodeId\x12\x1b\n\tnode_name\x18\r \x01(\tR\x08nodeName\x12#\n\revent_version\x18\x10 \x01(\x05R\x0c\x65ventVersion\x12\x1b\n\tis_parent\x18\x11 \x01(\x08R\x08isParent\x12\x1d\n\nis_dynamic\x18\x12 \x01(\x08R\tisDynamic\x12\x19\n\x08\x64\x65\x63k_uri\x18\x13 \x01(\tR\x07\x64\x65\x63kUri\x12;\n\x0breported_at\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAt\x12\x19\n\x08is_array\x18\x16 \x01(\x08R\x07isArrayB\r\n\x0binput_valueB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"e\n\x14WorkflowNodeMetadata\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xf1\x02\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12W\n\x12reservation_status\x18\x03 \x01(\x0e\x32(.flyteidl.core.CatalogReservation.StatusR\x11reservationStatus\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.event.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bParentTaskExecutionMetadata\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"6\n\x1bParentNodeExecutionMetadata\x12\x17\n\x07node_id\x18\x01 \x01(\tR\x06nodeId\"b\n\x0b\x45ventReason\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\"\x97\x08\n\x12TaskExecutionEvent\x12\x32\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12_\n\x18parent_node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x15parentNodeExecutionId\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x1f\n\x0bproducer_id\x18\x05 \x01(\tR\nproducerId\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12;\n\x0boccurred_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x08 \x01(\tH\x00R\x08inputUri\x12:\n\ninput_data\x18\x13 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\t \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\n \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12<\n\x0boutput_data\x18\x11 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x01R\noutputData\x12\x38\n\x0b\x63ustom_info\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12#\n\rphase_version\x18\x0c \x01(\rR\x0cphaseVersion\x12\x1a\n\x06reason\x18\r \x01(\tB\x02\x18\x01R\x06reason\x12\x35\n\x07reasons\x18\x15 \x03(\x0b\x32\x1b.flyteidl.event.EventReasonR\x07reasons\x12\x1b\n\ttask_type\x18\x0e \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x12 \x01(\x05R\x0c\x65ventVersion\x12;\n\x0breported_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAtB\r\n\x0binput_valueB\x0f\n\routput_result\"\x9e\x02\n\x14\x45xternalResourceInfo\x12\x1f\n\x0b\x65xternal_id\x18\x01 \x01(\tR\nexternalId\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x44\n\x0c\x63\x61\x63he_status\x18\x05 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\"[\n\x10ResourcePoolInfo\x12)\n\x10\x61llocation_token\x18\x01 \x01(\tR\x0f\x61llocationToken\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\x9d\x03\n\x15TaskExecutionMetadata\x12%\n\x0egenerated_name\x18\x01 \x01(\tR\rgeneratedName\x12S\n\x12\x65xternal_resources\x18\x02 \x03(\x0b\x32$.flyteidl.event.ExternalResourceInfoR\x11\x65xternalResources\x12N\n\x12resource_pool_info\x18\x03 \x03(\x0b\x32 .flyteidl.event.ResourcePoolInfoR\x10resourcePoolInfo\x12+\n\x11plugin_identifier\x18\x04 \x01(\tR\x10pluginIdentifier\x12Z\n\x0einstance_class\x18\x10 \x01(\x0e\x32\x33.flyteidl.event.TaskExecutionMetadata.InstanceClassR\rinstanceClass\"/\n\rInstanceClass\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x11\n\rINTERRUPTIBLE\x10\x01\x42\xb6\x01\n\x12\x63om.flyteidl.eventB\nEventProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event\xa2\x02\x03\x46\x45X\xaa\x02\x0e\x46lyteidl.Event\xca\x02\x0e\x46lyteidl\\Event\xe2\x02\x1a\x46lyteidl\\Event\\GPBMetadata\xea\x02\x0f\x46lyteidl::Eventb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/event/event.proto\x12\x0e\x66lyteidl.event\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x81\x04\n\x16WorkflowExecutionEvent\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12<\n\x05phase\x18\x03 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1f\n\noutput_uri\x18\x05 \x01(\tH\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x07 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x08 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\noutputDataB\x0f\n\routput_result\"\xd5\n\n\x12NodeExecutionEvent\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x05 \x01(\tH\x00R\x08inputUri\x12S\n\x15\x64\x65precated_input_data\x18\x14 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x13\x64\x65precatedInputData\x12\x39\n\ninput_data\x18\x18 \x01(\x0b\x32\x18.flyteidl.core.InputDataH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\x06 \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\x07 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x0f \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x01R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x17 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x01R\noutputData\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.event.WorkflowNodeMetadataH\x02R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\x0e \x01(\x0b\x32 .flyteidl.event.TaskNodeMetadataH\x02R\x10taskNodeMetadata\x12]\n\x14parent_task_metadata\x18\t \x01(\x0b\x32+.flyteidl.event.ParentTaskExecutionMetadataR\x12parentTaskMetadata\x12]\n\x14parent_node_metadata\x18\n \x01(\x0b\x32+.flyteidl.event.ParentNodeExecutionMetadataR\x12parentNodeMetadata\x12\x1f\n\x0bretry_group\x18\x0b \x01(\tR\nretryGroup\x12 \n\x0cspec_node_id\x18\x0c \x01(\tR\nspecNodeId\x12\x1b\n\tnode_name\x18\r \x01(\tR\x08nodeName\x12#\n\revent_version\x18\x10 \x01(\x05R\x0c\x65ventVersion\x12\x1b\n\tis_parent\x18\x11 \x01(\x08R\x08isParent\x12\x1d\n\nis_dynamic\x18\x12 \x01(\x08R\tisDynamic\x12\x19\n\x08\x64\x65\x63k_uri\x18\x13 \x01(\tR\x07\x64\x65\x63kUri\x12;\n\x0breported_at\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAt\x12\x19\n\x08is_array\x18\x16 \x01(\x08R\x07isArrayB\r\n\x0binput_valueB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"e\n\x14WorkflowNodeMetadata\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xf1\x02\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12W\n\x12reservation_status\x18\x03 \x01(\x0e\x32(.flyteidl.core.CatalogReservation.StatusR\x11reservationStatus\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.event.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bParentTaskExecutionMetadata\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"6\n\x1bParentNodeExecutionMetadata\x12\x17\n\x07node_id\x18\x01 \x01(\tR\x06nodeId\"b\n\x0b\x45ventReason\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\"\xc2\t\n\x12TaskExecutionEvent\x12\x32\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12_\n\x18parent_node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x15parentNodeExecutionId\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x1f\n\x0bproducer_id\x18\x05 \x01(\tR\nproducerId\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12;\n\x0boccurred_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x08 \x01(\tH\x00R\x08inputUri\x12S\n\x15\x64\x65precated_input_data\x18\x13 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x13\x64\x65precatedInputData\x12\x39\n\ninput_data\x18\x17 \x01(\x0b\x32\x18.flyteidl.core.InputDataH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\t \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\n \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x11 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x01R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x16 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x01R\noutputData\x12\x38\n\x0b\x63ustom_info\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12#\n\rphase_version\x18\x0c \x01(\rR\x0cphaseVersion\x12\x1a\n\x06reason\x18\r \x01(\tB\x02\x18\x01R\x06reason\x12\x35\n\x07reasons\x18\x15 \x03(\x0b\x32\x1b.flyteidl.event.EventReasonR\x07reasons\x12\x1b\n\ttask_type\x18\x0e \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x12 \x01(\x05R\x0c\x65ventVersion\x12;\n\x0breported_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAtB\r\n\x0binput_valueB\x0f\n\routput_result\"\x9e\x02\n\x14\x45xternalResourceInfo\x12\x1f\n\x0b\x65xternal_id\x18\x01 \x01(\tR\nexternalId\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x44\n\x0c\x63\x61\x63he_status\x18\x05 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\"[\n\x10ResourcePoolInfo\x12)\n\x10\x61llocation_token\x18\x01 \x01(\tR\x0f\x61llocationToken\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\x9d\x03\n\x15TaskExecutionMetadata\x12%\n\x0egenerated_name\x18\x01 \x01(\tR\rgeneratedName\x12S\n\x12\x65xternal_resources\x18\x02 \x03(\x0b\x32$.flyteidl.event.ExternalResourceInfoR\x11\x65xternalResources\x12N\n\x12resource_pool_info\x18\x03 \x03(\x0b\x32 .flyteidl.event.ResourcePoolInfoR\x10resourcePoolInfo\x12+\n\x11plugin_identifier\x18\x04 \x01(\tR\x10pluginIdentifier\x12Z\n\x0einstance_class\x18\x10 \x01(\x0e\x32\x33.flyteidl.event.TaskExecutionMetadata.InstanceClassR\rinstanceClass\"/\n\rInstanceClass\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x11\n\rINTERRUPTIBLE\x10\x01\x42\xb6\x01\n\x12\x63om.flyteidl.eventB\nEventProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event\xa2\x02\x03\x46\x45X\xaa\x02\x0e\x46lyteidl.Event\xca\x02\x0e\x46lyteidl\\Event\xe2\x02\x1a\x46lyteidl\\Event\\GPBMetadata\xea\x02\x0f\x46lyteidl::Eventb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,32 +29,42 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.eventB\nEventProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event\242\002\003FEX\252\002\016Flyteidl.Event\312\002\016Flyteidl\\Event\342\002\032Flyteidl\\Event\\GPBMetadata\352\002\017Flyteidl::Event' + _WORKFLOWEXECUTIONEVENT.fields_by_name['deprecated_output_data']._options = None + _WORKFLOWEXECUTIONEVENT.fields_by_name['deprecated_output_data']._serialized_options = b'\030\001' + _NODEEXECUTIONEVENT.fields_by_name['deprecated_input_data']._options = None + _NODEEXECUTIONEVENT.fields_by_name['deprecated_input_data']._serialized_options = b'\030\001' + _NODEEXECUTIONEVENT.fields_by_name['deprecated_output_data']._options = None + _NODEEXECUTIONEVENT.fields_by_name['deprecated_output_data']._serialized_options = b'\030\001' + _TASKEXECUTIONEVENT.fields_by_name['deprecated_input_data']._options = None + _TASKEXECUTIONEVENT.fields_by_name['deprecated_input_data']._serialized_options = b'\030\001' + _TASKEXECUTIONEVENT.fields_by_name['deprecated_output_data']._options = None + _TASKEXECUTIONEVENT.fields_by_name['deprecated_output_data']._serialized_options = b'\030\001' _TASKEXECUTIONEVENT.fields_by_name['reason']._options = None _TASKEXECUTIONEVENT.fields_by_name['reason']._serialized_options = b'\030\001' _globals['_WORKFLOWEXECUTIONEVENT']._serialized_start=262 - _globals['_WORKFLOWEXECUTIONEVENT']._serialized_end=688 - _globals['_NODEEXECUTIONEVENT']._serialized_start=691 - _globals['_NODEEXECUTIONEVENT']._serialized_end=1885 - _globals['_WORKFLOWNODEMETADATA']._serialized_start=1887 - _globals['_WORKFLOWNODEMETADATA']._serialized_end=1988 - _globals['_TASKNODEMETADATA']._serialized_start=1991 - _globals['_TASKNODEMETADATA']._serialized_end=2360 - _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_start=2363 - _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_end=2569 - _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_start=2571 - _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_end=2656 - _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_start=2658 - _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_end=2712 - _globals['_EVENTREASON']._serialized_start=2714 - _globals['_EVENTREASON']._serialized_end=2812 - _globals['_TASKEXECUTIONEVENT']._serialized_start=2815 - _globals['_TASKEXECUTIONEVENT']._serialized_end=3862 - _globals['_EXTERNALRESOURCEINFO']._serialized_start=3865 - _globals['_EXTERNALRESOURCEINFO']._serialized_end=4151 - _globals['_RESOURCEPOOLINFO']._serialized_start=4153 - _globals['_RESOURCEPOOLINFO']._serialized_end=4244 - _globals['_TASKEXECUTIONMETADATA']._serialized_start=4247 - _globals['_TASKEXECUTIONMETADATA']._serialized_end=4660 - _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_start=4613 - _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_end=4660 + _globals['_WORKFLOWEXECUTIONEVENT']._serialized_end=775 + _globals['_NODEEXECUTIONEVENT']._serialized_start=778 + _globals['_NODEEXECUTIONEVENT']._serialized_end=2143 + _globals['_WORKFLOWNODEMETADATA']._serialized_start=2145 + _globals['_WORKFLOWNODEMETADATA']._serialized_end=2246 + _globals['_TASKNODEMETADATA']._serialized_start=2249 + _globals['_TASKNODEMETADATA']._serialized_end=2618 + _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_start=2621 + _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_end=2827 + _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_start=2829 + _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_end=2914 + _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_start=2916 + _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_end=2970 + _globals['_EVENTREASON']._serialized_start=2972 + _globals['_EVENTREASON']._serialized_end=3070 + _globals['_TASKEXECUTIONEVENT']._serialized_start=3073 + _globals['_TASKEXECUTIONEVENT']._serialized_end=4291 + _globals['_EXTERNALRESOURCEINFO']._serialized_start=4294 + _globals['_EXTERNALRESOURCEINFO']._serialized_end=4580 + _globals['_RESOURCEPOOLINFO']._serialized_start=4582 + _globals['_RESOURCEPOOLINFO']._serialized_end=4673 + _globals['_TASKEXECUTIONMETADATA']._serialized_start=4676 + _globals['_TASKEXECUTIONMETADATA']._serialized_end=5089 + _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_start=5042 + _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_end=5089 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi index 3297975f5d..b917bc00a4 100644 --- a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi @@ -14,13 +14,14 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor class WorkflowExecutionEvent(_message.Message): - __slots__ = ["execution_id", "producer_id", "phase", "occurred_at", "output_uri", "error", "output_data"] + __slots__ = ["execution_id", "producer_id", "phase", "occurred_at", "output_uri", "error", "deprecated_output_data", "output_data"] EXECUTION_ID_FIELD_NUMBER: _ClassVar[int] PRODUCER_ID_FIELD_NUMBER: _ClassVar[int] PHASE_FIELD_NUMBER: _ClassVar[int] OCCURRED_AT_FIELD_NUMBER: _ClassVar[int] OUTPUT_URI_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] execution_id: _identifier_pb2.WorkflowExecutionIdentifier producer_id: str @@ -28,19 +29,22 @@ class WorkflowExecutionEvent(_message.Message): occurred_at: _timestamp_pb2.Timestamp output_uri: str error: _execution_pb2.ExecutionError - output_data: _literals_pb2.LiteralMap - def __init__(self, execution_id: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ..., producer_id: _Optional[str] = ..., phase: _Optional[_Union[_execution_pb2.WorkflowExecution.Phase, str]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ...) -> None: ... + deprecated_output_data: _literals_pb2.LiteralMap + output_data: _literals_pb2.OutputData + def __init__(self, execution_id: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ..., producer_id: _Optional[str] = ..., phase: _Optional[_Union[_execution_pb2.WorkflowExecution.Phase, str]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., deprecated_output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ...) -> None: ... class NodeExecutionEvent(_message.Message): - __slots__ = ["id", "producer_id", "phase", "occurred_at", "input_uri", "input_data", "output_uri", "error", "output_data", "workflow_node_metadata", "task_node_metadata", "parent_task_metadata", "parent_node_metadata", "retry_group", "spec_node_id", "node_name", "event_version", "is_parent", "is_dynamic", "deck_uri", "reported_at", "is_array"] + __slots__ = ["id", "producer_id", "phase", "occurred_at", "input_uri", "deprecated_input_data", "input_data", "output_uri", "error", "deprecated_output_data", "output_data", "workflow_node_metadata", "task_node_metadata", "parent_task_metadata", "parent_node_metadata", "retry_group", "spec_node_id", "node_name", "event_version", "is_parent", "is_dynamic", "deck_uri", "reported_at", "is_array"] ID_FIELD_NUMBER: _ClassVar[int] PRODUCER_ID_FIELD_NUMBER: _ClassVar[int] PHASE_FIELD_NUMBER: _ClassVar[int] OCCURRED_AT_FIELD_NUMBER: _ClassVar[int] INPUT_URI_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_INPUT_DATA_FIELD_NUMBER: _ClassVar[int] INPUT_DATA_FIELD_NUMBER: _ClassVar[int] OUTPUT_URI_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] WORKFLOW_NODE_METADATA_FIELD_NUMBER: _ClassVar[int] TASK_NODE_METADATA_FIELD_NUMBER: _ClassVar[int] @@ -60,10 +64,12 @@ class NodeExecutionEvent(_message.Message): phase: _execution_pb2.NodeExecution.Phase occurred_at: _timestamp_pb2.Timestamp input_uri: str - input_data: _literals_pb2.LiteralMap + deprecated_input_data: _literals_pb2.LiteralMap + input_data: _literals_pb2.InputData output_uri: str error: _execution_pb2.ExecutionError - output_data: _literals_pb2.LiteralMap + deprecated_output_data: _literals_pb2.LiteralMap + output_data: _literals_pb2.OutputData workflow_node_metadata: WorkflowNodeMetadata task_node_metadata: TaskNodeMetadata parent_task_metadata: ParentTaskExecutionMetadata @@ -77,7 +83,7 @@ class NodeExecutionEvent(_message.Message): deck_uri: str reported_at: _timestamp_pb2.Timestamp is_array: bool - def __init__(self, id: _Optional[_Union[_identifier_pb2.NodeExecutionIdentifier, _Mapping]] = ..., producer_id: _Optional[str] = ..., phase: _Optional[_Union[_execution_pb2.NodeExecution.Phase, str]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input_uri: _Optional[str] = ..., input_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., workflow_node_metadata: _Optional[_Union[WorkflowNodeMetadata, _Mapping]] = ..., task_node_metadata: _Optional[_Union[TaskNodeMetadata, _Mapping]] = ..., parent_task_metadata: _Optional[_Union[ParentTaskExecutionMetadata, _Mapping]] = ..., parent_node_metadata: _Optional[_Union[ParentNodeExecutionMetadata, _Mapping]] = ..., retry_group: _Optional[str] = ..., spec_node_id: _Optional[str] = ..., node_name: _Optional[str] = ..., event_version: _Optional[int] = ..., is_parent: bool = ..., is_dynamic: bool = ..., deck_uri: _Optional[str] = ..., reported_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., is_array: bool = ...) -> None: ... + def __init__(self, id: _Optional[_Union[_identifier_pb2.NodeExecutionIdentifier, _Mapping]] = ..., producer_id: _Optional[str] = ..., phase: _Optional[_Union[_execution_pb2.NodeExecution.Phase, str]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input_uri: _Optional[str] = ..., deprecated_input_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., deprecated_output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., workflow_node_metadata: _Optional[_Union[WorkflowNodeMetadata, _Mapping]] = ..., task_node_metadata: _Optional[_Union[TaskNodeMetadata, _Mapping]] = ..., parent_task_metadata: _Optional[_Union[ParentTaskExecutionMetadata, _Mapping]] = ..., parent_node_metadata: _Optional[_Union[ParentNodeExecutionMetadata, _Mapping]] = ..., retry_group: _Optional[str] = ..., spec_node_id: _Optional[str] = ..., node_name: _Optional[str] = ..., event_version: _Optional[int] = ..., is_parent: bool = ..., is_dynamic: bool = ..., deck_uri: _Optional[str] = ..., reported_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., is_array: bool = ...) -> None: ... class WorkflowNodeMetadata(_message.Message): __slots__ = ["execution_id"] @@ -130,7 +136,7 @@ class EventReason(_message.Message): def __init__(self, reason: _Optional[str] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class TaskExecutionEvent(_message.Message): - __slots__ = ["task_id", "parent_node_execution_id", "retry_attempt", "phase", "producer_id", "logs", "occurred_at", "input_uri", "input_data", "output_uri", "error", "output_data", "custom_info", "phase_version", "reason", "reasons", "task_type", "metadata", "event_version", "reported_at"] + __slots__ = ["task_id", "parent_node_execution_id", "retry_attempt", "phase", "producer_id", "logs", "occurred_at", "input_uri", "deprecated_input_data", "input_data", "output_uri", "error", "deprecated_output_data", "output_data", "custom_info", "phase_version", "reason", "reasons", "task_type", "metadata", "event_version", "reported_at"] TASK_ID_FIELD_NUMBER: _ClassVar[int] PARENT_NODE_EXECUTION_ID_FIELD_NUMBER: _ClassVar[int] RETRY_ATTEMPT_FIELD_NUMBER: _ClassVar[int] @@ -139,9 +145,11 @@ class TaskExecutionEvent(_message.Message): LOGS_FIELD_NUMBER: _ClassVar[int] OCCURRED_AT_FIELD_NUMBER: _ClassVar[int] INPUT_URI_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_INPUT_DATA_FIELD_NUMBER: _ClassVar[int] INPUT_DATA_FIELD_NUMBER: _ClassVar[int] OUTPUT_URI_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] CUSTOM_INFO_FIELD_NUMBER: _ClassVar[int] PHASE_VERSION_FIELD_NUMBER: _ClassVar[int] @@ -159,10 +167,12 @@ class TaskExecutionEvent(_message.Message): logs: _containers.RepeatedCompositeFieldContainer[_execution_pb2.TaskLog] occurred_at: _timestamp_pb2.Timestamp input_uri: str - input_data: _literals_pb2.LiteralMap + deprecated_input_data: _literals_pb2.LiteralMap + input_data: _literals_pb2.InputData output_uri: str error: _execution_pb2.ExecutionError - output_data: _literals_pb2.LiteralMap + deprecated_output_data: _literals_pb2.LiteralMap + output_data: _literals_pb2.OutputData custom_info: _struct_pb2.Struct phase_version: int reason: str @@ -171,7 +181,7 @@ class TaskExecutionEvent(_message.Message): metadata: TaskExecutionMetadata event_version: int reported_at: _timestamp_pb2.Timestamp - def __init__(self, task_id: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., parent_node_execution_id: _Optional[_Union[_identifier_pb2.NodeExecutionIdentifier, _Mapping]] = ..., retry_attempt: _Optional[int] = ..., phase: _Optional[_Union[_execution_pb2.TaskExecution.Phase, str]] = ..., producer_id: _Optional[str] = ..., logs: _Optional[_Iterable[_Union[_execution_pb2.TaskLog, _Mapping]]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input_uri: _Optional[str] = ..., input_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., custom_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., phase_version: _Optional[int] = ..., reason: _Optional[str] = ..., reasons: _Optional[_Iterable[_Union[EventReason, _Mapping]]] = ..., task_type: _Optional[str] = ..., metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ..., event_version: _Optional[int] = ..., reported_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, task_id: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., parent_node_execution_id: _Optional[_Union[_identifier_pb2.NodeExecutionIdentifier, _Mapping]] = ..., retry_attempt: _Optional[int] = ..., phase: _Optional[_Union[_execution_pb2.TaskExecution.Phase, str]] = ..., producer_id: _Optional[str] = ..., logs: _Optional[_Iterable[_Union[_execution_pb2.TaskLog, _Mapping]]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input_uri: _Optional[str] = ..., deprecated_input_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., deprecated_output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., custom_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., phase_version: _Optional[int] = ..., reason: _Optional[str] = ..., reasons: _Optional[_Iterable[_Union[EventReason, _Mapping]]] = ..., task_type: _Optional[str] = ..., metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ..., event_version: _Optional[int] = ..., reported_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class ExternalResourceInfo(_message.Message): __slots__ = ["external_id", "index", "retry_attempt", "phase", "cache_status", "logs"] diff --git a/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.py b/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.py index 6dcd26a0b7..aec795e368 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.py @@ -18,7 +18,7 @@ from flyteidl.core import literals_pb2 as flyteidl_dot_core_dot_literals__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n flyteidl/service/dataproxy.proto\x12\x10\x66lyteidl.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\"\x97\x01\n\x1c\x43reateUploadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x1d\n\nnative_url\x18\x02 \x01(\tR\tnativeUrl\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"\xeb\x01\n\x1b\x43reateUploadLocationRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08\x66ilename\x18\x03 \x01(\tR\x08\x66ilename\x12\x38\n\nexpires_in\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12\x1f\n\x0b\x63ontent_md5\x18\x05 \x01(\x0cR\ncontentMd5\x12#\n\rfilename_root\x18\x06 \x01(\tR\x0c\x66ilenameRoot\"|\n\x1d\x43reateDownloadLocationRequest\x12\x1d\n\nnative_url\x18\x01 \x01(\tR\tnativeUrl\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn:\x02\x18\x01\"~\n\x1e\x43reateDownloadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt:\x02\x18\x01\"\xfa\x01\n\x19\x43reateDownloadLinkRequest\x12\x43\n\rartifact_type\x18\x01 \x01(\x0e\x32\x1e.flyteidl.service.ArtifactTypeR\x0c\x61rtifactType\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12T\n\x11node_execution_id\x18\x03 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierH\x00R\x0fnodeExecutionIdB\x08\n\x06source\"\xc7\x01\n\x1a\x43reateDownloadLinkResponse\x12!\n\nsigned_url\x18\x01 \x03(\tB\x02\x18\x01R\tsignedUrl\x12=\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01R\texpiresAt\x12G\n\x0fpre_signed_urls\x18\x03 \x01(\x0b\x32\x1f.flyteidl.service.PreSignedURLsR\rpreSignedUrls\"i\n\rPreSignedURLs\x12\x1d\n\nsigned_url\x18\x01 \x03(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"-\n\x0eGetDataRequest\x12\x1b\n\tflyte_url\x18\x01 \x01(\tR\x08\x66lyteUrl\"\xd6\x01\n\x0fGetDataResponse\x12<\n\x0bliteral_map\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\nliteralMap\x12I\n\x0fpre_signed_urls\x18\x02 \x01(\x0b\x32\x1f.flyteidl.service.PreSignedURLsH\x00R\rpreSignedUrls\x12\x32\n\x07literal\x18\x03 \x01(\x0b\x32\x16.flyteidl.core.LiteralH\x00R\x07literalB\x06\n\x04\x64\x61ta*C\n\x0c\x41rtifactType\x12\x1b\n\x17\x41RTIFACT_TYPE_UNDEFINED\x10\x00\x12\x16\n\x12\x41RTIFACT_TYPE_DECK\x10\x01\x32\xe2\x04\n\x10\x44\x61taProxyService\x12\xa0\x01\n\x14\x43reateUploadLocation\x12-.flyteidl.service.CreateUploadLocationRequest\x1a..flyteidl.service.CreateUploadLocationResponse\")\x82\xd3\xe4\x93\x02#:\x01*\"\x1e/api/v1/dataproxy/artifact_urn\x12\xa6\x01\n\x16\x43reateDownloadLocation\x12/.flyteidl.service.CreateDownloadLocationRequest\x1a\x30.flyteidl.service.CreateDownloadLocationResponse\")\x88\x02\x01\x82\xd3\xe4\x93\x02 \x12\x1e/api/v1/dataproxy/artifact_urn\x12\x9b\x01\n\x12\x43reateDownloadLink\x12+.flyteidl.service.CreateDownloadLinkRequest\x1a,.flyteidl.service.CreateDownloadLinkResponse\"*\x82\xd3\xe4\x93\x02$:\x01*\"\x1f/api/v1/dataproxy/artifact_link\x12\x64\n\x07GetData\x12 .flyteidl.service.GetDataRequest\x1a!.flyteidl.service.GetDataResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/api/v1/dataB\xc6\x01\n\x14\x63om.flyteidl.serviceB\x0e\x44\x61taproxyProtoP\x01Z=github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service\xa2\x02\x03\x46SX\xaa\x02\x10\x46lyteidl.Service\xca\x02\x10\x46lyteidl\\Service\xe2\x02\x1c\x46lyteidl\\Service\\GPBMetadata\xea\x02\x11\x46lyteidl::Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n flyteidl/service/dataproxy.proto\x12\x10\x66lyteidl.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\"\x97\x01\n\x1c\x43reateUploadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x1d\n\nnative_url\x18\x02 \x01(\tR\tnativeUrl\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"\xeb\x01\n\x1b\x43reateUploadLocationRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08\x66ilename\x18\x03 \x01(\tR\x08\x66ilename\x12\x38\n\nexpires_in\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12\x1f\n\x0b\x63ontent_md5\x18\x05 \x01(\x0cR\ncontentMd5\x12#\n\rfilename_root\x18\x06 \x01(\tR\x0c\x66ilenameRoot\"|\n\x1d\x43reateDownloadLocationRequest\x12\x1d\n\nnative_url\x18\x01 \x01(\tR\tnativeUrl\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn:\x02\x18\x01\"~\n\x1e\x43reateDownloadLocationResponse\x12\x1d\n\nsigned_url\x18\x01 \x01(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt:\x02\x18\x01\"\xfa\x01\n\x19\x43reateDownloadLinkRequest\x12\x43\n\rartifact_type\x18\x01 \x01(\x0e\x32\x1e.flyteidl.service.ArtifactTypeR\x0c\x61rtifactType\x12\x38\n\nexpires_in\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\texpiresIn\x12T\n\x11node_execution_id\x18\x03 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierH\x00R\x0fnodeExecutionIdB\x08\n\x06source\"\xc7\x01\n\x1a\x43reateDownloadLinkResponse\x12!\n\nsigned_url\x18\x01 \x03(\tB\x02\x18\x01R\tsignedUrl\x12=\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01R\texpiresAt\x12G\n\x0fpre_signed_urls\x18\x03 \x01(\x0b\x32\x1f.flyteidl.service.PreSignedURLsR\rpreSignedUrls\"i\n\rPreSignedURLs\x12\x1d\n\nsigned_url\x18\x01 \x03(\tR\tsignedUrl\x12\x39\n\nexpires_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"-\n\x0eGetDataRequest\x12\x1b\n\tflyte_url\x18\x01 \x01(\tR\x08\x66lyteUrl\"\xcf\x02\n\x0fGetDataResponse\x12<\n\x0bliteral_map\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\nliteralMap\x12I\n\x0fpre_signed_urls\x18\x02 \x01(\x0b\x32\x1f.flyteidl.service.PreSignedURLsH\x00R\rpreSignedUrls\x12\x32\n\x07literal\x18\x03 \x01(\x0b\x32\x16.flyteidl.core.LiteralH\x00R\x07literal\x12\x39\n\ninput_data\x18\x04 \x01(\x0b\x32\x18.flyteidl.core.InputDataH\x00R\tinputData\x12<\n\x0boutput_data\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\noutputDataB\x06\n\x04\x64\x61ta*C\n\x0c\x41rtifactType\x12\x1b\n\x17\x41RTIFACT_TYPE_UNDEFINED\x10\x00\x12\x16\n\x12\x41RTIFACT_TYPE_DECK\x10\x01\x32\xe2\x04\n\x10\x44\x61taProxyService\x12\xa0\x01\n\x14\x43reateUploadLocation\x12-.flyteidl.service.CreateUploadLocationRequest\x1a..flyteidl.service.CreateUploadLocationResponse\")\x82\xd3\xe4\x93\x02#:\x01*\"\x1e/api/v1/dataproxy/artifact_urn\x12\xa6\x01\n\x16\x43reateDownloadLocation\x12/.flyteidl.service.CreateDownloadLocationRequest\x1a\x30.flyteidl.service.CreateDownloadLocationResponse\")\x88\x02\x01\x82\xd3\xe4\x93\x02 \x12\x1e/api/v1/dataproxy/artifact_urn\x12\x9b\x01\n\x12\x43reateDownloadLink\x12+.flyteidl.service.CreateDownloadLinkRequest\x1a,.flyteidl.service.CreateDownloadLinkResponse\"*\x82\xd3\xe4\x93\x02$:\x01*\"\x1f/api/v1/dataproxy/artifact_link\x12\x64\n\x07GetData\x12 .flyteidl.service.GetDataRequest\x1a!.flyteidl.service.GetDataResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/api/v1/dataB\xc6\x01\n\x14\x63om.flyteidl.serviceB\x0e\x44\x61taproxyProtoP\x01Z=github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service\xa2\x02\x03\x46SX\xaa\x02\x10\x46lyteidl.Service\xca\x02\x10\x46lyteidl\\Service\xe2\x02\x1c\x46lyteidl\\Service\\GPBMetadata\xea\x02\x11\x46lyteidl::Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -43,8 +43,8 @@ _DATAPROXYSERVICE.methods_by_name['CreateDownloadLink']._serialized_options = b'\202\323\344\223\002$:\001*\"\037/api/v1/dataproxy/artifact_link' _DATAPROXYSERVICE.methods_by_name['GetData']._options = None _DATAPROXYSERVICE.methods_by_name['GetData']._serialized_options = b'\202\323\344\223\002\016\022\014/api/v1/data' - _globals['_ARTIFACTTYPE']._serialized_start=1683 - _globals['_ARTIFACTTYPE']._serialized_end=1750 + _globals['_ARTIFACTTYPE']._serialized_start=1804 + _globals['_ARTIFACTTYPE']._serialized_end=1871 _globals['_CREATEUPLOADLOCATIONRESPONSE']._serialized_start=212 _globals['_CREATEUPLOADLOCATIONRESPONSE']._serialized_end=363 _globals['_CREATEUPLOADLOCATIONREQUEST']._serialized_start=366 @@ -62,7 +62,7 @@ _globals['_GETDATAREQUEST']._serialized_start=1419 _globals['_GETDATAREQUEST']._serialized_end=1464 _globals['_GETDATARESPONSE']._serialized_start=1467 - _globals['_GETDATARESPONSE']._serialized_end=1681 - _globals['_DATAPROXYSERVICE']._serialized_start=1753 - _globals['_DATAPROXYSERVICE']._serialized_end=2363 + _globals['_GETDATARESPONSE']._serialized_end=1802 + _globals['_DATAPROXYSERVICE']._serialized_start=1874 + _globals['_DATAPROXYSERVICE']._serialized_end=2484 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.pyi index 820034751f..c2dc0c2e24 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/service/dataproxy_pb2.pyi @@ -95,11 +95,15 @@ class GetDataRequest(_message.Message): def __init__(self, flyte_url: _Optional[str] = ...) -> None: ... class GetDataResponse(_message.Message): - __slots__ = ["literal_map", "pre_signed_urls", "literal"] + __slots__ = ["literal_map", "pre_signed_urls", "literal", "input_data", "output_data"] LITERAL_MAP_FIELD_NUMBER: _ClassVar[int] PRE_SIGNED_URLS_FIELD_NUMBER: _ClassVar[int] LITERAL_FIELD_NUMBER: _ClassVar[int] + INPUT_DATA_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int] literal_map: _literals_pb2.LiteralMap pre_signed_urls: PreSignedURLs literal: _literals_pb2.Literal - def __init__(self, literal_map: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., pre_signed_urls: _Optional[_Union[PreSignedURLs, _Mapping]] = ..., literal: _Optional[_Union[_literals_pb2.Literal, _Mapping]] = ...) -> None: ... + input_data: _literals_pb2.InputData + output_data: _literals_pb2.OutputData + def __init__(self, literal_map: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., pre_signed_urls: _Optional[_Union[PreSignedURLs, _Mapping]] = ..., literal: _Optional[_Union[_literals_pb2.Literal, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ...) -> None: ... diff --git a/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.py b/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.py index 4de8daabf8..75bf604e06 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.py @@ -13,10 +13,9 @@ from flyteidl.core import literals_pb2 as flyteidl_dot_core_dot_literals__pb2 from flyteidl.core import tasks_pb2 as flyteidl_dot_core_dot_tasks__pb2 -from flyteidl.core import interface_pb2 as flyteidl_dot_core_dot_interface__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.flyteidl/service/external_plugin_service.proto\x12\x10\x66lyteidl.service\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\x1a\x1d\x66lyteidl/core/interface.proto\"\xa8\x01\n\x11TaskCreateRequest\x12\x31\n\x06inputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\x12\x37\n\x08template\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x03 \x01(\tR\x0coutputPrefix:\x02\x18\x01\"/\n\x12TaskCreateResponse\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId:\x02\x18\x01\"H\n\x0eTaskGetRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x15\n\x06job_id\x18\x02 \x01(\tR\x05jobId:\x02\x18\x01\"y\n\x0fTaskGetResponse\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x17.flyteidl.service.StateR\x05state\x12\x33\n\x07outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x07outputs:\x02\x18\x01\"K\n\x11TaskDeleteRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x15\n\x06job_id\x18\x02 \x01(\tR\x05jobId:\x02\x18\x01\"\x18\n\x12TaskDeleteResponse:\x02\x18\x01*b\n\x05State\x12\x15\n\x11RETRYABLE_FAILURE\x10\x00\x12\x15\n\x11PERMANENT_FAILURE\x10\x01\x12\x0b\n\x07PENDING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x1a\x02\x18\x01\x32\xa8\x02\n\x15\x45xternalPluginService\x12\\\n\nCreateTask\x12#.flyteidl.service.TaskCreateRequest\x1a$.flyteidl.service.TaskCreateResponse\"\x03\x88\x02\x01\x12S\n\x07GetTask\x12 .flyteidl.service.TaskGetRequest\x1a!.flyteidl.service.TaskGetResponse\"\x03\x88\x02\x01\x12\\\n\nDeleteTask\x12#.flyteidl.service.TaskDeleteRequest\x1a$.flyteidl.service.TaskDeleteResponse\"\x03\x88\x02\x01\x42\xd2\x01\n\x14\x63om.flyteidl.serviceB\x1a\x45xternalPluginServiceProtoP\x01Z=github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service\xa2\x02\x03\x46SX\xaa\x02\x10\x46lyteidl.Service\xca\x02\x10\x46lyteidl\\Service\xe2\x02\x1c\x46lyteidl\\Service\\GPBMetadata\xea\x02\x11\x46lyteidl::Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.flyteidl/service/external_plugin_service.proto\x12\x10\x66lyteidl.service\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\"\xf3\x01\n\x11TaskCreateRequest\x12J\n\x11\x64\x65precated_inputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x10\x64\x65precatedInputs\x12\x37\n\x08template\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x03 \x01(\tR\x0coutputPrefix\x12\x30\n\x06inputs\x18\x04 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\x06inputs:\x02\x18\x01\"/\n\x12TaskCreateResponse\x12\x15\n\x06job_id\x18\x01 \x01(\tR\x05jobId:\x02\x18\x01\"H\n\x0eTaskGetRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x15\n\x06job_id\x18\x02 \x01(\tR\x05jobId:\x02\x18\x01\"\xc3\x01\n\x0fTaskGetResponse\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x17.flyteidl.service.StateR\x05state\x12H\n\x12\x64\x65precated_outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x11\x64\x65precatedOutputs\x12\x33\n\x07outputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\x07outputs:\x02\x18\x01\"K\n\x11TaskDeleteRequest\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x15\n\x06job_id\x18\x02 \x01(\tR\x05jobId:\x02\x18\x01\"\x18\n\x12TaskDeleteResponse:\x02\x18\x01*b\n\x05State\x12\x15\n\x11RETRYABLE_FAILURE\x10\x00\x12\x15\n\x11PERMANENT_FAILURE\x10\x01\x12\x0b\n\x07PENDING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x1a\x02\x18\x01\x32\xa8\x02\n\x15\x45xternalPluginService\x12\\\n\nCreateTask\x12#.flyteidl.service.TaskCreateRequest\x1a$.flyteidl.service.TaskCreateResponse\"\x03\x88\x02\x01\x12S\n\x07GetTask\x12 .flyteidl.service.TaskGetRequest\x1a!.flyteidl.service.TaskGetResponse\"\x03\x88\x02\x01\x12\\\n\nDeleteTask\x12#.flyteidl.service.TaskDeleteRequest\x1a$.flyteidl.service.TaskDeleteResponse\"\x03\x88\x02\x01\x42\xd2\x01\n\x14\x63om.flyteidl.serviceB\x1a\x45xternalPluginServiceProtoP\x01Z=github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service\xa2\x02\x03\x46SX\xaa\x02\x10\x46lyteidl.Service\xca\x02\x10\x46lyteidl\\Service\xe2\x02\x1c\x46lyteidl\\Service\\GPBMetadata\xea\x02\x11\x46lyteidl::Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,6 +26,8 @@ DESCRIPTOR._serialized_options = b'\n\024com.flyteidl.serviceB\032ExternalPluginServiceProtoP\001Z=github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service\242\002\003FSX\252\002\020Flyteidl.Service\312\002\020Flyteidl\\Service\342\002\034Flyteidl\\Service\\GPBMetadata\352\002\021Flyteidl::Service' _STATE._options = None _STATE._serialized_options = b'\030\001' + _TASKCREATEREQUEST.fields_by_name['deprecated_inputs']._options = None + _TASKCREATEREQUEST.fields_by_name['deprecated_inputs']._serialized_options = b'\030\001' _TASKCREATEREQUEST._options = None _TASKCREATEREQUEST._serialized_options = b'\030\001' _TASKCREATERESPONSE._options = None @@ -45,20 +46,20 @@ _EXTERNALPLUGINSERVICE.methods_by_name['GetTask']._serialized_options = b'\210\002\001' _EXTERNALPLUGINSERVICE.methods_by_name['DeleteTask']._options = None _EXTERNALPLUGINSERVICE.methods_by_name['DeleteTask']._serialized_options = b'\210\002\001' - _globals['_STATE']._serialized_start=676 - _globals['_STATE']._serialized_end=774 - _globals['_TASKCREATEREQUEST']._serialized_start=157 - _globals['_TASKCREATEREQUEST']._serialized_end=325 - _globals['_TASKCREATERESPONSE']._serialized_start=327 - _globals['_TASKCREATERESPONSE']._serialized_end=374 - _globals['_TASKGETREQUEST']._serialized_start=376 - _globals['_TASKGETREQUEST']._serialized_end=448 - _globals['_TASKGETRESPONSE']._serialized_start=450 - _globals['_TASKGETRESPONSE']._serialized_end=571 - _globals['_TASKDELETEREQUEST']._serialized_start=573 - _globals['_TASKDELETEREQUEST']._serialized_end=648 - _globals['_TASKDELETERESPONSE']._serialized_start=650 - _globals['_TASKDELETERESPONSE']._serialized_end=674 - _globals['_EXTERNALPLUGINSERVICE']._serialized_start=777 - _globals['_EXTERNALPLUGINSERVICE']._serialized_end=1073 + _globals['_STATE']._serialized_start=795 + _globals['_STATE']._serialized_end=893 + _globals['_TASKCREATEREQUEST']._serialized_start=126 + _globals['_TASKCREATEREQUEST']._serialized_end=369 + _globals['_TASKCREATERESPONSE']._serialized_start=371 + _globals['_TASKCREATERESPONSE']._serialized_end=418 + _globals['_TASKGETREQUEST']._serialized_start=420 + _globals['_TASKGETREQUEST']._serialized_end=492 + _globals['_TASKGETRESPONSE']._serialized_start=495 + _globals['_TASKGETRESPONSE']._serialized_end=690 + _globals['_TASKDELETEREQUEST']._serialized_start=692 + _globals['_TASKDELETEREQUEST']._serialized_end=767 + _globals['_TASKDELETERESPONSE']._serialized_start=769 + _globals['_TASKDELETERESPONSE']._serialized_end=793 + _globals['_EXTERNALPLUGINSERVICE']._serialized_start=896 + _globals['_EXTERNALPLUGINSERVICE']._serialized_end=1192 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.pyi index b5163a8bfe..1c4aa307e1 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/service/external_plugin_service_pb2.pyi @@ -1,6 +1,5 @@ from flyteidl.core import literals_pb2 as _literals_pb2 from flyteidl.core import tasks_pb2 as _tasks_pb2 -from flyteidl.core import interface_pb2 as _interface_pb2 from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message @@ -22,14 +21,16 @@ RUNNING: State SUCCEEDED: State class TaskCreateRequest(_message.Message): - __slots__ = ["inputs", "template", "output_prefix"] - INPUTS_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["deprecated_inputs", "template", "output_prefix", "inputs"] + DEPRECATED_INPUTS_FIELD_NUMBER: _ClassVar[int] TEMPLATE_FIELD_NUMBER: _ClassVar[int] OUTPUT_PREFIX_FIELD_NUMBER: _ClassVar[int] - inputs: _literals_pb2.LiteralMap + INPUTS_FIELD_NUMBER: _ClassVar[int] + deprecated_inputs: _literals_pb2.LiteralMap template: _tasks_pb2.TaskTemplate output_prefix: str - def __init__(self, inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ...) -> None: ... + inputs: _literals_pb2.InputData + def __init__(self, deprecated_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ..., inputs: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ...) -> None: ... class TaskCreateResponse(_message.Message): __slots__ = ["job_id"] @@ -46,12 +47,14 @@ class TaskGetRequest(_message.Message): def __init__(self, task_type: _Optional[str] = ..., job_id: _Optional[str] = ...) -> None: ... class TaskGetResponse(_message.Message): - __slots__ = ["state", "outputs"] + __slots__ = ["state", "deprecated_outputs", "outputs"] STATE_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_OUTPUTS_FIELD_NUMBER: _ClassVar[int] OUTPUTS_FIELD_NUMBER: _ClassVar[int] state: State - outputs: _literals_pb2.LiteralMap - def __init__(self, state: _Optional[_Union[State, str]] = ..., outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ...) -> None: ... + deprecated_outputs: _literals_pb2.LiteralMap + outputs: _literals_pb2.OutputData + def __init__(self, state: _Optional[_Union[State, str]] = ..., deprecated_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., outputs: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ...) -> None: ... class TaskDeleteRequest(_message.Message): __slots__ = ["task_type", "job_id"] diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md index 3f98e5376a..b73ffb4d6b 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md @@ -295,6 +295,7 @@ Class | Method | HTTP request | Description - [CoreIdentity](docs/CoreIdentity.md) - [CoreIfBlock](docs/CoreIfBlock.md) - [CoreIfElseBlock](docs/CoreIfElseBlock.md) + - [CoreInputData](docs/CoreInputData.md) - [CoreK8sObjectMetadata](docs/CoreK8sObjectMetadata.md) - [CoreK8sPod](docs/CoreK8sPod.md) - [CoreKeyValuePair](docs/CoreKeyValuePair.md) @@ -310,6 +311,7 @@ Class | Method | HTTP request | Description - [CoreOAuth2TokenRequest](docs/CoreOAuth2TokenRequest.md) - [CoreOAuth2TokenRequestType](docs/CoreOAuth2TokenRequestType.md) - [CoreOperand](docs/CoreOperand.md) + - [CoreOutputData](docs/CoreOutputData.md) - [CoreOutputReference](docs/CoreOutputReference.md) - [CoreParameter](docs/CoreParameter.md) - [CoreParameterMap](docs/CoreParameterMap.md) diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py index 5db75c705d..edb5f7fa51 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/__init__.py @@ -186,6 +186,7 @@ from flyteadmin.models.core_identity import CoreIdentity from flyteadmin.models.core_if_block import CoreIfBlock from flyteadmin.models.core_if_else_block import CoreIfElseBlock +from flyteadmin.models.core_input_data import CoreInputData from flyteadmin.models.core_k8s_object_metadata import CoreK8sObjectMetadata from flyteadmin.models.core_k8s_pod import CoreK8sPod from flyteadmin.models.core_key_value_pair import CoreKeyValuePair @@ -201,6 +202,7 @@ from flyteadmin.models.core_o_auth2_token_request import CoreOAuth2TokenRequest from flyteadmin.models.core_o_auth2_token_request_type import CoreOAuth2TokenRequestType from flyteadmin.models.core_operand import CoreOperand +from flyteadmin.models.core_output_data import CoreOutputData from flyteadmin.models.core_output_reference import CoreOutputReference from flyteadmin.models.core_parameter import CoreParameter from flyteadmin.models.core_parameter_map import CoreParameterMap diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py index 8ff7d20249..d5995246ae 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py @@ -179,6 +179,7 @@ from flyteadmin.models.core_identity import CoreIdentity from flyteadmin.models.core_if_block import CoreIfBlock from flyteadmin.models.core_if_else_block import CoreIfElseBlock +from flyteadmin.models.core_input_data import CoreInputData from flyteadmin.models.core_k8s_object_metadata import CoreK8sObjectMetadata from flyteadmin.models.core_k8s_pod import CoreK8sPod from flyteadmin.models.core_key_value_pair import CoreKeyValuePair @@ -194,6 +195,7 @@ from flyteadmin.models.core_o_auth2_token_request import CoreOAuth2TokenRequest from flyteadmin.models.core_o_auth2_token_request_type import CoreOAuth2TokenRequestType from flyteadmin.models.core_operand import CoreOperand +from flyteadmin.models.core_output_data import CoreOutputData from flyteadmin.models.core_output_reference import CoreOutputReference from flyteadmin.models.core_parameter import CoreParameter from flyteadmin.models.core_parameter_map import CoreParameterMap diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py index 5c5373a88d..4c17d006e3 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py @@ -17,6 +17,7 @@ import six from flyteadmin.models.admin_execution_spec import AdminExecutionSpec # noqa: F401,E501 +from flyteadmin.models.core_input_data import CoreInputData # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 @@ -38,7 +39,8 @@ class AdminExecutionCreateRequest(object): 'domain': 'str', 'name': 'str', 'spec': 'AdminExecutionSpec', - 'inputs': 'CoreLiteralMap' + 'inputs': 'CoreLiteralMap', + 'input_data': 'CoreInputData' } attribute_map = { @@ -46,10 +48,11 @@ class AdminExecutionCreateRequest(object): 'domain': 'domain', 'name': 'name', 'spec': 'spec', - 'inputs': 'inputs' + 'inputs': 'inputs', + 'input_data': 'input_data' } - def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None): # noqa: E501 + def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None, input_data=None): # noqa: E501 """AdminExecutionCreateRequest - a model defined in Swagger""" # noqa: E501 self._project = None @@ -57,6 +60,7 @@ def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None) self._name = None self._spec = None self._inputs = None + self._input_data = None self.discriminator = None if project is not None: @@ -69,6 +73,8 @@ def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None) self.spec = spec if inputs is not None: self.inputs = inputs + if input_data is not None: + self.input_data = input_data @property def project(self): @@ -158,6 +164,7 @@ def spec(self, spec): def inputs(self): """Gets the inputs of this AdminExecutionCreateRequest. # noqa: E501 + The inputs required to start the execution. All required inputs must be included in this map. If not required and not provided, defaults apply. +optional Deprecated: Please use input_data instead. # noqa: E501 :return: The inputs of this AdminExecutionCreateRequest. # noqa: E501 :rtype: CoreLiteralMap @@ -168,6 +175,7 @@ def inputs(self): def inputs(self, inputs): """Sets the inputs of this AdminExecutionCreateRequest. + The inputs required to start the execution. All required inputs must be included in this map. If not required and not provided, defaults apply. +optional Deprecated: Please use input_data instead. # noqa: E501 :param inputs: The inputs of this AdminExecutionCreateRequest. # noqa: E501 :type: CoreLiteralMap @@ -175,6 +183,27 @@ def inputs(self, inputs): self._inputs = inputs + @property + def input_data(self): + """Gets the input_data of this AdminExecutionCreateRequest. # noqa: E501 + + + :return: The input_data of this AdminExecutionCreateRequest. # noqa: E501 + :rtype: CoreInputData + """ + return self._input_data + + @input_data.setter + def input_data(self, input_data): + """Sets the input_data of this AdminExecutionCreateRequest. + + + :param input_data: The input_data of this AdminExecutionCreateRequest. # noqa: E501 + :type: CoreInputData + """ + + self._input_data = input_data + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_launch_plan_spec.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_launch_plan_spec.py index 5fea5a8e2b..b0645379f4 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_launch_plan_spec.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_launch_plan_spec.py @@ -24,6 +24,7 @@ from flyteadmin.models.admin_launch_plan_metadata import AdminLaunchPlanMetadata # noqa: F401,E501 from flyteadmin.models.admin_raw_output_data_config import AdminRawOutputDataConfig # noqa: F401,E501 from flyteadmin.models.core_identifier import CoreIdentifier # noqa: F401,E501 +from flyteadmin.models.core_input_data import CoreInputData # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 from flyteadmin.models.core_parameter_map import CoreParameterMap # noqa: F401,E501 from flyteadmin.models.core_quality_of_service import CoreQualityOfService # noqa: F401,E501 @@ -48,6 +49,7 @@ class AdminLaunchPlanSpec(object): 'entity_metadata': 'AdminLaunchPlanMetadata', 'default_inputs': 'CoreParameterMap', 'fixed_inputs': 'CoreLiteralMap', + 'fixed_input_data': 'CoreInputData', 'role': 'str', 'labels': 'AdminLabels', 'annotations': 'AdminAnnotations', @@ -67,6 +69,7 @@ class AdminLaunchPlanSpec(object): 'entity_metadata': 'entity_metadata', 'default_inputs': 'default_inputs', 'fixed_inputs': 'fixed_inputs', + 'fixed_input_data': 'fixed_input_data', 'role': 'role', 'labels': 'labels', 'annotations': 'annotations', @@ -81,13 +84,14 @@ class AdminLaunchPlanSpec(object): 'envs': 'envs' } - def __init__(self, workflow_id=None, entity_metadata=None, default_inputs=None, fixed_inputs=None, role=None, labels=None, annotations=None, auth=None, auth_role=None, security_context=None, quality_of_service=None, raw_output_data_config=None, max_parallelism=None, interruptible=None, overwrite_cache=None, envs=None): # noqa: E501 + def __init__(self, workflow_id=None, entity_metadata=None, default_inputs=None, fixed_inputs=None, fixed_input_data=None, role=None, labels=None, annotations=None, auth=None, auth_role=None, security_context=None, quality_of_service=None, raw_output_data_config=None, max_parallelism=None, interruptible=None, overwrite_cache=None, envs=None): # noqa: E501 """AdminLaunchPlanSpec - a model defined in Swagger""" # noqa: E501 self._workflow_id = None self._entity_metadata = None self._default_inputs = None self._fixed_inputs = None + self._fixed_input_data = None self._role = None self._labels = None self._annotations = None @@ -110,6 +114,8 @@ def __init__(self, workflow_id=None, entity_metadata=None, default_inputs=None, self.default_inputs = default_inputs if fixed_inputs is not None: self.fixed_inputs = fixed_inputs + if fixed_input_data is not None: + self.fixed_input_data = fixed_input_data if role is not None: self.role = role if labels is not None: @@ -204,7 +210,6 @@ def default_inputs(self, default_inputs): def fixed_inputs(self): """Gets the fixed_inputs of this AdminLaunchPlanSpec. # noqa: E501 - Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. # noqa: E501 :return: The fixed_inputs of this AdminLaunchPlanSpec. # noqa: E501 :rtype: CoreLiteralMap @@ -215,7 +220,6 @@ def fixed_inputs(self): def fixed_inputs(self, fixed_inputs): """Sets the fixed_inputs of this AdminLaunchPlanSpec. - Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. # noqa: E501 :param fixed_inputs: The fixed_inputs of this AdminLaunchPlanSpec. # noqa: E501 :type: CoreLiteralMap @@ -223,6 +227,29 @@ def fixed_inputs(self, fixed_inputs): self._fixed_inputs = fixed_inputs + @property + def fixed_input_data(self): + """Gets the fixed_input_data of this AdminLaunchPlanSpec. # noqa: E501 + + Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. # noqa: E501 + + :return: The fixed_input_data of this AdminLaunchPlanSpec. # noqa: E501 + :rtype: CoreInputData + """ + return self._fixed_input_data + + @fixed_input_data.setter + def fixed_input_data(self, fixed_input_data): + """Sets the fixed_input_data of this AdminLaunchPlanSpec. + + Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. # noqa: E501 + + :param fixed_input_data: The fixed_input_data of this AdminLaunchPlanSpec. # noqa: E501 + :type: CoreInputData + """ + + self._fixed_input_data = fixed_input_data + @property def role(self): """Gets the role of this AdminLaunchPlanSpec. # noqa: E501 diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_get_data_response.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_get_data_response.py index 8460332961..9f56086337 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_get_data_response.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_get_data_response.py @@ -18,7 +18,9 @@ from flyteadmin.models.admin_flyte_ur_ls import AdminFlyteURLs # noqa: F401,E501 from flyteadmin.models.admin_url_blob import AdminUrlBlob # noqa: F401,E501 +from flyteadmin.models.core_input_data import CoreInputData # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 +from flyteadmin.models.core_output_data import CoreOutputData # noqa: F401,E501 from flyteadmin.models.flyteidladmin_dynamic_workflow_node_metadata import FlyteidladminDynamicWorkflowNodeMetadata # noqa: F401,E501 @@ -40,6 +42,8 @@ class AdminNodeExecutionGetDataResponse(object): 'outputs': 'AdminUrlBlob', 'full_inputs': 'CoreLiteralMap', 'full_outputs': 'CoreLiteralMap', + 'input_data': 'CoreInputData', + 'output_data': 'CoreOutputData', 'dynamic_workflow': 'FlyteidladminDynamicWorkflowNodeMetadata', 'flyte_urls': 'AdminFlyteURLs' } @@ -49,17 +53,21 @@ class AdminNodeExecutionGetDataResponse(object): 'outputs': 'outputs', 'full_inputs': 'full_inputs', 'full_outputs': 'full_outputs', + 'input_data': 'input_data', + 'output_data': 'output_data', 'dynamic_workflow': 'dynamic_workflow', 'flyte_urls': 'flyte_urls' } - def __init__(self, inputs=None, outputs=None, full_inputs=None, full_outputs=None, dynamic_workflow=None, flyte_urls=None): # noqa: E501 + def __init__(self, inputs=None, outputs=None, full_inputs=None, full_outputs=None, input_data=None, output_data=None, dynamic_workflow=None, flyte_urls=None): # noqa: E501 """AdminNodeExecutionGetDataResponse - a model defined in Swagger""" # noqa: E501 self._inputs = None self._outputs = None self._full_inputs = None self._full_outputs = None + self._input_data = None + self._output_data = None self._dynamic_workflow = None self._flyte_urls = None self.discriminator = None @@ -72,6 +80,10 @@ def __init__(self, inputs=None, outputs=None, full_inputs=None, full_outputs=Non self.full_inputs = full_inputs if full_outputs is not None: self.full_outputs = full_outputs + if input_data is not None: + self.input_data = input_data + if output_data is not None: + self.output_data = output_data if dynamic_workflow is not None: self.dynamic_workflow = dynamic_workflow if flyte_urls is not None: @@ -127,7 +139,7 @@ def outputs(self, outputs): def full_inputs(self): """Gets the full_inputs of this AdminNodeExecutionGetDataResponse. # noqa: E501 - Full_inputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. # noqa: E501 :return: The full_inputs of this AdminNodeExecutionGetDataResponse. # noqa: E501 :rtype: CoreLiteralMap @@ -138,7 +150,7 @@ def full_inputs(self): def full_inputs(self, full_inputs): """Sets the full_inputs of this AdminNodeExecutionGetDataResponse. - Full_inputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. # noqa: E501 :param full_inputs: The full_inputs of this AdminNodeExecutionGetDataResponse. # noqa: E501 :type: CoreLiteralMap @@ -150,7 +162,7 @@ def full_inputs(self, full_inputs): def full_outputs(self): """Gets the full_outputs of this AdminNodeExecutionGetDataResponse. # noqa: E501 - Full_outputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. # noqa: E501 :return: The full_outputs of this AdminNodeExecutionGetDataResponse. # noqa: E501 :rtype: CoreLiteralMap @@ -161,7 +173,7 @@ def full_outputs(self): def full_outputs(self, full_outputs): """Sets the full_outputs of this AdminNodeExecutionGetDataResponse. - Full_outputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. # noqa: E501 :param full_outputs: The full_outputs of this AdminNodeExecutionGetDataResponse. # noqa: E501 :type: CoreLiteralMap @@ -169,6 +181,52 @@ def full_outputs(self, full_outputs): self._full_outputs = full_outputs + @property + def input_data(self): + """Gets the input_data of this AdminNodeExecutionGetDataResponse. # noqa: E501 + + InputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :return: The input_data of this AdminNodeExecutionGetDataResponse. # noqa: E501 + :rtype: CoreInputData + """ + return self._input_data + + @input_data.setter + def input_data(self, input_data): + """Sets the input_data of this AdminNodeExecutionGetDataResponse. + + InputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :param input_data: The input_data of this AdminNodeExecutionGetDataResponse. # noqa: E501 + :type: CoreInputData + """ + + self._input_data = input_data + + @property + def output_data(self): + """Gets the output_data of this AdminNodeExecutionGetDataResponse. # noqa: E501 + + OutputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :return: The output_data of this AdminNodeExecutionGetDataResponse. # noqa: E501 + :rtype: CoreOutputData + """ + return self._output_data + + @output_data.setter + def output_data(self, output_data): + """Sets the output_data of this AdminNodeExecutionGetDataResponse. + + OutputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :param output_data: The output_data of this AdminNodeExecutionGetDataResponse. # noqa: E501 + :type: CoreOutputData + """ + + self._output_data = output_data + @property def dynamic_workflow(self): """Gets the dynamic_workflow of this AdminNodeExecutionGetDataResponse. # noqa: E501 diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_get_data_response.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_get_data_response.py index fb095426c9..509af87ef2 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_get_data_response.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_get_data_response.py @@ -18,7 +18,9 @@ from flyteadmin.models.admin_flyte_ur_ls import AdminFlyteURLs # noqa: F401,E501 from flyteadmin.models.admin_url_blob import AdminUrlBlob # noqa: F401,E501 +from flyteadmin.models.core_input_data import CoreInputData # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 +from flyteadmin.models.core_output_data import CoreOutputData # noqa: F401,E501 class AdminTaskExecutionGetDataResponse(object): @@ -39,6 +41,8 @@ class AdminTaskExecutionGetDataResponse(object): 'outputs': 'AdminUrlBlob', 'full_inputs': 'CoreLiteralMap', 'full_outputs': 'CoreLiteralMap', + 'input_data': 'CoreInputData', + 'output_data': 'CoreOutputData', 'flyte_urls': 'AdminFlyteURLs' } @@ -47,16 +51,20 @@ class AdminTaskExecutionGetDataResponse(object): 'outputs': 'outputs', 'full_inputs': 'full_inputs', 'full_outputs': 'full_outputs', + 'input_data': 'input_data', + 'output_data': 'output_data', 'flyte_urls': 'flyte_urls' } - def __init__(self, inputs=None, outputs=None, full_inputs=None, full_outputs=None, flyte_urls=None): # noqa: E501 + def __init__(self, inputs=None, outputs=None, full_inputs=None, full_outputs=None, input_data=None, output_data=None, flyte_urls=None): # noqa: E501 """AdminTaskExecutionGetDataResponse - a model defined in Swagger""" # noqa: E501 self._inputs = None self._outputs = None self._full_inputs = None self._full_outputs = None + self._input_data = None + self._output_data = None self._flyte_urls = None self.discriminator = None @@ -68,6 +76,10 @@ def __init__(self, inputs=None, outputs=None, full_inputs=None, full_outputs=Non self.full_inputs = full_inputs if full_outputs is not None: self.full_outputs = full_outputs + if input_data is not None: + self.input_data = input_data + if output_data is not None: + self.output_data = output_data if flyte_urls is not None: self.flyte_urls = flyte_urls @@ -121,7 +133,7 @@ def outputs(self, outputs): def full_inputs(self): """Gets the full_inputs of this AdminTaskExecutionGetDataResponse. # noqa: E501 - Full_inputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. # noqa: E501 :return: The full_inputs of this AdminTaskExecutionGetDataResponse. # noqa: E501 :rtype: CoreLiteralMap @@ -132,7 +144,7 @@ def full_inputs(self): def full_inputs(self, full_inputs): """Sets the full_inputs of this AdminTaskExecutionGetDataResponse. - Full_inputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. # noqa: E501 :param full_inputs: The full_inputs of this AdminTaskExecutionGetDataResponse. # noqa: E501 :type: CoreLiteralMap @@ -144,7 +156,7 @@ def full_inputs(self, full_inputs): def full_outputs(self): """Gets the full_outputs of this AdminTaskExecutionGetDataResponse. # noqa: E501 - Full_outputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. # noqa: E501 :return: The full_outputs of this AdminTaskExecutionGetDataResponse. # noqa: E501 :rtype: CoreLiteralMap @@ -155,7 +167,7 @@ def full_outputs(self): def full_outputs(self, full_outputs): """Sets the full_outputs of this AdminTaskExecutionGetDataResponse. - Full_outputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. # noqa: E501 :param full_outputs: The full_outputs of this AdminTaskExecutionGetDataResponse. # noqa: E501 :type: CoreLiteralMap @@ -163,6 +175,52 @@ def full_outputs(self, full_outputs): self._full_outputs = full_outputs + @property + def input_data(self): + """Gets the input_data of this AdminTaskExecutionGetDataResponse. # noqa: E501 + + InputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :return: The input_data of this AdminTaskExecutionGetDataResponse. # noqa: E501 + :rtype: CoreInputData + """ + return self._input_data + + @input_data.setter + def input_data(self, input_data): + """Sets the input_data of this AdminTaskExecutionGetDataResponse. + + InputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :param input_data: The input_data of this AdminTaskExecutionGetDataResponse. # noqa: E501 + :type: CoreInputData + """ + + self._input_data = input_data + + @property + def output_data(self): + """Gets the output_data of this AdminTaskExecutionGetDataResponse. # noqa: E501 + + OutputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :return: The output_data of this AdminTaskExecutionGetDataResponse. # noqa: E501 + :rtype: CoreOutputData + """ + return self._output_data + + @output_data.setter + def output_data(self, output_data): + """Sets the output_data of this AdminTaskExecutionGetDataResponse. + + OutputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :param output_data: The output_data of this AdminTaskExecutionGetDataResponse. # noqa: E501 + :type: CoreOutputData + """ + + self._output_data = output_data + @property def flyte_urls(self): """Gets the flyte_urls of this AdminTaskExecutionGetDataResponse. # noqa: E501 diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_execution_get_data_response.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_execution_get_data_response.py index 7b08ce32c7..a83552cd18 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_execution_get_data_response.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_execution_get_data_response.py @@ -17,7 +17,9 @@ import six from flyteadmin.models.admin_url_blob import AdminUrlBlob # noqa: F401,E501 +from flyteadmin.models.core_input_data import CoreInputData # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 +from flyteadmin.models.core_output_data import CoreOutputData # noqa: F401,E501 class AdminWorkflowExecutionGetDataResponse(object): @@ -37,23 +39,29 @@ class AdminWorkflowExecutionGetDataResponse(object): 'outputs': 'AdminUrlBlob', 'inputs': 'AdminUrlBlob', 'full_inputs': 'CoreLiteralMap', - 'full_outputs': 'CoreLiteralMap' + 'full_outputs': 'CoreLiteralMap', + 'input_data': 'CoreInputData', + 'output_data': 'CoreOutputData' } attribute_map = { 'outputs': 'outputs', 'inputs': 'inputs', 'full_inputs': 'full_inputs', - 'full_outputs': 'full_outputs' + 'full_outputs': 'full_outputs', + 'input_data': 'input_data', + 'output_data': 'output_data' } - def __init__(self, outputs=None, inputs=None, full_inputs=None, full_outputs=None): # noqa: E501 + def __init__(self, outputs=None, inputs=None, full_inputs=None, full_outputs=None, input_data=None, output_data=None): # noqa: E501 """AdminWorkflowExecutionGetDataResponse - a model defined in Swagger""" # noqa: E501 self._outputs = None self._inputs = None self._full_inputs = None self._full_outputs = None + self._input_data = None + self._output_data = None self.discriminator = None if outputs is not None: @@ -64,6 +72,10 @@ def __init__(self, outputs=None, inputs=None, full_inputs=None, full_outputs=Non self.full_inputs = full_inputs if full_outputs is not None: self.full_outputs = full_outputs + if input_data is not None: + self.input_data = input_data + if output_data is not None: + self.output_data = output_data @property def outputs(self): @@ -115,7 +127,7 @@ def inputs(self, inputs): def full_inputs(self): """Gets the full_inputs of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 - Full_inputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. # noqa: E501 :return: The full_inputs of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 :rtype: CoreLiteralMap @@ -126,7 +138,7 @@ def full_inputs(self): def full_inputs(self, full_inputs): """Sets the full_inputs of this AdminWorkflowExecutionGetDataResponse. - Full_inputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_inputs will only be populated if they are under a configured size threshold. Deprecated: Please use input_data instead. # noqa: E501 :param full_inputs: The full_inputs of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 :type: CoreLiteralMap @@ -138,7 +150,7 @@ def full_inputs(self, full_inputs): def full_outputs(self): """Gets the full_outputs of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 - Full_outputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. # noqa: E501 :return: The full_outputs of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 :rtype: CoreLiteralMap @@ -149,7 +161,7 @@ def full_outputs(self): def full_outputs(self, full_outputs): """Sets the full_outputs of this AdminWorkflowExecutionGetDataResponse. - Full_outputs will only be populated if they are under a configured size threshold. # noqa: E501 + Full_outputs will only be populated if they are under a configured size threshold. Deprecated: Please use output_data instead. # noqa: E501 :param full_outputs: The full_outputs of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 :type: CoreLiteralMap @@ -157,6 +169,52 @@ def full_outputs(self, full_outputs): self._full_outputs = full_outputs + @property + def input_data(self): + """Gets the input_data of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 + + InputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :return: The input_data of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 + :rtype: CoreInputData + """ + return self._input_data + + @input_data.setter + def input_data(self, input_data): + """Sets the input_data of this AdminWorkflowExecutionGetDataResponse. + + InputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :param input_data: The input_data of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 + :type: CoreInputData + """ + + self._input_data = input_data + + @property + def output_data(self): + """Gets the output_data of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 + + OutputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :return: The output_data of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 + :rtype: CoreOutputData + """ + return self._output_data + + @output_data.setter + def output_data(self, output_data): + """Sets the output_data of this AdminWorkflowExecutionGetDataResponse. + + OutputData will only be populated if they are under a configured size threshold. # noqa: E501 + + :param output_data: The output_data of this AdminWorkflowExecutionGetDataResponse. # noqa: E501 + :type: CoreOutputData + """ + + self._output_data = output_data + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py new file mode 100644 index 0000000000..53f543fb1c --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + +from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 + + +class CoreInputData(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'inputs': 'CoreLiteralMap' + } + + attribute_map = { + 'inputs': 'inputs' + } + + def __init__(self, inputs=None): # noqa: E501 + """CoreInputData - a model defined in Swagger""" # noqa: E501 + + self._inputs = None + self.discriminator = None + + if inputs is not None: + self.inputs = inputs + + @property + def inputs(self): + """Gets the inputs of this CoreInputData. # noqa: E501 + + + :return: The inputs of this CoreInputData. # noqa: E501 + :rtype: CoreLiteralMap + """ + return self._inputs + + @inputs.setter + def inputs(self, inputs): + """Sets the inputs of this CoreInputData. + + + :param inputs: The inputs of this CoreInputData. # noqa: E501 + :type: CoreLiteralMap + """ + + self._inputs = inputs + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CoreInputData, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CoreInputData): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py new file mode 100644 index 0000000000..706478f12f --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + +from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 + + +class CoreOutputData(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'outputs': 'CoreLiteralMap' + } + + attribute_map = { + 'outputs': 'outputs' + } + + def __init__(self, outputs=None): # noqa: E501 + """CoreOutputData - a model defined in Swagger""" # noqa: E501 + + self._outputs = None + self.discriminator = None + + if outputs is not None: + self.outputs = outputs + + @property + def outputs(self): + """Gets the outputs of this CoreOutputData. # noqa: E501 + + + :return: The outputs of this CoreOutputData. # noqa: E501 + :rtype: CoreLiteralMap + """ + return self._outputs + + @outputs.setter + def outputs(self, outputs): + """Sets the outputs of this CoreOutputData. + + + :param outputs: The outputs of this CoreOutputData. # noqa: E501 + :type: CoreLiteralMap + """ + + self._outputs = outputs + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CoreOutputData, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CoreOutputData): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_node_execution_event.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_node_execution_event.py index f87d0f78be..f38bd89105 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_node_execution_event.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_node_execution_event.py @@ -17,9 +17,11 @@ import six from flyteadmin.models.core_execution_error import CoreExecutionError # noqa: F401,E501 +from flyteadmin.models.core_input_data import CoreInputData # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 from flyteadmin.models.core_node_execution_identifier import CoreNodeExecutionIdentifier # noqa: F401,E501 from flyteadmin.models.core_node_execution_phase import CoreNodeExecutionPhase # noqa: F401,E501 +from flyteadmin.models.core_output_data import CoreOutputData # noqa: F401,E501 from flyteadmin.models.event_parent_node_execution_metadata import EventParentNodeExecutionMetadata # noqa: F401,E501 from flyteadmin.models.event_parent_task_execution_metadata import EventParentTaskExecutionMetadata # noqa: F401,E501 from flyteadmin.models.flyteidlevent_task_node_metadata import FlyteidleventTaskNodeMetadata # noqa: F401,E501 @@ -45,10 +47,12 @@ class EventNodeExecutionEvent(object): 'phase': 'CoreNodeExecutionPhase', 'occurred_at': 'datetime', 'input_uri': 'str', - 'input_data': 'CoreLiteralMap', + 'deprecated_input_data': 'CoreLiteralMap', + 'input_data': 'CoreInputData', 'output_uri': 'str', 'error': 'CoreExecutionError', - 'output_data': 'CoreLiteralMap', + 'deprecated_output_data': 'CoreLiteralMap', + 'output_data': 'CoreOutputData', 'workflow_node_metadata': 'FlyteidleventWorkflowNodeMetadata', 'task_node_metadata': 'FlyteidleventTaskNodeMetadata', 'parent_task_metadata': 'EventParentTaskExecutionMetadata', @@ -70,9 +74,11 @@ class EventNodeExecutionEvent(object): 'phase': 'phase', 'occurred_at': 'occurred_at', 'input_uri': 'input_uri', + 'deprecated_input_data': 'deprecated_input_data', 'input_data': 'input_data', 'output_uri': 'output_uri', 'error': 'error', + 'deprecated_output_data': 'deprecated_output_data', 'output_data': 'output_data', 'workflow_node_metadata': 'workflow_node_metadata', 'task_node_metadata': 'task_node_metadata', @@ -89,7 +95,7 @@ class EventNodeExecutionEvent(object): 'is_array': 'is_array' } - def __init__(self, id=None, producer_id=None, phase=None, occurred_at=None, input_uri=None, input_data=None, output_uri=None, error=None, output_data=None, workflow_node_metadata=None, task_node_metadata=None, parent_task_metadata=None, parent_node_metadata=None, retry_group=None, spec_node_id=None, node_name=None, event_version=None, is_parent=None, is_dynamic=None, deck_uri=None, reported_at=None, is_array=None): # noqa: E501 + def __init__(self, id=None, producer_id=None, phase=None, occurred_at=None, input_uri=None, deprecated_input_data=None, input_data=None, output_uri=None, error=None, deprecated_output_data=None, output_data=None, workflow_node_metadata=None, task_node_metadata=None, parent_task_metadata=None, parent_node_metadata=None, retry_group=None, spec_node_id=None, node_name=None, event_version=None, is_parent=None, is_dynamic=None, deck_uri=None, reported_at=None, is_array=None): # noqa: E501 """EventNodeExecutionEvent - a model defined in Swagger""" # noqa: E501 self._id = None @@ -97,9 +103,11 @@ def __init__(self, id=None, producer_id=None, phase=None, occurred_at=None, inpu self._phase = None self._occurred_at = None self._input_uri = None + self._deprecated_input_data = None self._input_data = None self._output_uri = None self._error = None + self._deprecated_output_data = None self._output_data = None self._workflow_node_metadata = None self._task_node_metadata = None @@ -126,12 +134,16 @@ def __init__(self, id=None, producer_id=None, phase=None, occurred_at=None, inpu self.occurred_at = occurred_at if input_uri is not None: self.input_uri = input_uri + if deprecated_input_data is not None: + self.deprecated_input_data = deprecated_input_data if input_data is not None: self.input_data = input_data if output_uri is not None: self.output_uri = output_uri if error is not None: self.error = error + if deprecated_output_data is not None: + self.deprecated_output_data = deprecated_output_data if output_data is not None: self.output_data = output_data if workflow_node_metadata is not None: @@ -268,6 +280,27 @@ def input_uri(self, input_uri): self._input_uri = input_uri + @property + def deprecated_input_data(self): + """Gets the deprecated_input_data of this EventNodeExecutionEvent. # noqa: E501 + + + :return: The deprecated_input_data of this EventNodeExecutionEvent. # noqa: E501 + :rtype: CoreLiteralMap + """ + return self._deprecated_input_data + + @deprecated_input_data.setter + def deprecated_input_data(self, deprecated_input_data): + """Sets the deprecated_input_data of this EventNodeExecutionEvent. + + + :param deprecated_input_data: The deprecated_input_data of this EventNodeExecutionEvent. # noqa: E501 + :type: CoreLiteralMap + """ + + self._deprecated_input_data = deprecated_input_data + @property def input_data(self): """Gets the input_data of this EventNodeExecutionEvent. # noqa: E501 @@ -275,7 +308,7 @@ def input_data(self): Raw input data consumed by this node execution. # noqa: E501 :return: The input_data of this EventNodeExecutionEvent. # noqa: E501 - :rtype: CoreLiteralMap + :rtype: CoreInputData """ return self._input_data @@ -286,7 +319,7 @@ def input_data(self, input_data): Raw input data consumed by this node execution. # noqa: E501 :param input_data: The input_data of this EventNodeExecutionEvent. # noqa: E501 - :type: CoreLiteralMap + :type: CoreInputData """ self._input_data = input_data @@ -335,14 +368,35 @@ def error(self, error): self._error = error + @property + def deprecated_output_data(self): + """Gets the deprecated_output_data of this EventNodeExecutionEvent. # noqa: E501 + + + :return: The deprecated_output_data of this EventNodeExecutionEvent. # noqa: E501 + :rtype: CoreLiteralMap + """ + return self._deprecated_output_data + + @deprecated_output_data.setter + def deprecated_output_data(self, deprecated_output_data): + """Sets the deprecated_output_data of this EventNodeExecutionEvent. + + + :param deprecated_output_data: The deprecated_output_data of this EventNodeExecutionEvent. # noqa: E501 + :type: CoreLiteralMap + """ + + self._deprecated_output_data = deprecated_output_data + @property def output_data(self): """Gets the output_data of this EventNodeExecutionEvent. # noqa: E501 - Raw output data produced by this node execution. # noqa: E501 + Raw output data produced by this workflow execution. # noqa: E501 :return: The output_data of this EventNodeExecutionEvent. # noqa: E501 - :rtype: CoreLiteralMap + :rtype: CoreOutputData """ return self._output_data @@ -350,10 +404,10 @@ def output_data(self): def output_data(self, output_data): """Sets the output_data of this EventNodeExecutionEvent. - Raw output data produced by this node execution. # noqa: E501 + Raw output data produced by this workflow execution. # noqa: E501 :param output_data: The output_data of this EventNodeExecutionEvent. # noqa: E501 - :type: CoreLiteralMap + :type: CoreOutputData """ self._output_data = output_data diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_task_execution_event.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_task_execution_event.py index b3ba4e284e..1082af3e38 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_task_execution_event.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_task_execution_event.py @@ -18,8 +18,10 @@ from flyteadmin.models.core_execution_error import CoreExecutionError # noqa: F401,E501 from flyteadmin.models.core_identifier import CoreIdentifier # noqa: F401,E501 +from flyteadmin.models.core_input_data import CoreInputData # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 from flyteadmin.models.core_node_execution_identifier import CoreNodeExecutionIdentifier # noqa: F401,E501 +from flyteadmin.models.core_output_data import CoreOutputData # noqa: F401,E501 from flyteadmin.models.core_task_execution_phase import CoreTaskExecutionPhase # noqa: F401,E501 from flyteadmin.models.core_task_log import CoreTaskLog # noqa: F401,E501 from flyteadmin.models.event_event_reason import EventEventReason # noqa: F401,E501 @@ -49,10 +51,12 @@ class EventTaskExecutionEvent(object): 'logs': 'list[CoreTaskLog]', 'occurred_at': 'datetime', 'input_uri': 'str', - 'input_data': 'CoreLiteralMap', + 'deprecated_input_data': 'CoreLiteralMap', + 'input_data': 'CoreInputData', 'output_uri': 'str', 'error': 'CoreExecutionError', - 'output_data': 'CoreLiteralMap', + 'deprecated_output_data': 'CoreLiteralMap', + 'output_data': 'CoreOutputData', 'custom_info': 'ProtobufStruct', 'phase_version': 'int', 'reason': 'str', @@ -72,9 +76,11 @@ class EventTaskExecutionEvent(object): 'logs': 'logs', 'occurred_at': 'occurred_at', 'input_uri': 'input_uri', + 'deprecated_input_data': 'deprecated_input_data', 'input_data': 'input_data', 'output_uri': 'output_uri', 'error': 'error', + 'deprecated_output_data': 'deprecated_output_data', 'output_data': 'output_data', 'custom_info': 'custom_info', 'phase_version': 'phase_version', @@ -86,7 +92,7 @@ class EventTaskExecutionEvent(object): 'reported_at': 'reported_at' } - def __init__(self, task_id=None, parent_node_execution_id=None, retry_attempt=None, phase=None, producer_id=None, logs=None, occurred_at=None, input_uri=None, input_data=None, output_uri=None, error=None, output_data=None, custom_info=None, phase_version=None, reason=None, reasons=None, task_type=None, metadata=None, event_version=None, reported_at=None): # noqa: E501 + def __init__(self, task_id=None, parent_node_execution_id=None, retry_attempt=None, phase=None, producer_id=None, logs=None, occurred_at=None, input_uri=None, deprecated_input_data=None, input_data=None, output_uri=None, error=None, deprecated_output_data=None, output_data=None, custom_info=None, phase_version=None, reason=None, reasons=None, task_type=None, metadata=None, event_version=None, reported_at=None): # noqa: E501 """EventTaskExecutionEvent - a model defined in Swagger""" # noqa: E501 self._task_id = None @@ -97,9 +103,11 @@ def __init__(self, task_id=None, parent_node_execution_id=None, retry_attempt=No self._logs = None self._occurred_at = None self._input_uri = None + self._deprecated_input_data = None self._input_data = None self._output_uri = None self._error = None + self._deprecated_output_data = None self._output_data = None self._custom_info = None self._phase_version = None @@ -127,12 +135,16 @@ def __init__(self, task_id=None, parent_node_execution_id=None, retry_attempt=No self.occurred_at = occurred_at if input_uri is not None: self.input_uri = input_uri + if deprecated_input_data is not None: + self.deprecated_input_data = deprecated_input_data if input_data is not None: self.input_data = input_data if output_uri is not None: self.output_uri = output_uri if error is not None: self.error = error + if deprecated_output_data is not None: + self.deprecated_output_data = deprecated_output_data if output_data is not None: self.output_data = output_data if custom_info is not None: @@ -326,14 +338,35 @@ def input_uri(self, input_uri): self._input_uri = input_uri + @property + def deprecated_input_data(self): + """Gets the deprecated_input_data of this EventTaskExecutionEvent. # noqa: E501 + + + :return: The deprecated_input_data of this EventTaskExecutionEvent. # noqa: E501 + :rtype: CoreLiteralMap + """ + return self._deprecated_input_data + + @deprecated_input_data.setter + def deprecated_input_data(self, deprecated_input_data): + """Sets the deprecated_input_data of this EventTaskExecutionEvent. + + + :param deprecated_input_data: The deprecated_input_data of this EventTaskExecutionEvent. # noqa: E501 + :type: CoreLiteralMap + """ + + self._deprecated_input_data = deprecated_input_data + @property def input_data(self): """Gets the input_data of this EventTaskExecutionEvent. # noqa: E501 - Raw input data consumed by this task execution. # noqa: E501 + Raw input data consumed by this node execution. # noqa: E501 :return: The input_data of this EventTaskExecutionEvent. # noqa: E501 - :rtype: CoreLiteralMap + :rtype: CoreInputData """ return self._input_data @@ -341,10 +374,10 @@ def input_data(self): def input_data(self, input_data): """Sets the input_data of this EventTaskExecutionEvent. - Raw input data consumed by this task execution. # noqa: E501 + Raw input data consumed by this node execution. # noqa: E501 :param input_data: The input_data of this EventTaskExecutionEvent. # noqa: E501 - :type: CoreLiteralMap + :type: CoreInputData """ self._input_data = input_data @@ -393,14 +426,35 @@ def error(self, error): self._error = error + @property + def deprecated_output_data(self): + """Gets the deprecated_output_data of this EventTaskExecutionEvent. # noqa: E501 + + + :return: The deprecated_output_data of this EventTaskExecutionEvent. # noqa: E501 + :rtype: CoreLiteralMap + """ + return self._deprecated_output_data + + @deprecated_output_data.setter + def deprecated_output_data(self, deprecated_output_data): + """Sets the deprecated_output_data of this EventTaskExecutionEvent. + + + :param deprecated_output_data: The deprecated_output_data of this EventTaskExecutionEvent. # noqa: E501 + :type: CoreLiteralMap + """ + + self._deprecated_output_data = deprecated_output_data + @property def output_data(self): """Gets the output_data of this EventTaskExecutionEvent. # noqa: E501 - Raw output data produced by this task execution. # noqa: E501 + Raw output data produced by this workflow execution. # noqa: E501 :return: The output_data of this EventTaskExecutionEvent. # noqa: E501 - :rtype: CoreLiteralMap + :rtype: CoreOutputData """ return self._output_data @@ -408,10 +462,10 @@ def output_data(self): def output_data(self, output_data): """Sets the output_data of this EventTaskExecutionEvent. - Raw output data produced by this task execution. # noqa: E501 + Raw output data produced by this workflow execution. # noqa: E501 :param output_data: The output_data of this EventTaskExecutionEvent. # noqa: E501 - :type: CoreLiteralMap + :type: CoreOutputData """ self._output_data = output_data diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py index 97331dfbbb..54075acd7a 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py @@ -18,6 +18,7 @@ from flyteadmin.models.core_execution_error import CoreExecutionError # noqa: F401,E501 from flyteadmin.models.core_literal_map import CoreLiteralMap # noqa: F401,E501 +from flyteadmin.models.core_output_data import CoreOutputData # noqa: F401,E501 from flyteadmin.models.core_workflow_execution_identifier import CoreWorkflowExecutionIdentifier # noqa: F401,E501 from flyteadmin.models.core_workflow_execution_phase import CoreWorkflowExecutionPhase # noqa: F401,E501 @@ -42,7 +43,8 @@ class EventWorkflowExecutionEvent(object): 'occurred_at': 'datetime', 'output_uri': 'str', 'error': 'CoreExecutionError', - 'output_data': 'CoreLiteralMap' + 'deprecated_output_data': 'CoreLiteralMap', + 'output_data': 'CoreOutputData' } attribute_map = { @@ -52,10 +54,11 @@ class EventWorkflowExecutionEvent(object): 'occurred_at': 'occurred_at', 'output_uri': 'output_uri', 'error': 'error', + 'deprecated_output_data': 'deprecated_output_data', 'output_data': 'output_data' } - def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at=None, output_uri=None, error=None, output_data=None): # noqa: E501 + def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at=None, output_uri=None, error=None, deprecated_output_data=None, output_data=None): # noqa: E501 """EventWorkflowExecutionEvent - a model defined in Swagger""" # noqa: E501 self._execution_id = None @@ -64,6 +67,7 @@ def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at= self._occurred_at = None self._output_uri = None self._error = None + self._deprecated_output_data = None self._output_data = None self.discriminator = None @@ -79,6 +83,8 @@ def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at= self.output_uri = output_uri if error is not None: self.error = error + if deprecated_output_data is not None: + self.deprecated_output_data = deprecated_output_data if output_data is not None: self.output_data = output_data @@ -212,6 +218,27 @@ def error(self, error): self._error = error + @property + def deprecated_output_data(self): + """Gets the deprecated_output_data of this EventWorkflowExecutionEvent. # noqa: E501 + + + :return: The deprecated_output_data of this EventWorkflowExecutionEvent. # noqa: E501 + :rtype: CoreLiteralMap + """ + return self._deprecated_output_data + + @deprecated_output_data.setter + def deprecated_output_data(self, deprecated_output_data): + """Sets the deprecated_output_data of this EventWorkflowExecutionEvent. + + + :param deprecated_output_data: The deprecated_output_data of this EventWorkflowExecutionEvent. # noqa: E501 + :type: CoreLiteralMap + """ + + self._deprecated_output_data = deprecated_output_data + @property def output_data(self): """Gets the output_data of this EventWorkflowExecutionEvent. # noqa: E501 @@ -219,7 +246,7 @@ def output_data(self): Raw output data produced by this workflow execution. # noqa: E501 :return: The output_data of this EventWorkflowExecutionEvent. # noqa: E501 - :rtype: CoreLiteralMap + :rtype: CoreOutputData """ return self._output_data @@ -230,7 +257,7 @@ def output_data(self, output_data): Raw output data produced by this workflow execution. # noqa: E501 :param output_data: The output_data of this EventWorkflowExecutionEvent. # noqa: E501 - :type: CoreLiteralMap + :type: CoreOutputData """ self._output_data = output_data diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_input_data.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_input_data.py new file mode 100644 index 0000000000..55f7cda50b --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_input_data.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.core_input_data import CoreInputData # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestCoreInputData(unittest.TestCase): + """CoreInputData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCoreInputData(self): + """Test CoreInputData""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.core_input_data.CoreInputData() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_output_data.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_output_data.py new file mode 100644 index 0000000000..a288fc8703 --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_core_output_data.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.core_output_data import CoreOutputData # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestCoreOutputData(unittest.TestCase): + """CoreOutputData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCoreOutputData(self): + """Test CoreOutputData""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.core_output_data.CoreOutputData() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/flyteidl/gen/pb_rust/flyteidl.admin.rs b/flyteidl/gen/pb_rust/flyteidl.admin.rs index 5ac0ff4471..8ef6fe003e 100644 --- a/flyteidl/gen/pb_rust/flyteidl.admin.rs +++ b/flyteidl/gen/pb_rust/flyteidl.admin.rs @@ -29,8 +29,10 @@ pub struct CreateTaskRequest { /// The inputs required to start the execution. All required inputs must be /// included in this map. If not required and not provided, defaults apply. /// +optional + /// Deprecated: Use inputs instead. + #[deprecated] #[prost(message, optional, tag="1")] - pub inputs: ::core::option::Option, + pub deprecated_inputs: ::core::option::Option, /// Template of the task that encapsulates all the metadata of the task. #[prost(message, optional, tag="2")] pub template: ::core::option::Option, @@ -40,6 +42,11 @@ pub struct CreateTaskRequest { /// subset of runtime task execution metadata. #[prost(message, optional, tag="4")] pub task_execution_metadata: ::core::option::Option, + /// Inputs are the inputs required to start the execution. All required inputs must be + /// included in this map. If not required and not provided, defaults apply. + /// +optional + #[prost(message, optional, tag="5")] + pub inputs: ::core::option::Option, } /// Represents a create response structure. #[allow(clippy::derive_partial_eq_without_eq)] @@ -76,8 +83,15 @@ pub struct Resource { /// The outputs of the execution. It's typically used by sql task. Agent service will create a /// Structured dataset pointing to the query result table. /// +optional + /// Deprecated: Use outputs instead. + #[deprecated] #[prost(message, optional, tag="2")] - pub outputs: ::core::option::Option, + pub deprecated_outputs: ::core::option::Option, + /// The outputs of the execution. It's typically used by sql task. Agent service will create a + /// Structured dataset pointing to the query result table. + /// +optional + #[prost(message, optional, tag="3")] + pub outputs: ::core::option::Option, } /// A message used to delete a task. #[allow(clippy::derive_partial_eq_without_eq)] @@ -802,8 +816,15 @@ pub struct ExecutionCreateRequest { /// The inputs required to start the execution. All required inputs must be /// included in this map. If not required and not provided, defaults apply. /// +optional + /// Deprecated: Please use input_data instead. + #[deprecated] #[prost(message, optional, tag="5")] pub inputs: ::core::option::Option, + /// The inputs required to start the execution. All required inputs must be + /// included in this map. If not required and not provided, defaults apply. + /// +optional + #[prost(message, optional, tag="6")] + pub input_data: ::core::option::Option, } /// Request to relaunch the referenced execution. #[allow(clippy::derive_partial_eq_without_eq)] @@ -1203,11 +1224,21 @@ pub struct WorkflowExecutionGetDataResponse { #[prost(message, optional, tag="2")] pub inputs: ::core::option::Option, /// Full_inputs will only be populated if they are under a configured size threshold. + /// Deprecated: Please use input_data instead. + #[deprecated] #[prost(message, optional, tag="3")] pub full_inputs: ::core::option::Option, /// Full_outputs will only be populated if they are under a configured size threshold. + /// Deprecated: Please use output_data instead. + #[deprecated] #[prost(message, optional, tag="4")] pub full_outputs: ::core::option::Option, + /// InputData will only be populated if they are under a configured size threshold. + #[prost(message, optional, tag="5")] + pub input_data: ::core::option::Option, + /// OutputData will only be populated if they are under a configured size threshold. + #[prost(message, optional, tag="6")] + pub output_data: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1439,8 +1470,14 @@ pub struct LaunchPlanSpec { pub default_inputs: ::core::option::Option, /// Fixed, non-overridable inputs for the Launch Plan. /// These can not be overridden when an execution is created with this launch plan. + /// Deprecated: Please use fixec_input_data instead + #[deprecated] #[prost(message, optional, tag="4")] pub fixed_inputs: ::core::option::Option, + /// Fixed, non-overridable inputs for the Launch Plan. + /// These can not be overridden when an execution is created with this launch plan. + #[prost(message, optional, tag="22")] + pub fixed_input_data: ::core::option::Option, /// String to indicate the role to use to execute the workflow underneath #[deprecated] #[prost(string, tag="5")] @@ -2114,11 +2151,21 @@ pub struct NodeExecutionGetDataResponse { #[prost(message, optional, tag="2")] pub outputs: ::core::option::Option, /// Full_inputs will only be populated if they are under a configured size threshold. + /// Deprecated: Please use input_data instead. + #[deprecated] #[prost(message, optional, tag="3")] pub full_inputs: ::core::option::Option, - /// Full_outputs will only be populated if they are under a configured size threshold. + /// Full_outputs will only be populated if they are under a configured size threshold. + /// Deprecated: Please use output_data instead. + #[deprecated] #[prost(message, optional, tag="4")] pub full_outputs: ::core::option::Option, + /// InputData will only be populated if they are under a configured size threshold. + #[prost(message, optional, tag="5")] + pub input_data: ::core::option::Option, + /// OutputData will only be populated if they are under a configured size threshold. + #[prost(message, optional, tag="6")] + pub output_data: ::core::option::Option, /// Optional Workflow closure for a dynamically generated workflow, in the case this node yields a dynamic workflow we return its structure here. #[prost(message, optional, tag="16")] pub dynamic_workflow: ::core::option::Option, @@ -2748,11 +2795,21 @@ pub struct TaskExecutionGetDataResponse { #[prost(message, optional, tag="2")] pub outputs: ::core::option::Option, /// Full_inputs will only be populated if they are under a configured size threshold. + /// Deprecated: Please use input_data instead. + #[deprecated] #[prost(message, optional, tag="3")] pub full_inputs: ::core::option::Option, /// Full_outputs will only be populated if they are under a configured size threshold. + /// Deprecated: Please use output_data instead. + #[deprecated] #[prost(message, optional, tag="4")] pub full_outputs: ::core::option::Option, + /// InputData will only be populated if they are under a configured size threshold. + #[prost(message, optional, tag="6")] + pub input_data: ::core::option::Option, + /// OutputData will only be populated if they are under a configured size threshold. + #[prost(message, optional, tag="7")] + pub output_data: ::core::option::Option, /// flyte tiny url to fetch a core.LiteralMap of task execution's IO /// Deck will be empty for task #[prost(message, optional, tag="5")] diff --git a/flyteidl/gen/pb_rust/flyteidl.core.rs b/flyteidl/gen/pb_rust/flyteidl.core.rs index e3328f81d3..cc00a6ff77 100644 --- a/flyteidl/gen/pb_rust/flyteidl.core.rs +++ b/flyteidl/gen/pb_rust/flyteidl.core.rs @@ -511,6 +511,18 @@ pub struct LiteralMap { #[prost(map="string, message", tag="1")] pub literals: ::std::collections::HashMap<::prost::alloc::string::String, Literal>, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InputData { + #[prost(message, optional, tag="1")] + pub inputs: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OutputData { + #[prost(message, optional, tag="1")] + pub outputs: ::core::option::Option, +} /// A collection of BindingData items. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] diff --git a/flyteidl/gen/pb_rust/flyteidl.event.rs b/flyteidl/gen/pb_rust/flyteidl.event.rs index 537167cc99..959ec0b214 100644 --- a/flyteidl/gen/pb_rust/flyteidl.event.rs +++ b/flyteidl/gen/pb_rust/flyteidl.event.rs @@ -14,7 +14,7 @@ pub struct WorkflowExecutionEvent { /// by the executor of the workflow. #[prost(message, optional, tag="4")] pub occurred_at: ::core::option::Option<::prost_types::Timestamp>, - #[prost(oneof="workflow_execution_event::OutputResult", tags="5, 6, 7")] + #[prost(oneof="workflow_execution_event::OutputResult", tags="5, 6, 7, 8")] pub output_result: ::core::option::Option, } /// Nested message and enum types in `WorkflowExecutionEvent`. @@ -30,8 +30,12 @@ pub mod workflow_execution_event { #[prost(message, tag="6")] Error(super::super::core::ExecutionError), /// Raw output data produced by this workflow execution. + /// Deprecated: please use output_data instead #[prost(message, tag="7")] - OutputData(super::super::core::LiteralMap), + DeprecatedOutputData(super::super::core::LiteralMap), + /// Raw output data produced by this workflow execution. + #[prost(message, tag="8")] + OutputData(super::super::core::OutputData), } } #[allow(clippy::derive_partial_eq_without_eq)] @@ -86,9 +90,9 @@ pub struct NodeExecutionEvent { /// Indicates if this node is an ArrayNode. #[prost(bool, tag="22")] pub is_array: bool, - #[prost(oneof="node_execution_event::InputValue", tags="5, 20")] + #[prost(oneof="node_execution_event::InputValue", tags="5, 20, 24")] pub input_value: ::core::option::Option, - #[prost(oneof="node_execution_event::OutputResult", tags="6, 7, 15")] + #[prost(oneof="node_execution_event::OutputResult", tags="6, 7, 15, 23")] pub output_result: ::core::option::Option, /// Additional metadata to do with this event's node target based /// on the node type @@ -103,8 +107,12 @@ pub mod node_execution_event { #[prost(string, tag="5")] InputUri(::prost::alloc::string::String), /// Raw input data consumed by this node execution. + /// Deprecated: please use input_data instead #[prost(message, tag="20")] - InputData(super::super::core::LiteralMap), + DeprecatedInputData(super::super::core::LiteralMap), + /// Raw input data consumed by this node execution. + #[prost(message, tag="24")] + InputData(super::super::core::InputData), } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] @@ -116,9 +124,13 @@ pub mod node_execution_event { /// Error information for the execution #[prost(message, tag="7")] Error(super::super::core::ExecutionError), - /// Raw output data produced by this node execution. + /// Raw output data produced by this workflow execution. + /// Deprecated: please use output_data instead #[prost(message, tag="15")] - OutputData(super::super::core::LiteralMap), + DeprecatedOutputData(super::super::core::LiteralMap), + /// Raw output data produced by this workflow execution. + #[prost(message, tag="23")] + OutputData(super::super::core::OutputData), } /// Additional metadata to do with this event's node target based /// on the node type @@ -260,9 +272,9 @@ pub struct TaskExecutionEvent { /// facilitates a more accurate portrayal of the evaluation time-series. #[prost(message, optional, tag="20")] pub reported_at: ::core::option::Option<::prost_types::Timestamp>, - #[prost(oneof="task_execution_event::InputValue", tags="8, 19")] + #[prost(oneof="task_execution_event::InputValue", tags="8, 19, 23")] pub input_value: ::core::option::Option, - #[prost(oneof="task_execution_event::OutputResult", tags="9, 10, 17")] + #[prost(oneof="task_execution_event::OutputResult", tags="9, 10, 17, 22")] pub output_result: ::core::option::Option, } /// Nested message and enum types in `TaskExecutionEvent`. @@ -274,9 +286,13 @@ pub mod task_execution_event { /// including Cloud source provider. ie., s3://... #[prost(string, tag="8")] InputUri(::prost::alloc::string::String), - /// Raw input data consumed by this task execution. + /// Raw input data consumed by this node execution. + /// Deprecated: please use input_data instead #[prost(message, tag="19")] - InputData(super::super::core::LiteralMap), + DeprecatedInputData(super::super::core::LiteralMap), + /// Raw input data consumed by this node execution. + #[prost(message, tag="23")] + InputData(super::super::core::InputData), } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] @@ -288,9 +304,13 @@ pub mod task_execution_event { /// Error information for the execution #[prost(message, tag="10")] Error(super::super::core::ExecutionError), - /// Raw output data produced by this task execution. + /// Raw output data produced by this workflow execution. + /// Deprecated: please use output_data instead #[prost(message, tag="17")] - OutputData(super::super::core::LiteralMap), + DeprecatedOutputData(super::super::core::LiteralMap), + /// Raw output data produced by this workflow execution. + #[prost(message, tag="22")] + OutputData(super::super::core::OutputData), } } /// This message contains metadata about external resources produced or used by a specific task execution. diff --git a/flyteidl/gen/pb_rust/flyteidl.service.rs b/flyteidl/gen/pb_rust/flyteidl.service.rs index c427170333..a022c09db5 100644 --- a/flyteidl/gen/pb_rust/flyteidl.service.rs +++ b/flyteidl/gen/pb_rust/flyteidl.service.rs @@ -214,7 +214,7 @@ pub struct GetDataRequest { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetDataResponse { - #[prost(oneof="get_data_response::Data", tags="1, 2, 3")] + #[prost(oneof="get_data_response::Data", tags="1, 2, 3, 4, 5")] pub data: ::core::option::Option, } /// Nested message and enum types in `GetDataResponse`. @@ -232,6 +232,12 @@ pub mod get_data_response { /// by name. See the o3 example above. #[prost(message, tag="3")] Literal(super::super::core::Literal), + /// InputData is returned when the user/url requests the input data for an execution. + #[prost(message, tag="4")] + InputData(super::super::core::InputData), + /// OutputData is returned when the user/url requests the output data for an execution. + #[prost(message, tag="5")] + OutputData(super::super::core::OutputData), } } /// ArtifactType @@ -271,14 +277,21 @@ pub struct TaskCreateRequest { /// The inputs required to start the execution. All required inputs must be /// included in this map. If not required and not provided, defaults apply. /// +optional + /// Deprecated: please use inputs instead. + #[deprecated] #[prost(message, optional, tag="1")] - pub inputs: ::core::option::Option, + pub deprecated_inputs: ::core::option::Option, /// Template of the task that encapsulates all the metadata of the task. #[prost(message, optional, tag="2")] pub template: ::core::option::Option, /// Prefix for where task output data will be written. (e.g. s3://my-bucket/randomstring) #[prost(string, tag="3")] pub output_prefix: ::prost::alloc::string::String, + /// The inputs required to start the execution. All required inputs must be + /// included in this map. If not required and not provided, defaults apply. + /// +optional + #[prost(message, optional, tag="4")] + pub inputs: ::core::option::Option, } /// Represents a create response structure. #[allow(clippy::derive_partial_eq_without_eq)] @@ -308,8 +321,14 @@ pub struct TaskGetResponse { /// The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a /// Structured dataset pointing to the query result table. /// +optional + /// Deprecated: Please use outputs instead #[prost(message, optional, tag="2")] - pub outputs: ::core::option::Option, + pub deprecated_outputs: ::core::option::Option, + /// The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a + /// Structured dataset pointing to the query result table. + /// +optional + #[prost(message, optional, tag="3")] + pub outputs: ::core::option::Option, } /// A message used to delete a task. #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/flyteidl/protos/flyteidl/admin/agent.proto b/flyteidl/protos/flyteidl/admin/agent.proto index d85d4d9a9e..586a07bef1 100644 --- a/flyteidl/protos/flyteidl/admin/agent.proto +++ b/flyteidl/protos/flyteidl/admin/agent.proto @@ -38,13 +38,18 @@ message CreateTaskRequest { // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - core.LiteralMap inputs = 1; + // Deprecated: Use inputs instead. + core.LiteralMap deprecated_inputs = 1 [deprecated = true]; // Template of the task that encapsulates all the metadata of the task. core.TaskTemplate template = 2; // Prefix for where task output data will be written. (e.g. s3://my-bucket/randomstring) string output_prefix = 3; // subset of runtime task execution metadata. TaskExecutionMetadata task_execution_metadata = 4; + // Inputs are the inputs required to start the execution. All required inputs must be + // included in this map. If not required and not provided, defaults apply. + // +optional + core.InputData inputs = 5; } // Represents a create response structure. @@ -72,7 +77,12 @@ message Resource { // The outputs of the execution. It's typically used by sql task. Agent service will create a // Structured dataset pointing to the query result table. // +optional - core.LiteralMap outputs = 2; + // Deprecated: Use outputs instead. + core.LiteralMap deprecated_outputs = 2 [deprecated = true]; + // The outputs of the execution. It's typically used by sql task. Agent service will create a + // Structured dataset pointing to the query result table. + // +optional + core.OutputData outputs = 3; } // A message used to delete a task. diff --git a/flyteidl/protos/flyteidl/admin/execution.proto b/flyteidl/protos/flyteidl/admin/execution.proto index ee33969a0c..e918c8ebcd 100644 --- a/flyteidl/protos/flyteidl/admin/execution.proto +++ b/flyteidl/protos/flyteidl/admin/execution.proto @@ -37,7 +37,13 @@ message ExecutionCreateRequest { // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - core.LiteralMap inputs = 5; + // Deprecated: Please use input_data instead. + core.LiteralMap inputs = 5 [deprecated = true]; + + // The inputs required to start the execution. All required inputs must be + // included in this map. If not required and not provided, defaults apply. + // +optional + core.InputData input_data = 6; } // Request to relaunch the referenced execution. @@ -355,10 +361,18 @@ message WorkflowExecutionGetDataResponse { UrlBlob inputs = 2 [deprecated = true]; // Full_inputs will only be populated if they are under a configured size threshold. - core.LiteralMap full_inputs = 3; + // Deprecated: Please use input_data instead. + core.LiteralMap full_inputs = 3 [deprecated = true]; // Full_outputs will only be populated if they are under a configured size threshold. - core.LiteralMap full_outputs = 4; + // Deprecated: Please use output_data instead. + core.LiteralMap full_outputs = 4 [deprecated = true]; + + // InputData will only be populated if they are under a configured size threshold. + core.InputData input_data = 5; + + // OutputData will only be populated if they are under a configured size threshold. + core.OutputData output_data = 6; } // The state of the execution is used to control its visibility in the UI/CLI. diff --git a/flyteidl/protos/flyteidl/admin/launch_plan.proto b/flyteidl/protos/flyteidl/admin/launch_plan.proto index c9bda4d252..48ab03f143 100644 --- a/flyteidl/protos/flyteidl/admin/launch_plan.proto +++ b/flyteidl/protos/flyteidl/admin/launch_plan.proto @@ -90,7 +90,11 @@ message LaunchPlanSpec { // Fixed, non-overridable inputs for the Launch Plan. // These can not be overridden when an execution is created with this launch plan. - core.LiteralMap fixed_inputs = 4; + // Deprecated: Please use fixec_input_data instead + core.LiteralMap fixed_inputs = 4 [deprecated = true]; + // Fixed, non-overridable inputs for the Launch Plan. + // These can not be overridden when an execution is created with this launch plan. + core.InputData fixed_input_data = 22; // String to indicate the role to use to execute the workflow underneath string role = 5 [deprecated = true]; diff --git a/flyteidl/protos/flyteidl/admin/node_execution.proto b/flyteidl/protos/flyteidl/admin/node_execution.proto index 9c80e22efe..a43edb5db7 100644 --- a/flyteidl/protos/flyteidl/admin/node_execution.proto +++ b/flyteidl/protos/flyteidl/admin/node_execution.proto @@ -224,10 +224,18 @@ message NodeExecutionGetDataResponse { UrlBlob outputs = 2 [deprecated = true]; // Full_inputs will only be populated if they are under a configured size threshold. - core.LiteralMap full_inputs = 3; + // Deprecated: Please use input_data instead. + core.LiteralMap full_inputs = 3 [deprecated = true]; - // Full_outputs will only be populated if they are under a configured size threshold. - core.LiteralMap full_outputs = 4; + // Full_outputs will only be populated if they are under a configured size threshold. + // Deprecated: Please use output_data instead. + core.LiteralMap full_outputs = 4 [deprecated = true]; + + // InputData will only be populated if they are under a configured size threshold. + core.InputData input_data = 5; + + // OutputData will only be populated if they are under a configured size threshold. + core.OutputData output_data = 6; // Optional Workflow closure for a dynamically generated workflow, in the case this node yields a dynamic workflow we return its structure here. DynamicWorkflowNodeMetadata dynamic_workflow = 16; diff --git a/flyteidl/protos/flyteidl/admin/task_execution.proto b/flyteidl/protos/flyteidl/admin/task_execution.proto index 54d2ff1e61..431e2aee01 100644 --- a/flyteidl/protos/flyteidl/admin/task_execution.proto +++ b/flyteidl/protos/flyteidl/admin/task_execution.proto @@ -157,10 +157,18 @@ message TaskExecutionGetDataResponse { UrlBlob outputs = 2 [deprecated = true]; // Full_inputs will only be populated if they are under a configured size threshold. - core.LiteralMap full_inputs = 3; + // Deprecated: Please use input_data instead. + core.LiteralMap full_inputs = 3 [deprecated = true]; // Full_outputs will only be populated if they are under a configured size threshold. - core.LiteralMap full_outputs = 4; + // Deprecated: Please use output_data instead. + core.LiteralMap full_outputs = 4 [deprecated = true]; + + // InputData will only be populated if they are under a configured size threshold. + core.InputData input_data = 6; + + // OutputData will only be populated if they are under a configured size threshold. + core.OutputData output_data = 7; // flyte tiny url to fetch a core.LiteralMap of task execution's IO // Deck will be empty for task diff --git a/flyteidl/protos/flyteidl/core/literals.proto b/flyteidl/protos/flyteidl/core/literals.proto index 33ab9f45a2..63e16064f3 100644 --- a/flyteidl/protos/flyteidl/core/literals.proto +++ b/flyteidl/protos/flyteidl/core/literals.proto @@ -120,6 +120,14 @@ message LiteralMap { map literals = 1; } +message InputData { + LiteralMap inputs = 1; +} + +message OutputData { + LiteralMap outputs = 1; +} + // A collection of BindingData items. message BindingDataCollection { repeated BindingData bindings = 1; diff --git a/flyteidl/protos/flyteidl/event/event.proto b/flyteidl/protos/flyteidl/event/event.proto index 4702adcd9c..b52ef6dd6a 100644 --- a/flyteidl/protos/flyteidl/event/event.proto +++ b/flyteidl/protos/flyteidl/event/event.proto @@ -34,7 +34,11 @@ message WorkflowExecutionEvent { core.ExecutionError error = 6; // Raw output data produced by this workflow execution. - core.LiteralMap output_data = 7; + // Deprecated: please use output_data instead + core.LiteralMap deprecated_output_data = 7 [deprecated = true]; + + // Raw output data produced by this workflow execution. + core.OutputData output_data = 8; } } @@ -55,7 +59,11 @@ message NodeExecutionEvent { string input_uri = 5; // Raw input data consumed by this node execution. - core.LiteralMap input_data = 20; + // Deprecated: please use input_data instead + core.LiteralMap deprecated_input_data = 20 [deprecated = true]; + + // Raw input data consumed by this node execution. + core.InputData input_data = 24; } oneof output_result { @@ -66,8 +74,12 @@ message NodeExecutionEvent { // Error information for the execution core.ExecutionError error = 7; - // Raw output data produced by this node execution. - core.LiteralMap output_data = 15; + // Raw output data produced by this workflow execution. + // Deprecated: please use output_data instead + core.LiteralMap deprecated_output_data = 15 [deprecated = true]; + + // Raw output data produced by this workflow execution. + core.OutputData output_data = 23; } // Additional metadata to do with this event's node target based @@ -196,8 +208,12 @@ message TaskExecutionEvent { // including Cloud source provider. ie., s3://... string input_uri = 8; - // Raw input data consumed by this task execution. - core.LiteralMap input_data = 19; + // Raw input data consumed by this node execution. + // Deprecated: please use input_data instead + core.LiteralMap deprecated_input_data = 19 [deprecated = true]; + + // Raw input data consumed by this node execution. + core.InputData input_data = 23; } oneof output_result { @@ -208,8 +224,12 @@ message TaskExecutionEvent { // Error information for the execution core.ExecutionError error = 10; - // Raw output data produced by this task execution. - core.LiteralMap output_data = 17; + // Raw output data produced by this workflow execution. + // Deprecated: please use output_data instead + core.LiteralMap deprecated_output_data = 17 [deprecated = true]; + + // Raw output data produced by this workflow execution. + core.OutputData output_data = 22; } // Custom data that the task plugin sends back. This is extensible to allow various plugins in the system. diff --git a/flyteidl/protos/flyteidl/service/dataproxy.proto b/flyteidl/protos/flyteidl/service/dataproxy.proto index 8858e92db0..98289a226f 100644 --- a/flyteidl/protos/flyteidl/service/dataproxy.proto +++ b/flyteidl/protos/flyteidl/service/dataproxy.proto @@ -147,6 +147,12 @@ message GetDataResponse { // Single literal will be returned. This is returned when the user/url requests a specific output or input // by name. See the o3 example above. core.Literal literal = 3; + + // InputData is returned when the user/url requests the input data for an execution. + core.InputData input_data = 4; + + // OutputData is returned when the user/url requests the output data for an execution. + core.OutputData output_data = 5; } } diff --git a/flyteidl/protos/flyteidl/service/external_plugin_service.proto b/flyteidl/protos/flyteidl/service/external_plugin_service.proto index ce890cf8f2..6391a69678 100644 --- a/flyteidl/protos/flyteidl/service/external_plugin_service.proto +++ b/flyteidl/protos/flyteidl/service/external_plugin_service.proto @@ -4,7 +4,6 @@ package flyteidl.service; option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service"; import "flyteidl/core/literals.proto"; import "flyteidl/core/tasks.proto"; -import "flyteidl/core/interface.proto"; // ExternalPluginService defines an RPC Service that allows propeller to send the request to the backend plugin server. service ExternalPluginService { @@ -32,11 +31,16 @@ message TaskCreateRequest { // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - core.LiteralMap inputs = 1; + // Deprecated: please use inputs instead. + core.LiteralMap deprecated_inputs = 1 [deprecated = true]; // Template of the task that encapsulates all the metadata of the task. core.TaskTemplate template = 2; // Prefix for where task output data will be written. (e.g. s3://my-bucket/randomstring) string output_prefix = 3; + // The inputs required to start the execution. All required inputs must be + // included in this map. If not required and not provided, defaults apply. + // +optional + core.InputData inputs = 4; } // Represents a create response structure. @@ -62,7 +66,13 @@ message TaskGetResponse { // The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a // Structured dataset pointing to the query result table. // +optional - core.LiteralMap outputs = 2; + // Deprecated: Please use outputs instead + core.LiteralMap deprecated_outputs = 2; + + // The outputs of the execution. It's typically used by sql task. Flyteplugins service will create a + // Structured dataset pointing to the query result table. + // +optional + core.OutputData outputs = 3; } // A message used to delete a task. From d29fd059d122beb3269f0972baffd42ade2b8964 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Thu, 12 Oct 2023 10:34:37 -0700 Subject: [PATCH 04/25] wip Signed-off-by: Haytham Abuelfutuh --- flyteadmin/pkg/common/data_store.go | 14 +- flyteadmin/pkg/common/data_store_test.go | 8 +- .../pkg/manager/impl/execution_manager.go | 10 +- .../impl/validation/execution_validator.go | 10 +- .../validation/node_execution_validator.go | 8 + .../validation/task_execution_validator.go | 8 + .../pkg/manager/impl/validation/validation.go | 3 +- .../repositories/transformers/execution.go | 31 +- .../transformers/node_execution.go | 16 +- .../transformers/task_execution.go | 16 +- .../runtime/application_config_provider.go | 2 +- .../gen/pb-cpp/flyteidl/admin/execution.pb.cc | 282 +++++++---- .../gen/pb-cpp/flyteidl/admin/execution.pb.h | 47 ++ .../flyteidl/admin/node_execution.pb.cc | 182 +++++-- .../pb-cpp/flyteidl/admin/node_execution.pb.h | 47 ++ .../flyteidl/admin/task_execution.pb.cc | 160 ++++-- .../pb-cpp/flyteidl/admin/task_execution.pb.h | 47 ++ .../gen/pb-cpp/flyteidl/event/event.pb.cc | 258 ++++++---- flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h | 21 + .../gen/pb-go/flyteidl/admin/execution.pb.go | 252 ++++----- .../flyteidl/admin/execution.pb.validate.go | 12 + .../pb-go/flyteidl/admin/node_execution.pb.go | 174 ++++--- .../admin/node_execution.pb.validate.go | 12 + .../pb-go/flyteidl/admin/task_execution.pb.go | 138 ++--- .../admin/task_execution.pb.validate.go | 12 + flyteidl/gen/pb-go/flyteidl/event/event.pb.go | 208 ++++---- .../pb-go/flyteidl/event/event.pb.validate.go | 2 + .../pb-go/flyteidl/service/admin.swagger.json | 16 + .../service/flyteadmin/api/swagger.yaml | 89 +++- .../model_admin_execution_closure.go | 2 + .../model_admin_node_execution_closure.go | 2 + .../model_admin_task_execution_closure.go | 2 + .../model_event_workflow_execution_event.go | 1 + .../gen/pb-go/flyteidl/service/openapi.go | 4 +- .../flyteidl/admin/ExecutionOuterClass.java | 479 ++++++++++++++---- .../admin/NodeExecutionOuterClass.java | 356 +++++++++++-- .../admin/TaskExecutionOuterClass.java | 386 ++++++++++++-- .../gen/pb-java/flyteidl/event/Event.java | 243 +++++---- flyteidl/gen/pb-js/flyteidl.d.ts | 30 +- flyteidl/gen/pb-js/flyteidl.js | 101 +++- .../pb_python/flyteidl/admin/execution_pb2.py | 64 +-- .../flyteidl/admin/execution_pb2.pyi | 6 +- .../flyteidl/admin/node_execution_pb2.py | 24 +- .../flyteidl/admin/node_execution_pb2.pyi | 6 +- .../flyteidl/admin/task_execution_pb2.py | 16 +- .../flyteidl/admin/task_execution_pb2.pyi | 6 +- .../gen/pb_python/flyteidl/event/event_pb2.py | 52 +- .../pb_python/flyteidl/event/event_pb2.pyi | 6 +- .../models/admin_execution_closure.py | 31 +- .../models/admin_node_execution_closure.py | 31 +- .../models/admin_task_execution_closure.py | 31 +- .../models/event_workflow_execution_event.py | 32 +- flyteidl/gen/pb_rust/flyteidl.admin.rs | 16 +- flyteidl/gen/pb_rust/flyteidl.event.rs | 2 + .../protos/flyteidl/admin/execution.proto | 4 + .../flyteidl/admin/node_execution.proto | 3 + .../flyteidl/admin/task_execution.proto | 3 + flyteidl/protos/flyteidl/event/event.proto | 2 + flytepropeller/events/node_event_recorder.go | 23 +- flytepropeller/events/task_event_recorder.go | 21 +- .../events/workflow_event_recorder.go | 21 +- .../pkg/controller/nodes/end/handler_test.go | 4 + flytestdlib/storage/protobuf_store.go | 31 +- flytestdlib/storage/storage.go | 3 + 64 files changed, 3030 insertions(+), 1099 deletions(-) diff --git a/flyteadmin/pkg/common/data_store.go b/flyteadmin/pkg/common/data_store.go index e6c1866af8..97d900953a 100644 --- a/flyteadmin/pkg/common/data_store.go +++ b/flyteadmin/pkg/common/data_store.go @@ -9,19 +9,21 @@ import ( "github.com/flyteorg/flyte/flyteadmin/pkg/manager/impl/shared" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flytestdlib/storage" + "github.com/golang/protobuf/proto" errrs "github.com/pkg/errors" "google.golang.org/api/googleapi" "google.golang.org/grpc/codes" ) -func OffloadLiteralMap(ctx context.Context, storageClient *storage.DataStore, literalMap *core.LiteralMap, nestedKeys ...string) (storage.DataReference, error) { - return OffloadLiteralMapWithRetryDelayAndAttempts(ctx, storageClient, literalMap, async.RetryDelay, 5, nestedKeys...) +func OffloadData(ctx context.Context, storageClient *storage.DataStore, msg proto.Message, nestedKeys ...string) (storage.DataReference, error) { + return OffloadDataWithRetryDelayAndAttempts(ctx, storageClient, msg, async.RetryDelay, 5, nestedKeys...) } -func OffloadLiteralMapWithRetryDelayAndAttempts(ctx context.Context, storageClient *storage.DataStore, literalMap *core.LiteralMap, retryDelay time.Duration, attempts int, nestedKeys ...string) (storage.DataReference, error) { - if literalMap == nil { - literalMap = &core.LiteralMap{} +func OffloadDataWithRetryDelayAndAttempts(ctx context.Context, storageClient *storage.DataStore, msg proto.Message, retryDelay time.Duration, attempts int, nestedKeys ...string) (storage.DataReference, error) { + if msg == nil { + msg = &core.OutputData{} } + nestedKeyReference := []string{ shared.Metadata, } @@ -32,7 +34,7 @@ func OffloadLiteralMapWithRetryDelayAndAttempts(ctx context.Context, storageClie } err = async.RetryOnSpecificErrors(attempts, retryDelay, func() error { - err = storageClient.WriteProtobuf(ctx, uri, storage.Options{}, literalMap) + err = storageClient.WriteProtobuf(ctx, uri, storage.Options{}, msg) return err }, isRetryableError) diff --git a/flyteadmin/pkg/common/data_store_test.go b/flyteadmin/pkg/common/data_store_test.go index 594af6a09d..2746637b9a 100644 --- a/flyteadmin/pkg/common/data_store_test.go +++ b/flyteadmin/pkg/common/data_store_test.go @@ -42,7 +42,7 @@ func TestOffloadLiteralMap(t *testing.T) { return nil } - uri, err := OffloadLiteralMap(context.TODO(), mockStorage, literalMap, "nested", "key") + uri, err := OffloadData(context.TODO(), mockStorage, literalMap, "nested", "key") assert.NoError(t, err) assert.Equal(t, "s3://bucket/metadata/nested/key", uri.String()) } @@ -53,7 +53,7 @@ func TestOffloadLiteralMap_ConstructReferenceError(t *testing.T) { ctx context.Context, reference storage.DataReference, nestedKeys ...string) (storage.DataReference, error) { return "foo", errors.NewFlyteAdminError(codes.Internal, "foo") } - _, err := OffloadLiteralMap(context.TODO(), mockStorage, literalMap, "nested", "key") + _, err := OffloadData(context.TODO(), mockStorage, literalMap, "nested", "key") assert.Equal(t, err.(errors.FlyteAdminError).Code(), codes.Internal) } @@ -63,7 +63,7 @@ func TestOffloadLiteralMap_StorageFailure(t *testing.T) { assert.Equal(t, reference.String(), "s3://bucket/metadata/nested/key") return errors.NewFlyteAdminError(codes.Internal, "foo") } - _, err := OffloadLiteralMap(context.TODO(), mockStorage, literalMap, "nested", "key") + _, err := OffloadData(context.TODO(), mockStorage, literalMap, "nested", "key") assert.Equal(t, err.(errors.FlyteAdminError).Code(), codes.Internal) } @@ -76,7 +76,7 @@ func TestOffloadLiteralMap_RetryOn409(t *testing.T) { return errs.Wrapf(&googleapi.Error{Code: 409}, "Failed to write data [%vb] to path [%v].", 10, "size") } expectedRetries := 2 - _, err := OffloadLiteralMapWithRetryDelayAndAttempts(context.TODO(), mockStorage, literalMap, time.Millisecond, expectedRetries, "nested", "key") + _, err := OffloadDataWithRetryDelayAndAttempts(context.TODO(), mockStorage, literalMap, time.Millisecond, expectedRetries, "nested", "key") assert.EqualValues(t, retries, expectedRetries+1) assert.Equal(t, err.(errors.FlyteAdminError).Code(), codes.Internal) } diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index e5515f886b..16c82d5b78 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -531,11 +531,11 @@ func (m *ExecutionManager) launchSingleTaskExecution( // Dynamically assign execution queues. m.populateExecutionQueue(ctx, *workflow.Id, workflow.Closure.CompiledWorkflow) - inputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) + inputsURI, err := common.OffloadData(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) if err != nil { return nil, nil, err } - userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) + userInputsURI, err := common.OffloadData(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { return nil, nil, err } @@ -785,11 +785,11 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( // Dynamically assign execution queues. m.populateExecutionQueue(ctx, *workflow.Id, workflow.Closure.CompiledWorkflow) - inputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, executionInputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) + inputsURI, err := common.OffloadData(ctx, m.storageClient, executionInputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) if err != nil { return nil, nil, err } - userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) + userInputsURI, err := common.OffloadData(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { return nil, nil, err } @@ -1373,7 +1373,7 @@ func (m *ExecutionManager) GetExecutionData( if err := proto.Unmarshal(executionModel.Closure, closure); err != nil { return nil, err } - newInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, closure.ComputedInputs, request.Id.Project, request.Id.Domain, request.Id.Name, shared.Inputs) + newInputsURI, err := common.OffloadData(ctx, m.storageClient, closure.ComputedInputs, request.Id.Project, request.Id.Domain, request.Id.Name, shared.Inputs) if err != nil { return nil, err } diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator.go b/flyteadmin/pkg/manager/impl/validation/execution_validator.go index b5056589a8..408e2c34e9 100644 --- a/flyteadmin/pkg/manager/impl/validation/execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/execution_validator.go @@ -145,7 +145,15 @@ func ValidateCreateWorkflowEventRequest(request admin.WorkflowExecutionEventRequ return errors.NewFlyteAdminErrorf(codes.InvalidArgument, "Workflow event handler request event doesn't have an execution id - %v", request.Event) } - if err := ValidateOutputData(request.Event.GetOutputData(), maxOutputSizeInBytes); err != nil { + + outputData := request.Event.GetOutputData() + if outputData == nil { + outputData = &core.OutputData{ + Outputs: request.Event.GetDeprecatedOutputData(), + } + } + + if err := ValidateOutputData(outputData, maxOutputSizeInBytes); err != nil { return err } return nil diff --git a/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go b/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go index fe0b311d2e..facbe722bd 100644 --- a/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go @@ -50,6 +50,14 @@ func ValidateNodeExecutionEventRequest(request *admin.NodeExecutionEventRequest, return err } } + + outputData := request.Event.GetOutputData() + if outputData == nil { + outputData = &core.OutputData{ + Outputs: request.Event.GetDeprecatedOutputData(), + } + } + if err := ValidateOutputData(request.Event.GetOutputData(), maxOutputSizeInBytes); err != nil { return err } diff --git a/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go b/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go index 81011ca5da..2fcd4c479a 100644 --- a/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go @@ -14,6 +14,14 @@ func ValidateTaskExecutionRequest(request admin.TaskExecutionEventRequest, maxOu if request.Event.OccurredAt == nil { return shared.GetMissingArgumentError(shared.OccurredAt) } + + outputData := request.Event.GetOutputData() + if outputData == nil { + outputData = &core.OutputData{ + Outputs: request.Event.GetDeprecatedOutputData(), + } + } + if err := ValidateOutputData(request.Event.GetOutputData(), maxOutputSizeInBytes); err != nil { return err } diff --git a/flyteadmin/pkg/manager/impl/validation/validation.go b/flyteadmin/pkg/manager/impl/validation/validation.go index 08ab29196d..a5f51610e8 100644 --- a/flyteadmin/pkg/manager/impl/validation/validation.go +++ b/flyteadmin/pkg/manager/impl/validation/validation.go @@ -302,7 +302,7 @@ func ValidateLimit(limit uint32) error { return nil } -func ValidateOutputData(outputData *core.LiteralMap, maxSizeInBytes int64) error { +func ValidateOutputData(outputData *core.OutputData, maxSizeInBytes int64) error { if outputData == nil { return nil } @@ -311,6 +311,7 @@ func ValidateOutputData(outputData *core.LiteralMap, maxSizeInBytes int64) error if outputSizeInBytes <= maxSizeInBytes { return nil } + return errors.NewFlyteAdminErrorf(codes.ResourceExhausted, "Output data size exceeds platform configured threshold (%+v > %v)", outputSizeInBytes, maxSizeInBytes) } diff --git a/flyteadmin/pkg/repositories/transformers/execution.go b/flyteadmin/pkg/repositories/transformers/execution.go index d32fdc87fb..1704294c60 100644 --- a/flyteadmin/pkg/repositories/transformers/execution.go +++ b/flyteadmin/pkg/repositories/transformers/execution.go @@ -222,15 +222,38 @@ func UpdateExecutionModelState( }, }, } - } else if request.Event.GetOutputData() != nil { + } else if outputData := request.Event.GetOutputData(); outputData != nil { switch inlineEventDataPolicy { case interfaces.InlineEventDataPolicyStoreInline: - executionClosure.OutputResult = &admin.ExecutionClosure_OutputData{ - OutputData: request.Event.GetOutputData(), + executionClosure.OutputResult = &admin.ExecutionClosure_FullOutputs{ + FullOutputs: outputData, } default: logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy") - uri, err := common.OffloadLiteralMap(ctx, storageClient, request.Event.GetOutputData(), + uri, err := common.OffloadData(ctx, storageClient, outputData, + request.Event.ExecutionId.Project, request.Event.ExecutionId.Domain, request.Event.ExecutionId.Name, OutputsObjectSuffix) + if err != nil { + return err + } + executionClosure.OutputResult = &admin.ExecutionClosure_Outputs{ + Outputs: &admin.LiteralMapBlob{ + Data: &admin.LiteralMapBlob_Uri{ + Uri: uri.String(), + }, + }, + } + } + } else if request.Event.GetDeprecatedOutputData() != nil { + switch inlineEventDataPolicy { + case interfaces.InlineEventDataPolicyStoreInline: + executionClosure.OutputResult = &admin.ExecutionClosure_FullOutputs{ + FullOutputs: &core.OutputData{ + Outputs: request.Event.GetDeprecatedOutputData(), + }, + } + default: + logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy") + uri, err := common.OffloadData(ctx, storageClient, &core.OutputData{Outputs: request.Event.GetDeprecatedOutputData()}, request.Event.ExecutionId.Project, request.Event.ExecutionId.Domain, request.Event.ExecutionId.Name, OutputsObjectSuffix) if err != nil { return err diff --git a/flyteadmin/pkg/repositories/transformers/node_execution.go b/flyteadmin/pkg/repositories/transformers/node_execution.go index b419ce9c83..b82d31606e 100644 --- a/flyteadmin/pkg/repositories/transformers/node_execution.go +++ b/flyteadmin/pkg/repositories/transformers/node_execution.go @@ -71,15 +71,21 @@ func addTerminalState( closure.OutputResult = &admin.NodeExecutionClosure_OutputUri{ OutputUri: request.Event.GetOutputUri(), } - } else if request.Event.GetOutputData() != nil { + } else if outputData := request.Event.GetOutputData(); outputData != nil || request.Event.GetDeprecatedOutputData() != nil { + if outputData == nil { + outputData = &core.OutputData{ + Outputs: request.Event.GetDeprecatedOutputData(), + } + } + switch inlineEventDataPolicy { case interfaces.InlineEventDataPolicyStoreInline: - closure.OutputResult = &admin.NodeExecutionClosure_OutputData{ - OutputData: request.Event.GetOutputData(), + closure.OutputResult = &admin.NodeExecutionClosure_FullOutputs{ + FullOutputs: request.Event.GetOutputData(), } default: logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy") - uri, err := common.OffloadLiteralMap(ctx, storageClient, request.Event.GetOutputData(), + uri, err := common.OffloadData(ctx, storageClient, request.Event.GetOutputData(), request.Event.Id.ExecutionId.Project, request.Event.Id.ExecutionId.Domain, request.Event.Id.ExecutionId.Name, request.Event.Id.NodeId, OutputsObjectSuffix) if err != nil { @@ -390,7 +396,7 @@ func handleNodeExecutionInputs(ctx context.Context, logger.Debugf(ctx, "saving node execution input URI [%s]", request.Event.GetInputUri()) nodeExecutionModel.InputURI = request.Event.GetInputUri() case *event.NodeExecutionEvent_InputData: - uri, err := common.OffloadLiteralMap(ctx, storageClient, request.Event.GetInputData(), + uri, err := common.OffloadData(ctx, storageClient, request.Event.GetInputData(), request.Event.Id.ExecutionId.Project, request.Event.Id.ExecutionId.Domain, request.Event.Id.ExecutionId.Name, request.Event.Id.NodeId, InputsObjectSuffix) if err != nil { diff --git a/flyteadmin/pkg/repositories/transformers/task_execution.go b/flyteadmin/pkg/repositories/transformers/task_execution.go index cedf7c1f13..0a457328d5 100644 --- a/flyteadmin/pkg/repositories/transformers/task_execution.go +++ b/flyteadmin/pkg/repositories/transformers/task_execution.go @@ -74,15 +74,21 @@ func addTaskTerminalState( closure.OutputResult = &admin.TaskExecutionClosure_OutputUri{ OutputUri: request.Event.GetOutputUri(), } - } else if request.Event.GetOutputData() != nil { + } else if outputData := request.Event.GetOutputData(); outputData != nil || request.Event.GetDeprecatedOutputData() != nil { + if outputData == nil { + outputData = &core.OutputData{ + Outputs: request.Event.GetDeprecatedOutputData(), + } + } + switch inlineEventDataPolicy { case interfaces.InlineEventDataPolicyStoreInline: - closure.OutputResult = &admin.TaskExecutionClosure_OutputData{ - OutputData: request.Event.GetOutputData(), + closure.OutputResult = &admin.TaskExecutionClosure_FullOutputs{ + FullOutputs: request.Event.GetOutputData(), } default: logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy") - uri, err := common.OffloadLiteralMap(ctx, storageClient, request.Event.GetOutputData(), + uri, err := common.OffloadData(ctx, storageClient, request.Event.GetOutputData(), request.Event.ParentNodeExecutionId.ExecutionId.Project, request.Event.ParentNodeExecutionId.ExecutionId.Domain, request.Event.ParentNodeExecutionId.ExecutionId.Name, request.Event.ParentNodeExecutionId.NodeId, request.Event.TaskId.Project, request.Event.TaskId.Domain, request.Event.TaskId.Name, request.Event.TaskId.Version, @@ -520,7 +526,7 @@ func handleTaskExecutionInputs(ctx context.Context, taskExecutionModel *models.T case *event.TaskExecutionEvent_InputUri: taskExecutionModel.InputURI = request.GetEvent().GetInputUri() case *event.TaskExecutionEvent_InputData: - uri, err := common.OffloadLiteralMap(ctx, storageClient, request.GetEvent().GetInputData(), + uri, err := common.OffloadData(ctx, storageClient, request.GetEvent().GetInputData(), request.Event.ParentNodeExecutionId.ExecutionId.Project, request.Event.ParentNodeExecutionId.ExecutionId.Domain, request.Event.ParentNodeExecutionId.ExecutionId.Name, request.Event.ParentNodeExecutionId.NodeId, request.Event.TaskId.Project, request.Event.TaskId.Domain, request.Event.TaskId.Name, request.Event.TaskId.Version, diff --git a/flyteadmin/pkg/runtime/application_config_provider.go b/flyteadmin/pkg/runtime/application_config_provider.go index a16c27e694..b96dc2cb9d 100644 --- a/flyteadmin/pkg/runtime/application_config_provider.go +++ b/flyteadmin/pkg/runtime/application_config_provider.go @@ -28,7 +28,7 @@ var flyteAdminConfig = config.MustRegisterSection(flyteAdmin, &interfaces.Applic contextutils.TaskTypeKey.String(), common.RuntimeTypeKey.String(), common.RuntimeVersionKey.String(), contextutils.AppNameKey.String()}, MetadataStoragePrefix: []string{"metadata", "admin"}, - EventVersion: 2, + EventVersion: 3, AsyncEventsBufferSize: 100, MaxParallelism: 25, K8SServiceAccount: "", diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc index 2d354514c1..477e15afce 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc @@ -26,13 +26,13 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::prot extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_Notification_flyteidl_2fadmin_2fcommon_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_AbortMetadata_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_SystemMetadata_flyteidl_2fadmin_2fexecution_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<10> scc_info_ExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<13> scc_info_ExecutionSpec_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ExecutionStateChangeDetails_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_LiteralMapBlob_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NotificationList_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_Execution_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_ExecutionMetadata_flyteidl_2fadmin_2fexecution_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_ExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_QualityOfService_flyteidl_2fcore_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto; @@ -94,6 +94,7 @@ class ExecutionClosureDefaultTypeInternal { ::google::protobuf::internal::ArenaStringPtr abort_cause_; const ::flyteidl::admin::AbortMetadata* abort_metadata_; const ::flyteidl::core::LiteralMap* output_data_; + const ::flyteidl::core::OutputData* full_outputs_; } _ExecutionClosure_default_instance_; class SystemMetadataDefaultTypeInternal { public: @@ -301,12 +302,13 @@ static void InitDefaultsExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto() ::flyteidl::admin::ExecutionClosure::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<9> scc_info_ExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 9, InitDefaultsExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto}, { +::google::protobuf::internal::SCCInfo<10> scc_info_ExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 10, InitDefaultsExecutionClosure_flyteidl_2fadmin_2fexecution_2eproto}, { &scc_info_LiteralMapBlob_flyteidl_2fadmin_2fexecution_2eproto.base, &scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto.base, &scc_info_AbortMetadata_flyteidl_2fadmin_2fexecution_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_Duration_google_2fprotobuf_2fduration_2eproto.base, &scc_info_Notification_flyteidl_2fadmin_2fcommon_2eproto.base, @@ -633,6 +635,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fexecution_2eprot offsetof(::flyteidl::admin::ExecutionClosureDefaultTypeInternal, abort_cause_), offsetof(::flyteidl::admin::ExecutionClosureDefaultTypeInternal, abort_metadata_), offsetof(::flyteidl::admin::ExecutionClosureDefaultTypeInternal, output_data_), + offsetof(::flyteidl::admin::ExecutionClosureDefaultTypeInternal, full_outputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionClosure, computed_inputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionClosure, phase_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionClosure, started_at_), @@ -765,19 +768,19 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 54, -1, sizeof(::flyteidl::admin::LiteralMapBlob)}, { 62, -1, sizeof(::flyteidl::admin::AbortMetadata)}, { 69, -1, sizeof(::flyteidl::admin::ExecutionClosure)}, - { 89, -1, sizeof(::flyteidl::admin::SystemMetadata)}, - { 96, -1, sizeof(::flyteidl::admin::ExecutionMetadata)}, - { 108, -1, sizeof(::flyteidl::admin::NotificationList)}, - { 114, -1, sizeof(::flyteidl::admin::ExecutionSpec)}, - { 137, -1, sizeof(::flyteidl::admin::ExecutionTerminateRequest)}, - { 144, -1, sizeof(::flyteidl::admin::ExecutionTerminateResponse)}, - { 149, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataRequest)}, - { 155, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataResponse)}, - { 166, -1, sizeof(::flyteidl::admin::ExecutionUpdateRequest)}, - { 173, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, - { 181, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, - { 186, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, - { 193, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, + { 90, -1, sizeof(::flyteidl::admin::SystemMetadata)}, + { 97, -1, sizeof(::flyteidl::admin::ExecutionMetadata)}, + { 109, -1, sizeof(::flyteidl::admin::NotificationList)}, + { 115, -1, sizeof(::flyteidl::admin::ExecutionSpec)}, + { 138, -1, sizeof(::flyteidl::admin::ExecutionTerminateRequest)}, + { 145, -1, sizeof(::flyteidl::admin::ExecutionTerminateResponse)}, + { 150, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataRequest)}, + { 156, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataResponse)}, + { 167, -1, sizeof(::flyteidl::admin::ExecutionUpdateRequest)}, + { 174, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, + { 182, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, + { 187, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, + { 194, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -848,96 +851,97 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto[] = "teralMapBlob\022/\n\006values\030\001 \001(\0132\031.flyteidl." "core.LiteralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004" "data\"1\n\rAbortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\t" - "principal\030\002 \001(\t\"\360\005\n\020ExecutionClosure\0225\n\007" + "principal\030\002 \001(\t\"\243\006\n\020ExecutionClosure\0225\n\007" "outputs\030\001 \001(\0132\036.flyteidl.admin.LiteralMa" "pBlobB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.co" "re.ExecutionErrorH\000\022\031\n\013abort_cause\030\n \001(\t" "B\002\030\001H\000\0227\n\016abort_metadata\030\014 \001(\0132\035.flyteid" "l.admin.AbortMetadataH\000\0224\n\013output_data\030\r" - " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000\0226\n" - "\017computed_inputs\030\003 \001(\0132\031.flyteidl.core.L" - "iteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyteidl." - "core.WorkflowExecution.Phase\022.\n\nstarted_" - "at\030\005 \001(\0132\032.google.protobuf.Timestamp\022+\n\010" - "duration\030\006 \001(\0132\031.google.protobuf.Duratio" - "n\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." - "Timestamp\022.\n\nupdated_at\030\010 \001(\0132\032.google.p" - "rotobuf.Timestamp\0223\n\rnotifications\030\t \003(\013" - "2\034.flyteidl.admin.Notification\022.\n\013workfl" - "ow_id\030\013 \001(\0132\031.flyteidl.core.Identifier\022I" - "\n\024state_change_details\030\016 \001(\0132+.flyteidl." - "admin.ExecutionStateChangeDetailsB\017\n\rout" - "put_result\">\n\016SystemMetadata\022\031\n\021executio" - "n_cluster\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\332\003\n\021E" - "xecutionMetadata\022=\n\004mode\030\001 \001(\0162/.flyteid" - "l.admin.ExecutionMetadata.ExecutionMode\022" - "\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\0220\n\014s" - "cheduled_at\030\004 \001(\0132\032.google.protobuf.Time" - "stamp\022E\n\025parent_node_execution\030\005 \001(\0132&.f" - "lyteidl.core.NodeExecutionIdentifier\022G\n\023" - "reference_execution\030\020 \001(\0132*.flyteidl.cor" - "e.WorkflowExecutionIdentifier\0227\n\017system_" - "metadata\030\021 \001(\0132\036.flyteidl.admin.SystemMe" - "tadata\"g\n\rExecutionMode\022\n\n\006MANUAL\020\000\022\r\n\tS" - "CHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016" - "CHILD_WORKFLOW\020\004\022\r\n\tRECOVERED\020\005\"G\n\020Notif" - "icationList\0223\n\rnotifications\030\001 \003(\0132\034.fly" - "teidl.admin.Notification\"\262\006\n\rExecutionSp" - "ec\022.\n\013launch_plan\030\001 \001(\0132\031.flyteidl.core." - "Identifier\022-\n\006inputs\030\002 \001(\0132\031.flyteidl.co" - "re.LiteralMapB\002\030\001\0223\n\010metadata\030\003 \001(\0132!.fl" - "yteidl.admin.ExecutionMetadata\0229\n\rnotifi" - "cations\030\005 \001(\0132 .flyteidl.admin.Notificat" - "ionListH\000\022\025\n\013disable_all\030\006 \001(\010H\000\022&\n\006labe" - "ls\030\007 \001(\0132\026.flyteidl.admin.Labels\0220\n\013anno" - "tations\030\010 \001(\0132\033.flyteidl.admin.Annotatio" - "ns\0228\n\020security_context\030\n \001(\0132\036.flyteidl." - "core.SecurityContext\022/\n\tauth_role\030\020 \001(\0132" - "\030.flyteidl.admin.AuthRoleB\002\030\001\022;\n\022quality" - "_of_service\030\021 \001(\0132\037.flyteidl.core.Qualit" - "yOfService\022\027\n\017max_parallelism\030\022 \001(\005\022C\n\026r" - "aw_output_data_config\030\023 \001(\0132#.flyteidl.a" - "dmin.RawOutputDataConfig\022=\n\022cluster_assi" - "gnment\030\024 \001(\0132!.flyteidl.admin.ClusterAss" - "ignment\0221\n\rinterruptible\030\025 \001(\0132\032.google." - "protobuf.BoolValue\022\027\n\017overwrite_cache\030\026 " - "\001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteidl.admin.Envs\022" - "\014\n\004tags\030\030 \003(\tB\030\n\026notification_overridesJ" - "\004\010\004\020\005\"b\n\031ExecutionTerminateRequest\0226\n\002id" - "\030\001 \001(\0132*.flyteidl.core.WorkflowExecution" - "Identifier\022\r\n\005cause\030\002 \001(\t\"\034\n\032ExecutionTe" - "rminateResponse\"Y\n\037WorkflowExecutionGetD" - "ataRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.W" - "orkflowExecutionIdentifier\"\304\002\n WorkflowE" - "xecutionGetDataResponse\022,\n\007outputs\030\001 \001(\013" - "2\027.flyteidl.admin.UrlBlobB\002\030\001\022+\n\006inputs\030" - "\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\0222\n\013fu" - "ll_inputs\030\003 \001(\0132\031.flyteidl.core.LiteralM" - "apB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyteidl." - "core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005 \001(\0132" - "\030.flyteidl.core.InputData\022.\n\013output_data" - "\030\006 \001(\0132\031.flyteidl.core.OutputData\"\177\n\026Exe" - "cutionUpdateRequest\0226\n\002id\030\001 \001(\0132*.flytei" - "dl.core.WorkflowExecutionIdentifier\022-\n\005s" - "tate\030\002 \001(\0162\036.flyteidl.admin.ExecutionSta" - "te\"\220\001\n\033ExecutionStateChangeDetails\022-\n\005st" - "ate\030\001 \001(\0162\036.flyteidl.admin.ExecutionStat" - "e\022/\n\013occurred_at\030\002 \001(\0132\032.google.protobuf" - ".Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n\027Executi" - "onUpdateResponse\"k\n\"WorkflowExecutionGet" - "MetricsRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.co" - "re.WorkflowExecutionIdentifier\022\r\n\005depth\030" - "\002 \001(\005\"H\n#WorkflowExecutionGetMetricsResp" - "onse\022!\n\004span\030\001 \001(\0132\023.flyteidl.core.Span*" - ">\n\016ExecutionState\022\024\n\020EXECUTION_ACTIVE\020\000\022" - "\026\n\022EXECUTION_ARCHIVED\020\001B=Z;github.com/fl" - "yteorg/flyte/flyteidl/gen/pb-go/flyteidl" - "/adminb\006proto3" + " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000\0221\n" + "\014full_outputs\030\017 \001(\0132\031.flyteidl.core.Outp" + "utDataH\000\0226\n\017computed_inputs\030\003 \001(\0132\031.flyt" + "eidl.core.LiteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162" + "&.flyteidl.core.WorkflowExecution.Phase\022" + ".\n\nstarted_at\030\005 \001(\0132\032.google.protobuf.Ti" + "mestamp\022+\n\010duration\030\006 \001(\0132\031.google.proto" + "buf.Duration\022.\n\ncreated_at\030\007 \001(\0132\032.googl" + "e.protobuf.Timestamp\022.\n\nupdated_at\030\010 \001(\013" + "2\032.google.protobuf.Timestamp\0223\n\rnotifica" + "tions\030\t \003(\0132\034.flyteidl.admin.Notificatio" + "n\022.\n\013workflow_id\030\013 \001(\0132\031.flyteidl.core.I" + "dentifier\022I\n\024state_change_details\030\016 \001(\0132" + "+.flyteidl.admin.ExecutionStateChangeDet" + "ailsB\017\n\routput_result\">\n\016SystemMetadata\022" + "\031\n\021execution_cluster\030\001 \001(\t\022\021\n\tnamespace\030" + "\002 \001(\t\"\332\003\n\021ExecutionMetadata\022=\n\004mode\030\001 \001(" + "\0162/.flyteidl.admin.ExecutionMetadata.Exe" + "cutionMode\022\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting" + "\030\003 \001(\r\0220\n\014scheduled_at\030\004 \001(\0132\032.google.pr" + "otobuf.Timestamp\022E\n\025parent_node_executio" + "n\030\005 \001(\0132&.flyteidl.core.NodeExecutionIde" + "ntifier\022G\n\023reference_execution\030\020 \001(\0132*.f" + "lyteidl.core.WorkflowExecutionIdentifier" + "\0227\n\017system_metadata\030\021 \001(\0132\036.flyteidl.adm" + "in.SystemMetadata\"g\n\rExecutionMode\022\n\n\006MA" + "NUAL\020\000\022\r\n\tSCHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010REL" + "AUNCH\020\003\022\022\n\016CHILD_WORKFLOW\020\004\022\r\n\tRECOVERED" + "\020\005\"G\n\020NotificationList\0223\n\rnotifications\030" + "\001 \003(\0132\034.flyteidl.admin.Notification\"\262\006\n\r" + "ExecutionSpec\022.\n\013launch_plan\030\001 \001(\0132\031.fly" + "teidl.core.Identifier\022-\n\006inputs\030\002 \001(\0132\031." + "flyteidl.core.LiteralMapB\002\030\001\0223\n\010metadata" + "\030\003 \001(\0132!.flyteidl.admin.ExecutionMetadat" + "a\0229\n\rnotifications\030\005 \001(\0132 .flyteidl.admi" + "n.NotificationListH\000\022\025\n\013disable_all\030\006 \001(" + "\010H\000\022&\n\006labels\030\007 \001(\0132\026.flyteidl.admin.Lab" + "els\0220\n\013annotations\030\010 \001(\0132\033.flyteidl.admi" + "n.Annotations\0228\n\020security_context\030\n \001(\0132" + "\036.flyteidl.core.SecurityContext\022/\n\tauth_" + "role\030\020 \001(\0132\030.flyteidl.admin.AuthRoleB\002\030\001" + "\022;\n\022quality_of_service\030\021 \001(\0132\037.flyteidl." + "core.QualityOfService\022\027\n\017max_parallelism" + "\030\022 \001(\005\022C\n\026raw_output_data_config\030\023 \001(\0132#" + ".flyteidl.admin.RawOutputDataConfig\022=\n\022c" + "luster_assignment\030\024 \001(\0132!.flyteidl.admin" + ".ClusterAssignment\0221\n\rinterruptible\030\025 \001(" + "\0132\032.google.protobuf.BoolValue\022\027\n\017overwri" + "te_cache\030\026 \001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteidl." + "admin.Envs\022\014\n\004tags\030\030 \003(\tB\030\n\026notification" + "_overridesJ\004\010\004\020\005\"b\n\031ExecutionTerminateRe" + "quest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workfl" + "owExecutionIdentifier\022\r\n\005cause\030\002 \001(\t\"\034\n\032" + "ExecutionTerminateResponse\"Y\n\037WorkflowEx" + "ecutionGetDataRequest\0226\n\002id\030\001 \001(\0132*.flyt" + "eidl.core.WorkflowExecutionIdentifier\"\304\002" + "\n WorkflowExecutionGetDataResponse\022,\n\007ou" + "tputs\030\001 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001" + "\022+\n\006inputs\030\002 \001(\0132\027.flyteidl.admin.UrlBlo" + "bB\002\030\001\0222\n\013full_inputs\030\003 \001(\0132\031.flyteidl.co" + "re.LiteralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132" + "\031.flyteidl.core.LiteralMapB\002\030\001\022,\n\ninput_" + "data\030\005 \001(\0132\030.flyteidl.core.InputData\022.\n\013" + "output_data\030\006 \001(\0132\031.flyteidl.core.Output" + "Data\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001" + "(\0132*.flyteidl.core.WorkflowExecutionIden" + "tifier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.E" + "xecutionState\"\220\001\n\033ExecutionStateChangeDe" + "tails\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin.Ex" + "ecutionState\022/\n\013occurred_at\030\002 \001(\0132\032.goog" + "le.protobuf.Timestamp\022\021\n\tprincipal\030\003 \001(\t" + "\"\031\n\027ExecutionUpdateResponse\"k\n\"WorkflowE" + "xecutionGetMetricsRequest\0226\n\002id\030\001 \001(\0132*." + "flyteidl.core.WorkflowExecutionIdentifie" + "r\022\r\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionGet" + "MetricsResponse\022!\n\004span\030\001 \001(\0132\023.flyteidl" + ".core.Span*>\n\016ExecutionState\022\024\n\020EXECUTIO" + "N_ACTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;gi" + "thub.com/flyteorg/flyte/flyteidl/gen/pb-" + "go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto, - "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4774, + "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4825, }; void AddDescriptors_flyteidl_2fadmin_2fexecution_2eproto() { @@ -4682,6 +4686,8 @@ void ExecutionClosure::InitAsDefaultInstance() { ::flyteidl::admin::AbortMetadata::internal_default_instance()); ::flyteidl::admin::_ExecutionClosure_default_instance_.output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_ExecutionClosure_default_instance_.full_outputs_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); ::flyteidl::admin::_ExecutionClosure_default_instance_._instance.get_mutable()->computed_inputs_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); ::flyteidl::admin::_ExecutionClosure_default_instance_._instance.get_mutable()->started_at_ = const_cast< ::google::protobuf::Timestamp*>( @@ -4703,6 +4709,7 @@ class ExecutionClosure::HasBitSetters { static const ::flyteidl::core::ExecutionError& error(const ExecutionClosure* msg); static const ::flyteidl::admin::AbortMetadata& abort_metadata(const ExecutionClosure* msg); static const ::flyteidl::core::LiteralMap& output_data(const ExecutionClosure* msg); + static const ::flyteidl::core::OutputData& full_outputs(const ExecutionClosure* msg); static const ::flyteidl::core::LiteralMap& computed_inputs(const ExecutionClosure* msg); static const ::google::protobuf::Timestamp& started_at(const ExecutionClosure* msg); static const ::google::protobuf::Duration& duration(const ExecutionClosure* msg); @@ -4728,6 +4735,10 @@ const ::flyteidl::core::LiteralMap& ExecutionClosure::HasBitSetters::output_data(const ExecutionClosure* msg) { return *msg->output_result_.output_data_; } +const ::flyteidl::core::OutputData& +ExecutionClosure::HasBitSetters::full_outputs(const ExecutionClosure* msg) { + return *msg->output_result_.full_outputs_; +} const ::flyteidl::core::LiteralMap& ExecutionClosure::HasBitSetters::computed_inputs(const ExecutionClosure* msg) { return *msg->computed_inputs_; @@ -4824,6 +4835,26 @@ void ExecutionClosure::clear_output_data() { clear_has_output_result(); } } +void ExecutionClosure::set_allocated_full_outputs(::flyteidl::core::OutputData* full_outputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_output_result(); + if (full_outputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + full_outputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, full_outputs, submessage_arena); + } + set_has_full_outputs(); + output_result_.full_outputs_ = full_outputs; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ExecutionClosure.full_outputs) +} +void ExecutionClosure::clear_full_outputs() { + if (has_full_outputs()) { + delete output_result_.full_outputs_; + clear_has_output_result(); + } +} void ExecutionClosure::clear_computed_inputs() { if (GetArenaNoVirtual() == nullptr && computed_inputs_ != nullptr) { delete computed_inputs_; @@ -4869,6 +4900,7 @@ const int ExecutionClosure::kErrorFieldNumber; const int ExecutionClosure::kAbortCauseFieldNumber; const int ExecutionClosure::kAbortMetadataFieldNumber; const int ExecutionClosure::kOutputDataFieldNumber; +const int ExecutionClosure::kFullOutputsFieldNumber; const int ExecutionClosure::kComputedInputsFieldNumber; const int ExecutionClosure::kPhaseFieldNumber; const int ExecutionClosure::kStartedAtFieldNumber; @@ -4948,6 +4980,10 @@ ExecutionClosure::ExecutionClosure(const ExecutionClosure& from) mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); break; } + case kFullOutputs: { + mutable_full_outputs()->::flyteidl::core::OutputData::MergeFrom(from.full_outputs()); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -5014,6 +5050,10 @@ void ExecutionClosure::clear_output_result() { delete output_result_.output_data_; break; } + case kFullOutputs: { + delete output_result_.full_outputs_; + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -5258,6 +5298,19 @@ const char* ExecutionClosure::_InternalParse(const char* begin, const char* end, {parser_till_end, object}, ptr - size, ptr)); break; } + // .flyteidl.core.OutputData full_outputs = 15; + case 15: { + if (static_cast<::google::protobuf::uint8>(tag) != 122) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_full_outputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -5453,6 +5506,17 @@ bool ExecutionClosure::MergePartialFromCodedStream( break; } + // .flyteidl.core.OutputData full_outputs = 15; + case 15: { + if (static_cast< ::google::protobuf::uint8>(tag) == (122 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_full_outputs())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -5571,6 +5635,12 @@ void ExecutionClosure::SerializeWithCachedSizes( 14, HasBitSetters::state_change_details(this), output); } + // .flyteidl.core.OutputData full_outputs = 15; + if (has_full_outputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 15, HasBitSetters::full_outputs(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -5686,6 +5756,13 @@ ::google::protobuf::uint8* ExecutionClosure::InternalSerializeWithCachedSizesToA 14, HasBitSetters::state_change_details(this), target); } + // .flyteidl.core.OutputData full_outputs = 15; + if (has_full_outputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 15, HasBitSetters::full_outputs(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -5809,6 +5886,13 @@ size_t ExecutionClosure::ByteSizeLong() const { *output_result_.output_data_); break; } + // .flyteidl.core.OutputData full_outputs = 15; + case kFullOutputs: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_result_.full_outputs_); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -5886,6 +5970,10 @@ void ExecutionClosure::MergeFrom(const ExecutionClosure& from) { mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); break; } + case kFullOutputs: { + mutable_full_outputs()->::flyteidl::core::OutputData::MergeFrom(from.full_outputs()); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h index f141973649..953d658156 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h @@ -1489,6 +1489,7 @@ class ExecutionClosure final : kAbortCause = 10, kAbortMetadata = 12, kOutputData = 13, + kFullOutputs = 15, OUTPUT_RESULT_NOT_SET = 0, }; @@ -1689,6 +1690,15 @@ class ExecutionClosure final : PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_output_data(); PROTOBUF_DEPRECATED void set_allocated_output_data(::flyteidl::core::LiteralMap* output_data); + // .flyteidl.core.OutputData full_outputs = 15; + bool has_full_outputs() const; + void clear_full_outputs(); + static const int kFullOutputsFieldNumber = 15; + const ::flyteidl::core::OutputData& full_outputs() const; + ::flyteidl::core::OutputData* release_full_outputs(); + ::flyteidl::core::OutputData* mutable_full_outputs(); + void set_allocated_full_outputs(::flyteidl::core::OutputData* full_outputs); + void clear_output_result(); OutputResultCase output_result_case() const; // @@protoc_insertion_point(class_scope:flyteidl.admin.ExecutionClosure) @@ -1699,6 +1709,7 @@ class ExecutionClosure final : void set_has_abort_cause(); void set_has_abort_metadata(); void set_has_output_data(); + void set_has_full_outputs(); inline bool has_output_result() const; inline void clear_has_output_result(); @@ -1720,6 +1731,7 @@ class ExecutionClosure final : ::google::protobuf::internal::ArenaStringPtr abort_cause_; ::flyteidl::admin::AbortMetadata* abort_metadata_; ::flyteidl::core::LiteralMap* output_data_; + ::flyteidl::core::OutputData* full_outputs_; } output_result_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::uint32 _oneof_case_[1]; @@ -5017,6 +5029,41 @@ inline ::flyteidl::core::LiteralMap* ExecutionClosure::mutable_output_data() { return output_result_.output_data_; } +// .flyteidl.core.OutputData full_outputs = 15; +inline bool ExecutionClosure::has_full_outputs() const { + return output_result_case() == kFullOutputs; +} +inline void ExecutionClosure::set_has_full_outputs() { + _oneof_case_[0] = kFullOutputs; +} +inline ::flyteidl::core::OutputData* ExecutionClosure::release_full_outputs() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ExecutionClosure.full_outputs) + if (has_full_outputs()) { + clear_has_output_result(); + ::flyteidl::core::OutputData* temp = output_result_.full_outputs_; + output_result_.full_outputs_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::OutputData& ExecutionClosure::full_outputs() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ExecutionClosure.full_outputs) + return has_full_outputs() + ? *output_result_.full_outputs_ + : *reinterpret_cast< ::flyteidl::core::OutputData*>(&::flyteidl::core::_OutputData_default_instance_); +} +inline ::flyteidl::core::OutputData* ExecutionClosure::mutable_full_outputs() { + if (!has_full_outputs()) { + clear_output_result(); + set_has_full_outputs(); + output_result_.full_outputs_ = CreateMaybeMessage< ::flyteidl::core::OutputData >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ExecutionClosure.full_outputs) + return output_result_.full_outputs_; +} + // .flyteidl.core.LiteralMap computed_inputs = 3 [deprecated = true]; inline bool ExecutionClosure::has_computed_inputs() const { return this != internal_default_instance() && computed_inputs_ != nullptr; diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc index c1b66fcd11..52b848586b 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.cc @@ -24,7 +24,7 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::go extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_NodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<6> scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<7> scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fcatalog_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_CatalogMetadata_flyteidl_2fcore_2fcatalog_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fcompiler_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_CompiledWorkflowClosure_flyteidl_2fcore_2fcompiler_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto; @@ -69,6 +69,7 @@ class NodeExecutionClosureDefaultTypeInternal { ::google::protobuf::internal::ArenaStringPtr output_uri_; const ::flyteidl::core::ExecutionError* error_; const ::flyteidl::core::LiteralMap* output_data_; + const ::flyteidl::core::OutputData* full_outputs_; const ::flyteidl::admin::WorkflowNodeMetadata* workflow_node_metadata_; const ::flyteidl::admin::TaskNodeMetadata* task_node_metadata_; } _NodeExecutionClosure_default_instance_; @@ -198,10 +199,11 @@ static void InitDefaultsNodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution ::flyteidl::admin::NodeExecutionClosure::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<6> scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 6, InitDefaultsNodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, { +::google::protobuf::internal::SCCInfo<7> scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 7, InitDefaultsNodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, { &scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_Duration_google_2fprotobuf_2fduration_2eproto.base, &scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base, @@ -369,6 +371,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fnode_5fexecution offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, output_uri_), offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, error_), offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, output_data_), + offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, full_outputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, phase_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, started_at_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, duration_), @@ -430,11 +433,11 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 36, -1, sizeof(::flyteidl::admin::NodeExecutionMetaData)}, { 46, -1, sizeof(::flyteidl::admin::NodeExecutionList)}, { 53, -1, sizeof(::flyteidl::admin::NodeExecutionClosure)}, - { 72, -1, sizeof(::flyteidl::admin::WorkflowNodeMetadata)}, - { 78, -1, sizeof(::flyteidl::admin::TaskNodeMetadata)}, - { 86, -1, sizeof(::flyteidl::admin::DynamicWorkflowNodeMetadata)}, - { 94, -1, sizeof(::flyteidl::admin::NodeExecutionGetDataRequest)}, - { 100, -1, sizeof(::flyteidl::admin::NodeExecutionGetDataResponse)}, + { 73, -1, sizeof(::flyteidl::admin::WorkflowNodeMetadata)}, + { 79, -1, sizeof(::flyteidl::admin::TaskNodeMetadata)}, + { 87, -1, sizeof(::flyteidl::admin::DynamicWorkflowNodeMetadata)}, + { 95, -1, sizeof(::flyteidl::admin::NodeExecutionGetDataRequest)}, + { 101, -1, sizeof(::flyteidl::admin::NodeExecutionGetDataResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -489,52 +492,53 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fnode_5fexecution_2eproto "\nis_dynamic\030\004 \001(\010\022\020\n\010is_array\030\005 \001(\010\"Z\n\021N" "odeExecutionList\0226\n\017node_executions\030\001 \003(" "\0132\035.flyteidl.admin.NodeExecution\022\r\n\005toke" - "n\030\002 \001(\t\"\342\004\n\024NodeExecutionClosure\022\030\n\noutp" + "n\030\002 \001(\t\"\225\005\n\024NodeExecutionClosure\022\030\n\noutp" "ut_uri\030\001 \001(\tB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyt" "eidl.core.ExecutionErrorH\000\0224\n\013output_dat" "a\030\n \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000" - "\0221\n\005phase\030\003 \001(\0162\".flyteidl.core.NodeExec" - "ution.Phase\022.\n\nstarted_at\030\004 \001(\0132\032.google" - ".protobuf.Timestamp\022+\n\010duration\030\005 \001(\0132\031." - "google.protobuf.Duration\022.\n\ncreated_at\030\006" - " \001(\0132\032.google.protobuf.Timestamp\022.\n\nupda" - "ted_at\030\007 \001(\0132\032.google.protobuf.Timestamp" - "\022F\n\026workflow_node_metadata\030\010 \001(\0132$.flyte" - "idl.admin.WorkflowNodeMetadataH\001\022>\n\022task" - "_node_metadata\030\t \001(\0132 .flyteidl.admin.Ta" - "skNodeMetadataH\001\022\020\n\010deck_uri\030\013 \001(\t\022\034\n\024dy" - "namic_job_spec_uri\030\014 \001(\tB\017\n\routput_resul" - "tB\021\n\017target_metadata\"W\n\024WorkflowNodeMeta" - "data\022\?\n\013executionId\030\001 \001(\0132*.flyteidl.cor" - "e.WorkflowExecutionIdentifier\"\230\001\n\020TaskNo" - "deMetadata\0227\n\014cache_status\030\001 \001(\0162!.flyte" - "idl.core.CatalogCacheStatus\0223\n\013catalog_k" - "ey\030\002 \001(\0132\036.flyteidl.core.CatalogMetadata" - "\022\026\n\016checkpoint_uri\030\004 \001(\t\"\245\001\n\033DynamicWork" - "flowNodeMetadata\022%\n\002id\030\001 \001(\0132\031.flyteidl." - "core.Identifier\022A\n\021compiled_workflow\030\002 \001" - "(\0132&.flyteidl.core.CompiledWorkflowClosu" - "re\022\034\n\024dynamic_job_spec_uri\030\003 \001(\t\"Q\n\033Node" - "ExecutionGetDataRequest\0222\n\002id\030\001 \001(\0132&.fl" - "yteidl.core.NodeExecutionIdentifier\"\266\003\n\034" - "NodeExecutionGetDataResponse\022+\n\006inputs\030\001" - " \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022,\n\007out" - "puts\030\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022" - "2\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lit" - "eralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyt" - "eidl.core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005" - " \001(\0132\030.flyteidl.core.InputData\022.\n\013output" - "_data\030\006 \001(\0132\031.flyteidl.core.OutputData\022E" - "\n\020dynamic_workflow\030\020 \001(\0132+.flyteidl.admi" - "n.DynamicWorkflowNodeMetadata\022-\n\nflyte_u" - "rls\030\021 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;" - "github.com/flyteorg/flyte/flyteidl/gen/p" - "b-go/flyteidl/adminb\006proto3" + "\0221\n\014full_outputs\030\r \001(\0132\031.flyteidl.core.O" + "utputDataH\000\0221\n\005phase\030\003 \001(\0162\".flyteidl.co" + "re.NodeExecution.Phase\022.\n\nstarted_at\030\004 \001" + "(\0132\032.google.protobuf.Timestamp\022+\n\010durati" + "on\030\005 \001(\0132\031.google.protobuf.Duration\022.\n\nc" + "reated_at\030\006 \001(\0132\032.google.protobuf.Timest" + "amp\022.\n\nupdated_at\030\007 \001(\0132\032.google.protobu" + "f.Timestamp\022F\n\026workflow_node_metadata\030\010 " + "\001(\0132$.flyteidl.admin.WorkflowNodeMetadat" + "aH\001\022>\n\022task_node_metadata\030\t \001(\0132 .flytei" + "dl.admin.TaskNodeMetadataH\001\022\020\n\010deck_uri\030" + "\013 \001(\t\022\034\n\024dynamic_job_spec_uri\030\014 \001(\tB\017\n\ro" + "utput_resultB\021\n\017target_metadata\"W\n\024Workf" + "lowNodeMetadata\022\?\n\013executionId\030\001 \001(\0132*.f" + "lyteidl.core.WorkflowExecutionIdentifier" + "\"\230\001\n\020TaskNodeMetadata\0227\n\014cache_status\030\001 " + "\001(\0162!.flyteidl.core.CatalogCacheStatus\0223" + "\n\013catalog_key\030\002 \001(\0132\036.flyteidl.core.Cata" + "logMetadata\022\026\n\016checkpoint_uri\030\004 \001(\t\"\245\001\n\033" + "DynamicWorkflowNodeMetadata\022%\n\002id\030\001 \001(\0132" + "\031.flyteidl.core.Identifier\022A\n\021compiled_w" + "orkflow\030\002 \001(\0132&.flyteidl.core.CompiledWo" + "rkflowClosure\022\034\n\024dynamic_job_spec_uri\030\003 " + "\001(\t\"Q\n\033NodeExecutionGetDataRequest\0222\n\002id" + "\030\001 \001(\0132&.flyteidl.core.NodeExecutionIden" + "tifier\"\266\003\n\034NodeExecutionGetDataResponse\022" + "+\n\006inputs\030\001 \001(\0132\027.flyteidl.admin.UrlBlob" + "B\002\030\001\022,\n\007outputs\030\002 \001(\0132\027.flyteidl.admin.U" + "rlBlobB\002\030\001\0222\n\013full_inputs\030\003 \001(\0132\031.flytei" + "dl.core.LiteralMapB\002\030\001\0223\n\014full_outputs\030\004" + " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001\022,\n\ni" + "nput_data\030\005 \001(\0132\030.flyteidl.core.InputDat" + "a\022.\n\013output_data\030\006 \001(\0132\031.flyteidl.core.O" + "utputData\022E\n\020dynamic_workflow\030\020 \001(\0132+.fl" + "yteidl.admin.DynamicWorkflowNodeMetadata" + "\022-\n\nflyte_urls\030\021 \001(\0132\031.flyteidl.admin.Fl" + "yteURLsB=Z;github.com/flyteorg/flyte/fly" + "teidl/gen/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fnode_5fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fnode_5fexecution_2eproto, - "flyteidl/admin/node_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto, 2827, + "flyteidl/admin/node_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto, 2878, }; void AddDescriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto() { @@ -3414,6 +3418,8 @@ void NodeExecutionClosure::InitAsDefaultInstance() { ::flyteidl::core::ExecutionError::internal_default_instance()); ::flyteidl::admin::_NodeExecutionClosure_default_instance_.output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_NodeExecutionClosure_default_instance_.full_outputs_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); ::flyteidl::admin::_NodeExecutionClosure_default_instance_._instance.get_mutable()->started_at_ = const_cast< ::google::protobuf::Timestamp*>( ::google::protobuf::Timestamp::internal_default_instance()); ::flyteidl::admin::_NodeExecutionClosure_default_instance_._instance.get_mutable()->duration_ = const_cast< ::google::protobuf::Duration*>( @@ -3431,6 +3437,7 @@ class NodeExecutionClosure::HasBitSetters { public: static const ::flyteidl::core::ExecutionError& error(const NodeExecutionClosure* msg); static const ::flyteidl::core::LiteralMap& output_data(const NodeExecutionClosure* msg); + static const ::flyteidl::core::OutputData& full_outputs(const NodeExecutionClosure* msg); static const ::google::protobuf::Timestamp& started_at(const NodeExecutionClosure* msg); static const ::google::protobuf::Duration& duration(const NodeExecutionClosure* msg); static const ::google::protobuf::Timestamp& created_at(const NodeExecutionClosure* msg); @@ -3447,6 +3454,10 @@ const ::flyteidl::core::LiteralMap& NodeExecutionClosure::HasBitSetters::output_data(const NodeExecutionClosure* msg) { return *msg->output_result_.output_data_; } +const ::flyteidl::core::OutputData& +NodeExecutionClosure::HasBitSetters::full_outputs(const NodeExecutionClosure* msg) { + return *msg->output_result_.full_outputs_; +} const ::google::protobuf::Timestamp& NodeExecutionClosure::HasBitSetters::started_at(const NodeExecutionClosure* msg) { return *msg->started_at_; @@ -3511,6 +3522,26 @@ void NodeExecutionClosure::clear_output_data() { clear_has_output_result(); } } +void NodeExecutionClosure::set_allocated_full_outputs(::flyteidl::core::OutputData* full_outputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_output_result(); + if (full_outputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + full_outputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, full_outputs, submessage_arena); + } + set_has_full_outputs(); + output_result_.full_outputs_ = full_outputs; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionClosure.full_outputs) +} +void NodeExecutionClosure::clear_full_outputs() { + if (has_full_outputs()) { + delete output_result_.full_outputs_; + clear_has_output_result(); + } +} void NodeExecutionClosure::clear_started_at() { if (GetArenaNoVirtual() == nullptr && started_at_ != nullptr) { delete started_at_; @@ -3567,6 +3598,7 @@ void NodeExecutionClosure::set_allocated_task_node_metadata(::flyteidl::admin::T const int NodeExecutionClosure::kOutputUriFieldNumber; const int NodeExecutionClosure::kErrorFieldNumber; const int NodeExecutionClosure::kOutputDataFieldNumber; +const int NodeExecutionClosure::kFullOutputsFieldNumber; const int NodeExecutionClosure::kPhaseFieldNumber; const int NodeExecutionClosure::kStartedAtFieldNumber; const int NodeExecutionClosure::kDurationFieldNumber; @@ -3630,6 +3662,10 @@ NodeExecutionClosure::NodeExecutionClosure(const NodeExecutionClosure& from) mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); break; } + case kFullOutputs: { + mutable_full_outputs()->::flyteidl::core::OutputData::MergeFrom(from.full_outputs()); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -3707,6 +3743,10 @@ void NodeExecutionClosure::clear_output_result() { delete output_result_.output_data_; break; } + case kFullOutputs: { + delete output_result_.full_outputs_; + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -3936,6 +3976,19 @@ const char* NodeExecutionClosure::_InternalParse(const char* begin, const char* ptr += size; break; } + // .flyteidl.core.OutputData full_outputs = 13; + case 13: { + if (static_cast<::google::protobuf::uint8>(tag) != 106) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_full_outputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -4117,6 +4170,17 @@ bool NodeExecutionClosure::MergePartialFromCodedStream( break; } + // .flyteidl.core.OutputData full_outputs = 13; + case 13: { + if (static_cast< ::google::protobuf::uint8>(tag) == (106 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_full_outputs())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -4228,6 +4292,12 @@ void NodeExecutionClosure::SerializeWithCachedSizes( 12, this->dynamic_job_spec_uri(), output); } + // .flyteidl.core.OutputData full_outputs = 13; + if (has_full_outputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 13, HasBitSetters::full_outputs(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -4336,6 +4406,13 @@ ::google::protobuf::uint8* NodeExecutionClosure::InternalSerializeWithCachedSize 12, this->dynamic_job_spec_uri(), target); } + // .flyteidl.core.OutputData full_outputs = 13; + if (has_full_outputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 13, HasBitSetters::full_outputs(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -4427,6 +4504,13 @@ size_t NodeExecutionClosure::ByteSizeLong() const { *output_result_.output_data_); break; } + // .flyteidl.core.OutputData full_outputs = 13; + case kFullOutputs: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_result_.full_outputs_); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -4513,6 +4597,10 @@ void NodeExecutionClosure::MergeFrom(const NodeExecutionClosure& from) { mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); break; } + case kFullOutputs: { + mutable_full_outputs()->::flyteidl::core::OutputData::MergeFrom(from.full_outputs()); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h index 4c70a24afc..cc7e51b09f 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/node_execution.pb.h @@ -1046,6 +1046,7 @@ class NodeExecutionClosure final : kOutputUri = 1, kError = 2, kOutputData = 10, + kFullOutputs = 13, OUTPUT_RESULT_NOT_SET = 0, }; @@ -1223,6 +1224,15 @@ class NodeExecutionClosure final : PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_output_data(); PROTOBUF_DEPRECATED void set_allocated_output_data(::flyteidl::core::LiteralMap* output_data); + // .flyteidl.core.OutputData full_outputs = 13; + bool has_full_outputs() const; + void clear_full_outputs(); + static const int kFullOutputsFieldNumber = 13; + const ::flyteidl::core::OutputData& full_outputs() const; + ::flyteidl::core::OutputData* release_full_outputs(); + ::flyteidl::core::OutputData* mutable_full_outputs(); + void set_allocated_full_outputs(::flyteidl::core::OutputData* full_outputs); + // .flyteidl.admin.WorkflowNodeMetadata workflow_node_metadata = 8; bool has_workflow_node_metadata() const; void clear_workflow_node_metadata(); @@ -1251,6 +1261,7 @@ class NodeExecutionClosure final : void set_has_output_uri(); void set_has_error(); void set_has_output_data(); + void set_has_full_outputs(); void set_has_workflow_node_metadata(); void set_has_task_node_metadata(); @@ -1273,6 +1284,7 @@ class NodeExecutionClosure final : ::google::protobuf::internal::ArenaStringPtr output_uri_; ::flyteidl::core::ExecutionError* error_; ::flyteidl::core::LiteralMap* output_data_; + ::flyteidl::core::OutputData* full_outputs_; } output_result_; union TargetMetadataUnion { TargetMetadataUnion() {} @@ -3122,6 +3134,41 @@ inline ::flyteidl::core::LiteralMap* NodeExecutionClosure::mutable_output_data() return output_result_.output_data_; } +// .flyteidl.core.OutputData full_outputs = 13; +inline bool NodeExecutionClosure::has_full_outputs() const { + return output_result_case() == kFullOutputs; +} +inline void NodeExecutionClosure::set_has_full_outputs() { + _oneof_case_[0] = kFullOutputs; +} +inline ::flyteidl::core::OutputData* NodeExecutionClosure::release_full_outputs() { + // @@protoc_insertion_point(field_release:flyteidl.admin.NodeExecutionClosure.full_outputs) + if (has_full_outputs()) { + clear_has_output_result(); + ::flyteidl::core::OutputData* temp = output_result_.full_outputs_; + output_result_.full_outputs_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::OutputData& NodeExecutionClosure::full_outputs() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.NodeExecutionClosure.full_outputs) + return has_full_outputs() + ? *output_result_.full_outputs_ + : *reinterpret_cast< ::flyteidl::core::OutputData*>(&::flyteidl::core::_OutputData_default_instance_); +} +inline ::flyteidl::core::OutputData* NodeExecutionClosure::mutable_full_outputs() { + if (!has_full_outputs()) { + clear_output_result(); + set_has_full_outputs(); + output_result_.full_outputs_ = CreateMaybeMessage< ::flyteidl::core::OutputData >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.NodeExecutionClosure.full_outputs) + return output_result_.full_outputs_; +} + // .flyteidl.core.NodeExecution.Phase phase = 3; inline void NodeExecutionClosure::clear_phase() { phase_ = 0; diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc index ee1917496e..287e26dcd8 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.cc @@ -21,7 +21,7 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::prot extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_UrlBlob_flyteidl_2fadmin_2fcommon_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2ftask_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Reason_flyteidl_2fadmin_2ftask_5fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2ftask_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecution_flyteidl_2fadmin_2ftask_5fexecution_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2ftask_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<8> scc_info_TaskExecutionClosure_flyteidl_2fadmin_2ftask_5fexecution_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2ftask_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_TaskExecutionClosure_flyteidl_2fadmin_2ftask_5fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_TaskLog_flyteidl_2fcore_2fexecution_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto; @@ -57,6 +57,7 @@ class TaskExecutionClosureDefaultTypeInternal { ::google::protobuf::internal::ArenaStringPtr output_uri_; const ::flyteidl::core::ExecutionError* error_; const ::flyteidl::core::LiteralMap* output_data_; + const ::flyteidl::core::OutputData* full_outputs_; } _TaskExecutionClosure_default_instance_; class ReasonDefaultTypeInternal { public: @@ -145,10 +146,11 @@ static void InitDefaultsTaskExecutionClosure_flyteidl_2fadmin_2ftask_5fexecution ::flyteidl::admin::TaskExecutionClosure::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<8> scc_info_TaskExecutionClosure_flyteidl_2fadmin_2ftask_5fexecution_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 8, InitDefaultsTaskExecutionClosure_flyteidl_2fadmin_2ftask_5fexecution_2eproto}, { +::google::protobuf::internal::SCCInfo<9> scc_info_TaskExecutionClosure_flyteidl_2fadmin_2ftask_5fexecution_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 9, InitDefaultsTaskExecutionClosure_flyteidl_2fadmin_2ftask_5fexecution_2eproto}, { &scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto.base, &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base, + &scc_info_OutputData_flyteidl_2fcore_2fliterals_2eproto.base, &scc_info_TaskLog_flyteidl_2fcore_2fexecution_2eproto.base, &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base, &scc_info_Duration_google_2fprotobuf_2fduration_2eproto.base, @@ -261,6 +263,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2ftask_5fexecution offsetof(::flyteidl::admin::TaskExecutionClosureDefaultTypeInternal, output_uri_), offsetof(::flyteidl::admin::TaskExecutionClosureDefaultTypeInternal, error_), offsetof(::flyteidl::admin::TaskExecutionClosureDefaultTypeInternal, output_data_), + offsetof(::flyteidl::admin::TaskExecutionClosureDefaultTypeInternal, full_outputs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionClosure, phase_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionClosure, logs_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskExecutionClosure, started_at_), @@ -306,9 +309,9 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 16, -1, sizeof(::flyteidl::admin::TaskExecution)}, { 25, -1, sizeof(::flyteidl::admin::TaskExecutionList)}, { 32, -1, sizeof(::flyteidl::admin::TaskExecutionClosure)}, - { 53, -1, sizeof(::flyteidl::admin::Reason)}, - { 60, -1, sizeof(::flyteidl::admin::TaskExecutionGetDataRequest)}, - { 66, -1, sizeof(::flyteidl::admin::TaskExecutionGetDataResponse)}, + { 54, -1, sizeof(::flyteidl::admin::Reason)}, + { 61, -1, sizeof(::flyteidl::admin::TaskExecutionGetDataRequest)}, + { 67, -1, sizeof(::flyteidl::admin::TaskExecutionGetDataResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -349,43 +352,44 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2ftask_5fexecution_2eproto "in.TaskExecutionClosure\022\021\n\tis_parent\030\004 \001" "(\010\"Z\n\021TaskExecutionList\0226\n\017task_executio" "ns\030\001 \003(\0132\035.flyteidl.admin.TaskExecution\022" - "\r\n\005token\030\002 \001(\t\"\207\005\n\024TaskExecutionClosure\022" + "\r\n\005token\030\002 \001(\t\"\272\005\n\024TaskExecutionClosure\022" "\030\n\noutput_uri\030\001 \001(\tB\002\030\001H\000\022.\n\005error\030\002 \001(\013" "2\035.flyteidl.core.ExecutionErrorH\000\0224\n\013out" "put_data\030\014 \001(\0132\031.flyteidl.core.LiteralMa" - "pB\002\030\001H\000\0221\n\005phase\030\003 \001(\0162\".flyteidl.core.T" - "askExecution.Phase\022$\n\004logs\030\004 \003(\0132\026.flyte" - "idl.core.TaskLog\022.\n\nstarted_at\030\005 \001(\0132\032.g" - "oogle.protobuf.Timestamp\022+\n\010duration\030\006 \001" - "(\0132\031.google.protobuf.Duration\022.\n\ncreated" - "_at\030\007 \001(\0132\032.google.protobuf.Timestamp\022.\n" - "\nupdated_at\030\010 \001(\0132\032.google.protobuf.Time" - "stamp\022,\n\013custom_info\030\t \001(\0132\027.google.prot" - "obuf.Struct\022\016\n\006reason\030\n \001(\t\022\021\n\ttask_type" - "\030\013 \001(\t\0227\n\010metadata\030\020 \001(\0132%.flyteidl.even" - "t.TaskExecutionMetadata\022\025\n\revent_version" - "\030\021 \001(\005\022\'\n\007reasons\030\022 \003(\0132\026.flyteidl.admin" - ".ReasonB\017\n\routput_result\"J\n\006Reason\022/\n\013oc" - "curred_at\030\001 \001(\0132\032.google.protobuf.Timest" - "amp\022\017\n\007message\030\002 \001(\t\"Q\n\033TaskExecutionGet" - "DataRequest\0222\n\002id\030\001 \001(\0132&.flyteidl.core." - "TaskExecutionIdentifier\"\357\002\n\034TaskExecutio" - "nGetDataResponse\022+\n\006inputs\030\001 \001(\0132\027.flyte" - "idl.admin.UrlBlobB\002\030\001\022,\n\007outputs\030\002 \001(\0132\027" - ".flyteidl.admin.UrlBlobB\002\030\001\0222\n\013full_inpu" - "ts\030\003 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001\022" - "3\n\014full_outputs\030\004 \001(\0132\031.flyteidl.core.Li" - "teralMapB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyte" - "idl.core.InputData\022.\n\013output_data\030\007 \001(\0132" - "\031.flyteidl.core.OutputData\022-\n\nflyte_urls" - "\030\005 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;git" - "hub.com/flyteorg/flyte/flyteidl/gen/pb-g" - "o/flyteidl/adminb\006proto3" + "pB\002\030\001H\000\0221\n\014full_outputs\030\023 \001(\0132\031.flyteidl" + ".core.OutputDataH\000\0221\n\005phase\030\003 \001(\0162\".flyt" + "eidl.core.TaskExecution.Phase\022$\n\004logs\030\004 " + "\003(\0132\026.flyteidl.core.TaskLog\022.\n\nstarted_a" + "t\030\005 \001(\0132\032.google.protobuf.Timestamp\022+\n\010d" + "uration\030\006 \001(\0132\031.google.protobuf.Duration" + "\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf.T" + "imestamp\022.\n\nupdated_at\030\010 \001(\0132\032.google.pr" + "otobuf.Timestamp\022,\n\013custom_info\030\t \001(\0132\027." + "google.protobuf.Struct\022\016\n\006reason\030\n \001(\t\022\021" + "\n\ttask_type\030\013 \001(\t\0227\n\010metadata\030\020 \001(\0132%.fl" + "yteidl.event.TaskExecutionMetadata\022\025\n\rev" + "ent_version\030\021 \001(\005\022\'\n\007reasons\030\022 \003(\0132\026.fly" + "teidl.admin.ReasonB\017\n\routput_result\"J\n\006R" + "eason\022/\n\013occurred_at\030\001 \001(\0132\032.google.prot" + "obuf.Timestamp\022\017\n\007message\030\002 \001(\t\"Q\n\033TaskE" + "xecutionGetDataRequest\0222\n\002id\030\001 \001(\0132&.fly" + "teidl.core.TaskExecutionIdentifier\"\357\002\n\034T" + "askExecutionGetDataResponse\022+\n\006inputs\030\001 " + "\001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022,\n\007outp" + "uts\030\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\0222" + "\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lite" + "ralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyte" + "idl.core.LiteralMapB\002\030\001\022,\n\ninput_data\030\006 " + "\001(\0132\030.flyteidl.core.InputData\022.\n\013output_" + "data\030\007 \001(\0132\031.flyteidl.core.OutputData\022-\n" + "\nflyte_urls\030\005 \001(\0132\031.flyteidl.admin.Flyte" + "URLsB=Z;github.com/flyteorg/flyte/flytei" + "dl/gen/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2ftask_5fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2ftask_5fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2ftask_5fexecution_2eproto, - "flyteidl/admin/task_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2ftask_5fexecution_2eproto, 2064, + "flyteidl/admin/task_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2ftask_5fexecution_2eproto, 2115, }; void AddDescriptors_flyteidl_2fadmin_2ftask_5fexecution_2eproto() { @@ -2108,6 +2112,8 @@ void TaskExecutionClosure::InitAsDefaultInstance() { ::flyteidl::core::ExecutionError::internal_default_instance()); ::flyteidl::admin::_TaskExecutionClosure_default_instance_.output_data_ = const_cast< ::flyteidl::core::LiteralMap*>( ::flyteidl::core::LiteralMap::internal_default_instance()); + ::flyteidl::admin::_TaskExecutionClosure_default_instance_.full_outputs_ = const_cast< ::flyteidl::core::OutputData*>( + ::flyteidl::core::OutputData::internal_default_instance()); ::flyteidl::admin::_TaskExecutionClosure_default_instance_._instance.get_mutable()->started_at_ = const_cast< ::google::protobuf::Timestamp*>( ::google::protobuf::Timestamp::internal_default_instance()); ::flyteidl::admin::_TaskExecutionClosure_default_instance_._instance.get_mutable()->duration_ = const_cast< ::google::protobuf::Duration*>( @@ -2125,6 +2131,7 @@ class TaskExecutionClosure::HasBitSetters { public: static const ::flyteidl::core::ExecutionError& error(const TaskExecutionClosure* msg); static const ::flyteidl::core::LiteralMap& output_data(const TaskExecutionClosure* msg); + static const ::flyteidl::core::OutputData& full_outputs(const TaskExecutionClosure* msg); static const ::google::protobuf::Timestamp& started_at(const TaskExecutionClosure* msg); static const ::google::protobuf::Duration& duration(const TaskExecutionClosure* msg); static const ::google::protobuf::Timestamp& created_at(const TaskExecutionClosure* msg); @@ -2141,6 +2148,10 @@ const ::flyteidl::core::LiteralMap& TaskExecutionClosure::HasBitSetters::output_data(const TaskExecutionClosure* msg) { return *msg->output_result_.output_data_; } +const ::flyteidl::core::OutputData& +TaskExecutionClosure::HasBitSetters::full_outputs(const TaskExecutionClosure* msg) { + return *msg->output_result_.full_outputs_; +} const ::google::protobuf::Timestamp& TaskExecutionClosure::HasBitSetters::started_at(const TaskExecutionClosure* msg) { return *msg->started_at_; @@ -2205,6 +2216,26 @@ void TaskExecutionClosure::clear_output_data() { clear_has_output_result(); } } +void TaskExecutionClosure::set_allocated_full_outputs(::flyteidl::core::OutputData* full_outputs) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + clear_output_result(); + if (full_outputs) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + full_outputs = ::google::protobuf::internal::GetOwnedMessage( + message_arena, full_outputs, submessage_arena); + } + set_has_full_outputs(); + output_result_.full_outputs_ = full_outputs; + } + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.TaskExecutionClosure.full_outputs) +} +void TaskExecutionClosure::clear_full_outputs() { + if (has_full_outputs()) { + delete output_result_.full_outputs_; + clear_has_output_result(); + } +} void TaskExecutionClosure::clear_logs() { logs_.Clear(); } @@ -2248,6 +2279,7 @@ void TaskExecutionClosure::clear_metadata() { const int TaskExecutionClosure::kOutputUriFieldNumber; const int TaskExecutionClosure::kErrorFieldNumber; const int TaskExecutionClosure::kOutputDataFieldNumber; +const int TaskExecutionClosure::kFullOutputsFieldNumber; const int TaskExecutionClosure::kPhaseFieldNumber; const int TaskExecutionClosure::kLogsFieldNumber; const int TaskExecutionClosure::kStartedAtFieldNumber; @@ -2328,6 +2360,10 @@ TaskExecutionClosure::TaskExecutionClosure(const TaskExecutionClosure& from) mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); break; } + case kFullOutputs: { + mutable_full_outputs()->::flyteidl::core::OutputData::MergeFrom(from.full_outputs()); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -2389,6 +2425,10 @@ void TaskExecutionClosure::clear_output_result() { delete output_result_.output_data_; break; } + case kFullOutputs: { + delete output_result_.full_outputs_; + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -2650,6 +2690,19 @@ const char* TaskExecutionClosure::_InternalParse(const char* begin, const char* } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 65535) == 402 && (ptr += 2)); break; } + // .flyteidl.core.OutputData full_outputs = 19; + case 19: { + if (static_cast<::google::protobuf::uint8>(tag) != 154) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::core::OutputData::_InternalParse; + object = msg->mutable_full_outputs(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -2866,6 +2919,17 @@ bool TaskExecutionClosure::MergePartialFromCodedStream( break; } + // .flyteidl.core.OutputData full_outputs = 19; + case 19: { + if (static_cast< ::google::protobuf::uint8>(tag) == (154 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_full_outputs())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -3000,6 +3064,12 @@ void TaskExecutionClosure::SerializeWithCachedSizes( output); } + // .flyteidl.core.OutputData full_outputs = 19; + if (has_full_outputs()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 19, HasBitSetters::full_outputs(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -3129,6 +3199,13 @@ ::google::protobuf::uint8* TaskExecutionClosure::InternalSerializeWithCachedSize 18, this->reasons(static_cast(i)), target); } + // .flyteidl.core.OutputData full_outputs = 19; + if (has_full_outputs()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 19, HasBitSetters::full_outputs(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -3263,6 +3340,13 @@ size_t TaskExecutionClosure::ByteSizeLong() const { *output_result_.output_data_); break; } + // .flyteidl.core.OutputData full_outputs = 19; + case kFullOutputs: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *output_result_.full_outputs_); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } @@ -3341,6 +3425,10 @@ void TaskExecutionClosure::MergeFrom(const TaskExecutionClosure& from) { mutable_output_data()->::flyteidl::core::LiteralMap::MergeFrom(from.output_data()); break; } + case kFullOutputs: { + mutable_full_outputs()->::flyteidl::core::OutputData::MergeFrom(from.full_outputs()); + break; + } case OUTPUT_RESULT_NOT_SET: { break; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h index 4f2c9515b1..1507b11023 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/task_execution.pb.h @@ -694,6 +694,7 @@ class TaskExecutionClosure final : kOutputUri = 1, kError = 2, kOutputData = 12, + kFullOutputs = 19, OUTPUT_RESULT_NOT_SET = 0, }; @@ -913,6 +914,15 @@ class TaskExecutionClosure final : PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_output_data(); PROTOBUF_DEPRECATED void set_allocated_output_data(::flyteidl::core::LiteralMap* output_data); + // .flyteidl.core.OutputData full_outputs = 19; + bool has_full_outputs() const; + void clear_full_outputs(); + static const int kFullOutputsFieldNumber = 19; + const ::flyteidl::core::OutputData& full_outputs() const; + ::flyteidl::core::OutputData* release_full_outputs(); + ::flyteidl::core::OutputData* mutable_full_outputs(); + void set_allocated_full_outputs(::flyteidl::core::OutputData* full_outputs); + void clear_output_result(); OutputResultCase output_result_case() const; // @@protoc_insertion_point(class_scope:flyteidl.admin.TaskExecutionClosure) @@ -921,6 +931,7 @@ class TaskExecutionClosure final : void set_has_output_uri(); void set_has_error(); void set_has_output_data(); + void set_has_full_outputs(); inline bool has_output_result() const; inline void clear_has_output_result(); @@ -943,6 +954,7 @@ class TaskExecutionClosure final : ::google::protobuf::internal::ArenaStringPtr output_uri_; ::flyteidl::core::ExecutionError* error_; ::flyteidl::core::LiteralMap* output_data_; + ::flyteidl::core::OutputData* full_outputs_; } output_result_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::uint32 _oneof_case_[1]; @@ -2059,6 +2071,41 @@ inline ::flyteidl::core::LiteralMap* TaskExecutionClosure::mutable_output_data() return output_result_.output_data_; } +// .flyteidl.core.OutputData full_outputs = 19; +inline bool TaskExecutionClosure::has_full_outputs() const { + return output_result_case() == kFullOutputs; +} +inline void TaskExecutionClosure::set_has_full_outputs() { + _oneof_case_[0] = kFullOutputs; +} +inline ::flyteidl::core::OutputData* TaskExecutionClosure::release_full_outputs() { + // @@protoc_insertion_point(field_release:flyteidl.admin.TaskExecutionClosure.full_outputs) + if (has_full_outputs()) { + clear_has_output_result(); + ::flyteidl::core::OutputData* temp = output_result_.full_outputs_; + output_result_.full_outputs_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flyteidl::core::OutputData& TaskExecutionClosure::full_outputs() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.TaskExecutionClosure.full_outputs) + return has_full_outputs() + ? *output_result_.full_outputs_ + : *reinterpret_cast< ::flyteidl::core::OutputData*>(&::flyteidl::core::_OutputData_default_instance_); +} +inline ::flyteidl::core::OutputData* TaskExecutionClosure::mutable_full_outputs() { + if (!has_full_outputs()) { + clear_output_result(); + set_has_full_outputs(); + output_result_.full_outputs_ = CreateMaybeMessage< ::flyteidl::core::OutputData >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.TaskExecutionClosure.full_outputs) + return output_result_.full_outputs_; +} + // .flyteidl.core.TaskExecution.Phase phase = 3; inline void TaskExecutionClosure::clear_phase() { phase_ = 0; diff --git a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc index 27cfee5854..e9587cc422 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.cc @@ -347,6 +347,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fevent_2fevent_2eproto::o offsetof(::flyteidl::event::WorkflowExecutionEventDefaultTypeInternal, error_), offsetof(::flyteidl::event::WorkflowExecutionEventDefaultTypeInternal, deprecated_output_data_), offsetof(::flyteidl::event::WorkflowExecutionEventDefaultTypeInternal, output_data_), + PROTOBUF_FIELD_OFFSET(::flyteidl::event::WorkflowExecutionEvent, event_version_), PROTOBUF_FIELD_OFFSET(::flyteidl::event::WorkflowExecutionEvent, output_result_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::event::NodeExecutionEvent, _internal_metadata_), @@ -483,17 +484,17 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fevent_2fevent_2eproto::o }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::event::WorkflowExecutionEvent)}, - { 14, -1, sizeof(::flyteidl::event::NodeExecutionEvent)}, - { 46, -1, sizeof(::flyteidl::event::WorkflowNodeMetadata)}, - { 52, -1, sizeof(::flyteidl::event::TaskNodeMetadata)}, - { 62, -1, sizeof(::flyteidl::event::DynamicWorkflowNodeMetadata)}, - { 70, -1, sizeof(::flyteidl::event::ParentTaskExecutionMetadata)}, - { 76, -1, sizeof(::flyteidl::event::ParentNodeExecutionMetadata)}, - { 82, -1, sizeof(::flyteidl::event::EventReason)}, - { 89, -1, sizeof(::flyteidl::event::TaskExecutionEvent)}, - { 118, -1, sizeof(::flyteidl::event::ExternalResourceInfo)}, - { 129, -1, sizeof(::flyteidl::event::ResourcePoolInfo)}, - { 136, -1, sizeof(::flyteidl::event::TaskExecutionMetadata)}, + { 15, -1, sizeof(::flyteidl::event::NodeExecutionEvent)}, + { 47, -1, sizeof(::flyteidl::event::WorkflowNodeMetadata)}, + { 53, -1, sizeof(::flyteidl::event::TaskNodeMetadata)}, + { 63, -1, sizeof(::flyteidl::event::DynamicWorkflowNodeMetadata)}, + { 71, -1, sizeof(::flyteidl::event::ParentTaskExecutionMetadata)}, + { 77, -1, sizeof(::flyteidl::event::ParentNodeExecutionMetadata)}, + { 83, -1, sizeof(::flyteidl::event::EventReason)}, + { 90, -1, sizeof(::flyteidl::event::TaskExecutionEvent)}, + { 119, -1, sizeof(::flyteidl::event::ExternalResourceInfo)}, + { 130, -1, sizeof(::flyteidl::event::ResourcePoolInfo)}, + { 137, -1, sizeof(::flyteidl::event::TaskExecutionMetadata)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -524,7 +525,7 @@ const char descriptor_table_protodef_flyteidl_2fevent_2fevent_2eproto[] = "execution.proto\032\036flyteidl/core/identifie" "r.proto\032\033flyteidl/core/catalog.proto\032\037go" "ogle/protobuf/timestamp.proto\032\034google/pr" - "otobuf/struct.proto\"\241\003\n\026WorkflowExecutio" + "otobuf/struct.proto\"\270\003\n\026WorkflowExecutio" "nEvent\022@\n\014execution_id\030\001 \001(\0132*.flyteidl." "core.WorkflowExecutionIdentifier\022\023\n\013prod" "ucer_id\030\002 \001(\t\0225\n\005phase\030\003 \001(\0162&.flyteidl." @@ -534,99 +535,100 @@ const char descriptor_table_protodef_flyteidl_2fevent_2fevent_2eproto[] = "teidl.core.ExecutionErrorH\000\022\?\n\026deprecate" "d_output_data\030\007 \001(\0132\031.flyteidl.core.Lite" "ralMapB\002\030\001H\000\0220\n\013output_data\030\010 \001(\0132\031.flyt" - "eidl.core.OutputDataH\000B\017\n\routput_result\"" - "\241\010\n\022NodeExecutionEvent\0222\n\002id\030\001 \001(\0132&.fly" - "teidl.core.NodeExecutionIdentifier\022\023\n\013pr" - "oducer_id\030\002 \001(\t\0221\n\005phase\030\003 \001(\0162\".flyteid" - "l.core.NodeExecution.Phase\022/\n\013occurred_a" - "t\030\004 \001(\0132\032.google.protobuf.Timestamp\022\023\n\ti" - "nput_uri\030\005 \001(\tH\000\022>\n\025deprecated_input_dat" - "a\030\024 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000" - "\022.\n\ninput_data\030\030 \001(\0132\030.flyteidl.core.Inp" - "utDataH\000\022\024\n\noutput_uri\030\006 \001(\tH\001\022.\n\005error\030" - "\007 \001(\0132\035.flyteidl.core.ExecutionErrorH\001\022\?" - "\n\026deprecated_output_data\030\017 \001(\0132\031.flyteid" - "l.core.LiteralMapB\002\030\001H\001\0220\n\013output_data\030\027" - " \001(\0132\031.flyteidl.core.OutputDataH\001\022F\n\026wor" - "kflow_node_metadata\030\010 \001(\0132$.flyteidl.eve" - "nt.WorkflowNodeMetadataH\002\022>\n\022task_node_m" - "etadata\030\016 \001(\0132 .flyteidl.event.TaskNodeM" - "etadataH\002\022I\n\024parent_task_metadata\030\t \001(\0132" - "+.flyteidl.event.ParentTaskExecutionMeta" - "data\022I\n\024parent_node_metadata\030\n \001(\0132+.fly" - "teidl.event.ParentNodeExecutionMetadata\022" - "\023\n\013retry_group\030\013 \001(\t\022\024\n\014spec_node_id\030\014 \001" - "(\t\022\021\n\tnode_name\030\r \001(\t\022\025\n\revent_version\030\020" - " \001(\005\022\021\n\tis_parent\030\021 \001(\010\022\022\n\nis_dynamic\030\022 " - "\001(\010\022\020\n\010deck_uri\030\023 \001(\t\022/\n\013reported_at\030\025 \001" - "(\0132\032.google.protobuf.Timestamp\022\020\n\010is_arr" - "ay\030\026 \001(\010B\r\n\013input_valueB\017\n\routput_result" - "B\021\n\017target_metadata\"X\n\024WorkflowNodeMetad" - "ata\022@\n\014execution_id\030\001 \001(\0132*.flyteidl.cor" - "e.WorkflowExecutionIdentifier\"\245\002\n\020TaskNo" - "deMetadata\0227\n\014cache_status\030\001 \001(\0162!.flyte" - "idl.core.CatalogCacheStatus\0223\n\013catalog_k" - "ey\030\002 \001(\0132\036.flyteidl.core.CatalogMetadata" - "\022D\n\022reservation_status\030\003 \001(\0162(.flyteidl." - "core.CatalogReservation.Status\022\026\n\016checkp" - "oint_uri\030\004 \001(\t\022E\n\020dynamic_workflow\030\020 \001(\013" - "2+.flyteidl.event.DynamicWorkflowNodeMet" - "adata\"\245\001\n\033DynamicWorkflowNodeMetadata\022%\n" - "\002id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A\n\021" - "compiled_workflow\030\002 \001(\0132&.flyteidl.core." - "CompiledWorkflowClosure\022\034\n\024dynamic_job_s" - "pec_uri\030\003 \001(\t\"Q\n\033ParentTaskExecutionMeta" - "data\0222\n\002id\030\001 \001(\0132&.flyteidl.core.TaskExe" - "cutionIdentifier\".\n\033ParentNodeExecutionM" - "etadata\022\017\n\007node_id\030\001 \001(\t\"N\n\013EventReason\022" - "\016\n\006reason\030\001 \001(\t\022/\n\013occurred_at\030\002 \001(\0132\032.g" - "oogle.protobuf.Timestamp\"\271\007\n\022TaskExecuti" - "onEvent\022*\n\007task_id\030\001 \001(\0132\031.flyteidl.core" - ".Identifier\022H\n\030parent_node_execution_id\030" - "\002 \001(\0132&.flyteidl.core.NodeExecutionIdent" - "ifier\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 " - "\001(\0162\".flyteidl.core.TaskExecution.Phase\022" - "\023\n\013producer_id\030\005 \001(\t\022$\n\004logs\030\006 \003(\0132\026.fly" - "teidl.core.TaskLog\022/\n\013occurred_at\030\007 \001(\0132" - "\032.google.protobuf.Timestamp\022\023\n\tinput_uri" - "\030\010 \001(\tH\000\022>\n\025deprecated_input_data\030\023 \001(\0132" - "\031.flyteidl.core.LiteralMapB\002\030\001H\000\022.\n\ninpu" - "t_data\030\027 \001(\0132\030.flyteidl.core.InputDataH\000" - "\022\024\n\noutput_uri\030\t \001(\tH\001\022.\n\005error\030\n \001(\0132\035." - "flyteidl.core.ExecutionErrorH\001\022\?\n\026deprec" - "ated_output_data\030\021 \001(\0132\031.flyteidl.core.L" - "iteralMapB\002\030\001H\001\0220\n\013output_data\030\026 \001(\0132\031.f" - "lyteidl.core.OutputDataH\001\022,\n\013custom_info" - "\030\013 \001(\0132\027.google.protobuf.Struct\022\025\n\rphase" - "_version\030\014 \001(\r\022\022\n\006reason\030\r \001(\tB\002\030\001\022,\n\007re" - "asons\030\025 \003(\0132\033.flyteidl.event.EventReason" - "\022\021\n\ttask_type\030\016 \001(\t\0227\n\010metadata\030\020 \001(\0132%." - "flyteidl.event.TaskExecutionMetadata\022\025\n\r" - "event_version\030\022 \001(\005\022/\n\013reported_at\030\024 \001(\013" - "2\032.google.protobuf.TimestampB\r\n\013input_va" - "lueB\017\n\routput_result\"\343\001\n\024ExternalResourc" - "eInfo\022\023\n\013external_id\030\001 \001(\t\022\r\n\005index\030\002 \001(" - "\r\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162" - "\".flyteidl.core.TaskExecution.Phase\0227\n\014c" - "ache_status\030\005 \001(\0162!.flyteidl.core.Catalo" - "gCacheStatus\022$\n\004logs\030\006 \003(\0132\026.flyteidl.co" - "re.TaskLog\"\?\n\020ResourcePoolInfo\022\030\n\020alloca" - "tion_token\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025" - "TaskExecutionMetadata\022\026\n\016generated_name\030" - "\001 \001(\t\022@\n\022external_resources\030\002 \003(\0132$.flyt" - "eidl.event.ExternalResourceInfo\022<\n\022resou" - "rce_pool_info\030\003 \003(\0132 .flyteidl.event.Res" - "ourcePoolInfo\022\031\n\021plugin_identifier\030\004 \001(\t" - "\022K\n\016instance_class\030\020 \001(\01623.flyteidl.even" - "t.TaskExecutionMetadata.InstanceClass\"/\n" - "\rInstanceClass\022\013\n\007DEFAULT\020\000\022\021\n\rINTERRUPT" - "IBLE\020\001B=Z;github.com/flyteorg/flyte/flyt" - "eidl/gen/pb-go/flyteidl/eventb\006proto3" + "eidl.core.OutputDataH\000\022\025\n\revent_version\030" + "\t \001(\005B\017\n\routput_result\"\241\010\n\022NodeExecution" + "Event\0222\n\002id\030\001 \001(\0132&.flyteidl.core.NodeEx" + "ecutionIdentifier\022\023\n\013producer_id\030\002 \001(\t\0221" + "\n\005phase\030\003 \001(\0162\".flyteidl.core.NodeExecut" + "ion.Phase\022/\n\013occurred_at\030\004 \001(\0132\032.google." + "protobuf.Timestamp\022\023\n\tinput_uri\030\005 \001(\tH\000\022" + ">\n\025deprecated_input_data\030\024 \001(\0132\031.flyteid" + "l.core.LiteralMapB\002\030\001H\000\022.\n\ninput_data\030\030 " + "\001(\0132\030.flyteidl.core.InputDataH\000\022\024\n\noutpu" + "t_uri\030\006 \001(\tH\001\022.\n\005error\030\007 \001(\0132\035.flyteidl." + "core.ExecutionErrorH\001\022\?\n\026deprecated_outp" + "ut_data\030\017 \001(\0132\031.flyteidl.core.LiteralMap" + "B\002\030\001H\001\0220\n\013output_data\030\027 \001(\0132\031.flyteidl.c" + "ore.OutputDataH\001\022F\n\026workflow_node_metada" + "ta\030\010 \001(\0132$.flyteidl.event.WorkflowNodeMe" + "tadataH\002\022>\n\022task_node_metadata\030\016 \001(\0132 .f" + "lyteidl.event.TaskNodeMetadataH\002\022I\n\024pare" + "nt_task_metadata\030\t \001(\0132+.flyteidl.event." + "ParentTaskExecutionMetadata\022I\n\024parent_no" + "de_metadata\030\n \001(\0132+.flyteidl.event.Paren" + "tNodeExecutionMetadata\022\023\n\013retry_group\030\013 " + "\001(\t\022\024\n\014spec_node_id\030\014 \001(\t\022\021\n\tnode_name\030\r" + " \001(\t\022\025\n\revent_version\030\020 \001(\005\022\021\n\tis_parent" + "\030\021 \001(\010\022\022\n\nis_dynamic\030\022 \001(\010\022\020\n\010deck_uri\030\023" + " \001(\t\022/\n\013reported_at\030\025 \001(\0132\032.google.proto" + "buf.Timestamp\022\020\n\010is_array\030\026 \001(\010B\r\n\013input" + "_valueB\017\n\routput_resultB\021\n\017target_metada" + "ta\"X\n\024WorkflowNodeMetadata\022@\n\014execution_" + "id\030\001 \001(\0132*.flyteidl.core.WorkflowExecuti" + "onIdentifier\"\245\002\n\020TaskNodeMetadata\0227\n\014cac" + "he_status\030\001 \001(\0162!.flyteidl.core.CatalogC" + "acheStatus\0223\n\013catalog_key\030\002 \001(\0132\036.flytei" + "dl.core.CatalogMetadata\022D\n\022reservation_s" + "tatus\030\003 \001(\0162(.flyteidl.core.CatalogReser" + "vation.Status\022\026\n\016checkpoint_uri\030\004 \001(\t\022E\n" + "\020dynamic_workflow\030\020 \001(\0132+.flyteidl.event" + ".DynamicWorkflowNodeMetadata\"\245\001\n\033Dynamic" + "WorkflowNodeMetadata\022%\n\002id\030\001 \001(\0132\031.flyte" + "idl.core.Identifier\022A\n\021compiled_workflow" + "\030\002 \001(\0132&.flyteidl.core.CompiledWorkflowC" + "losure\022\034\n\024dynamic_job_spec_uri\030\003 \001(\t\"Q\n\033" + "ParentTaskExecutionMetadata\0222\n\002id\030\001 \001(\0132" + "&.flyteidl.core.TaskExecutionIdentifier\"" + ".\n\033ParentNodeExecutionMetadata\022\017\n\007node_i" + "d\030\001 \001(\t\"N\n\013EventReason\022\016\n\006reason\030\001 \001(\t\022/" + "\n\013occurred_at\030\002 \001(\0132\032.google.protobuf.Ti" + "mestamp\"\271\007\n\022TaskExecutionEvent\022*\n\007task_i" + "d\030\001 \001(\0132\031.flyteidl.core.Identifier\022H\n\030pa" + "rent_node_execution_id\030\002 \001(\0132&.flyteidl." + "core.NodeExecutionIdentifier\022\025\n\rretry_at" + "tempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162\".flyteidl.co" + "re.TaskExecution.Phase\022\023\n\013producer_id\030\005 " + "\001(\t\022$\n\004logs\030\006 \003(\0132\026.flyteidl.core.TaskLo" + "g\022/\n\013occurred_at\030\007 \001(\0132\032.google.protobuf" + ".Timestamp\022\023\n\tinput_uri\030\010 \001(\tH\000\022>\n\025depre" + "cated_input_data\030\023 \001(\0132\031.flyteidl.core.L" + "iteralMapB\002\030\001H\000\022.\n\ninput_data\030\027 \001(\0132\030.fl" + "yteidl.core.InputDataH\000\022\024\n\noutput_uri\030\t " + "\001(\tH\001\022.\n\005error\030\n \001(\0132\035.flyteidl.core.Exe" + "cutionErrorH\001\022\?\n\026deprecated_output_data\030" + "\021 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\001\0220" + "\n\013output_data\030\026 \001(\0132\031.flyteidl.core.Outp" + "utDataH\001\022,\n\013custom_info\030\013 \001(\0132\027.google.p" + "rotobuf.Struct\022\025\n\rphase_version\030\014 \001(\r\022\022\n" + "\006reason\030\r \001(\tB\002\030\001\022,\n\007reasons\030\025 \003(\0132\033.fly" + "teidl.event.EventReason\022\021\n\ttask_type\030\016 \001" + "(\t\0227\n\010metadata\030\020 \001(\0132%.flyteidl.event.Ta" + "skExecutionMetadata\022\025\n\revent_version\030\022 \001" + "(\005\022/\n\013reported_at\030\024 \001(\0132\032.google.protobu" + "f.TimestampB\r\n\013input_valueB\017\n\routput_res" + "ult\"\343\001\n\024ExternalResourceInfo\022\023\n\013external" + "_id\030\001 \001(\t\022\r\n\005index\030\002 \001(\r\022\025\n\rretry_attemp" + "t\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162\".flyteidl.core.T" + "askExecution.Phase\0227\n\014cache_status\030\005 \001(\016" + "2!.flyteidl.core.CatalogCacheStatus\022$\n\004l" + "ogs\030\006 \003(\0132\026.flyteidl.core.TaskLog\"\?\n\020Res" + "ourcePoolInfo\022\030\n\020allocation_token\030\001 \001(\t\022" + "\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025TaskExecutionMeta" + "data\022\026\n\016generated_name\030\001 \001(\t\022@\n\022external" + "_resources\030\002 \003(\0132$.flyteidl.event.Extern" + "alResourceInfo\022<\n\022resource_pool_info\030\003 \003" + "(\0132 .flyteidl.event.ResourcePoolInfo\022\031\n\021" + "plugin_identifier\030\004 \001(\t\022K\n\016instance_clas" + "s\030\020 \001(\01623.flyteidl.event.TaskExecutionMe" + "tadata.InstanceClass\"/\n\rInstanceClass\022\013\n" + "\007DEFAULT\020\000\022\021\n\rINTERRUPTIBLE\020\001B=Z;github." + "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" + "yteidl/eventb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fevent_2fevent_2eproto = { false, InitDefaults_flyteidl_2fevent_2fevent_2eproto, descriptor_table_protodef_flyteidl_2fevent_2fevent_2eproto, - "flyteidl/event/event.proto", &assign_descriptors_table_flyteidl_2fevent_2fevent_2eproto, 4157, + "flyteidl/event/event.proto", &assign_descriptors_table_flyteidl_2fevent_2fevent_2eproto, 4180, }; void AddDescriptors_flyteidl_2fevent_2fevent_2eproto() { @@ -795,6 +797,7 @@ const int WorkflowExecutionEvent::kOutputUriFieldNumber; const int WorkflowExecutionEvent::kErrorFieldNumber; const int WorkflowExecutionEvent::kDeprecatedOutputDataFieldNumber; const int WorkflowExecutionEvent::kOutputDataFieldNumber; +const int WorkflowExecutionEvent::kEventVersionFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 WorkflowExecutionEvent::WorkflowExecutionEvent() @@ -820,7 +823,9 @@ WorkflowExecutionEvent::WorkflowExecutionEvent(const WorkflowExecutionEvent& fro } else { occurred_at_ = nullptr; } - phase_ = from.phase_; + ::memcpy(&phase_, &from.phase_, + static_cast(reinterpret_cast(&event_version_) - + reinterpret_cast(&phase_)) + sizeof(event_version_)); clear_has_output_result(); switch (from.output_result_case()) { case kOutputUri: { @@ -851,8 +856,8 @@ void WorkflowExecutionEvent::SharedCtor() { &scc_info_WorkflowExecutionEvent_flyteidl_2fevent_2fevent_2eproto.base); producer_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&execution_id_, 0, static_cast( - reinterpret_cast(&phase_) - - reinterpret_cast(&execution_id_)) + sizeof(phase_)); + reinterpret_cast(&event_version_) - + reinterpret_cast(&execution_id_)) + sizeof(event_version_)); clear_has_output_result(); } @@ -921,7 +926,9 @@ void WorkflowExecutionEvent::Clear() { delete occurred_at_; } occurred_at_ = nullptr; - phase_ = 0; + ::memset(&phase_, 0, static_cast( + reinterpret_cast(&event_version_) - + reinterpret_cast(&phase_)) + sizeof(event_version_)); clear_output_result(); _internal_metadata_.Clear(); } @@ -1044,6 +1051,13 @@ const char* WorkflowExecutionEvent::_InternalParse(const char* begin, const char {parser_till_end, object}, ptr - size, ptr)); break; } + // int32 event_version = 9; + case 9: { + if (static_cast<::google::protobuf::uint8>(tag) != 72) goto handle_unusual; + msg->set_event_version(::google::protobuf::internal::ReadVarint(&ptr)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1177,6 +1191,19 @@ bool WorkflowExecutionEvent::MergePartialFromCodedStream( break; } + // int32 event_version = 9; + case 9: { + if (static_cast< ::google::protobuf::uint8>(tag) == (72 & 0xFF)) { + + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &event_version_))); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1260,6 +1287,11 @@ void WorkflowExecutionEvent::SerializeWithCachedSizes( 8, HasBitSetters::output_data(this), output); } + // int32 event_version = 9; + if (this->event_version() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(9, this->event_version(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1336,6 +1368,11 @@ ::google::protobuf::uint8* WorkflowExecutionEvent::InternalSerializeWithCachedSi 8, HasBitSetters::output_data(this), target); } + // int32 event_version = 9; + if (this->event_version() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(9, this->event_version(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1384,6 +1421,13 @@ size_t WorkflowExecutionEvent::ByteSizeLong() const { ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase()); } + // int32 event_version = 9; + if (this->event_version() != 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->event_version()); + } + switch (output_result_case()) { // string output_uri = 5; case kOutputUri: { @@ -1457,6 +1501,9 @@ void WorkflowExecutionEvent::MergeFrom(const WorkflowExecutionEvent& from) { if (from.phase() != 0) { set_phase(from.phase()); } + if (from.event_version() != 0) { + set_event_version(from.event_version()); + } switch (from.output_result_case()) { case kOutputUri: { set_output_uri(from.output_uri()); @@ -1510,6 +1557,7 @@ void WorkflowExecutionEvent::InternalSwap(WorkflowExecutionEvent* other) { swap(execution_id_, other->execution_id_); swap(occurred_at_, other->occurred_at_); swap(phase_, other->phase_); + swap(event_version_, other->event_version_); swap(output_result_, other->output_result_); swap(_oneof_case_[0], other->_oneof_case_[0]); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h index 533042c9f2..a2297c6fe2 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/event/event.pb.h @@ -279,6 +279,12 @@ class WorkflowExecutionEvent final : ::flyteidl::core::WorkflowExecution_Phase phase() const; void set_phase(::flyteidl::core::WorkflowExecution_Phase value); + // int32 event_version = 9; + void clear_event_version(); + static const int kEventVersionFieldNumber = 9; + ::google::protobuf::int32 event_version() const; + void set_event_version(::google::protobuf::int32 value); + // string output_uri = 5; private: bool has_output_uri() const; @@ -341,6 +347,7 @@ class WorkflowExecutionEvent final : ::flyteidl::core::WorkflowExecutionIdentifier* execution_id_; ::google::protobuf::Timestamp* occurred_at_; int phase_; + ::google::protobuf::int32 event_version_; union OutputResultUnion { OutputResultUnion() {} ::google::protobuf::internal::ArenaStringPtr output_uri_; @@ -2800,6 +2807,20 @@ inline ::flyteidl::core::OutputData* WorkflowExecutionEvent::mutable_output_data return output_result_.output_data_; } +// int32 event_version = 9; +inline void WorkflowExecutionEvent::clear_event_version() { + event_version_ = 0; +} +inline ::google::protobuf::int32 WorkflowExecutionEvent::event_version() const { + // @@protoc_insertion_point(field_get:flyteidl.event.WorkflowExecutionEvent.event_version) + return event_version_; +} +inline void WorkflowExecutionEvent::set_event_version(::google::protobuf::int32 value) { + + event_version_ = value; + // @@protoc_insertion_point(field_set:flyteidl.event.WorkflowExecutionEvent.event_version) +} + inline bool WorkflowExecutionEvent::has_output_result() const { return output_result_case() != OUTPUT_RESULT_NOT_SET; } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go index 57fc07f4ab..4dc994246f 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go @@ -657,6 +657,7 @@ type ExecutionClosure struct { // *ExecutionClosure_AbortCause // *ExecutionClosure_AbortMetadata // *ExecutionClosure_OutputData + // *ExecutionClosure_FullOutputs OutputResult isExecutionClosure_OutputResult `protobuf_oneof:"output_result"` // Inputs computed and passed for execution. // computed_inputs depends on inputs in ExecutionSpec, fixed and default inputs in launch plan @@ -733,6 +734,10 @@ type ExecutionClosure_OutputData struct { OutputData *core.LiteralMap `protobuf:"bytes,13,opt,name=output_data,json=outputData,proto3,oneof"` } +type ExecutionClosure_FullOutputs struct { + FullOutputs *core.OutputData `protobuf:"bytes,15,opt,name=full_outputs,json=fullOutputs,proto3,oneof"` +} + func (*ExecutionClosure_Outputs) isExecutionClosure_OutputResult() {} func (*ExecutionClosure_Error) isExecutionClosure_OutputResult() {} @@ -743,6 +748,8 @@ func (*ExecutionClosure_AbortMetadata) isExecutionClosure_OutputResult() {} func (*ExecutionClosure_OutputData) isExecutionClosure_OutputResult() {} +func (*ExecutionClosure_FullOutputs) isExecutionClosure_OutputResult() {} + func (m *ExecutionClosure) GetOutputResult() isExecutionClosure_OutputResult { if m != nil { return m.OutputResult @@ -788,6 +795,13 @@ func (m *ExecutionClosure) GetOutputData() *core.LiteralMap { return nil } +func (m *ExecutionClosure) GetFullOutputs() *core.OutputData { + if x, ok := m.GetOutputResult().(*ExecutionClosure_FullOutputs); ok { + return x.FullOutputs + } + return nil +} + // Deprecated: Do not use. func (m *ExecutionClosure) GetComputedInputs() *core.LiteralMap { if m != nil { @@ -860,6 +874,7 @@ func (*ExecutionClosure) XXX_OneofWrappers() []interface{} { (*ExecutionClosure_AbortCause)(nil), (*ExecutionClosure_AbortMetadata)(nil), (*ExecutionClosure_OutputData)(nil), + (*ExecutionClosure_FullOutputs)(nil), } } @@ -1764,122 +1779,123 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/execution.proto", fileDescriptor_4e2785d91b3809ec) } var fileDescriptor_4e2785d91b3809ec = []byte{ - // 1866 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x73, 0xdb, 0xc6, - 0x19, 0x17, 0x5f, 0x12, 0xf5, 0xd1, 0xa2, 0xe8, 0x95, 0x22, 0xc3, 0xb2, 0x63, 0x2b, 0xc8, 0xb4, - 0xf6, 0x24, 0x53, 0x72, 0xea, 0xd4, 0x93, 0x89, 0x53, 0x7b, 0x4c, 0x51, 0x74, 0xa4, 0x54, 0x0f, - 0x77, 0xf5, 0x70, 0x1e, 0x93, 0x41, 0x97, 0xc0, 0x92, 0x44, 0x8d, 0x97, 0x77, 0x17, 0x92, 0x7d, - 0xec, 0xa1, 0x97, 0x9e, 0x7a, 0x6c, 0xff, 0x83, 0x9e, 0x7a, 0xec, 0xa1, 0x7f, 0x5d, 0x06, 0x8b, - 0x05, 0x08, 0x80, 0xd4, 0x6b, 0xac, 0x1b, 0x76, 0xf7, 0xf7, 0x3d, 0xf6, 0xdb, 0xef, 0x09, 0x78, - 0x30, 0x74, 0x3e, 0x08, 0x6a, 0x5b, 0x4e, 0x87, 0x58, 0xae, 0xed, 0x75, 0xe8, 0x7b, 0x6a, 0x86, - 0xc2, 0xf6, 0xbd, 0x76, 0xc0, 0x7c, 0xe1, 0xa3, 0x66, 0x72, 0xde, 0x96, 0xe7, 0xeb, 0x8f, 0x0a, - 0x78, 0xd3, 0x09, 0xb9, 0xa0, 0xcc, 0x20, 0x9c, 0xdb, 0x23, 0xcf, 0xa5, 0x9e, 0x88, 0x09, 0xd7, - 0xef, 0x15, 0x81, 0xbe, 0xeb, 0x26, 0x5c, 0xd7, 0xef, 0xa7, 0x87, 0xa6, 0xcf, 0x68, 0xc7, 0xb1, - 0x05, 0x65, 0xc4, 0xe1, 0xea, 0xf4, 0xd3, 0xfc, 0x69, 0x41, 0xa5, 0xf5, 0x07, 0xf9, 0x63, 0xdb, - 0xa2, 0x9e, 0xb0, 0x87, 0x36, 0x65, 0x53, 0x92, 0xe5, 0xb9, 0x4b, 0x05, 0xb3, 0x4d, 0x3e, 0x5b, - 0x32, 0xa7, 0x66, 0xc8, 0x6c, 0xf1, 0x21, 0x61, 0x3d, 0xf2, 0xfd, 0x91, 0x43, 0x3b, 0x72, 0x35, - 0x08, 0x87, 0x1d, 0x2b, 0x64, 0x24, 0x23, 0xfa, 0x61, 0xf1, 0x5c, 0xd8, 0x2e, 0xe5, 0x82, 0xb8, - 0xc1, 0x79, 0x0c, 0xce, 0x18, 0x09, 0x02, 0xca, 0x94, 0x78, 0xfd, 0x6f, 0x65, 0x58, 0xeb, 0x27, - 0xf7, 0xe9, 0x31, 0x4a, 0x04, 0xc5, 0xf4, 0x5d, 0x48, 0xb9, 0x40, 0x1a, 0x2c, 0x04, 0xcc, 0xff, - 0x2b, 0x35, 0x85, 0x56, 0xda, 0x28, 0x3d, 0x5e, 0xc4, 0xc9, 0x12, 0xad, 0xc1, 0xbc, 0xe5, 0xbb, - 0xc4, 0xf6, 0xb4, 0xb2, 0x3c, 0x50, 0x2b, 0x84, 0xa0, 0xea, 0x11, 0x97, 0x6a, 0x15, 0xb9, 0x2b, - 0xbf, 0xd1, 0xef, 0xa1, 0xca, 0x03, 0x6a, 0x6a, 0xd5, 0x8d, 0xd2, 0xe3, 0xc6, 0x93, 0x4f, 0xdb, - 0xf9, 0xe7, 0x6b, 0xa7, 0xb2, 0x0f, 0x03, 0x6a, 0x62, 0x09, 0x45, 0x4f, 0x61, 0xde, 0xf6, 0x82, - 0x50, 0x70, 0xad, 0x26, 0x89, 0xee, 0x4e, 0x88, 0x22, 0x1b, 0xb5, 0x77, 0xe3, 0xd7, 0xd9, 0x23, - 0xc1, 0x66, 0x59, 0x2b, 0x61, 0x05, 0x46, 0x5f, 0x03, 0xc8, 0x2f, 0xc3, 0x22, 0x82, 0x68, 0xf3, - 0x92, 0x54, 0x2b, 0x90, 0xee, 0x44, 0x80, 0x2d, 0x22, 0x08, 0x5e, 0xb4, 0x93, 0x4f, 0xfd, 0xdf, - 0x25, 0xd0, 0x52, 0x3d, 0x30, 0x75, 0x48, 0xe8, 0x99, 0xe3, 0xc4, 0x0a, 0xcf, 0xa0, 0x6c, 0x5b, - 0xd2, 0x00, 0x8d, 0x27, 0x5f, 0x14, 0xb8, 0xbd, 0xf1, 0xd9, 0xdb, 0xa1, 0xe3, 0x9f, 0xa5, 0xc4, - 0x3b, 0xe9, 0xd3, 0xe3, 0xb2, 0x6d, 0xcd, 0xb4, 0xc7, 0x23, 0x58, 0xf6, 0x4f, 0x29, 0x3b, 0x63, - 0xb6, 0xa0, 0x86, 0x49, 0xcc, 0x31, 0x95, 0xa6, 0xa9, 0xe3, 0x66, 0xba, 0xdd, 0x8b, 0x76, 0xbf, - 0xaf, 0xd6, 0xcb, 0xad, 0x8a, 0xfe, 0x9f, 0x12, 0xdc, 0xc9, 0xe8, 0x66, 0x46, 0xa0, 0x9b, 0x54, - 0xad, 0x9c, 0x51, 0xed, 0x39, 0xd4, 0x5d, 0x2a, 0x88, 0x34, 0x5f, 0x45, 0x72, 0xfd, 0xec, 0xdc, - 0xe7, 0xda, 0x53, 0x40, 0x9c, 0x92, 0xe8, 0xc7, 0x19, 0x4d, 0x13, 0x4f, 0xe2, 0x81, 0xef, 0x71, - 0xfa, 0x31, 0x9a, 0xea, 0x3f, 0xc2, 0xbd, 0x29, 0xc8, 0x77, 0x54, 0xdc, 0x80, 0x11, 0xf4, 0xff, - 0x95, 0x60, 0x31, 0x3d, 0xfb, 0x28, 0x73, 0x26, 0x5e, 0x5e, 0xbe, 0xba, 0x97, 0x3f, 0x83, 0x05, - 0xd3, 0xf1, 0x79, 0xc8, 0xa8, 0x32, 0xf6, 0xc6, 0xb9, 0x54, 0xbd, 0x18, 0x87, 0x13, 0x02, 0xfd, - 0x2f, 0xb0, 0x94, 0x1e, 0xee, 0xda, 0x5c, 0xa0, 0x6f, 0x00, 0xd2, 0xac, 0xc4, 0xb5, 0xd2, 0x46, - 0x25, 0x1f, 0x36, 0x05, 0x7e, 0x38, 0x03, 0x46, 0xab, 0x50, 0x13, 0xfe, 0x5b, 0x9a, 0xc4, 0x72, - 0xbc, 0xd0, 0x29, 0x34, 0x33, 0x61, 0xe6, 0xf8, 0x03, 0xf4, 0x35, 0xcc, 0x9f, 0x12, 0x27, 0xa4, - 0x5c, 0x99, 0xe8, 0xe2, 0xa8, 0xdc, 0x9e, 0xc3, 0x0a, 0x8e, 0x10, 0x54, 0x42, 0x66, 0xc7, 0xec, - 0xb7, 0xe7, 0x70, 0xb4, 0xd8, 0x9c, 0x87, 0xaa, 0xf4, 0x99, 0x1e, 0x2c, 0x75, 0x07, 0x3e, 0x13, - 0x89, 0x3b, 0x45, 0xda, 0x98, 0x24, 0xe4, 0x54, 0xa5, 0x9c, 0x78, 0x81, 0xee, 0xc3, 0x62, 0xc0, - 0x6c, 0xcf, 0xb4, 0x03, 0xe2, 0x28, 0x3d, 0x27, 0x1b, 0xfa, 0xbf, 0x16, 0xa0, 0x55, 0xb4, 0x15, - 0x7a, 0x01, 0x0b, 0x7e, 0x28, 0x64, 0x16, 0x89, 0xf5, 0x7d, 0x50, 0x34, 0x47, 0xfe, 0x7e, 0x4a, - 0xe9, 0x84, 0x08, 0x3d, 0x85, 0x1a, 0x65, 0xcc, 0x67, 0xd3, 0x4f, 0x2a, 0x6f, 0x9b, 0xca, 0xeb, - 0x47, 0xa0, 0xed, 0x39, 0x1c, 0xa3, 0xd1, 0x6f, 0xa0, 0x41, 0xa2, 0x0b, 0x19, 0xf1, 0x2d, 0x20, - 0xd2, 0x55, 0xb1, 0x06, 0x79, 0xd0, 0x93, 0x17, 0x7a, 0x05, 0xcd, 0x18, 0x96, 0x06, 0xdc, 0xad, - 0xd9, 0x9e, 0x93, 0xb3, 0xce, 0xf6, 0x1c, 0x5e, 0x22, 0x39, 0x73, 0xbd, 0x84, 0x46, 0xac, 0x70, - 0x9c, 0xf4, 0x96, 0xae, 0xf6, 0x32, 0x10, 0xd3, 0x44, 0xc9, 0x0f, 0xbd, 0x82, 0x65, 0xd3, 0x77, - 0x83, 0x50, 0x50, 0xcb, 0x50, 0x59, 0xb7, 0x72, 0x95, 0xac, 0xdb, 0x4c, 0xa8, 0x76, 0xe2, 0xec, - 0xfb, 0x47, 0xa8, 0x05, 0x63, 0xc2, 0xe3, 0x6c, 0xd6, 0x7c, 0xf2, 0xdb, 0xcb, 0x02, 0xa8, 0xfd, - 0x3a, 0x42, 0xe3, 0x98, 0x28, 0xf2, 0x5f, 0x2e, 0x08, 0x8b, 0x94, 0x20, 0x42, 0xa5, 0xfd, 0xf5, - 0x76, 0x5c, 0xbb, 0xda, 0x49, 0xed, 0x6a, 0x1f, 0x25, 0xc5, 0x0d, 0x2f, 0x2a, 0x74, 0x57, 0xa0, - 0xa7, 0x50, 0x4f, 0x8a, 0xa2, 0x4a, 0xfa, 0x77, 0xa7, 0x08, 0xb7, 0x14, 0x00, 0xa7, 0xd0, 0x48, - 0xa2, 0x29, 0x93, 0x94, 0x94, 0xb8, 0x70, 0xb9, 0x44, 0x85, 0xee, 0xca, 0x60, 0x0b, 0x03, 0x2b, - 0x21, 0xad, 0x5f, 0x4e, 0xaa, 0xd0, 0x5d, 0x81, 0x36, 0x61, 0xc9, 0xf3, 0xa3, 0xbc, 0x61, 0x92, - 0x38, 0x54, 0x17, 0x65, 0xa8, 0xde, 0x2f, 0x3e, 0xfb, 0x7e, 0x06, 0x84, 0xf3, 0x24, 0xe8, 0x19, - 0x34, 0xce, 0x94, 0x35, 0x0d, 0xdb, 0xd2, 0x1a, 0x33, 0x5f, 0x2b, 0x93, 0x9f, 0x20, 0x41, 0xef, - 0x58, 0xe8, 0x17, 0x58, 0xe5, 0x82, 0x44, 0x95, 0x67, 0x4c, 0xbc, 0x11, 0x35, 0x2c, 0x2a, 0x88, - 0xed, 0x70, 0xad, 0x29, 0x99, 0x7c, 0x79, 0x7e, 0xde, 0x8a, 0x88, 0x7a, 0x92, 0x66, 0x2b, 0x26, - 0xc1, 0x88, 0x4f, 0xed, 0x6d, 0x2e, 0xc3, 0x92, 0x72, 0x47, 0x46, 0x79, 0xe8, 0x08, 0xfd, 0x67, - 0x68, 0x1e, 0x7e, 0xe0, 0x82, 0xba, 0xa9, 0xc7, 0x7e, 0x09, 0xb7, 0xd3, 0xe4, 0x63, 0xa8, 0x66, - 0x4d, 0x05, 0x7b, 0x8b, 0x4e, 0x82, 0x58, 0xee, 0x47, 0x71, 0x1f, 0x55, 0x26, 0x1e, 0x10, 0x33, - 0x29, 0x55, 0x93, 0x0d, 0xfd, 0xff, 0x55, 0xb8, 0x3d, 0x55, 0x90, 0x50, 0x0f, 0xaa, 0xae, 0x6f, - 0xc5, 0x09, 0xa4, 0xf9, 0xa4, 0x73, 0x69, 0x05, 0xcb, 0xec, 0xf8, 0x16, 0xc5, 0x92, 0xf8, 0xe2, - 0x84, 0x13, 0x75, 0x46, 0x1e, 0xe5, 0xc2, 0xf6, 0x46, 0x32, 0x56, 0x96, 0x70, 0xb2, 0x44, 0xcf, - 0xe1, 0x16, 0x37, 0xc7, 0xd4, 0x0a, 0x9d, 0xd8, 0x39, 0xaa, 0x97, 0x3a, 0x47, 0x23, 0xc5, 0x77, - 0x05, 0xfa, 0x09, 0x3e, 0x09, 0x08, 0xa3, 0x9e, 0x30, 0x3c, 0xdf, 0xa2, 0x46, 0x6a, 0x0f, 0x15, - 0x11, 0xc5, 0xa0, 0xda, 0xf7, 0x2d, 0x3a, 0xab, 0x22, 0xad, 0xc4, 0x4c, 0x72, 0xc7, 0xe8, 0x67, - 0x58, 0x61, 0x74, 0x48, 0x19, 0xf5, 0xcc, 0x2c, 0xe7, 0xd6, 0xb5, 0xeb, 0x1d, 0x4a, 0xd9, 0x4c, - 0x98, 0x7f, 0x07, 0xcb, 0x5c, 0xbe, 0xf3, 0x24, 0xa1, 0xdd, 0x9e, 0x9d, 0x75, 0xf3, 0xee, 0x80, - 0x9b, 0x3c, 0xb7, 0xd6, 0x47, 0x99, 0xca, 0x16, 0xbd, 0x07, 0x02, 0x98, 0xdf, 0xeb, 0xee, 0x1f, - 0x77, 0x77, 0x5b, 0x73, 0x68, 0x09, 0x16, 0x0f, 0x7b, 0xdb, 0xfd, 0xad, 0xe3, 0xdd, 0xfe, 0x56, - 0xab, 0x14, 0x1d, 0x1d, 0xfe, 0x78, 0x78, 0xd4, 0xdf, 0x6b, 0x95, 0xd1, 0x2d, 0xa8, 0xe3, 0xfe, - 0x6e, 0xf7, 0x78, 0xbf, 0xb7, 0xdd, 0xaa, 0x20, 0x04, 0xcd, 0xde, 0xf6, 0xce, 0xee, 0x96, 0xf1, - 0xe6, 0x00, 0xff, 0xe9, 0xd5, 0xee, 0xc1, 0x9b, 0x56, 0x35, 0x22, 0xc6, 0xfd, 0xde, 0xc1, 0x49, - 0x1f, 0xf7, 0xb7, 0x5a, 0x35, 0xfd, 0x04, 0x5a, 0xd9, 0x20, 0x93, 0x55, 0x74, 0x2a, 0x3a, 0x4b, - 0xd7, 0x8e, 0x4e, 0xfd, 0x9f, 0xf5, 0xcc, 0x0d, 0x0e, 0xe3, 0x42, 0xdf, 0x88, 0x5b, 0x4a, 0x23, - 0x70, 0x88, 0x77, 0x4e, 0xf5, 0xcc, 0xc6, 0x6b, 0x8c, 0x7e, 0xed, 0x10, 0x2f, 0xd3, 0x0a, 0x97, - 0xaf, 0xd3, 0x0a, 0x7f, 0x5c, 0x27, 0x87, 0xb6, 0x8b, 0x76, 0xa8, 0xcd, 0x6e, 0x50, 0x8a, 0x06, - 0x8c, 0xea, 0x53, 0x3e, 0x57, 0x7d, 0x06, 0x0d, 0xcb, 0xe6, 0x64, 0xe0, 0x50, 0x83, 0x38, 0x8e, - 0xcc, 0xcf, 0xf5, 0xa8, 0x00, 0xa9, 0xcd, 0xae, 0xe3, 0xa0, 0x36, 0xcc, 0x3b, 0x64, 0x40, 0x1d, - 0xae, 0x92, 0xf0, 0xda, 0x54, 0x9d, 0x96, 0xa7, 0x58, 0xa1, 0xd0, 0x73, 0x68, 0x10, 0xcf, 0xf3, - 0x85, 0x52, 0x2d, 0x4e, 0xbf, 0xf7, 0xa6, 0xea, 0xe6, 0x04, 0x82, 0xb3, 0x78, 0xb4, 0x03, 0xad, - 0x64, 0xc6, 0x32, 0x4c, 0xdf, 0x13, 0xf4, 0xbd, 0x90, 0x55, 0x3a, 0xe7, 0xaa, 0xd2, 0xb6, 0x87, - 0x0a, 0xd6, 0x8b, 0x51, 0x78, 0x99, 0xe7, 0x37, 0xd0, 0x37, 0xb0, 0x48, 0x42, 0x31, 0x36, 0x98, - 0xef, 0x50, 0x15, 0x47, 0xda, 0x94, 0x1e, 0xa1, 0x18, 0x63, 0xdf, 0xa1, 0xf2, 0x79, 0xea, 0x44, - 0xad, 0xd0, 0x1e, 0xa0, 0x77, 0x21, 0x71, 0x22, 0x25, 0xfc, 0xa1, 0xc1, 0x29, 0x3b, 0xb5, 0x4d, - 0xaa, 0x42, 0xe6, 0x61, 0x41, 0x8f, 0x3f, 0xc7, 0xc0, 0x83, 0xe1, 0x61, 0x0c, 0xc3, 0xad, 0x77, - 0x85, 0x9d, 0x68, 0xa8, 0x70, 0xc9, 0x7b, 0x23, 0x20, 0x8c, 0x38, 0x0e, 0x75, 0x6c, 0xee, 0x6a, - 0x68, 0xa3, 0xf4, 0xb8, 0x86, 0x9b, 0x2e, 0x79, 0xff, 0x7a, 0xb2, 0x8b, 0x7e, 0x80, 0x35, 0x46, - 0xce, 0x8c, 0x4c, 0xcf, 0x10, 0x19, 0x61, 0x68, 0x8f, 0xb4, 0x15, 0x29, 0xfb, 0xf3, 0xa2, 0xfe, - 0x98, 0x9c, 0x1d, 0xa4, 0xcd, 0x42, 0x4f, 0x42, 0xf1, 0x0a, 0x9b, 0xde, 0x44, 0xaf, 0x01, 0x4d, - 0x8f, 0xde, 0xda, 0xea, 0x6c, 0xe7, 0x53, 0xf9, 0xbd, 0x9b, 0x02, 0xf1, 0x6d, 0xb3, 0xb8, 0x85, - 0x5e, 0xc2, 0x92, 0xed, 0x09, 0xca, 0x58, 0x18, 0x08, 0x7b, 0xe0, 0x50, 0xed, 0x93, 0x73, 0x92, - 0xe9, 0xa6, 0xef, 0x3b, 0x27, 0x51, 0xaf, 0x89, 0xf3, 0x04, 0xb3, 0x66, 0xad, 0xb5, 0x59, 0xb3, - 0x16, 0x7a, 0x0c, 0x55, 0xea, 0x9d, 0x72, 0xed, 0x8e, 0x94, 0xb0, 0x3a, 0x15, 0x2b, 0xde, 0x29, - 0xc7, 0x12, 0x11, 0xcd, 0x4d, 0x82, 0x8c, 0xb8, 0xa6, 0x6d, 0x54, 0xa2, 0xb9, 0x29, 0xfa, 0xde, - 0xd4, 0x60, 0x2d, 0xeb, 0xf5, 0x46, 0xc4, 0x9c, 0xd9, 0x16, 0xe5, 0xdf, 0x57, 0xeb, 0xd5, 0x56, - 0x4d, 0x77, 0xe1, 0x6e, 0x1a, 0x6d, 0x47, 0x94, 0xb9, 0xb6, 0x97, 0x99, 0xb2, 0x3f, 0x66, 0xea, - 0x48, 0x9b, 0xe5, 0x72, 0xa6, 0x59, 0xd6, 0xef, 0xc3, 0xfa, 0x2c, 0x71, 0xf1, 0x28, 0xa6, 0xff, - 0x02, 0x0f, 0x67, 0x8d, 0x53, 0x72, 0x26, 0xbe, 0x81, 0x91, 0xea, 0xef, 0x15, 0xd8, 0x38, 0x9f, - 0xbf, 0x1a, 0x07, 0x9f, 0x16, 0x7b, 0xf3, 0x3b, 0x45, 0x8b, 0x1f, 0x33, 0x27, 0x69, 0xca, 0x27, - 0x2d, 0xf9, 0x57, 0x85, 0x64, 0x78, 0x21, 0x55, 0x92, 0x0a, 0x5f, 0x40, 0x63, 0x18, 0x3a, 0xce, - 0xb5, 0x7a, 0x5b, 0x88, 0x28, 0x54, 0x5f, 0xfb, 0x12, 0x6e, 0x49, 0xfa, 0x44, 0xe1, 0xea, 0x55, - 0x18, 0x48, 0x91, 0x07, 0x4a, 0xed, 0xfc, 0x7f, 0x89, 0xda, 0x95, 0xff, 0x4b, 0x44, 0x85, 0x23, - 0xdb, 0xdc, 0xcf, 0xcf, 0x94, 0x3c, 0x09, 0xc4, 0x6c, 0x5b, 0xaf, 0xff, 0xa3, 0x94, 0xf9, 0xaf, - 0x73, 0x2c, 0xfb, 0xcf, 0x9b, 0xf0, 0xb8, 0x3f, 0x40, 0x4d, 0xb6, 0x7d, 0xf2, 0x05, 0x9a, 0xd3, - 0xd5, 0x3d, 0xdf, 0x30, 0xe2, 0x18, 0xac, 0xff, 0xb7, 0x04, 0xf7, 0x2e, 0x68, 0x25, 0x27, 0x5c, - 0x4b, 0xd7, 0xe0, 0x8a, 0xbe, 0x85, 0x86, 0x6f, 0x9a, 0x21, 0x63, 0x71, 0xab, 0x55, 0xbe, 0xb4, - 0xd5, 0x82, 0x04, 0xde, 0x15, 0xf9, 0x06, 0xaf, 0x52, 0x9c, 0x28, 0xef, 0x66, 0x7e, 0x65, 0x24, - 0xc6, 0x53, 0xf1, 0x73, 0x0a, 0xfa, 0x2c, 0xff, 0xde, 0x8b, 0x7f, 0xea, 0xdd, 0x50, 0x54, 0x5b, - 0x34, 0x10, 0x63, 0x79, 0xa3, 0x1a, 0x8e, 0x17, 0xfa, 0x3e, 0x7c, 0x7e, 0xa1, 0x5c, 0x15, 0x5a, - 0x8f, 0xa0, 0xca, 0x83, 0xb4, 0xcb, 0x58, 0x29, 0x96, 0xb4, 0x80, 0x78, 0x58, 0x02, 0xbe, 0x78, - 0x01, 0xcd, 0xbc, 0x59, 0xd1, 0x2a, 0xb4, 0xfa, 0x3f, 0xf4, 0x7b, 0xc7, 0x47, 0x3b, 0x07, 0xfb, - 0x46, 0xb7, 0x77, 0xb4, 0x73, 0xd2, 0x6f, 0xcd, 0xa1, 0x35, 0x40, 0x99, 0x5d, 0xdc, 0xdb, 0xde, - 0x39, 0x89, 0x9a, 0xaf, 0xcd, 0xe7, 0x3f, 0x7d, 0x3b, 0xb2, 0xc5, 0x38, 0x1c, 0xb4, 0x4d, 0xdf, - 0xed, 0x48, 0x31, 0x3e, 0x1b, 0xc5, 0x1f, 0x9d, 0xf4, 0x9f, 0xe6, 0x88, 0x7a, 0x9d, 0x60, 0xf0, - 0xbb, 0x91, 0xdf, 0xc9, 0xff, 0x7d, 0x1d, 0xcc, 0xcb, 0xf7, 0xf9, 0xea, 0xd7, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xe4, 0xe1, 0x0e, 0x1e, 0xef, 0x15, 0x00, 0x00, + // 1884 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4b, 0x73, 0xdb, 0xc8, + 0x11, 0x16, 0x5f, 0x12, 0xd5, 0xb4, 0x28, 0x7a, 0xa4, 0x95, 0x61, 0xd9, 0x6b, 0x6b, 0xb1, 0x95, + 0xd8, 0xb5, 0x5b, 0x21, 0x2b, 0xde, 0xb8, 0xb6, 0xd6, 0x1b, 0xbb, 0x4c, 0x51, 0xf4, 0x52, 0x1b, + 0x3d, 0x9c, 0xd1, 0xc3, 0xfb, 0xa8, 0x2d, 0x64, 0x04, 0x8c, 0x28, 0xc4, 0x20, 0x00, 0xcf, 0x0c, + 0x24, 0xfb, 0x98, 0x43, 0x2e, 0x39, 0xe5, 0x9a, 0x7f, 0x90, 0x53, 0x8e, 0x39, 0xe4, 0x97, 0xe4, + 0xe7, 0x6c, 0xcd, 0x60, 0x00, 0x02, 0x20, 0xf5, 0x2a, 0xeb, 0x86, 0x99, 0xfe, 0xba, 0xa7, 0xa7, + 0xa7, 0x9f, 0x80, 0x07, 0xc7, 0xde, 0x07, 0x41, 0x5d, 0xc7, 0xeb, 0x10, 0x67, 0xe4, 0xfa, 0x1d, + 0xfa, 0x9e, 0xda, 0x91, 0x70, 0x03, 0xbf, 0x1d, 0xb2, 0x40, 0x04, 0xa8, 0x99, 0xd0, 0xdb, 0x8a, + 0xbe, 0xfa, 0xa8, 0x80, 0xb7, 0xbd, 0x88, 0x0b, 0xca, 0x2c, 0xc2, 0xb9, 0x3b, 0xf4, 0x47, 0xd4, + 0x17, 0x31, 0xe3, 0xea, 0xbd, 0x22, 0x30, 0x18, 0x8d, 0x12, 0xa9, 0xab, 0xf7, 0x53, 0xa2, 0x1d, + 0x30, 0xda, 0xf1, 0x5c, 0x41, 0x19, 0xf1, 0xb8, 0xa6, 0x7e, 0x9a, 0xa7, 0x16, 0x54, 0x5a, 0x7d, + 0x90, 0x27, 0xbb, 0x0e, 0xf5, 0x85, 0x7b, 0xec, 0x52, 0x36, 0x71, 0xb2, 0xa2, 0x8f, 0xa8, 0x60, + 0xae, 0xcd, 0xa7, 0x9f, 0xcc, 0xa9, 0x1d, 0x31, 0x57, 0x7c, 0x48, 0x44, 0x0f, 0x83, 0x60, 0xe8, + 0xd1, 0x8e, 0x5a, 0x1d, 0x45, 0xc7, 0x1d, 0x27, 0x62, 0x24, 0x73, 0xf4, 0xc3, 0x22, 0x5d, 0xb8, + 0x23, 0xca, 0x05, 0x19, 0x85, 0xe7, 0x09, 0x38, 0x63, 0x24, 0x0c, 0x29, 0xd3, 0xc7, 0x9b, 0x7f, + 0x2b, 0xc3, 0x4a, 0x3f, 0xb9, 0x4f, 0x8f, 0x51, 0x22, 0x28, 0xa6, 0xef, 0x22, 0xca, 0x05, 0x32, + 0x60, 0x2e, 0x64, 0xc1, 0x5f, 0xa9, 0x2d, 0x8c, 0xd2, 0x5a, 0xe9, 0xf1, 0x3c, 0x4e, 0x96, 0x68, + 0x05, 0x66, 0x9d, 0x60, 0x44, 0x5c, 0xdf, 0x28, 0x2b, 0x82, 0x5e, 0x21, 0x04, 0x55, 0x9f, 0x8c, + 0xa8, 0x51, 0x51, 0xbb, 0xea, 0x1b, 0xfd, 0x1e, 0xaa, 0x3c, 0xa4, 0xb6, 0x51, 0x5d, 0x2b, 0x3d, + 0x6e, 0x3c, 0xf9, 0xb4, 0x9d, 0x7f, 0xbe, 0x76, 0x7a, 0xf6, 0x5e, 0x48, 0x6d, 0xac, 0xa0, 0xe8, + 0x29, 0xcc, 0xba, 0x7e, 0x18, 0x09, 0x6e, 0xd4, 0x14, 0xd3, 0xdd, 0x31, 0x93, 0xb4, 0x51, 0x7b, + 0x2b, 0x7e, 0x9d, 0x6d, 0x12, 0xae, 0x97, 0x8d, 0x12, 0xd6, 0x60, 0xf4, 0x35, 0x80, 0xfa, 0xb2, + 0x1c, 0x22, 0x88, 0x31, 0xab, 0x58, 0x8d, 0x02, 0xeb, 0xa6, 0x04, 0x6c, 0x10, 0x41, 0xf0, 0xbc, + 0x9b, 0x7c, 0x9a, 0xff, 0x2a, 0x81, 0x91, 0xea, 0x81, 0xa9, 0x47, 0x22, 0xdf, 0x3e, 0x49, 0xac, + 0xf0, 0x0c, 0xca, 0xae, 0xa3, 0x0c, 0xd0, 0x78, 0xf2, 0x45, 0x41, 0xda, 0x9b, 0x80, 0xbd, 0x3d, + 0xf6, 0x82, 0xb3, 0x94, 0x79, 0x33, 0x7d, 0x7a, 0x5c, 0x76, 0x9d, 0xa9, 0xf6, 0x78, 0x04, 0x8b, + 0xc1, 0x29, 0x65, 0x67, 0xcc, 0x15, 0xd4, 0xb2, 0x89, 0x7d, 0x42, 0x95, 0x69, 0xea, 0xb8, 0x99, + 0x6e, 0xf7, 0xe4, 0xee, 0xf7, 0xd5, 0x7a, 0xb9, 0x55, 0x31, 0xff, 0x5d, 0x82, 0x3b, 0x19, 0xdd, + 0x6c, 0x09, 0xba, 0x49, 0xd5, 0xca, 0x19, 0xd5, 0x9e, 0x43, 0x7d, 0x44, 0x05, 0x51, 0xe6, 0xab, + 0x28, 0xa9, 0x9f, 0x9d, 0xfb, 0x5c, 0xdb, 0x1a, 0x88, 0x53, 0x16, 0xf3, 0x20, 0xa3, 0x69, 0xe2, + 0x49, 0x3c, 0x0c, 0x7c, 0x4e, 0x3f, 0x46, 0x53, 0xf3, 0x47, 0xb8, 0x37, 0x01, 0xf9, 0x8e, 0x8a, + 0x1b, 0x30, 0x82, 0xf9, 0xdf, 0x12, 0xcc, 0xa7, 0xb4, 0x8f, 0x32, 0x67, 0xe2, 0xe5, 0xe5, 0xab, + 0x7b, 0xf9, 0x33, 0x98, 0xb3, 0xbd, 0x80, 0x47, 0x8c, 0x6a, 0x63, 0xaf, 0x9d, 0xcb, 0xd5, 0x8b, + 0x71, 0x38, 0x61, 0x30, 0xff, 0x02, 0x0b, 0x29, 0x71, 0xcb, 0xe5, 0x02, 0x7d, 0x03, 0x90, 0x66, + 0x25, 0x6e, 0x94, 0xd6, 0x2a, 0xf9, 0xb0, 0x29, 0xc8, 0xc3, 0x19, 0x30, 0x5a, 0x86, 0x9a, 0x08, + 0xde, 0xd2, 0x24, 0x96, 0xe3, 0x85, 0x49, 0xa1, 0x99, 0x09, 0x33, 0x2f, 0x38, 0x42, 0x5f, 0xc3, + 0xec, 0x29, 0xf1, 0x22, 0xca, 0xb5, 0x89, 0x2e, 0x8e, 0xca, 0xc1, 0x0c, 0xd6, 0x70, 0x84, 0xa0, + 0x12, 0x31, 0x37, 0x16, 0x3f, 0x98, 0xc1, 0x72, 0xb1, 0x3e, 0x0b, 0x55, 0xe5, 0x33, 0x3d, 0x58, + 0xe8, 0x1e, 0x05, 0x4c, 0x24, 0xee, 0x24, 0xb5, 0xb1, 0x49, 0xc4, 0xa9, 0x4e, 0x39, 0xf1, 0x02, + 0xdd, 0x87, 0xf9, 0x90, 0xb9, 0xbe, 0xed, 0x86, 0xc4, 0xd3, 0x7a, 0x8e, 0x37, 0xcc, 0xff, 0xcf, + 0x41, 0xab, 0x68, 0x2b, 0xf4, 0x02, 0xe6, 0x82, 0x48, 0xa8, 0x2c, 0x12, 0xeb, 0xfb, 0xa0, 0x68, + 0x8e, 0xfc, 0xfd, 0xb4, 0xd2, 0x09, 0x13, 0x7a, 0x0a, 0x35, 0xca, 0x58, 0xc0, 0x26, 0x9f, 0x54, + 0xdd, 0x36, 0x3d, 0xaf, 0x2f, 0x41, 0x83, 0x19, 0x1c, 0xa3, 0xd1, 0x6f, 0xa0, 0x41, 0xe4, 0x85, + 0xac, 0xf8, 0x16, 0x20, 0x75, 0xd5, 0xa2, 0x41, 0x11, 0x7a, 0xea, 0x42, 0xaf, 0xa0, 0x19, 0xc3, + 0xd2, 0x80, 0xbb, 0x35, 0xdd, 0x73, 0x72, 0xd6, 0x19, 0xcc, 0xe0, 0x05, 0x92, 0x33, 0xd7, 0x4b, + 0x68, 0xc4, 0x0a, 0xc7, 0x49, 0x6f, 0xe1, 0x6a, 0x2f, 0x03, 0x31, 0x8f, 0x4c, 0x7e, 0xe8, 0x05, + 0xdc, 0x3a, 0x8e, 0x3c, 0xcf, 0x4a, 0x8c, 0xb5, 0x38, 0x55, 0xc4, 0x6e, 0xca, 0x30, 0x98, 0xc1, + 0x0d, 0xc9, 0xb0, 0xab, 0xed, 0xf4, 0x0a, 0x16, 0xed, 0x60, 0x14, 0x46, 0x82, 0x3a, 0x96, 0xce, + 0xda, 0x95, 0xab, 0x64, 0xed, 0x66, 0xc2, 0xb5, 0x19, 0x67, 0xef, 0x3f, 0x42, 0x2d, 0x3c, 0x21, + 0x3c, 0xce, 0x86, 0xcd, 0x27, 0xbf, 0xbd, 0x2c, 0x00, 0xdb, 0xaf, 0x25, 0x1a, 0xc7, 0x4c, 0xd2, + 0xff, 0xb9, 0x20, 0x4c, 0x2a, 0x41, 0x84, 0x2e, 0x1b, 0xab, 0xed, 0xb8, 0xf6, 0xb5, 0x93, 0xda, + 0xd7, 0xde, 0x4f, 0x8a, 0x23, 0x9e, 0xd7, 0xe8, 0xae, 0x40, 0x4f, 0xa1, 0x9e, 0x14, 0x55, 0x5d, + 0x34, 0xee, 0x4e, 0x30, 0x6e, 0x68, 0x00, 0x4e, 0xa1, 0xf2, 0x44, 0x5b, 0x25, 0x39, 0x75, 0xe2, + 0xdc, 0xe5, 0x27, 0x6a, 0x74, 0x57, 0x05, 0x6b, 0x14, 0x3a, 0x09, 0x6b, 0xfd, 0x72, 0x56, 0x8d, + 0xee, 0x0a, 0xb4, 0x0e, 0x0b, 0x7e, 0x20, 0xf3, 0x8e, 0x4d, 0xe2, 0x50, 0x9f, 0x57, 0xa1, 0x7e, + 0xbf, 0xe8, 0x36, 0x3b, 0x19, 0x10, 0xce, 0xb3, 0xa0, 0x67, 0xd0, 0x38, 0xd3, 0xd6, 0xb4, 0x5c, + 0xc7, 0x68, 0x4c, 0x7d, 0xad, 0x4c, 0x7e, 0x83, 0x04, 0xbd, 0xe9, 0xa0, 0x5f, 0x60, 0x99, 0x0b, + 0x22, 0x2b, 0xd7, 0x09, 0xf1, 0x87, 0xd4, 0x72, 0xa8, 0x20, 0xae, 0xc7, 0x8d, 0xa6, 0x12, 0xf2, + 0xe5, 0xf9, 0x79, 0x4f, 0x32, 0xf5, 0x14, 0xcf, 0x46, 0xcc, 0x82, 0x11, 0x9f, 0xd8, 0x5b, 0x5f, + 0x84, 0x05, 0xed, 0xce, 0x8c, 0xf2, 0xc8, 0x13, 0xe6, 0xcf, 0xd0, 0xdc, 0xfb, 0xc0, 0x05, 0x1d, + 0xa5, 0x1e, 0xff, 0x25, 0xdc, 0x4e, 0x93, 0x97, 0xa5, 0x9b, 0x3d, 0x9d, 0x2c, 0x5a, 0x74, 0x9c, + 0x04, 0xd4, 0xbe, 0xcc, 0x1b, 0xb2, 0xb2, 0xf1, 0x90, 0xd8, 0x49, 0xa9, 0x1b, 0x6f, 0x98, 0xff, + 0xab, 0xc2, 0xed, 0x89, 0x82, 0x86, 0x7a, 0x50, 0x1d, 0x05, 0x4e, 0x9c, 0x80, 0x9a, 0x4f, 0x3a, + 0x97, 0x56, 0xc0, 0xcc, 0x4e, 0xe0, 0x50, 0xac, 0x98, 0x2f, 0x4e, 0x58, 0xb2, 0xb3, 0xf2, 0x29, + 0x17, 0xae, 0x3f, 0x54, 0xb1, 0xb2, 0x80, 0x93, 0x25, 0x7a, 0x0e, 0xb7, 0xb8, 0x7d, 0x42, 0x9d, + 0xc8, 0x8b, 0x9d, 0xa3, 0x7a, 0xa9, 0x73, 0x34, 0x52, 0x7c, 0x57, 0xa0, 0x9f, 0xe0, 0x93, 0x90, + 0x30, 0xea, 0x0b, 0xcb, 0x0f, 0x1c, 0x6a, 0xa5, 0xf6, 0xd0, 0x11, 0x51, 0x0c, 0xaa, 0x9d, 0xc0, + 0xa1, 0xd3, 0x2a, 0xda, 0x52, 0x2c, 0x24, 0x47, 0x46, 0x3f, 0xc3, 0x12, 0xa3, 0xc7, 0x94, 0x51, + 0xdf, 0xce, 0x4a, 0x6e, 0x5d, 0xbb, 0x5e, 0xa2, 0x54, 0xcc, 0x58, 0xf8, 0x77, 0xb0, 0xc8, 0xd5, + 0x3b, 0x8f, 0x13, 0xe2, 0xed, 0xe9, 0x59, 0x3b, 0xef, 0x0e, 0xb8, 0xc9, 0x73, 0x6b, 0x73, 0x98, + 0xa9, 0x8c, 0xf2, 0x3d, 0x10, 0xc0, 0xec, 0x76, 0x77, 0xe7, 0xa0, 0xbb, 0xd5, 0x9a, 0x41, 0x0b, + 0x30, 0xbf, 0xd7, 0x1b, 0xf4, 0x37, 0x0e, 0xb6, 0xfa, 0x1b, 0xad, 0x92, 0x24, 0xed, 0xfd, 0xb8, + 0xb7, 0xdf, 0xdf, 0x6e, 0x95, 0xd1, 0x2d, 0xa8, 0xe3, 0xfe, 0x56, 0xf7, 0x60, 0xa7, 0x37, 0x68, + 0x55, 0x10, 0x82, 0x66, 0x6f, 0xb0, 0xb9, 0xb5, 0x61, 0xbd, 0xd9, 0xc5, 0x7f, 0x7a, 0xb5, 0xb5, + 0xfb, 0xa6, 0x55, 0x95, 0xcc, 0xb8, 0xdf, 0xdb, 0x3d, 0xec, 0xe3, 0xfe, 0x46, 0xab, 0x66, 0x1e, + 0x42, 0x2b, 0x1b, 0x64, 0xaa, 0x0a, 0x4f, 0x44, 0x67, 0xe9, 0xda, 0xd1, 0x69, 0xfe, 0xb3, 0x9e, + 0xb9, 0xc1, 0x5e, 0xdc, 0x28, 0x34, 0xe2, 0x96, 0xd4, 0x0a, 0x3d, 0xe2, 0x9f, 0x53, 0x7d, 0xb3, + 0xf1, 0x1a, 0xa3, 0x5f, 0x7b, 0xc4, 0xcf, 0xb4, 0xd2, 0xe5, 0xeb, 0xb4, 0xd2, 0x1f, 0xd7, 0x09, + 0xa2, 0x41, 0xd1, 0x0e, 0xb5, 0xe9, 0x0d, 0x4e, 0xd1, 0x80, 0xb2, 0xbe, 0xe5, 0x73, 0xd5, 0x67, + 0xd0, 0x70, 0x5c, 0x4e, 0x8e, 0x3c, 0x6a, 0x11, 0xcf, 0x53, 0xf9, 0xb9, 0x2e, 0x0b, 0x98, 0xde, + 0xec, 0x7a, 0x1e, 0x6a, 0xc3, 0xac, 0x47, 0x8e, 0xa8, 0xc7, 0x75, 0x12, 0x5e, 0x99, 0xa8, 0xf3, + 0x8a, 0x8a, 0x35, 0x0a, 0x3d, 0x87, 0x06, 0xf1, 0xfd, 0x40, 0x68, 0xd5, 0xe2, 0xf4, 0x7b, 0x6f, + 0xa2, 0xee, 0x8e, 0x21, 0x38, 0x8b, 0x47, 0x9b, 0xd0, 0x4a, 0x66, 0x34, 0xcb, 0x0e, 0x7c, 0x41, + 0xdf, 0x0b, 0x55, 0xe5, 0x73, 0xae, 0xaa, 0x6c, 0xbb, 0xa7, 0x61, 0xbd, 0x18, 0x85, 0x17, 0x79, + 0x7e, 0x03, 0x7d, 0x03, 0xf3, 0x24, 0x12, 0x27, 0x16, 0x0b, 0x3c, 0xaa, 0xe3, 0xc8, 0x98, 0xd0, + 0x23, 0x12, 0x27, 0x38, 0xf0, 0xa8, 0x7a, 0x9e, 0x3a, 0xd1, 0x2b, 0xb4, 0x0d, 0xe8, 0x5d, 0x44, + 0x3c, 0xa9, 0x44, 0x70, 0x6c, 0x71, 0xca, 0x4e, 0x5d, 0x9b, 0xea, 0x90, 0x79, 0x58, 0xd0, 0xe3, + 0xcf, 0x31, 0x70, 0xf7, 0x78, 0x2f, 0x86, 0xe1, 0xd6, 0xbb, 0xc2, 0x8e, 0x1c, 0x4a, 0x46, 0xe4, + 0xbd, 0x15, 0x12, 0x46, 0x3c, 0x8f, 0x7a, 0x2e, 0x1f, 0x19, 0x68, 0xad, 0xf4, 0xb8, 0x86, 0x9b, + 0x23, 0xf2, 0xfe, 0xf5, 0x78, 0x17, 0xfd, 0x00, 0x2b, 0x8c, 0x9c, 0x59, 0x99, 0x9e, 0x43, 0x1a, + 0xe1, 0xd8, 0x1d, 0x1a, 0x4b, 0xea, 0xec, 0xcf, 0x8b, 0xfa, 0x63, 0x72, 0x36, 0xee, 0x1d, 0x7a, + 0x0a, 0x8a, 0x97, 0xd8, 0xe4, 0x26, 0x7a, 0x0d, 0x68, 0x72, 0x74, 0x37, 0x96, 0xa7, 0x3b, 0x9f, + 0xce, 0xef, 0xdd, 0x14, 0x88, 0x6f, 0xdb, 0xc5, 0x2d, 0xf4, 0x12, 0x16, 0x5c, 0x5f, 0x50, 0xc6, + 0xa2, 0x50, 0xb8, 0x47, 0x1e, 0x35, 0x3e, 0x39, 0x27, 0x99, 0xae, 0x07, 0x81, 0x77, 0x28, 0x7b, + 0x55, 0x9c, 0x67, 0x98, 0x36, 0xab, 0xad, 0x4c, 0x9b, 0xd5, 0xd0, 0x63, 0xa8, 0x52, 0xff, 0x94, + 0x1b, 0x77, 0xd4, 0x09, 0xcb, 0x13, 0xb1, 0xe2, 0x9f, 0x72, 0xac, 0x10, 0x72, 0xee, 0x12, 0x64, + 0xc8, 0x0d, 0x63, 0xad, 0x22, 0xe7, 0x2e, 0xf9, 0xbd, 0x6e, 0xc0, 0x4a, 0xd6, 0xeb, 0x2d, 0x29, + 0x9c, 0xb9, 0x0e, 0xe5, 0xdf, 0x57, 0xeb, 0xd5, 0x56, 0xcd, 0x1c, 0xc1, 0xdd, 0x34, 0xda, 0xf6, + 0x29, 0x1b, 0xb9, 0x7e, 0x66, 0x4a, 0xff, 0x98, 0xa9, 0x25, 0x6d, 0xb6, 0xcb, 0x99, 0x66, 0xdb, + 0xbc, 0x0f, 0xab, 0xd3, 0x8e, 0x8b, 0x47, 0x39, 0xf3, 0x17, 0x78, 0x38, 0x6d, 0x1c, 0x53, 0x33, + 0xf5, 0x0d, 0x8c, 0x64, 0x7f, 0xaf, 0xc0, 0xda, 0xf9, 0xf2, 0xf5, 0x38, 0xf9, 0xb4, 0xd8, 0xdb, + 0xdf, 0x29, 0x5a, 0xfc, 0x80, 0x79, 0x49, 0x53, 0x3f, 0x6e, 0xe9, 0xbf, 0x2a, 0x24, 0xc3, 0x0b, + 0xb9, 0x92, 0x54, 0xf8, 0x02, 0x54, 0xbb, 0x7b, 0xad, 0xde, 0x16, 0x24, 0x87, 0xee, 0x6b, 0x5f, + 0x16, 0xfa, 0xeb, 0xea, 0x55, 0x04, 0xe4, 0x3a, 0xec, 0xfc, 0x7f, 0x8d, 0xda, 0x95, 0xff, 0x6b, + 0xc8, 0xc2, 0x91, 0x1d, 0x0e, 0x66, 0x2f, 0xe9, 0xec, 0xb3, 0x63, 0x81, 0xf9, 0x8f, 0x52, 0xe6, + 0xbf, 0xd0, 0x81, 0xea, 0x3f, 0x6f, 0xc2, 0xe3, 0xfe, 0x00, 0x35, 0xd5, 0xf6, 0xa9, 0x17, 0x68, + 0x4e, 0x56, 0xf7, 0x7c, 0xc3, 0x88, 0x63, 0xb0, 0xf9, 0x9f, 0x12, 0xdc, 0xbb, 0xa0, 0x95, 0x1c, + 0x4b, 0x2d, 0x5d, 0x43, 0x2a, 0xfa, 0x16, 0x1a, 0x81, 0x6d, 0x47, 0x8c, 0xc5, 0xad, 0x56, 0xf9, + 0xd2, 0x56, 0x0b, 0x12, 0x78, 0x57, 0xe4, 0x1b, 0xbc, 0x4a, 0x71, 0x22, 0xbd, 0x9b, 0xf9, 0x15, + 0x92, 0x18, 0x4f, 0xc7, 0xcf, 0x29, 0x98, 0xd3, 0xfc, 0x7b, 0x3b, 0xfe, 0x29, 0x78, 0x43, 0x51, + 0xed, 0xd0, 0x50, 0x9c, 0xa8, 0x1b, 0xd5, 0x70, 0xbc, 0x30, 0x77, 0xe0, 0xf3, 0x0b, 0xcf, 0xd5, + 0xa1, 0xf5, 0x08, 0xaa, 0x3c, 0x4c, 0xbb, 0x8c, 0xa5, 0x62, 0x49, 0x0b, 0x89, 0x8f, 0x15, 0xe0, + 0x8b, 0x17, 0xd0, 0xcc, 0x9b, 0x15, 0x2d, 0x43, 0xab, 0xff, 0x43, 0xbf, 0x77, 0xb0, 0xbf, 0xb9, + 0xbb, 0x63, 0x75, 0x7b, 0xfb, 0x9b, 0x87, 0xfd, 0xd6, 0x0c, 0x5a, 0x01, 0x94, 0xd9, 0xc5, 0xbd, + 0xc1, 0xe6, 0xa1, 0x6c, 0xbe, 0xd6, 0x9f, 0xff, 0xf4, 0xed, 0xd0, 0x15, 0x27, 0xd1, 0x51, 0xdb, + 0x0e, 0x46, 0x1d, 0x75, 0x4c, 0xc0, 0x86, 0xf1, 0x47, 0x27, 0xfd, 0x27, 0x3a, 0xa4, 0x7e, 0x27, + 0x3c, 0xfa, 0xdd, 0x30, 0xe8, 0xe4, 0xff, 0xde, 0x1e, 0xcd, 0xaa, 0xf7, 0xf9, 0xea, 0xd7, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x0c, 0x97, 0x37, 0x3a, 0x2f, 0x16, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go index bf3c4b24c2..1c7f044ca4 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.validate.go @@ -945,6 +945,18 @@ func (m *ExecutionClosure) Validate() error { } } + case *ExecutionClosure_FullOutputs: + + if v, ok := interface{}(m.GetFullOutputs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExecutionClosureValidationError{ + field: "FullOutputs", + reason: "embedded message failed validation", + cause: err, + } + } + } + } return nil diff --git a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go index c4d1facfdf..94dc5ff216 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go @@ -456,6 +456,7 @@ type NodeExecutionClosure struct { // *NodeExecutionClosure_OutputUri // *NodeExecutionClosure_Error // *NodeExecutionClosure_OutputData + // *NodeExecutionClosure_FullOutputs OutputResult isNodeExecutionClosure_OutputResult `protobuf_oneof:"output_result"` // The last recorded phase for this node execution. Phase core.NodeExecution_Phase `protobuf:"varint,3,opt,name=phase,proto3,enum=flyteidl.core.NodeExecution_Phase" json:"phase,omitempty"` @@ -526,12 +527,18 @@ type NodeExecutionClosure_OutputData struct { OutputData *core.LiteralMap `protobuf:"bytes,10,opt,name=output_data,json=outputData,proto3,oneof"` } +type NodeExecutionClosure_FullOutputs struct { + FullOutputs *core.OutputData `protobuf:"bytes,13,opt,name=full_outputs,json=fullOutputs,proto3,oneof"` +} + func (*NodeExecutionClosure_OutputUri) isNodeExecutionClosure_OutputResult() {} func (*NodeExecutionClosure_Error) isNodeExecutionClosure_OutputResult() {} func (*NodeExecutionClosure_OutputData) isNodeExecutionClosure_OutputResult() {} +func (*NodeExecutionClosure_FullOutputs) isNodeExecutionClosure_OutputResult() {} + func (m *NodeExecutionClosure) GetOutputResult() isNodeExecutionClosure_OutputResult { if m != nil { return m.OutputResult @@ -562,6 +569,13 @@ func (m *NodeExecutionClosure) GetOutputData() *core.LiteralMap { return nil } +func (m *NodeExecutionClosure) GetFullOutputs() *core.OutputData { + if x, ok := m.GetOutputResult().(*NodeExecutionClosure_FullOutputs); ok { + return x.FullOutputs + } + return nil +} + func (m *NodeExecutionClosure) GetPhase() core.NodeExecution_Phase { if m != nil { return m.Phase @@ -654,6 +668,7 @@ func (*NodeExecutionClosure) XXX_OneofWrappers() []interface{} { (*NodeExecutionClosure_OutputUri)(nil), (*NodeExecutionClosure_Error)(nil), (*NodeExecutionClosure_OutputData)(nil), + (*NodeExecutionClosure_FullOutputs)(nil), (*NodeExecutionClosure_WorkflowNodeMetadata)(nil), (*NodeExecutionClosure_TaskNodeMetadata)(nil), } @@ -992,83 +1007,84 @@ func init() { } var fileDescriptor_f73b3eae493fd736 = []byte{ - // 1243 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdb, 0x6e, 0x1c, 0x45, - 0x10, 0xcd, 0xd8, 0xb1, 0xbd, 0x5b, 0x6b, 0xaf, 0xed, 0xc6, 0x21, 0x9b, 0x38, 0x17, 0x33, 0x49, - 0x90, 0x01, 0x65, 0x57, 0x72, 0x14, 0x08, 0x20, 0x42, 0x7c, 0xc9, 0xc5, 0xe0, 0x90, 0xd0, 0xce, - 0x82, 0x84, 0x10, 0xa3, 0xde, 0x99, 0xf6, 0xba, 0xd9, 0xd9, 0xe9, 0x49, 0x77, 0x8f, 0xcc, 0x7e, - 0x07, 0x4f, 0xfc, 0x0a, 0x4f, 0x7c, 0x01, 0xbf, 0x81, 0xc4, 0x07, 0xf0, 0x8c, 0xfa, 0x32, 0x63, - 0xcf, 0x78, 0xe2, 0x44, 0xe1, 0x81, 0xb7, 0xed, 0xaa, 0x53, 0x55, 0x5d, 0xd5, 0xa7, 0xaa, 0x66, - 0xe1, 0xc6, 0x41, 0x3c, 0x51, 0x94, 0x45, 0x71, 0x8f, 0x44, 0x63, 0x96, 0xf4, 0x12, 0x1e, 0xd1, - 0x80, 0xfe, 0x42, 0xc3, 0x4c, 0x31, 0x9e, 0x74, 0x53, 0xc1, 0x15, 0x47, 0xed, 0x1c, 0xd4, 0x35, - 0xa0, 0xcb, 0xab, 0x15, 0xa3, 0x90, 0x8f, 0xc7, 0x39, 0xf8, 0xf2, 0xd5, 0x42, 0x19, 0x72, 0x41, - 0x7b, 0x15, 0x5f, 0x27, 0x6c, 0x8d, 0x3a, 0x24, 0x8a, 0xc4, 0x7c, 0xe8, 0x94, 0x57, 0x2a, 0x4a, - 0x3e, 0x4e, 0x59, 0x4c, 0x85, 0xd3, 0x5e, 0x2b, 0x6b, 0x59, 0x44, 0x13, 0xc5, 0x0e, 0x58, 0xa1, - 0xaf, 0x58, 0xc7, 0x4c, 0x51, 0x41, 0x62, 0xe9, 0xb4, 0xd7, 0x87, 0x9c, 0x0f, 0x63, 0xda, 0x33, - 0xa7, 0x41, 0x76, 0xd0, 0x53, 0x6c, 0x4c, 0xa5, 0x22, 0xe3, 0x34, 0x77, 0x5f, 0x05, 0x44, 0x99, - 0x20, 0xc7, 0x37, 0xf7, 0xbf, 0x85, 0x8b, 0xdf, 0xf0, 0x88, 0x3e, 0xcc, 0x13, 0x7a, 0x4c, 0x15, - 0xa6, 0x2f, 0x33, 0x2a, 0x15, 0xfa, 0x18, 0xa6, 0x58, 0xd4, 0xf1, 0xd6, 0xbc, 0xf5, 0xd6, 0xc6, - 0xfb, 0xdd, 0xa2, 0x5a, 0xfa, 0x1a, 0xdd, 0x92, 0xcd, 0x6e, 0x71, 0x67, 0x3c, 0xc5, 0x22, 0xff, - 0xb7, 0x29, 0xe8, 0x94, 0xf4, 0x7b, 0x4c, 0x16, 0x4e, 0x7f, 0x82, 0x0b, 0x47, 0x5c, 0x8c, 0x0e, - 0x62, 0x7e, 0x74, 0xfc, 0x22, 0x41, 0x11, 0xe7, 0xc3, 0x4a, 0x9c, 0xef, 0x1d, 0xb6, 0x2e, 0xd6, - 0x3b, 0x47, 0xa7, 0x95, 0x68, 0x05, 0x66, 0x62, 0x36, 0x66, 0xaa, 0x33, 0xb5, 0xe6, 0xad, 0x2f, - 0x60, 0x7b, 0xd0, 0x52, 0xc5, 0x47, 0x34, 0xe9, 0x4c, 0xaf, 0x79, 0xeb, 0x4d, 0x6c, 0x0f, 0xa8, - 0x03, 0x73, 0x07, 0x2c, 0x56, 0x54, 0xc8, 0xce, 0x79, 0x23, 0xcf, 0x8f, 0xe8, 0x36, 0xcc, 0x49, - 0x2e, 0x54, 0x30, 0x98, 0x74, 0x66, 0xcc, 0xbd, 0x56, 0xba, 0x65, 0xb6, 0x74, 0xf7, 0xb9, 0x50, - 0x78, 0x56, 0x83, 0xb6, 0x26, 0x68, 0x1d, 0x96, 0xb2, 0x84, 0xbd, 0xcc, 0x68, 0x90, 0x12, 0x41, - 0x13, 0xa5, 0xf3, 0x99, 0x35, 0x1e, 0xdb, 0x56, 0xfe, 0xdc, 0x88, 0x77, 0x23, 0xff, 0x6f, 0x0f, - 0xae, 0x97, 0x6a, 0xf3, 0x88, 0x8b, 0x17, 0x44, 0x8e, 0x4e, 0x96, 0x08, 0xc3, 0xb2, 0x22, 0x72, - 0x54, 0x57, 0x9e, 0xea, 0x33, 0x68, 0xd3, 0xba, 0xd2, 0x2c, 0xaa, 0xb2, 0xe2, 0x7f, 0x29, 0x8b, - 0xff, 0x97, 0x07, 0x0b, 0xa5, 0x64, 0xdf, 0x96, 0x52, 0x68, 0x15, 0x9a, 0x2c, 0x49, 0x33, 0x15, - 0x64, 0x82, 0x99, 0x14, 0x9a, 0xb8, 0x61, 0x04, 0x7d, 0xc1, 0xd0, 0x7d, 0x98, 0x0b, 0x63, 0x2e, - 0x33, 0x41, 0x4d, 0x1e, 0xad, 0x8d, 0x9b, 0xd5, 0x5b, 0x95, 0x5c, 0x6f, 0x5b, 0x2c, 0xce, 0x8d, - 0xd0, 0x26, 0x34, 0xc6, 0x54, 0x91, 0x88, 0x28, 0x62, 0x12, 0x6e, 0x6d, 0xdc, 0x3a, 0xd3, 0xc1, - 0x53, 0xaa, 0xc8, 0x0e, 0x51, 0x04, 0x17, 0x66, 0xfe, 0xef, 0x1e, 0x5c, 0xa8, 0xc5, 0xa0, 0xeb, - 0xd0, 0x12, 0x54, 0x89, 0x49, 0x30, 0x14, 0x3c, 0x4b, 0x4d, 0xea, 0x4d, 0x0c, 0x46, 0xf4, 0x58, - 0x4b, 0xd0, 0x4d, 0x68, 0x33, 0x99, 0xf3, 0x46, 0x0f, 0x2a, 0x93, 0x5f, 0x03, 0xcf, 0x33, 0x69, - 0x59, 0xa3, 0xfd, 0xa2, 0x35, 0x98, 0x97, 0x29, 0x0d, 0x0d, 0x40, 0xd3, 0xc1, 0x3e, 0x18, 0x68, - 0x99, 0xd6, 0xef, 0x46, 0xe8, 0x2a, 0x00, 0x93, 0x41, 0x34, 0x49, 0xc8, 0x98, 0x85, 0x26, 0x8f, - 0x06, 0x6e, 0x32, 0xb9, 0x63, 0x05, 0xe8, 0x12, 0x34, 0x98, 0x0c, 0x88, 0x10, 0xc4, 0xbe, 0x5d, - 0x03, 0xcf, 0x31, 0xb9, 0xa9, 0x8f, 0xfe, 0x4b, 0x58, 0x3e, 0xd5, 0xae, 0xe8, 0x11, 0x2c, 0x96, - 0xa7, 0xa6, 0xec, 0x78, 0x6b, 0xd3, 0xeb, 0xad, 0x8d, 0xab, 0x67, 0xd6, 0x06, 0xb7, 0x93, 0x93, - 0x47, 0x79, 0x4c, 0xb1, 0xa9, 0x13, 0x14, 0xf3, 0xff, 0x99, 0x81, 0x95, 0xba, 0x47, 0x41, 0x37, - 0x00, 0x78, 0xa6, 0xf2, 0x97, 0x36, 0xd5, 0xda, 0x9a, 0xea, 0x78, 0x4f, 0xce, 0xe1, 0xa6, 0x95, - 0xeb, 0x07, 0xbf, 0x0b, 0x33, 0x54, 0x08, 0x2e, 0x8c, 0xcf, 0xd2, 0x8d, 0x0c, 0x91, 0x0a, 0xa7, - 0x0f, 0x35, 0xe8, 0xc9, 0x39, 0x6c, 0xd1, 0xe8, 0x01, 0xb4, 0x9c, 0x6f, 0xf3, 0xd4, 0x60, 0x8c, - 0x2f, 0x55, 0x8c, 0xf7, 0xec, 0x7c, 0x7d, 0x4a, 0x52, 0x17, 0xd7, 0xdd, 0xc7, 0x3c, 0xe6, 0x3d, - 0x98, 0x49, 0x0f, 0x89, 0xb4, 0x3c, 0x6b, 0x6f, 0xf8, 0x67, 0x31, 0xb8, 0xfb, 0x5c, 0x23, 0xb1, - 0x35, 0x40, 0x9f, 0x02, 0x48, 0x45, 0x84, 0xa2, 0x51, 0x40, 0x94, 0x63, 0xd9, 0xe5, 0xae, 0x9d, - 0xcd, 0xdd, 0x7c, 0x36, 0x77, 0x5f, 0xe4, 0xc3, 0x1b, 0x37, 0x1d, 0x7a, 0x53, 0xa1, 0xbb, 0xd0, - 0xc8, 0x67, 0xb6, 0xeb, 0xba, 0x4b, 0xa7, 0x0c, 0x77, 0x1c, 0x00, 0x17, 0x50, 0x1d, 0x31, 0x14, - 0x94, 0xb8, 0x88, 0xb3, 0xaf, 0x8f, 0xe8, 0xd0, 0x9b, 0x4a, 0x9b, 0x66, 0x69, 0x94, 0x9b, 0xce, - 0xbd, 0xde, 0xd4, 0xa1, 0x37, 0x15, 0xfa, 0x11, 0xde, 0x2d, 0xc6, 0xbb, 0xe1, 0x4f, 0xd1, 0x59, - 0x8d, 0xfa, 0xd6, 0xcc, 0x07, 0xbc, 0xae, 0xdd, 0x53, 0x87, 0x7d, 0xe2, 0xe1, 0x95, 0xa3, 0x1a, - 0x39, 0x7a, 0x0e, 0xc8, 0x4c, 0xc6, 0xb2, 0xe7, 0xa6, 0xf1, 0xbc, 0x56, 0xf5, 0xac, 0x67, 0x63, - 0xc5, 0xeb, 0x92, 0xaa, 0xc8, 0x74, 0x5b, 0x44, 0x34, 0x1c, 0x19, 0xb6, 0xb5, 0xec, 0xb0, 0xd3, - 0x67, 0xcd, 0xb2, 0x1e, 0xac, 0xb8, 0x6e, 0x0a, 0x7e, 0xe6, 0x83, 0xc0, 0xb4, 0x9f, 0x86, 0xcd, - 0x1b, 0xd8, 0xb2, 0xd3, 0x7d, 0xc5, 0x07, 0xfb, 0x29, 0x0d, 0xfb, 0x82, 0x6d, 0x2d, 0xc2, 0x82, - 0xe3, 0x97, 0xa0, 0x32, 0x8b, 0xd5, 0xd6, 0x32, 0x2c, 0x2a, 0x22, 0x86, 0x54, 0x15, 0x77, 0xf5, - 0x23, 0x58, 0xa9, 0xcb, 0x18, 0xed, 0x41, 0x8b, 0x1e, 0xcf, 0xbe, 0xb7, 0x58, 0x86, 0x27, 0xcd, - 0xfd, 0x3f, 0x3c, 0x58, 0xaa, 0xa6, 0x8f, 0x76, 0x60, 0x3e, 0x24, 0xe1, 0x21, 0x0d, 0xa4, 0x22, - 0x2a, 0x93, 0x26, 0x46, 0x7b, 0xe3, 0xbd, 0x4a, 0x8c, 0x6d, 0xfb, 0xe9, 0xb2, 0xad, 0x91, 0xfb, - 0x06, 0x88, 0x5b, 0xe1, 0xf1, 0x01, 0x7d, 0x09, 0x2d, 0xf7, 0x75, 0x13, 0x8c, 0xe8, 0xc4, 0x75, - 0xe0, 0xb5, 0x7a, 0x27, 0x79, 0x68, 0x0c, 0xce, 0xe4, 0x6b, 0x3a, 0x41, 0xb7, 0xa0, 0x1d, 0x1e, - 0xd2, 0x70, 0x94, 0x72, 0x96, 0xd8, 0x2e, 0xb7, 0x4b, 0x66, 0xe1, 0x58, 0xda, 0x17, 0xcc, 0xff, - 0xd3, 0x83, 0x55, 0x37, 0xbb, 0x6a, 0x0b, 0xf6, 0xc1, 0x89, 0x4d, 0x52, 0xed, 0xe1, 0xca, 0xf2, - 0xd8, 0x87, 0x65, 0xf7, 0xcd, 0x15, 0x05, 0x39, 0xad, 0xdc, 0xc5, 0xab, 0x3b, 0x68, 0xdb, 0xe1, - 0xf2, 0x90, 0xf9, 0xae, 0x58, 0x0a, 0x2b, 0x8a, 0x57, 0xb2, 0x63, 0xfa, 0x15, 0xec, 0xf0, 0xfb, - 0xb0, 0x5a, 0xfd, 0xd0, 0x32, 0x4b, 0xe4, 0x3f, 0x7e, 0x6c, 0xfd, 0x7a, 0x1e, 0xae, 0xd4, 0xfb, - 0x95, 0x29, 0x4f, 0x24, 0x45, 0x77, 0x60, 0xd6, 0x6c, 0x4a, 0xe9, 0x9c, 0x5f, 0xac, 0xf6, 0x49, - 0x5f, 0xc4, 0x5b, 0x31, 0x1f, 0xe8, 0x71, 0x87, 0x1d, 0x14, 0xdd, 0x85, 0x39, 0x4b, 0x65, 0xe9, - 0x0a, 0x75, 0xa6, 0x55, 0x8e, 0x45, 0xf7, 0xa1, 0x75, 0x90, 0xc5, 0x71, 0xe0, 0x02, 0x4e, 0xbf, - 0xc1, 0x84, 0xc5, 0xa0, 0x2d, 0x76, 0x6d, 0xd8, 0x07, 0x30, 0x6f, 0xec, 0xf3, 0xd8, 0xe7, 0xdf, - 0xc4, 0x81, 0x09, 0xf9, 0xcc, 0xdd, 0xe0, 0x13, 0x00, 0xfb, 0xa1, 0x60, 0x26, 0x83, 0x1d, 0x97, - 0x9d, 0x2a, 0x3d, 0x12, 0x37, 0xcf, 0xb1, 0xfd, 0xa8, 0x30, 0xa3, 0xfd, 0xb3, 0xf2, 0x72, 0x98, - 0xad, 0x8d, 0xfc, 0xac, 0x58, 0x05, 0xa5, 0xb5, 0xf0, 0x1d, 0x2c, 0xe5, 0x5c, 0x28, 0xf8, 0xb5, - 0x64, 0x1c, 0x7c, 0x54, 0x2d, 0xdb, 0x19, 0x94, 0xc6, 0x8b, 0x51, 0x59, 0x89, 0xee, 0x01, 0x18, - 0xf3, 0x20, 0x13, 0xb1, 0xec, 0x2c, 0x57, 0xaf, 0x64, 0x3d, 0x3e, 0xd2, 0xc7, 0x3e, 0xde, 0x93, - 0xb8, 0x69, 0x34, 0x7d, 0x11, 0xcb, 0xad, 0x2f, 0x7e, 0xf8, 0x7c, 0xc8, 0xd4, 0x61, 0x36, 0xe8, - 0x86, 0x7c, 0xdc, 0x33, 0x72, 0x2e, 0x86, 0xf6, 0x47, 0xaf, 0xf8, 0x43, 0x31, 0xa4, 0x49, 0x2f, - 0x1d, 0xdc, 0x1e, 0xf2, 0x5e, 0xf9, 0xaf, 0xcf, 0x60, 0xd6, 0x0c, 0xf9, 0x3b, 0xff, 0x06, 0x00, - 0x00, 0xff, 0xff, 0x3c, 0x36, 0xc6, 0x10, 0x48, 0x0d, 0x00, 0x00, + // 1257 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdb, 0x72, 0x1b, 0x45, + 0x13, 0x8e, 0xe4, 0x58, 0x96, 0x5a, 0xb6, 0x6c, 0xcf, 0xef, 0xfc, 0x51, 0xe2, 0x1c, 0x8c, 0x92, + 0x50, 0x06, 0x2a, 0x52, 0x95, 0x53, 0x81, 0x00, 0x45, 0x88, 0x0f, 0x49, 0x6c, 0x70, 0x20, 0x8c, + 0x23, 0xa8, 0xa2, 0x28, 0xb6, 0x46, 0xbb, 0x63, 0x79, 0xd0, 0x6a, 0x67, 0x33, 0x33, 0x5b, 0x46, + 0xcf, 0xc1, 0x15, 0x2f, 0xc2, 0x05, 0x57, 0x3c, 0x01, 0xaf, 0x41, 0x15, 0x4f, 0x41, 0xcd, 0x61, + 0xd7, 0xde, 0x89, 0x62, 0xa7, 0xc2, 0x05, 0x77, 0x9a, 0xee, 0xaf, 0xbb, 0xa7, 0x7b, 0xba, 0xbf, + 0x5e, 0xc1, 0xad, 0xc3, 0x78, 0xa2, 0x28, 0x8b, 0xe2, 0x1e, 0x89, 0xc6, 0x2c, 0xe9, 0x25, 0x3c, + 0xa2, 0x01, 0xfd, 0x99, 0x86, 0x99, 0x62, 0x3c, 0xe9, 0xa6, 0x82, 0x2b, 0x8e, 0x5a, 0x39, 0xa8, + 0x6b, 0x40, 0x57, 0x57, 0x3d, 0xa3, 0x90, 0x8f, 0xc7, 0x39, 0xf8, 0xea, 0xf5, 0x42, 0x19, 0x72, + 0x41, 0x7b, 0x9e, 0xaf, 0x53, 0xb6, 0x46, 0x1d, 0x12, 0x45, 0x62, 0x3e, 0x74, 0xca, 0x6b, 0x9e, + 0x92, 0x8f, 0x53, 0x16, 0x53, 0xe1, 0xb4, 0x37, 0xca, 0x5a, 0x16, 0xd1, 0x44, 0xb1, 0x43, 0x56, + 0xe8, 0x3d, 0xeb, 0x98, 0x29, 0x2a, 0x48, 0x2c, 0x9d, 0xf6, 0xe6, 0x90, 0xf3, 0x61, 0x4c, 0x7b, + 0xe6, 0x34, 0xc8, 0x0e, 0x7b, 0x8a, 0x8d, 0xa9, 0x54, 0x64, 0x9c, 0xe6, 0xee, 0x7d, 0x40, 0x94, + 0x09, 0x72, 0x72, 0xf3, 0xce, 0x37, 0x70, 0xf9, 0x2b, 0x1e, 0xd1, 0xc7, 0x79, 0x42, 0x4f, 0xa9, + 0xc2, 0xf4, 0x65, 0x46, 0xa5, 0x42, 0x1f, 0x42, 0x95, 0x45, 0xed, 0xca, 0x5a, 0x65, 0xbd, 0xb9, + 0xf1, 0x6e, 0xb7, 0xa8, 0x96, 0xbe, 0x46, 0xb7, 0x64, 0xb3, 0x57, 0xdc, 0x19, 0x57, 0x59, 0xd4, + 0xf9, 0xb5, 0x0a, 0xed, 0x92, 0x7e, 0x9f, 0xc9, 0xc2, 0xe9, 0x8f, 0x70, 0xe9, 0x98, 0x8b, 0xd1, + 0x61, 0xcc, 0x8f, 0x4f, 0x5e, 0x24, 0x28, 0xe2, 0xbc, 0xef, 0xc5, 0xf9, 0xce, 0x61, 0xa7, 0xc5, + 0xfa, 0xdf, 0xf1, 0xab, 0x4a, 0xb4, 0x02, 0xb3, 0x31, 0x1b, 0x33, 0xd5, 0xae, 0xae, 0x55, 0xd6, + 0x17, 0xb0, 0x3d, 0x68, 0xa9, 0xe2, 0x23, 0x9a, 0xb4, 0x67, 0xd6, 0x2a, 0xeb, 0x0d, 0x6c, 0x0f, + 0xa8, 0x0d, 0x73, 0x87, 0x2c, 0x56, 0x54, 0xc8, 0xf6, 0x45, 0x23, 0xcf, 0x8f, 0xe8, 0x2e, 0xcc, + 0x49, 0x2e, 0x54, 0x30, 0x98, 0xb4, 0x67, 0xcd, 0xbd, 0x56, 0xba, 0xe5, 0x6e, 0xe9, 0x1e, 0x70, + 0xa1, 0x70, 0x4d, 0x83, 0xb6, 0x26, 0x68, 0x1d, 0x96, 0xb2, 0x84, 0xbd, 0xcc, 0x68, 0x90, 0x12, + 0x41, 0x13, 0xa5, 0xf3, 0xa9, 0x19, 0x8f, 0x2d, 0x2b, 0x7f, 0x6e, 0xc4, 0x7b, 0x51, 0xe7, 0xef, + 0x0a, 0xdc, 0x2c, 0xd5, 0xe6, 0x09, 0x17, 0x2f, 0x88, 0x1c, 0x9d, 0x2e, 0x11, 0x86, 0x65, 0x45, + 0xe4, 0x68, 0x5a, 0x79, 0xfc, 0x67, 0xd0, 0xa6, 0xd3, 0x4a, 0xb3, 0xa8, 0xca, 0x8a, 0xff, 0xa4, + 0x2c, 0x9d, 0xbf, 0x2a, 0xb0, 0x50, 0x4a, 0xf6, 0x6d, 0x5b, 0x0a, 0xad, 0x42, 0x83, 0x25, 0x69, + 0xa6, 0x82, 0x4c, 0x30, 0x93, 0x42, 0x03, 0xd7, 0x8d, 0xa0, 0x2f, 0x18, 0x7a, 0x08, 0x73, 0x61, + 0xcc, 0x65, 0x26, 0xa8, 0xc9, 0xa3, 0xb9, 0x71, 0xdb, 0xbf, 0x55, 0xc9, 0xf5, 0xb6, 0xc5, 0xe2, + 0xdc, 0x08, 0x6d, 0x42, 0x7d, 0x4c, 0x15, 0x89, 0x88, 0x22, 0x26, 0xe1, 0xe6, 0xc6, 0x9d, 0x33, + 0x1d, 0x3c, 0xa3, 0x8a, 0xec, 0x10, 0x45, 0x70, 0x61, 0xd6, 0xf9, 0xbd, 0x02, 0x97, 0xa6, 0x62, + 0xd0, 0x4d, 0x68, 0x0a, 0xaa, 0xc4, 0x24, 0x18, 0x0a, 0x9e, 0xa5, 0x26, 0xf5, 0x06, 0x06, 0x23, + 0x7a, 0xaa, 0x25, 0xe8, 0x36, 0xb4, 0x98, 0xcc, 0xfb, 0x46, 0x13, 0x95, 0xc9, 0xaf, 0x8e, 0xe7, + 0x99, 0xb4, 0x5d, 0xa3, 0xfd, 0xa2, 0x35, 0x98, 0x97, 0x29, 0x0d, 0x0d, 0x40, 0xb7, 0x83, 0x7d, + 0x30, 0xd0, 0x32, 0xad, 0xdf, 0x8b, 0xd0, 0x75, 0x00, 0x26, 0x83, 0x68, 0x92, 0x90, 0x31, 0x0b, + 0x4d, 0x1e, 0x75, 0xdc, 0x60, 0x72, 0xc7, 0x0a, 0xd0, 0x15, 0xa8, 0x33, 0x19, 0x10, 0x21, 0x88, + 0x7d, 0xbb, 0x3a, 0x9e, 0x63, 0x72, 0x53, 0x1f, 0x3b, 0x2f, 0x61, 0xf9, 0x95, 0x71, 0x45, 0x4f, + 0x60, 0xb1, 0xcc, 0x9a, 0xb2, 0x5d, 0x59, 0x9b, 0x59, 0x6f, 0x6e, 0x5c, 0x3f, 0xb3, 0x36, 0xb8, + 0x95, 0x9c, 0x3e, 0xca, 0x93, 0x16, 0xab, 0x9e, 0x6a, 0xb1, 0xce, 0x6f, 0x35, 0x58, 0x99, 0xf6, + 0x28, 0xe8, 0x16, 0x00, 0xcf, 0x54, 0xfe, 0xd2, 0xa6, 0x5a, 0x5b, 0xd5, 0x76, 0x65, 0xf7, 0x02, + 0x6e, 0x58, 0xb9, 0x7e, 0xf0, 0xfb, 0x30, 0x4b, 0x85, 0xe0, 0xc2, 0xf8, 0x2c, 0xdd, 0xc8, 0x34, + 0x52, 0xe1, 0xf4, 0xb1, 0x06, 0xed, 0x5e, 0xc0, 0x16, 0x8d, 0x1e, 0x41, 0xd3, 0xf9, 0x36, 0x4f, + 0x0d, 0xc6, 0xf8, 0x8a, 0x67, 0xbc, 0x6f, 0xf9, 0xf5, 0x19, 0x49, 0x5d, 0x5c, 0x77, 0x1f, 0xf3, + 0x98, 0x0f, 0x61, 0xfe, 0x30, 0x8b, 0xe3, 0xc0, 0x8a, 0x64, 0x7b, 0x61, 0xaa, 0x8b, 0xaf, 0x0b, + 0x83, 0xdd, 0x0b, 0xb8, 0xa9, 0x0d, 0xac, 0x44, 0xa2, 0x07, 0x30, 0x9b, 0x1e, 0x11, 0x69, 0xfb, + 0xb4, 0xb5, 0xd1, 0x39, 0x6b, 0x02, 0xba, 0xcf, 0x35, 0x12, 0x5b, 0x03, 0xf4, 0x31, 0x80, 0x54, + 0x44, 0x28, 0x1a, 0x05, 0x44, 0xb9, 0x2e, 0xbd, 0xda, 0xb5, 0xdc, 0xde, 0xcd, 0xb9, 0xbd, 0xfb, + 0x22, 0x27, 0x7f, 0xdc, 0x70, 0xe8, 0x4d, 0x85, 0xee, 0x43, 0x3d, 0xe7, 0x7c, 0x37, 0xb5, 0x57, + 0x5e, 0x31, 0xdc, 0x71, 0x00, 0x5c, 0x40, 0x75, 0xc4, 0x50, 0x50, 0xe2, 0x22, 0xd6, 0xce, 0x8f, + 0xe8, 0xd0, 0x9b, 0x4a, 0x9b, 0x66, 0x69, 0x94, 0x9b, 0xce, 0x9d, 0x6f, 0xea, 0xd0, 0x9b, 0x0a, + 0xfd, 0x00, 0xff, 0x2f, 0xd6, 0x83, 0xe9, 0xbf, 0x62, 0x32, 0xeb, 0xd3, 0x47, 0x3b, 0x5f, 0x10, + 0xba, 0x76, 0xcf, 0x1c, 0x76, 0xb7, 0x82, 0x57, 0x8e, 0xa7, 0xc8, 0xd1, 0x73, 0x40, 0x86, 0x59, + 0xcb, 0x9e, 0x1b, 0xc6, 0xf3, 0x9a, 0xef, 0x59, 0x73, 0xab, 0xe7, 0x75, 0x49, 0x79, 0x32, 0x3d, + 0x56, 0x11, 0x0d, 0x47, 0xa6, 0x5b, 0x9b, 0x96, 0x2c, 0xf5, 0x59, 0x77, 0x69, 0x0f, 0x56, 0xdc, + 0x34, 0x06, 0x3f, 0xf1, 0x41, 0x60, 0xc6, 0x57, 0xc3, 0xe6, 0x0d, 0x6c, 0xd9, 0xe9, 0xbe, 0xe0, + 0x83, 0x83, 0x94, 0x86, 0x7d, 0xc1, 0xb6, 0x16, 0x61, 0xc1, 0xf5, 0xa7, 0xa0, 0x32, 0x8b, 0xd5, + 0xd6, 0x32, 0x2c, 0x2a, 0x22, 0x86, 0x54, 0x15, 0x77, 0xed, 0x44, 0xb0, 0x32, 0x2d, 0x63, 0xb4, + 0x0f, 0x4d, 0x7a, 0xc2, 0x9d, 0x6f, 0xb1, 0x4c, 0x4f, 0x9b, 0x77, 0xfe, 0xa8, 0xc0, 0x92, 0x9f, + 0x3e, 0xda, 0x81, 0xf9, 0x90, 0x84, 0x47, 0x34, 0x90, 0x8a, 0xa8, 0x4c, 0x9a, 0x18, 0xad, 0x8d, + 0x77, 0xbc, 0x18, 0xdb, 0xf6, 0xd3, 0x67, 0x5b, 0x23, 0x0f, 0x0c, 0x10, 0x37, 0xc3, 0x93, 0x03, + 0xfa, 0x1c, 0x9a, 0xee, 0xeb, 0x28, 0x18, 0xd1, 0x89, 0x9b, 0xe0, 0x1b, 0xd3, 0x9d, 0xe4, 0xa1, + 0x31, 0x38, 0x93, 0x2f, 0xe9, 0x04, 0xdd, 0x81, 0x56, 0x78, 0x44, 0xc3, 0x51, 0xca, 0x59, 0x62, + 0x59, 0xc2, 0x2e, 0xa9, 0x85, 0x13, 0x69, 0x5f, 0xb0, 0xce, 0x9f, 0x15, 0x58, 0x75, 0xdc, 0x37, + 0xb5, 0x60, 0xef, 0x9d, 0xda, 0x44, 0xfe, 0x00, 0x7b, 0xcb, 0xe7, 0x00, 0x96, 0xdd, 0x37, 0x5b, + 0x14, 0xe4, 0x6d, 0xe5, 0x2e, 0xee, 0xef, 0xb0, 0x6d, 0x87, 0xcb, 0x43, 0xe6, 0xbb, 0x66, 0x29, + 0xf4, 0x14, 0xaf, 0xed, 0x8e, 0x99, 0xd7, 0x74, 0x47, 0xa7, 0x0f, 0xab, 0xfe, 0x87, 0x9a, 0x59, + 0x42, 0xff, 0xf2, 0x63, 0xed, 0x97, 0x8b, 0x70, 0x6d, 0xba, 0x5f, 0x99, 0xf2, 0x44, 0x52, 0x74, + 0x0f, 0x6a, 0x66, 0xd3, 0x4a, 0xe7, 0xfc, 0xb2, 0x3f, 0x27, 0x7d, 0x11, 0x6f, 0xc5, 0x7c, 0xa0, + 0xe9, 0x12, 0x3b, 0x28, 0xba, 0x0f, 0x73, 0x39, 0x47, 0x56, 0xcf, 0xb7, 0xca, 0xb1, 0xe8, 0x21, + 0x18, 0xba, 0x0c, 0x5c, 0xc0, 0x99, 0x37, 0x60, 0x68, 0x0c, 0xda, 0x62, 0xcf, 0x86, 0x7d, 0xe4, + 0xf1, 0xf3, 0xc5, 0x37, 0x71, 0x50, 0x62, 0xe8, 0x8f, 0x00, 0xec, 0x87, 0x86, 0x61, 0x06, 0x4b, + 0x97, 0x6d, 0xbf, 0x3d, 0x12, 0x47, 0xef, 0xd8, 0x7e, 0x94, 0x98, 0xd5, 0xf0, 0x49, 0x79, 0xb9, + 0xd4, 0xce, 0xd9, 0x0c, 0xa5, 0xb5, 0xf2, 0x2d, 0x2c, 0xe5, 0xbd, 0x50, 0xf4, 0xd7, 0x92, 0x71, + 0xf0, 0x81, 0x5f, 0xb6, 0x33, 0x5a, 0x1a, 0x2f, 0x46, 0x65, 0x25, 0x7a, 0x00, 0x60, 0xcc, 0x83, + 0x4c, 0xc4, 0xb2, 0xbd, 0xec, 0x5f, 0xc9, 0x7a, 0x7c, 0xa2, 0x8f, 0x7d, 0xbc, 0x2f, 0x71, 0xc3, + 0x68, 0xfa, 0x22, 0x96, 0x5b, 0x9f, 0x7d, 0xff, 0xe9, 0x90, 0xa9, 0xa3, 0x6c, 0xd0, 0x0d, 0xf9, + 0xb8, 0x67, 0xe4, 0x5c, 0x0c, 0xed, 0x8f, 0x5e, 0xf1, 0x87, 0x64, 0x48, 0x93, 0x5e, 0x3a, 0xb8, + 0x3b, 0xe4, 0xbd, 0xf2, 0x5f, 0xa7, 0x41, 0xcd, 0x90, 0xfc, 0xbd, 0x7f, 0x02, 0x00, 0x00, 0xff, + 0xff, 0xc1, 0x0c, 0xbd, 0xaf, 0x88, 0x0d, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go index f76bba3914..38a2d01444 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.validate.go @@ -649,6 +649,18 @@ func (m *NodeExecutionClosure) Validate() error { } } + case *NodeExecutionClosure_FullOutputs: + + if v, ok := interface{}(m.GetFullOutputs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return NodeExecutionClosureValidationError{ + field: "FullOutputs", + reason: "embedded message failed validation", + cause: err, + } + } + } + } switch m.TargetMetadata.(type) { diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go index f014f23db2..04d007a426 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go @@ -280,6 +280,7 @@ type TaskExecutionClosure struct { // *TaskExecutionClosure_OutputUri // *TaskExecutionClosure_Error // *TaskExecutionClosure_OutputData + // *TaskExecutionClosure_FullOutputs OutputResult isTaskExecutionClosure_OutputResult `protobuf_oneof:"output_result"` // The last recorded phase for this task execution. Phase core.TaskExecution_Phase `protobuf:"varint,3,opt,name=phase,proto3,enum=flyteidl.core.TaskExecution_Phase" json:"phase,omitempty"` @@ -355,12 +356,18 @@ type TaskExecutionClosure_OutputData struct { OutputData *core.LiteralMap `protobuf:"bytes,12,opt,name=output_data,json=outputData,proto3,oneof"` } +type TaskExecutionClosure_FullOutputs struct { + FullOutputs *core.OutputData `protobuf:"bytes,19,opt,name=full_outputs,json=fullOutputs,proto3,oneof"` +} + func (*TaskExecutionClosure_OutputUri) isTaskExecutionClosure_OutputResult() {} func (*TaskExecutionClosure_Error) isTaskExecutionClosure_OutputResult() {} func (*TaskExecutionClosure_OutputData) isTaskExecutionClosure_OutputResult() {} +func (*TaskExecutionClosure_FullOutputs) isTaskExecutionClosure_OutputResult() {} + func (m *TaskExecutionClosure) GetOutputResult() isTaskExecutionClosure_OutputResult { if m != nil { return m.OutputResult @@ -391,6 +398,13 @@ func (m *TaskExecutionClosure) GetOutputData() *core.LiteralMap { return nil } +func (m *TaskExecutionClosure) GetFullOutputs() *core.OutputData { + if x, ok := m.GetOutputResult().(*TaskExecutionClosure_FullOutputs); ok { + return x.FullOutputs + } + return nil +} + func (m *TaskExecutionClosure) GetPhase() core.TaskExecution_Phase { if m != nil { return m.Phase @@ -481,6 +495,7 @@ func (*TaskExecutionClosure) XXX_OneofWrappers() []interface{} { (*TaskExecutionClosure_OutputUri)(nil), (*TaskExecutionClosure_Error)(nil), (*TaskExecutionClosure_OutputData)(nil), + (*TaskExecutionClosure_FullOutputs)(nil), } } @@ -697,66 +712,67 @@ func init() { } var fileDescriptor_8cde4c3aa101642e = []byte{ - // 961 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdb, 0x6e, 0xdb, 0x46, - 0x10, 0x0d, 0xe5, 0xe8, 0x36, 0xf2, 0xa5, 0x5e, 0x18, 0x31, 0x23, 0x3b, 0xad, 0x20, 0xb7, 0x85, - 0x50, 0x20, 0x54, 0xe1, 0xc0, 0x6d, 0xda, 0xa0, 0x41, 0xa4, 0x26, 0x69, 0x0c, 0x38, 0x4d, 0xba, - 0xb1, 0xfa, 0xd0, 0x17, 0x82, 0x22, 0x57, 0xca, 0xc2, 0x24, 0x97, 0xd9, 0x5d, 0x06, 0xd5, 0xbf, - 0xf4, 0x4f, 0xfa, 0xd4, 0x6f, 0xe9, 0x8f, 0x14, 0x7b, 0x21, 0x6d, 0x32, 0xaa, 0x1d, 0xb4, 0x2f, - 0x82, 0x66, 0xe7, 0x9c, 0x99, 0xdd, 0x33, 0x17, 0x10, 0x8e, 0x16, 0xf1, 0x4a, 0x12, 0x1a, 0xc5, - 0xe3, 0x20, 0x4a, 0x68, 0x3a, 0x96, 0x81, 0xb8, 0xf0, 0xc9, 0xef, 0x24, 0xcc, 0x25, 0x65, 0xa9, - 0x97, 0x71, 0x26, 0x19, 0xda, 0x2e, 0x40, 0x9e, 0x06, 0xf5, 0x0f, 0x6a, 0xa4, 0x90, 0x25, 0x49, - 0x01, 0xee, 0xdf, 0x2b, 0x9d, 0x21, 0xe3, 0x64, 0x5c, 0x8b, 0xd5, 0xff, 0xb4, 0xea, 0xa6, 0x11, - 0x49, 0x25, 0x5d, 0x50, 0xc2, 0xad, 0xff, 0xb0, 0xea, 0x8f, 0xa9, 0x24, 0x3c, 0x88, 0x85, 0xf5, - 0xf6, 0x4b, 0x2f, 0x79, 0x4f, 0x52, 0x69, 0x7e, 0xad, 0xef, 0xb3, 0x25, 0x63, 0xcb, 0x98, 0x8c, - 0xb5, 0x35, 0xcf, 0x17, 0x63, 0x49, 0x13, 0x22, 0x64, 0x90, 0x64, 0x45, 0xea, 0x3a, 0x20, 0xca, - 0x79, 0x70, 0xe5, 0x6a, 0x87, 0x75, 0xbf, 0x90, 0x3c, 0x0f, 0x6d, 0xf8, 0xe1, 0x2f, 0xb0, 0x7f, - 0x1e, 0x88, 0x8b, 0x67, 0xc5, 0x7b, 0x7e, 0x22, 0x12, 0x93, 0x77, 0x39, 0x11, 0x12, 0x7d, 0x03, - 0x0d, 0x1a, 0xb9, 0xce, 0xc0, 0x19, 0xf5, 0x8e, 0xbf, 0xf4, 0x4a, 0xb1, 0xd4, 0x03, 0xbc, 0x0a, - 0xe7, 0xb4, 0x7c, 0x2d, 0x6e, 0xd0, 0x68, 0xf8, 0xb7, 0x03, 0x6e, 0xc5, 0x7f, 0x46, 0x45, 0x19, - 0x14, 0xc3, 0x6e, 0xca, 0x22, 0x72, 0x59, 0x0c, 0xff, 0x5f, 0x73, 0xfc, 0xcc, 0x22, 0xb2, 0x2e, - 0xc7, 0x4e, 0x5a, 0x75, 0xa0, 0x3d, 0x68, 0xc6, 0x34, 0xa1, 0xd2, 0x6d, 0x0c, 0x9c, 0xd1, 0x16, - 0x36, 0x86, 0x3a, 0x95, 0xec, 0x82, 0xa4, 0xee, 0xc6, 0xc0, 0x19, 0x75, 0xb1, 0x31, 0x90, 0x0b, - 0xed, 0x05, 0x8d, 0x25, 0xe1, 0xc2, 0xbd, 0xad, 0xcf, 0x0b, 0x13, 0xdd, 0x87, 0xb6, 0x60, 0x5c, - 0xfa, 0xf3, 0x95, 0xdb, 0xd4, 0xf7, 0xd9, 0xf3, 0xaa, 0x0d, 0xe2, 0xbd, 0x61, 0x5c, 0xe2, 0x96, - 0x02, 0x4d, 0x57, 0xc3, 0xbf, 0x1c, 0xd8, 0xaa, 0xbc, 0xf2, 0xbf, 0xea, 0x85, 0x0e, 0xa0, 0x4b, - 0xd3, 0x2c, 0x97, 0x7e, 0xce, 0xa9, 0x7e, 0x42, 0x17, 0x77, 0xf4, 0xc1, 0x8c, 0x53, 0xf4, 0x18, - 0xda, 0x61, 0xcc, 0x44, 0xce, 0x89, 0x7e, 0x47, 0xef, 0xf8, 0xf3, 0xfa, 0xad, 0x2a, 0xa1, 0x7f, - 0x34, 0x58, 0x5c, 0x90, 0x74, 0x70, 0xe1, 0x67, 0x01, 0x27, 0xa9, 0xd4, 0x2f, 0xee, 0xe0, 0x0e, - 0x15, 0xaf, 0xb5, 0x3d, 0x7c, 0x07, 0xbb, 0x1f, 0x14, 0x0a, 0x3d, 0x87, 0x9d, 0xea, 0xb8, 0x08, - 0xd7, 0x19, 0x6c, 0x8c, 0x7a, 0xc7, 0xf7, 0xae, 0xcd, 0x8c, 0xb7, 0xe5, 0x55, 0x53, 0x5c, 0xea, - 0xdf, 0xb8, 0xa2, 0xff, 0xf0, 0x8f, 0x16, 0xec, 0xad, 0xbb, 0x31, 0x3a, 0x02, 0x60, 0xb9, 0x2c, - 0x64, 0x50, 0x2a, 0x76, 0xa7, 0x0d, 0xd7, 0x79, 0x71, 0x0b, 0x77, 0xcd, 0xb9, 0x52, 0xe3, 0x04, - 0x9a, 0x84, 0x73, 0xc6, 0x75, 0xcc, 0xca, 0x8d, 0xb4, 0xca, 0x65, 0xd0, 0x67, 0x0a, 0xf4, 0xe2, - 0x16, 0x36, 0x68, 0xf4, 0x04, 0x7a, 0x36, 0x76, 0x14, 0xc8, 0xc0, 0xdd, 0xd4, 0xe4, 0xbb, 0x35, - 0xf2, 0x99, 0x99, 0xc9, 0x97, 0x41, 0x66, 0xf3, 0xda, 0xfb, 0x3c, 0x0d, 0x64, 0x80, 0x1e, 0x42, - 0x33, 0x7b, 0x1b, 0x08, 0x53, 0x84, 0xed, 0xe3, 0xe1, 0x75, 0xe5, 0xf5, 0x5e, 0x2b, 0x24, 0x36, - 0x04, 0xf4, 0x15, 0xdc, 0x8e, 0xd9, 0x52, 0x75, 0x9b, 0xd2, 0xf0, 0xce, 0x1a, 0xe2, 0x19, 0x5b, - 0x62, 0x8d, 0x41, 0xdf, 0x01, 0x08, 0x19, 0x70, 0x49, 0x22, 0x3f, 0x90, 0xb6, 0x0b, 0xfb, 0x9e, - 0x99, 0x5f, 0xaf, 0x98, 0x5f, 0xef, 0xbc, 0x58, 0x00, 0xb8, 0x6b, 0xd1, 0x13, 0x89, 0x4e, 0xa0, - 0x53, 0xcc, 0xbd, 0xdb, 0xb2, 0xef, 0xab, 0x13, 0x9f, 0x5a, 0x00, 0x2e, 0xa1, 0x2a, 0x63, 0xc8, - 0x49, 0x60, 0x33, 0xb6, 0x6f, 0xce, 0x68, 0xd1, 0x13, 0xa9, 0xa8, 0x79, 0x16, 0x15, 0xd4, 0xce, - 0xcd, 0x54, 0x8b, 0x9e, 0x48, 0xf4, 0x10, 0x7a, 0x61, 0x2e, 0x24, 0x4b, 0x7c, 0x9a, 0x2e, 0x98, - 0xdb, 0xd5, 0xdc, 0xfd, 0x0f, 0xb8, 0x6f, 0xf4, 0xa2, 0xc2, 0x60, 0xb0, 0xa7, 0xe9, 0x82, 0xa1, - 0x3b, 0xd0, 0xe2, 0x24, 0x10, 0x2c, 0x75, 0x41, 0x77, 0x95, 0xb5, 0x54, 0x9b, 0xeb, 0xa6, 0x95, - 0xab, 0x8c, 0xb8, 0x3d, 0x33, 0x43, 0xea, 0xe0, 0x7c, 0x95, 0x11, 0x34, 0x81, 0x4e, 0x42, 0x64, - 0xa0, 0x6b, 0xff, 0x89, 0xce, 0xf5, 0xc5, 0x65, 0x19, 0xcc, 0xae, 0xad, 0x14, 0xf0, 0xa5, 0x05, - 0xe3, 0x92, 0x86, 0x8e, 0x60, 0x4b, 0x03, 0xfd, 0xf7, 0x84, 0x0b, 0xa5, 0xf1, 0xee, 0xc0, 0x19, - 0x35, 0xf1, 0xa6, 0x3e, 0xfc, 0xd5, 0x9c, 0xa1, 0xaf, 0xa1, 0x6d, 0xae, 0x23, 0x5c, 0x54, 0xaf, - 0xb6, 0x99, 0x18, 0xac, 0xdd, 0xb8, 0x80, 0x4d, 0x77, 0x60, 0xcb, 0x36, 0x26, 0x27, 0x22, 0x8f, - 0xe5, 0xd0, 0x87, 0x96, 0xc1, 0xa0, 0x47, 0xd0, 0x63, 0x61, 0x98, 0x73, 0x6e, 0xf4, 0x75, 0x6e, - 0xd4, 0x17, 0x0a, 0xf8, 0x44, 0xaa, 0x2d, 0x97, 0x10, 0x21, 0x82, 0x25, 0xb1, 0xd3, 0x57, 0x98, - 0xc3, 0x19, 0x1c, 0xd4, 0xf7, 0xbd, 0x6a, 0xf0, 0xff, 0xbb, 0xf3, 0xff, 0xdc, 0x80, 0xc3, 0xf5, - 0x71, 0x45, 0xc6, 0x52, 0x41, 0xd0, 0x03, 0x68, 0xe9, 0x9d, 0x26, 0x6c, 0xf0, 0xfd, 0xba, 0x34, - 0x33, 0x1e, 0x4f, 0x63, 0x36, 0x57, 0xb3, 0x87, 0x2d, 0x14, 0x9d, 0x40, 0xdb, 0xc8, 0x23, 0xec, - 0xc0, 0x5f, 0xcb, 0x2a, 0xb0, 0xe8, 0x31, 0xf4, 0x16, 0x79, 0x1c, 0xfb, 0x36, 0xe1, 0xc6, 0x47, - 0x8c, 0x3b, 0x06, 0xc5, 0x38, 0x35, 0x69, 0x9f, 0xc0, 0xa6, 0xe6, 0x17, 0xb9, 0x6f, 0x7f, 0x4c, - 0x00, 0x9d, 0xf2, 0x95, 0xbd, 0xc1, 0xb7, 0x00, 0x66, 0xa5, 0xeb, 0x9e, 0x33, 0xf3, 0xe8, 0xd6, - 0xf8, 0x3a, 0x99, 0xd6, 0xc8, 0xac, 0x7f, 0xbd, 0x67, 0xbe, 0xaf, 0x6e, 0xaa, 0xf6, 0xda, 0xcc, - 0xaf, 0xca, 0xbd, 0x54, 0xdb, 0x51, 0xa0, 0x71, 0x7e, 0xce, 0x63, 0x61, 0xb7, 0xc7, 0xdd, 0xba, - 0x60, 0xcf, 0x95, 0x39, 0xc3, 0x67, 0x02, 0x77, 0xb5, 0x67, 0xc6, 0x63, 0x31, 0xfd, 0xe1, 0xb7, - 0x47, 0x4b, 0x2a, 0xdf, 0xe6, 0x73, 0x2f, 0x64, 0xc9, 0x58, 0x9f, 0x33, 0xbe, 0x34, 0x7f, 0xc6, - 0xe5, 0xb7, 0xc9, 0x92, 0xa4, 0xe3, 0x6c, 0x7e, 0x7f, 0xc9, 0xc6, 0xd5, 0x0f, 0xa5, 0x79, 0x4b, - 0x77, 0xe3, 0x83, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa2, 0xae, 0xc4, 0xcf, 0x76, 0x09, 0x00, + // 977 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x5f, 0x6f, 0x1b, 0x45, + 0x10, 0xcf, 0x39, 0x89, 0xff, 0x8c, 0xf3, 0x87, 0x2c, 0x51, 0x73, 0x4d, 0x52, 0x88, 0x1c, 0x40, + 0x16, 0x52, 0xcf, 0x28, 0x55, 0x20, 0x50, 0x11, 0xd5, 0xa6, 0x2d, 0x89, 0x94, 0x42, 0xd9, 0xc6, + 0x3c, 0xf0, 0x72, 0x3a, 0xdf, 0xad, 0xdd, 0x55, 0xee, 0x6e, 0xaf, 0xbb, 0x7b, 0x15, 0xfe, 0x6c, + 0x3c, 0xf1, 0x3d, 0x78, 0xe3, 0x8b, 0xa0, 0xfd, 0x73, 0x97, 0xdc, 0xd5, 0xd4, 0x15, 0xbc, 0x58, + 0x9e, 0x99, 0xdf, 0x6f, 0x66, 0x67, 0x76, 0x66, 0xf6, 0xe0, 0x78, 0x1a, 0xcf, 0x25, 0xa1, 0x51, + 0x3c, 0x08, 0xa2, 0x84, 0xa6, 0x03, 0x19, 0x88, 0x1b, 0x9f, 0xfc, 0x4e, 0xc2, 0x5c, 0x52, 0x96, + 0x7a, 0x19, 0x67, 0x92, 0xa1, 0xad, 0x02, 0xe4, 0x69, 0xd0, 0xfe, 0x41, 0x8d, 0x14, 0xb2, 0x24, + 0x29, 0xc0, 0xfb, 0x0f, 0x4a, 0x63, 0xc8, 0x38, 0x19, 0xd4, 0x7c, 0xed, 0x7f, 0x52, 0x35, 0xd3, + 0x88, 0xa4, 0x92, 0x4e, 0x29, 0xe1, 0xd6, 0x7e, 0x58, 0xb5, 0xc7, 0x54, 0x12, 0x1e, 0xc4, 0xc2, + 0x5a, 0xf7, 0x4b, 0x2b, 0x79, 0x4b, 0x52, 0x69, 0x7e, 0xad, 0xed, 0xd3, 0x19, 0x63, 0xb3, 0x98, + 0x0c, 0xb4, 0x34, 0xc9, 0xa7, 0x03, 0x49, 0x13, 0x22, 0x64, 0x90, 0x64, 0x45, 0xe8, 0x3a, 0x20, + 0xca, 0x79, 0x70, 0xe7, 0x68, 0x87, 0x75, 0xbb, 0x90, 0x3c, 0x0f, 0xad, 0xfb, 0xde, 0x2f, 0xb0, + 0x77, 0x1d, 0x88, 0x9b, 0x67, 0x45, 0x3e, 0x3f, 0x12, 0x89, 0xc9, 0x9b, 0x9c, 0x08, 0x89, 0xbe, + 0x86, 0x06, 0x8d, 0x5c, 0xe7, 0xc8, 0xe9, 0x77, 0x4f, 0xbe, 0xf0, 0xca, 0x62, 0xa9, 0x04, 0xbc, + 0x0a, 0xe7, 0xb2, 0xcc, 0x16, 0x37, 0x68, 0xd4, 0xfb, 0xdb, 0x01, 0xb7, 0x62, 0xbf, 0xa2, 0xa2, + 0x74, 0x8a, 0x61, 0x27, 0x65, 0x11, 0xb9, 0xbd, 0x0c, 0xff, 0x5f, 0x63, 0xfc, 0xc4, 0x22, 0xb2, + 0x28, 0xc6, 0x76, 0x5a, 0x35, 0xa0, 0x5d, 0x58, 0x8f, 0x69, 0x42, 0xa5, 0xdb, 0x38, 0x72, 0xfa, + 0x9b, 0xd8, 0x08, 0x4a, 0x2b, 0xd9, 0x0d, 0x49, 0xdd, 0xd5, 0x23, 0xa7, 0xdf, 0xc1, 0x46, 0x40, + 0x2e, 0xb4, 0xa6, 0x34, 0x96, 0x84, 0x0b, 0x77, 0x4d, 0xeb, 0x0b, 0x11, 0x3d, 0x84, 0x96, 0x60, + 0x5c, 0xfa, 0x93, 0xb9, 0xbb, 0xae, 0xcf, 0xb3, 0xeb, 0x55, 0x1b, 0xc4, 0x7b, 0xc5, 0xb8, 0xc4, + 0x4d, 0x05, 0x1a, 0xcd, 0x7b, 0x7f, 0x3a, 0xb0, 0x59, 0xc9, 0xf2, 0xbf, 0xd6, 0x0b, 0x1d, 0x40, + 0x87, 0xa6, 0x59, 0x2e, 0xfd, 0x9c, 0x53, 0x9d, 0x42, 0x07, 0xb7, 0xb5, 0x62, 0xcc, 0x29, 0x3a, + 0x87, 0x56, 0x18, 0x33, 0x91, 0x73, 0xa2, 0xf3, 0xe8, 0x9e, 0x7c, 0x56, 0x3f, 0x55, 0xc5, 0xf5, + 0x0f, 0x06, 0x8b, 0x0b, 0x92, 0x76, 0x2e, 0xfc, 0x2c, 0xe0, 0x24, 0x95, 0x3a, 0xe3, 0x36, 0x6e, + 0x53, 0xf1, 0x52, 0xcb, 0xbd, 0x37, 0xb0, 0xf3, 0xce, 0x45, 0xa1, 0xe7, 0xb0, 0x5d, 0x1d, 0x17, + 0xe1, 0x3a, 0x47, 0xab, 0xfd, 0xee, 0xc9, 0x83, 0xf7, 0x46, 0xc6, 0x5b, 0xf2, 0xae, 0x28, 0x6e, + 0xeb, 0xdf, 0xb8, 0x53, 0xff, 0xde, 0x5f, 0x4d, 0xd8, 0x5d, 0x74, 0x62, 0x74, 0x0c, 0xc0, 0x72, + 0x59, 0x94, 0x41, 0x55, 0xb1, 0x33, 0x6a, 0xb8, 0xce, 0xc5, 0x0a, 0xee, 0x18, 0xbd, 0xaa, 0xc6, + 0x29, 0xac, 0x13, 0xce, 0x19, 0xd7, 0x3e, 0x2b, 0x27, 0xd2, 0x55, 0x2e, 0x9d, 0x3e, 0x53, 0xa0, + 0x8b, 0x15, 0x6c, 0xd0, 0xe8, 0x09, 0x74, 0xad, 0xef, 0x28, 0x90, 0x81, 0xbb, 0xa1, 0xc9, 0xf7, + 0x6b, 0xe4, 0x2b, 0x33, 0x93, 0x2f, 0x82, 0xcc, 0xc6, 0xb5, 0xe7, 0x79, 0x1a, 0xc8, 0x00, 0x9d, + 0xc3, 0xc6, 0x34, 0x8f, 0x63, 0xdf, 0xa8, 0x84, 0xfb, 0xf1, 0x42, 0x17, 0x3f, 0x97, 0x84, 0x8b, + 0x15, 0xdc, 0x55, 0x04, 0xa3, 0x11, 0xe8, 0x0c, 0xd6, 0xb3, 0xd7, 0x81, 0x30, 0x97, 0xb8, 0x75, + 0xd2, 0x7b, 0x5f, 0x7b, 0x78, 0x2f, 0x15, 0x12, 0x1b, 0x02, 0xfa, 0x12, 0xd6, 0x62, 0x36, 0x53, + 0xdd, 0xaa, 0xee, 0xe0, 0xde, 0x02, 0xe2, 0x15, 0x9b, 0x61, 0x8d, 0x41, 0xdf, 0x02, 0x08, 0x19, + 0x70, 0x49, 0x22, 0x3f, 0x90, 0xb6, 0x8b, 0xf7, 0x3d, 0x33, 0xff, 0x5e, 0x31, 0xff, 0xde, 0x75, + 0xb1, 0x40, 0x70, 0xc7, 0xa2, 0x87, 0x12, 0x9d, 0x42, 0xbb, 0xd8, 0x1b, 0x6e, 0xd3, 0x26, 0x57, + 0x27, 0x3e, 0xb5, 0x00, 0x5c, 0x42, 0x55, 0xc4, 0x90, 0x93, 0xc0, 0x46, 0x6c, 0x2d, 0x8f, 0x68, + 0xd1, 0x43, 0xa9, 0xa8, 0x79, 0x16, 0x15, 0xd4, 0xf6, 0x72, 0xaa, 0x45, 0x0f, 0x25, 0x3a, 0x83, + 0x6e, 0x98, 0x0b, 0xc9, 0x12, 0x9f, 0xa6, 0x53, 0xe6, 0x76, 0x34, 0x77, 0xef, 0x1d, 0xee, 0x2b, + 0xbd, 0xe8, 0x30, 0x18, 0xec, 0x65, 0x3a, 0x65, 0xe8, 0x1e, 0x34, 0x39, 0x09, 0x04, 0x4b, 0x5d, + 0xd0, 0x5d, 0x69, 0x25, 0x35, 0x26, 0xba, 0xe9, 0xe5, 0x3c, 0x23, 0x6e, 0xd7, 0xcc, 0xa0, 0x52, + 0x5c, 0xcf, 0x33, 0x82, 0x86, 0xd0, 0x4e, 0x88, 0x0c, 0x74, 0xef, 0x7c, 0xa4, 0x63, 0x7d, 0x7e, + 0x7b, 0x0d, 0x66, 0x57, 0x57, 0x2e, 0xf0, 0x85, 0x05, 0xe3, 0x92, 0x86, 0x8e, 0x61, 0x53, 0x03, + 0xfd, 0xb7, 0x84, 0x0b, 0x55, 0xe3, 0x9d, 0x23, 0xa7, 0xbf, 0x8e, 0x37, 0xb4, 0xf2, 0x57, 0xa3, + 0x43, 0x5f, 0x41, 0xcb, 0x1c, 0x47, 0xb8, 0xa8, 0x7e, 0xdb, 0x66, 0xe2, 0xb0, 0x36, 0xe3, 0x02, + 0x36, 0xda, 0x86, 0x4d, 0xdb, 0xd8, 0x9c, 0x88, 0x3c, 0x96, 0x3d, 0x1f, 0x9a, 0x06, 0x83, 0x1e, + 0x43, 0x97, 0x85, 0x61, 0xce, 0xb9, 0xa9, 0xaf, 0xb3, 0xb4, 0xbe, 0x50, 0xc0, 0x87, 0x52, 0x6d, + 0xc9, 0x84, 0x08, 0x11, 0xcc, 0x88, 0x9d, 0xde, 0x42, 0xec, 0x8d, 0xe1, 0xa0, 0xfe, 0x5e, 0xa8, + 0x7e, 0xff, 0xbf, 0x6f, 0xc6, 0x1f, 0xab, 0x70, 0xb8, 0xd8, 0xaf, 0xc8, 0x58, 0x2a, 0x08, 0x7a, + 0x04, 0x4d, 0xbd, 0x13, 0x85, 0x75, 0xbe, 0x57, 0x2f, 0xcd, 0x98, 0xc7, 0xa3, 0x98, 0x4d, 0xd4, + 0xec, 0x62, 0x0b, 0x45, 0xa7, 0xd0, 0x2a, 0x06, 0xb6, 0xb1, 0x9c, 0x55, 0x60, 0xd1, 0x39, 0xe8, + 0xd9, 0xf5, 0x6d, 0xc0, 0xd5, 0x0f, 0x58, 0x17, 0x18, 0x14, 0xe3, 0xd2, 0x84, 0x7d, 0x52, 0x5b, + 0x16, 0x6b, 0x1f, 0xe2, 0xa0, 0xb2, 0x2e, 0xbe, 0x01, 0x30, 0x4f, 0x82, 0xee, 0x39, 0x33, 0x8f, + 0x6e, 0x8d, 0xaf, 0x83, 0xe9, 0x1a, 0x99, 0xe7, 0x43, 0xef, 0xa9, 0xef, 0xaa, 0x9b, 0xae, 0xb5, + 0x64, 0x4d, 0x55, 0x76, 0xdc, 0x19, 0x80, 0xc6, 0xf9, 0x39, 0x8f, 0x85, 0xdd, 0x1e, 0xf7, 0xeb, + 0x05, 0x7b, 0xae, 0xc4, 0x31, 0xbe, 0x12, 0xb8, 0xa3, 0x2d, 0x63, 0x1e, 0x8b, 0xd1, 0xf7, 0xbf, + 0x3d, 0x9e, 0x51, 0xf9, 0x3a, 0x9f, 0x78, 0x21, 0x4b, 0x06, 0x5a, 0xcf, 0xf8, 0xcc, 0xfc, 0x19, + 0x94, 0xdf, 0x36, 0x33, 0x92, 0x0e, 0xb2, 0xc9, 0xc3, 0x19, 0x1b, 0x54, 0x3f, 0xb4, 0x26, 0x4d, + 0xdd, 0x8d, 0x8f, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0xd7, 0xd1, 0xc7, 0x9c, 0xb6, 0x09, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go index 0ed7603d1b..77cbeaa18a 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.validate.go @@ -518,6 +518,18 @@ func (m *TaskExecutionClosure) Validate() error { } } + case *TaskExecutionClosure_FullOutputs: + + if v, ok := interface{}(m.GetFullOutputs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TaskExecutionClosureValidationError{ + field: "FullOutputs", + reason: "embedded message failed validation", + cause: err, + } + } + } + } return nil diff --git a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go index 37f33ecddc..e7b4262803 100644 --- a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go @@ -66,6 +66,7 @@ type WorkflowExecutionEvent struct { // *WorkflowExecutionEvent_DeprecatedOutputData // *WorkflowExecutionEvent_OutputData OutputResult isWorkflowExecutionEvent_OutputResult `protobuf_oneof:"output_result"` + EventVersion int32 `protobuf:"varint,9,opt,name=event_version,json=eventVersion,proto3" json:"event_version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -188,6 +189,13 @@ func (m *WorkflowExecutionEvent) GetOutputData() *core.OutputData { return nil } +func (m *WorkflowExecutionEvent) GetEventVersion() int32 { + if m != nil { + return m.EventVersion + } + return 0 +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*WorkflowExecutionEvent) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -1417,107 +1425,107 @@ func init() { func init() { proto.RegisterFile("flyteidl/event/event.proto", fileDescriptor_4b035d24120b1b12) } var fileDescriptor_4b035d24120b1b12 = []byte{ - // 1623 bytes of a gzipped FileDescriptorProto + // 1629 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xed, 0x6e, 0xdb, 0xbc, 0x15, 0x8e, 0x9d, 0x0f, 0xdb, 0x47, 0xb1, 0x63, 0xb3, 0x4e, 0xa2, 0x26, 0x4d, 0xe3, 0x79, 0xeb, 0x90, 0xb6, 0x98, 0x0d, 0xb8, 0x68, 0xd1, 0xa1, 0x1d, 0x86, 0x7c, 0x6d, 0xf1, 0x96, 0x66, 0x81, - 0x92, 0xb4, 0x40, 0xb7, 0x41, 0x60, 0x24, 0xc6, 0xd1, 0x22, 0x8b, 0x02, 0x45, 0xa5, 0xf5, 0xcf, - 0x5d, 0xc8, 0x76, 0x31, 0xbb, 0x80, 0xfd, 0xdb, 0x85, 0xec, 0x0e, 0x5e, 0x90, 0x94, 0x64, 0x4b, - 0x16, 0x12, 0xa7, 0xc8, 0xfb, 0x27, 0x30, 0xcf, 0x39, 0x7c, 0x78, 0x0e, 0xcf, 0x07, 0x1f, 0x05, - 0x36, 0xae, 0xdc, 0x11, 0x27, 0x8e, 0xed, 0x76, 0xc9, 0x2d, 0xf1, 0xb8, 0xfa, 0xdb, 0xf1, 0x19, - 0xe5, 0x14, 0xd5, 0x62, 0x5d, 0x47, 0x4a, 0x37, 0x9e, 0x25, 0xb6, 0x16, 0x65, 0xa4, 0xeb, 0x3a, - 0x9c, 0x30, 0xec, 0x06, 0xca, 0x3a, 0xab, 0xb5, 0xe8, 0xd0, 0x77, 0x5c, 0xc2, 0x22, 0xed, 0x56, - 0x5a, 0x4b, 0xbe, 0x13, 0x2b, 0xe4, 0x0e, 0xf5, 0x22, 0xf5, 0xf3, 0xb4, 0xda, 0xb1, 0x89, 0xc7, - 0x9d, 0x2b, 0x27, 0xd9, 0xbe, 0x99, 0x01, 0xc7, 0x1c, 0xbb, 0x74, 0x10, 0x29, 0xb7, 0x07, 0x94, - 0x0e, 0x5c, 0xd2, 0x95, 0xab, 0xcb, 0xf0, 0xaa, 0xcb, 0x9d, 0x21, 0x09, 0x38, 0x1e, 0xfa, 0xb1, - 0x6b, 0x59, 0x83, 0x80, 0xb3, 0xd0, 0x8a, 0xc2, 0x6c, 0xff, 0x73, 0x01, 0xd6, 0xbe, 0x50, 0x76, - 0x73, 0xe5, 0xd2, 0x6f, 0x87, 0xb1, 0x5f, 0x87, 0x22, 0x62, 0xf4, 0x09, 0x96, 0x13, 0x4f, 0x4d, - 0xc7, 0xd6, 0x0b, 0xad, 0xc2, 0x8e, 0xd6, 0x7b, 0xd5, 0x49, 0x2e, 0x46, 0x78, 0xd3, 0x99, 0xda, - 0xdc, 0x4f, 0xdc, 0x37, 0x34, 0x32, 0x16, 0xa2, 0x6d, 0xd0, 0x7c, 0x46, 0xed, 0xd0, 0x22, 0x4c, - 0xa0, 0x15, 0x5b, 0x85, 0x9d, 0x8a, 0x01, 0xb1, 0xa8, 0x6f, 0xa3, 0x8f, 0xb0, 0xe8, 0x5f, 0xe3, - 0x80, 0xe8, 0xf3, 0xad, 0xc2, 0x4e, 0xad, 0xf7, 0xeb, 0xfb, 0x0e, 0xea, 0x9c, 0x0a, 0x6b, 0x43, - 0x6d, 0x42, 0x1f, 0x40, 0xa3, 0x96, 0x15, 0x32, 0x46, 0x6c, 0x13, 0x73, 0x7d, 0x41, 0x3a, 0xbb, - 0xd1, 0x51, 0xc1, 0x77, 0xe2, 0xe0, 0x3b, 0xe7, 0xf1, 0xed, 0x18, 0x10, 0x9b, 0xef, 0x72, 0xb4, - 0x0d, 0x40, 0x43, 0xee, 0x87, 0xdc, 0x0c, 0x99, 0xa3, 0x2f, 0x0a, 0xd7, 0x8e, 0xe6, 0x8c, 0x8a, - 0x92, 0x5d, 0x30, 0x07, 0xbd, 0x85, 0x45, 0xc2, 0x18, 0x65, 0xfa, 0x92, 0xc4, 0xdd, 0xca, 0xf8, - 0x36, 0xbe, 0x39, 0x61, 0x74, 0x34, 0x67, 0x28, 0x6b, 0x74, 0x01, 0x6b, 0x36, 0xf1, 0x19, 0xb1, - 0x30, 0x27, 0xb6, 0x19, 0x1d, 0x61, 0x63, 0x8e, 0xf5, 0x92, 0xc4, 0x79, 0x9a, 0xc1, 0x39, 0x56, - 0x55, 0xf5, 0x09, 0xfb, 0x7b, 0x45, 0xbd, 0x70, 0x34, 0x67, 0x34, 0xc7, 0xdb, 0xff, 0x22, 0x77, - 0x1f, 0x60, 0x8e, 0xd1, 0x47, 0xd0, 0x26, 0xb1, 0xca, 0xb9, 0x58, 0x63, 0xfb, 0xa3, 0x39, 0x23, - 0x0a, 0x4f, 0xac, 0xf6, 0x56, 0xa0, 0x1a, 0xed, 0x66, 0x24, 0x08, 0x5d, 0xde, 0xfe, 0x1f, 0x00, - 0x3a, 0xa1, 0x36, 0xc9, 0xe4, 0xff, 0x1d, 0x14, 0x93, 0xac, 0x67, 0x93, 0x91, 0x32, 0x9f, 0xc8, - 0x78, 0xd1, 0x99, 0x21, 0xd1, 0xef, 0xd3, 0x89, 0x6e, 0xdf, 0x85, 0xfd, 0x88, 0x49, 0xde, 0x82, - 0x8a, 0xe3, 0x65, 0x73, 0x5c, 0x96, 0x22, 0x91, 0xe2, 0x33, 0x58, 0x9d, 0xc8, 0x95, 0xb2, 0x94, - 0xd7, 0xdb, 0x9c, 0x2d, 0x55, 0x4f, 0xc6, 0xbb, 0xfb, 0x5e, 0x9c, 0xa9, 0xdf, 0x02, 0x4c, 0x20, - 0xe9, 0x12, 0x49, 0xcf, 0x20, 0x25, 0xd6, 0xa2, 0xe4, 0x9c, 0x64, 0x6b, 0xba, 0x26, 0x97, 0xa4, - 0xbf, 0x85, 0xdc, 0x9a, 0x2c, 0xcd, 0x52, 0x93, 0x85, 0xfb, 0x6b, 0x72, 0x65, 0x96, 0x40, 0x0b, - 0xb3, 0xd5, 0xe4, 0xfa, 0x7d, 0x35, 0x59, 0x98, 0xac, 0x49, 0xf4, 0x37, 0x58, 0xfb, 0x16, 0xf5, - 0xb7, 0xe9, 0x51, 0x9b, 0x98, 0x43, 0xc2, 0xf1, 0x44, 0x71, 0xff, 0xaa, 0x93, 0x1e, 0xc7, 0xc9, - 0x34, 0x10, 0xc5, 0xf2, 0x29, 0xb2, 0x3d, 0x2a, 0x1a, 0xcd, 0x6f, 0x39, 0x72, 0x74, 0x0a, 0x88, - 0xe3, 0xe0, 0x26, 0x83, 0x5c, 0x93, 0xc8, 0xad, 0x2c, 0xf2, 0x39, 0x0e, 0x6e, 0x32, 0xa8, 0x75, - 0x9e, 0x91, 0xa1, 0xbf, 0x43, 0xd3, 0xc7, 0x8c, 0x78, 0xdc, 0x94, 0xc0, 0x09, 0x66, 0x45, 0x62, - 0xbe, 0xce, 0x62, 0x9e, 0x4a, 0x5b, 0x81, 0x9c, 0x64, 0x25, 0x86, 0x32, 0x90, 0x9f, 0x28, 0x73, - 0xe0, 0xd3, 0x2e, 0xc3, 0x5d, 0xf0, 0xa9, 0xbe, 0xc9, 0xc2, 0xa7, 0xbc, 0xdf, 0x06, 0x8d, 0x11, - 0xce, 0x46, 0xe6, 0x80, 0xd1, 0xd0, 0xd7, 0x35, 0xd5, 0xa1, 0x52, 0xf4, 0x47, 0x21, 0x41, 0x2d, - 0x58, 0x0e, 0x7c, 0x62, 0xa9, 0xd3, 0x1d, 0x5b, 0x5f, 0x56, 0x16, 0x42, 0x26, 0x80, 0xfa, 0x36, - 0xda, 0x84, 0x8a, 0x54, 0x7a, 0x78, 0x48, 0xf4, 0xaa, 0x54, 0x97, 0x85, 0xe0, 0x04, 0x0f, 0x09, - 0xfa, 0x25, 0x54, 0xa5, 0x63, 0xe6, 0x2d, 0x61, 0x81, 0x43, 0x3d, 0xbd, 0xde, 0x2a, 0xec, 0x2c, - 0x1a, 0xcb, 0x52, 0xf8, 0x59, 0xc9, 0x04, 0x82, 0x13, 0x98, 0xca, 0x3b, 0xbd, 0xd1, 0x2a, 0xec, - 0x94, 0x8d, 0xb2, 0x13, 0xa8, 0x50, 0xd0, 0x16, 0x80, 0x13, 0x98, 0xf6, 0xc8, 0xc3, 0x43, 0xc7, - 0xd2, 0x91, 0xd4, 0x56, 0x9c, 0xe0, 0x40, 0x09, 0xd0, 0x53, 0x28, 0xdb, 0xc4, 0xba, 0x91, 0x9d, - 0xf1, 0x44, 0x1e, 0x5e, 0x12, 0x6b, 0xd1, 0x15, 0x1f, 0x44, 0x6c, 0x3e, 0x65, 0x5c, 0x8d, 0x88, - 0xd5, 0xfb, 0x47, 0x44, 0x6c, 0xbe, 0xcb, 0x05, 0xae, 0x13, 0x98, 0x98, 0x31, 0x3c, 0xd2, 0xd7, - 0xe4, 0xa1, 0x25, 0x27, 0xd8, 0x15, 0xcb, 0xbd, 0x2a, 0x68, 0xaa, 0x93, 0x6f, 0xb1, 0x1b, 0x92, - 0xa9, 0x21, 0xba, 0xd7, 0x80, 0x15, 0x8e, 0xd9, 0x80, 0xf0, 0x24, 0x5b, 0x6d, 0x02, 0xcd, 0xbc, - 0x32, 0x7d, 0xe4, 0x87, 0xb5, 0xfd, 0xff, 0x22, 0xd4, 0xb3, 0x45, 0x8b, 0x0e, 0x60, 0xd9, 0xc2, - 0xd6, 0x35, 0x31, 0x03, 0x8e, 0x79, 0x18, 0xc8, 0x33, 0x6a, 0xbd, 0x5f, 0x64, 0xce, 0xd8, 0x57, - 0x54, 0x62, 0x5f, 0x58, 0x9e, 0x49, 0x43, 0x43, 0xb3, 0xc6, 0x0b, 0xf4, 0x7b, 0xd0, 0x22, 0xb6, - 0x61, 0xde, 0x90, 0x91, 0x1c, 0xe5, 0x5a, 0xef, 0x79, 0x3e, 0x48, 0x52, 0x71, 0x10, 0x6d, 0xf9, - 0x33, 0x19, 0xa1, 0x2f, 0x80, 0x18, 0x09, 0x08, 0xbb, 0xc5, 0x32, 0xd8, 0xc8, 0x19, 0x35, 0xf7, - 0x77, 0xf2, 0x71, 0x8c, 0xb1, 0x7d, 0x27, 0xf2, 0xa9, 0x31, 0x81, 0x11, 0x79, 0xf6, 0x02, 0x6a, - 0xd6, 0x35, 0xb1, 0x6e, 0x7c, 0xea, 0x78, 0x6a, 0x42, 0x2e, 0xc8, 0x3a, 0xa8, 0x8e, 0xa5, 0xa2, - 0x1a, 0x3e, 0x43, 0x3d, 0x2a, 0x22, 0x33, 0x9e, 0x0c, 0xb2, 0x18, 0x73, 0x9a, 0x28, 0xaa, 0xad, - 0xbc, 0x8c, 0x19, 0x2b, 0x76, 0x5a, 0xd9, 0xfe, 0x6f, 0x01, 0x36, 0xef, 0xd8, 0x80, 0x5e, 0x4e, - 0xbc, 0x9d, 0xd9, 0x21, 0x98, 0x79, 0x2e, 0xcf, 0xa0, 0x11, 0xd1, 0x45, 0x7b, 0xec, 0x63, 0x31, - 0xf7, 0xd5, 0xdd, 0x8f, 0xec, 0xe2, 0x23, 0xf7, 0x5d, 0x1a, 0x84, 0x8c, 0x18, 0x75, 0x2b, 0xa3, - 0x40, 0x5d, 0x68, 0xc6, 0x71, 0xff, 0x83, 0x5e, 0x9a, 0xb2, 0x99, 0xc5, 0x25, 0xcd, 0xcb, 0x4b, - 0x6a, 0x44, 0xba, 0x3f, 0xd1, 0xcb, 0x33, 0x9f, 0x58, 0x17, 0xcc, 0x69, 0x5f, 0xc0, 0xe6, 0x1d, - 0x43, 0xea, 0x4e, 0x2e, 0x90, 0xda, 0x91, 0x0e, 0xae, 0xfd, 0x2e, 0x86, 0xcd, 0x1d, 0x4e, 0x68, - 0x1d, 0x4a, 0xf1, 0x88, 0x29, 0x48, 0xcf, 0x96, 0x3c, 0x39, 0x5e, 0xda, 0x97, 0xa0, 0x49, 0x12, - 0x62, 0x10, 0x1c, 0x50, 0x0f, 0xad, 0xc1, 0x12, 0x93, 0xbf, 0x62, 0x33, 0xb5, 0xca, 0xf2, 0x81, - 0xe2, 0x43, 0xf8, 0x40, 0xfb, 0x3f, 0x15, 0x40, 0x29, 0xdf, 0x15, 0xed, 0xe9, 0x41, 0x49, 0xce, - 0xf4, 0x59, 0xf2, 0xb7, 0x24, 0x2c, 0xfb, 0x36, 0x32, 0x41, 0x9f, 0x9c, 0xd7, 0xa9, 0xee, 0x2e, - 0x3e, 0x88, 0x40, 0xad, 0xfa, 0xd3, 0xd7, 0xd5, 0xb7, 0xc5, 0x44, 0x55, 0x13, 0x1b, 0x73, 0x4e, - 0x86, 0x3e, 0x97, 0x89, 0xac, 0x1a, 0xcb, 0x52, 0xb8, 0xab, 0x64, 0x63, 0x5e, 0xb5, 0x90, 0xcb, - 0xab, 0x52, 0xb1, 0xa6, 0x79, 0x55, 0x86, 0xb2, 0x2d, 0x4e, 0x51, 0xb6, 0x57, 0xb0, 0xe0, 0xd2, - 0x41, 0xa0, 0x2f, 0xb5, 0xe6, 0x77, 0xb4, 0xde, 0x5a, 0x0e, 0xf2, 0x31, 0x1d, 0x18, 0xd2, 0x26, - 0x9b, 0x94, 0xd2, 0x8f, 0x93, 0xb4, 0xf2, 0xec, 0x24, 0xed, 0xc9, 0xa3, 0x91, 0xb4, 0xf5, 0x1f, - 0x27, 0x69, 0x95, 0x3b, 0x48, 0x1a, 0x3c, 0x12, 0x49, 0x6b, 0x3c, 0x22, 0x49, 0x5b, 0x7b, 0x18, - 0x49, 0x7b, 0x0f, 0x9a, 0x15, 0x06, 0x9c, 0x0e, 0x4d, 0xc7, 0xbb, 0xa2, 0x92, 0x36, 0x68, 0xbd, - 0xf5, 0xa9, 0xc4, 0x9e, 0xc9, 0xef, 0x4b, 0x03, 0x94, 0x6d, 0xdf, 0xbb, 0xa2, 0xa2, 0x7c, 0x65, - 0xa1, 0x25, 0x84, 0x60, 0x59, 0x95, 0xaf, 0x14, 0xc6, 0x84, 0x60, 0x23, 0x69, 0x72, 0xc9, 0x27, - 0x44, 0x20, 0x49, 0xa3, 0xbf, 0x85, 0x92, 0xfa, 0x15, 0xe8, 0xab, 0xb2, 0x04, 0x37, 0xb3, 0xe3, - 0x7b, 0x62, 0x5c, 0x18, 0xb1, 0xad, 0xe0, 0x18, 0xb2, 0x97, 0xf9, 0xc8, 0x27, 0x92, 0xef, 0x55, - 0x8c, 0xb2, 0x10, 0x9c, 0x8f, 0x7c, 0x82, 0x76, 0xa1, 0x9c, 0x10, 0x2b, 0xf5, 0x26, 0xbc, 0xc8, - 0xe3, 0x82, 0xd3, 0x94, 0x2a, 0xd9, 0x36, 0x4d, 0x74, 0x50, 0x0e, 0xd1, 0xc9, 0x30, 0x92, 0xe6, - 0x43, 0x18, 0xc9, 0x7d, 0xb4, 0xa3, 0xfd, 0xef, 0x22, 0x34, 0x0f, 0xbf, 0x73, 0xc2, 0x3c, 0xec, - 0x1a, 0x24, 0xa0, 0x21, 0xb3, 0x88, 0xbc, 0xf2, 0x6d, 0xd0, 0x48, 0x24, 0x1f, 0x8f, 0x57, 0x88, - 0x45, 0x7d, 0x1b, 0x35, 0x61, 0xd1, 0xf1, 0x6c, 0xf2, 0x5d, 0x0e, 0xa8, 0xaa, 0xa1, 0x16, 0x3f, - 0xf7, 0xa0, 0xc9, 0xd2, 0x92, 0xc5, 0x1f, 0xa2, 0x25, 0x0f, 0x98, 0x46, 0xed, 0xbf, 0x42, 0x3d, - 0xbe, 0x97, 0x53, 0x4a, 0x5d, 0x79, 0x37, 0x2f, 0xa1, 0x8e, 0x5d, 0x97, 0x5a, 0x8a, 0x94, 0x70, - 0x7a, 0x43, 0xe2, 0x87, 0x65, 0x65, 0x2c, 0x3f, 0x17, 0x62, 0xf4, 0x0c, 0x2a, 0x82, 0xe2, 0x06, - 0x3e, 0xb6, 0x48, 0xf4, 0x29, 0x3b, 0x16, 0xb4, 0xff, 0x35, 0x0f, 0xab, 0xf9, 0x0f, 0xe6, 0x0b, - 0xa8, 0x0d, 0x88, 0x47, 0x98, 0xec, 0x5f, 0x49, 0x92, 0xd5, 0x01, 0xd5, 0x44, 0x2a, 0x99, 0xf2, - 0x19, 0xa0, 0x24, 0x4b, 0x2c, 0x72, 0x33, 0xd0, 0x8b, 0x32, 0xae, 0xa9, 0x6f, 0x9e, 0xbc, 0x3c, - 0x1b, 0x0d, 0x92, 0x91, 0x06, 0xe8, 0x44, 0x92, 0x2e, 0xb9, 0x30, 0x7d, 0x4a, 0x5d, 0xd5, 0xae, - 0xf3, 0x12, 0x74, 0xea, 0x73, 0x27, 0x7b, 0x39, 0x46, 0x9d, 0x65, 0xaf, 0xeb, 0x35, 0x34, 0x7c, - 0x37, 0x1c, 0x38, 0xe2, 0x39, 0x8b, 0x1f, 0xaa, 0x88, 0x6e, 0xd5, 0x95, 0x62, 0xfc, 0x80, 0xa1, - 0xaf, 0x50, 0x73, 0xbc, 0x80, 0x63, 0xcf, 0x22, 0xa6, 0xe5, 0xe2, 0x20, 0x90, 0xbd, 0x55, 0xeb, - 0xbd, 0x99, 0xa9, 0xb7, 0x3a, 0xfd, 0x68, 0xef, 0xbe, 0xd8, 0x6a, 0x54, 0x9d, 0xc9, 0x65, 0xbb, - 0x0b, 0xd5, 0x94, 0x1e, 0x69, 0x50, 0x3a, 0x38, 0xfc, 0xc3, 0xee, 0xc5, 0xf1, 0x79, 0x7d, 0x0e, - 0x35, 0xa0, 0xda, 0x3f, 0x39, 0x3f, 0x34, 0x8c, 0x8b, 0xd3, 0xf3, 0xfe, 0xde, 0xf1, 0x61, 0xbd, - 0xb0, 0xf7, 0xbb, 0xaf, 0x1f, 0x06, 0x0e, 0xbf, 0x0e, 0x2f, 0x3b, 0x16, 0x1d, 0x76, 0xa5, 0x03, - 0x94, 0x0d, 0xd4, 0x8f, 0x6e, 0xf2, 0x5f, 0xb5, 0x01, 0xf1, 0xba, 0xfe, 0xe5, 0x6f, 0x06, 0xb4, - 0x9b, 0xfe, 0x7f, 0xe0, 0xe5, 0x92, 0x6c, 0xce, 0x37, 0x3f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x4f, - 0xbc, 0x2e, 0x3b, 0x28, 0x14, 0x00, 0x00, + 0x92, 0xb4, 0x40, 0xb7, 0x41, 0x60, 0x24, 0xc6, 0xd1, 0x22, 0x8b, 0x02, 0x45, 0xa5, 0xf5, 0xc5, + 0x6c, 0x3f, 0x77, 0x21, 0xbb, 0x80, 0xfd, 0xdb, 0x85, 0xec, 0x0e, 0x5e, 0x90, 0x94, 0x64, 0x4b, + 0x16, 0x12, 0xa7, 0xc8, 0xfb, 0x27, 0x30, 0xcf, 0x39, 0x7c, 0x78, 0x48, 0x3e, 0xe7, 0xf0, 0x51, + 0x60, 0xe3, 0xca, 0x1d, 0x71, 0xe2, 0xd8, 0x6e, 0x97, 0xdc, 0x12, 0x8f, 0xab, 0xbf, 0x1d, 0x9f, + 0x51, 0x4e, 0x51, 0x2d, 0xf6, 0x75, 0xa4, 0x75, 0xe3, 0x59, 0x12, 0x6b, 0x51, 0x46, 0xba, 0xae, + 0xc3, 0x09, 0xc3, 0x6e, 0xa0, 0xa2, 0xb3, 0x5e, 0x8b, 0x0e, 0x7d, 0xc7, 0x25, 0x2c, 0xf2, 0x6e, + 0xa5, 0xbd, 0xe4, 0x3b, 0xb1, 0x42, 0xee, 0x50, 0x2f, 0x72, 0x3f, 0x4f, 0xbb, 0x1d, 0x9b, 0x78, + 0xdc, 0xb9, 0x72, 0x92, 0xe9, 0x9b, 0x19, 0x70, 0xcc, 0xb1, 0x4b, 0x07, 0x91, 0x73, 0x7b, 0x40, + 0xe9, 0xc0, 0x25, 0x5d, 0x39, 0xba, 0x0c, 0xaf, 0xba, 0xdc, 0x19, 0x92, 0x80, 0xe3, 0xa1, 0x1f, + 0xa7, 0x96, 0x0d, 0x08, 0x38, 0x0b, 0xad, 0x68, 0x9b, 0xed, 0x7f, 0x2f, 0xc0, 0xda, 0x17, 0xca, + 0x6e, 0xae, 0x5c, 0xfa, 0xed, 0x30, 0xce, 0xeb, 0x50, 0xec, 0x18, 0x7d, 0x82, 0xe5, 0x24, 0x53, + 0xd3, 0xb1, 0xf5, 0x42, 0xab, 0xb0, 0xa3, 0xf5, 0x5e, 0x75, 0x92, 0x83, 0x11, 0xd9, 0x74, 0xa6, + 0x26, 0xf7, 0x93, 0xf4, 0x0d, 0x8d, 0x8c, 0x8d, 0x68, 0x1b, 0x34, 0x9f, 0x51, 0x3b, 0xb4, 0x08, + 0x13, 0x68, 0xc5, 0x56, 0x61, 0xa7, 0x62, 0x40, 0x6c, 0xea, 0xdb, 0xe8, 0x23, 0x2c, 0xfa, 0xd7, + 0x38, 0x20, 0xfa, 0x7c, 0xab, 0xb0, 0x53, 0xeb, 0xfd, 0xfa, 0xbe, 0x85, 0x3a, 0xa7, 0x22, 0xda, + 0x50, 0x93, 0xd0, 0x07, 0xd0, 0xa8, 0x65, 0x85, 0x8c, 0x11, 0xdb, 0xc4, 0x5c, 0x5f, 0x90, 0xc9, + 0x6e, 0x74, 0xd4, 0xe6, 0x3b, 0xf1, 0xe6, 0x3b, 0xe7, 0xf1, 0xe9, 0x18, 0x10, 0x87, 0xef, 0x72, + 0xb4, 0x0d, 0x40, 0x43, 0xee, 0x87, 0xdc, 0x0c, 0x99, 0xa3, 0x2f, 0x8a, 0xd4, 0x8e, 0xe6, 0x8c, + 0x8a, 0xb2, 0x5d, 0x30, 0x07, 0xbd, 0x85, 0x45, 0xc2, 0x18, 0x65, 0xfa, 0x92, 0xc4, 0xdd, 0xca, + 0xe4, 0x36, 0x3e, 0x39, 0x11, 0x74, 0x34, 0x67, 0xa8, 0x68, 0x74, 0x01, 0x6b, 0x36, 0xf1, 0x19, + 0xb1, 0x30, 0x27, 0xb6, 0x19, 0x2d, 0x61, 0x63, 0x8e, 0xf5, 0x92, 0xc4, 0x79, 0x9a, 0xc1, 0x39, + 0x56, 0xac, 0xfa, 0x84, 0xfd, 0xbd, 0xa2, 0x5e, 0x38, 0x9a, 0x33, 0x9a, 0xe3, 0xe9, 0x7f, 0x91, + 0xb3, 0x0f, 0x30, 0xc7, 0xe8, 0x23, 0x68, 0x93, 0x58, 0xe5, 0x5c, 0xac, 0x71, 0xfc, 0xd1, 0x9c, + 0x11, 0x6d, 0x4f, 0xce, 0xfe, 0x25, 0x54, 0x25, 0xa5, 0xcd, 0x5b, 0xc2, 0x02, 0x87, 0x7a, 0x7a, + 0xa5, 0x55, 0xd8, 0x59, 0x34, 0x96, 0xa5, 0xf1, 0xb3, 0xb2, 0xed, 0xad, 0x40, 0x35, 0x5a, 0x82, + 0x91, 0x20, 0x74, 0x79, 0xfb, 0x7f, 0x00, 0xe8, 0x84, 0xda, 0x24, 0x43, 0x92, 0x77, 0x50, 0x4c, + 0xa8, 0x91, 0xbd, 0xb1, 0x54, 0xf8, 0x04, 0x2d, 0x8a, 0xce, 0x0c, 0x6c, 0x78, 0x9f, 0x66, 0x43, + 0xfb, 0x2e, 0xec, 0x47, 0x64, 0xc2, 0x16, 0x54, 0x1c, 0x2f, 0x4b, 0x84, 0xb2, 0x34, 0x09, 0x1e, + 0x9c, 0xc1, 0xea, 0xc4, 0x85, 0xaa, 0x48, 0x79, 0x07, 0xcd, 0xd9, 0xee, 0xf3, 0xc9, 0x78, 0x76, + 0xdf, 0x8b, 0x2f, 0xe4, 0xb7, 0x00, 0x13, 0x48, 0xba, 0x44, 0xd2, 0x33, 0x48, 0x49, 0xb4, 0xe0, + 0xa5, 0x93, 0x4c, 0x4d, 0x13, 0x77, 0x49, 0xe6, 0x5b, 0xc8, 0x25, 0x6e, 0x69, 0x16, 0xe2, 0x16, + 0xee, 0x27, 0xee, 0xca, 0x2c, 0x1b, 0x2d, 0xcc, 0x46, 0xdc, 0xf5, 0xfb, 0x88, 0x5b, 0x48, 0x11, + 0xf7, 0x6f, 0xb0, 0xf6, 0x2d, 0x6a, 0x02, 0xa6, 0x47, 0x6d, 0x62, 0x0e, 0x09, 0xc7, 0x13, 0x15, + 0xf0, 0xab, 0x4e, 0xba, 0x67, 0x27, 0x2d, 0x43, 0x90, 0xe5, 0x53, 0x14, 0x7b, 0x54, 0x34, 0x9a, + 0xdf, 0x72, 0xec, 0xe8, 0x14, 0x10, 0xc7, 0xc1, 0x4d, 0x06, 0xb9, 0x26, 0x91, 0x5b, 0x59, 0xe4, + 0x73, 0x1c, 0xdc, 0x64, 0x50, 0xeb, 0x3c, 0x63, 0x43, 0x7f, 0x87, 0xa6, 0x8f, 0x99, 0xa8, 0x34, + 0x09, 0x9c, 0x60, 0x56, 0x24, 0xe6, 0xeb, 0x2c, 0xe6, 0xa9, 0x8c, 0x15, 0xc8, 0xc9, 0xad, 0xc4, + 0x50, 0x06, 0xf2, 0x13, 0x67, 0x0e, 0x7c, 0x3a, 0x65, 0xb8, 0x0b, 0x3e, 0x55, 0x37, 0x59, 0xf8, + 0x54, 0xf6, 0xdb, 0xa0, 0x31, 0xc2, 0xd9, 0xc8, 0x1c, 0x30, 0x1a, 0xfa, 0xba, 0xa6, 0x2a, 0x54, + 0x9a, 0xfe, 0x28, 0x2c, 0xa8, 0x05, 0xcb, 0x81, 0x4f, 0x2c, 0xb5, 0xba, 0x63, 0xeb, 0xcb, 0x2a, + 0x42, 0xd8, 0x04, 0x50, 0xdf, 0x46, 0x9b, 0x50, 0x91, 0x4e, 0x0f, 0x0f, 0x89, 0x5e, 0x95, 0xee, + 0xb2, 0x30, 0x9c, 0xe0, 0x21, 0x99, 0x6e, 0x43, 0xf5, 0xe9, 0x36, 0x24, 0x10, 0x9c, 0xc0, 0x54, + 0xd9, 0xe9, 0x8d, 0x56, 0x61, 0xa7, 0x6c, 0x94, 0x9d, 0x40, 0x6d, 0x05, 0x6d, 0x01, 0x38, 0x81, + 0x69, 0x8f, 0x3c, 0x3c, 0x74, 0x2c, 0x1d, 0x49, 0x6f, 0xc5, 0x09, 0x0e, 0x94, 0x01, 0x3d, 0x85, + 0xb2, 0x4d, 0xac, 0x1b, 0x59, 0x19, 0x4f, 0xe4, 0xe2, 0x25, 0x31, 0x16, 0x55, 0xf1, 0x41, 0xec, + 0xcd, 0xa7, 0x8c, 0xab, 0x16, 0xb1, 0x7a, 0x7f, 0x8b, 0x88, 0xc3, 0x77, 0xb9, 0xc0, 0x75, 0x02, + 0x13, 0x33, 0x86, 0x47, 0xfa, 0x9a, 0x5c, 0xb4, 0xe4, 0x04, 0xbb, 0x62, 0xb8, 0x57, 0x05, 0x4d, + 0x55, 0xf2, 0x2d, 0x76, 0x43, 0x32, 0xd5, 0x44, 0xf7, 0x1a, 0xb0, 0xc2, 0x31, 0x1b, 0x10, 0x9e, + 0xdc, 0x56, 0x9b, 0x40, 0x33, 0x8f, 0xa6, 0x8f, 0xfc, 0xfa, 0xb6, 0xff, 0x5f, 0x84, 0x7a, 0x96, + 0xb4, 0xe8, 0x00, 0x96, 0x2d, 0x6c, 0x5d, 0x13, 0x33, 0xe0, 0x98, 0x87, 0x81, 0x5c, 0xa3, 0xd6, + 0xfb, 0x45, 0x66, 0x8d, 0x7d, 0xa5, 0x37, 0xf6, 0x45, 0xe4, 0x99, 0x0c, 0x34, 0x34, 0x6b, 0x3c, + 0x40, 0xbf, 0x07, 0x2d, 0x92, 0x24, 0xe6, 0x0d, 0x19, 0xc9, 0x56, 0xae, 0xf5, 0x9e, 0xe7, 0x83, + 0x24, 0x8c, 0x83, 0x68, 0xca, 0x9f, 0xc9, 0x08, 0x7d, 0x01, 0xc4, 0x48, 0x40, 0xd8, 0x2d, 0x96, + 0x9b, 0x8d, 0x92, 0x51, 0x7d, 0x7f, 0x27, 0x1f, 0xc7, 0x18, 0xc7, 0x77, 0xa2, 0x9c, 0x1a, 0x13, + 0x18, 0x51, 0x66, 0x2f, 0xa0, 0x66, 0x5d, 0x13, 0xeb, 0xc6, 0xa7, 0x8e, 0xa7, 0x3a, 0xe4, 0x82, + 0xe4, 0x41, 0x75, 0x6c, 0x15, 0x6c, 0xf8, 0x0c, 0xf5, 0x88, 0x44, 0x66, 0xdc, 0x19, 0x24, 0x19, + 0x73, 0x8a, 0x28, 0xe2, 0x56, 0xde, 0x8d, 0x19, 0x2b, 0x76, 0xda, 0xd9, 0xfe, 0x6f, 0x01, 0x36, + 0xef, 0x98, 0x80, 0x5e, 0x4e, 0xbc, 0x9d, 0xd9, 0x26, 0x98, 0x79, 0x2e, 0xcf, 0xa0, 0x11, 0x69, + 0x4a, 0x7b, 0x9c, 0x63, 0x31, 0xf7, 0xd5, 0xdd, 0x8f, 0xe2, 0xe2, 0x25, 0xf7, 0x5d, 0x1a, 0x84, + 0x8c, 0x18, 0x75, 0x2b, 0xe3, 0x40, 0x5d, 0x68, 0xc6, 0xfb, 0xfe, 0x07, 0xbd, 0x34, 0x65, 0x31, + 0x8b, 0x43, 0x9a, 0x97, 0x87, 0xd4, 0x88, 0x7c, 0x7f, 0xa2, 0x97, 0x67, 0x3e, 0xb1, 0x2e, 0x98, + 0xd3, 0xbe, 0x80, 0xcd, 0x3b, 0x9a, 0xd4, 0x9d, 0x5a, 0x20, 0x35, 0x23, 0xbd, 0xb9, 0xf6, 0xbb, + 0x18, 0x36, 0xb7, 0x39, 0xa1, 0x75, 0x28, 0xc5, 0x2d, 0xa6, 0x20, 0x33, 0x5b, 0xf2, 0x64, 0x7b, + 0x69, 0x5f, 0x82, 0x26, 0x45, 0x88, 0x41, 0x70, 0x40, 0x3d, 0xb4, 0x06, 0x4b, 0x4c, 0xfe, 0x8a, + 0xc3, 0xd4, 0x28, 0xab, 0x07, 0x8a, 0x0f, 0xd1, 0x03, 0xed, 0xff, 0x54, 0x00, 0xa5, 0x72, 0x57, + 0xb2, 0xa7, 0x07, 0x25, 0xd9, 0xd3, 0x67, 0xb9, 0xbf, 0x25, 0x11, 0xd9, 0xb7, 0x91, 0x09, 0xfa, + 0x64, 0xbf, 0x4e, 0x55, 0x77, 0xf1, 0x41, 0x02, 0x6a, 0xd5, 0x9f, 0x3e, 0xae, 0xbe, 0x2d, 0x3a, + 0xaa, 0xea, 0xd8, 0x98, 0x73, 0x32, 0xf4, 0xb9, 0xbc, 0xc8, 0xaa, 0xb1, 0x2c, 0x8d, 0xbb, 0xca, + 0x36, 0xd6, 0x55, 0x0b, 0xb9, 0xba, 0x2a, 0xb5, 0xd7, 0xb4, 0xae, 0xca, 0x48, 0xb6, 0xc5, 0x29, + 0xc9, 0xf6, 0x0a, 0x16, 0x5c, 0x3a, 0x08, 0xf4, 0xa5, 0xd6, 0xfc, 0x8e, 0xd6, 0x5b, 0xcb, 0x41, + 0x3e, 0xa6, 0x03, 0x43, 0xc6, 0x64, 0x2f, 0xa5, 0xf4, 0xe3, 0x22, 0xad, 0x3c, 0xbb, 0x48, 0x7b, + 0xf2, 0x68, 0x22, 0x6d, 0xfd, 0xc7, 0x45, 0x5a, 0xe5, 0x0e, 0x91, 0x06, 0x8f, 0x24, 0xd2, 0x1a, + 0x8f, 0x28, 0xd2, 0xd6, 0x1e, 0x26, 0xd2, 0xde, 0x83, 0x66, 0x85, 0x01, 0xa7, 0x43, 0xd3, 0xf1, + 0xae, 0xa8, 0x94, 0x0d, 0x5a, 0x6f, 0x7d, 0xea, 0x62, 0xcf, 0xe4, 0x47, 0xa8, 0x01, 0x2a, 0xb6, + 0xef, 0x5d, 0x51, 0x41, 0x5f, 0x49, 0xb4, 0x44, 0x10, 0x2c, 0x2b, 0xfa, 0x4a, 0x63, 0x2c, 0x08, + 0x36, 0x92, 0x22, 0x97, 0x7a, 0x42, 0x6c, 0x24, 0x29, 0xf4, 0xb7, 0x50, 0x52, 0xbf, 0x02, 0x7d, + 0x55, 0x52, 0x70, 0x33, 0xdb, 0xbe, 0x27, 0xda, 0x85, 0x11, 0xc7, 0x0a, 0x8d, 0x21, 0x6b, 0x99, + 0x8f, 0x7c, 0x22, 0xf5, 0x5e, 0xc5, 0x28, 0x0b, 0xc3, 0xf9, 0xc8, 0x27, 0x68, 0x17, 0xca, 0x89, + 0xb0, 0x52, 0x6f, 0xc2, 0x8b, 0x3c, 0x2d, 0x38, 0x2d, 0xa9, 0x92, 0x69, 0xd3, 0x42, 0x07, 0xe5, + 0x08, 0x9d, 0x8c, 0x22, 0x69, 0x3e, 0x44, 0x91, 0xdc, 0x27, 0x3b, 0xda, 0xff, 0x2a, 0x42, 0xf3, + 0xf0, 0x3b, 0x27, 0xcc, 0xc3, 0xae, 0x41, 0x02, 0x1a, 0x32, 0x8b, 0xc8, 0x23, 0xdf, 0x06, 0x8d, + 0x44, 0xf6, 0x71, 0x7b, 0x85, 0xd8, 0xd4, 0xb7, 0x51, 0x13, 0x16, 0x1d, 0xcf, 0x26, 0xdf, 0x65, + 0x83, 0xaa, 0x1a, 0x6a, 0xf0, 0x73, 0x37, 0x9a, 0xac, 0x2c, 0x59, 0xfc, 0x21, 0x59, 0xf2, 0x80, + 0x6e, 0xd4, 0xfe, 0x2b, 0xd4, 0xe3, 0x73, 0x39, 0xa5, 0xd4, 0x95, 0x67, 0xf3, 0x12, 0xea, 0xd8, + 0x75, 0xa9, 0xa5, 0x44, 0x09, 0xa7, 0x37, 0x24, 0x7e, 0x58, 0x56, 0xc6, 0xf6, 0x73, 0x61, 0x46, + 0xcf, 0xa0, 0x22, 0x24, 0x6e, 0xe0, 0x63, 0x8b, 0x44, 0x9f, 0xb2, 0x63, 0x43, 0xfb, 0x9f, 0xf3, + 0xb0, 0x9a, 0xff, 0x60, 0xbe, 0x80, 0xda, 0x80, 0x78, 0x84, 0xc9, 0xfa, 0x95, 0x22, 0x59, 0x2d, + 0x50, 0x4d, 0xac, 0x52, 0x29, 0x9f, 0x01, 0x4a, 0x6e, 0x89, 0x45, 0x69, 0x06, 0x7a, 0x51, 0xee, + 0x6b, 0xea, 0x9b, 0x27, 0xef, 0x9e, 0x8d, 0x06, 0xc9, 0x58, 0x03, 0x74, 0x22, 0x45, 0x97, 0x1c, + 0x98, 0x3e, 0xa5, 0xae, 0x2a, 0xd7, 0x79, 0x09, 0x3a, 0xf5, 0xb9, 0x93, 0x3d, 0x1c, 0xa3, 0xce, + 0xb2, 0xc7, 0xf5, 0x1a, 0x1a, 0xbe, 0x1b, 0x0e, 0x1c, 0xf1, 0x9c, 0xc5, 0x0f, 0x55, 0x24, 0xb7, + 0xea, 0xca, 0x31, 0x7e, 0xc0, 0xd0, 0x57, 0xa8, 0x39, 0x5e, 0xc0, 0xb1, 0x67, 0x11, 0xd3, 0x72, + 0x71, 0x10, 0xc8, 0xda, 0xaa, 0xf5, 0xde, 0xcc, 0x54, 0x5b, 0x9d, 0x7e, 0x34, 0x77, 0x5f, 0x4c, + 0x35, 0xaa, 0xce, 0xe4, 0xb0, 0xdd, 0x85, 0x6a, 0xca, 0x8f, 0x34, 0x28, 0x1d, 0x1c, 0xfe, 0x61, + 0xf7, 0xe2, 0xf8, 0xbc, 0x3e, 0x87, 0x1a, 0x50, 0xed, 0x9f, 0x9c, 0x1f, 0x1a, 0xc6, 0xc5, 0xe9, + 0x79, 0x7f, 0xef, 0xf8, 0xb0, 0x5e, 0xd8, 0xfb, 0xdd, 0xd7, 0x0f, 0x03, 0x87, 0x5f, 0x87, 0x97, + 0x1d, 0x8b, 0x0e, 0xbb, 0x32, 0x01, 0xca, 0x06, 0xea, 0x47, 0x37, 0xf9, 0xd7, 0xdb, 0x80, 0x78, + 0x5d, 0xff, 0xf2, 0x37, 0x03, 0xda, 0x4d, 0xff, 0xd3, 0xf0, 0x72, 0x49, 0x16, 0xe7, 0x9b, 0x9f, + 0x02, 0x00, 0x00, 0xff, 0xff, 0x79, 0x32, 0x01, 0xa6, 0x4d, 0x14, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go index ed5a1225c2..6e627c3162 100644 --- a/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/event/event.pb.validate.go @@ -84,6 +84,8 @@ func (m *WorkflowExecutionEvent) Validate() error { } } + // no validation rules for EventVersion + switch m.OutputResult.(type) { case *WorkflowExecutionEvent_OutputUri: diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json index b6d2544f62..50cd47b532 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json @@ -3763,6 +3763,10 @@ "$ref": "#/definitions/coreLiteralMap", "description": "Raw output data produced by this execution.\nDEPRECATED. Use GetExecutionData to fetch output data instead." }, + "full_outputs": { + "$ref": "#/definitions/coreOutputData", + "description": "Raw output data produced by this execution.\nDEPRECATED. Use GetExecutionData to fetch output data instead." + }, "computed_inputs": { "$ref": "#/definitions/coreLiteralMap", "title": "Inputs computed and passed for execution.\ncomputed_inputs depends on inputs in ExecutionSpec, fixed and default inputs in launch plan" @@ -4579,6 +4583,10 @@ "$ref": "#/definitions/coreLiteralMap", "description": "Raw output data produced by this node execution.\nDEPRECATED. Use GetNodeExecutionData to fetch output data instead." }, + "full_outputs": { + "$ref": "#/definitions/coreOutputData", + "description": "Raw output data produced by this node execution." + }, "phase": { "$ref": "#/definitions/coreNodeExecutionPhase", "description": "The last recorded phase for this node execution." @@ -5119,6 +5127,10 @@ "$ref": "#/definitions/coreLiteralMap", "description": "Raw output data produced by this task execution.\nDEPRECATED. Use GetTaskExecutionData to fetch output data instead." }, + "full_outputs": { + "$ref": "#/definitions/coreOutputData", + "description": "Raw output data produced by this task execution." + }, "phase": { "$ref": "#/definitions/coreTaskExecutionPhase", "description": "The last recorded phase for this task execution." @@ -7654,6 +7666,10 @@ "output_data": { "$ref": "#/definitions/coreOutputData", "description": "Raw output data produced by this workflow execution." + }, + "event_version": { + "type": "integer", + "format": "int32" } } }, diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml index d54d0a2369..6c896169a0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml @@ -3461,6 +3461,9 @@ definitions: occurred_at: "2000-01-23T04:56:07.000+00:00" principal: "principal" state: {} + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} @@ -3663,6 +3666,10 @@ definitions: description: "Raw output data produced by this execution.\nDEPRECATED. Use\ \ GetExecutionData to fetch output data instead." $ref: "#/definitions/coreLiteralMap" + full_outputs: + description: "Raw output data produced by this execution.\nDEPRECATED. Use\ + \ GetExecutionData to fetch output data instead." + $ref: "#/definitions/coreOutputData" computed_inputs: title: "Inputs computed and passed for execution.\ncomputed_inputs depends\ \ on inputs in ExecutionSpec, fixed and default inputs in launch plan" @@ -3717,6 +3724,9 @@ definitions: occurred_at: "2000-01-23T04:56:07.000+00:00" principal: "principal" state: {} + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} @@ -3851,6 +3861,9 @@ definitions: occurred_at: "2000-01-23T04:56:07.000+00:00" principal: "principal" state: {} + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} @@ -4052,6 +4065,9 @@ definitions: occurred_at: "2000-01-23T04:56:07.000+00:00" principal: "principal" state: {} + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} @@ -7663,6 +7679,9 @@ definitions: description: "Raw output data produced by this node execution.\nDEPRECATED.\ \ Use GetNodeExecutionData to fetch output data instead." $ref: "#/definitions/coreLiteralMap" + full_outputs: + description: "Raw output data produced by this node execution." + $ref: "#/definitions/coreOutputData" phase: description: "The last recorded phase for this node execution." $ref: "#/definitions/coreNodeExecutionPhase" @@ -7699,13 +7718,11 @@ definitions: description: "Container for node execution details and results." example: phase: {} - duration: "duration" workflow_node_metadata: executionId: domain: "domain" name: "name" project: "project" - updated_at: "2000-01-23T04:56:07.000+00:00" task_node_metadata: catalog_key: source_task_execution: @@ -7733,15 +7750,20 @@ definitions: artifact_id: "artifact_id" checkpoint_uri: "checkpoint_uri" cache_status: {} - dynamic_job_spec_uri: "dynamic_job_spec_uri" - output_uri: "output_uri" - started_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} message: "message" error_uri: "error_uri" + duration: "duration" + updated_at: "2000-01-23T04:56:07.000+00:00" + dynamic_job_spec_uri: "dynamic_job_spec_uri" + output_uri: "output_uri" + started_at: "2000-01-23T04:56:07.000+00:00" output_data: literals: {} deck_uri: "deck_uri" @@ -20080,13 +20102,11 @@ definitions: node_id: "node_id" closure: phase: {} - duration: "duration" workflow_node_metadata: executionId: domain: "domain" name: "name" project: "project" - updated_at: "2000-01-23T04:56:07.000+00:00" task_node_metadata: catalog_key: source_task_execution: @@ -20114,15 +20134,20 @@ definitions: artifact_id: "artifact_id" checkpoint_uri: "checkpoint_uri" cache_status: {} - dynamic_job_spec_uri: "dynamic_job_spec_uri" - output_uri: "output_uri" - started_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} message: "message" error_uri: "error_uri" + duration: "duration" + updated_at: "2000-01-23T04:56:07.000+00:00" + dynamic_job_spec_uri: "dynamic_job_spec_uri" + output_uri: "output_uri" + started_at: "2000-01-23T04:56:07.000+00:00" output_data: literals: {} deck_uri: "deck_uri" @@ -20141,13 +20166,11 @@ definitions: node_id: "node_id" closure: phase: {} - duration: "duration" workflow_node_metadata: executionId: domain: "domain" name: "name" project: "project" - updated_at: "2000-01-23T04:56:07.000+00:00" task_node_metadata: catalog_key: source_task_execution: @@ -20175,15 +20198,20 @@ definitions: artifact_id: "artifact_id" checkpoint_uri: "checkpoint_uri" cache_status: {} - dynamic_job_spec_uri: "dynamic_job_spec_uri" - output_uri: "output_uri" - started_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} message: "message" error_uri: "error_uri" + duration: "duration" + updated_at: "2000-01-23T04:56:07.000+00:00" + dynamic_job_spec_uri: "dynamic_job_spec_uri" + output_uri: "output_uri" + started_at: "2000-01-23T04:56:07.000+00:00" output_data: literals: {} deck_uri: "deck_uri" @@ -21648,6 +21676,9 @@ definitions: description: "Raw output data produced by this task execution.\nDEPRECATED.\ \ Use GetTaskExecutionData to fetch output data instead." $ref: "#/definitions/coreLiteralMap" + full_outputs: + description: "Raw output data produced by this task execution." + $ref: "#/definitions/coreOutputData" phase: description: "The last recorded phase for this task execution." $ref: "#/definitions/coreTaskExecutionPhase" @@ -21744,6 +21775,9 @@ definitions: - occurred_at: "2000-01-23T04:56:07.000+00:00" message: "message" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} @@ -21920,6 +21954,9 @@ definitions: - occurred_at: "2000-01-23T04:56:07.000+00:00" message: "message" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} @@ -22014,6 +22051,9 @@ definitions: - occurred_at: "2000-01-23T04:56:07.000+00:00" message: "message" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} @@ -99769,6 +99809,9 @@ definitions: output_data: description: "Raw output data produced by this workflow execution." $ref: "#/definitions/coreOutputData" + event_version: + type: "integer" + format: "int32" flyteidladminDynamicWorkflowNodeMetadata: type: "object" properties: @@ -112058,13 +112101,11 @@ definitions: node_id: "node_id" closure: phase: {} - duration: "duration" workflow_node_metadata: executionId: domain: "domain" name: "name" project: "project" - updated_at: "2000-01-23T04:56:07.000+00:00" task_node_metadata: catalog_key: source_task_execution: @@ -112092,15 +112133,20 @@ definitions: artifact_id: "artifact_id" checkpoint_uri: "checkpoint_uri" cache_status: {} - dynamic_job_spec_uri: "dynamic_job_spec_uri" - output_uri: "output_uri" - started_at: "2000-01-23T04:56:07.000+00:00" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} message: "message" error_uri: "error_uri" + duration: "duration" + updated_at: "2000-01-23T04:56:07.000+00:00" + dynamic_job_spec_uri: "dynamic_job_spec_uri" + output_uri: "output_uri" + started_at: "2000-01-23T04:56:07.000+00:00" output_data: literals: {} deck_uri: "deck_uri" @@ -112200,6 +112246,9 @@ definitions: - occurred_at: "2000-01-23T04:56:07.000+00:00" message: "message" created_at: "2000-01-23T04:56:07.000+00:00" + full_outputs: + outputs: + literals: {} error: code: "code" kind: {} diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go index 831dcb9d02..9674204da4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go @@ -24,6 +24,8 @@ type AdminExecutionClosure struct { AbortMetadata *AdminAbortMetadata `json:"abort_metadata,omitempty"` // Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead. OutputData *CoreLiteralMap `json:"output_data,omitempty"` + // Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead. + FullOutputs *CoreOutputData `json:"full_outputs,omitempty"` ComputedInputs *CoreLiteralMap `json:"computed_inputs,omitempty"` // Most recent recorded phase for the execution. Phase *CoreWorkflowExecutionPhase `json:"phase,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go index a522ec663e..2eb31902a8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go @@ -20,6 +20,8 @@ type AdminNodeExecutionClosure struct { Error_ *CoreExecutionError `json:"error,omitempty"` // Raw output data produced by this node execution. DEPRECATED. Use GetNodeExecutionData to fetch output data instead. OutputData *CoreLiteralMap `json:"output_data,omitempty"` + // Raw output data produced by this node execution. + FullOutputs *CoreOutputData `json:"full_outputs,omitempty"` // The last recorded phase for this node execution. Phase *CoreNodeExecutionPhase `json:"phase,omitempty"` // Time at which the node execution began running. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_closure.go index 2a0cd78a25..4589e40107 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_closure.go @@ -21,6 +21,8 @@ type AdminTaskExecutionClosure struct { Error_ *CoreExecutionError `json:"error,omitempty"` // Raw output data produced by this task execution. DEPRECATED. Use GetTaskExecutionData to fetch output data instead. OutputData *CoreLiteralMap `json:"output_data,omitempty"` + // Raw output data produced by this task execution. + FullOutputs *CoreOutputData `json:"full_outputs,omitempty"` // The last recorded phase for this task execution. Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` // Detailed log information output by the task execution. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go index 4bdbd41d23..5a5bc2a440 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go @@ -25,4 +25,5 @@ type EventWorkflowExecutionEvent struct { DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` // Raw output data produced by this workflow execution. OutputData *CoreOutputData `json:"output_data,omitempty"` + EventVersion int32 `json:"event_version,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go index cde746f43e..b3855031ea 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go +++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go @@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfb\x73\xeb\xb8\x95\x2f\x8e\xfe\x3e\x7f\x05\xbe\x7b\x4e\x55\x77\x27\xb2\xdd\x49\x66\x72\x53\x9e\x3a\x75\xaf\xda\xd6\xde\xed\xd3\xde\xb6\xe3\x47\xf7\xe4\x1e\x4d\x29\x10\x09\x49\x88\x49\x80\x01\x40\x7b\x2b\xa9\xfc\xef\xdf\xc2\xc2\x83\xe0\x4b\xa2\x1e\xb6\xe5\xdd\x9c\xa9\x4a\x7b\x8b\x24\x9e\x0b\x0b\xeb\xf9\x59\xff\xfc\x37\x84\x3e\xc8\x67\x3c\x9f\x13\xf1\xe1\x14\x7d\xf8\xfd\xf1\xf7\x1f\x06\xfa\x37\xca\x66\xfc\xc3\x29\xd2\xcf\x11\xfa\xa0\xa8\x4a\x88\x7e\x3e\x4b\x96\x8a\xd0\x38\x39\x91\x44\x3c\xd1\x88\x9c\xe0\x38\xa5\xec\x38\x13\x5c\x71\xf8\x10\xa1\x0f\x4f\x44\x48\xca\x99\x7e\xdd\xfe\x89\x18\x57\x48\x12\xf5\xe1\xdf\x10\xfa\x17\x34\x2f\xa3\x05\x49\x89\xfc\x70\x8a\xfe\xaf\xf9\x68\xa1\x54\xe6\x1a\xd0\x7f\x4b\xfd\xee\xff\xc0\xbb\x11\x67\x32\x2f\xbd\x8c\xb3\x2c\xa1\x11\x56\x94\xb3\x93\xbf\x49\xce\x8a\x77\x33\xc1\xe3\x3c\xea\xf8\x2e\x56\x0b\x59\xcc\xf1\x04\x67\xf4\xe4\xe9\x77\x27\x38\x52\xf4\x89\x4c\x12\x9c\xb3\x68\x31\xc9\x12\xcc\xe4\xc9\x3f\x69\xac\xe7\xf8\x37\x12\xa9\x7f\xc1\x3f\x62\x9e\x62\xca\xcc\xdf\x0c\xa7\xe4\x5f\xbe\x1d\x84\x3e\xcc\x89\x0a\xfe\xa9\x67\x9b\xa7\x29\x16\x4b\xbd\x22\x1f\x89\x8a\x16\x48\x2d\x08\x32\xfd\x20\xb7\x44\x7c\x86\x30\x3a\x15\x64\x76\xfa\x57\x41\x66\x13\xb7\xd0\xc7\x66\x81\x2f\x61\x34\x37\x09\x66\x7f\x3d\xb6\xcb\x04\x2d\xf3\x8c\x08\x98\xdb\x45\xac\x5b\xff\x44\xd4\x10\x9a\x2d\xde\x0f\xdf\x16\x44\x66\x9c\x49\x22\x4b\xc3\x43\xe8\xc3\xef\xbf\xff\xbe\xf2\x13\x42\x1f\x62\x22\x23\x41\x33\x65\xf7\x72\x88\x64\x1e\x45\x44\xca\x59\x9e\x20\xd7\x52\x38\x18\x33\x55\xbd\xb1\xb8\xd6\x18\x42\x1f\xfe\x97\x20\x33\xdd\xce\xbf\x9f\xc4\x64\x46\x19\xd5\xed\x4a\x43\x3f\xc1\x68\x4b\x5f\xfd\xeb\xdf\x9a\xfe\xfe\x57\x30\xa3\x0c\x0b\x9c\x12\x45\x44\xb1\xe3\xe6\xff\x2a\x73\xd1\x7b\xa4\x3b\x2f\xf6\xb1\x3a\xf0\xca\x6c\xaf\x70\x4a\xf4\x9e\xe8\x9d\xb2\x5f\xc0\xdf\x82\x48\x9e\x8b\x88\xa0\x29\x49\x38\x9b\x4b\xa4\x78\x6d\x0d\x28\xb4\xa0\xc9\xab\xfa\x44\x90\xbf\xe7\x54\x10\xbd\x57\x4a\xe4\xa4\xf2\x54\x2d\x33\x18\xa4\x54\x82\xb2\x79\xb8\x14\xff\x1a\x74\x9a\x9a\xa1\xca\x0d\x66\x66\x3e\x68\x9d\xd8\x98\x0d\xdd\x2b\x11\x66\x68\x4a\x90\x3e\x8b\x34\x26\x82\xc4\x08\x4b\x84\x91\xcc\xa7\x92\x28\xf4\x4c\xd5\x82\x32\xfd\xef\x8c\x44\x74\x46\x23\xb7\x66\x87\xb3\x36\xf0\xe7\xea\x95\x79\x90\x44\xe8\x81\x3f\xd1\x98\xc4\xe8\x09\x27\x39\x41\x33\x2e\x4a\xcb\x73\x3c\x66\xf7\x0b\xbd\x0e\xe9\x94\x32\x38\x79\x7a\x2d\x1d\x85\xfc\xd6\x2d\xd7\x6f\x91\xee\x0f\xe5\x8c\xfe\x3d\x27\xc9\x12\xd1\x98\x30\x45\x67\x94\xc8\x6a\x6b\xbf\xe5\xd0\x3f\x4e\xd0\x11\xd2\xeb\x4c\x84\x82\xf5\xe6\x4c\x91\x2f\x4a\xa2\x23\x94\xd0\x47\x82\xbe\xb9\xa4\x52\xa1\xe1\xcd\xc5\x37\x03\xf4\x8d\x39\x2f\x08\x78\xd3\x37\xaf\xb0\xc2\xfe\xef\xff\x09\x8e\x9e\xc2\xf3\xea\xa1\xfb\x30\xd4\xa7\xf9\xce\x5c\x0d\x45\x0b\xff\xf3\x6f\x61\x3b\x76\xbf\x56\xf3\xdb\x82\xd9\x5a\x4e\xdb\x95\xbf\xc2\x32\x95\x59\xab\xd4\x3b\xb4\x2b\x67\xd5\xed\x56\x59\xab\x7c\x5f\xbc\x55\x4f\xe1\xa5\xf9\xeb\x2e\xcc\x15\x2b\xa0\x7a\x4c\x99\x39\x24\xfe\xcc\x08\xa9\xcf\x89\xa3\xde\x03\x61\x29\xbb\xf0\xda\x60\x66\x01\xbb\x75\x5c\x34\x58\x95\x03\x9c\x77\x42\x53\xba\x6e\x7f\x2f\x58\xac\x45\x2e\xcb\xec\x58\x9e\x4e\x89\xd0\xcb\xe0\xd8\x1e\xcc\x76\xaa\xd9\xa0\xca\x05\x23\x71\x87\x69\xfe\x3d\x27\x62\xb9\x62\x9e\x33\x9c\xc8\xb6\x89\x52\xa6\x88\x96\x6f\x2b\x8f\x67\x5c\xa4\x58\xd9\x17\xfe\xf8\x1f\x9b\x2e\x84\xe2\x8f\x64\xdd\xfe\x5f\x98\xdd\x8c\xb0\x04\x32\x48\xf3\x44\xd1\x2c\x21\x28\xc3\x73\x22\xed\x8a\xe4\x89\x92\x03\x78\x4d\xcb\xd4\x44\x1c\xf9\x1b\x08\x7a\x70\x37\x6f\x2e\xe1\x17\x34\xf3\x02\x24\x23\x5f\x14\xb4\x34\x66\x70\xf7\xc2\x12\x85\x37\xca\x0b\x2c\xe5\x76\x34\x23\xb9\x50\x93\xe9\xf2\xf8\x91\xd4\xfa\x6d\xa5\x1c\xcc\x10\x56\x4a\xd0\x69\xae\x88\x9e\xb7\x6e\xc3\xdd\x9d\xc0\x1e\xcd\x05\xdd\x85\x35\xbc\xdd\x84\x63\x2a\x48\x04\x73\xdb\xe4\xc0\xf8\xaf\xf4\xbc\xb5\xfe\xb2\x34\xb3\x7f\x24\x4b\x90\x47\x1a\x56\xc0\x6f\xf9\x98\x8d\x19\x3a\x42\xe7\xa3\xbb\xb3\xd1\xd5\xf9\xc5\xd5\xa7\x53\xf4\xc3\x12\xc5\x64\x86\xf3\x44\x0d\xd0\x8c\x92\x24\x96\x08\x0b\x02\x4d\x92\x58\xcb\x1c\x7a\x30\x84\xc5\x94\xcd\x11\x17\x31\x11\x2f\xb7\x8c\x95\xa7\x84\xe5\x69\xe5\x5e\x81\xdf\x8b\xd1\x57\xbe\xd0\x22\x86\x7f\x54\x7a\xf2\x3f\xb5\x05\x86\x19\xeb\xbe\x83\xd6\x5e\x4d\xa8\x89\x16\x34\x89\x05\x61\x27\x0a\xcb\xc7\x09\xf9\x42\xa2\xdc\xdc\xc9\xff\x2c\xff\x30\xd1\x92\x29\x8f\x49\xf9\x97\xd2\x3f\x0a\x51\x68\xe3\x4f\xbd\x96\xba\xf1\x97\xa0\xd3\x76\xfb\x0e\x7e\xa1\x71\xe3\xdb\xf0\xcb\x9a\x39\xb8\x77\x56\x0c\xd6\xbd\xd2\x3a\x2a\xf7\x82\x95\xf8\x1a\xdf\x11\x44\x89\xe5\x04\x2b\x45\xd2\x4c\x6d\xa8\xaf\x63\x94\x68\xb9\x72\x95\x1c\x79\xc5\x63\x32\x72\xfd\xfd\x15\x19\x71\x96\xc4\x68\xba\xb4\x5c\x6b\x46\x04\x61\x11\x69\x6f\xe1\x1e\xcb\xc7\xa2\x85\x75\xc2\x68\xa9\x3f\xf9\x91\x0b\xfd\xf9\x7b\x10\x48\x4b\x03\x7f\x0d\x99\x74\xdb\x13\xf7\xd5\x59\x08\xb6\xe4\x1f\xbd\x3d\x61\xf7\x95\xec\x6a\x7d\xe0\x02\xc9\xa5\x54\x24\x5d\x6b\x87\x78\x3f\x0b\x61\x2f\x88\x43\x1d\x70\xe5\x8e\xfa\x15\x9c\xfa\xf2\x8d\xdb\x1f\xef\x0d\x96\x6c\x5f\x56\xc4\x43\x9f\xa7\xf3\xe1\xac\x9e\xea\x9d\xdb\xbe\xc0\x89\xf1\x2e\xa6\x59\x92\x05\xf7\x3d\xc8\x17\x32\x37\xb4\xee\x95\x5b\xed\x09\x0c\x60\x8d\xa2\x59\xb6\x43\xfb\xf3\xa7\x3f\x0d\x2d\x34\xc6\x1c\xa7\x16\x54\x06\xc6\x2a\x14\x71\x61\x64\xc1\xd8\x9e\x77\xa3\x6b\x0e\xef\x87\x77\xa3\xfb\x53\x34\x44\x31\x56\x58\x1f\x70\x41\x32\x41\x24\x61\x0a\xf4\x78\xfd\xbd\x5a\xa2\x94\xc7\x24\x31\x1a\xe7\x47\x2d\xf9\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\x84\x7f\xea\x8f\xa9\x44\x38\x91\x1c\x61\x47\x56\x24\x76\x4d\x60\x16\x3b\xd6\x82\x51\xc4\xd3\x8c\x26\xde\x06\xef\x8d\x2b\x94\xc5\xf4\x89\xc6\x39\x4e\x10\x9f\x6a\xae\xa2\x35\xe4\xd1\x13\x61\x2a\xc7\x49\xb2\x44\x38\x49\x90\xed\xd6\xbd\x80\xe4\x82\xe7\x49\xac\xdb\x75\xa3\x94\x34\xa5\x09\x16\x5a\x05\x37\xa3\xbd\xb6\x6d\xa1\xfb\x05\xf1\x63\x85\x71\xe9\xd5\x4c\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x34\x29\xce\xfc\xc3\x05\x82\x71\x9f\x5d\x5e\x80\x3e\x1f\x29\xc4\x0d\x0f\x75\x9d\x5b\xfb\x8d\xeb\x31\xc5\x8c\x11\xe8\x98\xab\x05\x11\xb6\x7b\xfb\xf2\x5b\xab\xe6\x0f\x57\x77\x37\xa3\xb3\x8b\x8f\x17\xa3\xf3\xba\x6e\x7e\x3f\xbc\xfb\xa9\xfe\xeb\x2f\xd7\xb7\x3f\x7d\xbc\xbc\xfe\xa5\xfe\xe4\x72\xf8\x70\x75\xf6\xe3\xe4\xe6\x72\x78\x55\x7f\x68\xc9\xaa\xb3\x9a\x1f\x8e\x6c\xc3\xb3\xd5\xdb\x34\x5f\xca\xa6\x39\xf8\x7a\x8d\x9a\x33\x9a\x80\x0e\xda\xd9\xa0\xe9\x6d\x08\xf6\x4b\x94\x61\x29\x8d\x64\x64\x46\x70\x3c\x66\x9f\xb9\xd0\x0c\x6c\xc6\x35\x8f\xd0\xd2\x93\x12\x79\xa4\x28\x9b\xfb\x8f\x4e\xd1\x38\xff\xfe\xfb\x3f\x44\x97\x94\x3d\xc2\x5f\xe4\x10\x17\xa7\xb7\xf8\xf6\x16\xdf\x5f\x97\xc5\x57\x8b\x3e\x27\xa1\xa1\x77\xbf\x21\x43\x5a\xb8\x60\x59\xae\x40\x94\xe0\xb9\xd2\x7f\xea\x2e\x81\x3c\x56\x04\x0e\x75\x33\x28\x7e\x22\xca\xbf\xa8\x45\x9b\xf7\x60\x47\xfc\x85\x8b\xc7\x59\xc2\x9f\xfd\xc0\x3f\x11\xa5\xc7\x7e\x6b\x7b\xe9\x43\x89\xfa\x50\xa2\xb7\x0d\x25\x3a\x28\x63\xde\xcb\x33\xbf\xb2\xe5\xcf\x70\xc0\x16\x4f\x56\xab\xa3\xaa\xc5\x0f\x15\xb8\x99\x5e\x85\x6b\x96\x9d\x39\x6b\x38\x67\xe9\xe5\xf7\xc2\x3d\x4b\x83\x7e\x7d\xce\xf9\xab\xf0\xb7\xf4\xee\x94\x2d\x17\xea\x5d\x32\xd8\x8e\x77\xc7\xab\x39\x43\x5e\x9e\xe1\xd7\x62\x1b\x36\x09\x66\xd8\x20\x7a\xa1\x73\xb8\xc2\x9a\xf8\x84\xc6\x80\x84\xa6\x08\x84\x7a\xc8\x41\x63\x8c\xc1\x6e\x41\x05\xdb\xde\x4d\xdd\xc3\x04\x3e\x11\x55\x7a\xf9\xbd\xdc\x4d\xa5\x41\xbf\xfe\xdd\xf4\x2b\x8d\x0e\xe8\xc3\x01\x5e\x70\xe9\xbe\xf6\x1b\xed\x70\x1d\xfe\xbf\x02\x0f\x7f\xef\xd2\xdf\x68\x8d\xbe\x2e\x1f\xfe\xd7\xea\xb4\x7f\x9f\x5e\xfa\xde\x2d\xdf\xbb\xe5\xdf\xc2\x7f\xf2\xfe\xdc\xf2\x2f\xab\x9e\x16\xc7\x6b\xe2\x68\xc1\xea\x6b\xc1\xa1\xfc\x57\x07\x27\x0d\xfc\xe5\x54\xbe\x4d\x83\xc6\x5b\x75\xb8\xf3\x62\x7c\x23\x38\x42\x7f\xb5\x84\xb4\x46\x9d\xab\x7d\xf7\x1e\xd4\xb9\xfa\xa0\x5f\x5e\x87\x7b\x33\xe6\xfb\x42\x97\xe7\x3b\x61\x03\x9b\xdf\x96\x5f\xb1\x4c\xde\xcb\xe2\x2f\x9f\x8d\x7f\x30\x13\x7a\x3f\xb2\xf7\x1b\x5c\xbc\x1d\x6f\xdd\xbd\xe7\x64\x35\x5c\xb3\xc1\xed\xb4\x2e\xc3\xaa\xfa\x35\x25\xf2\xf7\xef\xf2\xbe\x7d\x8d\x24\xab\xfe\xc2\xed\x2f\x5c\xdb\x54\x7f\xe1\x7e\xc5\x17\xee\xc1\xc1\xdf\x1c\x4c\x04\x68\x1f\x44\xde\x03\x63\xf4\x31\xe4\x7b\x5c\x9c\x3e\x86\xbc\x8f\x21\xff\x95\xc5\x90\xef\xa2\x3d\x6d\x8b\x45\xf9\x16\x7a\x54\xaf\x46\xf5\x6a\x54\xf8\x7b\xaf\x46\xf5\x6a\x54\xaf\x46\x7d\xe5\x28\xa2\xbd\x0e\xd5\x7d\x21\x7a\x1d\xaa\xf3\x52\xf5\x3a\xd4\x8a\xc5\xe9\x75\xa8\x5e\x87\xfa\x75\xe9\x50\xe4\x89\x30\x25\x21\x19\x2d\xd4\x28\x3e\x64\x5c\xb6\x6b\x42\x21\x77\x68\xd0\x82\xa0\xcd\x72\x52\x18\x04\x2e\xfd\x15\x2d\xb0\x44\x3c\x8a\x72\x51\x39\x03\x55\x3d\xe8\x4c\x10\xac\x08\xb4\xa0\x3f\x7c\x0f\xfa\x4f\x7d\xba\xaf\x15\x83\x3f\xe5\x71\x8d\xda\xcd\x41\x68\x7a\xb2\x5a\x1e\xd9\xdb\xd4\xff\x9e\x93\x6e\xea\xdf\x0b\x12\xb5\xc2\xf2\x71\xcf\x44\x5d\xca\xb5\xd8\x8a\xa8\xa1\x85\xf7\x42\xd4\xf5\xe9\xfe\x6a\x88\xba\x69\xea\x87\x40\xd4\xcf\x36\x8f\x7f\xcf\x84\x5d\x83\x07\xd8\x8a\xb8\x7d\x2b\xef\x85\xc0\x9b\xa7\xfd\xab\x21\xf2\xb6\xe9\xbf\x2d\xa1\xfb\x14\xc9\xce\x24\x7e\x2f\xe8\x7c\xae\xd5\x0c\xd0\xf0\x34\x29\xae\xaf\x11\x54\x24\x05\xae\x25\x6b\xff\xea\x7b\x20\x69\x3f\x58\x33\xf6\x5f\x0d\x2d\xd7\xe6\x7d\x20\x44\x7c\x22\x48\xc4\x9f\xa0\x5e\x58\x37\x62\xbe\x25\x40\xc1\xc0\xaf\x33\x41\x9e\x28\xcf\x65\xb2\x3c\x12\x39\x43\x8e\xf9\x23\xdf\xbc\xb1\x56\x3f\xd3\x24\x41\x9c\x69\xfd\x4b\x61\xa1\xdc\x63\xad\x7f\x0b\x9e\xc2\xa9\x48\xb0\x54\xe8\x91\xf1\x67\x86\x66\x98\x26\xb9\x20\x28\xe3\x94\xa9\xe3\x31\xbb\x60\xe8\xd6\x8c\x11\xf2\x06\x06\x28\x97\xfa\x2c\x45\x98\x31\xae\x50\xb4\xc0\x6c\x4e\x10\x66\x4b\x9b\x80\x5b\x50\x06\xe2\x02\xe5\x59\x8c\xb5\xe2\xbb\x20\xd5\x28\x3d\x3f\x46\x30\xdf\x51\x89\xa8\x44\xe4\x8b\x12\x24\x25\xc9\x52\xf7\xa1\x69\x5f\x71\x64\xd7\xc7\x0c\xd5\xa6\xf3\x11\x21\xb8\x90\x90\x71\x30\x5d\xfe\x03\x33\x45\x19\x41\xa0\x28\x49\x63\x9a\x3b\x42\x97\x5c\x82\xd9\xe6\xa7\x3f\x49\x14\x25\xb9\x54\x44\x0c\xd0\x34\x9f\x4b\xad\x29\x66\x09\x56\x33\x2e\x52\x3d\x42\xca\xa4\xc2\x53\x9a\x50\xb5\x1c\xa0\x14\x47\x0b\xd3\x16\xac\x81\x1c\x8c\x59\xcc\x9f\x99\x54\x82\x60\xdf\xbb\x7b\x88\xbe\x0d\x9f\x19\x02\x90\xdf\x0d\x20\xed\x90\xa6\x5a\xdd\x0d\x86\x5f\xec\xb8\xd9\x13\xdd\x08\x89\xd1\x94\x44\x38\x97\xd6\xc3\xa0\xc4\x12\x91\x2f\x0b\x9c\x4b\xd8\x3b\x3d\x3d\x9b\xb3\x11\xf1\x34\x4b\x88\x22\x88\xce\x90\x12\x94\xc4\x08\xcf\x31\xd5\x4b\x77\x47\x56\x80\xa0\x7b\xa2\xb7\x1b\x68\xa9\xfe\xaf\xa0\x7e\xa7\x5c\x10\x14\x13\x85\x69\xb2\xd2\xeb\x64\xbf\xed\xb9\xdc\x7b\xe2\x72\xe5\x0d\x3f\x08\x36\x67\x40\xfc\xf7\x70\x69\x33\x6b\xba\x8f\x70\xb2\xe3\xfd\x7d\x6b\x07\xd5\xd3\xf6\xfb\xa2\x6d\xb3\x6b\x87\x43\xdc\xaf\x16\x83\xdd\xbd\xa2\x45\x51\xcd\xe2\x5d\xd1\xf4\x6b\x84\x05\xf4\x0e\xe7\xde\xe1\xdc\xba\x32\xef\xd3\xe1\x7c\x30\x1e\xa3\xde\xe7\xfc\x42\x3e\x67\x2a\x7b\xa7\x73\xef\x74\xee\xba\x40\xbd\xd3\xb9\x77\x3a\xbf\x5f\xa7\xf3\x4b\xe2\x3e\xef\x15\xdd\xf9\x5d\x89\xd6\xbd\x58\xdd\x8b\xd5\x3d\x84\xb3\x9f\xda\xbe\x58\x98\xfb\xfa\x43\x4c\x12\xa2\x48\xbb\x3d\x8b\x88\x54\x6b\x0b\xe6\x7a\xa6\x4c\xcb\x71\x73\x41\xa4\xdc\x95\x21\xf9\x86\xdf\x27\x5b\xf2\xc3\xef\xa1\xe6\x7b\x3e\xd5\xf3\xa9\x6d\xa6\x76\x38\xa6\xd9\xe0\x30\xbf\x96\x6d\xd6\xf3\xdf\x2c\x6f\x97\xfe\x1e\x8c\x1b\xb2\xf0\x8b\x1a\x0a\xd7\x52\xbb\xe2\xfe\x70\x5b\x3a\xdf\x91\x1f\x9b\xbe\xde\x27\x33\x36\x63\xef\x39\x71\xcf\x89\x7b\x4e\xfc\xbe\x39\xb1\x3b\xc9\x6f\xea\x22\x33\x7e\xba\x49\x96\x60\x36\xa1\xb1\x3c\xf9\x67\xa1\xcb\xbf\x94\x87\x4c\x1f\xa8\xd8\xa4\x98\xfa\x94\x4e\xf1\x57\xfd\x49\x52\x18\xcc\x3d\x66\xe6\x1a\x27\x9a\xb1\xb1\xdf\x24\x98\x5d\xc4\xef\xc2\x8f\xd6\x38\xfb\xd7\xf0\xa9\xed\xc2\xc7\xb1\x02\x4f\x07\xa6\xcc\x98\xf0\x8a\xbc\xda\x92\x81\xf2\x30\x4e\xf8\x2e\x5c\x3d\x98\x58\xc0\xd8\x1d\xbf\x0e\x16\xe5\xf0\xa6\xdd\xfb\x75\xfa\x5c\xc2\xde\x73\xd1\x71\xc2\xbd\xe7\xe2\x70\x3d\x17\x6f\xe5\x8e\x7c\xe5\xe3\xf9\x5a\x62\x5d\xf7\x20\x7c\x13\xad\x06\x41\xad\x79\x96\x70\x1c\xaf\x72\xc5\x14\x82\x57\x08\x8e\xb2\x36\x12\xbf\xf8\xec\x3d\x08\x6b\xc5\x68\x7f\x65\x91\x7c\xf5\x89\x1f\x8a\x96\xf2\x8a\xa1\x7c\xcd\x24\xbe\x81\x4a\xf2\x3e\xf0\x53\x8b\xf1\xf6\xa1\x7d\xbd\x45\xe9\xed\x2d\x4a\x7d\x68\x5f\xaf\x02\x1e\x98\x0a\xd8\x87\xf6\xf5\xa1\x7d\xbd\x82\xbc\x7a\xda\xbd\x82\xfc\x55\x84\xf6\x75\x12\xb5\x5f\x10\x7b\x73\x77\xa1\xbb\x97\xb9\xdd\x7b\xbd\xcc\xdd\xcb\xdc\x5f\xa9\xcc\x7d\x18\x2b\xdc\x0b\xdc\xbd\xc0\xdd\x0b\xdc\xbd\xc0\xdd\x0b\xdc\x7b\x5f\xc6\x5e\xe0\x7e\xcd\x02\x9d\xcd\x52\xf7\x9a\x24\x9b\xf7\xea\xcb\xe9\xc5\xed\x5e\xdc\x3e\x6c\x71\xfb\x60\x26\xf4\x7e\xca\x3c\x76\x9b\x4f\x5f\xa4\xbc\x2f\x52\xde\x17\x29\x7f\xf1\x22\xe5\xee\xeb\x0e\x19\x1f\xf6\x70\x29\xac\x72\x69\x00\x1f\x05\x99\x53\xa9\x80\xfd\x77\x91\x57\xd6\x27\x7a\xbc\x57\x39\xa5\x4f\xf5\xf0\x4f\x7b\xa9\xa5\x97\x5a\x7e\xa5\x52\xcb\x01\xc5\x82\x1d\x44\xc6\x4a\x8a\x55\xb4\xc0\xd3\x84\x4c\xbc\xd1\x47\x76\xd5\x83\x2f\xa9\x54\x12\x45\xb9\x54\x3c\x6d\xbf\x5c\x3e\xbb\x1e\x86\xbe\x83\x33\xce\x66\x74\x9e\x9b\xbb\xc5\x80\x73\x06\x27\xba\x90\x04\x97\x19\x59\xe7\xa9\x6a\x68\xfd\x5d\x5c\x4b\xcd\x43\x7f\xad\xdb\x69\x13\xc1\xbd\x30\xf2\x59\xa9\x5b\xcb\x5a\x93\xdb\xd1\xdd\xf5\xc3\xed\xd9\xe8\x14\x0d\xb3\x2c\xa1\xc6\xee\x6e\x48\x81\xfe\x43\x4f\x0a\x29\x2c\x1f\x8b\xbd\x14\x86\xcc\x0d\x86\x2d\x18\xfa\xb5\x6c\x8c\x8e\xd0\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xa5\x41\x4b\x28\x90\xb7\x4a\xd2\x2c\xc1\x8a\xc4\xe8\x31\x9f\x12\xc1\x88\x96\x76\x2c\xd2\x6d\x61\xfe\x37\x8d\x8e\xfe\x7b\x74\xf6\x70\x7f\x71\x7d\x35\xf9\xf3\xc3\xe8\x61\x74\x8a\x1c\xc5\xe9\x66\xf5\xb8\xf4\x28\xe2\x25\xc3\xa9\xd6\x40\xf4\x0f\x45\xa6\xec\xdf\x73\x92\x13\x84\xa5\xa4\x73\x96\x12\x40\x04\x2e\xb5\xe8\x06\x7c\x39\xfc\x61\x74\x59\x6e\x79\x41\x42\xf8\x5d\x94\xe0\x29\x49\xac\x3f\x02\x4c\xec\x9a\xd0\x03\xa8\x62\xe3\xa8\xc8\xcd\xaa\xfe\xf9\x61\x78\x79\x71\xff\x97\xc9\xf5\xc7\xc9\xdd\xe8\xf6\xe7\x8b\xb3\xd1\xc4\x4a\x95\x67\x43\xdd\x6f\xa9\x27\x2b\x7c\xa2\xbf\xe7\x38\xd1\xda\x09\x9f\x39\x3c\x5e\xf4\xbc\x20\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf9\xf0\xe9\xe2\x6a\x72\xfd\xf3\xe8\xf6\xf6\xe2\x7c\x74\x8a\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\xe7\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x02\x3f\x51\x2e\xec\xd1\x9d\xd3\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x09\x96\xee\xfa\xea\xe3\xc5\xa7\x53\x34\x8c\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x95\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xbc\xbb\xbb\xf8\x74\xf5\x79\x74\x75\x0f\x2b\xa6\x04\x4f\x24\x5a\xf0\x67\x30\x65\xc3\x0c\xc1\xc2\xfd\x84\x69\x02\x9d\xb9\xcd\xe2\x0c\x3d\x2f\x28\xb8\x3f\x00\x98\xd9\xf7\x6c\xf4\x33\x91\xb3\x37\xb7\xce\x96\x0e\x5e\x5d\x6d\xa9\x9e\xa4\xfa\x1b\x95\x63\xb1\xea\x85\x12\x95\xd7\x5f\x5c\x47\xad\xf5\x2f\x2a\xe4\xd6\xae\xac\xd5\xe8\xa5\x7d\xa6\xc5\x5e\x77\xd6\xd5\xca\x6b\xf8\x7a\xd7\x2c\x51\x82\x46\xf2\x65\xa1\x9e\x44\xce\x14\x4d\x09\xb2\x9d\xd9\xc3\xb9\x47\xf8\xa7\xcf\xa6\xe1\xf7\x70\xc1\xd6\x4a\x39\x7c\x22\xca\x0e\xbf\x57\x01\x7b\x15\xf0\x30\x54\xc0\xf7\x96\xed\x1f\x93\xac\xde\x61\x65\x62\xf0\x8e\xf1\x7a\xd5\x82\x34\x8c\x3d\xd1\x5a\x54\x13\xf2\x44\x12\x90\xf2\x94\xc0\x5a\x69\xb4\xb2\xcb\x54\x10\xfc\xa8\x05\xbe\x98\x3f\x87\x92\x4b\x03\x72\x3f\xda\xcf\x2d\xdc\x25\x88\xe3\x0f\xbf\x7f\xbd\xcb\x42\x2f\x77\xfc\x1a\x25\xbc\x6f\x21\x48\x66\x25\x46\x60\x90\x60\xff\x57\x6b\x09\x5e\x73\x5b\x04\x5f\xbc\x87\x8b\x22\x1c\xee\x01\x69\x5d\xb7\xa1\x12\xec\x58\x68\x4a\x14\x8e\xb1\xc2\xfa\xd0\xcc\x89\x3a\x46\xd7\x0c\x9e\xdd\x63\xf9\x38\x40\xee\xca\xd3\x6c\xa5\xb0\x32\xbc\x42\x6a\xfd\x3b\x31\xe0\x6f\xce\xc7\xfb\xeb\xbb\xbf\xbe\x9b\x57\xa6\x0f\xf3\x6c\x59\xe1\x7d\x5d\x8c\x1b\xf9\xbc\xf6\x77\x7f\x99\x16\xdf\xef\x15\xf6\xba\x4e\xae\xbd\x5e\x68\xa6\x72\x56\x7f\x5b\x99\xff\xeb\x6f\xab\xfe\xb6\xea\x6f\xab\x03\x58\xe1\x37\x77\x18\x36\x70\xf7\x37\xf5\x18\xae\xd3\x4e\xb7\x86\xbc\x2b\xb4\xd1\x4d\x40\xef\xfe\xda\x15\xdb\xae\xf8\x86\xbe\x0f\x1f\x61\x30\xc9\xd7\x48\x6b\xdb\xeb\x65\x6e\xf2\x45\x7a\xfd\xf4\x05\x6f\xfc\x1e\x81\x70\xaf\x08\x84\x87\x31\xd7\x17\x49\x81\x7b\x1b\x8b\xe9\xdb\xa7\xbd\xf5\x50\x83\x7d\x62\x57\x9f\xd8\x05\xbf\xf7\x50\x83\xfb\xa3\xd6\x97\x95\xae\x79\x4c\x26\x95\x28\x01\xff\xcf\x49\xd5\xf3\x53\x7a\x12\xba\x81\x4a\x0f\x8a\x4c\x37\x68\x9d\xc6\xfb\x2c\x22\x75\xc5\x63\xd2\x39\x92\xa0\xf4\xf2\x81\xcb\xe0\x6e\x9e\x46\x16\x2f\x0d\xfc\x85\x25\xf1\x96\x2d\xff\x1a\x0d\x3b\x0d\x04\xdc\x5b\x79\xd6\x2e\xd4\xd7\x1a\x5f\x50\x70\xa8\x77\xe4\xa9\xe8\xc6\xc6\x5d\x4c\xe3\xa4\x85\x99\x37\x3f\xf7\x2c\xbd\xf9\xf1\xcb\x60\x06\x75\xe7\xe8\x60\x56\x09\xdf\x7e\x1f\x76\x95\x70\xc4\xaf\x61\x59\x59\xb9\xf7\x5f\x1d\x57\x5f\x45\xc9\x3d\x6f\xef\xb8\x5c\x5f\x2b\x87\xef\x21\x7e\x56\xd9\x3a\x7a\x0c\x9d\xde\xd4\x72\x38\x13\xee\x4d\x2d\xef\xda\xd4\x62\x5c\xb4\x93\x0c\x0b\xc2\x54\x83\x48\x5d\xbd\x4e\xe0\xf5\x10\x73\xc1\x49\x1d\xd0\x00\xd2\x12\x2d\xb2\x17\xb2\xbf\xaa\xbe\x2e\xdb\x8b\x15\x0c\x82\x4c\xc8\x93\x7f\x16\x7f\x7b\x61\xbd\x54\x01\x62\x45\x74\x92\xc1\xfa\x97\xfa\x8e\xce\x6d\xa0\xd2\xee\xb9\x92\x58\x95\x44\x41\x08\xa2\x5e\x1b\xcf\x74\x63\xde\x7e\x5f\x29\x92\xb5\x41\xbf\x6e\x6c\x53\x7d\xe3\xbb\x1d\x20\xb7\x33\xd4\xa4\xfb\x05\x39\x65\x5a\x1a\xe5\xb3\xe2\x62\x90\xe8\x99\x26\x09\x20\x8a\x40\xc6\x63\xdb\x0d\xf0\xab\x8b\x78\x68\xdd\xf9\x37\x8d\x7b\x68\xe2\x0e\x4d\x2c\xa1\x8b\x3d\x75\x5f\x39\xd3\x8e\xd8\x20\x9d\x15\xb4\xa1\x35\x06\xd8\xaf\x83\x13\x7c\x22\xea\xb5\xd8\xc0\xb6\x67\x7f\xe5\xb9\x17\x64\x46\x04\x61\x11\x39\x40\x6f\xfb\x26\x61\x20\xbf\x98\x49\xda\x18\x10\x0f\x25\x10\x4e\x55\x71\xab\xa7\x95\x44\xdd\x3e\x93\xbc\xcf\x24\xef\x33\xc9\xab\x47\xbd\xcf\x24\xef\x33\xc9\x1b\x73\x20\x62\x92\x10\x45\x5a\xa5\x8a\x73\x78\xfc\x56\x52\x85\xe9\xfd\xeb\x10\x2c\xcc\x5c\x7a\xd9\xe2\x57\xa3\x59\xb8\x0d\x3f\x08\xcd\xc2\x9c\xb5\x75\xe6\x87\xd2\x8f\x0d\x21\xd6\xaf\x6e\x92\xd8\x86\x69\x94\xec\x12\xe7\xf0\xfa\xbb\x64\x1d\xd5\xa1\xf7\x36\x0a\x14\x6c\xdd\xcb\x71\x92\xda\x11\xe8\x36\x71\xeb\x31\x7c\xbf\xf3\x3e\x14\x0e\xda\x46\xf7\x87\xca\x47\xb7\x4e\x4a\x39\x14\x8b\xcd\x57\xc4\x23\x7b\xeb\xcd\x1b\xe7\x4a\xd4\x98\xe1\xbb\x9d\x6e\x6f\xac\xea\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\x2a\xd4\x1b\xab\x36\x36\x56\x7d\x45\x32\x55\x6f\xb8\xea\xc5\xaa\xfd\x4d\xf7\x50\xb5\xcc\x43\xb2\xd6\x75\x46\x49\x2f\x72\xa8\xd6\x46\xde\xdb\x69\xff\x75\x4d\xc8\xfd\x8d\x1b\xc1\xfb\xe1\x57\xf2\xa5\x59\xd2\x2e\x81\xc5\x6e\x47\xbf\xda\xb8\xe2\xbe\x74\x68\xe3\x5a\xf5\x61\xcf\x2b\x16\xa7\x0f\x7b\xee\xc3\x9e\x0f\x2e\xec\x79\xef\xca\x4a\xc6\xe5\x2a\x40\x22\x53\x3a\x6b\x65\xfe\xb3\xbb\xb3\x21\xd1\x08\x48\xc1\xa0\x1c\xc7\x24\x4b\xf8\x12\x2c\x29\x2b\xae\x73\xd7\xc5\x4d\x4d\xa2\x3e\xf4\x1b\xdd\x8d\xfc\xb5\x74\x8e\x43\x91\x49\x8b\x79\x1f\x84\x14\x7a\xf2\xcf\x4a\x3a\x7f\x27\xbc\x4c\x86\xc8\x17\x2a\xe1\x56\x5a\x4f\xd8\x63\xd6\xfc\x24\x28\x5d\x68\xef\xc1\x69\xae\x82\xdc\x3d\xa9\x05\xab\x8c\x08\xb5\x0c\xde\x24\x69\xa6\x96\xff\x35\x66\x54\x79\x0f\x1b\x9d\x33\x2e\x0c\x57\xd3\x1f\x2f\x30\x8b\x13\x22\xf4\xa5\xea\xda\x89\x30\x63\x5c\x81\xb8\x01\x33\x88\xd1\x13\xc5\x46\x38\x19\xde\x5c\x74\xf6\x33\xbf\xa3\xd3\xf5\xda\xc5\xea\xd6\xdc\x75\x9f\x12\x3e\x85\x0a\x96\x79\x59\xa7\xd7\x0d\xf4\x9e\xd1\xd2\xce\xbd\x15\x43\x50\x58\x3e\x56\x81\x43\xca\x59\xe8\x93\x95\x50\x22\x6b\xde\x2d\x61\xcc\xaf\x7e\xb5\x02\x37\x52\x7e\x66\x01\x48\xe0\x31\x0c\xb9\x3a\x0e\xf7\x63\xd8\xa1\xfb\xad\x68\xd9\xfd\xe2\x4a\x77\xc3\x8f\x82\x28\xb1\x9c\x60\xa5\x34\x93\xd9\x27\xc6\xc9\x3d\x96\x8f\x9d\x31\x4e\x4a\x2f\x1f\x38\xcb\x29\x61\x9c\x94\x07\xfe\xe2\x2c\xa7\x23\x75\xae\xe1\x4c\xef\x2f\x3f\xbe\xeb\x59\xdb\x60\xe2\xbf\x96\x5c\xf9\x6e\xbc\x67\x9d\x99\xf6\x3d\xe6\xcd\xaf\x62\xa6\x07\x33\xc2\x0a\x3f\xff\x1a\x4f\x6e\xf9\x76\xea\x8f\xe8\xaa\x35\xfa\xea\x0a\xe1\x56\x84\x8e\x35\x73\x7b\x27\x05\x71\xab\x72\xd3\xbe\x47\xf5\x32\x66\xee\x60\x37\x36\x89\x01\xba\x28\xa3\x95\xfb\x33\xe4\xa2\x82\x8a\xd2\xb3\x0b\x48\xb4\xa6\x32\x4c\x88\x8f\xb8\x30\x92\x57\x6c\xcf\xac\x31\xdb\x19\x30\xdf\x53\x34\x44\xb1\xad\xcd\x2f\x48\x26\x88\x24\x4c\x19\x55\xdb\xd4\xbb\x72\xe5\xfd\x29\xb3\x16\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\xf4\x85\xfd\xa9\x44\x38\x91\x1c\x61\x47\x38\x24\x76\x4d\x60\x16\x3b\xf6\x80\x51\xc4\xd3\x8c\x26\x1e\xa9\xdd\x5b\xf1\x29\x8b\xe9\x13\x8d\x73\x9c\x78\x64\xec\x31\x1b\x3d\x11\xa6\x72\x50\xe1\x70\x92\x20\xdb\xad\x7b\x21\xd0\xcf\xdd\x28\x25\x4d\x69\x82\x05\x52\xdc\x8e\xf6\xda\xb6\x85\xee\x17\xc4\x8f\xd5\xa1\x80\xa3\x14\x3f\x12\x89\xa8\x42\x19\x97\x92\x4e\x93\xe2\x18\x3f\x5c\x20\x18\xf7\xd9\xe5\x05\x98\x46\x23\x85\xb8\xe1\x83\xae\x73\xeb\x27\x70\x3d\xa6\x98\x31\x02\x1d\x73\xb5\x20\xc2\x76\x6f\x5f\x7e\x6b\x2b\xe7\x5b\x63\x44\xb7\x5b\x4c\xc3\x91\xbd\x9d\xd2\xd9\x59\xe3\xec\xaa\x6e\x76\xd3\x35\xdb\x15\xcd\x17\xf0\xd2\x76\xd7\x06\x2f\xa9\x2c\xab\x83\xef\xc2\x65\x5b\x1a\xf1\x6b\xe0\xa3\xfd\x4a\x15\xc1\x5e\x0b\x7c\x91\x75\xfb\x5a\x55\xc0\x03\xd7\xff\x7a\x64\xb7\x1e\xc5\xbe\x0f\xc0\xd8\xe3\xe2\xf4\x01\x18\x7d\x00\xc6\x57\x1b\x80\xd1\xae\x4d\xd0\x78\xe7\x74\xbd\x0d\x2b\x48\x79\xa3\x80\xf8\x2b\x88\x52\x58\x3e\x76\xad\x29\xa5\x45\xe5\x8b\xf8\x5d\x48\xf5\x8d\x13\x7e\x0d\xe9\xbe\xaf\x53\xb4\xd7\x3a\x45\x07\x37\xed\x5e\xf0\xeb\x05\xbf\x5e\xb6\xe9\x38\xe1\x5e\xb6\x39\x5c\xd9\xe6\xad\x14\x96\xaf\x09\x42\x57\x0b\x4f\xa5\xcc\x98\x95\x01\xb6\x06\x8e\x06\xdc\x03\x79\x96\x70\x1c\xaf\x0b\xc2\xf9\x2b\x2a\xe4\x9a\x15\xa2\x99\x69\x57\x7f\x70\xe0\x92\x59\x2d\xfe\xc6\x8c\xfc\xd7\x10\x53\xdb\x3a\xf5\x37\x0d\xab\x05\xfa\x85\x60\xb2\x52\x50\xda\x4b\x69\x21\x55\x9a\xee\xa4\x70\xc8\xdf\x1f\x38\x55\xfb\x2d\x7d\x0d\xf5\xe2\x2b\x76\x10\xf4\x4e\x80\x5f\x67\xe1\xf3\x83\x91\x5a\x7b\xd5\xae\xcf\xaa\xec\x8d\xfa\xbd\xe2\xdb\x2b\xbe\x7b\x5f\xc6\x43\x52\x7c\xdf\x50\xa2\x36\x69\x22\x2f\x52\xc6\x70\x3b\xd9\xba\x17\xad\x7b\xd1\xba\x17\xad\xbf\x5a\xd1\xfa\x30\x56\xb8\x97\xab\x7b\xb9\xba\x97\xab\x7b\xb9\xba\x97\xab\xf7\xbe\x8c\xbd\x5c\x5d\x91\xab\xe1\x2f\x97\x26\xbd\xa9\x90\xdd\x59\xb8\xee\x90\x13\xfd\x5e\x24\xeb\x5e\xaa\xee\xa5\xea\xc3\x96\xaa\x0f\x66\x42\x5f\x5f\x22\x64\x9f\x4a\xd8\xa7\x12\xf6\xa9\x84\x6f\x91\x4a\xe8\x78\xc9\x2a\x09\xa5\x2e\x58\xfc\x5c\xe3\x40\x07\x2b\x5b\x14\xa3\xdd\x36\xbc\x63\x5f\x4b\xed\x80\xe6\xb7\xa9\x34\x55\xfa\xcd\x35\x74\x40\xf5\xa7\x06\x4e\x5a\xd0\x8c\xc2\x8d\x6f\x3d\x42\xd8\x2f\xf6\xcd\xf7\x05\x06\x5e\x1f\x75\x5f\x7f\x0a\x05\xbb\xd6\xd7\x9f\x7a\xc1\x79\xbb\xc3\xb5\x66\xe6\x8e\x46\x8d\x8d\xf7\x9d\x4e\xfb\xcd\xc1\xe5\xda\x4f\xfa\x9b\x86\xcb\x35\xde\x24\xb5\xe4\x9d\x93\x7f\x36\x5e\x14\x6f\x50\x76\x6b\xe3\xdb\xe1\x13\x51\x5f\xcb\xd5\xd0\x97\xdd\xea\xeb\x43\xec\x69\xba\x5b\xb1\xfe\x77\x3b\xdb\xbe\xc8\x58\x5f\x64\xac\x2f\x32\xd6\x17\x19\xeb\x8b\x8c\xa1\x5f\x79\x91\xb1\x8d\xc5\x47\x33\x8e\xaf\x45\x82\xec\x8b\x8c\xf5\x42\xe4\xfe\xa6\xfb\xeb\x12\x22\x0f\xd0\x82\x70\x10\xd5\xd4\xbc\x05\xe1\xcd\x71\x3f\xdc\x48\xba\x62\x7f\xb8\x05\xed\xf1\x3f\xec\xff\xf5\xf8\x1f\x3d\xfe\x47\xcb\xac\xfb\x60\xd6\x1e\xff\x03\xf5\xe1\x9a\x7d\xb8\xe6\x21\x87\x6b\x76\xd8\xc6\x1e\xff\xa3\xa3\x38\xf7\x42\x18\x20\x4e\xe6\xda\x08\x07\xe4\x97\xba\xa2\x71\xb0\x52\x9a\x1b\xeb\xaf\x07\x07\xa4\x71\xda\x07\xa1\x92\xbc\x22\x0e\x48\x13\x5d\x77\x56\x40\xde\x07\x1e\x88\x1b\x6d\x9f\xb8\xd8\x87\x58\x1f\x7e\x88\xf5\xc1\x25\x2e\x1e\x8c\x24\xdb\xab\x7b\x7d\xee\x62\x9f\xbb\xd8\x2b\xc3\xbd\x32\xbc\xf7\x65\x3c\x24\x65\xf8\x8d\x25\xec\x17\xc4\x05\xd9\x4d\xd6\xee\x45\x6d\xf3\x5e\x2f\x6a\xf7\xa2\xf6\x57\x2a\x6a\x1f\xc6\x0a\xf7\x72\x76\x2f\x67\xf7\x72\x76\x2f\x67\xf7\x72\xf6\xde\x97\xb1\x97\xb3\x5f\x0d\x27\xa4\x49\xd8\xee\x98\x6f\xf3\x9e\x24\xed\x5e\xca\xee\xa5\xec\xc3\x96\xb2\x0f\x66\x42\x3d\x66\x48\x8f\x19\xd2\x63\x86\xf4\x98\x21\x5b\xc9\x37\xff\x66\x8f\xe5\x87\xe0\x26\xf6\x57\xf6\x87\x1f\x12\x3e\xbd\x5f\x66\x44\xff\xf7\x9c\xa6\x84\x49\x90\x46\xa9\x5a\x86\xf2\x4c\xcb\xca\xd7\xd7\xfc\xc3\xdd\xc5\xd5\xa7\xcb\x30\x9b\xe6\xc3\xe7\x87\xcb\xfb\x8b\x9b\xe1\xad\x5f\x17\x3f\xab\x70\x2d\xec\x77\x25\x91\xcc\x92\xfc\x2d\xd1\xba\x27\x9c\x9a\x3b\x85\x55\x2e\xb7\x1b\xd9\xed\xe8\x6e\x74\xfb\x33\x64\x03\x4d\xce\x2f\xee\x86\x3f\x5c\x96\x08\xa2\xf4\x7c\x78\xf6\xe7\x87\x8b\xdb\xf6\xe7\xa3\xff\xbe\xb8\xbb\xbf\x6b\x7b\x7a\x3b\xba\x1c\x0d\xef\xda\xbf\xfe\x38\xbc\xb8\x7c\xb8\x1d\xad\x5c\x8f\x95\xa3\x5d\xad\x84\x48\x58\x24\x88\xf3\x47\x91\xe5\x1a\xa2\x58\x43\xe4\xc5\x47\xc7\x0e\x9b\xfa\x3a\x45\x0f\x56\xa7\xa7\xb6\x71\xc3\x60\x83\x86\x8c\x32\x12\x53\x89\xa7\x09\x89\x6b\x2d\xb9\x35\x6c\x6b\x09\x97\x06\xf5\xac\xb5\x67\x2f\x72\x6a\x9e\x17\x19\x5e\x80\x20\x47\x51\x11\x16\x37\xf4\x61\xf6\xa1\xb5\x07\xa6\x79\x17\x7d\x22\xa5\x9e\xa2\x5c\x08\xc2\x54\xb2\x44\xe4\x0b\x95\x4a\xd6\x1a\x75\xdb\xd7\xd6\xac\xbd\x53\x7d\x83\x0b\x2c\xd1\x94\x10\x56\x1e\xbf\x20\x09\xc1\xb2\x61\xcc\x76\xf7\xbb\x2d\x8b\xdf\x2b\x6b\x8d\x31\x97\xd1\x0c\xd3\x24\x17\xa4\x72\x5a\x78\x9a\x61\x41\x25\x67\xa3\x2f\xfa\x2e\xd3\x07\xf9\x1a\x3e\xe7\x62\xbb\x13\x33\xfa\x73\x48\xc1\x57\xe5\x7f\x7e\xba\x2f\xff\xab\x74\xe6\x2f\xef\xcb\xff\x5a\x4d\xeb\x41\xc3\x55\xca\x3e\x42\x9f\xee\x4f\xd1\x27\x08\x71\x12\xe8\x7e\x81\x0d\xc5\x5e\xde\x9f\xa2\x4b\x22\x25\xfc\x52\x7c\xac\xa8\x4a\x60\x6e\x3f\x50\x86\xc5\x12\xb9\xe9\x9b\x44\x57\x1c\x2d\x10\xf1\x4b\x53\x5d\x3c\xf6\xb7\x9c\x81\xea\x5e\xac\xde\x25\x9f\xd3\x08\x27\xbb\x2d\xe2\xf0\xaa\xc4\x07\xae\x6f\x57\x2e\x45\xf8\x76\x7d\x2d\x86\x57\xe7\x90\x44\xea\x86\xda\x30\xf3\x2b\x22\x35\x91\x44\x9c\xc5\xd6\x4b\xa3\x6f\xff\x65\x20\xd4\xff\x8d\x43\x22\x6e\x2e\x29\x9b\xeb\x16\xd1\x09\xba\xbe\x1d\xb3\x6b\x11\x1b\x43\x28\xd1\xd2\xb0\xa1\x39\x2a\x11\xe3\x0a\xd1\x34\xe3\x42\x61\xa6\xb4\x22\x00\x62\x80\x5d\x11\xc3\x01\xce\x78\x9a\xe6\x0a\xeb\x83\x56\x5b\x54\x66\xcc\x21\x77\x44\x5d\xc4\xe0\x5a\x69\x58\x43\x23\x27\x14\x73\xc9\x84\x6e\x5f\xcb\x28\x65\x1d\x9a\xc6\x35\x55\xd6\x35\x81\x85\xc0\x65\x69\xe2\x03\x55\x24\xad\xbe\xdf\x31\xc8\xf3\x5f\x8d\x06\x82\x33\x93\x54\x41\xc4\x50\x44\x0b\xaa\x48\xa4\xf4\x11\xdc\x8a\x26\x1e\xae\x7e\xba\xba\xfe\x25\x94\x20\x3e\x0c\x3f\x9f\xff\xf1\x3f\x4a\x3f\xdc\x7e\xae\xfd\x30\xf9\xf9\x8f\xb5\x5f\xfe\x3f\x2b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x04\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x9c\x20\x99\x67\x9a\x02\xe4\x71\x79\x7f\xb5\x48\x79\xc9\x71\x4c\xd9\xdc\x64\x80\x5e\x52\x45\x04\x4e\x3e\xe3\xec\xa3\xb3\x5f\x6f\xb1\x3a\xff\xe7\xae\x94\xaf\xfb\xe1\x2f\xc3\xcf\x61\xc6\xef\x87\x9b\xdb\xeb\xfb\xeb\x95\xb3\x2e\xb5\x50\x3f\x46\xfa\xf1\x29\xfc\x2f\x3a\x41\xba\x75\x2f\xf9\xa6\x44\x61\xad\x11\xa0\x6f\x4d\xd2\x9c\x4f\xa4\xa1\x2c\x81\x53\x93\x09\x9a\x52\xb8\x52\x8c\x05\xef\x3b\x23\x5c\x7b\xed\xc1\x9f\x1b\xf3\x01\x68\xcb\xee\x52\x66\x31\x16\x31\xfa\x9b\xac\xa6\x8f\x83\xe1\xd8\xfc\x40\x62\x74\x84\x16\x4a\x65\xf2\xf4\xe4\xe4\xf9\xf9\xf9\x58\xbf\x7d\xcc\xc5\xfc\x44\xff\x71\x44\xd8\xf1\x42\xa5\x89\x49\x97\xd7\xab\x70\x8a\x6e\x04\xd7\x57\x08\x28\xe8\x44\x50\x9c\xd0\x7f\x90\x18\x4d\x0d\xff\xe3\x33\xf4\xd7\x88\x0b\x72\x5c\x6c\x8c\x35\x2a\xd9\x7b\xc4\x1a\x9e\x4e\xf4\x4b\x0d\xcc\xa4\xba\x9f\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xf2\x68\x7c\x15\xba\x3d\x97\x69\xa8\x35\x9a\x2c\x57\xc5\x72\x06\xca\x0a\x8e\x49\x90\xed\xae\x78\x99\xe0\xb4\xe2\x73\x61\xd4\xd6\x5c\xab\xe8\xfa\x6e\xc5\x70\xab\xba\x57\x33\x3d\xe1\x88\x27\x68\x9a\xcf\x66\x44\x84\x0e\xe9\x81\xd6\x66\xa8\x44\x82\x44\x3c\x4d\x41\x62\xd0\x5f\xe5\xd2\x50\x35\xac\x98\x1d\xed\xf1\x98\xc1\xfe\x6b\x35\x07\x28\x20\xe6\xc0\xea\x18\x21\x31\xc2\x6c\x69\xba\x99\xe6\xb3\xb0\x7d\x03\x43\x81\x63\x44\xd5\x98\x0d\x93\x04\x09\x92\x72\x45\x82\x1c\x4a\x70\x9e\x95\x17\x1c\x58\xa4\x20\x59\x82\x23\x12\x1b\x7a\x48\x78\x84\x13\x34\xa3\x09\x91\x4b\xa9\x48\x1a\x36\xf0\x2d\xd8\x6a\xf4\x9a\x51\x89\x62\xfe\xcc\x12\x8e\xed\x3c\xaa\x9f\x7d\x57\x3e\x8d\x23\x07\x11\x30\x12\x82\x0b\xf8\x9f\x9f\x28\x8b\xf7\xc6\xa1\x1e\xee\x46\xb7\xe1\xbf\xef\xfe\x72\x77\x3f\xfa\xbc\x19\xf7\xf1\x94\x05\xc3\x03\x1d\xfe\x14\xdd\x99\x45\xe0\x42\x4b\x44\xa2\x65\x52\x9f\x2d\x29\x15\x3f\xf0\x78\x4b\xee\xfb\x79\x78\xf5\x30\x2c\x71\x94\xbb\xb3\x1f\x47\xe7\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xec\xc7\x8b\xcb\xf3\x49\x83\xc2\xf8\xe1\x76\x74\x76\xfd\xf3\xe8\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xc1\x63\x34\x5d\x36\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x05\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x81\x7d\x07\x90\x34\x8c\x71\xc5\x48\xcc\xcd\x0d\xeb\xde\x31\x0b\x0c\x15\x06\xe4\xc2\x2f\xdc\x29\x1a\x22\xa9\x5f\xcc\xf5\xa1\x16\x74\x3e\x07\xc3\x61\x65\xa8\xa6\x35\xfb\x29\x2c\x2f\x7c\x67\xf6\x3f\x13\x1c\xce\xb9\xee\xd6\x5a\x9c\xbd\x55\xc2\x7c\x08\xa8\x2b\xe5\x16\x05\x06\x83\x43\xc3\xd0\xdc\x66\xe9\x45\x68\x5d\x2f\x73\x1e\x8d\xbd\x48\x1f\x2e\x60\x5b\xd2\xd8\x3b\x33\x41\x9e\x28\xcf\x83\x4f\x2d\xb0\x47\x69\xc7\x1b\x9b\x2f\x16\x00\x96\xcd\x18\x45\x2a\xcd\x78\xf2\x68\x6c\x41\xb3\xb0\x27\x68\x61\x26\x78\xda\xd0\x46\xf9\x98\x5c\x5c\xdf\x29\x81\x15\x99\x2f\xcf\x2d\xcb\xd8\xfe\x78\x9c\x5f\xff\x72\x75\x79\x3d\x3c\x9f\x8c\x86\x9f\xca\x27\xde\x3f\xb9\xbb\xbf\x1d\x0d\x3f\x97\x1f\x4d\xae\xae\xef\x27\xee\x8d\x95\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x8a\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x25\x33\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x53\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb1\xf8\xe8\x7a\x76\x74\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x63\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd1\x25\x16\xf3\xc2\x0e\xf7\x2d\x9f\xcd\x4c\x63\xdf\x99\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\x76\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xea\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xa6\xb5\xcd\x06\x5a\x22\x5f\xa8\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x0c\x10\x67\x60\x70\xf0\x42\x44\x85\x22\x3b\xd0\x80\x69\xab\x46\x01\x37\x80\xb6\x74\x6d\x91\x8d\x3e\x53\xa9\x95\x46\xf3\xe3\x0f\x16\x72\x69\x3b\x82\xf8\x38\xbc\xb8\xac\x08\x17\x93\xf3\xd1\xc7\xe1\xc3\xe5\x6a\x33\x61\xe9\xbb\xea\x16\xa3\x23\xa4\x9f\x97\xfd\xe6\x74\x66\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x97\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\x67\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x23\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x5b\x9e\xb1\xe1\xd9\xfd\xc5\xcf\xa3\xb2\x7e\x78\xf6\xe3\xc5\xcf\x4d\x52\xcd\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x23\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x94\x02\x40\x98\xf5\x44\x3e\x5c\x00\x67\x7d\xc2\x09\x8d\xa9\x5a\x3a\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x14\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x13\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x73\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\xdf\x68\x99\x2b\x4b\x68\x44\x55\xb2\x44\x11\xd8\xb0\xc0\x9c\x99\x62\x86\xe7\x56\x38\x00\x35\xa7\x42\x12\x7f\x36\x28\x6a\xd7\x33\x6b\xda\xbf\xa7\x64\xcb\x63\xf6\x70\x75\x3e\xfa\x78\x71\x55\x26\x81\x1f\x2f\x3e\x95\x44\xd8\xcf\xa3\xf3\x8b\x87\xd2\x6d\xae\x25\xd9\xd5\x72\x7d\xb5\xd9\x86\xa3\xe8\x5f\x3a\x45\xe7\xe6\xd3\x53\xbd\xb8\x0d\x10\x71\x5e\xf9\xad\xac\xc3\xad\x0b\xc9\x73\x7f\x8c\x98\x12\x8d\x7e\x89\xae\x26\x24\xeb\x83\x2c\xd9\x90\x9a\x43\x15\x6a\x7d\x5f\x55\x9d\xca\xd5\x29\xbb\x17\x21\xe8\xf2\xb8\xb0\x2c\x85\x31\x0c\x60\x34\x68\x33\x62\x35\xb8\xb5\x0a\x86\xfd\x33\xb8\xa8\xd3\x5c\x2a\xe3\x4a\x04\xe2\x44\x8f\x7f\x92\x7a\x41\xc1\xd5\x78\x8c\xee\x08\x19\x33\x67\x3d\x98\x53\xb5\xc8\xa7\xc7\x11\x4f\x4f\x0a\x7c\xc2\x13\x9c\xd1\x14\x6b\x49\x9a\x88\xe5\xc9\x34\xe1\xd3\x93\x14\x4b\x45\xc4\x49\xf6\x38\x87\x08\x18\xe7\x4e\x3d\xf1\xcd\xce\xf9\xbf\x5f\xfe\xe1\xfb\xa3\xcb\x3f\x7d\xff\xa1\x6e\x21\x6b\xdb\xff\x11\x8b\x70\x26\xf3\xc4\x46\xcc\x89\x70\x6d\xdc\x91\xcf\xc9\xba\xfd\xbe\x2a\x6f\xd7\x6e\xfa\xeb\xd9\xcd\x43\xc9\x62\x5d\xfe\xe7\xe7\xd1\xe7\xeb\xdb\xbf\x94\x38\xe5\xfd\xf5\xed\xf0\x53\x89\xa1\x8e\x6e\x7e\x1c\x7d\x1e\xdd\x0e\x2f\x27\xee\xe1\x2e\xb6\xb7\x9f\x18\x7f\x66\xe5\xa5\x91\x8e\x03\xd6\x7a\x3a\x45\x1f\xb9\x40\x3f\xf9\x9d\x3c\x9a\x62\x09\x57\x8c\xbb\xb3\xe4\x00\x65\x3c\x06\xc6\x8b\x48\xb6\x20\x29\x11\x38\xb1\x36\x03\xa9\xb8\xc0\x73\x73\xd3\xcb\x48\x60\x15\x2d\x90\xcc\x70\x44\x06\x28\x02\x6a\x98\x0f\x60\x53\x40\xd5\xe2\xf3\xaa\x9d\xef\x36\x67\x8a\xa6\xc4\xa9\xe0\xf6\x9f\xf7\x66\x33\xb6\xd8\x9c\xeb\xfb\x1f\xcb\xc2\xde\xc7\xcb\xbf\xdc\x8f\x26\x77\xe7\x3f\xad\x5c\x4f\xf3\x59\x69\x64\x77\x10\x80\x74\xc6\x93\x3c\x65\xe1\xdf\xdb\x8f\xed\xe2\xea\x7e\xf4\xa9\x3a\xba\xeb\xe1\x7d\x99\x32\x6e\xcb\x01\x6e\x1f\x7e\xb8\xbe\xbe\x1c\x95\x5c\xc2\x1f\xce\x87\xf7\xa3\xfb\x8b\xcf\x25\xfa\x39\x7f\xb8\x35\x68\x84\xab\xa6\xe9\x46\xd0\x30\x51\x3d\xad\x70\x9a\xfb\x66\x85\x9d\x38\xd1\xd0\x06\x94\x9b\xb3\x7c\x14\xc0\xed\x98\x70\x30\xb0\xea\x1c\x79\x93\x6a\x64\x46\xda\xc8\x0e\x55\x79\x9b\x50\x3b\x3b\x5e\xb9\xd1\xab\xb8\xf2\xbd\x1f\x82\x81\x02\x35\xca\x36\x4e\x12\xfe\x6c\x42\x79\x53\xaa\x6f\x65\x0b\x8c\xa6\x5f\x91\x85\x87\xf0\xb8\x81\xe3\x95\xb7\x85\x44\x82\xa8\xcf\x3c\x67\x6a\x7b\x92\x1b\x5e\x95\xf8\xce\xe8\xea\xe7\xc9\xcf\xc3\x32\x05\x5e\x5c\xae\x66\x35\x61\x13\x0d\x57\xf1\xf0\xea\x2f\xfe\x12\x86\x80\xef\x81\xd7\x50\x8d\xec\x1a\x25\x54\x8b\xbd\x11\xd6\xda\x6b\x02\x12\x0d\x22\x14\x4c\x0e\xa9\x9e\x1c\x04\x98\x66\xc6\x9f\x64\xf8\x93\x19\xe4\xa9\xfb\xa3\xd2\x9e\x84\x75\x01\x6b\xaa\x8b\xa7\x87\x76\xac\x56\xcd\x10\x61\x4f\x54\x70\xc0\xb3\x45\x4f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\x4f\xe1\x7f\x37\x6b\x13\x0c\xa3\x15\xc6\x75\xc7\x85\x3a\xf7\x81\xbc\xdb\x59\x43\x9a\x02\x5a\xeb\xa1\xac\xcd\x86\x8e\xfa\xb7\x0d\x9b\xb3\x63\xc0\x6f\x79\xc2\x7f\x4f\xce\x29\x4e\x34\x03\xd8\x9f\xbc\x38\xbc\xba\xbb\x28\xcb\x8f\x65\x35\x23\xe0\xcb\x5b\xcb\x8b\x60\xa8\x34\x23\x77\xca\xc4\xdd\x9f\x2f\x8d\x76\x01\xa0\xc7\xe6\xdc\x06\x8a\x05\x08\x40\x0e\x05\x25\xc3\x42\x56\xbe\x90\x08\x80\xd0\x8a\x80\x2b\x7d\x67\x41\x38\xd3\x13\xa7\xf1\x98\x91\x2f\x19\x61\x12\x82\x03\xcc\x7d\x56\xf8\xda\xe5\x31\xba\x98\x01\x4b\xd0\xaf\x33\x94\x33\xeb\x00\xd3\x17\xae\x19\xe4\x40\x8b\xb2\x76\x08\x5e\x43\x04\xc3\x0b\x23\x2e\x58\xaa\x18\xfc\x98\xfd\xe2\x9d\x68\xf0\x68\xc6\x35\x03\xd2\xbb\x68\xdb\x3b\x45\x98\x49\x3a\x40\x5a\x61\xa9\xee\x29\xa4\x0e\x68\x85\xd2\x86\x70\x69\x4e\x63\xff\x7c\xfd\x6b\xa0\x16\x27\x1c\x5e\x06\xcd\x77\x41\xe5\x2a\x68\x11\x8d\x13\xe3\x31\x99\x74\xbf\x13\x22\x2e\x88\xf5\xb3\x6c\x7c\x0d\xac\x63\xec\xf7\x58\x3e\xd6\x7c\x0f\x17\x4c\x2a\xcc\x22\x72\x96\x60\xb9\x65\x10\x92\xb3\x71\x0c\xca\x12\xc7\xed\xed\xc3\xcd\xfd\xc5\x0f\x6b\xb8\x7c\xf5\xe3\x7a\x18\x50\x94\xe4\xce\x3d\x37\x15\x1c\xc7\x48\xb3\xcf\x39\x37\xae\x40\x2b\xf8\x17\xd0\xdf\x26\xaf\xc7\x07\x54\x96\x60\xc7\x8b\x74\x04\x6b\xe7\x08\x5d\x09\xd4\x2e\x04\x8a\xf4\x4a\xa0\xc0\xe4\xe1\xb6\x1a\x3c\x8b\xa6\x20\x89\xb5\x6e\x65\x09\x56\x33\x2e\x52\xc3\xe5\x4b\x93\x36\x8d\xaf\x6e\x94\x32\x45\x84\xc8\x33\x45\x1d\x96\x7b\x55\x4a\x85\x0a\xef\x7c\xfe\x99\x48\x89\xe7\x64\x17\x07\x74\x93\xf2\x70\xf7\x73\xf8\x4f\x70\x30\x77\x91\xfd\x4b\x23\x74\x91\xef\x8e\x9e\xae\xd9\x47\x13\xc8\x73\xc3\x13\x1a\x6d\x19\x70\xf7\x71\x78\x71\x39\xb9\xf8\xac\x95\xf8\xe1\xfd\xe8\xb2\x24\x4a\xc0\xb3\xe1\xc7\xfb\xd1\xad\x05\xb1\x1e\xfe\x70\x39\x9a\x5c\x5d\x9f\x8f\xee\x26\x67\xd7\x9f\x6f\x2e\x47\x6b\x22\x73\x5a\x1b\xaf\x5b\x57\xab\xaf\x9e\xd6\x7e\x81\x1d\xd6\xbc\x2c\xb4\x97\x41\xd6\x18\xa6\x09\x38\xc1\xb9\x71\x86\x63\xc4\x78\x4c\xe0\x67\xe9\xac\x33\x1e\x39\x1a\x5d\xa8\x6f\x92\x04\xe1\x5c\xf1\x14\x83\xd7\x26\x59\x8e\x19\x9e\x6a\xd6\x8a\x93\x24\x08\xef\x12\x39\x63\x9a\xc5\xea\xc6\x0c\x44\x7b\x94\x10\xcd\xce\xb3\x20\xd9\xcf\xfa\x0d\x66\x94\x41\xa4\x6d\x8a\xc5\xa3\x71\x33\x15\x5d\x16\x87\x42\x22\x2c\xc7\x4c\x8f\x8b\x58\xc3\x50\x97\x15\x3e\xed\xf4\x56\xeb\xea\xa4\xf8\x91\xe8\x55\x49\xf3\x68\x81\x32\xc1\xe7\x82\x48\x69\x6d\xcb\x11\x66\x26\x00\xc1\xbe\xae\xaf\xa1\x31\x63\x5c\x2f\x85\x33\x61\xc7\x24\x23\x2c\x26\x2c\xa2\x26\xad\x0f\x7c\xf7\xde\xb4\x39\x17\x38\x5b\x20\xc9\xc1\xe9\x0d\xcb\x0e\xf6\x2b\xf3\x91\xbb\xc9\xcc\x8c\xcd\xe3\xd0\x02\x2d\x72\xcd\x27\xae\x41\x4e\x34\xab\x0c\x1f\xbb\xcb\xd0\xb9\x5d\x8c\x1d\x30\xcd\x12\xa2\x0c\x58\x3f\x2c\x39\x6c\x86\x5e\xeb\xd2\x7e\xe8\x6d\x6a\xda\x04\x7d\x61\xbb\x31\x63\x69\x47\x74\xdc\x60\xd9\xb6\x47\x0a\xfd\x88\x59\x9c\xe8\x56\x9c\x0f\xa3\x7c\x16\x21\x15\x65\xa8\xa9\xc6\x9d\xc6\x5d\x6e\xd1\x08\xe7\x72\x97\x6b\xb4\x92\x8b\x69\xac\x82\x47\x45\x50\x08\x90\xb7\x4d\xc4\x84\xd5\xcd\x34\x8b\xc4\x09\xb7\xab\x64\x5e\xcf\x4d\xfd\x27\x04\xa3\x69\xb9\x66\x33\x41\x59\x44\x33\x9c\x6c\xa5\xfb\x55\x82\xf1\x6d\x8c\xfb\xb7\x74\xa6\xc9\xe7\xbb\x9a\xdb\x56\x11\x91\x42\x82\xb2\x1d\xa6\xdf\xc2\x0d\x2c\x49\x36\xab\x81\xc8\x22\x9a\x04\x0b\x9e\x1b\x7f\x1c\xac\x0b\x89\x1b\x8e\xea\x71\xd3\x76\xeb\x93\x81\xcb\x01\xd0\x5b\x6c\xb6\x89\xfc\x69\x5b\xbf\x4a\x2b\xb6\x77\x13\x8c\x87\x93\x9b\xe6\x36\x9b\x76\x20\x78\xf8\xaf\x55\xb4\xf3\x19\x67\x9a\x66\x2c\x6c\x3f\x2e\xe6\x68\x95\x24\x5b\x15\xcc\xc5\xcf\x04\xbe\x73\x9f\x17\xd2\x7d\x37\x8a\x25\xb4\x01\x50\xf5\x4e\x4a\x31\x04\x41\x8e\xb9\xa5\xf1\x59\xae\x65\x59\x84\x21\x0a\x01\x7d\x4b\x8e\xe7\xc7\xc8\x15\x61\x18\xa0\xe1\xcd\xcd\xe8\xea\x7c\x80\x88\x8a\xbe\x73\x31\x8b\x36\x60\x69\xcc\x14\xb7\xd2\xca\xd2\x15\xd0\x48\x89\x98\x93\xd2\x9c\x5d\x74\x13\x84\x2a\xcf\xa9\x54\x36\x7c\x56\xf3\x95\xa0\xd4\x09\x4d\xab\x62\xb6\xa1\x90\x5c\x2d\x76\x21\x0d\x2c\x65\x9e\x6a\x5d\x76\x42\x71\x3a\x11\x3c\xd9\x85\x29\x9c\xc3\x54\x40\x5d\xf6\xe9\xf9\x14\xa7\x48\x37\x6b\x43\x41\xbc\xcb\xd1\x8b\x74\x5a\x30\xd2\x7c\x59\xdf\x9b\xc1\xbd\xe5\xbc\x0f\x36\x1e\x8d\xba\x10\x08\x48\xdf\x6f\x61\x15\x85\xd9\x78\x62\x2d\xf5\x13\x1c\x45\x5a\xe5\xde\xf3\xa4\x82\xfa\x39\xce\x25\x60\x3b\x7a\xb1\x69\xae\xa3\x73\x37\xcc\x4c\x73\x30\x08\x06\xd6\x57\xae\xe4\x11\x2d\xda\x6f\xe8\x77\xba\xac\xf5\xea\x2a\xdc\x3c\x48\x6f\x52\x31\x97\xb0\x24\xb0\x93\xd2\x54\xc8\x51\x0b\xb2\x44\x0b\xfc\x44\x4a\x5d\xba\x84\x18\xdd\xf0\x92\xe7\xa2\x89\xd1\x8d\xd9\x39\xc9\x04\xd1\x92\x7e\xd5\x81\xe2\x69\xfa\xb6\x4c\x89\x3d\x5d\xf7\x74\xfd\xee\xe9\xfa\xcc\x14\x4a\x1a\xfa\xc2\x58\x3b\x09\x70\xa6\xb1\x49\xc6\x79\x32\xe9\x60\x13\xe9\xbe\xe2\x25\x4f\x58\xa5\x6c\x14\x40\x02\xf0\x1c\xe4\xa3\xd2\xb5\xc9\xf5\x5d\x17\xa4\xd8\xda\xe1\xad\x58\x06\xe7\x32\x0b\xea\xe5\xec\x72\xde\x9b\x5a\x59\xd5\x12\x7a\x71\x31\xe7\xcc\xc8\x37\xde\x5d\x16\xd6\x3f\x2d\x1d\x26\x27\x8a\x50\x56\xab\xc6\x66\xe8\x59\x2f\xb0\x91\x3b\xfe\x9e\x73\x85\xe5\x77\xc7\x63\xa6\x85\xa8\x47\xb2\x34\xe6\x56\x2d\xa6\xfc\x46\xcb\xe2\x47\x92\x30\x09\xe1\xde\xbf\x31\xee\x39\x4d\xe2\xce\x5c\x6d\x54\x53\x53\x04\x0e\x82\xae\x7d\x2f\x10\xa2\x6b\x1b\xb5\x52\x52\x11\x00\x0d\x72\xbe\x99\x8b\x7d\x66\x86\x3f\x27\x0a\x52\xac\x15\x55\xa0\x33\xc5\xa6\xca\x5c\x6d\xe8\x6b\x4d\x57\x86\x2a\x04\x07\x3f\x49\x9c\xef\xc6\xf8\x65\xbd\x8d\xb5\x9c\xd1\x6b\x0b\x77\x36\xe6\xfd\xc4\xd9\x8d\x22\xc1\x6b\xa5\xdb\xb0\x44\x66\xa7\xa7\x86\x1d\x38\xff\x35\x61\xc7\xcf\xf4\x91\x66\x24\xa6\x18\x22\xe0\xf5\xbf\x4e\xf4\xbc\xfe\xfd\xec\xf6\xfa\x6a\x52\x64\xf2\xfc\xd7\x98\x0d\x13\xc9\x7d\x96\x02\x62\x9c\xf9\x70\xfb\x4c\x10\x27\x12\xda\xb9\x80\xd5\xb5\x30\x23\x8e\x59\xdb\x08\x62\x1e\xc9\x63\xfc\x2c\x8f\x71\x8a\xff\xc1\x19\xb8\xd2\x87\xf0\xe7\x59\xc2\xf3\xf8\x17\xac\xa2\xc5\x09\x9c\x6b\x75\x42\x9e\x08\x53\xc6\x4d\xa5\x97\x2b\x86\xe4\x5d\x09\xd1\xfa\xff\xae\xc7\x5c\x24\x15\x49\xad\xc9\x46\x24\x53\xe8\xff\x27\xc8\x94\x73\xd5\x7c\x49\xf1\xd9\x4c\x92\x8d\x2e\xa4\x42\x49\xbb\xbb\x46\x7f\xfa\xe3\xf7\xbf\xd3\x24\xb4\xcd\x1a\x5f\xdc\x5d\x4f\xf4\xf7\xff\x7e\x6e\xbf\x97\x1b\xb0\xbb\xeb\xac\x60\x6d\x8e\x78\x4c\xe0\x7c\xce\xe0\xf6\x13\xe0\xbc\x00\xf6\x06\xe4\x50\xec\x63\x13\x77\x3b\x2f\xb5\xbe\x9b\xca\xb6\xd5\x62\x82\x8a\x1d\xcc\x11\x1d\x21\xc6\x51\x6a\x62\x4d\x31\x43\xff\xf1\xd3\x0f\xcd\x1b\x98\x0b\xba\x55\x87\xd4\xc2\x35\x04\x5d\x4a\xfa\x0f\x22\x91\xa6\x1a\x4d\xc5\x3c\xd5\x5d\x0b\x22\x17\x3c\x89\xd1\x33\x01\x35\xc9\xc6\x81\x7a\xad\x5c\x90\x31\x0b\x9b\x80\x90\x43\x84\x13\xc5\xe7\x04\xee\x6a\xa7\xa8\x29\x22\xb4\xa8\x62\xb2\x34\x14\x17\x64\x60\xa0\xbe\xee\xfe\xe0\x62\xab\x61\x9a\xf0\xc8\x25\xb5\x58\x93\x5c\x3c\x6d\x9e\xf9\xac\x6a\x7a\x45\xed\x36\xfc\xea\x26\x5b\xb3\x6d\xf3\xd2\xd8\x24\x14\x6b\xc3\xaa\xee\x4c\xf3\x60\x68\xc4\xd9\x24\xa1\xec\x71\xab\xcd\xb8\x76\xa2\x9c\x6e\xc1\xae\x99\x6e\xd1\xdb\xb9\x8d\x05\x64\x83\xf3\xf1\x31\x4f\x12\x93\xda\x12\x6e\x0f\xc8\x5d\x66\xdd\x40\x18\xc8\x4c\x0e\x28\x89\xad\xdf\xcb\x6a\xc2\x82\x30\x08\x78\x1b\xb3\xe9\xd2\xfa\x6c\xe5\x00\xc9\x3c\x5a\xb8\xcc\xbc\x88\x33\xa9\xc5\x68\x2e\x50\xc4\xd3\xd4\x14\x37\x65\x04\x29\xce\x13\x69\xa3\xdd\xd9\x91\xc2\x91\x1a\xb3\xa2\xbf\x35\x27\xcf\x54\x40\xda\x2d\x75\xaf\xbb\x4b\xa7\xa8\xb4\xb4\x52\xe0\xa6\x71\x88\xd9\x00\x46\x30\xe3\x89\x0a\xd0\x1f\x78\xfd\x2c\x99\x0d\x6b\xd1\x0c\xe4\x82\x0b\x35\x89\x1b\x79\xce\x5a\xa2\xa9\x32\x42\x46\x8e\x12\x08\x1a\xe6\x4f\x5a\xf8\x27\xcf\xde\xf8\xba\x6a\x08\x9a\xaa\x57\x8d\xa0\xdb\x31\x5a\x39\xb2\x4d\x49\xb0\x65\xad\x0c\x82\x47\x54\x8e\x09\x5f\x37\xc6\x3b\xf8\xea\x4c\x7f\xb4\x72\xf1\xaa\xe7\xce\x09\x41\x3c\x2e\xc0\xe6\xcc\xbd\x6e\x33\x42\x56\xad\xa9\x85\x4e\x78\xb9\xcc\xd1\x55\x53\x79\x28\x5b\x72\xf5\x58\xc0\x64\x2f\x09\xc8\x9a\x58\x4c\xa9\x12\x58\x94\x90\x42\xbc\x3e\x28\x09\x16\x10\x9f\x35\x66\x06\x37\xce\x68\x0a\x31\x8a\xa9\x84\x04\x11\xb8\x4b\x03\x67\x18\xea\xa6\x04\x56\x8e\x76\x91\xe7\x68\xe2\xcf\x21\xb0\xac\x20\x0d\xc7\xec\x74\x47\x1e\x1f\x4b\xeb\x67\x3c\xca\x0b\x41\x2e\x02\x09\xd7\x62\xea\x20\xca\x24\x9d\x2f\x14\xa2\xcc\xda\x1d\x71\x32\xe7\x82\xaa\x45\x2a\x07\x68\x9a\x4b\xad\x85\x9a\x60\x35\x13\x8f\x42\x54\xd4\x89\x0b\xed\x9a\x44\x1c\x57\x1a\xac\xab\x28\x5b\x90\x46\xb7\x43\x39\xaa\xdc\x15\x6b\x08\x67\xe8\x71\x06\xab\x6d\x50\xa8\xdb\x68\xe0\x29\x91\x89\x03\xe4\x0e\xd9\x09\xaa\x80\xb4\x9d\x03\x40\x85\xdc\x9b\x97\xe2\x35\x0a\x71\x21\x93\x0c\x2a\x88\x8b\xdd\x06\xc9\xab\x8c\x4c\x69\xd0\x9b\xbc\xd3\x29\xcd\x54\x63\xe0\x56\xdd\x55\x74\x1b\x60\xfe\x74\x5b\x6c\x48\xc6\x02\x6a\x06\xa4\xb6\x31\xbb\x23\xa4\x1d\xc8\xad\xb6\xf7\xa6\x34\x2e\x4c\xc1\x26\x7a\xac\x26\xf9\x5d\x9c\xd8\xe7\xa3\xbb\xb3\xdb\x8b\x1b\x03\x39\x71\x7d\xfb\x79\x78\x3f\x69\xf0\x6b\x37\xbc\xf5\x79\x78\xfb\xd3\xf9\xfa\xd7\x7e\xbc\x2f\x67\x65\x37\xbc\x72\x7b\xb7\x3a\x99\xa3\xc3\x10\x1b\x92\xc2\x1a\xfb\x39\x45\xd9\x52\x2d\x38\xf3\x21\x0a\x71\x89\x37\x1d\x21\x93\x11\xac\x20\x84\x48\x48\xd5\xe0\x38\xbc\x87\xb8\x9c\xf5\x12\x66\x79\xb3\x0c\x0c\xdb\x5e\x45\xa3\x0d\x4e\xe4\xa7\x84\x4f\xc1\x6f\x9d\x97\x4a\xdc\xae\x88\x40\xdf\x31\xde\xe7\x9c\xca\x2c\xc1\xcb\x5a\x0f\xeb\xae\x9c\x2b\x9c\x12\x88\x38\x2e\xf0\xe3\x5c\xb2\x88\xde\x19\x48\x60\xf2\xf7\x3a\x9d\x41\x26\x93\xa2\x58\x11\x34\x25\xea\x19\xf2\xe6\xdc\xaf\xde\x96\xea\x02\x46\xe4\xf1\x98\x81\x39\x67\xac\x17\x39\xce\x21\xda\x6f\xfc\x61\x80\xc6\x1f\x62\xf2\x44\x12\x9e\xe9\x9d\xd7\x3f\xb4\x5c\x32\xa3\x14\xd3\xe4\x8a\x2b\x6f\x99\xdb\x65\x3f\x05\x89\x68\x06\x92\xf9\x84\xe8\x76\x5f\x4f\xf0\x28\x51\xb2\x63\x67\x30\x06\x84\xe3\x58\x2b\xd9\xc0\xca\xdc\xf0\x8a\x10\x20\x16\x4c\xbd\x54\x2b\x73\x13\x91\xc2\x9b\xbf\x4d\x8f\x61\x9b\x65\xb3\x67\xe3\x0e\xb0\xa7\x17\x74\xc9\xee\x7a\x91\x6b\xad\xe4\x27\xb2\x84\x14\x8c\x1b\x4c\xc5\x96\xae\xd9\xa6\x98\xd7\x17\x71\xd2\x8e\x1a\x3a\x3a\x20\x77\x6d\xf3\x3a\xec\xe6\xb8\xf5\xb1\x7a\xaf\xa5\xa5\xba\x58\x2e\xdf\x71\x47\xb5\xf5\xa1\x4d\x49\x6d\x0d\x61\x40\x55\xc5\x2b\x23\xd1\x06\x1a\x97\x1f\xe0\x9d\xfe\x6e\xad\xa6\xe2\xc5\xb5\x28\xac\xe9\x0f\xbb\x60\x93\xe3\xab\xf9\xf8\x64\xed\x88\xa3\x84\xcb\x32\x56\x4e\xe7\x41\x9f\xd9\x4f\x57\x8d\x7b\x14\x92\xaf\x96\x0b\x37\x0a\x68\x68\x58\xf8\x0a\x18\xa4\xb9\x67\x94\xf5\x90\xd9\xb7\x07\x88\x42\xb4\x25\x28\x64\x49\x81\x1c\xc0\x62\x54\xb8\x41\xc6\xac\x88\x59\x91\xe8\x99\x24\x10\xe6\x16\xf1\x34\x03\x13\xbf\x1d\xae\x6d\x89\xc4\x26\x62\x78\x80\x78\xae\x74\x63\x26\x27\xc7\x19\x71\x6d\xc2\x4f\xe1\xf6\x30\xbe\x37\x1b\xfc\xee\x81\xa5\x0d\xad\x9b\xbb\x94\x32\xf4\x89\x28\x68\x05\x80\xfb\xc3\x09\x82\x9e\x50\x0d\xa1\x6c\x5e\xfb\x1d\x4e\x94\x9d\xc9\x06\x3b\x5f\x00\xa7\xfc\x90\xf0\xe9\x6a\x23\x01\x34\x8e\x1e\x6e\x2f\x9c\x45\xb2\x88\x9f\x0a\xd0\x8b\x4b\x1e\xc5\xd1\xcd\xed\xe8\x6c\x78\x3f\x3a\x3f\x46\x0f\x92\xe8\xe5\xf1\xd3\x85\xfc\x6a\xaf\x92\x98\x91\x5b\x24\x16\x26\x15\xc1\x6d\x86\x10\x22\x44\x29\x0b\x7a\x0d\xe3\x28\xc3\xb4\xac\x26\x6c\x00\x49\xa1\xd6\x50\x07\xc0\x42\xd5\x79\xda\xc8\xbc\x75\x27\x10\xe2\xa4\x26\xef\x27\x4a\xcd\x8c\x37\xad\x47\xe6\xad\x23\x9f\x72\x44\xdf\x4b\x4f\x06\x8e\x96\x5a\x10\x2a\x50\xa7\x69\x19\xa2\x9a\x74\x9f\x53\x10\xe2\xfe\x19\x67\xab\xd3\x4f\xf1\x73\x89\x68\x8d\x28\x1c\xf8\xee\x5f\xfa\x1c\x38\xb6\x36\x31\xac\x70\xf7\x09\x16\x0e\x2d\xc3\x5b\x3d\xdf\x34\x19\x1f\xd2\x19\xc9\xc2\x89\x55\x06\x61\xe3\x58\x25\x82\xb3\x03\xbf\x50\x86\x4a\x57\xe2\x00\xcd\xe8\x17\xdb\x68\x11\xdf\xee\x5e\x0d\x02\x1e\x5a\xe2\x29\x17\xb8\x7e\xa6\x36\x10\x1b\x6e\xe0\xfb\x95\x42\x24\x97\x5a\x24\x8a\xb4\xb8\x24\x48\xc4\x85\xbe\x29\xa0\xdb\xc2\x0b\xb1\x4e\x64\x50\x58\xe8\x45\xa9\x7b\x65\x56\x9d\xfe\xa2\x06\x49\x8c\x15\x39\xd2\xa2\xd7\x9a\x04\x68\x9b\x23\x03\xd9\x34\x58\x05\x70\x60\xc5\xcd\x33\x25\x73\xcc\x5c\x68\x76\xcb\x70\xdd\x95\xb7\x03\xab\xd2\x2a\x10\x86\xf4\x30\x90\xaf\x20\xf5\xa7\x34\x0e\x99\xc1\x7a\xae\x1c\x87\x8d\x7e\x39\x84\x65\x7b\xc6\x3e\x18\xa7\x65\xb0\x79\x16\x1f\xd2\x60\x13\x2c\x15\xb2\x63\x6a\x33\x45\x04\x2a\xe2\xcb\x1a\x61\x4b\xba\x7d\x57\xe5\x4d\x93\x50\x59\x8b\x25\xe0\x19\x91\x0e\x37\xc5\xa0\xc4\x68\x9d\xc6\x09\xc2\xa6\x14\xb3\x3f\xdb\xb6\x26\xb3\xbb\x25\x42\x66\x02\x41\xfa\xf5\xa6\x8f\xd1\x90\xd5\xf0\xb2\x5c\x5c\x56\x69\xbd\xcc\x9d\x84\x93\x67\xbc\x94\x28\x13\x06\x5a\xc6\x44\xee\xbb\xc9\x83\x06\x56\xfe\xc8\x87\x42\x28\x97\x3a\x81\xc0\x16\xb3\x3e\x68\xce\xc9\xbd\x93\x17\x70\xe5\x55\xa2\xca\xbd\x40\x5e\x34\x57\xd8\x2a\x3a\xb0\x3a\x45\x26\xd1\x02\xb3\x39\x99\x38\x23\xeb\x36\xda\x92\x6e\xe7\x0c\x9a\x39\xb7\xad\x34\x5f\x4e\x37\x46\x61\xb2\xf5\x5f\xcc\xab\xde\x80\xa8\x0f\x81\x54\x78\x4e\x90\x19\x51\x27\xb3\x74\x29\x62\xcc\x82\x0d\x83\x9e\x60\x5b\x1d\x95\xa3\xe8\xdb\x84\x77\x08\x7d\xba\xc4\x53\x92\xbc\x4d\xe4\x04\x74\x6d\x8d\xf3\xe0\xad\x33\xd9\x00\x04\x3d\x83\x3d\xbf\xc2\x32\xac\xf5\x5e\xe4\x4d\xb9\x01\xab\xe6\x59\xaa\x7e\xbe\xc3\x44\x5d\xad\x90\x6d\xa6\xda\x56\x41\x24\xbc\xf6\x82\x4a\x1b\x4d\x06\xb6\xf0\xfa\xab\xda\x94\xb7\x1b\x48\x50\xf0\xa3\x65\x1c\x3b\x57\xfc\x58\x3b\x95\xad\x41\x06\x3a\x56\xc1\xbb\x98\x21\xc6\x19\x41\x54\x16\x2f\xab\x72\x3a\x94\x87\xe8\xd1\x22\xbe\x31\xbe\xf8\x2a\x5d\xbe\xf8\xd2\x4b\x5b\x5a\x0a\xf0\x04\x6f\x1b\x70\xf9\xdd\x8c\x68\x45\x15\x8b\x25\x40\x7c\x1a\x3e\x5c\x96\xe9\xd6\x8e\x73\x5f\x02\x77\xc3\x05\x68\x25\x61\x1f\xaf\xab\x38\x02\x61\xb2\x32\x44\x64\xd0\x50\xed\x4b\xf6\x23\x0b\x56\x33\x66\xde\xbe\x01\xe4\x48\x25\x4a\x71\x06\x9e\x3d\xc6\x55\xf1\x95\x01\x5f\x52\x7e\x23\x07\x4e\x1c\x97\xa6\x92\x56\xb8\x0e\x61\x6c\xf0\x29\xba\x01\xa4\x75\xb8\x93\xa1\xeb\x49\x07\x6d\xa5\x78\x71\x83\xeb\x4c\x7f\x73\x5e\x53\x2c\x4b\x76\xf7\x03\x5d\xb0\x0d\x2c\x62\x4e\x6a\x29\xc8\xb1\x8c\x0a\xea\x10\x8d\xe7\xf4\x89\x30\xc7\x0a\x06\x8e\x95\xe8\x41\xb9\x4e\x93\xe5\x11\x86\xe8\x6c\x12\x87\x0e\xa3\xd5\x8c\xdc\xd8\xb1\x0e\xc1\x8c\xdb\x7d\xc9\xee\x1b\xa3\x8f\x0c\xb6\x5c\xa9\x28\x80\x8b\xa7\x0f\x0f\xb7\x85\x3b\x36\x09\xf4\x58\xa2\xdf\x30\xae\x7e\x13\x00\x42\x3b\x9b\x0f\x7c\xea\x2c\x77\x83\x5a\xa5\x1b\xe0\x75\x96\x70\x10\x0e\x80\xc9\xd6\xae\xfc\xae\x21\x15\x45\xbe\xc0\x8b\x0a\xf1\xa3\x7a\xf2\x60\x5b\xa9\xb0\x3e\xd0\x01\x55\x6f\xd3\xaa\x9d\xd8\x54\x23\x2c\x4e\x7a\xc9\x3e\x2c\xd7\x45\x36\xf8\xbd\xe8\x14\xd1\x50\x03\x52\xd8\x85\xda\xd2\xce\x01\x67\x6b\xb0\xa3\x9b\xcd\x39\xdb\xa4\xc7\xb6\xa9\x33\xa2\x1c\xf1\x67\xab\x87\xb4\x80\x23\x1f\x8f\xd9\x47\x2e\xac\xe4\x22\x6d\x79\x86\x29\x8e\x1e\x8f\x08\x8b\x11\xce\xd5\xc2\x80\x14\x5b\x77\xcc\xd2\x52\x83\x16\xd0\x80\x6c\x3c\x02\x09\x95\x11\x16\xb1\x2b\x14\xf2\xc4\xdd\x28\xc6\x2c\x68\x04\x0a\x40\x40\x7d\x2c\xa8\xf0\xdb\xa6\xa1\x13\xa9\xd5\xd2\xb6\xb5\x68\xaa\x5d\x5b\xab\x5c\xbb\xfa\x9c\x95\x6a\xf1\x42\xe9\x0a\x88\x0b\xe3\xb3\xfa\xea\x5c\x38\x23\xad\x53\x8b\x35\x3d\xd7\x9d\x37\x03\xab\x88\x19\x4b\x9e\x9d\x81\x16\x10\xbf\x77\xbc\xb6\x04\xb6\x3c\xcb\x05\x44\x39\x37\xb5\xf9\x6d\xb4\xa0\x49\xe1\xf2\xf9\x6e\xe0\x87\xa9\x9b\x4c\xc8\x13\x49\x0c\xd4\x7f\x24\x20\xa1\xc1\x18\x5b\xbf\x47\xff\xdb\xd4\x73\x45\xbf\x1b\xb3\x4f\xc0\x86\x93\x64\x09\x40\xa4\xbe\x65\xac\x2a\xcd\x3c\x36\x0e\x40\xd9\x0c\x2a\x54\x1e\x88\xd9\xeb\x05\x7e\x22\x63\xe6\x9a\xf9\xdf\xe8\x11\xfd\x16\xfd\xae\x4d\x2b\x76\x79\x09\x2f\x6c\x1e\xfa\x18\x44\xfd\x07\xb7\x9c\x65\x94\x96\xdf\x38\xeb\x51\xc9\x76\xdb\x00\x48\xe2\xf1\xc4\x29\x7b\xe2\x51\x2d\xf9\x25\x3c\xb5\x58\x10\xa6\x26\x8c\xc7\x64\x42\x1a\x3c\xc1\x2b\x98\x84\x16\x02\xae\x78\x4c\xd6\xfa\x71\x3d\x33\xfd\x05\x2c\x5e\x32\x9f\xfa\xed\x00\x5c\x04\x9f\x04\xef\x8d\x36\x65\x4a\x6b\x1e\xb9\x07\xed\xdd\x66\xdc\xdb\xfa\xa0\x5d\x74\xed\x00\x2e\x04\x3b\x80\x66\x3f\x68\x82\x95\x8b\x4a\xa8\x1e\xc7\xaa\xff\x44\xbf\xac\x67\x6e\x2f\xab\x00\x8e\x18\x4a\xc6\x08\x3a\xa7\x5a\xed\xe9\xee\xe7\x06\x4e\xb8\x8d\x13\xc8\x60\xb3\x76\xf2\x02\x15\x4b\xe1\xf0\x69\x8e\x3c\xfd\x15\xbe\xdb\x29\xcf\xab\x02\xbc\x5d\x00\x2a\xc3\x28\x09\x2b\xab\x2f\x35\x1f\x9e\x9b\xc4\x49\xb2\xa0\x06\xaa\x60\x78\x76\x89\xf4\xe9\xe0\xa9\xc1\xf3\x82\x45\xcb\xd5\x82\x0b\xfa\x8f\xd6\xc4\xae\x76\x19\xbd\x70\x50\x17\x79\x70\x66\x9c\x65\x69\x1d\x88\xd5\x88\x14\xaa\xa4\x95\x34\xa9\x9a\x68\x9a\x03\x74\xad\x66\xb3\xb3\x3c\x31\xf5\x2e\x22\x2e\x62\x53\x70\x5e\x96\xb2\xee\x20\x7a\xd9\x89\xf7\x58\xf9\x06\xa9\x45\xf8\xb4\x15\x35\x8c\xe1\x6b\xa5\x00\xfa\xe7\x9c\xe4\x7b\x4a\x5c\x7c\xd3\x50\xef\x7b\x3c\x97\x45\xec\xb6\x59\x1b\xcd\x9b\x8b\xf5\xfd\xbb\x9e\xa9\x0c\x52\x7d\x9d\x41\xd6\x23\x67\x19\x4b\x86\xa9\xa7\xba\x91\x21\xec\xd6\x54\x0c\xd8\x83\x25\xec\x35\xc2\x60\xea\x32\x52\x03\xfb\xb1\xe4\xf7\xe4\x13\x5f\xab\x2c\xe2\x85\xcc\x4b\xae\xf4\x42\x45\xfa\x78\x41\x4b\xd3\x16\x4c\xae\x2e\x54\xaf\x0c\x26\x2f\xec\x4e\x9e\xad\x35\xe4\xa0\x2b\x0e\xd9\x2a\xcf\x82\x02\xb0\xde\xb2\x78\xd9\x97\x0e\x76\xd7\x45\xc8\x63\xb4\x94\x62\xc4\x5a\x08\x87\x71\x4b\xb8\x6c\xe6\xf1\x1b\x18\x20\x6c\x43\xe5\xae\xeb\xe1\x0e\x6d\x27\xc2\xb0\xa4\x43\x3d\x12\x75\x54\x9d\xb5\x87\xc1\x17\x50\x79\x1b\xbb\xab\x17\x6d\x5e\xef\x64\x78\x72\x9c\x44\x38\x5a\xb4\x4e\x6a\xca\x79\x42\x30\x6b\x93\x5e\x1b\x1f\x57\x8f\x88\xc1\x84\x05\xd6\x9d\x24\x00\x8c\xec\x96\xc0\x16\xd3\x2c\xc4\x77\x16\x03\xa0\xbd\xe1\xe1\x26\xa4\xd2\x0d\x54\x11\xe6\x2c\x3f\x94\xcd\x13\x52\x5d\x2b\x5b\x79\x60\x60\x3b\x49\xa2\x3c\x09\xaa\x69\x66\x44\xe8\x51\xeb\x25\x7e\x22\x4c\xeb\x0c\x76\x1c\xce\x07\xf4\xec\xf2\xc8\x7d\x0d\xad\x81\xef\xda\xb9\x21\x21\x59\x33\x1e\x33\x38\xb8\xbc\x7c\x58\x35\xad\x4a\xad\x66\x84\x76\xa9\xad\x4f\x67\x20\x44\x6c\x7c\x3c\xef\xca\xd6\xf5\x8d\xcf\xa4\xe9\x7b\x02\xa1\x19\x3b\x7b\x24\x03\xaf\x55\x81\x70\x61\x36\xd6\xa1\x98\xbd\xac\xed\xbd\x1c\xec\x52\x8e\xd6\x0d\x62\x5d\xda\x50\xb4\x5e\xf4\x2e\x29\xaa\x86\xb8\xdb\xa0\xe3\x50\x56\x7a\xf8\x3b\xfa\xeb\xc1\x3a\xb9\xea\xdc\x5e\xda\x48\xf7\xb2\xa7\xdb\xa7\x45\x15\xd1\xa1\xb6\x2e\xae\x12\x18\x40\x1d\x20\x15\xff\x17\xa3\x61\x53\x69\x2c\x60\xae\x3a\x48\x9a\xa9\xa5\x2d\x26\x07\xf7\x62\x98\x0a\x6d\x80\xf2\x9a\xbc\xea\xd5\x3b\x32\x2e\xf9\xd5\x9b\x3a\x83\x8e\xac\x59\xa1\xb1\x49\xb7\xd0\x21\xf0\x4a\x05\xe8\xa2\x2d\x88\xc6\xd4\xe5\x9d\xe0\xa4\xd5\x96\xb5\x07\xa6\x09\xd9\xc9\x05\xb8\x85\xc5\xcc\x55\x22\x27\x9a\x77\xe1\x24\xa9\xcc\x0b\x43\x16\xb9\xf2\xb5\xf9\xa6\x45\x01\xe1\xee\x3e\xfe\x04\x4f\xc9\x46\x5e\xfd\x4b\xf3\xc1\x4a\x2a\x82\x57\x20\x20\x3e\xcb\x92\x65\xb7\x40\xfc\x30\x62\xb1\x11\x5b\x6e\xdd\xc0\x42\x44\xba\x95\x77\x53\x19\xd5\x6d\xbb\x21\x4a\x12\xe5\x82\xaa\xe5\xc4\x1a\xfd\xba\x33\xad\x3b\xfb\xe5\x99\xfd\xb0\x8b\x46\x7d\x8a\x5c\x7f\xce\xc8\x08\xf7\x94\xa0\xa6\xf0\x90\x9d\x42\x97\xed\xd6\x5a\x72\x23\xe6\xd4\xaa\x85\x75\xa0\x57\xdd\x86\xaa\xbb\xd8\x76\x78\xb6\xa0\xc9\x84\xcf\x1c\x9c\x54\xf7\x85\xad\x56\x7a\xd9\xc0\x5a\xea\x50\xab\x33\x41\xb9\xb0\x05\x55\xba\xc4\x02\xa6\xf8\xcb\x24\xc3\x02\x27\x09\x49\xa8\x4c\xb7\xb7\xed\xfe\xe1\xf7\x2b\x47\x7b\x66\x0a\xff\x48\x5b\x46\xeb\x0b\x4d\xf3\x14\xb1\x3c\x9d\x5a\x29\x17\xcb\xc7\x10\x33\xd4\x21\x1c\x18\xe8\x2b\x37\xc0\x12\xce\x82\x08\x50\x60\xc7\x2c\xc0\x03\xb7\xa6\x0a\x1c\x2d\x28\x79\x02\xb4\x52\xc1\x88\x94\xc7\xe8\x8a\x2b\x72\x8a\x3e\xe3\xec\x1e\x04\x35\x53\x89\x73\x6e\xac\xe3\x58\x22\x2d\xb5\xe6\x8c\xaa\xc1\x98\x59\x10\x71\xb7\x2a\x27\x11\x67\x06\x48\x36\x82\x85\xf5\x4d\x80\xb9\xd7\x21\xaa\x2a\x97\x0f\x4a\x65\xcb\x62\x0b\xfc\x3c\x09\x82\x7e\x27\x26\xa9\x62\x03\x3a\xbe\xc5\xcf\x26\xcc\xfd\x1c\x2b\x6c\x8a\xec\xae\x92\xdc\x6d\x1c\x99\x2d\xbc\x64\xf0\x93\x5d\xbc\x0d\xb7\x20\x1e\xbe\x64\x9c\x09\xea\xfd\x96\x1e\x93\x63\xf4\x43\xc2\xa7\x72\x80\xa4\xc7\x1a\x87\x87\x92\x28\x39\x30\x0e\x2a\xf8\xb7\xc9\xa0\xfb\xce\xad\x7e\xc1\xf7\xa1\x5a\xe2\x8c\x7e\x31\xd8\x21\xf2\x0f\xa7\x27\x27\xe9\xf2\x68\x9a\x47\x8f\x44\xe9\xbf\x40\xa6\x68\x5c\x21\x07\xbc\x85\x9b\x60\xbc\xd6\xad\x4e\x1d\x02\xac\x13\x45\xda\x6c\x24\x49\x00\x6e\x5e\x5f\xe9\xbe\x1e\xad\x43\x8c\xe2\xac\xb9\xd8\xa6\x9d\xb2\xc8\xdb\x8e\x57\x09\xa7\xfa\x75\xb4\x15\x53\x6f\x37\x84\xc7\x9e\x25\x78\x5e\x51\x59\x36\x50\x52\xae\x53\x6a\xa9\x48\xcf\x1d\xc2\x54\xf4\x29\x2b\x07\xe7\x7d\xe3\xdc\x91\xe0\x56\xb4\xee\x96\xe3\x31\x1b\x4a\xf4\x4c\x4c\x19\x5d\x48\xe5\x04\xef\x44\x4e\xe5\xc2\x27\x72\x82\xbd\x14\x1a\x35\x28\xc2\x06\x6c\xc2\x2a\x8e\x4e\xb3\x72\xfe\x1b\xab\x81\xe2\x44\x92\x81\x6e\x18\x90\xe4\x5c\xfc\x25\x7a\x16\x38\xcb\x88\x18\x33\x8b\x08\x0b\xb8\xe7\x9c\xdb\xd8\x9a\xb6\x20\xfc\x5e\xa3\x7c\x5d\x8d\x32\x58\x7b\x52\xce\xf3\x5c\x77\xbe\x21\x2d\x74\xd5\x0a\x37\x65\x3a\xba\xe5\xd3\xb2\x68\xd7\x00\xf9\xb7\x37\x1b\x77\x1c\xf3\x3a\xed\x7c\x58\xc9\x6e\x80\x2a\xdd\x29\x28\x90\xb2\x28\x46\xea\x6c\x7d\x5e\x7d\x2f\x89\x39\x00\x28\x0e\x1f\xc7\x9c\xc8\xc0\x88\x8f\xbc\x2d\x2e\xa1\x33\xa2\xa5\x8f\x31\xd3\x64\x1c\x3a\x1c\x0c\x2e\xb9\x83\x29\xd7\x9d\x46\x82\x4b\x69\x13\x16\x4c\x3b\xab\xd3\xce\x76\x28\x81\x68\xc0\xd5\x2f\xae\xaf\x26\xf5\x62\x88\xc1\x33\x57\x16\xd1\x3e\x6c\xc4\x26\x68\x6d\x6a\x6d\x11\xc4\x62\x2d\x36\x28\x83\x78\x72\x76\x79\xe1\x6b\x7f\x55\xba\xae\xd7\x41\x0c\x01\xe9\xdb\x2b\x21\xd6\x67\x1c\xd4\x44\xac\x34\xb1\xa2\x2a\xe2\xfa\xcd\x2a\x87\x49\xef\x82\x36\x58\xd9\xfa\xb5\xfc\xa1\x4c\x33\xeb\x82\x19\xf7\xb4\x4d\x2d\xd7\x4a\x04\x02\xe3\x4b\x7b\xd8\x41\xf0\xd2\x6f\x49\x85\xd3\x2c\xcc\x54\x75\x70\xab\x76\x9a\xe6\xa8\xb5\x5d\x82\xaf\x0a\x03\x1f\x61\x13\xcd\x52\x1d\x5c\x6d\x2b\x36\xf3\x78\xdd\x5b\x74\xf9\x7d\x44\x7f\xbf\x5e\xea\x77\xb2\x2c\xa2\xf6\xa4\x95\xdd\x5c\xe5\xf2\x16\xbb\xff\x94\x78\x24\xfd\xd6\x0d\xdd\x35\xb7\xd3\x23\x6e\x09\x82\xa5\x0d\xc7\x80\x14\xc8\x4a\x7a\xd4\x06\xe6\x61\x3f\x66\x93\x44\x7d\xe4\x6b\x57\x04\x57\x8d\x2d\xc7\x16\xb9\x83\x48\x85\x20\x4f\x44\x00\xed\xd8\x98\x1f\x56\x3e\xaa\x38\x11\x04\xc7\xcb\x60\x45\x7c\xc0\x81\xe9\x19\xcc\x63\x92\xa6\x5a\x81\x07\xd5\x84\xf1\x23\x9e\x39\x9d\xa5\xf4\x16\x14\x1e\xa1\x33\x7d\x63\x05\xe1\x0a\xfa\x0b\x76\x44\xbe\x50\xa9\xb4\x5c\xd1\x10\xab\xe9\x1a\x01\x89\x07\xca\x91\x2d\x88\xbd\xe1\xc6\x1f\x86\x3f\x5c\xdf\xde\x8f\xce\xc7\x1f\x8a\xa4\x06\x97\xb5\xe7\x81\xb4\x5c\x5d\x04\xce\xc6\xcc\x07\xd4\x7a\xdc\x68\xd8\x4b\x84\xe3\xb8\x00\x84\xb0\x4a\xa4\x91\xd9\x56\x72\xe4\xe0\x54\xac\x0d\xa5\x5d\xd1\xcc\x03\xa4\x6e\x1d\xea\xc9\x5a\xe1\x3a\x2b\x9d\x1c\x93\x80\xb6\x22\x53\x68\x4f\x97\x4d\x08\x79\xab\x8c\xae\x4d\x94\xc3\x64\x64\xe4\xd9\xe9\x4a\x70\x3b\x9f\x60\x73\x09\x6f\xc6\xed\xdc\x86\x6c\xb1\xa9\x1f\xe9\x17\x12\xdf\xb6\x48\x55\x7b\x49\x04\xea\x14\x09\xd8\xb8\x0b\x39\xa3\x9b\x68\xfc\x7e\x2a\x0f\xfa\xbb\xee\x6c\xe9\xba\x40\xb2\x2b\x50\x69\x01\x92\x56\x21\x8c\x22\x22\x14\xa6\x0c\xcd\xe0\x60\xb3\x68\x89\x00\xe7\x84\x80\x0f\xfb\xf7\x28\xa5\x0c\x00\x17\x56\x2d\xed\x43\x79\x1e\x1b\x08\xad\x9f\x2f\xae\x1e\xee\x4b\xa2\xea\x8f\xd7\x0f\xe5\x5a\xf8\xc3\xbf\xac\x94\x55\x2b\x2d\xac\x0a\x16\x0a\xa6\x58\x24\x6f\x5a\x70\x5e\xbf\x32\x8d\x13\x4d\x96\x8a\x3c\xdc\x5e\xee\x24\xdf\x35\x3b\xcb\x5a\xa1\xd5\x43\xe9\xaa\x19\x48\xa2\xcb\xa7\x31\x89\xd6\x81\xbf\x76\xa7\x23\x13\x05\xa5\xd7\xc1\x5a\x13\x2d\x30\x1c\x96\x28\xc3\xc2\xfa\xa1\x62\x13\x00\x55\x2e\xa8\x66\x34\xaf\x55\xc0\x1b\x9f\x88\xfa\x59\x5f\x7d\x9c\xed\x23\x0b\xc2\x8a\xb2\xe0\x1f\x25\x93\x27\xd3\xf0\x06\x27\xcd\x0e\x65\x45\xaa\x8b\x13\x96\xa1\x07\x64\x7b\x08\xe1\x2a\x8e\x4d\x61\xfd\xa1\x6e\x0e\x56\xc4\xc5\x13\x6a\x95\x94\x33\x4d\x91\x06\x85\xd6\x41\xd7\x06\xcd\xf1\x99\xf9\xb8\x23\x90\x5f\x10\xd5\xae\xdb\x2a\x96\x12\x0d\x6f\x2e\x1a\xd6\xfa\xb2\xea\x42\xfa\xba\xaa\x00\x25\xde\x9b\xb5\x6f\x6c\xa9\x20\xab\xf3\x20\xc0\xa4\xec\x4c\x77\x43\x8f\x32\x4e\xff\x9b\x72\x24\xc1\x21\x80\x1c\x37\xa9\x0c\xa5\x6c\xed\x35\x78\xc6\x9b\x25\x30\x16\xcb\xb0\x21\x56\x54\x38\x20\x9b\x06\x12\xe2\x23\xd5\x63\x8c\x07\x21\x5e\x12\x37\x75\x86\x6d\x6c\xc1\xde\x30\xa4\x8a\xd9\x74\x01\x91\xfa\xd9\x50\xb4\xc7\x18\x01\xd4\x14\x57\xc7\xd2\xc5\x06\xdb\x94\xff\x70\xba\x21\xb5\x6d\x86\x3b\x55\x8c\xcf\x99\xbf\x2d\x84\x37\xce\xb0\xb5\x3b\x80\x12\xe5\x0a\x4c\x34\xd5\x23\x3c\x1e\xb3\x20\x60\x45\x1a\xb5\x47\x9f\x11\x57\xd3\x05\x0a\x05\x33\xc0\x03\x87\x24\x1d\x2f\xfc\x94\x76\xa0\x8a\x2c\xa0\x16\xe5\xaa\x2c\xb5\x7e\xec\xe9\x94\x0b\xec\x12\x11\x9d\x05\xc5\xc6\x01\x86\xf6\x25\x68\x2f\xa8\xc3\x60\x3b\x06\x73\x34\x18\x2d\x70\x50\xe5\x2f\xc8\xf9\x8f\x39\x91\xec\x1b\xe5\x33\x64\x69\x62\x2b\xc9\xe0\xaa\x7b\x40\x4b\x75\x98\xda\x96\x57\x1f\xf0\x3d\x80\x5a\x6d\xaa\x38\x04\xc7\x6a\xad\x99\xca\xf9\x78\x81\x12\xc2\x58\x24\xe8\xb4\xcd\xaa\xfe\x25\x23\xd1\x36\xc8\x3b\x37\x58\xe0\x94\x28\x22\x56\x85\x23\x95\x6b\x70\x83\x88\xe3\x76\xd0\xf6\x6b\x76\xd1\x14\x28\xa9\x56\xb2\xf1\xda\xed\xe5\x3a\x24\x1d\x3f\x8b\x8d\x40\xc3\xf4\x34\x7e\xb6\x96\xff\x0d\x67\x61\xfb\x29\xa6\x61\xa3\xad\x02\xe0\xa4\x5d\xe7\xf4\x3a\x08\x32\xf7\x35\x2c\x96\x52\xb8\xd0\x81\x40\xc7\xac\x1f\x65\x1b\x66\xcc\x3a\x5e\xba\x17\xde\xed\x32\x1c\x5c\x0a\x6d\xe5\x50\x95\x72\x27\x80\x4a\x40\xa5\x32\xf0\x29\xcd\xb8\x2f\x20\xb4\x34\x45\x48\x06\x6e\x3f\x8b\x0a\x58\x18\x74\xad\x64\x55\xad\xc9\x55\x59\xae\x35\x3c\x6e\x5f\x98\x18\xbd\x44\xb3\x6f\x89\x66\x1d\x29\x97\xa2\x6b\x35\x75\x12\x51\x81\xe7\xb1\xb5\xb2\x2d\x40\x40\x79\x82\x90\x7b\x64\xaf\x48\x5b\x70\x17\xae\x7e\xca\xfc\xbf\xca\x1c\xdc\x11\x75\x48\xaa\x4d\x49\x95\xc7\x81\x0b\x0a\x3c\x50\x49\x28\x0d\xd8\xb8\x1a\x18\xad\x09\x83\x34\x56\xfe\x8b\x2b\xe3\xc0\x82\xe4\xe6\x25\xcf\xd1\x33\x95\x0b\xa4\xf8\x98\x41\x9c\xa0\xf7\x06\x28\x8e\xcc\x8b\x03\x78\x0b\x60\x10\x64\x3e\x4d\xa9\x42\x38\x98\x61\xc9\x24\x39\xb0\xe7\x59\x7f\x00\x33\x6e\xcc\xb3\x6f\x42\x36\x5a\x73\x68\xb6\xb0\xaf\x15\x8d\xec\x9a\x4a\x1f\xc4\x34\xbf\x6c\x32\x7d\xa0\xf1\x84\x1a\x66\xe3\x99\xeb\xb3\xe9\x51\xb3\xb5\xc1\x62\xad\x02\x20\x2e\x95\xaa\x72\xb7\x58\x43\xcf\x9a\x4c\xfa\x62\x23\x3a\xa5\xd2\x17\xaf\xef\x23\x97\xbe\xad\xba\xdb\xaa\xdc\x4a\xf7\x49\x8b\xfd\xdb\xe5\xec\x2a\xee\x02\xe7\x43\x49\xe9\xa6\x55\x52\x3a\x34\x30\xb8\x22\x21\x60\xfb\xf0\xf2\x4d\xd4\xc1\x22\x3f\x2b\xa4\xa2\x20\xdd\xb2\x8c\x09\x43\xaa\x9c\x9f\x71\x05\x39\x35\x11\x54\xbe\xaf\xe5\x79\x8e\x59\xb3\x04\xb2\x9a\x27\xee\x9a\xa2\xb1\x57\xd0\xb8\xe0\xfc\xb9\x59\x58\x8b\xd6\x2f\x3e\xc8\xcd\x28\xcb\xb6\x86\x7d\x55\xc4\x2c\x5c\x7c\x6d\xc1\x49\x5a\xf0\xd8\x26\xe1\xb8\xe1\x54\x36\x0f\xbd\x96\x40\xb1\xf6\x5c\xd8\x4b\x77\x8f\xaa\x5d\x8d\x3b\x77\xce\x37\xf1\x32\xb2\xe5\xc6\x36\x60\x3a\xf6\x7a\x7c\xc5\x55\xbb\x4d\x71\x5e\x00\x63\xdd\x3f\x84\x2c\xf8\x69\x06\xe0\xd8\xb5\xa3\xc6\x26\xc8\xc5\x43\x9a\x57\x76\xa3\x34\x57\x13\xa8\xb8\xe3\x7c\x5b\x31\xab\xf4\x94\xa3\x49\x1d\xb9\x6a\xed\x02\xed\x07\xbe\xaa\x0a\xe1\xf0\xf6\x2b\xd5\x12\x4b\xbd\x61\xd5\xe9\xc0\x27\x2b\x6c\x4c\x34\x0d\xad\x2b\x50\x6e\xda\x86\x92\x56\x6e\x2b\x2f\x00\xe7\x2c\x26\x82\x11\xac\x16\xaf\x97\x89\x72\xb6\xab\x09\x3f\x18\xdf\xcb\x66\xa5\xd8\x91\xe2\x72\x72\xca\x2e\xc3\x2d\x97\xdf\x5f\x3b\x4e\xfd\x7a\x17\x6b\x9a\x0d\xd0\xf0\x05\xa8\x6b\xea\x75\x83\x69\x35\x00\xea\xd9\x84\x4a\x77\x4a\x56\x69\x56\x79\x5f\x26\x6d\xa7\xc1\x36\x56\x4b\xd8\xd1\xa7\x3d\x2c\xdb\xbd\x66\x49\xbe\x8a\xfc\x98\x97\x4f\xd9\x58\x55\x20\x3c\x0f\xb2\x38\xa0\x4a\xbb\xc2\x94\x59\xee\xb5\x2a\x71\x43\xcb\xdd\x29\x6e\xca\xd5\x38\xf8\x2c\xa0\xaf\x3e\x09\xa8\x4f\x09\xe9\x53\x42\x1a\xf6\xa8\x4f\x09\x41\xe8\xd0\x52\x42\xd6\xa9\xe9\xab\x8c\xc4\xde\x6f\x09\x85\x5c\x4b\xd5\x93\xcc\xfe\xae\xd1\xb5\xb7\x4f\x7b\x70\x76\xd6\x30\x66\xcc\xfe\x62\x7f\x68\x0c\x1b\xab\x7d\x56\x9d\x6d\x68\xf3\x65\xcb\xaa\xeb\x04\x8b\x38\xb1\x58\x7d\x36\xa8\xbb\x6c\xa3\x5b\x65\x4e\x1e\xb3\x1f\xf9\x33\x79\x22\x62\x80\xb0\x42\x29\x97\x0a\xf8\xb0\x8b\x21\x82\x83\x50\x42\xcb\x37\xb1\x22\x18\x5d\xe1\x94\xc4\xa6\x98\x66\x10\xfa\x69\x8d\xda\xd6\x1d\xdd\x04\x49\x0b\xe8\xaa\x66\x1b\x5c\x6c\xc9\x98\x99\x70\x4c\x13\x02\x08\xb2\x02\x75\x13\x03\x82\xf9\x8d\x77\x96\xff\xe6\x18\xdd\xeb\xfb\x89\xca\xf2\x78\x03\x84\xba\xb6\xb1\x8d\xd9\x5c\xf0\x3c\xf3\x76\x46\x3e\x35\x55\x95\x4d\x84\x58\xdd\x59\x0e\x83\x71\x9e\xf2\x08\xc7\x84\x45\x6b\x42\x56\xde\x24\x52\x77\x2b\x98\xa7\x90\x80\xf4\x31\xf4\xe1\x87\x36\x1d\xc0\xf8\xb8\x03\x70\x9b\x55\x18\xff\x2f\xe4\x80\x3f\x27\x12\x2c\x67\xde\x33\x51\xca\xb5\x2f\xeb\xf3\x8d\xe3\x5c\x65\x37\xf6\xbe\x1d\xe7\xff\x68\x86\x8a\x28\x3a\xb7\x71\x71\x26\x91\xd7\xde\x13\x2f\x66\x51\xee\x1c\x61\xdc\xc6\x2f\x6e\x72\x91\x71\x90\xc4\x92\xa5\x83\xb6\xb0\x68\x78\x19\xcf\x72\x13\xfb\x47\xc3\x50\xb0\x46\xca\xa6\x52\x7d\xc6\x2a\x5a\x68\xce\x5d\xa0\xc2\xed\x29\x26\xb2\xe0\xca\x2f\x6b\x65\x6e\x98\xc1\x59\xd8\x7b\x8b\xdb\x65\x15\xf5\x04\x31\x8e\x3e\x90\xd4\x4b\x12\xa9\xee\xcf\xb8\x26\x6d\xad\xf4\xc0\x76\xec\x3e\xb1\x4f\xf4\x44\xd7\x51\xd1\xba\xf1\x77\xa3\xad\x72\x31\xb7\xbd\x47\x5b\xee\x60\x10\x3c\xb7\xa0\x66\xc5\x8b\xb6\xf8\x6f\x4b\x88\x84\xa0\xdb\x65\x4a\xd9\x02\x0c\x4f\x5a\x1c\xf1\x56\xe9\x14\x67\x5a\x89\x50\x5c\xdf\x92\x62\x6e\xe4\x58\x13\x4b\x8c\x30\xca\x05\x75\x67\xbf\x92\x37\xdf\x4e\x1d\x60\xdb\x3b\x09\x8b\x75\x45\x38\xa8\x63\x68\x82\x22\x70\xa4\x72\xec\x83\x37\x81\x26\x5c\x7d\x7d\x83\x11\xe0\x82\x0f\x84\x13\xef\x1a\xf6\x74\x2d\x61\xef\xb0\xcb\xb8\x09\x03\xb2\xd3\x49\xa3\x6c\x1e\x00\x48\x36\x5b\xd2\xbb\x94\xd5\x68\xfc\xb2\x5b\x69\x90\xc6\x4f\x9d\xec\xb3\xcd\xb7\x2b\x00\xae\xb6\x8e\x5f\x2f\xe5\x02\xd8\x60\x61\x2b\x3d\x85\xd0\x9e\xd6\x7e\x07\x08\xbd\x14\x82\x19\xb0\x95\xa6\xfe\xcb\xff\x65\xca\xb0\x99\xa5\xf9\x2f\xc4\xc5\x98\x99\xdf\x07\xbe\x04\x8a\x7e\xa1\x00\xc9\xc5\x29\x29\x60\x44\x45\x19\x70\x10\x60\x57\x2c\x60\x9c\x01\x44\xf6\xa5\x0c\xf4\x18\x1e\xf3\x29\x11\x8c\xe8\xa1\x39\x80\x06\xcf\xcc\x52\xcc\xf0\x1c\xe0\x97\x07\x10\x3d\x08\xe2\x6a\xa1\x8a\x18\x92\x36\xa5\x34\x81\x5b\x69\x66\x69\x73\x92\x8b\x92\xd2\xd0\xa7\x11\x65\x2d\xfa\x6b\x11\x82\xd2\x4c\xfd\xb7\xb6\xff\xed\x24\xf6\xfb\xe1\xdd\x4f\x93\xdb\xd1\xdd\xf5\xc3\xed\x59\x49\x6c\x3f\xbb\x7c\xb8\xbb\x1f\xdd\x36\x3e\x2b\xf2\x79\xff\xfc\x30\x7a\x68\x79\xe4\x1a\xb8\x1c\xfe\x30\x2a\xd5\x67\xff\xf3\xc3\xf0\xf2\xe2\xfe\x2f\x93\xeb\x8f\x93\xbb\xd1\xed\xcf\x17\x67\xa3\xc9\xdd\xcd\xe8\xec\xe2\xe3\xc5\xd9\x50\x7f\x19\xbe\x7b\x73\xf9\xf0\xe9\xe2\x6a\xe2\x42\xb3\xc3\x47\xbf\x5c\xdf\xfe\xf4\xf1\xf2\xfa\x97\x49\xd0\xe5\xf5\xd5\xc7\x8b\x4f\x4d\xb3\x18\xde\xdd\x5d\x7c\xba\xfa\x3c\xba\x5a\x5d\x07\xbe\x79\x35\x5a\x4b\x4c\x07\x17\x59\x60\x34\x0a\xc4\xa4\xe9\xd2\x92\x36\xfd\x07\xf8\x2e\x6e\x0c\x3d\x1e\x0d\xdc\x5f\xa6\x6a\xfb\x91\x66\x81\xce\x77\x58\x70\x8f\x31\xf3\xce\x5d\x7f\xa9\x2a\x3c\x97\x2e\x3d\xbb\x34\xda\x53\x34\x84\xb3\x02\x0a\x43\xa9\x53\xc8\xfe\xf0\x23\x75\xe1\x00\x40\x87\x09\x4d\x29\x44\x06\xa0\x23\x54\xdd\xf0\x72\x83\x76\x4e\x30\x04\xeb\xdb\x8c\x57\x9d\x06\x59\xcd\xfc\x06\x4a\x39\x45\x8e\x43\x13\x63\x4e\x30\xf8\xbc\x4b\x86\x53\x1a\x55\xd3\x54\x00\xa2\x16\x15\x70\x2c\xd5\x16\x4b\x04\x56\x6e\x79\x41\xd0\x4f\x7f\x2a\x06\x05\x1e\x0c\xab\x79\xe7\xb5\x62\x8d\xf6\x81\xc8\xcd\xaa\xae\x23\xcf\x52\x4f\xee\x98\x5b\xd3\x32\x9c\x5b\x5b\x14\x1e\xdc\x4d\x39\x0b\x20\xd9\x4a\xbe\x27\x7d\xbc\xcd\x8c\x2a\x34\x7e\x8a\xee\x00\x0e\x46\x16\xaa\xbb\xde\xc5\x2c\xc9\xe7\x94\x21\x9a\x66\x09\xf0\x18\xa3\xcf\x4f\xc9\x02\x3f\x51\xee\x4a\x7c\x98\x4a\x28\xb0\x8e\x56\xb4\x42\x47\xa8\xf5\xa0\x9c\xa2\x61\x1c\xcb\x32\x83\x2b\x51\x8e\x63\x99\x47\xe5\x61\x87\x28\x6a\x2c\xf6\x6c\xb3\x42\x47\xc5\x91\x83\x15\xdb\x3f\xe0\x4d\x9d\x1d\x96\xef\xde\x1d\xae\x7f\xbd\x82\x13\x47\xca\x93\xad\x84\x81\x7b\x2c\x1f\x1d\x6b\x5e\x27\x10\x38\xe8\xa1\xdd\x7a\xb4\x18\x44\x5d\x3b\xf5\x2b\x3b\x81\x83\xb6\x5d\x9f\xad\xc8\xd9\x6b\xba\x74\x33\x4e\x2a\x55\xe1\x3a\xf7\x57\xaa\x2a\xd7\xd8\xd9\x5e\xbd\x3d\xcd\xd2\x18\x1c\xc9\x89\xa7\xff\x0d\xe6\x71\x03\x9f\x5e\xfb\x2f\x57\x8a\x6c\x93\x60\xdd\x36\xf5\x01\xd5\x12\x99\xad\x1f\x68\x25\x1d\xee\x09\x02\xab\xbb\x30\x08\xc5\x29\x68\x04\xee\x3e\x4c\x99\x2d\x59\x44\xbc\x3f\xca\xd5\x36\xd7\xe7\xd8\x57\x1f\xc4\x53\xfe\x54\x52\x2e\x53\x22\x25\x6e\x01\x75\x09\x4c\x62\xbb\x30\x06\x7f\x42\xed\x87\x1d\xe9\xc9\x9d\xc9\x7b\xfd\xd5\x2a\xa3\xcf\x6d\xa8\x19\xbb\x89\x6a\x81\x35\x76\xd1\xc8\xe8\xda\xe4\x24\x6a\xfe\x32\x28\x02\x8e\xb8\x08\xe2\xb0\xda\xdc\x3f\x1d\xcd\x6a\xd5\x05\x6b\xac\x44\x15\xba\xf0\x36\x8f\x53\x0a\x5a\xdf\x1a\x35\xdc\xfa\x55\x70\x79\x7d\x36\xa0\xba\x92\xbf\x33\x2c\x6e\x1e\xf1\x34\x35\x72\x41\xc9\x96\x3a\x40\xd8\xa4\x82\x16\xd2\x94\xcc\xa3\x85\xf1\x32\xe9\x2b\x63\x30\x66\xcf\xc1\x86\x94\x82\xa5\x87\x61\x4b\x80\xb8\xfa\x45\x1f\x37\xfa\x54\x0a\x41\x07\x91\x91\x42\x3c\x74\x40\x08\xc6\x21\x58\x94\xd8\x5a\x43\xe0\xc1\x7e\xed\x40\xea\x5b\x94\xa1\xac\xac\x6f\x5b\x31\x4a\x3f\xb7\xa0\x06\xe4\x0e\x9a\x72\xd7\x21\x04\x65\x28\x9b\x46\xb0\x87\x2a\x94\xaf\x0a\x81\xee\x53\x5a\x4d\x06\x74\x3a\xb5\x38\x1e\x7a\xba\x6e\xb5\x7f\xeb\x66\xf4\x5b\xe3\x77\xc8\x5b\x80\x5f\x82\xd6\x3c\x0a\x3a\x3a\xd2\x32\xab\x03\x24\xb0\x81\x18\x12\x1d\x19\x64\xc5\x6f\x20\x1a\x75\x78\x73\xf1\xcd\x00\x7d\x13\x66\xe4\x7d\xb3\xd5\x01\xb4\xe3\xb6\x95\x28\x41\x9b\x2a\xa5\x65\x94\x8f\x1d\xec\x55\xe5\x24\xda\x3d\xb3\x07\x11\xb5\x9d\x43\xfd\x65\xe9\x1b\x70\x4e\x43\x89\x40\xe3\xbf\xf5\x41\xe1\xd6\x05\x64\x64\x5c\x2a\x1b\xd6\x2e\x1e\xb3\xe9\xb2\xea\xe4\x19\x78\x2f\x4f\xe7\x53\xba\x73\xd9\x3b\xdd\x5e\x3d\x85\x7b\xcf\xc1\xca\xab\xef\x83\x35\x49\xe1\x43\x13\x97\xce\x67\x01\x17\x6b\x8b\x52\xe8\xa3\xfc\x9b\x66\x55\xb2\x97\xb9\xc5\x6c\xdc\x94\x75\xf2\xcf\x7b\x23\xb7\x0e\xa1\xf1\xc3\xa6\x15\xb1\x59\x11\x2d\xc2\x75\x4f\x65\x2f\x4b\x65\xfb\xc8\x0a\x29\x0f\x6e\xf3\x0b\xf4\xcc\xc8\x71\x41\x33\xce\xe0\xaa\x95\x09\xcf\xe0\x4b\xb5\x11\xd7\xd7\x62\xde\xd0\xe7\x1b\xac\xc9\x7a\xa7\xef\x9d\x09\x1c\x30\x6e\xd7\xfa\x58\xab\x43\x1d\x2a\x5b\xa8\x89\x53\x93\x01\xaa\x68\x4a\x06\x88\xb3\x64\x19\x04\x3b\xd8\xf3\x0a\xe4\x66\x62\x94\x16\x84\x0a\xd7\x89\xc5\x61\xdc\x08\x32\x60\x43\x69\xbc\x8d\x46\x76\x88\x34\xb9\x1a\x7e\x1e\x9d\x4f\x46\x57\xf7\x17\xf7\x7f\x69\xc0\xd8\x2c\x3f\x76\x30\x9b\xc1\x0b\x77\x7f\xb9\xbb\x1f\x7d\x9e\x7c\x1a\x5d\x8d\x6e\x87\xf7\x6b\x20\x38\x57\x75\xd6\x06\xef\x98\xcb\x26\xf5\x6d\x13\x88\x47\x67\xe6\x6d\xe8\xbd\x0e\xc4\x19\x74\x42\x49\x0b\x18\xa7\x81\x47\x60\x31\x11\x28\x26\x4f\x24\xe1\x59\x61\x56\x6d\x5c\xb0\x00\xa5\xb3\xa1\xfd\x55\x48\x9d\xd0\x66\x75\x8d\x4f\x91\xa9\x87\x17\x94\x04\xf6\x0d\x82\xc8\x87\x05\x61\xdf\x28\x44\xbe\x64\x09\x8d\xa8\x0a\xd2\x27\xb9\xb0\xee\x15\xe3\x3e\x84\xe8\xd4\x35\xc4\xb5\xb7\x68\x94\xbd\xeb\xfc\xa1\x27\xbd\xae\xed\xfb\x13\xe5\x51\xe3\xd6\x16\x59\xda\x83\x62\xdf\xe2\x34\xae\x81\xda\x6d\x31\xba\x97\x30\x0f\xd4\xf3\x98\x6c\x0a\x64\x0b\xe0\x5d\xf3\x20\xd7\xdf\x86\xab\xe2\x64\x4a\xe7\x7a\x75\xa0\x4c\x37\x4a\x7d\xe3\x70\x97\x52\xf1\xd1\x3d\xa0\x93\xd8\xd8\xf5\x0d\x03\x16\x6a\x35\x75\x98\x89\x39\xc5\x48\x90\x94\x2b\xad\x80\x99\x88\x80\x81\x16\xaa\x28\x4e\xe8\x3f\x00\xc7\x4b\x90\xe3\x20\x82\xc2\xa1\x9f\x15\xee\x03\x8b\xb1\x71\x3c\x66\xe7\xa3\x9b\xdb\xd1\x99\x66\x48\xc7\xe8\x41\x02\x44\x57\x69\xea\xe7\x96\xbc\x8d\x38\x16\x46\x32\xac\x2e\xe4\x4f\x84\xe0\xa2\x3b\x7f\xf0\xfd\x8d\xe0\xbb\x66\xf2\x86\x67\x25\xdb\x94\x33\x00\x5c\xb5\x56\x8e\x0e\x72\x06\x76\x0f\x53\xa9\x9e\x08\xfc\x5c\x5a\x91\x10\xa2\x04\x24\x91\xf2\xaa\xbf\xe0\x6a\x03\xc8\x69\xf7\xf9\x95\xfa\xbc\x81\x6f\x57\xcd\xf3\x1e\x42\xec\xa4\x2a\x10\x53\x0d\xa8\xaa\xaf\x0c\x54\x99\x67\xab\xa8\x28\xde\x02\xce\xa4\x42\xfa\x53\x32\xc7\x0c\x89\x9c\xb1\x0a\x84\x6e\x68\x69\xab\x07\xcd\x6c\x7a\x54\xf5\x9a\xe1\x94\xe7\x0c\x94\x06\x08\x63\x6d\x18\x8c\xcc\x08\x53\x6b\x06\xf3\x56\x60\x35\x95\xa1\x1e\x2e\x5e\x4d\xc3\x40\xdb\x20\x6b\x9a\xfc\x49\x50\x9e\x7a\xb3\x6b\xd9\x05\xe5\x95\x9c\x4a\xfa\x50\xf9\xfb\xb9\x59\xcb\xc6\xf2\x71\xe7\xee\xee\xb1\x7c\x5c\xdf\x55\x4c\xa2\xc7\x4d\x2f\x9b\x6a\x66\x66\x62\xab\x7b\xd7\x8c\x7d\x4b\xfd\xd4\x96\xaf\x81\xa2\xee\xd1\x23\xfa\xf1\xfe\xf3\x25\x9a\x51\x2d\xf7\xea\x6b\xe5\x0a\x6b\x19\xfb\x41\x24\xce\x2e\x6c\x6d\xab\xb9\x48\xfc\xdd\x0b\x1b\xef\x44\xa9\x40\x4a\xd0\x37\x1a\x9e\x13\x67\xec\x15\x16\x91\xb0\x52\xbe\x46\x60\x16\xf3\xd4\xcc\xe3\x44\xe6\xb3\x19\xfd\x72\xac\xb0\xf8\xae\x65\x3d\x4c\x54\xc5\xe4\x6f\x7c\x3a\xd1\x23\xda\xf1\x22\x6e\x6a\x0e\xd9\xa2\xd3\x7e\xd9\xec\xcc\xce\xcd\xbb\xff\x87\x4f\x01\x11\x20\x13\x1c\x50\x12\xc1\x3b\x67\x23\x15\xec\x2b\x8e\x92\x8e\x91\x4b\xa0\x2a\x01\xc1\x44\x5c\x08\x62\x81\x04\x4c\xfd\xd5\x0c\x0b\x45\xc1\x5a\xeb\x80\x64\x4a\x15\x04\x8a\x2d\x0a\xcb\xa2\x2f\x70\x81\xd6\x3d\x25\x04\x1c\x3c\x19\x4d\x36\x53\x7a\xcf\x4a\xbe\xc9\xca\x09\xb4\x91\xa7\x16\x5b\x14\x0c\x32\x6b\x45\xac\xd1\x13\x61\x6a\x2f\xfa\x09\x34\xd1\x00\x6d\xd0\xcd\xcb\x60\xca\xa0\x5e\x9c\x17\x97\x9b\x0b\xe9\x0d\xa3\x9a\x94\xc0\x70\xcf\xdb\x44\x29\xeb\x52\x6f\x73\xf4\x3f\x75\xf6\x1d\xc3\xab\xf5\x75\x59\x13\x1a\x6f\x57\xbb\x28\x87\x5e\x84\xb5\xba\xf2\x07\x5b\x82\x1d\x49\x62\xac\x18\x01\xc8\x86\x55\x4e\xab\x7b\x6e\xfa\xd4\xb4\x55\xe9\x72\xed\x96\x6f\x81\xec\x53\x6a\xe6\x13\x81\x94\xce\x7d\x04\xa2\x6f\x82\x6f\x00\x03\x79\x10\x09\x84\x50\xaf\xb4\x62\x99\x52\xec\x9a\xf3\x79\xc9\x0e\x77\x90\xd1\xcd\x60\x56\xe0\x13\xe4\x49\xe2\x50\xd0\x56\x4b\x87\x1b\x21\xf7\xbd\xf8\xbc\x02\xdd\x63\xc5\xc4\x1c\x0a\xe0\xea\x99\x05\x6b\xb0\x77\xe9\xfe\x63\xb0\xbe\x60\x42\x06\x43\x62\x59\x8b\x04\x0e\xbf\x34\x71\xb3\x60\x4a\xc2\xa5\x8b\x8c\xfe\x43\xb3\x5f\x41\xe4\x82\x27\x71\xfb\x84\xeb\x18\x13\xab\xa6\xbb\x31\x0e\xe3\x26\xf3\x75\xcb\xfe\xb2\x13\x0e\x94\xb2\x35\x33\x7e\x39\x40\x0d\xff\xd6\x7e\xe6\xba\x47\xed\xb3\x48\x53\x5f\x5d\x1a\xc4\xbf\xf6\x92\x33\x70\x92\x4e\x5b\xc4\x7c\x07\x89\xb5\x22\xdd\x94\x84\xd7\x95\x13\x74\xbe\x77\x1f\xd7\x63\xd1\x86\xad\xd4\x64\x87\x06\xf2\x4f\x61\x44\x0d\x91\xff\x0a\xa7\x54\xa1\xa6\x2e\x8d\x57\xdd\x7f\x5e\xb8\x06\x8a\x64\x0f\xaa\x64\x51\x73\x11\x69\x29\xaa\xed\x40\xea\x79\x4e\x72\xb1\x11\xd8\x48\x81\xd9\xbf\xc9\x9d\x6c\xd3\x8c\x8a\x61\xe9\x45\x68\xbe\x08\x6d\x29\x15\x50\x90\x6c\x10\x99\x2c\xe1\x20\xda\x43\x6e\x96\xb1\x51\x79\x6f\xbf\x6e\x77\x75\x98\x82\xfe\x53\x08\xa9\x2f\xe5\x37\x2d\x51\x60\x69\x02\x3d\xb2\xde\xe6\xc8\x7a\xb6\xae\x8e\xa7\x3d\xc0\xc1\x54\x02\x20\x1d\x0a\xd7\x68\x55\x24\xb4\xee\x8c\x75\x39\x6d\xa5\xdd\xe9\x94\xc0\x56\xfa\x42\xf3\x92\xf3\x1d\x7d\xab\x7a\x32\xcb\x09\xa4\x04\xef\x12\x5f\x55\x9a\xbf\xf1\x0b\x41\x9b\x24\x46\x06\x97\xc2\xe0\x7e\xdb\xb5\xf3\x3e\xb1\x0c\x0b\xc2\xd4\x98\xdd\xea\x51\x98\x2f\x8a\x18\x1b\x17\x61\xe5\x6a\x31\x40\xc5\xe6\x19\xc2\xf6\x2b\x58\xf4\xb6\xcb\x53\x4e\xcc\x4b\x60\x74\x78\x41\xf8\x84\x1f\xcc\x3b\x06\xcd\xc2\xa2\x39\xe9\xa9\xd2\x59\x61\xa0\xd1\xaa\x41\xb4\xa0\x00\x26\x11\x13\x69\x2f\x24\xaa\x2c\x5a\x88\x57\xac\x72\xe2\xd0\xc7\xe1\x33\xcf\xbf\x9a\x18\xb6\x33\x01\x31\x67\x7a\x95\x63\x16\xf4\xb1\x02\xac\xd6\x98\x61\xb6\x54\x12\x61\x9f\x69\xec\x5d\x9a\xf0\x4f\xb3\x43\x5c\xd0\x39\x65\x41\xc9\x30\x3b\xbd\x14\x67\x60\xb8\x37\x67\x90\xcf\xfc\x9d\x76\x6f\xf3\x47\x8e\x61\xc4\xff\xf7\xbf\xff\xe7\x98\xb6\xf9\xb5\xe4\xc4\xae\xc0\x21\xec\xe4\x66\xdb\x12\xee\x7c\x80\x0f\xd3\x82\x3b\x12\x58\x2b\x64\x29\x27\xa6\xf8\xd5\x5e\x6e\x9a\x68\xb8\x5a\x18\x47\x7e\x99\xdc\xc1\xeb\x25\xf2\x15\x67\xc3\x5c\x31\x6f\xbb\x96\x54\x42\xde\x87\x1e\x89\x39\xc9\xde\xf4\x13\x96\xe3\xaf\x19\xe0\xc6\xac\xf8\x44\x1a\xa4\x1b\x03\x6e\x6c\x7e\x28\x56\xa7\xe3\xc2\xac\xe2\xfd\x45\x0c\x4c\x11\xe8\x10\xc4\x99\xbb\xe2\x31\x26\x3e\x58\xb7\x5f\xb9\x69\x2b\x9c\x3b\x40\xf9\xdc\x25\x1e\x77\x81\xe5\xcb\x05\x5d\x35\x16\x3d\x33\x7e\x92\x50\x78\x58\x17\x7e\x65\x06\x69\xf2\x78\xf5\x86\xe4\x92\x08\xc3\xe9\x3c\xd0\x99\xa5\x84\x10\xc3\x14\xa2\x6f\xd7\x78\x91\x49\x8a\xe9\x46\x99\x22\xfa\xfd\x66\x84\xd5\x92\x1b\x09\xcf\x89\x98\xc4\xb9\xaa\x1d\x8b\x55\xd9\x1b\xfa\xa3\xf3\x5c\x2d\xd7\xb7\x2f\x13\x5c\x2f\xfa\xb4\x0a\xd5\x56\xbf\xdf\xd2\xec\x7a\x89\x39\x08\xde\x2a\x4b\xcd\x2d\x98\xb1\xa4\x82\x19\x6b\xa3\x89\x4b\xc6\x2f\xb8\x81\x99\x02\xb0\xc4\x42\x93\xb2\x57\xb4\x41\xb6\x87\x91\xa3\x69\x5e\x18\x0b\x7d\xad\x10\xad\x12\x7f\x34\xc5\x76\x40\x27\x37\x03\x88\x20\x95\x8b\x7c\xc9\xb8\x24\xa5\xdc\xc2\x86\xfa\x1f\x36\x37\xd8\x0e\xa3\x59\x58\x2f\x3e\xda\x5d\x56\x7f\x73\xf4\xdf\xfa\x86\xd7\xa7\xdc\x4c\x81\x3b\x89\x83\x11\xcd\xa8\xa6\x9d\x49\xe3\x49\x7b\xb9\x1a\xd4\x45\xb4\x1e\x20\x9c\xa9\x64\x39\x40\x7e\x7a\x15\x82\x48\xc8\x13\x01\x47\x09\x8c\x31\xac\xf2\x52\xb6\xd8\xb6\xb0\x93\x75\x07\xa8\x48\xec\x05\xb6\x80\xe2\xea\x08\xca\xe9\x8f\x4d\xb4\x58\x4e\xec\xda\x39\x07\xb1\x29\xe4\x68\x03\xf1\x7c\x18\x56\xbb\x59\x12\x85\xc8\x17\x45\x6c\x3d\xdc\x7b\x97\x25\x5a\x4f\x2c\x41\xcd\x89\x6e\xed\xb2\xe3\x8b\x57\x26\x1f\x3a\x6c\x00\x97\x06\x1b\xbb\x2b\xdf\xa6\x85\x2e\x30\x8b\x6d\xae\xb3\x55\x32\xb4\xb0\x05\xb3\x33\xd6\x36\x9f\x05\x62\x33\x76\x83\x32\x01\xa6\x4d\x53\xcf\x00\x2e\x32\xa7\x30\x6a\x95\x05\x02\x67\xb8\xd0\x92\x7b\xce\x14\x4d\x34\x71\xd8\x31\x48\x34\x83\x98\x47\x0b\x41\x09\x39\x0b\x6d\x28\x87\x54\x4a\xca\xe6\x13\xbb\x92\x2e\x6d\xb7\xdb\xc5\x50\xa6\xa9\xcf\xa6\x29\xf3\xe3\x0f\xae\xa1\xd5\xee\x12\x43\xd6\x80\x40\xe7\x12\x86\x41\xe3\x60\xdc\x4d\xc6\x42\x07\xba\x3c\xe3\x09\x8d\xcd\x52\x50\x53\x76\x1d\x26\xba\x89\x47\x05\x64\xba\x3a\x42\x47\x71\x85\x48\x9b\x04\x6c\x52\xfb\x20\x07\x43\xb5\x64\x39\xcb\xd6\xec\xe6\x0b\xe6\x45\x34\x5b\xf4\xcd\x63\x38\x54\x12\xa5\xb1\xeb\xce\x26\x9a\xe0\x24\x99\xe2\xe8\xd1\x6b\x61\xde\x16\xc1\x85\x2b\x9a\xa1\xe5\x4a\xa8\x0a\x68\x88\x4b\x0f\x34\x02\xe9\x26\xf4\x03\x1b\x8c\x26\x3b\xec\xa2\x73\xb3\x6a\x16\xfc\xce\x80\x72\x99\xd1\x9b\xac\x95\x98\x64\x09\x5f\xa6\x2d\xf7\x59\x35\x39\x74\x97\x18\xac\xb6\xdc\xd4\xbd\x5e\x65\x15\xa6\xb7\xf1\x65\x56\xcb\x34\xdb\x03\x62\xd8\x06\x5c\xf2\x53\xc2\xa7\x60\x52\xb5\xe6\x07\x97\x3d\x15\x24\xf1\x54\xcf\xf3\xa6\x39\x5d\xd5\x13\x49\x65\x96\x68\x65\xa6\xbd\x07\x93\x4d\xf4\xb2\xfb\x66\xd0\x27\xd6\x5b\x07\xbb\xc7\xe1\x37\x7e\xfe\x12\xd8\xd4\x97\x4e\x12\x30\xef\x1a\xfe\x55\xb1\xb2\x99\x34\xce\x63\x13\x7e\xa0\xf8\x98\x29\x3c\x77\x9b\x6b\x85\x4b\xfe\xcc\x88\x90\x0b\x9a\x95\xaa\x85\xee\x1c\xf8\x6f\x29\xda\xfe\xc7\x84\xb9\x6f\xc0\x3b\x79\x76\x64\xb0\x67\x34\x7d\xc8\x0c\x47\x85\x55\x34\x4a\xb0\x94\x74\xb6\x0c\x20\x63\x7c\x0c\x35\x24\xe6\x95\xcd\x08\x41\x81\xbe\x26\x46\x63\xc6\xb7\x1f\xcc\x84\xdd\xf3\x45\x1f\xca\xc7\x8f\xc6\x21\x36\x9f\xbe\x4f\xea\xf8\x40\xee\xa6\xb6\x38\x41\xad\x18\xc3\x06\x1c\x62\x3b\x8c\x83\x95\xb0\x4e\xed\x66\x84\x42\x98\xb4\xc3\xb6\x8a\x8c\x87\x72\x09\x61\x8e\x54\x29\x49\x16\x36\x5f\x2b\x4e\xce\x2e\xac\x89\xd3\xc3\xc0\x00\x5a\x46\xf1\xf1\x00\xc9\x9d\xe0\xd3\xba\xd0\xc5\x39\x49\xc8\x5e\x62\xe9\xb7\x20\x92\x6a\xa0\x4a\x40\x1e\x2b\x49\xa3\x28\xb2\xb1\xde\xb8\xb0\x45\x88\x7f\x0b\x08\x53\xf3\xd0\x7f\x31\x03\xb5\x51\xfe\x4d\xbb\x08\x86\x41\x58\xe5\xae\xba\x4b\x13\x9a\xa3\x69\xc1\x92\x5c\xd1\x4d\x89\xae\x8a\x4e\xbd\xbc\x72\x88\xa4\xf6\xc6\xc1\xf0\xb5\x71\x7d\x22\x5d\x02\x77\xd6\x1e\x80\xad\x38\x50\x9d\x4f\x77\xa3\x0b\xeb\x40\x55\x1c\xcd\x09\xa0\xed\x50\x16\xd3\x27\x1a\xe7\x38\x79\x57\x34\xb1\xb7\x54\x9e\x3d\xad\x7e\xf3\x21\xdf\xec\xd4\xde\x11\x25\xdd\x95\x50\x03\xc8\xb4\x9b\x73\x80\x5b\x70\x18\xc7\xd2\x08\xae\x5f\xbd\xdc\xb2\x33\xfc\x85\x1d\x99\x05\x81\xf8\x15\x09\x54\x66\x8e\xb1\xfd\xc2\x03\x3e\x94\xa0\xce\x70\x09\x1e\xd2\xac\xd1\xdb\x73\xbd\x2a\x69\x7f\xed\xa2\xd7\xe6\x34\x5e\x1d\x55\x41\xdd\xbd\x3c\xb8\x99\x3c\xe8\xe0\x53\x0f\xf0\xf2\x6f\x3b\x06\x87\x79\xff\x1c\x80\x70\x58\xbb\x12\xf7\x27\x22\xbe\x23\x32\x39\x08\x49\xb1\xb6\x15\xaf\x25\x2f\x1e\x39\xfc\xaa\x02\x0d\xea\x70\xb7\xe8\x30\x4e\xf2\xad\x75\x03\xbd\xdc\x05\xbb\x9e\x5e\xf6\x42\x1f\x00\xe5\x8a\x21\xe3\x3d\xb7\xb5\x61\xe0\xf0\x06\xb1\x74\x35\xdf\xc3\x9a\x28\x45\x3b\xbc\x4e\xf1\x89\xb5\xe5\x7c\x89\xed\xb5\xe9\x8d\x9d\x37\xf7\x25\x49\x6d\xd3\xb1\xec\x43\x47\x79\x61\x2f\x8e\xa5\xc6\xe0\x83\x3e\x58\xb8\xdb\x2d\xda\x00\x9a\xe4\xb6\x6c\x9f\x87\xac\xa9\xa0\xdf\xee\x00\x0d\x2e\x7b\x73\x92\x09\x32\xa3\x5f\xb6\x12\xc5\x6f\xe0\x53\xab\x5e\xea\x65\xae\x94\x08\x04\xf7\x0c\x94\x14\x0c\x02\x1a\xed\x4a\xdb\x32\x62\x63\x56\xe4\xbc\xda\x84\xd7\x47\xb2\x44\x5c\x94\x7e\xda\x16\xde\x73\xff\xe5\x0c\xcd\xbe\x2e\x94\xca\xe4\xe9\xc9\xc9\x9c\xaa\x45\x3e\x3d\x8e\x78\x6a\xe2\xf0\xb9\x98\x9b\x3f\x4e\xa8\x94\x39\x91\x27\xbf\xff\xdd\xef\x8a\x2d\x9e\xe2\xe8\x71\x6e\x00\x93\xea\x7e\xa7\xf2\x96\x13\x2c\x77\x8b\xec\x71\xc9\x89\x2f\x9c\xa4\x1e\x74\xe3\xd2\x82\xf5\x37\x52\xe1\x34\x0b\x43\x41\x4d\x41\x40\xa9\x70\x51\x86\x04\x32\x4e\xf5\x34\xd1\x02\x67\x19\x61\xed\x66\x07\x93\x42\xbc\x03\xeb\x71\x49\xc8\x76\x84\xe4\x4b\x96\x60\x56\x06\xd6\x80\x9a\x5a\x82\x44\x84\x29\x0b\xfa\x50\x14\x52\x07\x6a\x34\xe0\x4e\x86\xff\x6f\x96\x64\x0a\x73\xa4\xb2\x28\x96\xe7\x86\x63\x0b\xd7\xba\x72\xa6\x38\x58\xba\x6a\xb1\xe0\x62\xed\x88\x5b\xb5\x55\xe9\xa7\x77\xf5\xc2\xfa\x9b\x17\x2b\x12\x9c\x4d\xc8\x17\xcd\xe4\xe4\xb6\x50\x6c\x0f\x92\x48\x34\xfc\xe5\x0e\xc9\x25\x53\xf8\xcb\x29\xfa\x4c\x19\x08\xb0\x3f\xf2\x5c\x48\x74\x8e\x97\x47\x7c\x76\x94\x72\xa6\x16\xe8\x33\xfc\xaf\xfd\xe9\x99\x90\x47\xf4\x17\x82\x85\xe5\x0f\xb6\xd8\xa0\xaf\xee\xaf\x49\x48\xe4\x4c\x22\xf2\xa4\x4f\xe8\xef\xfe\x13\xa5\xa6\xe5\x53\xf4\xfd\xc9\xef\xfe\x13\xfd\x06\xfe\xff\xff\x8b\x7e\xd3\xa2\xe9\x6f\x06\xe6\x06\x35\xa9\x6f\xcb\xee\xdc\x41\x65\xa5\x64\x7d\xc9\xd7\x35\x7b\x26\x78\xb1\x53\x8d\x2d\x3f\xd2\xe8\x91\xcf\x66\x13\x4d\x18\xb6\xe6\x36\x16\x35\x20\xf0\x2d\x91\x71\xa9\xad\xbc\x6e\x6a\x14\x16\xd5\x81\x6c\xa7\x06\xcb\xc3\xb1\x6b\x99\x17\x35\x95\x21\x88\xa8\x54\xa7\x9a\x4a\xf8\x8a\xc4\x9a\xab\x6e\x72\x3a\x9c\x75\xcf\xa5\xf5\x3b\x0b\x4e\x88\x7d\xe3\x04\xe2\x52\xe0\x5f\x18\xc5\x6a\x02\x7d\xec\x42\x36\x1e\x87\x5a\x78\xed\x57\x13\x33\x09\x53\x7b\xab\x78\x49\x59\xeb\x7c\x7d\xa8\xe4\x1d\x17\x3b\xe9\x5b\x8f\xa4\x35\x95\x61\x4d\x25\x2c\x57\x9d\x19\x87\x46\x0d\xc5\x91\xe4\xc2\x23\x54\x1b\xbb\x88\xad\x97\xb9\xde\x8a\x49\x85\x09\x2e\xeb\x76\xe8\xf5\xd4\xcf\xfd\x27\xeb\x86\x09\x91\x66\xee\xed\xa2\x12\x20\x8c\x56\x8b\x48\x9a\x25\x36\x8c\xb8\x01\xc6\x72\xdd\x86\xde\x79\xe4\x12\x68\x1c\xc2\x1e\x21\x7f\x83\x39\xc9\xd6\x42\x43\x34\xef\x67\x2e\x22\x72\xc6\x77\x0b\x7b\x4d\x28\xab\xc5\xcb\x77\x2f\x32\xe5\x57\xef\xd2\x96\x13\x73\x48\xcf\x3c\x2e\x94\x05\xe3\x16\xb0\xf5\x45\x02\x88\xd9\xf2\x6c\x00\xaa\x70\x1f\x28\xa6\xb5\xaa\x17\x3b\x70\x6d\x63\x38\x2e\x18\x9e\x2b\x9a\x52\xa9\x95\x22\xb0\xe6\x85\x2b\x62\xd7\x20\xa8\x68\xe7\x71\x04\xf5\x7f\x8a\x48\xa5\x4a\x9d\x7d\x6c\x8a\xe0\x88\x2d\x51\x68\x4d\x29\xae\x01\x12\x18\x82\x32\xd5\x42\xb7\x27\x89\x38\x9a\xe1\x88\xb2\xf9\x20\x00\x20\x05\x30\x90\xf0\x3a\x68\x22\xd2\x7b\x2c\x1f\xf7\x1b\x68\xb8\x73\x69\x52\x1a\x17\xe5\xf1\x2c\x64\x90\x71\x6c\xd0\x1a\xfa\xa2\xc2\xf2\xb1\x0d\x33\xab\x06\xd8\xb7\x62\x74\x7e\x29\x1c\xcc\xdf\xaa\xf1\xb9\x14\x74\x12\xea\x53\x50\x8d\xc3\x15\xcb\xb6\xf0\x9d\x2e\xe3\x0f\x7b\x7c\x9d\x2a\x6e\xed\x8a\xf1\xcb\x05\x17\x6a\xb2\x25\xe2\x6f\x35\x8d\x9e\x91\xa3\x04\xa0\x7a\xf8\x13\x11\x4f\x94\x3c\x97\x81\x73\x37\xa1\x45\x63\x34\x0b\xa2\xea\x00\x59\x35\xcd\x38\xa4\xd0\xcc\x50\x8a\xd9\xd2\x30\x4a\xcd\x5c\xb0\x7c\x94\xbe\x44\x2f\x92\x29\x4e\x92\x01\x12\x24\x97\xa6\x74\xb5\x24\xc9\xec\xc8\x15\x39\x89\x51\xc2\xe7\x34\xc2\x09\x9a\x26\x3c\x7a\x94\x26\xc3\x8d\xcd\x0d\x93\xca\x04\x8f\x88\x94\x81\x64\x55\x64\xb3\xdb\x1c\x43\xa8\xcf\xab\x88\x48\x29\xa3\x52\xd1\xc8\x89\x4c\x05\xdc\x88\xa9\x12\x1f\x61\x30\x09\x43\xc6\x26\x0c\x57\x4b\x7a\xc4\xc0\xae\xe6\xcc\x96\xc3\x82\xeb\xda\xa2\x29\xba\x20\xf1\xb6\x03\xb4\x07\x70\x48\x47\x21\x13\x55\x3e\x90\x6b\x8e\xd4\x99\xfd\x0c\x8e\xf1\x2a\x12\xb8\x2d\x9f\x28\x4f\x90\xfe\xa4\x95\x00\xab\x20\xa6\xdc\x87\xc0\x97\x24\x17\x1f\x19\x7e\x60\x58\x75\x30\xe4\x16\x84\xba\x75\x34\xad\x57\x11\x44\x1e\xa8\xc0\x56\xf5\x9a\x53\x16\x25\x79\xec\x6b\x70\x6a\x11\xe0\x49\x13\x89\x5b\x1e\xbd\xf6\x5a\x50\x18\x20\x2c\xd1\x33\x49\x12\xfd\x5f\x13\x01\x7f\xe4\x4b\x62\x68\x96\x6c\xca\x96\x40\x27\x8e\x4b\xb7\x51\xd4\xc1\xe1\x8e\xde\x60\xb5\x30\x39\xff\x29\x57\xa6\xfc\xa9\xc1\x1d\x75\xf6\x2d\x03\x54\x39\x4d\xf8\x14\x4e\x3a\x40\x92\xba\x3c\xd7\x20\xad\x2e\x8f\x22\x42\x62\x12\xa3\x6f\x83\x83\xeb\xf1\x28\xbe\x6b\x06\xc8\x2c\xad\xc8\x01\xc0\x91\x56\x0d\x6b\xad\xa0\xa4\xe5\x0a\x7e\xc7\xe8\xa6\x02\xcc\x12\x56\xe6\xc7\x55\x00\xb6\x41\x6d\x0b\xdf\x06\xc2\xb4\x32\x89\x97\xdb\xa1\x0d\x21\x4c\x4b\x7d\xee\x01\xc2\xb4\x32\xcf\x96\xd8\x7d\x3e\x7f\xd1\x9c\x63\x3d\xa9\x4b\xde\x3d\x11\xcc\x40\xbf\x99\xbb\xb3\x44\x82\xee\x40\x2e\x9b\x08\xf1\xb0\xe0\x59\x2b\x75\x2e\xdf\x16\x9e\xb5\x32\x98\x43\x86\x67\xad\x0c\xf5\x70\xe1\x59\x1b\x06\xda\x01\x9e\xd5\x38\xf7\x27\x9a\xa8\xbb\x31\x05\x48\x6c\x99\xe6\xb3\x3b\x48\xf5\x5e\x39\xc6\x33\x13\x38\x60\xae\x31\x77\x47\x5b\xb4\x72\x18\xad\xcd\x81\x6c\x0b\x87\xaa\x38\x21\x36\xa5\x3d\xef\x7d\x33\xe0\x0f\x9b\x9a\xdd\x07\xa1\xb5\x1b\xec\x90\x11\xce\x6c\x4e\x79\x5b\x11\xa1\xc3\xc9\x9e\xdd\x0e\xf9\x16\xd0\x25\x4b\x2c\xbf\x13\x82\xd8\xe7\x4a\x3d\x8e\x05\x7f\xb6\x35\xb1\x80\x0c\x0d\x51\xb6\x92\x20\x74\x3a\xb1\x4a\x5b\xdb\xca\x51\xa6\xc8\xbc\xaa\xd3\x16\x87\x86\x32\xf5\x87\xdf\xaf\xe5\x44\x06\x3c\xd3\xa9\x87\x41\x55\x0c\xef\xec\xb0\xcf\x48\x8c\xa2\x85\xd6\x8a\xa4\x56\x5f\xf4\x74\xcc\xcd\x2a\x51\x8a\xa9\x53\xa4\x72\x69\x5c\x4b\x54\x8e\x59\x09\x6d\xf6\x18\x7d\x84\x52\xbf\x38\xcd\xb4\xfe\xe5\xe7\x47\x35\x25\x8d\xf3\xef\xbf\xff\x03\x41\xdf\xa3\x94\x60\x56\xd2\x61\x41\x6d\xd2\x57\x1f\x60\xf7\xa9\x05\x19\xb3\xc6\xad\x40\xa3\x2f\xa6\x7a\x98\x8b\xf7\xbb\x60\x33\xee\x74\x62\x28\x61\x89\xa3\x05\x92\xf9\xd4\xd4\x60\x0e\x6c\x18\x4e\x90\xbe\xe4\x73\x70\x54\xc3\x8d\xec\x06\xbd\xea\x14\xbe\x6c\x0c\x80\x75\x37\x76\xbd\x8d\x87\x70\x8f\x1c\x49\x52\xc2\x76\x6a\x70\x9a\x19\xce\x17\x1e\x7c\x69\x70\x5f\x06\xc6\x87\xa0\xf5\x33\x6c\x2d\xfb\x5a\x96\x86\x70\x5e\xf0\x92\xe5\x09\x16\xf6\xe8\x8f\x99\x56\x34\x04\x79\xa2\x3c\x97\xc9\x12\xc5\x9c\x91\x01\x50\x42\x1e\x2d\x8c\x63\x55\xeb\x2c\xd8\x96\x22\x79\xa2\x32\xd7\x0a\x2d\xb4\xe5\x2a\x9f\x48\x85\x0d\x26\xd5\x82\x42\x3f\x5a\xfd\x26\xf0\x55\x98\x25\x87\xba\x69\x51\x21\x20\x70\x85\xe7\x77\x04\x04\x2e\x51\x55\x0f\x08\xec\x01\x81\xeb\xeb\x72\x88\x80\xc0\x95\x3d\xef\x06\x08\xdc\xb4\xe5\x5b\x00\x02\x97\x9a\xf9\x6a\x00\x81\x2b\x2b\xfa\xd5\x00\x02\x57\xe6\xd5\x03\x02\xf7\x80\xc0\x3d\x20\xf0\x7b\x01\x04\xde\x11\xf2\xb6\xf9\x96\x35\xc8\x59\x8a\xb2\xe5\xc6\xec\xe3\x1b\x89\x2e\xae\x35\x61\x45\x8f\xe5\x70\x45\x2f\x88\xec\x0e\xb3\xdb\x7c\xbd\x6c\x06\xb3\xdb\x68\x84\x69\xbf\xc4\x76\x85\xee\x02\x95\xef\x95\x61\x76\x4b\x13\xe8\x23\x67\x37\x8f\x9c\x6d\x24\x3e\xdb\xb7\x1e\x9e\x0b\xa7\xad\x8a\x5a\x1d\x81\x76\x4b\xfb\xd3\x29\xc6\x16\x94\xb2\x3d\x50\xe2\xcb\xea\x69\xf7\xa5\x43\xbe\x56\x4b\x0b\x57\x51\x5a\xc8\x6f\x2d\xbb\x3b\x1c\x40\x63\x5e\x09\x23\x3b\x7a\xca\xdd\x22\xe6\xbb\xb2\xbc\xde\x63\x66\x68\xb1\x03\xa9\x76\xa6\x50\x67\x6f\xd8\x4f\x0a\xb4\x4b\x8b\xdd\x30\x78\xc0\x0d\xe2\x2e\x23\x51\x8b\xf7\x80\xa6\x74\x5f\xcd\xae\xbb\xc8\x3c\xca\x19\x98\x5a\x6a\x19\xbf\xfa\x7a\x32\xc3\x31\xda\x5b\x25\xd1\x19\x20\x58\xcc\x97\x73\x2a\x95\x68\x8d\x5a\xab\x8d\x70\x17\x27\x78\x96\x77\x0e\x75\x0a\x56\x75\xbe\xdd\x67\x29\x49\xb9\x58\x17\x32\xd7\xf8\xa5\x2d\x4f\xb5\xcd\xa7\x24\x5b\x90\x54\x4b\x32\x93\x4d\x1b\xe9\xba\xdf\x3e\x1d\xdc\x66\x25\x9a\x10\xd6\x12\x11\x04\x2e\x6e\xfd\x6e\x6c\xb0\x46\x3b\x6f\xf7\xae\xdb\x6c\xd1\x50\x37\x74\xf5\x39\x98\xec\xd5\xa6\x54\xfb\x52\x29\x90\x01\xe8\xbb\x31\x5a\xc7\x07\x4b\xad\x8f\xc7\x59\x11\x89\xb3\x0a\x51\xac\xf8\xca\x16\x6f\xdf\x20\x48\xa3\x1c\x77\xa1\x39\x61\x58\xb9\x7b\xf3\xd0\x9d\x16\x3c\xdc\xfa\xf2\x40\xcc\x95\x24\xe2\x28\xd4\x0c\x4a\x83\xa9\xaf\x57\x89\x4a\x9c\xad\x60\x07\x22\xc9\x45\x6b\xfc\x70\x17\x57\x45\xa4\x72\x9c\x80\x26\x11\x56\x9c\xad\x6e\xea\x74\xd9\x90\xd0\xda\xcd\x17\x46\x99\xfa\xe3\x7f\x6c\xb4\x9b\x5a\xb5\xb2\xeb\x06\x55\xf2\x70\x14\x11\x69\xbc\x27\x36\xbe\x1c\x4f\xf9\x13\x14\xc8\xdb\x65\x57\xf5\x51\xd6\xf3\xd6\x0c\xde\x83\x4c\xc7\x05\xa9\x1b\x71\x61\x21\x78\x3e\x5f\x38\xeb\xa0\x3e\x33\x7a\x6a\x4d\x7b\xf9\x73\xcd\xfb\xb1\xf1\x5e\xfe\x90\xd3\x64\x3b\xdb\xeb\x5d\xa9\x74\xe0\xa7\x8b\x7b\x24\x17\xfe\xb4\x4e\xa1\xd9\xc6\x8d\xad\x0f\xba\x7b\x9f\xf6\x5b\xef\x89\x83\x6e\x06\x0e\x58\x75\xc6\x93\x04\x7c\x48\x92\xa4\x4f\x44\x34\x77\x0f\x13\xbe\xa7\x9b\x61\x22\xfa\x01\xc0\xd7\x45\xca\x4b\x27\xf9\xeb\xc6\x88\x86\x12\xb9\xd1\x57\xc3\x51\x4c\x10\x22\x67\x84\x35\x59\x4f\x7f\xa9\xd7\xf6\x79\x67\xa1\xa0\x2e\x2e\x70\x6f\xe1\xa0\x6e\x49\x5e\x39\x24\x74\xcd\x3c\x0e\x35\x2c\xb4\xc2\xec\x7c\x94\x66\x71\xcd\xb8\x90\x30\xa3\xf8\x0c\xf5\x12\x8f\xd9\xb0\x94\x29\xe3\xaa\xdb\x4f\x97\x45\xa8\xbd\xd1\x21\x42\x66\x06\x15\x54\xac\x61\x05\x1c\xa4\xfa\x2f\xd0\x74\x0c\x2c\xb1\x09\x16\x75\x01\xa1\x90\x27\x40\xe2\x23\x1c\x2d\xa3\x84\x46\x81\xce\x3c\x17\x38\x5b\x34\x71\x3c\xb7\xf3\x3d\x9e\xd2\x5b\xe1\x29\xb5\x95\x1a\xdb\x24\x22\xdf\xd1\x15\xc3\x29\xe9\x71\x9e\x9a\x70\x9e\x06\x1e\xc9\x84\x15\x45\xd3\xde\x10\x20\xa3\x7e\xee\x7a\xb0\xa7\x37\x00\x7b\xda\xe6\xf0\x15\x48\x4e\xa5\x63\xd7\x03\x50\x7d\xe8\x04\x40\xe5\x2f\xc1\x83\xc2\x14\x6a\x3f\x8f\x6f\x8c\x55\x53\x1f\xd8\x5b\x02\x4e\x35\x88\x0b\x9b\xc8\x4d\xab\x10\xa7\x56\xd1\x45\xa7\x75\x79\x5b\xfc\xa7\xcd\x56\x66\x23\x68\xa7\xc6\xbb\xeb\x40\x80\x9e\xda\xb7\xe1\x40\xce\xcd\x3e\xf3\x95\x36\xab\x0a\x1b\xe6\x2c\x6d\xa2\x60\x6d\x96\xbe\xe4\xe9\xe1\x7d\xa5\x30\x15\xe5\xf3\xb6\x4b\x63\x1a\x3a\x1f\x34\x11\x68\xc1\x93\xd8\xc1\x8b\xf8\xd5\xf2\x1d\xf8\x1c\x0f\xbf\x40\x6e\x33\xee\x32\x12\x19\x6d\xab\x28\xf5\xb6\x2a\x59\xc9\x6f\x22\x0c\x77\x0f\x8c\x66\x1f\x56\x04\xcf\x49\xb6\xb1\x1f\xac\x95\x45\x64\xd9\xfc\xbd\x62\x8c\xa5\x15\x02\xab\x79\xf3\x30\xd7\xda\x7d\xd7\x0c\x6e\x95\xe8\x11\x18\x07\x45\x53\x11\x57\x43\x67\xf0\xf4\x89\x3a\x43\x04\x0e\x7b\x5c\xe9\xa5\x73\xb3\xeb\xe4\xa9\xab\x12\xcb\x16\x61\x7e\xb5\x9a\x7c\xbb\xc3\x3e\xa5\xf8\xcb\x24\xc3\x02\x27\x09\x49\xa8\x4c\x5f\x2c\xcc\xfb\xac\xec\xae\xd5\x67\x55\x70\x63\x22\x62\x79\x3a\x35\xa4\xe8\x06\x62\xcb\x38\x2a\x8e\x44\xce\x42\xd0\x3a\xbf\x31\xbe\x4c\x64\x0e\xf7\x02\x58\x95\xa2\x05\xd4\xe3\x9d\x61\x2a\x18\x91\xad\xd5\x4f\x49\x94\x0b\xaa\x96\x13\x5b\x4c\xb6\xfb\x81\xbb\xb3\x5f\x9e\xd9\x0f\x57\x7b\xb8\x1d\x5e\x83\xeb\xcf\x17\xaf\xcd\x88\x80\x02\x50\xae\x94\x51\x50\x30\xd7\xe2\x71\x10\x5f\x45\x0a\x02\xdb\x6b\xd7\x76\x5b\x48\x38\x7e\x9e\x04\xf1\x55\x93\xa8\x4a\x1c\xeb\x0e\x6b\x13\xa2\xd8\xaa\x49\xbe\x30\xa6\x56\x8b\x17\xf9\x05\xea\xc7\xd8\x84\x18\xd3\xb4\x1e\x70\xe0\x0a\x06\x7b\x65\xb1\x31\x01\x98\x81\x55\xaa\x5a\xc6\x69\x51\x9c\x9a\x82\x8f\x56\x0c\x76\x18\x7c\xd5\x61\xc4\x41\x27\x7b\x1a\xb6\x3e\xe8\x42\xe4\x99\xa2\xd3\x3a\x68\x91\xda\x5f\x71\xd8\x61\x02\x09\xf4\xce\xcd\x50\xea\xd6\x54\x8c\x2d\x71\x62\x3b\x3b\x2d\xff\x5b\x84\x38\x87\xfd\x64\xb0\xb3\xc2\x0c\xcd\xeb\x94\x2a\xe5\x52\x40\x8c\x01\x5a\x53\x67\xd9\x36\xfb\x8d\x0b\xf7\xc0\x50\xc3\xd7\x98\x88\x8e\xc7\x6c\x28\xd1\x33\x41\x8c\x58\x70\x90\x86\xea\xbc\xde\xaa\x0d\x55\xbd\xa6\x44\xf7\xe4\x63\x53\xb4\xf0\x40\x95\xf4\x85\xe5\x4c\x1f\x33\x9c\x48\x32\xd0\x0d\x43\x3d\x5a\xc5\x21\xe8\x13\xa3\x67\x81\xb3\x8c\x88\x31\xb3\xf9\x39\xe0\x70\xe1\x3c\x31\xed\xb7\x85\x50\xda\x35\x20\x93\x08\x47\x8b\x57\xda\x23\x0c\x69\x56\xd1\x82\xc4\x2e\x13\xbc\xbc\x3d\x6e\xde\xc6\x60\xbd\xc1\x66\x5d\xcc\x5c\x61\xb4\x81\xed\x24\x89\x34\x47\xf1\x05\xc4\x33\x22\xf4\xa8\x35\x0d\x3f\x11\x86\xe8\xcc\x8d\xc3\xc6\xee\xa0\x67\xf0\x4c\x69\xd2\x7f\xc2\x34\x31\xd0\x0a\xae\x6b\x27\x04\x1a\xf3\xfb\x98\x19\x77\x37\x8b\x4a\xb9\xc7\x94\x51\xb9\xd0\x9c\x3a\x07\x9f\x24\xa8\x19\x6d\x29\x51\xec\x69\x93\xd3\x3c\xd2\xaf\xaf\xe6\xa0\x4f\x54\x70\x96\x42\xfa\x93\x45\xdc\x72\xcb\x27\x89\xf2\xc7\xa3\x31\x79\x75\xad\x44\x1c\xc7\xb2\x6c\xfc\x34\x6a\x25\xfd\x47\xc9\xec\x72\x54\xca\xf7\x8c\x02\xc0\x28\x08\xe2\x74\x35\xe3\x56\xc9\xbf\x7d\xd2\x4a\x3d\x69\xa5\x79\x6d\x0e\x31\x71\xc5\x1f\xe2\x4d\x93\x57\xda\xb6\x7f\x1f\x92\xed\x1e\x93\x58\xde\x38\xdb\xe3\x65\x12\x3d\xde\x36\x33\xe7\x25\x92\x72\xfa\xd4\x95\x3d\xcf\xb7\x4f\x5d\xe9\x53\x57\xb6\x4e\xf9\x68\x67\xc8\x1b\xa5\x7d\xac\x01\x60\x6b\xea\xe5\x33\x51\x82\x46\x72\x1f\x9c\x5f\x66\xb8\x63\xbc\x22\xe8\xf7\xd9\x1a\x79\x58\xbf\xe0\xdd\xcb\x10\x01\xe8\x6b\x73\x4e\x05\xc1\x8f\x31\x7f\xae\x59\x61\x65\x88\x80\xf3\x99\x6b\x81\x56\x90\x88\x4a\x52\x8a\x51\xa2\x12\x31\x22\xad\x19\x1b\x8f\xd9\x82\x12\x81\x45\xb4\x80\x8c\xe4\x62\x63\x4c\x66\xbb\x01\x21\x33\x51\x2a\xa1\x1f\x71\x83\x4d\xef\xb0\xee\x55\xdb\xa1\xc7\x94\xb4\x7b\xae\x47\x92\x9a\x4f\xbc\x98\x6a\xe5\xc7\xd0\xd8\xda\x69\xfb\x77\x4d\xb1\xf0\x8b\xfd\xa2\x69\x16\x3e\x4c\x2c\xf8\xa2\x63\xaa\x45\x41\x0d\x7d\xba\xc5\x0b\xa5\x5b\x34\x2c\xf1\x66\x29\x17\x5b\x19\x73\x5f\x3f\x1a\xdc\xf5\xfc\x1a\x11\xe1\xeb\xc2\xf1\xf2\xe9\xe4\xc5\x8f\x5e\xe3\x9c\xbb\x9e\xc0\x5f\x3c\x51\x18\x5d\x47\x68\x3a\x9b\x92\x38\x06\x4e\xab\xb8\xad\xee\x5e\xd0\x8e\x33\xfc\xe8\xbb\x17\x4b\x4d\xec\x38\xe1\x6c\x2e\x69\x6c\x00\x92\x32\x0c\x55\x96\x43\xb3\x14\x00\x82\xc0\xfe\x26\x09\x11\xce\xdf\x24\xd0\xb7\x92\x32\x8b\x80\xea\x7f\x8b\x39\x91\xec\x1b\x65\xcc\x40\x98\x2d\xd1\x23\xe3\xcf\x09\x89\xe7\xb0\x43\xd5\xc1\x1c\x21\x4a\x06\x88\x2a\xff\x99\x00\x04\x11\x9e\xab\xb1\x1e\x3b\x44\x11\x1a\xdd\x8e\xd8\x6f\x85\xad\xb8\x12\x70\x60\xf9\xdd\x31\x42\x17\x0c\xcd\x70\xa4\x06\x48\xe6\xd3\xa2\xfd\x98\x9b\xc2\xf4\x4f\x84\x85\x13\x2f\x1a\xe9\xb3\x01\x1a\x3a\x6f\x3e\x1b\x8e\x3b\x68\x72\x1d\x26\x14\xef\x14\x35\xf9\x84\x77\x81\x05\xfe\x9c\x4b\x1b\x5e\x83\x38\xf3\x47\xdf\x42\xa2\x79\x5c\x77\xc0\xe8\x35\x18\xe9\x8c\xc7\xad\x56\xec\xca\x54\x36\x1d\x4b\x11\xe2\x6a\x05\x25\xeb\x82\x84\x76\xcd\x72\x6b\xa9\x49\x2a\x41\x70\x6a\xdd\x3e\xfa\xaa\x01\xb1\xc6\x04\xb8\xea\xd1\x53\x61\x24\xcc\x4d\xb6\xf8\x92\xb2\x47\xbd\xbb\x05\x92\x3d\x07\x8c\x6f\xdd\x73\xd3\xa6\x65\xfa\xc6\x23\x67\x9c\x19\xd7\xef\x4e\x72\x27\x9d\x33\x9c\x6c\x68\xbd\xaa\xad\x5c\xdd\x5b\xeb\xe4\x2c\x2b\x2e\x68\x29\xc2\x98\x71\x91\xe9\x71\x23\xeb\x60\x65\xbe\xa1\xbc\x87\x51\x4c\x32\xc2\x62\xc2\xa2\x25\x90\x08\x03\xb4\x2b\xc1\x70\x82\x30\x7c\x87\x93\x63\x74\x6e\x32\xa7\xbc\x84\x67\xaf\x75\xb8\xd0\x53\xcc\xe8\x4c\xeb\x09\x60\x5e\xb7\xa3\x1c\x33\x33\x4c\xe7\xdd\x22\x85\xdd\xdc\xaf\x58\xd3\xce\xe8\x1b\xe4\x6a\x47\x24\x71\x56\xfe\x1e\xad\xbe\x70\xa0\xb7\x55\xbb\xa3\x9b\x73\x75\x43\x64\x3e\x3d\x82\x7f\x97\x52\x09\x1d\xb8\x56\x81\xfc\x44\x12\x02\x86\x5e\xeb\xcb\x84\x8b\xb1\x0d\x0c\x72\x1f\x1e\xd9\x35\x19\x3a\x41\x1f\x25\xa5\x26\xa5\x8c\xa6\x79\x1a\xb8\x65\x4d\x95\x91\xc8\x5a\xa6\x4d\x8e\x4d\xa6\xf5\x80\xc8\x15\x1c\x40\xfa\x72\x65\x4b\x34\xa7\x4f\x84\x8d\x59\xc6\x29\x53\xc7\xe8\x8a\x2b\x12\x94\x75\x31\x70\x6f\x3c\x53\x34\x35\x08\xc5\x82\xe8\x73\x60\x80\xec\x01\x1c\x76\x81\xd5\x00\xc5\x39\x1c\x55\x46\x94\x66\x1d\xfa\xc6\x55\xb0\x33\x10\xf9\x2e\xc6\xcc\xdc\x74\x33\x4c\x93\x5c\x10\x2b\xb3\x62\x93\xf1\x54\x0c\xb9\x18\x99\x45\x2f\x0c\x26\x91\xd2\xf9\x42\xe9\x2d\xd2\x32\x9e\xf5\x24\x2f\x34\x37\xe2\x63\x36\x25\x08\xa3\x8c\x4b\xaa\xe8\x93\xf7\x4c\xd3\x19\xc2\x52\x82\x6d\xec\x18\x9d\x97\x3c\x3b\x54\x82\xea\xdd\x16\x31\x4d\xd9\xc4\x7a\x15\xda\x33\xad\x76\xde\xc8\x52\x2f\x76\x95\xf1\x54\xf2\x24\x57\xa1\x73\xbd\x79\x6f\x0b\xa7\x87\x2b\xb6\x01\xa6\x7f\x3e\x1b\x33\x47\xd7\xf2\x18\x0d\x25\x92\x5c\xef\x92\x34\x5b\x19\x09\xaa\x88\xa0\x06\x79\x8d\x28\xb3\x09\xfe\x9c\xfa\x33\x90\x62\xf1\xa8\x45\xa8\xd0\xb7\x62\x70\x80\x4b\xb6\xa9\xa9\x91\x90\x00\x8a\x2e\xdc\x0e\x70\xea\x20\xc6\xd9\x11\x23\x73\xbc\x6e\x47\xc6\xac\xb4\x25\xe8\x5b\x3a\x2b\x14\xd2\x36\x6f\x72\xb0\x76\x13\x88\x69\x6b\xdb\x25\xd3\x71\xdb\x26\xcd\x12\x8e\xd7\x04\x04\xcc\x8a\x43\x8f\xfe\xc6\xa7\x66\x8c\x5a\xef\xe7\x0a\xa4\x40\xad\x5e\xcd\xb8\x20\x0b\xcc\xe2\x81\xdb\xac\xf2\xd8\xe0\x66\xb4\x36\x36\xa7\x8c\x81\x24\xe8\x80\xbf\x89\xc1\x4f\xc3\x2c\xd8\x0b\xab\xb8\xd9\xad\x28\xf6\x61\xa3\xbb\xc2\xb7\x06\xf5\x8a\x8c\x01\xc2\xb0\xbc\x65\x66\x8f\xb8\xa4\x69\x96\x14\xd9\x6a\x81\xd5\x7b\xa6\x45\x2c\xc7\x23\xf9\x13\x98\xae\x9c\xd6\x06\xb7\xba\xdd\x39\x4d\x67\x0d\x23\xf7\x8c\x14\x6e\x0d\x67\xf3\x32\xa5\x6b\x03\x16\xf6\xad\x24\xfa\x9f\x8a\x14\x6a\x9f\x11\xd6\xc7\xcc\x89\x20\xdf\x01\x97\xb1\xcd\x06\xc6\x33\x2d\x42\x1b\x68\x66\xbb\x7e\x28\x32\xe1\x0b\xa5\x73\x62\x0f\x83\x7b\xb5\xe1\xa2\xfa\x81\x32\x5c\xca\xa9\xde\x42\xf0\x4b\xf2\x8d\xd2\xe6\x02\x87\xee\xb2\xad\x0e\x91\xc2\xeb\x4a\x03\x6d\x40\x09\x66\x9f\x09\xd2\xdd\x59\x6a\x76\x55\xaa\x30\xc4\x7a\x2c\x48\x92\xa1\x98\xce\xc0\x2c\xa5\x80\x7d\x7b\x30\x40\x53\xbf\x41\x1f\xf6\x34\x67\x06\xd8\xd1\xf8\xba\x9e\x2d\x46\xbe\xbd\x1a\x8b\xc6\x8f\xc7\xec\x42\x7d\x23\xb5\x88\xce\xd9\x5c\x5f\x34\xf1\x13\x95\x45\x61\xa2\x88\x33\x99\xa7\x44\xd8\x2e\xf4\x8d\xac\x29\xd2\x16\xf5\xc0\x4e\x86\xd2\x63\xd3\x7b\xff\x84\x13\x1a\xbb\xe2\x59\xfa\x47\x73\xe6\xf4\x28\xa5\xf3\x15\x37\x04\xfb\xd9\xcd\x8d\xf5\x5a\xbd\x99\x58\xff\x73\x28\xb9\xa3\xb4\x10\xf2\xb1\xf5\xc2\x9c\x54\x45\x7c\xbb\xea\x2b\xc4\xfb\x69\x6d\x52\x68\xb5\x60\x64\x57\x61\xad\x41\xdb\xa1\x60\xe7\x26\xb8\x5b\xf7\xe3\x8c\x3e\x66\x70\x1b\xb1\x9f\xca\x04\xed\xa8\x0d\x67\x09\xc5\x7b\x42\x41\x36\x90\x0a\x6b\xf1\xc2\x5c\x07\x5c\x58\x0d\xc7\xde\x39\xed\x5b\x7b\xbe\x63\x69\x17\x19\xe1\xa4\xbe\xc3\x2b\xec\xcd\xe6\xfd\xd5\x4a\x80\x3d\x6e\xa6\xed\x95\xe9\xdc\x11\x4f\x92\x4d\xca\x0e\x55\x66\x7e\x56\x7c\xbe\x7a\x44\x45\x3f\x7a\x03\xdc\x5e\xc0\xa9\x31\x97\x37\x4e\xac\x29\x45\x2a\xbb\x4b\xe1\x4b\x46\x0d\x5b\x5a\xd6\x3a\x66\x7c\x06\x85\xa9\x92\xb6\x78\xbd\x4c\xf0\x94\x6e\x82\x8c\x6e\x7c\x29\xb7\xce\x2e\xbe\xc6\xca\xe0\xac\xe7\x20\x9a\x1a\xf2\xb2\x3d\x42\x26\x26\xb6\xe2\xe6\x8a\x33\x94\xe2\x6c\xab\x05\x5f\xe7\xc3\x1b\xa2\xd4\x38\x5b\xed\xea\x01\x46\x2a\x81\x1a\x4f\xb0\xc8\xcf\x78\x59\x24\xbd\xb7\x61\x5e\xb3\x8d\xc8\xe1\x41\xbf\x7e\xc1\x66\x7c\x83\xc3\x59\x24\xa9\xdb\xd3\x87\x1d\xcd\x06\xe7\xcf\x7b\x29\xcc\xee\x9b\x35\xed\x72\x1e\xcf\x9a\x88\x7a\xe3\x93\xe9\x56\xf0\x25\x6d\x94\x21\x13\x09\xcd\x93\x9b\xdc\xad\xe5\xa3\x15\xb4\x88\x60\x38\xab\x97\xea\x73\x89\x0e\xf7\xbe\x46\x95\x76\x90\x31\x85\xbb\x30\xf9\x9b\xe6\x56\x5f\x61\xcd\xec\x21\xe9\xb4\x58\x3b\xa2\x72\x6c\x86\xdd\xed\x7a\xf4\x48\xdd\xcd\x27\x74\x6d\x61\x92\xee\x8b\x01\xdc\x4c\x5a\x3b\x57\x11\x73\x6b\x93\x0f\x67\x34\xd1\x22\xf6\x45\x83\x81\xd3\xa5\xfe\xf9\x50\x39\x93\x04\xe1\xa4\xa7\x5c\xd0\xa0\x98\xaf\x93\x91\x10\x85\xa2\x42\xa1\x93\x27\x50\xe8\xc1\xb4\xb8\xe0\xcf\x26\xef\x40\x50\xcd\xb3\x8c\xb0\xaa\xc0\xdc\xa3\x79\x01\xb5\xd6\x12\x63\x6c\xf2\x1f\x70\x13\x0d\x8a\x6d\xbd\xf2\x62\x54\x2d\x5b\xba\x8f\xb2\x6c\xdd\x33\x2b\x5d\xaf\xf7\xfa\x8b\xfa\xde\x34\x8e\xf0\xbe\xdc\xfa\xc6\xa3\xf3\x52\xfe\xe6\xa1\x70\x1f\xe1\x53\xa7\xf4\x60\x34\x13\x04\x1c\xfc\xa9\x47\x4b\x31\x40\xd8\x9c\xc3\x7d\x77\x77\xfe\xd3\xc9\xc3\x05\x22\x2a\x42\x09\x7d\x24\x63\x16\xc9\xa7\x81\x16\x8f\xff\x9e\x13\xa5\x7f\x6e\xf1\x08\xd0\x94\x30\x09\x9c\x80\xaa\x1a\xaa\x54\xf3\x42\xba\x85\xd1\xff\x3d\x2f\x7f\xbf\x82\xe4\x6b\x89\xe1\x40\xbb\xae\x46\x15\x90\x29\x94\xe1\x31\x4b\x2b\x1b\x28\xc6\xd8\x22\x47\x4d\x15\x6c\xb7\x48\x04\x63\x7f\xcb\xd9\x86\x42\xd7\x59\xf1\x51\x30\x8a\x16\x99\x2e\xcd\x30\xe0\xd3\x6f\x96\x61\x66\xbe\x69\x6c\x7d\x1d\x13\x29\x12\xee\x9d\x6d\xb9\x28\xf6\x8b\x94\x20\x04\x58\x88\xa7\x27\x7b\xd7\x5b\x8c\x15\x3f\xb1\xe0\xa3\xe3\x31\xfb\xec\x3c\xce\xc5\xaf\xb2\xd0\xc3\xd3\x69\x00\xdb\x5f\x6e\x05\x9a\x8d\xa9\xf4\x3f\x40\x11\x26\x99\x27\xca\x54\xa1\x9c\x51\x86\x13\x3f\x50\xf3\xa4\x89\x4b\x08\xcc\xa2\xc5\xae\x26\x64\x3a\x9b\x90\x64\x13\x49\xf4\x62\x36\x4a\xa4\xa6\xef\xe8\xb1\xe5\x74\x6e\x53\x67\xb5\x98\x8c\xad\x1e\x6d\x6a\xb5\xa1\xc2\x04\x8d\x13\x53\x05\x92\x20\xf0\x51\x56\xf3\x02\x0d\xf4\x87\xde\x45\x2b\xa9\x1b\x17\xa5\x49\xc8\xf1\xc1\xf6\xd0\x0b\xc2\x6a\xcc\x44\xce\xa0\x40\x8c\x8f\x58\xc0\xa8\xc0\xf8\x8f\x9c\xff\xc0\x7a\x73\xe6\x9a\x4d\x18\x08\x7d\xf3\xb2\xd6\xcf\x78\x2e\xc1\x56\x93\x12\xa5\x2f\xa8\x6f\xa1\x76\xb3\x09\x19\x1a\xa0\x4c\xd0\x14\xcc\xad\xf2\xbb\x86\xad\x3b\xc3\x0a\x27\x7c\x3e\x14\x8a\xce\x70\xa4\xee\xf1\x4e\x1a\x38\xb6\xcd\x6c\x1b\x58\xec\x86\x81\x2e\xce\xf5\xe2\xcf\x09\x23\x02\x26\xaa\x75\xf2\xe6\x23\x0c\x4f\xb6\xe2\xdc\x60\x65\xb3\x86\x51\xe9\x2d\x16\x38\x57\x3c\xd5\xfa\x2d\x4e\x92\xe5\xc0\x58\x64\x09\x5a\x60\xb9\x70\x1b\x6d\x8c\x69\x5d\xee\x26\xbb\xb8\x67\x38\x5a\x90\x3b\xa8\x64\xde\xb4\xb8\x95\x51\x7e\x20\x2c\x4f\x3f\x9c\xa2\xff\x5b\xcc\xf1\x6c\x78\xf6\xe3\x68\x72\x7e\x71\x37\xfc\xe1\x72\x74\x1e\xcc\xc7\x3e\xf9\x7c\x71\x77\x57\xff\xf5\xc7\x8b\xfb\xfa\x8f\x37\xd7\x37\x0f\x97\xc3\xfb\xa6\x56\x2e\xaf\xaf\x7f\x7a\xb8\x99\x7c\x1c\x5e\x5c\x3e\xdc\x8e\x1a\x3e\x7d\xb8\x6f\x7f\x78\xf7\xd3\xc5\xcd\xcd\xe8\xdc\xad\xca\xff\x04\xa7\x0b\xac\xc7\x7a\xa2\x2d\xd3\xa8\x1e\xc0\x23\x54\x7e\xf1\x14\x3d\x54\xcb\x95\xd8\x28\x73\x83\x50\xf2\x8c\xa5\xe6\x61\x90\xe4\x30\x66\xc8\x7d\xae\x17\xa5\xed\x53\x13\xae\x13\x2d\x08\x4a\x38\x7f\xcc\x33\xcb\xda\x4c\x7c\x18\xe3\xc6\xf0\x43\x64\xd0\xda\x8f\x17\xf7\xa7\xf5\xb2\x29\xbe\xb1\x00\x0b\xcd\x9d\x01\x18\x17\x76\xec\x14\x6c\x29\xae\x9c\x46\x61\xbd\x0d\x7a\xf0\x3b\xb3\xaa\x1f\xd3\x1a\x66\xaa\xd2\x4d\x1c\xdb\x42\xdd\x6e\x62\x41\xc3\xe5\x7d\x5d\xb5\x9a\x7e\x39\x4c\xbd\x38\x34\x25\x11\xce\x4d\x50\x93\xbe\xa7\x84\xe0\x22\x1c\x70\x41\x0f\xfb\x6b\xd4\xd2\x51\x63\x83\x95\x3d\xd3\x13\x97\x8f\x34\xcb\x48\xfc\xa1\x2e\xbf\x94\x2b\x3a\x4b\x38\x7d\xba\xcf\xe0\x4c\x6a\xbd\x1e\x74\x7e\x57\xec\x68\xb1\xf4\x9e\x34\x08\xdc\x28\x42\x59\x00\xa2\x5b\xdf\x09\xbe\x18\x0d\x05\xd7\x18\x56\xe8\x99\x40\xb2\x7c\x6e\xab\xbd\x19\xdd\x5b\x9f\x6d\xe8\xce\xd8\xb4\x5d\xed\xc6\x52\x12\x7d\x2b\x33\xde\x87\xc0\xad\xbf\x97\xa4\x89\x11\xef\x90\xf1\x7c\x6e\x1a\x05\xee\xec\x62\xde\x60\xc4\x2d\xc1\x0d\xee\x36\x68\xb0\x90\xaf\x90\xaf\xea\x37\xd2\x9a\xcb\x42\xb3\xed\x2e\xe3\x71\x28\x2f\x25\xe8\xf2\xee\x03\x2b\xc1\x5b\xaf\x5d\xab\x7b\x1e\xe3\xa5\x26\x0e\x88\x35\x96\x79\x96\x71\xa1\x50\x4b\x1b\xc6\x8d\x6f\xc6\x07\x77\x8e\x9d\x87\xe7\x71\xd0\x88\x96\x30\x64\x43\xfd\x9b\x6e\xc0\x17\x76\x5d\x0b\xc6\x11\x06\xc8\x82\x22\xe8\x6b\x95\xa5\x25\x95\xba\x44\xa1\x4d\xc2\xef\x2e\xb9\x23\x99\xbe\xe0\xbb\x96\xce\x6c\xea\xfd\xda\xb5\xd0\xb8\xe5\x09\x99\xa9\x49\xa3\xd7\x67\x85\x81\x53\xb7\xc8\xda\xb0\x82\xe8\x7c\xb1\x87\x16\xbb\x6b\x09\xbf\xb7\x81\x3d\x5a\x35\x08\x2c\x04\x82\x73\x65\xe4\xd3\x42\x87\x41\x6e\x35\xc1\xbc\x60\x3b\xb5\x59\x7e\x5e\x08\xd4\x32\xbf\xf1\x87\xfa\x84\xb8\xe3\x31\x1b\x41\x00\x45\xa1\x88\xb8\xe4\x3f\xd0\x02\xd6\xca\xff\xa5\x42\xc1\xaf\x1a\xad\xd9\x8e\xdd\x5b\xd0\xbd\x71\xbb\x93\x64\x89\x8a\x62\xd0\xa5\xef\xba\x9c\x1e\x63\xf5\x76\x22\xa0\x99\xb0\x39\x3a\x52\x91\xcc\x5a\xe6\xcd\x3c\x8b\x48\x1f\x88\x0f\xd3\x5d\x1d\xa3\x5f\x9c\xe5\x07\x02\x5f\x8b\x3a\xea\x36\x76\x23\xc1\x4b\x07\xf7\xd9\xb4\xb0\xfb\x40\xd0\xdc\x77\x28\xec\xea\x05\xf6\x50\x5d\x0d\xab\x5c\x52\xc0\x19\x33\x16\xd9\x0d\x92\x74\xce\xfc\x47\x77\x64\x75\x54\xc0\x47\x28\x9d\x6b\x23\xab\x40\xe8\x60\xc9\xf2\xff\x31\x9b\x65\x72\x8c\x5d\x31\x3c\x5b\xca\xd4\x7a\x50\xf5\xf9\x01\x0f\xa0\x49\x41\x46\x33\x9a\x24\x20\x07\x1c\xa3\x21\x94\xf4\x86\x14\x5d\x7d\x15\xba\x00\x0b\x3a\x67\x7c\x5d\xf6\x60\x0b\x31\x45\x01\x31\xdd\xb5\x13\x93\x04\x6a\x2a\x10\x1a\xf6\x43\x51\x7b\x40\xeb\xd1\xbc\x05\xd7\xb1\xce\xbb\x63\xf4\x6c\xa0\xbc\xbf\x45\x74\x74\x6d\xb8\xc1\x87\xff\x6a\x1e\xfa\xa7\x1c\x0b\xcc\x14\xc4\xfc\x5a\xd1\x5d\x90\x20\xf5\x88\x7c\x81\xf8\x0c\x66\x0c\xc1\xf0\x53\xb8\xb9\xce\xe5\x0f\xe1\x5e\x88\xc6\x03\x44\x8f\xc9\x31\x54\x54\x14\x5a\x96\x98\x16\x6f\x2e\xb4\xe4\x30\x66\xb5\x58\xc6\x63\x34\x4c\x24\xb7\x5f\x10\x16\x25\x50\x42\x3f\x08\x4f\xf6\x94\x6f\xdd\x4a\xd3\x25\x28\x28\xb0\x95\x45\xf3\xdc\x3e\x08\x3e\x84\xc2\x80\xe0\x13\x4f\xe0\xa4\x17\xbf\xff\x96\x67\xc6\x5b\xd1\x16\x27\xf1\x82\x85\x3a\x6a\xd7\xd0\x8b\x6d\x92\x29\xef\xb9\x6a\x83\xe0\x0d\xd8\x98\x22\xc6\x34\xc0\xd6\x41\xdf\x62\x85\x12\x82\xa5\x42\xbf\xfb\x6e\xa3\xd8\x10\x37\xc1\x82\xbb\xda\xe3\x5b\x24\x8a\xb9\x54\x83\x50\xb8\xf3\x1d\x43\xbd\x47\x2c\x14\xc2\x88\x91\xe7\x30\xb2\x94\x43\x30\xb0\x2b\xe2\x48\x82\xac\x65\x13\x4f\x66\x30\x17\x20\x5b\xc3\xa8\x4c\x2d\x7c\xc4\x01\x59\x5b\xf7\xa9\x1d\x56\x03\x65\x59\xe5\xc9\x86\x78\x02\xd8\x5a\x11\xf4\xbf\xc0\x6a\xcc\x2c\x67\x75\x61\x23\x41\x9a\xd7\x30\x49\xca\x81\xf6\x18\x72\x49\x98\x9e\xb0\x1e\x7d\x7c\xec\x17\xe8\x0a\xd4\x2f\x1f\xed\x5c\xb2\xd3\x15\x87\xc5\xc4\xe3\x79\x24\xab\xb0\xed\x46\x69\xa7\xc9\xbe\xfc\x8a\x42\x70\x43\xf7\x97\x7c\x4e\x23\x9c\x74\x10\x86\x49\xd3\x90\xd7\x1c\xac\xba\x4d\x7f\x85\x6c\xbc\xef\x0e\xba\x8b\xca\xcd\xf6\x71\xb8\x66\x9f\x79\x83\xb9\xbd\x65\x73\x03\xd9\x62\x17\x05\xdc\x87\xdd\xbf\x96\xc7\xb7\x34\xf4\x8b\x18\x92\xfe\xd6\x73\xc1\x22\x89\xce\xb1\x0e\x13\x7b\x1d\x07\x39\x3d\x41\x0a\x01\x04\xff\x39\xc6\x67\xdf\x6c\xf1\xbc\x66\xef\x7b\xfa\x83\x62\xfe\x6e\x2a\x3e\x08\xae\x3e\xf1\x76\x61\x6f\x18\xff\x0d\x47\x10\xe9\x0f\x3d\xb9\x1c\x83\x3a\xd4\x96\x03\x28\xc7\x60\xcc\x6f\x14\x0f\x33\xc1\x23\x22\xe5\x31\x1a\xc1\x45\x63\xff\x89\xf0\xcc\x39\x24\x82\x97\xc7\x4c\x6b\x26\x0e\x99\x27\x68\xbf\x4c\xe2\x4d\x27\xc0\xc0\xfc\xed\xe4\xcb\x49\xd7\x57\x9f\x69\xd3\x26\x1c\xca\x20\xb4\x01\x05\x2b\xd0\x68\x7e\x8a\x62\x1e\x3d\x12\x71\x22\x48\x4c\xe5\x29\xf8\xd6\x55\xab\x53\x2f\xd5\xda\xf6\xce\x92\x46\x5b\xa0\xc0\x9a\xa4\xb8\x33\xd3\xbf\x0d\xb0\x76\xe1\xb5\x03\x44\x67\xa0\x4e\xb8\x9c\x0c\x13\x84\xec\x80\x8c\x08\x53\x62\x09\x71\xfd\xde\x94\x55\x59\x08\xa7\x69\x68\xa1\xad\x2d\x9b\x48\xec\x23\x06\x67\xcb\x69\xdf\x2f\x88\x24\x2e\xe0\xc0\x4c\x4a\x71\x1b\xcb\x6c\xd8\x45\x86\xd5\x42\x42\xea\x6a\x79\x0d\xac\xd2\x05\x9f\xea\x15\xc2\x19\xc4\x2b\x18\x2b\x45\xf1\x91\x4f\xb0\x94\x8a\x26\xc9\x98\x31\x42\x62\x89\x20\xcb\xf4\x9b\xc6\x0c\x79\xfd\xe9\x00\xe1\x38\x46\xff\xeb\xdb\x8f\x97\x7f\xb9\x1f\x4d\x2e\xae\xc0\x68\x7d\x71\x39\xfa\x6e\xe0\x7f\xbc\x7e\xb8\xf7\xbf\x1a\x0b\xcb\x13\x11\x28\xc5\x8f\xa0\xe2\x31\x49\x6c\xf2\x04\x19\xb3\x70\xa4\x0e\x3b\x40\x3f\x91\xc4\x45\xba\x5a\x31\xc5\x83\x63\xda\x3d\x6c\xad\x32\x6e\x6c\x7e\x1b\x28\xbf\xb7\xfe\x93\xd5\x34\xe8\x88\xc7\x77\xe1\xc4\x40\xc8\x91\xc1\x32\x48\x26\xb7\xba\x6f\x41\x70\x84\xcd\x29\x6b\x8b\xc7\x23\xec\xe9\x25\x85\xf8\x9f\xc8\xf2\x67\xad\x5e\xdf\x60\x2a\x3a\xd3\x5e\x33\xce\x93\x3b\x31\x5a\x4f\xc7\xb2\x7a\xa8\xa4\x91\x85\x4d\xb6\x4d\x6b\xcc\x67\x13\xc4\xdf\x9b\x4f\xd7\x02\x87\x91\x2f\x4a\x38\x94\x0a\x9f\xcf\xe1\x40\xba\xfc\x45\x53\xd0\xe0\x98\xdd\x5f\x9f\x5f\x9f\x22\x92\xe0\x29\x87\x50\x7e\x1b\x12\xe4\x9a\xb0\x0b\x16\xf1\x34\x68\xa8\x04\x4d\x32\x40\x59\x01\x4d\x12\x1a\xd1\x8e\x4d\x1b\x6b\x20\x4a\x32\x2e\xea\x68\x2c\xfb\x55\x01\xed\x64\x6f\xb8\xe8\x72\xfd\xeb\xd7\x60\xe9\x78\xa6\x15\xb9\x0a\xe7\xb5\x77\xf3\x8c\x60\xc8\x5e\xb5\x6e\x21\x6b\xcb\xb7\x01\xac\x49\x52\xaa\x94\xa9\x0f\x8e\x3c\xb6\x2e\xf8\xe2\x4d\xce\xd0\x4f\x7f\x92\x68\x9a\xab\x31\x2b\xb7\xc1\x19\x1a\xfe\x72\x87\x7e\xc0\x2a\x5a\x7c\x37\x66\xd7\x5a\xcd\xfc\xe9\x4f\x2d\x20\x59\x1b\xe3\x4e\xea\x35\x39\xc7\x0a\x5f\x72\x1c\x53\x36\x6f\x02\x9d\x2c\x2a\x03\x8d\xee\x87\xa7\xe8\xda\xea\xf0\x45\x26\x88\x4f\x09\x0e\x1a\x02\x86\x0c\x13\x71\x5c\x04\x58\x39\x2b\x03\xf3\x19\xcd\x0c\x2e\xac\x31\xbb\x37\x68\x9b\x9a\xab\x52\x85\x32\x6e\xab\x53\x69\xad\xcc\xe0\x90\x62\x97\x21\x45\x92\x25\xd2\xab\x03\x64\xec\x37\xc3\xca\x63\x20\xcf\xd4\x99\xfd\x98\x81\x82\xee\x73\x53\x12\x1e\xe1\x04\x62\xf2\x8e\x02\x9b\x9e\x56\xdb\x79\x0e\xf9\xe1\x10\x0c\xc3\x96\xe5\xd0\x59\x0f\x59\xe0\x85\xb2\x70\xa3\xc0\x00\x00\xfb\x68\xbd\xb1\x29\xd7\x1c\xc7\xa0\xec\x81\xf1\x2d\x31\xab\xa3\x3f\xf4\xa8\x7b\x66\x59\x3c\xf4\x0c\xe4\xc5\xe5\xcc\x61\x91\x44\x60\xbe\x67\x4b\x08\xdf\x86\x72\x32\x1c\x42\x3f\x0a\xee\x6c\x89\xb2\xb6\x8b\xfe\x4e\x0c\x3e\x1b\x33\x13\x29\x58\xda\x97\x10\x97\x29\xe8\x9d\x33\x08\x64\xac\xe7\x8a\xe5\x99\x0d\x6c\xb4\xb2\x7e\x26\xc8\x91\xcf\x80\x8a\x4b\x6b\xaa\x6f\xd8\x63\x74\x1b\xaa\xd7\x31\x8f\xf2\xd4\x61\x66\x43\xf6\x94\x8d\x80\xb3\x97\xa8\xa7\x10\x73\xb1\xaf\xa3\x78\x40\x69\x51\x04\xd2\xc7\x3b\xeb\xc7\x86\x60\x86\xe1\xa7\x75\x49\xbd\x5d\xf0\x05\xde\xb1\x5b\xd4\x9a\x69\x68\x92\x95\x5b\x2a\xb5\xb6\x73\x5e\xe2\x55\x81\xeb\xcb\x05\x08\x5b\xe4\x4b\xc6\xc1\xc8\x6d\xd2\xb3\x78\xfc\x8d\x44\x17\x37\x5a\x02\xd2\x1a\xaf\x3f\x83\xb9\x54\x26\xb8\x0c\xd2\x75\xcc\xd7\x26\x5d\x60\x80\xbe\x47\xe3\xfc\xfb\xef\xff\x10\xa1\x2f\xee\x8f\x3f\xfe\xe7\x7f\xfe\xe1\x8f\x9b\xa4\x93\x38\x85\x1c\xda\x2d\xd6\xc8\x17\x0a\x2b\x8b\x44\xe1\x0e\xd4\x39\xd5\x0e\xbb\x60\x0f\x60\xdb\xf2\x6f\x83\xdf\x19\xc4\x0e\xe1\xb9\x3d\xe1\x32\x3c\x99\xa8\x74\x34\x8b\x48\x02\x49\xd4\xa0\xcc\x21\xbc\xb0\x6b\x25\xfa\xff\x67\x15\xa6\x97\x3e\x2a\xdb\xc5\x38\xd1\xc4\x8b\xd7\xba\x11\xf4\xad\xb5\xff\x29\x70\x20\x7e\xe7\x2e\x38\x9e\xc4\x44\x98\x31\x79\x93\x9d\x37\x24\x02\x73\x20\x5f\xb2\x84\xc7\x0e\xf8\xb6\xc8\x05\xa4\x20\x20\x8c\xbe\x60\xcd\xb9\x07\x16\x46\xcb\x7c\x64\x3c\x2f\x33\x1c\x19\xbc\x57\x89\xbe\xfd\x72\xaa\x7f\x1b\xa0\xe5\x29\x04\x91\x0e\xd0\x3f\x4e\x2d\x5a\x0e\x16\x6a\xa2\x7f\xfa\xce\xc9\xda\xb6\x09\x18\x34\x95\xe8\x9b\x93\x27\x2c\x4c\x35\xf0\x13\x33\xa2\x6f\x2c\x67\xf5\x15\x0f\x43\xd9\x3c\xe1\xfc\xd1\x06\xd8\xd6\x3e\x3c\x71\x90\x7a\x40\xde\xde\x6f\x62\xb6\xde\x27\xe6\x2b\x74\x04\x2f\x10\x74\x9c\x4d\xd1\xf1\xdf\x24\x67\xe8\x78\x89\xd3\xc4\xfe\xea\x9e\xda\xf8\x5f\x2c\x6d\x4e\x5c\xec\x83\x7c\x92\xa5\xb1\x94\xfe\x90\xf0\x29\xcc\xea\xb3\x9b\xa9\x89\xa0\x85\x81\x16\xb7\x4f\x71\x61\xd9\x89\xb8\x44\x54\xc0\x0f\x4a\xb9\x32\xaf\x00\x8f\x6b\x9a\xd5\x17\x3f\xa4\xff\x36\x7e\x61\x58\x14\x97\xc4\x67\x8c\xc3\x3e\x7a\x4d\x37\xfa\x05\x7d\x6b\x59\xd0\x77\xfa\x8e\xb1\xe1\xca\x66\x19\x9a\x3a\x58\xfa\x0e\xfe\x12\x74\x40\x19\x32\x69\x99\x2b\xbe\xfc\xc7\xc9\xf1\xf1\xb1\xff\x1a\xb2\xd6\xff\xff\x88\x2a\x49\x92\x99\x69\xc9\xdd\x60\xcb\x31\xfb\xec\x4a\x6a\x38\xe3\x75\x01\xd6\x99\x09\xae\x78\xc4\x13\x74\x54\x18\x74\x63\x1e\x49\xf4\xef\x5a\xac\x0d\x96\x12\x7e\xd4\x7a\xdc\x4a\xa0\xb9\x57\x3a\x54\xd6\x20\x5e\x3d\x56\x21\x8a\x9b\x57\x6c\xb1\x0c\xeb\xb3\x00\x2d\x68\xca\x39\xb1\x48\x6f\x42\xe8\x97\xc9\x17\x05\x8f\x5a\x60\x0f\x1b\x43\xd9\x9b\x6f\xca\x1a\xbb\x2d\xd0\x0f\x0d\x59\xb7\x2c\x80\xc5\xbb\xb2\x9c\xc1\xcc\x73\x10\xba\x4f\xf4\xe5\xc2\xc2\x22\x0f\x32\x4f\x53\x2c\x96\x27\xc5\x69\xab\x13\x67\x81\xb4\x06\x3c\x26\x71\x0b\x00\x2e\xdc\xc4\x1e\x2d\x1b\xc5\x60\xc5\x4b\x77\xa3\xf9\xb3\x1b\x41\x95\xca\x00\xb1\x80\xb0\x88\xc7\x96\xae\x8b\xec\xd3\xb2\xc4\xe2\xdf\xa9\xcb\x2a\x2e\x22\x46\x16\xc6\x38\xa6\x0c\x84\x87\x7d\xc3\x7d\xdc\xc2\xbe\xf9\x04\xea\x1d\x93\xf9\x06\xee\xd1\x8b\xeb\x3b\xf7\x4d\xf7\x4b\x17\xd6\xa1\x2c\xb2\xe3\x24\xc4\xc7\x63\x73\x24\xf0\x73\x71\xfd\x42\x6c\x87\xb1\xce\xe4\x3e\x37\xd7\xfc\xfb\x8c\xdf\xd0\x44\xdf\x5a\x40\xe3\xc7\x63\x56\xfa\x79\x80\x48\x42\x53\xca\x7c\x6c\x9d\x61\xee\x7c\x66\xa4\xe7\x47\xaa\xf4\x96\xc9\xf8\x51\x73\x30\x87\xeb\x14\xa8\x54\x43\xb6\x74\xa4\xe3\x1d\x53\xd6\x02\x91\x4b\x3d\xae\x42\x47\xd7\xc2\xac\x6e\xe2\xc8\x0a\xa4\x34\x20\x3c\x38\xbf\x63\xa6\x5b\x73\x67\xa9\x08\x17\x0e\xda\x0b\x9a\x3b\x72\xa5\x0e\x02\x0e\x00\x7d\x94\x62\x7e\xbd\xfc\xdb\x20\xa0\x8c\x58\x9e\xee\x9a\x6c\x62\xc3\x87\xdf\xca\x4c\x77\x23\x88\xbb\xa9\x6c\xe2\x12\x61\x79\xea\x0e\xd4\x06\x14\x37\xb2\xe2\x4f\x4c\xa2\x04\x1b\xa4\x1a\xdd\x10\x44\x3e\x0e\x8c\x83\x34\x0b\xfa\x32\xd7\x8b\xe9\xc6\x54\x4f\x4a\x08\xfb\xd6\xfc\xfb\x3b\x64\xef\x86\xef\x07\xf6\x3e\x17\xd2\x23\x80\x98\x3d\x87\xea\x9b\x24\x36\x36\x74\xc0\x9b\x9e\x63\x11\x1b\x6b\x79\xa8\x55\x98\x0c\x5e\x2d\x7f\x2d\x79\x8e\x9e\xa9\x5c\x8c\xd9\x3d\x77\x06\x47\xc4\xb8\x47\xec\x1e\x80\x32\x5a\xeb\x0f\x4b\x60\x02\x30\xea\x26\x0a\xd0\x4c\x78\xa7\x5c\x23\x88\x82\x9d\x30\x1e\x93\xdd\x00\x8c\xee\x0b\x5f\x85\xf3\x5f\x0b\x62\xf2\xc1\xe0\xa6\x68\x4b\xa7\x25\x52\x6e\x68\x9b\xaf\x6e\x3c\xdc\x43\xb6\x1d\x28\xf6\xfc\xbc\x11\x6e\x7a\x88\x0d\xe6\x6f\x35\x68\xc5\x69\x9c\x41\x36\x70\x69\xed\x3d\x0e\xf6\xae\x9b\x10\x35\xa0\x15\x75\xba\xfb\xcd\xdc\x23\x58\x76\x1f\x60\x8c\xd1\x5c\xf0\x3c\xf3\x29\xf3\x2e\xdd\xcf\x6c\x83\x95\x69\x2e\xd8\x8c\x9f\x5a\x9d\xea\x92\xb2\x47\x43\xf1\x2f\xb5\x47\x06\xea\x9c\xc4\x25\x18\x37\x57\x7f\x17\xe6\x70\x84\x28\x8b\x92\x1c\x2e\x3e\xa9\x70\xf4\x68\xe0\xda\xdb\x8c\xbe\xfa\x9b\xc9\xfa\x64\xca\x16\x89\x29\x4f\x12\xdb\x6d\x71\x81\x16\x05\xca\x9f\x28\x46\x18\x3d\xdc\x5e\x34\xf7\xfd\x48\xeb\xce\x9c\xe6\xdb\xb3\x4c\x20\xf0\x3f\x3f\xd1\x8d\xe2\x2e\x2b\xb0\x78\xa4\x44\xea\xde\xb8\xd4\x06\xba\xaa\x89\xf4\x13\x56\x64\xd7\x4c\x28\x83\x01\xb6\x41\xa4\x5e\x0d\x5c\x6d\xa5\xf5\x78\x47\x64\xb2\x02\x55\x0c\x42\x83\xda\x21\xd2\xc2\x60\x2d\x78\xb8\x01\x76\x03\xbc\xdf\x6d\x3e\x95\x77\xd7\x4c\x67\xf5\x30\x13\x42\x36\x40\x1b\xb8\xfb\x7f\xd9\xfb\xb6\xe6\x36\x92\xe4\xdc\xf7\xfd\x15\x15\xe1\x07\x8d\xce\x01\xc1\x9d\xd9\xb0\x63\xac\x08\x3f\x40\x14\xb5\xc3\x1d\x89\xd4\xf2\x32\xb3\x3e\x86\x03\x2a\x74\x17\x80\x36\x1b\x55\xad\xae\x6e\x52\xb0\x77\xff\xfb\x89\xca\xcc\xba\xf4\x15\xdd\x00\x29\x69\xd7\xf3\x60\xef\x88\x00\xea\x7e\xc9\xca\xfc\xf2\xfb\xcc\xd7\x07\x36\xb2\xf2\xd5\xbe\x36\x3e\x72\xd4\xd5\x68\x92\xfe\xc6\x64\xd9\x8d\x39\x6c\xed\x72\x44\xf3\x5a\xbb\x1c\x11\xd7\x12\x0b\xc3\x71\xb6\x98\xad\x77\x0d\xb1\x2d\x55\x91\xed\x70\x1e\xda\x96\x85\x1f\x98\xad\x47\xc2\x26\x8c\xf9\xb5\xd8\x0e\x26\x94\xf3\x15\xbf\xa1\x1f\xbf\x6f\xd0\xcb\xb9\xa3\xe8\x3d\x64\xf1\x39\xe2\x94\x2d\x97\x66\x67\xdb\x5a\x3b\x9c\x90\x68\x11\x1e\xd4\xa4\xbb\xec\xa0\x06\x61\x8d\x03\x15\x2d\xa9\x2a\x5b\xca\x23\xfa\xe1\x79\x8a\x7e\xa6\x62\x03\x2e\x08\xaf\x04\x65\x4e\xb4\xaa\x2b\x02\x55\xa3\x52\x9e\xaf\xf1\x81\xa4\x45\xa1\x5f\xb6\xcc\xb0\xcf\x79\x38\x62\x86\x0f\x50\xdb\x0d\xe3\x9e\x60\x7e\xf7\xed\x34\xd7\xca\x2a\xb9\xa8\xbb\x95\x9d\x6e\x75\xc0\x9c\xe7\x13\x31\x22\x95\x23\x13\x77\x6c\xf6\x4a\x37\x67\xca\x91\xaa\xeb\x97\x7c\xeb\x18\x01\xac\xf6\x33\xe5\x77\x61\xe3\x96\x02\x78\x71\xbb\xdb\x70\xb4\xbc\x7a\xd8\x04\x92\x3b\xed\x6a\xc1\x5c\xce\xec\x57\x3c\xbb\x97\x79\x98\xe5\x68\x80\x03\x3e\x14\xd1\xd0\xf0\xbe\xe2\x7e\xd4\xa9\x73\x1d\x9d\x18\x9b\xbc\x59\x57\x88\x37\xef\x3b\x77\x1b\x91\x16\x94\xe3\xf0\xec\xd5\xe1\x7a\x10\x79\x1b\x44\x6d\x44\xe5\x37\xb6\x8b\x54\x94\x1d\xcb\xb6\x8a\xf7\xbf\xa5\x2c\x63\x04\x15\x04\xe0\x74\x42\x60\x21\x86\x34\xdd\xf9\x65\xea\x49\xe2\x6a\x95\x35\x77\x6b\x71\xd4\x69\x9c\xf0\xed\x22\x57\xdd\x42\x65\x03\x86\xc9\x16\x51\xf1\xef\x6c\x50\xb8\x64\xc7\x3e\x95\x3c\xc5\xcb\x4d\xd2\x72\xb4\xcd\x06\x53\xf9\x87\x7f\x61\x33\xb8\x7d\xd8\x7b\x38\x17\x21\xc0\x0f\xa5\x15\x8a\x25\xdb\x4c\xe4\x5a\x49\xde\xa9\xd8\x77\xff\xa3\x5e\x90\xea\xd0\x82\x47\x91\x2a\x9b\x0a\x43\x23\x7a\xd2\x52\x5a\xd8\x29\xce\xee\xcb\xa5\xc8\xa5\x40\x55\x42\xf8\x1e\xb3\xdf\x1b\xd4\x5c\xc5\xcb\x62\xf3\xc3\x22\x4a\x93\xc1\x52\x48\x90\x5d\x34\x33\x3f\x3b\xc3\x5f\xf5\x75\xa0\x52\x7e\xa5\xe9\x92\xe1\x67\x0c\x3f\x9b\xb2\xd7\x3c\xba\x17\x32\x66\x59\x5a\xae\x13\x22\x13\x80\x1b\x0a\x8e\xcb\xc0\x3d\x5b\xed\x18\xda\x16\x58\xbe\xb9\x86\xe6\x72\xcb\xef\x91\xc4\x96\x8c\xc8\x88\xa7\x9d\x54\x54\xce\xac\x5e\x24\xcd\xb5\xbb\x77\xb6\xdc\x7d\xd8\x2c\xa6\xbe\xf6\x74\x89\xb9\x15\x8f\x1b\x45\x11\xe9\x8a\x55\x3f\x62\xe3\xba\xd5\xda\xe0\x7c\xb1\x79\xf9\x4e\x9f\x92\x1a\x83\xbb\x17\xdc\xbd\x40\xc4\x5c\x4a\xc6\x81\x36\xe6\x85\x66\x65\x66\xed\x33\xf0\x43\xa6\x10\x15\xc6\x29\x30\x1f\x64\x89\x79\xa5\x6d\xc4\x5c\x02\xd2\x96\xb9\xee\x35\x64\xcc\x98\xf0\x80\x98\xb6\xa3\x61\x85\xa4\x09\xc7\xc5\x38\x1b\x3c\xce\x7b\xd6\xe9\x40\x14\x71\xb1\x11\x72\x71\x00\x9d\xf0\xf0\x49\xab\x20\x86\xc9\x0c\x76\xfe\x5c\x37\x84\xa5\x4c\x48\x1a\x8c\x5c\xf8\x21\x57\x66\xb2\xaa\x99\xd1\x89\x66\x9a\x17\x89\x36\x67\x59\xeb\x88\x7b\xaa\x8a\x63\x46\x9d\x8f\xe3\xc7\x68\xe1\xc6\xa8\x8d\x85\xcb\x4a\x98\xb2\xb7\xe0\x05\x0b\x5e\x06\xca\x31\x4d\x74\x1d\x58\xc5\x46\x74\x52\x2e\x3e\x05\x9c\xc7\xf6\x20\xf8\x7e\xaf\x73\xd3\x65\xa0\x4c\xd9\xcc\x47\x1f\x90\x6b\x03\xe3\x0a\x7b\x7a\x24\x52\x2d\x0e\x59\x7c\x83\x1c\x75\x10\xa1\x87\x05\xc4\xc0\x92\xd2\xe6\xef\x9e\x41\xde\x35\xf3\x11\x92\x3c\xf9\xbd\x90\x7d\xde\x98\xe1\x2d\x44\x77\x59\xaf\x4b\xc0\xf9\xe1\x14\xba\xe2\x0e\x69\xe0\xf0\x6d\xe7\xe9\x4d\x92\xd5\xa9\x19\x72\xf3\x0c\x89\xee\x29\xb5\x04\xbd\xb1\x44\x90\xf2\xb8\x51\x3a\xdc\x67\x76\xfe\xf0\x25\x9b\x97\x8e\x25\x1c\x52\x73\xdc\x00\x23\x26\x47\xaa\x90\x3f\x05\x5a\xed\x36\x29\x7a\x9a\xdd\x7c\x33\x7b\x84\xc2\x30\x40\x14\xcb\x16\xd5\xb2\x9b\x9d\x6a\xd6\x31\xb6\xd5\xe1\x52\x6c\xcd\x31\x6f\x34\xf1\xe7\x1f\xf5\x15\x34\xe4\x29\xc8\x04\xda\x35\x81\x8f\x07\xf2\x1f\x18\xc2\x70\x10\x35\x2f\x28\xcc\x63\x47\x7f\x91\xa9\x98\xf9\xb1\x1b\xaf\x1e\xfc\xf5\xbb\x55\x53\x1d\x1e\xd4\xb7\x7d\x9b\xef\x7d\x80\x73\x60\xcb\x32\x41\x01\xff\x8a\xcd\xaa\xac\x51\x04\x14\xcd\x60\xa1\x24\xda\x5d\x79\x2d\xdb\xe0\xe7\x1f\xf5\x07\x15\x1f\xb3\xb0\xc6\x33\xfe\x35\xd7\xf5\x00\x18\xb4\x0e\x63\xd1\xdb\xfd\x23\x91\xa9\x6e\x00\x6b\xbc\x18\x2e\xd1\x0f\x88\x85\x65\xb9\xba\x01\x01\x94\x2e\x52\x8d\x40\x1b\xc0\x66\xc9\x99\x79\x36\xd5\xb8\x9c\x8d\xae\x49\xa1\x00\xb8\xb7\x50\x38\xfb\xd3\xcd\xd5\xe5\xc9\x96\xe7\x7a\xc3\x21\x69\xd9\x96\x35\xb1\x9a\x72\xf8\x82\xb7\x81\xb9\x44\xce\xe5\x09\x5b\xab\x09\x86\x81\x5f\xb1\x4d\x51\x64\xfa\xd5\xe9\xe9\x3a\x29\x36\xe5\x72\x1a\xa9\xed\xa9\x1f\x9a\x53\x9e\x25\xa7\xcb\x54\x2d\x4f\x73\x01\x40\xe0\x93\xef\xa7\x3f\x7c\x0f\x33\x73\xfa\xf0\xfd\x29\x04\xff\xa6\x6b\xf5\x4f\xef\x7e\xf8\xd7\x3f\xfc\x8b\x29\x38\xdb\x15\x1b\x25\x5f\x51\x8c\xb9\xb7\xec\x13\x7c\x38\x9c\xe2\x4f\x6a\xb5\xfc\xeb\xf4\xf7\x61\x33\xe8\xab\x5b\x15\x8b\x54\x9f\x3e\x7c\xbf\xb0\x13\x33\xcd\x76\xbf\x41\x67\xbf\x1a\x74\xf6\x3e\x29\x7e\x83\xce\x7e\x55\xe8\xec\x70\x23\xcc\x9d\x31\xc0\x45\xea\xcf\x47\xf3\x77\x77\x46\xda\xe8\xc0\xbe\x73\xa8\xe5\x72\x08\x13\x1b\x8e\xb8\x22\xee\xc5\x28\x2f\x40\xad\xbb\xee\x75\xd3\xe1\x05\x1c\xab\x07\xd0\xf9\xde\x18\x95\xc7\x0d\x40\x95\x24\x02\xae\x69\xf4\x5a\x66\x3c\x69\x03\xc4\x92\xcd\x77\xcc\xf8\x3d\x27\x6b\xfa\x53\xd3\xa5\x53\x77\x0f\xa4\x4a\x4f\xf1\xd7\x16\x3e\xa6\x1e\x2d\x45\xfa\x53\x10\x8b\x0f\x14\x06\x76\x7c\xc9\xb8\x78\xa0\x2d\xb6\x5d\x1d\xcd\xd8\x70\x7d\x18\x0e\x71\x86\xac\x84\x2e\x94\x88\x20\xae\x44\xdb\x0a\xed\xc5\x61\x89\x1e\x40\xa1\x9e\xf8\xa4\xb2\x32\xcf\x94\x16\x7a\xca\xde\xd6\xc4\x18\x3d\xb6\xf2\xfa\xed\x19\xfb\xfe\xc7\x7f\xfd\xc3\x5c\x7e\xd7\x72\x6f\xc3\x79\xaf\xf2\x35\x41\x3d\xe1\xb6\xde\x72\x5d\x88\xfc\x34\x5f\x45\xa7\x78\xca\x9d\x9a\xdf\x9f\x50\xa5\x27\x6a\x75\xe2\x58\x93\x4f\x88\x40\x76\xba\x8d\xc7\x71\x20\x54\x96\x1e\xde\x35\x74\xd1\x68\xb8\x94\x90\x2d\x49\xad\x1c\x3f\x3e\xa6\xe2\xa0\x94\x86\x5a\xb5\xfc\xc7\xeb\x54\x2d\xf5\x4b\xc7\xd1\xc6\xb5\xad\xc3\x93\x26\x75\x6f\xcd\xa7\x21\x50\xb7\x4b\xe4\x39\x7d\x29\xf6\x2c\x09\x9f\x23\x63\x06\xbe\x7d\xb3\xf9\xeb\x1e\x29\x23\x78\xae\x4a\x69\x09\xa8\x95\x14\x6a\x05\x40\x43\xb0\x84\x2d\x90\x02\xdc\xc9\xe6\xa6\xf5\xf4\x10\xb9\xc8\xf0\x82\x81\xc0\x47\xf7\x70\x1f\x49\xc2\xbe\x6f\x9c\x9f\x83\x84\xfd\xd8\x71\xa7\x03\xe5\x2b\x0d\xf8\xb1\x68\x47\xdc\x4a\x63\x80\x1f\xe6\xfb\x7b\x83\xbc\xee\x1c\xf0\x02\x49\x9e\xef\x38\xe3\x39\x18\x69\xe2\xa4\x50\x27\xc0\xab\x03\x6c\x2d\x28\x8b\xd0\x85\xfc\x80\xe0\xf8\x98\x6b\xd2\x7c\x7f\x40\x3b\xd1\x30\xff\x1c\x34\x94\x6c\x12\x8d\x2c\xa3\x84\x1a\x4b\xa4\x14\x39\x85\xfd\xf6\xde\xa8\x23\x43\xe7\xe1\x54\xf6\x83\xc6\x02\xe9\xed\x80\xb2\xde\xa5\x0c\xf0\xe0\x10\x98\x32\xb0\x3e\x37\x6a\xab\x8c\x39\xa3\x4a\x1d\x7c\x88\xaf\x17\xb8\x84\x3b\x6d\xaf\x2d\xcf\x90\x47\xef\xeb\xf5\xc6\x6c\x2d\xf3\x11\xfa\x1d\xc3\x2f\x8d\x52\x01\x59\x56\x75\x0f\xf6\xb4\xdf\x11\xd6\xf7\xaf\x1b\x00\x66\xa0\x94\x1e\xa8\xd9\x12\x0d\x75\xf2\xdf\xe6\x5d\x63\x96\x94\x7b\x29\xb8\x9b\x1b\x71\x44\x48\x17\x19\x32\xd2\x5a\x6b\xbe\x33\xa1\xbb\xdc\x8e\x9c\x03\x87\x83\x1e\x32\x01\x5c\x22\x32\xd8\x42\x82\x4f\x5a\x31\xc1\x5d\xfb\xd2\x6a\xc7\xc6\x0b\x4b\x69\x3a\xae\xa9\x37\xae\x00\x62\x2f\x6d\xb6\xdb\x33\x42\x01\x80\x1c\xc7\x18\x0f\x04\x6b\x5b\x74\xe0\x82\xe4\xf8\xcd\x08\x1a\x30\x63\xc6\x0e\x2a\xc1\xc5\xd9\x18\xc1\x60\x2f\x74\x0d\xe0\x38\x17\x5b\x9f\xc7\xaa\x2d\xe3\x00\x49\xf4\x7c\x82\x91\x69\x65\xe3\xf1\xe8\x7e\xf8\xe0\x85\xb2\x77\x99\x98\xb0\x65\x09\x9f\x5f\x5e\xdd\x86\x80\x92\x04\x7b\x7b\x12\x6d\x44\x74\x0f\x0e\x13\xbc\xf2\x9c\xae\x24\x11\xf6\xcd\xa5\x57\x27\x2b\x94\x45\x47\xec\x1c\x61\xbb\x13\x2d\x50\x39\x8b\x13\x9d\xa5\x7c\x07\x71\x68\x89\xa9\x04\x3e\x86\xed\x72\x70\xcc\x51\xb0\xcf\x5f\x3c\x7c\xa6\xcd\xac\xcc\xfc\xef\xc6\x8e\x25\xcf\x97\x49\x91\xf3\x7c\xc7\xfc\x60\x36\xcf\x03\xa6\xc5\x96\xcb\x22\x89\xe6\x72\x2b\xb8\x0c\x81\x83\x14\x87\x37\x83\x1c\x2b\x41\x94\xc6\xab\x95\x88\x0a\xcf\x89\x08\xc6\xbb\x1b\xa9\x7d\x7b\x70\x5c\xdf\xdd\xce\xeb\xed\xfa\x4f\x89\xc4\x0c\xfc\x64\x0b\xb0\x54\x5a\x43\x74\x35\x1e\x18\x5f\x02\x35\x3b\xba\x72\xed\x63\x10\xfe\x65\xd7\x14\x5b\x8a\xe2\x51\x40\xca\x3f\xe5\x28\xb6\xd9\xf8\x47\x2b\x1a\x1c\x27\x50\xdc\x2e\xed\x1c\x80\xd5\x70\x83\x85\x78\x37\xc7\x4d\x24\x6b\x24\x43\x2f\x28\x6b\x12\xbc\x3d\x2f\xc8\x6f\xf5\x02\xae\x69\xf3\x7a\xcc\x1f\x44\x3c\x97\x55\xe6\x27\xb2\x19\xfd\x86\x63\x5e\xab\xeb\x69\x4e\x1b\x3b\xc6\x83\x7c\xf9\xe7\xc0\x76\xe1\x79\x2e\x5d\x5e\x60\x8f\x76\x58\x7b\x8c\xed\x19\x64\xa9\x06\x07\x79\xbc\x9c\x17\x69\xf1\x90\x74\x5f\x05\xf2\xe1\x16\xa5\xe3\xb5\x41\xd2\x3b\x87\xd1\x25\xbf\x64\xc3\xd3\xd9\x56\xc6\x5c\xda\x84\xef\x55\x99\x22\x91\x69\x97\x9a\x19\xd1\x5c\xd9\xe4\x94\xaf\x97\xa4\xe4\xfc\x6a\x2c\x90\x3f\x73\xc8\x8c\x00\x2f\x8d\x67\x9d\x5d\xf5\x42\x6a\xd4\xcc\xb6\xca\x47\xe0\x78\x5e\x8b\x02\x6e\xf3\xb8\x4c\x31\x7f\x19\x3c\xe6\x40\x99\xc5\xd3\x94\x25\x85\x9e\x4b\xc7\xf0\x85\x7c\xed\x70\xc2\x5a\x97\xba\x15\xcd\x95\x4e\x7a\x17\x3e\xe6\x12\xec\xb0\x24\x4a\x8a\x06\xca\x7c\x17\xaa\x85\x64\x99\xe0\x98\x6e\x87\xd3\x36\x97\xe1\x9b\xab\x3e\x09\x94\x9b\x06\x32\xea\x4f\x91\x26\xd6\x93\x34\x00\xda\xf3\xa3\xa7\x64\xca\x66\xd8\x3b\xf3\xe0\xb2\x42\xa0\xd8\x5a\x4a\xf1\x27\x30\xa8\x79\xd5\x14\xda\xfa\xc8\xfd\xbb\x15\x14\xa7\xa3\x32\xe5\x79\x0a\xb4\xf9\xab\x32\x65\xc9\x2a\xd0\x34\x85\x39\x40\x7e\x27\x33\x5d\x91\x82\xbb\xda\x7a\xc9\x35\xdf\x8a\x20\xb5\x9c\xdc\x3b\x69\x00\xf3\x40\xd2\x6a\xc4\x0f\x98\xb2\x5e\x4e\xd9\x9b\xba\x08\x3e\xec\x89\x80\x17\x32\xd1\x78\xfc\xb9\xf6\x06\x59\x91\x28\xa6\x9f\xac\xcc\x93\xf2\x45\xb0\xeb\x3a\x66\x10\xf8\xe5\xc7\x61\x48\xac\xba\x40\x3f\xb0\xb9\x35\x2b\xda\xfc\xb4\x86\x2c\x71\x1b\xa2\xa3\x81\xf6\x56\x18\xd9\xc8\x90\x53\xf3\x80\x86\x3a\xce\xd2\x96\xc6\x6e\x7b\x24\x54\x61\x1e\x47\x36\x35\x10\x24\x1a\xdf\xd0\x60\xe5\x84\x88\xa1\x21\x23\xbb\xe6\xc5\x58\xf8\x90\xcb\x17\x1a\xdf\xd0\x56\xa8\xd6\x90\x66\xc2\xe9\x31\xb2\x9d\x4e\x37\xfa\x80\x86\x3a\x75\x6a\x2f\x59\xe0\x65\xfb\x2b\x69\x9e\x96\x8c\xd1\xf5\x40\xcf\x25\x5d\x76\xe3\x33\x54\x67\x7e\xcd\x81\x26\x13\x33\xcd\x9f\xb2\x2b\x29\x10\xdc\xa7\x56\xc1\xa5\x42\x0d\x20\xf1\x26\xe0\xc3\x97\x81\x4a\x76\x9a\xc8\x7b\xcb\x7e\x61\xb6\xdc\x84\x71\x5f\x3a\x9c\x7a\xb8\x6c\xf0\x14\xe9\xb0\x25\xdb\xd4\x23\x8e\x30\x2f\x87\xe5\x90\xb6\xbf\xf9\x03\x8c\xec\xf8\x13\xa0\xad\x1f\xc3\xa7\xa5\x17\xec\xee\x5e\x71\x15\x19\xf4\x10\xd8\x5a\x24\xc5\x6e\xdf\xf8\x7e\xd8\x54\x81\x92\x23\xb4\x96\xee\x2e\xdf\x9c\xbf\xbd\xb8\xac\x0a\x24\xfd\xf9\xee\xfc\xae\xfa\x97\xeb\xbb\xcb\xcb\x8b\xcb\x3f\x86\x7f\xba\xb9\x3b\x3b\x3b\x3f\x7f\x53\xfd\xde\xdb\xd9\xc5\xbb\xda\xf7\xcc\x9f\xaa\x5f\x9a\xbd\xbe\xba\xae\x49\x32\x59\x3d\xa5\xe0\x4f\xb7\x17\xef\xcf\xdf\x2c\xae\xee\x2a\xaa\x4e\x6f\xfe\xfd\x72\xf6\xfe\xe2\x6c\xd1\xd2\x9e\xeb\xf3\xb3\xab\x5f\xce\xaf\xf7\x88\x32\xf9\xfe\xb6\x0e\xe9\x53\xc0\xc7\x0e\x96\xe8\x9a\xb1\x55\x9e\x08\x19\xa7\x3b\x4c\x0f\xb0\x2f\xdb\x1a\xde\x37\xbc\x7b\x93\xad\x50\xe5\x31\x28\xff\xdb\x0d\x8a\xe8\x03\x51\x07\x96\x46\x59\xbd\x5c\xdf\x77\xd2\x38\x16\x79\x33\x2a\xd0\x9b\xcc\x54\xe4\x3b\x97\x2e\xd7\xd7\x1c\x4f\xf2\x44\x95\xb0\x4c\xe4\x7d\x6d\x01\xcb\x28\x2f\xb3\x22\x59\x76\xe7\x6d\x0c\x24\x3f\x1a\xff\xf6\x46\x4a\xc2\x76\xfe\x96\xcb\xf6\x83\xb1\x92\xbe\x70\x0c\x36\x1a\x4a\x38\x54\x79\xce\xfd\xda\xe2\x49\xb3\x72\x99\x26\x11\x4b\xe2\xba\x3f\x05\xb3\xec\xd0\x65\x5c\x67\x2e\xcd\x44\x0e\xa6\xaa\x79\x01\x64\xb9\x38\xe1\x65\xb1\xb1\xa2\xf8\x2e\xd9\x12\x99\x44\x45\x94\x0b\x8c\x05\x08\x0d\x4e\x5a\x94\x1c\x0b\x6a\x82\xc6\x50\x92\x79\x0c\x7c\x36\xd3\x80\x45\xbe\x23\x46\x80\xbf\xc4\xd2\x47\x38\x49\xf1\xfb\xbd\x43\x43\x2d\x4e\x74\x5d\x6f\x1a\x6e\x78\xfc\xd0\x0a\x97\x99\x7e\x9b\x93\xda\x09\x77\xe1\x24\xdb\xf4\x92\xf6\x6e\xec\x5b\x63\xe1\x42\xa9\xe6\x5b\x50\xe9\xf4\xd1\x59\x2e\xe0\x12\x21\x28\x80\xf5\x5f\x00\x74\x85\xd2\x51\x20\x0b\xc5\x3c\xd5\x96\x62\xc3\xd3\x15\x5a\x1c\x66\x6a\xfc\xbe\x6a\x2e\xd1\x5b\x75\x2f\xe4\x35\x4e\xd8\x57\x39\x0e\x25\xbe\x7c\x3c\xed\x80\xf3\x08\x79\x17\xa6\x69\xa3\x5d\x55\x36\x1d\x0f\x8c\xa9\x02\xdf\x09\xc1\xc7\x98\x75\xe2\x49\x85\x6d\x26\xdf\x6a\x95\x7c\x36\x05\xce\xa5\x68\xa5\x55\x05\xbc\x90\x25\x80\x72\xe7\x32\x60\xa3\x90\x45\xe7\x5e\x48\x90\x3c\x43\x45\xe4\xbd\x6b\x76\x9c\xff\xbc\x39\x17\x3d\x0e\x7d\xf0\xf9\x25\x15\x25\xb8\x30\xca\x63\xc7\xa9\xc0\x34\xa0\x29\x7b\x43\xdc\x20\xe6\x2f\x67\xef\x2e\xce\x2f\x6f\x17\x67\xd7\xe7\x6f\xce\x2f\x6f\x2f\x66\xef\x6e\x86\x6e\xbf\xa7\x48\xdd\xaa\xed\xbe\x7a\x06\x93\x3b\x21\x4e\x69\xe7\xf9\x0c\x62\xd7\x29\xbf\xed\x60\x4a\xf6\xb7\x3e\x89\xb3\x45\x9c\xe8\xc8\x5c\x7f\xbb\x85\x90\x31\xf0\x51\x1f\xb4\x54\xdb\x8b\xaa\xf7\xc2\x7d\x83\xb9\x6f\xd8\x13\x04\x6f\xbb\x07\xbb\xa2\xdd\xe7\x80\xba\x03\x37\x64\x2e\xcc\xe6\x8f\xcd\xfb\xc0\xdd\x36\xd3\xfd\x22\x24\xa6\xb8\xe3\xfa\x56\x2d\xa2\xde\x27\x6c\x6f\xa2\x75\xc9\xcd\xf9\x68\xbf\x06\x90\xc3\x8e\x51\x21\x92\xc0\x90\x14\x3b\x09\x04\x5d\x59\xa2\xe7\x72\xcb\x65\xcc\x0b\x95\xef\x3a\xba\x38\xec\xf0\x0c\xb7\x4d\xf5\x08\x0d\xaf\x6c\x29\x44\x6c\x67\x01\xbf\xca\x65\x7d\x29\x21\x75\xf6\xed\xd5\xcf\xe7\x97\x37\x8b\xf3\xcb\x5f\x16\x1f\xae\xcf\xdf\x5e\xfc\xc5\x21\x21\x33\xae\xdb\x04\x1c\xb3\x5c\x98\xd3\xc5\x32\x91\xb4\x9e\x2f\xa8\xaa\x68\xcb\x21\x25\xad\x64\x35\x97\xf6\x64\xc9\x7d\xf1\x9b\x5c\x95\xeb\x4d\x7b\x41\xf5\x56\x7e\x98\xdd\xfe\x74\x50\x33\x81\x27\x0a\xa5\xd7\x70\xb7\x35\x11\xa1\xc9\x8a\xce\x3d\x84\x91\xd6\x9a\x07\x6c\x67\xf0\xd5\xb6\x28\x43\xc7\x89\x76\xd0\xeb\xa5\x79\x68\xf5\x1a\xff\x2d\x5f\xef\x5a\x40\xb7\xc1\xb9\x59\xb9\x46\x00\xa1\x8c\x0a\x9e\x8d\xd2\x5e\xb5\xfc\xad\x72\x83\xfd\x70\x92\x8a\xf5\x5a\xc4\xb8\xbc\xea\x05\x93\x0f\x8e\x8e\xc0\xc8\xdf\xeb\x6d\xa3\x48\x1a\x7b\x47\x5c\xcc\x0e\xef\x35\xfc\x00\xff\xe0\x7e\xd2\x7e\x56\x9c\x59\x1d\xef\x48\x49\x5d\x70\xd9\x11\x48\x7e\x68\x22\x34\x07\x1d\x45\x57\x39\x73\xf9\x59\xe4\x30\xb1\x21\x03\xbf\x0f\xba\x00\x2f\xc7\xe3\x42\x5d\x3b\xae\x45\x96\xf2\x48\xb8\x1c\x06\x24\xe9\x83\x77\xfd\x21\x01\x3c\x52\x32\x94\xe4\x6f\x09\x14\x0e\x03\xd9\xf3\x96\x25\x00\x9e\xdb\x63\xf3\xb2\xc8\xff\xfb\x5c\x89\x59\xd8\xc8\x6b\x7b\x69\x3c\xbf\xff\xa7\xf7\x75\x49\xfc\x61\xe0\x0d\x47\xbd\x2b\xc2\xe7\xa3\xc3\x0c\x44\xe4\x3a\xb1\xd3\xa3\xd6\x6c\xad\xe6\x5f\x68\x75\xe2\xc3\xbe\xea\x8d\xe7\x96\xa1\xcf\xad\x61\x67\xdf\xf6\x39\x35\x8b\x22\xef\x25\xf5\x7c\x8a\x98\xc9\x87\x5c\x6d\x13\x2d\x66\x45\x91\x27\xcb\x32\x54\x35\x1c\x89\xea\xab\xbc\xa0\x7c\x87\xb3\x5c\xc5\x65\x64\xa9\x95\xa0\xb7\x1e\x9b\x44\xae\x48\x6b\x1a\xc5\xec\xc4\x6c\x11\x7a\x5e\x8a\xf8\x04\xb2\x0e\xe6\xb2\x2b\x10\x68\x4f\xef\x0e\x07\xe5\x07\x6b\x6f\x1c\xb3\x24\x5b\x16\x45\xf7\x60\xda\x35\x30\x2c\x41\x99\xd9\xaf\x83\x99\xde\x01\xed\xa2\xe5\xb2\xe4\x18\xe5\xaf\x1a\x52\x5d\x4c\x2a\xee\x3e\x1c\xb7\xe1\x87\x01\x78\xaa\x69\x3d\x68\xdc\x6c\xb8\xc6\x37\x47\x11\x6d\xaa\x0d\x87\xde\x54\xd9\x07\xeb\xcd\x75\x36\xfc\x71\xbe\x9d\x41\xb1\xbe\x09\x7a\x43\x12\xf2\xbe\x57\x94\xe4\x9c\x2c\xe6\x38\x97\x7c\x68\xd6\xba\x67\x27\xde\x58\x70\xd8\xa7\xbc\x94\xd1\x86\x65\x29\xc7\xa4\xfc\x0d\xd7\xb8\xa4\x2d\xe0\x85\x2f\x93\x34\x29\x80\xed\x08\xe3\xb0\xb5\x11\x36\x6f\x51\x9e\xdf\x5b\x82\x61\xee\xa9\xad\xfa\x16\xfd\x91\xc0\x62\xd7\xab\x2f\x0a\x2d\xf6\x5b\x36\x3c\x86\x86\x2d\x4b\x82\x15\xfb\xe9\x30\x07\x31\x2c\x4b\xdf\x97\x71\x33\x4b\x25\x7e\xa8\xff\xbc\x32\xde\x2d\x26\xd6\x01\x99\xd3\xc8\x9c\x3f\xe2\xf6\xa9\xf3\xea\xb7\xee\xac\x55\xaa\x78\x87\xb6\xb3\x2d\x1b\x69\xf2\xbb\xca\x8e\x55\xb9\xec\x22\x66\xc6\x56\xf5\x97\xde\x17\xb1\xb1\xfb\xf6\xa9\x3c\xba\xe1\x01\xc8\x0b\x51\x24\xe3\x9c\x52\x41\xa7\x79\x21\x4e\xe0\xe7\xed\x85\x53\x1a\xe4\xe0\x3e\x37\x16\x9a\x17\x6b\x71\x96\x25\x00\x1e\xdb\x56\x57\xed\x76\x3e\x06\xb8\x7e\xe4\x7c\x25\x72\xcf\x52\xda\xaf\xff\xf0\x87\x1f\x86\x18\x94\x7f\x2e\xb9\x39\x0f\xaf\x56\x37\xc8\x39\x74\x4c\xa7\x8b\xa4\xb9\xad\xda\x8f\x9f\x7a\xad\xb7\xd5\x18\x60\xb8\xf0\x07\xa7\x4b\xb7\xf5\xe6\xc6\xfc\x7a\xf8\x29\x74\x51\xf1\xf5\x65\x79\xa2\x80\x7b\x47\xad\x90\xc9\xb2\x9b\xb6\xb3\xb5\xde\x23\x46\xf2\x53\x29\x4a\x61\x16\xd0\xb2\x8c\xd7\x4d\x57\xfc\x08\x4b\xd9\x77\x69\xa3\x1e\xd9\xb6\x8c\x36\xcc\x16\xce\x62\x91\xf2\x5d\xa5\x6b\x60\x24\x16\x2a\x05\x22\xec\x03\x59\x79\xa3\x52\x17\x6a\x0b\x28\x68\x5f\x6e\x5e\x4a\xd8\xe5\x8c\xdb\xdd\xd5\x76\xbe\x57\x58\xfa\x0e\x8c\xbf\xde\x7c\x38\x3f\xbb\x78\x7b\x51\x0b\x7e\xce\x6e\x7e\x0e\xff\xfd\xeb\xd5\xf5\xcf\x6f\xdf\x5d\xfd\x1a\xfe\xed\xdd\xec\xee\xf2\xec\xa7\xc5\x87\x77\xb3\xcb\x4a\x88\x74\x76\x3b\xbb\x39\xbf\xdd\x13\x05\x6d\xd6\xda\x3d\x11\x3c\x20\x11\xb4\xb8\x6c\xcb\xa6\x6e\x9d\x21\x54\xeb\x2b\x36\xb3\x94\x8a\x15\xd2\x4f\x1b\xc9\x06\xe8\x0b\x6a\x8b\x53\xc0\xdb\xbc\x5f\xcf\x78\xc1\x53\xb5\x9e\xb2\x19\x23\xd4\x3a\x66\x23\x68\x63\x21\x11\xdf\x9c\x99\x1d\x2c\xc2\x98\x49\x91\x77\x34\x78\xb9\x48\xb5\x22\xa6\xc7\x54\x84\xc2\x02\x36\xf5\x6e\x2e\xcf\x1f\x84\x2c\x4a\x60\x3d\xe7\x69\xca\xa8\x5a\xfb\x85\x80\x56\xc0\xb6\x52\x27\xdb\x24\xe5\xb9\x57\xf6\xbb\xa2\xb2\xe0\x95\x62\xdb\xea\x88\xae\x9a\x39\xeb\xf6\x21\x77\x77\xc1\xa0\xdd\x67\xef\x2e\xc0\xee\x8b\x0a\x2b\x5b\x63\x2b\x9f\x4b\x64\x12\xa4\x1a\xb7\x1c\x32\x64\x0a\x45\xee\x5f\xac\x9e\xbe\xdc\xbd\x10\xf5\x31\x9b\xd8\x06\x4a\x9e\xeb\x45\xe9\x1a\x69\xff\xe3\x5c\x16\xf9\x6e\xb0\x31\x77\x0b\x29\xe1\x1a\x0c\x72\x02\xdc\x55\xd5\xfe\xd0\x3b\xc7\x6c\xe9\x97\x60\xe1\x59\x34\x28\x05\x8f\x5c\x8c\x08\xc1\x37\x1d\x8f\x8e\xd4\xdc\xbc\xdf\xea\x38\x84\xc4\x42\x30\x0a\x4b\x55\xca\x58\x13\x34\x70\x9b\xc8\xd3\x2d\xff\xfc\xd2\xf6\x14\x59\x30\x9c\xe6\x06\x90\xb0\x89\xd4\x3c\xbf\x76\xe6\x90\xeb\x1f\xae\xb9\xec\x19\xaf\xfd\x26\xb2\x3d\x59\xe1\xad\xe7\x1f\xe6\x08\x72\x7c\x10\xbb\xb6\xf9\x6b\xe8\x26\x21\x90\x92\x36\x3c\x14\x92\xe5\xc2\x7c\xd1\x21\x28\x53\x04\xc6\xba\x7f\x43\xa6\x44\x45\xdb\xb1\xfd\xec\x0e\x41\x09\x47\x6d\x9b\x56\x38\xc4\x33\x08\x5f\x51\x4d\x66\xce\x10\x1c\x61\xfd\xf2\x94\x19\x42\x51\x5f\x33\x59\xff\xa5\x96\x6c\x05\x69\x52\xa4\xdd\x9e\x0b\x88\xc3\xc0\x54\x58\xa6\x76\xa0\xea\x6a\x20\x2e\xec\x12\x48\x85\x86\xe8\x84\x34\x6f\x4c\xf1\xa9\xa4\x00\xf3\xf7\xbf\x1f\x77\xcf\x16\xf9\x8e\x59\x55\x90\x30\x4d\x8b\xb2\x14\xe9\xce\x85\x76\x95\x32\x69\xe3\xef\xbb\x2e\xa5\xb9\x8a\x9f\x02\x9b\x33\x3c\xf8\x5a\xab\x94\xfe\xb9\x37\x93\xc9\xc6\x0d\x72\xfc\xfe\xb3\xd1\xb1\xfe\x52\x63\x61\xa5\xea\x00\x37\x4f\xa5\x87\x17\xda\x92\x47\xf7\x8f\x3c\x8f\xd1\xb9\x0c\x60\x99\x29\xfb\x49\x3d\x8a\x07\x91\x4f\x58\x24\xf2\x82\x13\x05\x9a\x06\xb4\x00\x6c\x28\x2a\x67\x2e\x21\x8d\x04\xf9\xe4\x24\xc8\xde\x17\xc9\x7a\x63\x1e\xd1\x01\xd6\x43\xe5\xe6\x38\x2a\x90\xfd\x32\x13\x11\x31\x3a\x75\x0c\xc0\x2a\xe5\x0f\x4d\x4e\xb7\x43\xa8\x28\xd8\x85\xcb\x85\xb5\xc1\x54\xab\x7e\xd1\x87\xce\xa1\x01\xa3\x43\x13\x39\x78\x26\x6c\xad\x52\x2e\xd7\xd3\xe9\x94\x89\x22\x9a\xbe\x1c\xb5\xd0\xa9\xc0\x30\x3c\xeb\x30\xe0\xa9\x52\x5a\xa4\x3b\xc7\x42\xe4\xb2\x74\x00\x16\xfa\xb9\x10\x52\x27\xe8\xe7\x69\x59\xfe\x37\xf5\xd0\xc5\x97\x8d\xf4\xb4\x3f\xcf\x47\xe7\x80\x76\x94\x03\x62\x5a\x23\x4a\xc2\xef\xb7\xbf\xbc\x0e\xca\x69\x6e\x2f\x4b\x2a\x39\x36\x51\xf7\x17\xd5\x25\x0d\x7f\x10\x7f\x61\x6b\x49\xc4\xa4\x72\x50\x72\x63\xfb\x98\x35\xf2\x4d\x8f\x48\x35\xed\xc9\x1a\x1d\x99\x30\x3a\xc4\x11\x70\x53\x9f\xee\xd1\xdb\x62\xbf\xbe\x47\x6b\x87\x46\x26\xe4\xfa\xcc\xf9\x31\xa6\x13\xe6\xf4\xa5\x3b\x78\x71\xb9\xf4\x5c\x70\xa7\xc7\x41\x38\xa0\x12\xed\x80\x44\x31\x1f\x2e\x71\x0c\x57\x41\x74\x44\x17\x2a\xe7\x6b\xc1\xb6\x22\x4e\xca\x6d\xeb\x61\xe3\x9a\x7b\x0c\x38\x51\xa5\xe5\xb6\x9b\x6b\xf0\x58\x03\xda\x37\x12\xff\xeb\x0c\xaa\x1b\x6c\x40\xcf\x1c\xee\xde\xca\x2c\x51\x7b\xd1\xf7\x4f\x63\x6d\x6e\xca\x3c\xd1\x40\xdc\x79\x48\x5e\xa6\x2b\x06\x8b\x86\xf0\xee\x2e\x43\x9f\x73\x65\x76\x4f\x6c\x48\x8b\x7e\xa2\x71\x56\x21\x26\xdc\x7d\x29\xd4\x21\x8f\xa3\xe7\x08\x44\x7c\x0e\x0a\xc3\x83\xd9\x18\xd0\xe9\x13\x26\x0b\x0a\x24\xe0\x48\xa1\xd8\xca\x66\xfa\xdd\x8b\x80\x3b\x2d\x06\xa2\xfd\x47\x24\xe2\xf9\xf9\x47\x6d\x21\x26\x84\x02\xf2\x16\x4b\xe1\x2b\xc1\x80\xc8\xc3\xf7\x16\xfc\x85\x3d\xc4\x22\x80\xe1\x2c\xe6\xb2\x68\x2d\xc0\x63\x23\xa1\x2c\xfc\xc9\x2f\xbc\x4c\xdb\xbf\x4e\xe5\xc3\x57\x51\xb4\x6b\xf6\xeb\x0d\xc3\xa1\x26\x4a\xf6\xbc\xaf\xa1\x41\x21\xfb\xe1\x67\x30\x5c\x8b\x03\x2c\xc1\xca\x3c\xe0\xa0\x5b\x4e\x7e\x33\xec\xa2\x88\x36\xde\xf2\xa8\xaa\x6f\x93\x22\x23\xf5\x73\xeb\x49\xe6\x11\xd9\x1b\x42\x24\x93\xb5\x54\xa1\x3e\x8a\x92\x02\x22\x53\xe6\x00\x52\x61\xb1\x2c\x29\xf6\xe3\xd0\x46\xd2\x9a\xed\x5b\x6a\x85\x42\x7c\x11\xf5\xb3\x12\x60\x84\x27\x45\x82\x64\x48\x16\xc4\x8b\x6f\x22\x12\xf8\xab\x93\x8f\x57\xe9\x25\xe6\xb2\x5a\x55\x63\x90\x2c\x50\x2c\xc9\x05\x72\x06\x6b\x63\xbd\x15\xc9\x83\xd9\xa8\xcd\x65\xed\x16\x28\x9c\x00\xcd\xb5\x37\x97\xd8\xec\x80\x78\xf8\x5e\xec\x74\xa8\x26\x48\x2b\x8a\x75\x2d\xc8\xc4\xf4\x87\xe6\x6b\xff\x54\xc0\xc0\x2d\xa8\x07\xdb\xc1\xf8\x4d\xac\xf4\xbd\xf9\x71\x0f\x02\xb5\x51\xb8\x59\x83\x3e\x95\xd2\xfb\x14\xe9\x98\xf0\xe3\x4c\x73\xe8\x41\x66\x00\x21\x0c\x41\x82\x61\x5e\x0c\x3c\x7c\xcd\xfb\x76\x2e\x89\x9b\x3c\xb8\xe4\xcc\x81\xd3\x9c\x36\xca\xef\x46\x46\xe4\x5d\x85\x9b\x06\xb8\x19\x2d\x4f\x65\xb5\x4a\x1b\x6c\xb5\x62\xb4\x73\x09\x55\x63\x06\xac\xf5\xe1\xb5\x56\x78\x20\x72\x91\x26\xb7\x13\xad\x18\xa4\x99\xe1\x37\x89\x9e\x10\x65\x29\xf1\xf5\x13\x09\x33\x7c\x33\xd9\x0a\x14\xb4\x30\xc1\x9b\xf3\xb3\xeb\xf3\xdb\x2f\x86\x66\xb4\x50\xc2\xd1\x70\x46\xdb\xce\x37\xe7\x6f\x67\x77\xef\x6e\x17\x6f\x2e\xae\x9f\x03\xcf\x48\x1f\x1d\x00\x68\xbc\x21\xc9\x83\x33\x25\x0b\xf1\xf9\xa8\x3b\x39\x2f\xe5\x82\x8f\xc0\x62\x39\xd1\x93\x3e\x73\x07\x0b\x6d\x4a\x36\x38\x3d\x05\x22\xc7\xc4\x1b\xcd\x29\x34\xac\xbc\xd3\x70\x95\xa4\x29\xe4\x19\x3b\xf7\x3a\xe5\xb0\x99\x41\x85\xf3\xc7\xf2\x81\xd2\x99\x3a\x97\xcb\x8a\xa2\x06\xb8\xfc\x36\xe6\x11\x8c\x19\xc6\x99\x19\x80\x3c\x81\xfc\xcd\x3e\x55\x87\x75\x22\x85\x6f\x06\x4a\x48\x97\x92\x75\xf2\x5c\xd3\x24\x3e\x27\x24\x8a\x0c\xaf\xa1\xb6\xa6\x5d\x71\x95\xf5\x69\xcd\x4f\xfb\xa1\xeb\x21\x6e\xe2\x44\xa2\x61\x5a\xd9\xcd\x37\xed\x4b\xf7\xd4\x6f\x01\x18\x77\x33\x93\x1c\x62\x10\xa0\xd2\xec\x27\x92\x26\x02\xd5\x9e\x7c\x70\xe2\x3e\x41\xe8\x90\x5a\xd5\xc6\xd9\x1c\x85\x66\xac\x13\x88\x54\x70\xa2\x4e\x89\xd2\x52\x17\x22\x27\xb7\xc9\xec\xd7\x9b\xb9\x7c\x6d\xae\xaf\x97\x74\x0b\x91\x22\x10\x56\x81\xc0\x15\x55\xa9\xdf\x5a\x28\xe1\x09\xf6\x1d\xfa\xa8\xb7\x82\x4b\x8d\x0a\xfa\x69\x2a\x72\xbf\x32\xb0\x3d\x42\xc4\xa4\xa2\x08\x5c\xb1\xfe\xf7\x24\xa2\xae\x60\xd7\x9a\xf6\xd2\xa7\x24\x23\x5e\x5f\x4f\x5d\x69\xec\x80\x67\x7e\xce\x95\xd3\x92\x56\x33\x74\x15\x11\x14\xbc\x75\x11\x55\x93\x5c\x06\xad\xa5\x5b\x2c\xee\xb7\xa5\xf4\x84\x4b\x69\xc0\xbd\x1e\xde\x12\x6c\xa3\xcc\x01\xea\xe4\x72\x7c\x98\xd9\xd1\x68\xa4\x00\xfa\x32\xc3\xd8\x7a\xeb\xd4\x24\x23\x8f\xc1\x7e\x40\x51\xc7\x41\x6b\x67\x2d\x7c\x3d\x5e\x9b\xcc\xc6\x76\x7a\xd5\x28\x9f\x87\x17\x6f\x66\x41\x86\x52\x15\x96\xe1\xc2\xe1\xfa\x08\xa4\x68\xbe\xe0\xa8\x55\x7a\xdb\x48\x74\x25\xd6\x4a\x59\x1c\xa9\xe8\x76\x1b\x82\x21\x2b\x39\xbf\xd8\x8a\x90\x2d\xc0\x32\x04\x38\x86\x91\x31\x8b\xef\x70\xcd\xd0\xea\x9a\x73\x6c\x95\x07\x81\x1d\x2e\xaf\x2e\xcf\x43\xa8\xc2\xc5\xe5\xed\xf9\x1f\xcf\xaf\x2b\xd9\xe2\xef\xae\x66\x95\x8c\xef\x9b\xdb\xeb\x5a\xa2\xf7\xeb\xab\xab\x77\xe7\x0d\xcc\xc3\xf9\xed\xc5\xfb\x4a\xe1\x6f\xee\xae\x67\xb7\x17\x57\x95\xef\xbd\xbe\xb8\x9c\x5d\xff\x7b\xf8\x97\xf3\xeb\xeb\xab\xeb\x5a\x7d\x77\x67\xfd\xe8\x89\x4a\x37\xda\xdd\x3f\x3e\x38\x1b\x10\x77\xb6\x6e\xe3\xaa\xa6\xea\x11\xbb\x78\x20\xf2\x6c\xdf\x72\xb4\xc9\xe0\x71\xc8\xe7\x8f\x1b\xc3\x34\x75\xd4\xaa\x7b\x7a\x11\xd8\xca\xd0\x65\xfc\xb8\x63\xcf\xdc\x6a\x8b\xa7\x40\x02\xf6\x1a\x80\xae\x96\x9a\xe3\x56\x17\x90\x31\x87\x43\x9b\x41\x04\x6b\xcd\x3b\x25\x90\x64\xfc\xec\x2d\xb5\x75\xec\x6b\xa7\x27\x8a\xda\xc3\xb7\xf3\x54\x5c\x1b\x7d\x8d\x0e\x2a\xb3\xa9\xec\x49\x6c\x0d\x05\xfb\x61\x70\x71\x43\x37\xcc\xca\x09\x96\x63\x97\x5a\x67\x7b\xbe\x49\x3f\xb7\xdb\xd8\xf6\x53\x25\xcd\xb6\xd7\x88\x40\x46\xb4\x1b\x08\x99\xc6\xb4\xfb\x96\xeb\xfb\xb1\xed\xa6\x4a\x9a\xed\x06\xb3\xef\xa0\x76\x83\xc3\xbb\x68\x27\x69\x19\x71\x88\x85\xc5\x54\x9b\xe7\x32\xc8\xdd\x57\x02\x51\xdc\x61\x6d\x34\x1b\xe0\x79\x9f\x97\x19\x1f\x1e\xc8\x80\xd6\xb8\xed\xca\x6b\x9c\xe5\x37\xf0\x29\xf4\x70\x99\x0b\x7e\x1f\xab\x47\x9a\x8f\x3a\x32\x94\x0d\x3a\xcd\xab\x03\x64\xce\x70\x7b\x45\x80\x94\xbe\xa9\x12\x51\x6a\xbe\x78\x80\xc9\x25\xc4\xba\x8d\x36\x58\xa0\xe6\x5a\xa7\xb9\x01\x62\x21\xe9\x67\x67\x2e\xd1\x9a\x6f\x53\x84\x35\xb3\x6a\x5a\x44\xc4\x14\xd0\x55\x67\x43\x63\x70\x5d\x07\x13\x4b\x09\x1c\x65\x0e\x60\xba\x65\x0e\x6f\x26\x18\x90\x44\x82\x33\x39\x37\x0f\x9e\x5c\x44\x89\x16\x81\xe4\x54\xeb\x8d\xfd\xe9\x38\x81\x8a\x82\x17\xad\x6e\xd7\xc1\xfe\x70\x1e\x15\x25\x4f\xd9\xa7\x52\xe4\x3b\xe2\xf7\x43\x5f\x25\xfe\x25\xe2\x12\x33\x45\x0a\xb1\xcd\x20\x67\x3c\x4c\x71\x98\xcb\x5f\x01\x28\x81\x53\xf0\x42\xb3\x3f\x02\xe4\xc1\x7e\x99\x2e\xe1\x2d\x2f\xe0\x2e\xfe\x33\xd6\xe1\x3e\x9b\xce\x65\x45\xc2\x25\xf8\x55\x45\xcd\x65\x3a\x97\x56\x43\x21\x56\x91\x9e\xc2\x8b\x6f\xaa\xf2\xf5\x29\x09\x24\x9b\xc5\xae\xee\x97\x4a\xdd\x9f\x0a\x79\x0a\x3e\xa9\xe2\x94\x97\x85\x3a\x05\xb8\x14\xce\xbf\x3e\xb5\x3a\xaa\x56\x88\x56\x9f\x6e\x92\x07\x01\xff\x6f\xba\x29\xb6\xe9\x3f\xe9\x6c\xf3\xf9\x64\x9d\xe6\x27\xe6\xb7\x27\xe1\x6f\x4f\xec\x6f\x4f\xec\x6f\x4f\xcc\xcf\xf0\xff\x65\x3b\x0c\xef\x88\xcf\xdc\xdc\x65\x93\xb9\x4c\xa4\x16\x79\x01\xd6\xcf\x63\x9e\x14\x5e\x2b\x67\xc7\x5e\xfc\xcf\xff\xb0\x69\xce\x1f\x7d\xbe\xe5\x07\xf4\x2f\xfe\xed\x6f\x2f\x20\xa0\x8a\x49\x3d\x19\xcf\x3f\x95\xa2\x98\x4b\x2d\xcc\x26\x64\xff\x67\x2e\x21\x02\xbb\xdd\x2d\x0a\xf4\xbb\xa2\x0f\x32\xd6\xec\xdf\xb0\xcc\x0b\xe4\xba\x8c\xb5\x29\xa9\x23\x9d\x20\xe1\x69\x8b\xf4\x76\x87\x8b\xfe\x53\xfa\x86\xbe\x3f\x62\x5b\x7f\x4a\xab\xbb\xda\xaa\xb5\xe8\x4f\x29\x5c\xa0\xa9\xe2\x16\xac\xc5\xdc\xe2\x85\x77\x32\x35\xae\x6d\x8f\x34\xa0\x01\xcf\x1a\xa6\x6f\xdf\x2b\x37\xc8\xb7\x6d\x3d\xf7\x8d\x63\x04\x62\x05\x3e\x0e\x01\xd1\xf3\xc4\xec\x90\x1b\xf4\x84\x82\xe5\x86\x3d\x07\x9b\x94\x42\xe7\xae\x3c\x74\x5c\xe8\x3f\xbc\x3a\x3d\x9d\xb0\xb5\x86\xff\x59\x7e\x82\xff\x01\xf4\xd0\x53\x51\xc6\x36\x06\xd3\x01\xe1\x9a\xb3\xbc\x7f\x26\x9e\x02\x45\xf7\x25\x58\xca\x6b\xcb\xf4\x75\x29\xe3\x54\xf8\x14\xc8\x4a\x48\x24\x55\x56\xfa\x1f\x1d\x63\x75\x3d\x18\x98\xe3\xa5\x88\xb8\x39\xf8\x1a\x75\x23\xb8\x54\xad\x0a\x21\xd1\x1b\x96\x7b\xb9\x38\x8e\x9e\x2b\x30\x8b\x01\x0a\xc9\x0b\x82\x9c\x0b\xf8\x23\x54\x02\xb4\xdf\x93\xfa\x47\x6c\xa7\x4a\x62\xb0\x06\x5e\xd6\x58\x44\x29\xc8\x04\x58\x6e\x1a\x96\x8b\xa2\xcc\x25\xe3\x2c\xe3\x32\xe6\x1a\x56\xe0\x2a\x87\x68\x67\xce\x78\xb3\xa1\x13\x84\xe3\xaa\xb2\x00\xc6\x25\x44\x16\x84\x23\x81\x14\xe3\x41\x9b\x27\x41\x23\xf0\x4e\x00\xa6\xe3\xc6\x0f\xa7\x73\x69\x05\xcd\x08\x0b\x87\x9e\xb2\x48\x65\x3b\xe2\xd3\xa9\x0f\x7a\x62\x3d\x67\x34\xdc\x13\x8f\x37\xa9\x7f\x77\xc2\x92\x6a\x68\x0d\xd8\xcc\x8b\x40\x35\xda\xea\x6e\x7f\x27\x64\xa4\x62\x91\xeb\x97\x66\x1b\x26\xee\xdd\x81\xf6\x43\xa2\xfd\x64\xc0\x29\x65\x2e\x37\xf2\x16\x9a\xe2\x9d\xec\x8f\x19\x9d\x0a\xff\x75\x9b\x9d\xb3\x7f\xab\x7c\xeb\x28\x98\xb6\xf6\xd2\x7f\x7e\x51\x44\x4c\x88\xeb\xb4\x6f\xce\xc3\x5d\x10\xb8\x65\xc3\x13\x17\x0b\x45\x1b\x87\x8c\x13\x2b\xd1\x9b\x14\x20\xb1\x97\x0b\x5d\xcc\x25\xdd\xc0\x13\xb6\x12\xdc\xd8\x79\x13\x16\xe9\x07\x3c\x8c\xf1\xba\x2f\x1e\x95\xc7\xe0\x58\xf1\x14\x00\xc3\x56\x0a\xf7\x4e\x62\xfc\x1a\x20\x0a\x78\x54\x20\xc0\xa0\x53\xcd\xdd\x9a\x2a\x30\x58\xad\x07\xe2\x01\xe3\x60\xb5\x38\xea\xba\x57\xa1\x14\x0c\x8c\xc4\x0e\x03\xc5\xac\xde\x0e\xfc\xc0\x1c\x3c\xd8\x3b\x84\x81\x04\x87\x23\x58\xdc\x84\xa5\xc5\x7d\xe6\x63\xb8\x21\x21\x3a\xf8\x66\xba\x36\x55\xcf\x40\x40\x03\x0e\xf3\x5b\x98\x9f\xee\x75\x58\x69\x91\x5b\xa1\x10\xec\x2b\xd2\x17\x6e\x92\x3c\x3e\xc9\x78\x5e\xec\xec\xf2\x4d\x93\x25\xe8\x0b\xa4\xc9\xbd\x60\xb3\x3c\x57\x8f\x4f\x3d\x0a\x9d\x47\x4b\xd7\x0b\xfb\x18\x24\xfb\xd8\x57\x7e\x2b\x79\x69\xdd\xdd\x71\x18\x51\x6a\x97\xe3\xa3\xb5\x9e\x5c\x14\xf9\x6e\x61\x16\xe2\x36\xeb\x3c\x29\x06\x25\x4d\x0c\x37\x72\xc7\x71\xb0\xd6\x5c\x18\x9d\x1c\xac\x95\x59\xfd\x76\x38\x58\x5b\xe8\x55\x9b\x1c\xac\x17\x97\x17\xb7\x17\xb3\x77\x17\xff\xaf\x56\xe2\xaf\xb3\x8b\xdb\x8b\xcb\x3f\x2e\xde\x5e\x5d\x2f\xae\xcf\x6f\xae\xee\xae\xcf\xce\xfb\x49\x95\x9a\xad\xf7\x26\xf8\x09\x0b\xeb\x79\xc5\x6e\x03\xa0\x06\x26\x1b\x90\xfd\x4d\x02\x9b\xb0\xaa\xcc\x66\x4e\xe4\x7a\x02\x1b\xf5\x15\x3b\xcf\xf3\x8b\x2d\x5f\x8b\x0f\x65\x9a\x02\x9c\x0a\x33\x7b\xce\x72\x01\x0f\xcf\x09\xfb\xa0\xe2\x8b\xe0\x77\x90\x8e\xd8\xda\x0d\xa8\x9f\xc7\x71\x2e\xb4\xc6\xea\x27\x54\x7f\x00\x1e\x72\xa9\x8e\x04\x9e\xe3\x0f\x3c\x49\xcd\xfb\xed\x15\x7b\xcd\xa3\x7b\xb5\x5a\x61\xfa\xcc\xc4\x25\x4e\xb1\x4f\xa5\x2a\x38\x13\x9f\x23\x20\x12\x6b\x5f\x27\xef\xd4\xfa\x2b\x40\x95\x07\x84\xa7\x3a\x1e\x29\x20\xa4\xb6\x68\xbf\xce\xdb\x0f\x02\xea\xe5\x7b\xfc\xe9\x5b\xfc\x65\xbb\x83\xb2\x48\x9f\x20\x3d\xfe\x9d\x5a\xb7\xcb\xda\x80\x75\x4d\x5a\x3c\x14\x48\x88\x88\x6c\x43\xad\x99\x4e\xe4\xfd\x5c\xfe\xba\x11\x92\xa9\x32\xc7\x3f\xc1\x33\xdf\x98\x99\x69\xa9\x37\x02\x74\x6e\x27\xec\x51\xb0\x2d\xdf\xa1\xd9\x0c\x6f\x02\xa7\xc5\x01\x4b\x06\x6e\x11\xf3\xeb\x34\x91\xe6\xb4\xc8\x12\x9b\x97\x50\x9f\xfa\xa7\x78\x71\x59\x1a\x3d\x7e\x3c\xcb\x6d\xdf\x7d\x5a\xc1\xe7\x81\xab\xcc\xe3\x26\x2d\x40\x88\x4e\x6e\x90\xfa\x54\xea\xbe\xcc\x3c\xe1\xe6\x0b\x1b\x9c\x84\xe1\x7e\x50\x49\xcc\xe2\x32\x4b\x93\xc8\x9d\xbb\x8f\x2a\xef\x64\x15\xc6\x04\x9a\xe1\xb7\x4e\x3d\x2d\xac\xaf\x63\x2d\xd9\x39\x01\x92\xae\x87\x5f\xf8\x99\x19\x96\x59\x22\xa3\xb4\x04\x11\xb3\x52\x8b\xfc\xa4\xc8\x93\xf5\x1a\x0c\x70\x9b\xeb\xf7\xed\x53\x30\x7b\x8a\xc7\xe3\xd3\xda\xc2\xa4\xf3\x54\xad\x93\x88\xa7\x21\xb8\xd9\xa3\x22\x1c\xc7\xab\xdd\xf6\x24\xf1\x0a\x79\x10\xb6\x41\x9d\x0c\x48\x59\x2e\x80\x66\x78\x01\x47\xf9\x82\x8e\xbb\x63\xda\xbd\x62\xe6\x81\x8e\xed\x0a\x19\x58\x6d\x78\xc1\xde\x70\xbe\x6e\xab\xf3\x05\x26\x26\x6a\x80\x33\xf5\x28\x45\x0e\x16\x2c\xc0\x3e\x4c\x4f\xa5\x02\xdb\xc4\x69\x7f\x39\x7c\xb2\xd5\xbe\x5b\x39\x20\x36\x66\xce\xae\x93\x07\x21\xbf\x3c\x65\x76\x50\x41\xc4\xa3\x8d\x58\x58\xbb\xfc\xa9\x8f\x2c\x77\x01\x8c\x3c\xac\xac\x08\x47\x78\x94\xba\xf0\x26\x3c\x9d\xb0\xc5\xcd\xb3\x0b\x03\x89\x3d\x19\x59\xa6\x11\x8b\x58\x44\xf7\x5f\xfc\x68\xf6\x20\x2b\xdb\x10\xc6\xd9\x1b\x11\xdd\xb3\xbb\xeb\x0b\xcc\x06\x4e\x0a\x66\x8e\x02\xbd\xf1\xa2\x42\x9d\x6f\xb7\x82\xaf\x9f\x81\xd1\x69\xa8\x2a\x92\x27\xc2\x77\x5a\x70\xa6\x41\x04\x88\x82\x7c\x49\x73\x48\x52\x2e\x0d\x00\xc1\x78\x61\xb5\x72\xc0\x11\xcf\xf4\x16\xa4\x71\xca\x22\xd0\x93\x4b\xf9\x52\xa4\x1d\xb4\x90\x99\x8a\x17\x36\x4e\x72\x2c\x98\xa7\x51\x96\xf5\x63\x50\xd4\xd1\xe6\x31\x70\x63\xb1\xde\xd2\x17\xd9\xfd\x8f\x3a\xa0\xd7\x50\x21\x3b\x35\xbc\xeb\xb9\x86\xf4\xee\x55\xb2\xb6\xd1\xb6\x64\x45\x02\x3e\x98\xd0\x0f\x52\xf5\xe6\xbc\x34\x25\x7d\x50\x31\xc1\xf4\x1c\x89\x99\xb1\x82\x04\x79\x4f\x3c\xae\x22\x6c\x82\x93\xf3\xd7\xe0\x1b\xd0\x85\xe0\x31\x53\x2b\xf2\x26\x66\x59\x9a\x00\xef\x70\x8c\x14\xe7\xc0\x9e\xa1\xab\xe8\xf8\xb0\x34\xdb\xd8\x80\xe4\xe3\x83\x05\xe2\xf5\xc6\x1b\x7d\x90\xcb\xf4\xab\xea\xe4\xae\xdb\x54\xc7\x4a\xd5\xb9\x7c\xa4\x43\x9f\xd0\xfd\xde\xb4\x75\xaa\x96\x30\x50\xdd\xa0\xb8\x9e\x03\xda\x9c\x4e\x79\x12\x8f\xb9\xde\xed\x98\x5c\xb9\x9f\xf6\x35\xf0\xca\x7a\x3a\x5c\x4d\x76\x9a\x19\xb1\xc2\x87\x11\xfc\x5a\x1a\xfb\xbe\xb7\x36\x04\x08\xb5\x8b\x10\x3a\x6b\xbc\x20\x4d\x04\xd8\x15\xee\x38\xee\x78\x56\x57\xfb\x72\xd4\x44\x37\x89\x51\xf6\x8c\xa5\xe7\x52\xe9\x9f\xe4\x23\xd8\x2d\x70\xe7\x3a\x8a\x8b\x31\xc4\xd6\x76\xea\x10\xe3\x6b\xc6\xd3\x4f\x62\x25\xf9\x62\xd0\x8c\xd6\xc7\xdd\xee\xe2\x63\x86\xfc\x39\x76\x54\x59\x28\xef\xf2\x87\xfe\x5c\x00\x69\x68\x98\xd6\x05\xc7\xc6\x45\xdc\x01\x17\xb0\x36\x98\xdd\x9a\x23\x40\xa8\xa3\x60\xb0\x59\x2e\x6c\xf0\x68\x27\x0a\x97\xdc\x9f\x5a\xe9\x32\x88\x8d\xb8\x5e\x57\xd9\x4d\x2c\x81\x81\x63\xa4\x82\x48\x06\xd9\x7b\x91\xda\x66\x4a\x02\x36\x05\x53\x95\xe6\x92\x0a\xb7\x02\xd4\x2e\xbc\x52\xc9\x77\x9b\x90\x57\x0b\xb3\x27\x84\x56\xe9\x03\xc5\xd1\x02\x9d\x04\x90\xae\x33\x0d\x3c\x33\x0f\x04\xf3\x1c\x86\x00\x2f\x1d\xef\x00\x07\xaf\xa9\x30\xe7\x62\x9d\xe8\x42\x84\x29\x82\xe1\xef\x9f\x4c\x30\xb3\xf2\x82\xee\x1b\xfa\x4e\xc1\xcc\x7d\xa6\xb0\xd9\xb5\x23\xda\xb3\xcb\x44\x7c\xe1\x7e\xd7\xbf\x18\x6a\x59\xdc\xfe\x90\xa8\xdc\x02\xb8\x06\xf0\x09\xa0\x91\xef\x49\x3b\x85\x03\x37\x49\xc4\xc4\xc3\x3d\xaa\xcd\x4c\xd1\xba\xe4\x39\x97\x85\x10\x7a\x2e\x29\xfa\x88\xbc\x65\x21\x35\x47\x0d\x0d\xe7\x0c\xdc\x48\xe9\x02\x69\x80\xe0\x27\x2b\x9e\xa4\x65\xde\xf9\xe6\xc4\x55\x79\x10\xf7\x40\xdf\x28\x9d\x41\xb1\xac\x6d\xd2\x5c\x16\x6b\xb0\x8b\x1c\x75\x46\x3d\x76\x58\x4d\xf2\xec\xe8\x82\x3d\x72\x87\xcf\xb7\x73\x38\x76\x24\xb6\xfe\xa8\x17\x99\x1a\x71\xe2\xfd\xfc\xa3\xfe\xa0\x3a\x52\x82\xf5\xa7\x86\x63\xac\x27\x86\xfe\xa9\x4b\xf3\x81\xeb\x7b\x08\x3f\xed\x7b\x8f\x0f\xa2\x64\xdc\x1b\xa4\xea\x3c\xbb\x60\xd5\x6e\xb8\x8c\x53\xf3\x4e\xe5\x45\xed\x06\xf2\x60\x5f\x63\x17\x17\xf6\x70\xec\xce\xec\x82\x44\x89\x45\xd4\xc8\xb2\xdb\x37\x4e\xb5\xf4\xbc\x5e\x40\x5d\xad\x96\x6a\xd2\x5c\x5b\xb2\x86\xbf\xd9\x49\x69\xd5\x6d\xd8\xee\x25\xb8\x4a\xd6\xdf\xc0\x23\xeb\x7d\xf3\xa4\x8c\x68\x2b\xd2\xfd\xe5\x90\xdf\x47\x6e\x46\x48\xb2\x31\x87\x59\x48\x4e\x3c\x97\x24\xc4\x8c\x91\x57\x08\xb9\x21\x17\x95\x66\xdf\xbb\xcc\xcb\xef\xff\xd9\x32\x11\xed\xd8\x0a\xc6\x1a\xe8\xbe\x54\x14\x95\x39\x84\x45\xc9\x75\xc3\x04\xde\x4d\x7a\x14\xc9\x06\xdc\xc8\x0e\xcc\x82\xe6\x53\x9b\xf5\xe0\x7c\x75\x95\x4e\xdd\x82\x8b\x06\x25\xa5\xdd\x5d\x48\x4a\x41\xb9\x2e\x98\x2e\x44\xd6\x7a\x2a\x55\x8c\xae\xaa\x6a\xfa\x11\x66\x97\xd7\x6c\x1f\x68\xeb\x8e\x38\xa3\x67\xc1\x73\xfa\x4f\x37\x57\x97\x2c\xe3\x3b\xc0\x85\x15\x8a\xe4\xee\x81\x8c\xb1\xbe\x7f\xf7\xcd\x40\xb5\xf3\xd5\xcd\x86\x63\x6a\x01\xa6\xed\xbe\x5b\xaa\xb1\x69\x43\xc1\x9a\xa1\x25\x69\xb6\x72\xae\xd2\x93\x2c\xe5\x32\x80\xfe\xea\x29\xab\x55\x1f\xc6\x7a\x5d\xd4\x87\xd0\x34\xd0\x00\x70\xa7\xd0\x5a\xc8\xcb\x56\x70\x68\x55\x08\xfe\xa8\xf0\x6e\xe7\x19\xd1\x0b\x7a\x7b\x8f\xd2\x06\x3c\x32\xdb\x04\x99\x05\x6c\xc8\xda\xa1\x1e\xb8\x06\x40\xe2\x88\x89\xea\x57\xad\x9f\x4b\x2b\x4a\xac\x1e\x35\x8b\x91\x7b\xa1\x4c\xf4\x06\xfc\x93\x18\x10\x00\x70\x10\x9d\x2f\x88\x5c\xc8\xb9\xd4\x66\x42\xc1\xa7\x29\x1e\x04\x39\x36\x2a\xc1\xb8\x8b\x37\xef\x5c\x7c\x1f\x27\x89\x74\xe3\x3a\x86\x3e\x30\xcc\x8e\x79\xc0\xb4\xca\xa8\xef\x27\xf6\xaf\x4a\x62\x84\x0f\xfa\xb1\x1a\x1b\xed\x25\xee\x9b\x25\xc7\x3c\x53\xb7\x3a\x41\x50\x16\xa4\xa4\x2a\xa9\x63\xe1\xe8\xdd\xc9\x23\x8f\x9f\x56\xf2\xe7\xfd\xa2\x02\x83\x1f\x61\xc3\x32\x01\x47\x9c\x3d\x01\x09\x9c\xc3\xd6\x38\x7b\xd9\xec\x72\x10\xea\x01\xf6\x2a\xf4\xa4\x4d\xd9\x8d\x10\xec\x23\x8c\x94\xa9\xec\x23\x09\xc1\x01\x5c\xb0\xe0\x49\xab\x4e\x0f\x7c\xfb\x42\xae\xd4\x71\x87\x41\xbe\x6e\xc0\xd1\x8e\x1a\x95\xf6\x76\x1e\x0b\x78\x83\x54\x46\xf9\xbc\xf9\xf7\xad\xfd\xda\x03\x6f\xfb\xe0\xdf\xe4\x94\x95\x67\x5b\x6a\xee\x67\x98\xe2\x43\x18\x9e\x6a\x8b\xc4\xf4\x72\x82\xac\xc5\xf7\x52\x3d\x4a\xb4\x05\xa8\x26\xf6\x9d\xd9\x7f\x70\x81\xa1\x03\x15\xcd\x82\x12\x4f\xc3\x97\x40\xa3\x3c\x73\xff\x66\x37\x18\x2b\xc2\x36\x83\x38\x8a\x06\xe3\x87\x64\x4d\xe0\x34\xff\x6e\x36\x61\xaf\x27\xec\x6c\xc2\xa6\xd3\xe9\xcb\x09\xca\x4b\x53\x8b\xf0\x27\x88\x1c\x2b\xf8\xda\x94\x4d\x72\x11\xab\xa0\x02\x50\x69\x32\x97\x95\x65\x0b\xe3\xfe\x5b\x81\xe7\xc1\x76\x01\x73\x18\x29\xe1\x82\xe2\xea\xd1\x46\x25\xbe\x51\x00\xd1\x14\x91\xca\x2d\xc8\x53\x17\x2a\xb7\x80\xb5\x07\x9e\xf3\x44\x42\x6a\x37\x6f\xc2\x75\xa9\xe6\x80\xdc\x59\x7c\xe6\x5b\xe8\x7f\x22\x1d\xbf\xa5\x19\xa6\x5b\xd7\xfe\x62\x97\x91\x43\xfa\x31\x4f\x8a\xc2\xdc\xce\x7a\x2e\x6f\xd8\xab\x7f\x63\xb3\x2c\x4b\x05\x9b\xb1\xbf\xb2\xd7\x5c\x72\xc9\xd9\x6b\xf6\x57\x76\xc6\x65\xc1\x53\x55\x66\x82\x9d\xb1\xbf\x9a\x61\x33\xe5\x5d\x2a\x73\x1d\xee\x26\x8c\x33\x59\xa6\x78\xeb\x7f\x67\xc1\x60\x2f\x5d\xbf\xb8\x9f\x9d\xa5\x28\x1e\x85\x90\x4c\xab\x2d\x5d\x85\x7f\x71\x31\x09\x9d\xc8\x75\x2a\x0a\x5a\x0f\x55\xd8\x1e\x56\x70\x02\x3d\x7d\x35\x97\xce\x97\xf7\x17\xd3\xe2\xbf\xb0\xbf\xb2\xcb\x32\x4d\x4d\x93\xcc\x41\x63\x16\xd2\x2b\x66\xd3\x28\x84\x9c\x3e\x26\xf7\x49\x26\xe2\x84\x43\x22\x85\xf9\xd7\xe9\x2d\xcc\xf6\xa2\xf4\x9c\x79\xe1\x9e\x76\x82\x33\xc7\x1c\x3d\xcf\x92\x94\xed\xe4\x90\xec\xe4\xf7\xbc\xfc\xaa\x3f\x1d\x6f\x11\x79\xa6\x50\xda\x0f\x64\xb0\xa2\x58\x50\x28\xbb\x74\xd0\x11\x50\xbb\x6c\x6d\x59\x2d\x57\x41\x78\xa9\x1f\x7b\xc8\x82\xd0\xd9\x93\xbf\x21\x07\x68\x17\x0d\x3d\x72\x1b\xca\x2b\x95\x34\x77\xb0\x25\x3d\xd5\xcf\xa0\xa8\x90\x53\x5c\xf9\xa5\xaa\xf4\x56\x19\x62\x95\x0c\x92\xc4\xab\x35\xf6\x8e\x7c\x17\x98\xa0\x66\xb6\x69\x92\x9e\x9a\xad\x7a\x7a\xa9\xa4\x79\xb6\xea\x64\x8d\xf4\x44\x00\x23\x42\x2d\x39\x6b\x14\xdc\x56\x4d\xd6\x60\x0b\x80\x7d\x60\x9a\x84\xd0\xb6\xc2\x9c\x02\x66\x0a\xd2\xdd\x5c\x9a\x5f\xd0\x8d\x04\x30\xf7\xc4\xb1\xd8\x62\x6d\x56\x7c\x9f\xea\xa2\x03\x39\x28\xbc\x65\x81\xf5\xe5\xd0\x1e\xb1\xe0\x28\x65\xeb\x08\xaf\xf8\x65\xc0\xe0\x46\xa5\x59\x7a\x0f\x8c\x7b\x2e\x45\xaa\xe4\xda\xac\x8a\xae\x43\x40\x6d\x79\x72\x0c\xb0\x24\x6c\x02\x16\xd6\xd9\x02\x73\x59\xd2\x57\x68\x4a\xcc\x3d\x99\xc4\xfe\x7d\xaf\xcb\xa5\xb1\x23\x9c\x47\xd6\xdd\x86\xd4\xb9\xae\x84\xe2\xe3\xe2\xcb\x77\x5a\xe4\x40\xb3\x8c\x08\x07\xe7\xed\xc7\x8b\xd3\x93\x6d\x60\x8f\x86\x6d\xaa\x5e\x60\x6c\xbb\x2b\x84\xa2\x09\x8d\xd4\xea\x01\xeb\xf1\x6b\x62\x64\x87\x20\x67\xdf\xce\x2e\xde\xd5\xbe\xd7\x44\xce\xb6\xc0\x6b\x6f\x2f\xde\x9f\xbf\x59\x5c\xdd\xdd\x36\xbe\x67\x4a\xa3\x3f\xed\x01\xcf\x76\x8e\xde\x53\xc0\x07\x3f\xa1\xdc\xcb\x42\xad\x6c\x26\xe5\xf0\x3b\xbd\x21\xb8\x33\x0c\xa5\x12\x92\x6c\x87\xc2\x34\xcd\x85\xd3\x99\x0f\x2e\x17\x14\x91\x18\xd6\xd8\xfa\x80\x5d\xc9\xb7\xf8\xf3\x0f\x2a\x4d\xa2\x7e\xd0\x9b\xbd\xae\x36\xea\xb1\x05\x45\xb4\x14\x80\x02\x25\xff\x0f\x35\x0a\x2d\xf4\x42\x44\x85\x8f\xb8\x35\x3b\xf7\xbf\x1a\x68\xb3\xff\x0d\x8e\x1e\x65\x37\x6c\x20\xc0\xe9\x62\x78\x70\xb7\x02\xc1\x26\xf0\xca\xa3\xaf\x15\x72\xe9\x20\xb6\x1d\x71\x72\x41\x57\x46\x1e\x0e\xe8\xc7\x8d\x4a\xcd\x5b\x4c\xc6\x44\x56\x3a\x97\x99\xc8\x23\x05\x00\x15\xcc\x83\x57\x2c\xda\x24\x69\xec\xc5\x5b\xbe\x03\x44\x2f\xe0\xee\x5e\x92\x2c\x9f\x70\x31\x66\x5b\x7c\xcf\xad\x6b\x97\x9d\x15\x55\x3f\xce\x03\xf5\x74\x10\xbd\xbe\x65\xff\x2b\x41\xc9\x70\x28\x88\x5e\xa8\x16\x2d\x34\x83\x5e\x69\xcf\x28\x0f\x2f\xc8\x9e\xaf\xac\xf8\xa7\x7d\x38\x15\xb5\x79\xa5\x65\x56\x1f\x4a\x20\x9d\x45\x14\x15\x02\x48\xb4\x80\xe6\x6c\x05\x47\x5b\xcc\x53\x40\xd2\xa4\xce\xa5\x8f\x8f\xbe\xd0\xa1\x5d\xd6\x3a\xcf\xc8\xa9\x6a\x41\x80\x13\xf6\xa2\xd2\xd1\x17\x40\x4a\x2a\x15\xd4\x47\x31\xac\xca\xd0\xc0\x72\x9d\xb0\xa4\x98\xcb\x44\xe3\xca\xcc\x45\x2a\x1e\x4c\xeb\x42\x67\x31\x61\x5d\xec\xdb\xd9\x76\x1b\x70\xe4\xdc\xa6\x1f\x3b\x2d\x7e\xd8\x84\x79\x48\x6e\xc9\xc1\x31\x1d\x0b\x6d\xec\x46\x90\xe5\x10\x9f\xcd\x06\x48\x20\x16\x82\xf0\x8f\x58\x48\xdb\x3e\x40\x85\xa0\x96\xed\x5c\x5e\xac\x20\x07\x14\x32\x4f\xe3\x18\x5f\xa1\x56\xa8\xc1\x31\x8d\x25\xe4\x1c\x56\xf4\x26\xb7\x13\x41\xaa\x92\xb8\x93\xc4\x83\xc8\x77\x05\x38\x75\x61\x5c\xa5\xe0\xc5\x86\x25\xc5\x04\x28\xe2\xec\x49\x39\x97\x3c\x26\x39\x75\x2a\xce\x0c\x0d\xac\xfb\x9e\x79\xa6\xcf\x97\xea\xa1\xcf\xb0\x3d\x16\xf5\x85\xbb\x3a\x4b\xb9\x5c\xe0\x0d\xf2\x15\x70\x5f\x81\xe0\x67\x57\xa8\xb3\x5c\x2e\x1c\xad\xcd\x93\xb4\x33\x10\xae\x0e\x65\x78\x8d\x1d\x6b\x2b\x9a\xe0\x62\xf0\xb4\xd6\xf6\x79\xe2\xfc\x34\x84\x2e\xc8\x99\x8d\xc0\x0e\x3f\x05\x3c\x24\x8c\xd7\x90\x08\x76\xb5\xee\xc3\x84\xd9\x15\xf0\xad\xe2\x93\x86\xcc\x7c\xed\x0e\xa9\x4f\xfb\x78\x68\x4c\xc3\x42\x3c\x08\x1e\xb3\xa7\x59\xcf\x0b\x91\xe9\xf4\xa3\x34\xa1\x32\xb6\xb7\x41\xb8\x0f\x93\x27\x04\xfa\xe1\x9c\x9b\xa7\x5d\xd0\x35\x7c\x87\xa9\x16\x6c\xe5\x53\xfa\xa8\xe1\x9c\x1a\xea\x29\xf1\xb9\xd7\xd0\xae\x29\xbb\x90\xcc\x9a\x7b\x13\xf6\x02\x17\x96\x7e\x41\x2e\x48\x52\x05\xa6\xd8\x79\x4c\xbb\x87\xb2\x55\xeb\x50\x0c\xcc\x19\xf0\xdb\x0d\x23\x41\xbd\xd4\x86\xcf\x3a\x2e\xaf\x13\xc8\x59\x38\x24\x2d\x1d\xa3\x88\x4b\x2c\x80\x2e\x49\x7c\x76\xef\xd0\x68\x57\xde\x9b\xed\x3b\x6c\xe3\x5d\xec\xb5\xfd\xa1\x19\xa2\xac\xa4\xfb\xd4\x7e\xce\x54\x3e\x97\xb6\x34\x72\x49\x6a\xd4\x52\xaa\x17\x15\x40\xa8\xc9\xe6\x0f\x56\x2a\x80\x18\xac\x7c\x16\xa8\xb2\x79\xfe\xd5\xfa\x29\x00\xa0\x88\xa5\xf0\x7a\xe6\x53\x36\xf3\xb5\x19\xc3\xc3\x2c\xf0\x2d\x5e\xf3\x75\x8e\xc6\x34\x35\x83\x92\x14\x96\x12\x32\x48\x6f\xd0\x25\x10\x9b\xae\x4a\x73\x18\x05\xec\xaf\x73\x69\x06\x8f\xad\x12\xc0\xfd\xd2\xb8\xcc\xe5\x7b\xa5\x6d\x36\xbd\xf6\xe3\x61\x31\xa4\x34\x6c\x2f\x9c\x8a\x18\xfd\xe1\x0d\x5c\xda\xe4\xf3\xaf\x49\xfc\x43\x5e\x0b\x51\x62\xec\x54\x99\xfb\x4e\x45\x5c\xce\xe5\x7f\x99\xe1\x41\x25\x6b\x27\x03\xaf\x56\xb8\x85\x61\x06\x21\x58\xf2\x11\x0b\xfd\xee\x9f\x5f\x7e\x7c\x89\x38\xf4\x52\x83\x70\xe3\xa4\x7a\x81\x38\x22\xf0\x32\x4d\x21\x12\x6d\x7b\xe0\xc8\x28\x7c\x15\xbc\x0f\x96\x43\x8f\xba\x85\xac\x9a\x18\x43\x36\x7a\xdf\x0a\xf6\xce\xe7\x19\x8b\x78\x11\x6d\x4e\xac\x2d\x47\xc7\x98\xbd\xfd\x68\xfa\x50\xc1\xcd\x58\x5a\xed\x5c\xd8\xe6\xc1\x99\x6f\x1d\x3b\x5f\x65\xbd\x98\x2e\x00\xb0\xe6\xb6\x2e\x0c\xe3\xc8\x43\x71\x71\x7a\x21\x76\x6f\xe7\xb9\xaf\x5b\x59\x36\xff\xe2\x24\x2f\xb9\xe4\x5b\x11\xb3\x17\x90\x31\xf5\xc2\x4e\xfe\x5c\x66\xcb\x69\xba\x5b\x15\x44\xf1\x64\x06\x65\x0a\x02\x46\x7b\x6e\xb9\x45\xdc\x7c\x26\xed\x19\xec\xce\x87\x56\xbb\xad\xe3\xc6\xc6\xd5\x34\xdc\x60\x41\x1f\x97\x1b\x9d\x9b\x2a\x44\xa8\xca\xa4\xce\xf5\xfd\x84\x2d\x73\x2e\x41\x7b\x22\x0e\x8d\x2a\xbf\x3b\xe1\xf1\x8c\xfc\x49\x36\x85\x42\xf2\x74\x07\xd8\xf1\xc9\x5c\x22\xd9\x14\xb0\x12\xef\xa2\x34\x89\xd8\x3a\xe7\xd9\xa6\x66\x07\x89\x07\x21\x0b\x90\x30\xbd\x16\x5c\x1f\x17\xad\xcf\xeb\x25\xb0\xc1\xf1\x94\x99\x84\xd7\x07\x97\x35\x7a\x50\x68\x5e\xc7\xd5\x02\x70\x2d\x11\x2f\xc6\x51\x83\xec\x25\xb0\xac\xd0\xa2\x11\x47\x0f\x44\x20\x4d\xe7\x98\xad\x75\x5f\xf8\x1b\xc7\x95\x58\x2b\x2c\xf8\xff\xd8\x90\xbd\x63\xc1\x38\x8a\xcb\xf0\xa2\x6a\x45\x72\x4f\xef\xe1\x3d\xd7\x98\x00\x44\x9e\x0a\x0b\x16\x76\x07\xc7\x84\x24\xe6\x80\xe7\x8c\xfd\xb9\x5c\xaa\xd4\x12\xc5\x5d\xbc\x61\x2a\x07\x8d\x86\x42\xd1\x9f\x92\xb8\xcb\x3a\x48\x64\x2c\x3e\x1f\xc5\xd6\xd0\x7f\xd1\x5b\xb3\xd9\x54\x13\x48\x01\xd4\x3b\x0b\xa7\x53\x2e\xcc\x25\x5c\xd8\x97\x71\xe3\x5b\xba\x8e\x5c\x9c\xa5\xc5\x06\xe0\x84\x08\x64\xf7\x83\xba\xe5\x3b\x16\x6d\xb8\x5c\x07\xae\x09\x40\x77\x89\x4c\xe5\xa8\x65\xf8\x00\xb4\x68\x2a\xb7\xd9\xb0\x94\xe3\x49\x68\x7a\x17\x48\x40\x10\xab\xb2\x89\x9c\x7c\xbd\xce\xc5\x1a\x08\x0a\xe6\xb2\x92\xa5\x0e\x94\x70\x56\x46\x01\xeb\xe9\x4b\xf2\x7d\x1a\xa6\x8c\xae\xd7\x60\x91\xef\x5c\x8a\x24\x09\x81\xfa\xfd\x5c\x1f\xd6\x09\x4b\xc4\x74\xc2\x7e\xf0\xc0\x5d\x11\x29\xe9\x72\x2c\x3b\x12\xec\x6a\x2e\x7f\xb6\xe7\xe9\xd0\xa4\xd4\x68\x6f\x3b\x7c\xd6\x90\x13\x6d\x5d\x34\xbd\x49\xaa\x05\x2f\xca\x11\x77\x10\x49\x46\x9f\x99\x1f\xdf\xe0\x6f\x7b\xb1\xed\x3c\x33\xd7\x86\xa5\x33\x32\xdf\x37\x37\xa7\xa9\xdb\xd3\x1d\xb7\x8d\xf5\x5e\x07\x72\xaa\xba\x1d\xc8\x4f\x61\xaa\x5b\xce\x8a\xfd\x3e\xe4\xb4\x83\x87\xa1\xa7\x4f\x63\x5d\xc4\x16\xe4\x4b\xf0\x7d\x5d\x7f\xc6\xb6\x9c\x00\x59\xae\xe2\x32\x12\xb1\xd9\xb9\xf0\x1e\x42\x44\x8c\xa3\x83\xa8\x1c\x92\x6d\x17\x6d\x85\xd3\x06\x6e\xdd\x2f\xe5\x73\x18\x44\x23\xec\x86\xff\xae\xc3\xdf\x60\x2d\xbe\xb6\x41\x0f\xf7\x27\x8e\x53\x3e\xf2\x9e\x72\xd5\x57\xc9\x7f\x55\x9e\xac\x13\xc9\x0b\x95\xb3\xef\x5c\xd2\xe7\x4b\xa7\x18\xd4\x6d\x21\x8c\x3c\x26\x2a\x43\x84\xc7\xc4\x17\x35\x3c\xda\x16\xa9\xf9\x96\x2e\xf8\x36\x0b\xe9\x34\x9d\x1e\x33\x8d\x4c\x8a\x83\xe0\x6c\x13\xf0\x9d\x26\xda\xe7\xb6\xcd\x25\x45\x1c\x70\xde\x54\x1e\xf2\x41\x77\xde\xcd\x59\x59\x2c\x0e\xa4\x88\x09\xc8\x10\xb0\x9c\x71\x3e\x28\x42\x24\xbc\xe7\x59\xd7\x25\xc3\xc9\xef\x80\x19\x3e\x4e\xa9\xda\x9a\x2b\xd5\x45\x3a\x9d\xcb\x37\xae\x41\xaf\x58\x96\x0a\x73\xcc\x97\x5a\x30\xdf\x38\x9b\xa2\xdc\x37\x18\xe3\x3a\x01\x44\xac\x6f\xf6\x72\x88\x8c\xeb\x49\x9f\x97\x65\xc0\x64\xf5\x22\x01\xae\xdf\xd9\xb8\x97\x7f\xde\x56\xde\x8b\xb0\xae\x90\x4c\x51\x83\x91\x84\x9e\x0a\x77\x4a\x1b\xa3\xc4\x12\x8f\x9c\xa5\xaa\x8c\x19\x9d\xd1\x84\x2a\xc8\xa7\x78\xd9\x03\xbb\xe9\x74\xda\x45\xf5\x36\x52\xd8\xd6\x1d\xa7\xf0\xbb\xf6\xf5\x02\x9f\x75\x5c\x28\xbd\x27\x59\xb0\x90\x69\x90\x9f\x61\x25\xd3\x70\xc3\x02\x70\x57\x8c\x5d\x00\x2d\xd1\xdf\xce\xe5\x1c\x34\xb1\x7f\x3d\x1f\xd4\x17\x4f\x55\xbc\x77\x45\x8f\xed\xd1\x1e\xce\x7f\x60\x91\x1b\xe7\xca\x06\xcf\x41\x12\xa7\x70\x32\x86\xa1\x9e\x16\x9e\xdb\x4a\x08\x5d\xdf\x1f\x5d\x9d\xcd\x35\xef\xaf\x2a\xe3\xb9\x90\xc5\x02\x6a\x1c\x57\x19\x54\xf2\x01\x7e\x5e\x31\x6d\x07\xb9\xec\xff\xe3\x56\x61\x24\xc6\xae\xa0\xff\x64\x37\xe4\x7d\x34\x37\x4b\x02\x70\x5f\x7d\xcf\xbe\x4b\x00\x1d\x16\x44\xad\xdd\x79\xd4\x31\x5d\xd4\xa1\x03\x46\x2f\xe8\x50\xe5\x12\x1e\xd4\x21\xdf\x7a\x00\x15\x40\x29\xe4\x88\xa5\x1c\x67\x73\x29\xda\xbf\x05\x34\xf2\x97\x95\x7f\x03\xe5\xa7\x99\xbf\x94\xfd\xb7\xc8\x95\x4f\xdc\x41\xb7\x62\x58\x70\xef\xcb\xea\x70\x05\x5c\x7c\x39\xa1\xf6\x6a\x28\x3e\x08\x7f\x21\x56\x1e\xf4\xfd\x2c\x77\xf6\xe1\xd8\x11\xec\xcb\x44\xb4\xe8\x50\x9a\x18\xd4\x94\xc0\x45\x10\x2a\x47\x24\x35\xb3\xc3\x6e\xd0\x53\xf0\x2c\x11\xef\xe5\x96\x67\x84\xc4\x24\xd0\x77\x3d\xcc\x36\x85\x4e\xfc\xc7\x5f\xfe\x73\xda\xa5\x6d\x0e\x4d\x1f\x0b\x6c\x73\x8d\x7f\x9b\x27\x42\xc6\x10\x36\xe7\x71\x53\x04\x49\x56\xe2\x28\x95\x9b\xc7\x2c\xc3\x27\xc9\x6f\x6d\x37\x22\xf4\x02\x17\xd1\x17\xc0\x5e\x78\xdb\xc1\x6d\xdf\x4a\x64\xb6\xcb\xe8\xd3\x8b\x78\x27\xf9\xb6\xa9\x06\xff\xac\x6d\xdc\x25\x22\x8d\xa1\x89\x54\xfb\xbe\xf8\x61\x2c\xa2\xfb\xb1\xe6\xce\xc1\x14\xee\x22\xba\x67\x3f\xdd\xbe\x7f\x87\x8a\x9d\x89\x9e\xcb\x4b\x5e\x24\x0f\xe2\x2e\x4f\x5d\xe0\x86\x38\x79\xf2\xd4\xee\x91\x2a\xa5\x70\x40\x5f\x63\xf9\x87\xad\x4d\x14\x32\xbe\x6f\x77\x27\xcb\x32\xba\x17\xc5\x69\xce\x65\xac\xb6\xd8\x8d\x53\x5d\xae\x56\xc9\xe7\x69\xc1\xf3\x0e\xfa\x77\xf4\xf8\x7c\xc5\x17\x89\x17\xf5\x29\xfc\xeb\x04\x1f\x25\x8f\x90\x9f\x4b\x52\xd1\x95\x67\x08\x38\x2b\x72\xbe\x15\xc0\xdf\xc7\xaa\xd2\x09\x50\x0a\xa6\xbc\x82\xc2\xa0\xd6\x94\xeb\xa0\x48\xbf\xf8\x63\xf0\x0c\xfb\x18\xb4\xaa\xaa\xa1\x6d\x1b\xe5\x55\xfb\xb6\xfc\x1e\x5f\xf2\xeb\x5c\x68\x3d\x61\x5a\x41\x8b\xe7\xd2\x66\x0d\xd8\xcc\x36\x40\x28\x01\x03\x68\xba\x63\x91\xca\x12\x10\x39\x74\xfd\xda\xa8\x47\x88\xa8\x84\x09\x9e\xa0\x4b\x5b\xca\x22\x49\x19\x5f\x15\x14\x6e\x01\xba\x73\x2b\x6f\xa4\xa7\x73\x09\x41\xf3\x08\xba\x0f\x60\x16\x17\x28\x73\x9d\xd0\x6c\xc5\xa3\x24\x4d\x0a\x22\x61\x82\x74\x30\x6e\xfa\x6b\xee\x03\x33\x96\x39\xdf\xf1\xd4\x3f\x81\x79\x5a\xfa\x9c\xd6\x13\x2d\x7a\x48\xfe\x12\xbd\x40\x57\xce\x97\x60\x15\x4b\xc2\x30\x11\x12\x22\xcf\x4c\xe5\x97\xb5\x5b\xf4\x77\xe1\xff\x56\x3c\x26\x7d\x56\xc1\x11\xae\x93\x63\x2e\xc7\xa6\x73\xc4\x69\x02\x7b\x3b\x23\x89\x2d\x92\xbb\xf2\xca\xf0\xdc\xd0\xee\x7a\x84\xe8\x56\x87\x7b\x66\x6a\x95\x9c\x9a\x35\x8c\x18\xbd\x76\x23\xf1\x0b\x39\x9e\xba\x58\xaa\x87\x34\xdf\xc6\x4d\x3e\x28\x95\x1e\x1b\x3b\xe1\xa9\x3d\xf0\x17\x20\x6e\x7a\xcc\x4b\x19\x17\x80\x73\x41\x5e\xbc\x71\xe8\x08\x47\xfb\x5c\x95\x44\x22\xe0\x1e\x35\x01\x0e\x32\x68\x44\x0f\xa6\x5f\x67\x2d\xf0\x98\x91\xb9\x09\x50\x06\xe2\xea\xac\x69\xdf\x0c\xe6\x04\x6c\x13\xdc\xb7\x11\xa8\x31\x6b\x2d\xfc\x5d\xad\xa5\xbd\x6e\x55\x94\x22\xad\x55\xe5\x5c\xac\x21\x85\xae\x1b\xc7\xa0\x6e\x3b\x9e\x28\x80\x6e\xee\x4f\xb2\xe2\xe7\x32\xb0\xd8\x91\xf7\xca\x26\x7f\xb8\x51\x6b\xf3\xbc\x56\x96\xe1\xd1\x9e\xd7\x63\x78\xd2\x7b\x4f\xce\x37\xa1\xe2\x19\xa0\x76\x22\xb5\x5d\x26\xd2\x92\x09\x50\x38\x02\x9e\x1a\x33\x4b\x43\xe9\x42\x47\xf6\xc9\x80\x3a\x18\xb5\xb1\x77\x66\x4e\xc8\xe8\x19\x1e\x59\xfb\x9e\xe3\xe1\xfb\xee\x69\x29\xdd\x3b\x62\xc2\xf5\x1e\x98\x0b\x24\x7d\xe4\x3b\x0d\xaa\xc0\xc2\x9c\x8a\x2b\x74\xc1\x57\xdb\x3f\x09\xcc\x0f\x4b\x71\x4a\x12\xfb\x25\x89\x85\x53\x5f\x12\x64\x58\x11\xa9\xd5\x3f\xf6\xcc\x55\x2f\x74\xfb\xe0\x7c\x9d\xa8\x5a\xde\x1b\x55\x43\xb8\xc0\xdf\x47\x20\xad\xc7\x5d\x7f\x64\xd4\x20\xb8\x26\xd1\x62\x24\x40\x17\xa4\xd8\x39\x30\xc1\x84\x6d\x79\x22\x69\x1b\xa0\xc6\x5c\x2c\x96\xe5\x7a\xdd\xe9\xcc\xfe\xf6\xa3\x62\xd5\x7d\xf2\x0f\x1f\xb5\xe8\xe5\x5e\x7b\x0a\x47\xf8\x85\xad\x09\x3d\xf3\xe6\xdd\xf7\x65\x7c\xdf\xbf\xc5\x4d\xfe\x1e\xe3\x26\x17\x43\xe2\x26\x16\x54\x08\xb9\x9d\xe4\x1d\xb0\xc0\xaf\xdf\x02\x2a\xbf\x05\x54\xfa\x97\xfa\xd3\x04\x54\x90\x2a\x69\x91\x54\x9f\x52\x3d\xad\x3c\x90\x71\xd1\x51\xf3\xc2\xc5\x84\xf4\x6d\xe6\x1e\x8e\x35\x5b\xf2\xe8\x19\x28\x18\xc1\x8e\x39\xde\x73\xbb\x07\x50\x76\xa3\xb6\x82\x41\x55\x1a\x75\x64\x18\x65\x06\x4f\x00\x01\x6e\x3a\xe8\x51\x58\x84\xf1\x02\xc3\x07\xd1\x60\xb1\x7f\xfe\x7c\x27\xc5\x23\x33\x76\xc5\x24\x84\xc4\x06\xd3\x03\x02\x63\x2f\x8d\x1d\x5f\xc9\x9f\x71\x34\x28\xb9\x58\xf3\x3c\x86\xac\x2d\x3a\x6d\x52\x1e\xdd\x9b\xff\x86\xf6\x51\x8d\x04\xdb\xb5\x5a\x07\x08\x25\xf7\xa5\x25\x32\xca\x81\xe0\x8e\x10\xc2\xbe\x7d\xf8\x73\xcd\x78\x94\x2b\x8d\xee\x3d\xa7\xcb\x0b\xac\x01\xf0\xd4\x78\x48\xe2\x92\xa7\x58\x63\x67\x4c\x64\x2c\x24\xb4\x0e\xe2\x0b\x24\xb4\x9a\x08\x51\x9a\x0e\xe4\xfd\x4a\x5a\xf6\xf2\x9d\x16\x84\xdc\xd4\x76\x03\xf7\xb6\xf4\xd9\x0c\xbd\x06\xce\xb6\xd3\xda\xeb\x19\x00\x9b\xb8\x10\x0c\x84\xee\x1e\x89\x3d\x44\x9e\xc7\x4c\xca\x68\x42\xe2\x8b\x40\xc7\xdb\x0f\x0b\xbe\xe8\x72\xc1\xe3\x5d\x48\x77\x98\x48\x06\xf1\x54\xc6\xe3\x6d\x22\xcd\x26\xb0\x5a\x91\xee\x12\xb5\xb4\xf1\x08\xe3\x07\x49\xa5\x34\xad\xd9\xc1\x9a\x49\x61\x9e\x01\x3c\x4f\xd2\x1d\x1c\xe7\x59\x2e\x4e\x82\x7a\x82\xf9\xa1\x2c\x42\x20\xc0\x27\x6a\x9e\x52\x8b\x55\x99\xe2\xfb\x10\x3c\x28\xae\x03\x74\x22\xdd\x5d\x4c\x8c\x69\x58\x90\x90\x49\x50\x31\xca\x03\x3e\x45\x46\x56\x23\xae\x3c\x2e\x36\xea\xe9\x38\x73\x48\x1c\xd9\xa8\x47\x9b\x3e\xfa\xc8\x7d\x7e\x40\x97\xe1\xf0\x64\xf1\xb0\xfe\x17\x83\x7d\xab\xdb\x73\x0a\x07\x3f\xae\x04\x41\xe9\x33\x11\xbb\xb3\x29\x91\xd0\x1d\x52\xd8\xf5\x31\x86\x52\x63\x16\xaa\x99\x4b\xb8\xbf\xac\x4b\xaa\x1a\x62\x60\xae\x77\x89\x56\x92\xcd\xcb\xdf\xff\xfe\x0f\x82\xfd\x1e\xd2\x72\xe9\xe5\x88\x91\x4c\x20\xe4\xc4\xd2\xe1\xc8\x76\x15\x08\x64\xeb\x6c\xcc\x08\x6b\x83\x7d\x5b\x0e\x0c\x00\x4e\xf3\x68\xc3\x74\xb9\x44\x54\x30\xa7\x60\x18\x97\x8e\xef\xfa\x9d\x02\x80\x2f\xde\xee\xb6\xf5\xff\x4b\x42\x3f\xa8\x39\x31\x97\x99\x42\x4a\x76\x80\x53\x2f\x05\xdb\xf2\xfc\x1e\x24\x44\x31\x90\x02\x14\xf4\xdf\x25\x62\x5a\x0d\x04\xbd\xac\xb4\x87\x42\x6f\x48\xb5\xcc\xf2\x52\x4a\xab\x89\xc4\x8c\xcd\xed\xa3\x32\x93\xb9\x5c\x96\xa1\x97\xa0\x12\xd6\xf1\x4b\x0b\x42\x3b\x70\xd8\x2a\xe0\xdf\xa1\x46\x71\xed\xdb\x35\x65\x03\xe2\x3b\x73\xf9\xc4\x01\x9e\x7d\xae\xd9\x0f\x64\x83\x59\xb7\x6b\x90\x03\x04\xdd\x0d\x65\x7b\x61\x3a\x70\xd9\x83\x91\xf3\x01\xb4\x7b\x27\xec\xa7\xe4\x41\x4c\xd8\x4d\xc6\xf3\xfb\x09\x7b\x83\x81\xda\x3f\xa9\x65\x9b\xb7\xb5\x41\xd2\x72\xb4\xc7\xf5\x30\x87\x63\x1f\x79\x51\xfb\xf3\xe1\xd7\x86\x2d\xcd\xba\x50\x0a\x7f\x9f\x28\xd7\x0e\xfe\x9c\x7f\x74\x9f\xd1\x1e\x40\xc1\x6f\x08\xca\xdf\x1e\xfc\xff\x28\x0f\xfe\xdf\x85\xff\x6b\x8f\x65\x6b\x48\x82\x49\x4d\x87\x77\x2b\x2c\xf2\xdb\xe2\x40\x48\xe2\xba\xad\xd1\xa4\x42\x18\xb6\xc3\x89\x69\x22\x76\x2c\x18\x23\xf2\x73\xe8\xa7\x76\xbc\xce\x52\xa5\xcb\xbc\xff\x4c\xbb\xae\xb6\xda\xd6\xde\xc2\x0a\x0c\x7b\x68\xbb\x14\x40\x70\x32\x14\xff\x84\x5f\x5b\xfc\x97\x5a\x2e\x00\xec\x77\xdc\xc1\xd5\x56\x9c\xd5\x19\x73\x21\x59\x6a\xaa\xbf\xf8\x6f\x32\x01\xe4\x74\xde\xc2\xf6\x11\xa9\xda\x0a\x73\x1e\x9f\xb9\xb4\x5c\xfd\x98\x5c\x9f\xe7\x02\x48\xc5\x73\x01\xf2\x79\x2c\xe3\xb9\x43\xdc\x58\x43\x2f\x78\xd0\x79\x54\x56\x98\x10\x0b\x79\xed\xf4\x8c\x5c\x0a\x21\xdd\x68\x8f\xb1\x90\x8c\xd1\x53\x1f\x7d\x82\x5b\x3e\x0a\x16\x61\xce\x55\x87\xd4\x67\xe3\x77\xc1\x13\x17\x5e\x12\x6b\x51\x04\x97\x54\xcd\x62\xaa\x6c\xcd\x4a\x88\xf4\x9b\x4a\x0e\x6a\x05\x41\xd4\x78\xfc\x2a\x7e\xa1\x41\x2e\xf8\xa7\x08\xd8\x7c\xe0\xc5\x06\xdf\xe9\x5b\x55\x08\x3c\x33\x91\x50\x0c\xd7\x0b\xc6\x09\x96\xa9\x5a\x82\x6e\x9d\xf9\xa4\xeb\xc9\x1b\xd1\xd6\x1e\x34\x74\xcd\x09\x1b\x72\x32\x98\xd3\x04\x92\xf2\x73\xa1\x81\x9b\xa9\x19\x26\x1d\x1a\xbf\x18\xe7\x4b\x68\x36\xd7\x1c\xfa\xcd\xdb\xa8\x29\xe6\x61\xb6\x35\xa0\xa5\xcf\x0f\x48\xb6\x3b\x0f\x13\xdb\x8d\xcd\x43\xbc\xe6\x84\x43\x40\x6a\xe3\x5a\x7f\xad\x3c\xfa\x5c\xce\xf0\x93\xe0\x12\xe0\x5e\xb4\xca\x01\x92\x49\x09\xd7\xed\x3f\xcc\x74\x67\xb3\x10\x02\x4b\x8e\x8f\x89\x77\xd1\xc2\x1b\x67\x02\x09\xd0\xb2\x48\x72\xc1\x24\xc0\x60\xe6\x52\x97\xcb\x13\xcf\x61\x64\x1e\xa7\x0f\xc0\xbb\xa5\x45\xc6\xe1\x85\x06\xd4\x66\x27\xad\x86\xc5\x6d\x45\x7c\xc6\x72\x7d\xf2\x94\x0e\x7f\x48\xab\x46\x12\x0d\xd7\x77\x57\x8e\x79\x83\x82\x73\xc0\xe2\xe5\xf0\xb2\xeb\x3b\x2f\x40\x1e\x0b\x92\xb5\xaf\x11\xc6\xf3\xb5\x2f\xf0\x30\x1c\x3f\xf4\xea\x86\x80\xee\x5c\xfe\x5f\x7b\x37\x74\xa3\xda\x47\xac\x74\x33\x32\xe6\x8a\xea\x44\xdb\x57\xda\x66\x5f\xc6\x81\x6d\xdb\xdd\xa8\xc6\x92\x6f\x2b\x95\x5b\x60\x55\x28\x06\xa3\x28\xb3\x1e\x3e\x7d\x48\x74\xa0\x0c\x00\xb5\xdd\x08\xc1\x5e\xe5\x62\xf5\xea\x63\x2e\x56\x0b\x3b\xd3\x53\xe8\xd0\xd4\xf4\xa8\xa9\x0f\x30\x70\x71\xe8\x4c\xc9\x76\x9e\xd4\x3d\x3c\xc6\xb5\x2e\x61\x39\x41\x9f\x92\x15\xf3\x9a\xa1\xa6\x3f\x40\x16\x23\xe2\xba\x70\x41\xa3\x65\x5f\xfc\x9a\xeb\x82\x22\x0e\xc0\xfa\x75\x68\x6d\xfe\xe3\x5f\x6f\x95\x31\x1b\x72\xbd\xdd\x56\x31\x5b\xf6\xb0\xe7\xd2\x5d\x78\xdd\xc0\xe4\x2f\x9b\x1e\x01\x13\xa8\x33\xfe\x28\x89\xf2\x6a\x94\x47\x6d\xd8\xb5\x56\x43\xb0\x05\xd7\x5a\x03\x84\xe9\x77\x99\xb4\x0e\xcc\xc4\x09\x53\x4e\x02\x4d\x77\x9e\xa6\xa1\xfc\x8a\x0f\x20\xce\xa5\x4f\x61\x37\x56\x6b\x9a\x5a\xcf\x64\xc5\xde\x20\x82\xb3\x18\xb8\x03\xc4\xc4\xf2\x33\x11\xb3\x29\x85\xf9\x4e\x96\x1c\x04\x83\x9d\x28\xd9\xbe\xdd\xfc\x54\x8f\xc8\x6f\x8c\x42\x61\x4f\x40\x1d\xab\x5d\xdc\x8b\x06\x9e\x7e\x6f\x5b\xdb\x03\x38\x01\xfb\x0c\x6c\x66\x7b\xca\x46\x3c\xcf\x6d\x9a\x09\xd5\xca\xcc\x5b\x69\xc5\xa3\x8a\xf7\xb6\xa3\x9d\x1b\x11\xdd\x67\x2a\x91\xa3\xcf\xa2\x0a\x1b\x0e\x2c\xf6\x82\xf9\xd2\xdc\xeb\x70\xd0\xe5\x58\xb1\x27\xb1\x23\x80\x25\x72\xd8\x64\xcf\xdb\xc8\x99\x13\x64\xee\x5e\x76\x4f\xed\xbf\x10\xfe\x6e\x78\x06\x17\x73\x4b\xd8\xab\x76\xab\xf0\x16\xc7\x4e\x85\x34\x98\x37\xd2\x0f\x07\x0e\x36\x67\x15\xb6\xd3\xd6\x21\x05\xcf\xea\x6f\x9e\xa1\xdf\x3c\x43\x7f\xe7\x9e\xa1\x2f\xe9\x16\x02\xc8\xcf\x73\xfa\x84\x7a\xe2\xfe\x47\x6c\x47\x57\xeb\xe8\x24\xdb\x56\xeb\x78\x12\xa8\x68\x07\xa9\xb6\xcd\x4c\x13\xcb\x99\x63\xc6\x67\xc9\xa3\x7b\x21\x3b\xa1\x07\x96\xe9\xac\x53\x6a\xfd\x69\x81\x39\x6d\x44\x6d\xc1\xaf\xfb\x11\x3a\x1e\xc1\x45\xfc\xe2\x6d\xdc\x41\x66\x9f\x80\xed\x69\x3a\x7e\x02\x58\x38\x95\x3b\x0e\x7c\x4d\x69\xa0\x18\x63\x45\x46\x35\xc4\x80\xd5\x58\xe3\x1b\x83\xda\x89\x0b\xc0\x8a\x17\x99\x52\x69\x2b\xe2\xef\x49\x07\xb0\x91\xa9\x35\x74\xf0\x2e\xd0\x18\xd5\x21\x0e\xce\x8e\xa2\xcf\xfa\xf1\x39\x42\x98\x10\x04\xb2\x39\xb0\x9a\xe2\x12\x92\x79\xfd\x70\x4c\x7d\x8a\x1d\x77\x0e\x17\x82\xbe\x2d\x45\xc4\x41\x32\xd6\x62\x12\x23\xee\xd2\x9f\x42\xfe\xb4\x46\x3e\x92\x6e\xd6\xd3\x11\x8c\x85\x72\x17\x49\x9b\x46\xce\xd8\xcd\x55\xb3\x10\x6c\x6e\x03\xb6\xdc\x02\x64\x2c\x43\xeb\x3e\x85\x60\x4b\x47\xbf\x88\x52\xae\x07\x1a\xd6\xad\xe7\xce\x05\x15\x74\x06\xe5\x0c\x3f\x48\x7f\x82\x7c\xb0\xed\x40\x40\xd2\x5c\xce\x9c\x42\xae\x87\xb4\x39\x40\x22\x46\x81\x11\x8a\xd9\x98\x1a\xa4\x7d\xf5\x2f\x97\x09\xd3\x65\xb4\x01\x62\xdb\xea\x39\x15\x9e\x5b\xcd\x1d\x3b\x99\x4b\xf3\x20\x02\x57\xcb\x96\x03\x31\xc3\xa3\x31\x56\x75\xf2\xdf\xc2\xa1\xce\x88\xe7\x2f\x04\x9a\xe1\xc3\x49\xc9\x56\x50\x9e\xe5\x18\x46\xdc\x88\x87\xca\x94\x59\xcc\x0b\x31\x9d\x7b\x10\x51\x82\x9e\x4e\x0b\x5e\x21\x93\x59\x87\x1d\x0b\xe1\x99\xb5\x93\x36\x4d\x56\x22\xda\x45\x0d\xc9\xb0\x7e\x9e\x92\xdf\x9e\x6d\xdf\xd6\xb3\x0d\x09\xb9\x31\x69\x75\xcc\xd0\x52\x53\xaf\xfd\xcf\x8f\x1b\x5c\xc1\x82\x96\xe8\x11\xe3\xfc\x05\x9f\x9d\x2d\x36\xf0\x38\x7b\x7e\xf0\x3b\xa8\xff\x3a\xf3\x0f\x5b\x7f\x59\x07\x1c\x1c\x0d\xb3\x30\x0c\x2e\x16\xe1\xd2\x31\x06\xed\xe0\xb0\x7e\x37\xcd\xd1\x37\x85\xb9\x1a\xf2\x70\x35\x16\xb7\x43\x61\x5d\x5a\x4b\x5b\x0a\xbc\xef\x7a\x2c\xee\x40\x00\x82\x17\x2f\xb4\x1b\xf5\xea\x09\x68\x53\x1a\xde\x25\xba\xf8\xa5\x26\x2f\x7c\x98\x3e\xf1\xb3\x99\xa6\xb6\xa9\xd8\xcc\xa1\x16\xd5\x75\xd5\xe6\x51\x2b\xbb\xe6\xe0\xf1\x64\x05\x25\x4d\xbb\xc7\xbc\x83\x3e\xba\xf1\xfa\x88\x57\xd3\x63\xce\xb3\x4c\xe4\xf6\x22\x6f\xd8\x5a\xa0\xce\x08\xb5\x80\xbc\xea\x46\xa0\xc6\x7b\xed\x95\x6b\x8e\x92\x5a\xd1\xf0\x35\x18\xba\x69\xfb\xcc\x5d\x96\x69\xda\x39\x73\xfb\x45\xdf\x2e\xef\xde\xbd\x5b\xfc\x32\x7b\x77\x77\x6e\xbb\xdf\x2a\xa2\x16\x7c\xad\x73\x4c\x5c\x4b\x68\x4c\xbc\x4c\xab\xa9\x56\x58\x9d\x79\xe5\x7b\x8d\x4e\xae\x32\x4d\xab\x02\x7b\x73\xf9\x91\xca\x01\xf4\x39\x8a\x07\x9b\x71\x63\xbd\x03\x57\xad\x1f\xbe\xf6\xd1\x14\xfe\x11\x7f\x7b\xc2\x7c\x27\x5e\x81\x0c\x2c\xc9\x4b\xb6\x8f\x2b\x25\xf9\x1c\xb1\x1d\x10\xe3\xdc\xb5\x1d\x9e\x5a\x42\xf4\xb0\xed\x71\x27\x41\xbc\x40\xc4\x56\xf9\xf3\x49\x76\x07\x8e\xdd\xc7\x6a\x9c\xda\x9d\xe5\x31\x3e\x69\xa0\xdc\x09\x0a\x3f\x82\x9c\xbd\xd7\x46\x9c\x4b\xf4\x81\x9a\x36\x15\xaa\xbb\x4d\xec\x82\xcc\xdb\x94\xcb\x75\xc9\xd7\xc6\xba\xb5\x95\xcf\xe5\x36\x59\x6f\x90\x88\xa6\xcc\x3c\xec\x9a\x33\x09\x7c\x45\xb5\x25\x54\x83\x5d\x27\x72\x2e\xa9\x4f\x72\xed\x8b\x47\x08\xf0\x9f\x6e\x5c\x77\x08\x6b\x8f\x05\x91\x76\xa5\x9c\x4b\x9c\x5c\x24\xc8\xb1\x91\x10\x78\xb1\xf0\xa2\xbe\x74\x39\xc4\x2e\x41\x2e\x17\xce\xf4\x35\xc4\x64\xe6\xd2\xe5\x88\xa3\xe7\x88\xfa\x10\x68\x1c\x61\x93\xf6\x9f\x27\x76\x32\xec\x9e\xa0\xb6\xb5\xaf\xfa\xa3\xef\x00\xb3\xe1\x16\x23\x84\xea\x9b\xc7\xd8\x40\x6f\x21\x0f\x0e\x8e\x2e\xe2\x10\x20\x06\x68\x6f\x8d\xed\x17\x7e\xa7\x13\xb1\xab\xca\x65\x3a\xa2\x49\xf8\xfd\xde\x46\xe1\x91\xdc\xdf\xa8\x01\xcf\xe1\xeb\xda\xd6\x32\xcb\xb4\xaf\xda\xa5\x52\x1d\xf3\xf2\x84\x01\xc5\x4a\xa3\xe8\x07\xfb\x06\xa3\x8c\x8a\x43\xd6\xcb\x80\x1c\xcc\xfa\x10\xd9\xd3\xa7\xaf\x41\x69\xa2\x0f\x6a\x8e\xb7\x9f\x06\xb7\xc8\x59\x08\x74\xd9\x8d\x3a\x61\xe9\x9e\xab\x1c\xb0\x1d\xc7\x24\xc5\x93\xac\xe2\x7b\x82\xc7\x8b\xd9\x3c\x28\xc7\x6e\xd6\xff\xc4\x2d\xa2\x89\x9f\xb9\x09\x34\x32\x2a\x73\x6d\x8e\x4b\x3a\xef\xe8\xd4\x56\x39\xe3\x73\x69\x33\xf0\xec\x71\x3c\xb3\xe0\xdc\xdc\xfd\x15\xf3\x5a\x33\x94\xde\x00\x8b\xb5\x60\x4a\x0a\x7b\x1a\xce\x25\x29\xdf\xeb\x09\xe3\x4b\x6d\xd5\xf7\xb9\xdc\x39\x49\xfc\xc4\xf1\x67\x71\xc9\x00\xcc\xbd\xff\xcc\xab\x99\x01\x95\x7b\xfe\x77\xe6\xff\xfe\xf6\xbb\xff\x1f\x00\x00\xff\xff\xee\x96\x37\x4a\x3f\xbb\x04\x00") +var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfb\x73\xeb\xb8\x95\x2f\x8e\xfe\x3e\x7f\x05\xbe\x7b\x4e\x55\x77\x27\xb2\xdd\x49\x66\x72\x53\x9e\x3a\x75\xaf\xda\xd6\xde\xed\xd3\xde\xb6\xe3\x47\xf7\xe4\x1e\x4d\x29\x10\x09\x49\x88\x49\x80\x01\x40\x7b\x2b\xa9\xfc\xef\xdf\xc2\xc2\x83\xe0\x4b\xa2\x1e\xb6\xe5\xdd\x9c\xa9\x4a\x7b\x8b\x24\x9e\x0b\x0b\xeb\xf9\x59\xff\xfc\x37\x84\x3e\xc8\x67\x3c\x9f\x13\xf1\xe1\x14\x7d\xf8\xfd\xf1\xf7\x1f\x06\xfa\x37\xca\x66\xfc\xc3\x29\xd2\xcf\x11\xfa\xa0\xa8\x4a\x88\x7e\x3e\x4b\x96\x8a\xd0\x38\x39\x91\x44\x3c\xd1\x88\x9c\xe0\x38\xa5\xec\x38\x13\x5c\x71\xf8\x10\xa1\x0f\x4f\x44\x48\xca\x99\x7e\xdd\xfe\x89\x18\x57\x48\x12\xf5\xe1\xdf\x10\xfa\x17\x34\x2f\xa3\x05\x49\x89\xfc\x70\x8a\xfe\xaf\xf9\x68\xa1\x54\xe6\x1a\xd0\x7f\x4b\xfd\xee\xff\xc0\xbb\x11\x67\x32\x2f\xbd\x8c\xb3\x2c\xa1\x11\x56\x94\xb3\x93\xbf\x49\xce\x8a\x77\x33\xc1\xe3\x3c\xea\xf8\x2e\x56\x0b\x59\xcc\xf1\x04\x67\xf4\xe4\xe9\x77\x27\x38\x52\xf4\x89\x4c\x12\x9c\xb3\x68\x31\xc9\x12\xcc\xe4\xc9\x3f\x69\xac\xe7\xf8\x37\x12\xa9\x7f\xc1\x3f\x62\x9e\x62\xca\xcc\xdf\x0c\xa7\xe4\x5f\xbe\x1d\x84\x3e\xcc\x89\x0a\xfe\xa9\x67\x9b\xa7\x29\x16\x4b\xbd\x22\x1f\x89\x8a\x16\x48\x2d\x08\x32\xfd\x20\xb7\x44\x7c\x86\x30\x3a\x15\x64\x76\xfa\x57\x41\x66\x13\xb7\xd0\xc7\x66\x81\x2f\x61\x34\x37\x09\x66\x7f\x3d\xb6\xcb\x04\x2d\xf3\x8c\x08\x98\xdb\x45\xac\x5b\xff\x44\xd4\x10\x9a\x2d\xde\x0f\xdf\x16\x44\x66\x9c\x49\x22\x4b\xc3\x43\xe8\xc3\xef\xbf\xff\xbe\xf2\x13\x42\x1f\x62\x22\x23\x41\x33\x65\xf7\x72\x88\x64\x1e\x45\x44\xca\x59\x9e\x20\xd7\x52\x38\x18\x33\x55\xbd\xb1\xb8\xd6\x18\x42\x1f\xfe\x97\x20\x33\xdd\xce\xbf\x9f\xc4\x64\x46\x19\xd5\xed\x4a\x43\x3f\xc1\x68\x4b\x5f\xfd\xeb\xdf\x9a\xfe\xfe\x57\x30\xa3\x0c\x0b\x9c\x12\x45\x44\xb1\xe3\xe6\xff\x2a\x73\xd1\x7b\xa4\x3b\x2f\xf6\xb1\x3a\xf0\xca\x6c\xaf\x70\x4a\xf4\x9e\xe8\x9d\xb2\x5f\xc0\xdf\x82\x48\x9e\x8b\x88\xa0\x29\x49\x38\x9b\x4b\xa4\x78\x6d\x0d\x28\xb4\xa0\xc9\xab\xfa\x44\x90\xbf\xe7\x54\x10\xbd\x57\x4a\xe4\xa4\xf2\x54\x2d\x33\x18\xa4\x54\x82\xb2\x79\xb8\x14\xff\x1a\x74\x9a\x9a\xa1\xca\x0d\x66\x66\x3e\x68\x9d\xd8\x98\x0d\xdd\x2b\x11\x66\x68\x4a\x90\x3e\x8b\x34\x26\x82\xc4\x08\x4b\x84\x91\xcc\xa7\x92\x28\xf4\x4c\xd5\x82\x32\xfd\xef\x8c\x44\x74\x46\x23\xb7\x66\x87\xb3\x36\xf0\xe7\xea\x95\x79\x90\x44\xe8\x81\x3f\xd1\x98\xc4\xe8\x09\x27\x39\x41\x33\x2e\x4a\xcb\x73\x3c\x66\xf7\x0b\xbd\x0e\xe9\x94\x32\x38\x79\x7a\x2d\x1d\x85\xfc\xd6\x2d\xd7\x6f\x91\xee\x0f\xe5\x8c\xfe\x3d\x27\xc9\x12\xd1\x98\x30\x45\x67\x94\xc8\x6a\x6b\xbf\xe5\xd0\x3f\x4e\xd0\x11\xd2\xeb\x4c\x84\x82\xf5\xe6\x4c\x91\x2f\x4a\xa2\x23\x94\xd0\x47\x82\xbe\xb9\xa4\x52\xa1\xe1\xcd\xc5\x37\x03\xf4\x8d\x39\x2f\x08\x78\xd3\x37\xaf\xb0\xc2\xfe\xef\xff\x09\x8e\x9e\xc2\xf3\xea\xa1\xfb\x30\xd4\xa7\xf9\xce\x5c\x0d\x45\x0b\xff\xf3\x6f\x61\x3b\x76\xbf\x56\xf3\xdb\x82\xd9\x5a\x4e\xdb\x95\xbf\xc2\x32\x95\x59\xab\xd4\x3b\xb4\x2b\x67\xd5\xed\x56\x59\xab\x7c\x5f\xbc\x55\x4f\xe1\xa5\xf9\xeb\x2e\xcc\x15\x2b\xa0\x7a\x4c\x99\x39\x24\xfe\xcc\x08\xa9\xcf\x89\xa3\xde\x03\x61\x29\xbb\xf0\xda\x60\x66\x01\xbb\x75\x5c\x34\x58\x95\x03\x9c\x77\x42\x53\xba\x6e\x7f\x2f\x58\xac\x45\x2e\xcb\xec\x58\x9e\x4e\x89\xd0\xcb\xe0\xd8\x1e\xcc\x76\xaa\xd9\xa0\xca\x05\x23\x71\x87\x69\xfe\x3d\x27\x62\xb9\x62\x9e\x33\x9c\xc8\xb6\x89\x52\xa6\x88\x96\x6f\x2b\x8f\x67\x5c\xa4\x58\xd9\x17\xfe\xf8\x1f\x9b\x2e\x84\xe2\x8f\x64\xdd\xfe\x5f\x98\xdd\x8c\xb0\x04\x32\x48\xf3\x44\xd1\x2c\x21\x28\xc3\x73\x22\xed\x8a\xe4\x89\x92\x03\x78\x4d\xcb\xd4\x44\x1c\xf9\x1b\x08\x7a\x70\x37\x6f\x2e\xe1\x17\x34\xf3\x02\x24\x23\x5f\x14\xb4\x34\x66\x70\xf7\xc2\x12\x85\x37\xca\x0b\x2c\xe5\x76\x34\x23\xb9\x50\x93\xe9\xf2\xf8\x91\xd4\xfa\x6d\xa5\x1c\xcc\x10\x56\x4a\xd0\x69\xae\x88\x9e\xb7\x6e\xc3\xdd\x9d\xc0\x1e\xcd\x05\xdd\x85\x35\xbc\xdd\x84\x63\x2a\x48\x04\x73\xdb\xe4\xc0\xf8\xaf\xf4\xbc\xb5\xfe\xb2\x34\xb3\x7f\x24\x4b\x90\x47\x1a\x56\xc0\x6f\xf9\x98\x8d\x19\x3a\x42\xe7\xa3\xbb\xb3\xd1\xd5\xf9\xc5\xd5\xa7\x53\xf4\xc3\x12\xc5\x64\x86\xf3\x44\x0d\xd0\x8c\x92\x24\x96\x08\x0b\x02\x4d\x92\x58\xcb\x1c\x7a\x30\x84\xc5\x94\xcd\x11\x17\x31\x11\x2f\xb7\x8c\x95\xa7\x84\xe5\x69\xe5\x5e\x81\xdf\x8b\xd1\x57\xbe\xd0\x22\x86\x7f\x54\x7a\xf2\x3f\xb5\x05\x86\x19\xeb\xbe\x83\xd6\x5e\x4d\xa8\x89\x16\x34\x89\x05\x61\x27\x0a\xcb\xc7\x09\xf9\x42\xa2\xdc\xdc\xc9\xff\x2c\xff\x30\xd1\x92\x29\x8f\x49\xf9\x97\xd2\x3f\x0a\x51\x68\xe3\x4f\xbd\x96\xba\xf1\x97\xa0\xd3\x76\xfb\x0e\x7e\xa1\x71\xe3\xdb\xf0\xcb\x9a\x39\xb8\x77\x56\x0c\xd6\xbd\xd2\x3a\x2a\xf7\x82\x95\xf8\x1a\xdf\x11\x44\x89\xe5\x04\x2b\x45\xd2\x4c\x6d\xa8\xaf\x63\x94\x68\xb9\x72\x95\x1c\x79\xc5\x63\x32\x72\xfd\xfd\x15\x19\x71\x96\xc4\x68\xba\xb4\x5c\x6b\x46\x04\x61\x11\x69\x6f\xe1\x1e\xcb\xc7\xa2\x85\x75\xc2\x68\xa9\x3f\xf9\x91\x0b\xfd\xf9\x7b\x10\x48\x4b\x03\x7f\x0d\x99\x74\xdb\x13\xf7\xd5\x59\x08\xb6\xe4\x1f\xbd\x3d\x61\xf7\x95\xec\x6a\x7d\xe0\x02\xc9\xa5\x54\x24\x5d\x6b\x87\x78\x3f\x0b\x61\x2f\x88\x43\x1d\x70\xe5\x8e\xfa\x15\x9c\xfa\xf2\x8d\xdb\x1f\xef\x0d\x96\x6c\x5f\x56\xc4\x43\x9f\xa7\xf3\xe1\xac\x9e\xea\x9d\xdb\xbe\xc0\x89\xf1\x2e\xa6\x59\x92\x05\xf7\x3d\xc8\x17\x32\x37\xb4\xee\x95\x5b\xed\x09\x0c\x60\x8d\xa2\x59\xb6\x43\xfb\xf3\xa7\x3f\x0d\x2d\x34\xc6\x1c\xa7\x16\x54\x06\xc6\x2a\x14\x71\x61\x64\xc1\xd8\x9e\x77\xa3\x6b\x0e\xef\x87\x77\xa3\xfb\x53\x34\x44\x31\x56\x58\x1f\x70\x41\x32\x41\x24\x61\x0a\xf4\x78\xfd\xbd\x5a\xa2\x94\xc7\x24\x31\x1a\xe7\x47\x2d\xf9\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\x84\x7f\xea\x8f\xa9\x44\x38\x91\x1c\x61\x47\x56\x24\x76\x4d\x60\x16\x3b\xd6\x82\x51\xc4\xd3\x8c\x26\xde\x06\xef\x8d\x2b\x94\xc5\xf4\x89\xc6\x39\x4e\x10\x9f\x6a\xae\xa2\x35\xe4\xd1\x13\x61\x2a\xc7\x49\xb2\x44\x38\x49\x90\xed\xd6\xbd\x80\xe4\x82\xe7\x49\xac\xdb\x75\xa3\x94\x34\xa5\x09\x16\x5a\x05\x37\xa3\xbd\xb6\x6d\xa1\xfb\x05\xf1\x63\x85\x71\xe9\xd5\x4c\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x34\x29\xce\xfc\xc3\x05\x82\x71\x9f\x5d\x5e\x80\x3e\x1f\x29\xc4\x0d\x0f\x75\x9d\x5b\xfb\x8d\xeb\x31\xc5\x8c\x11\xe8\x98\xab\x05\x11\xb6\x7b\xfb\xf2\x5b\xab\xe6\x0f\x57\x77\x37\xa3\xb3\x8b\x8f\x17\xa3\xf3\xba\x6e\x7e\x3f\xbc\xfb\xa9\xfe\xeb\x2f\xd7\xb7\x3f\x7d\xbc\xbc\xfe\xa5\xfe\xe4\x72\xf8\x70\x75\xf6\xe3\xe4\xe6\x72\x78\x55\x7f\x68\xc9\xaa\xb3\x9a\x1f\x8e\x6c\xc3\xb3\xd5\xdb\x34\x5f\xca\xa6\x39\xf8\x7a\x8d\x9a\x33\x9a\x80\x0e\xda\xd9\xa0\xe9\x6d\x08\xf6\x4b\x94\x61\x29\x8d\x64\x64\x46\x70\x3c\x66\x9f\xb9\xd0\x0c\x6c\xc6\x35\x8f\xd0\xd2\x93\x12\x79\xa4\x28\x9b\xfb\x8f\x4e\xd1\x38\xff\xfe\xfb\x3f\x44\x97\x94\x3d\xc2\x5f\xe4\x10\x17\xa7\xb7\xf8\xf6\x16\xdf\x5f\x97\xc5\x57\x8b\x3e\x27\xa1\xa1\x77\xbf\x21\x43\x5a\xb8\x60\x59\xae\x40\x94\xe0\xb9\xd2\x7f\xea\x2e\x81\x3c\x56\x04\x0e\x75\x33\x28\x7e\x22\xca\xbf\xa8\x45\x9b\xf7\x60\x47\xfc\x85\x8b\xc7\x59\xc2\x9f\xfd\xc0\x3f\x11\xa5\xc7\x7e\x6b\x7b\xe9\x43\x89\xfa\x50\xa2\xb7\x0d\x25\x3a\x28\x63\xde\xcb\x33\xbf\xb2\xe5\xcf\x70\xc0\x16\x4f\x56\xab\xa3\xaa\xc5\x0f\x15\xb8\x99\x5e\x85\x6b\x96\x9d\x39\x6b\x38\x67\xe9\xe5\xf7\xc2\x3d\x4b\x83\x7e\x7d\xce\xf9\xab\xf0\xb7\xf4\xee\x94\x2d\x17\xea\x5d\x32\xd8\x8e\x77\xc7\xab\x39\x43\x5e\x9e\xe1\xd7\x62\x1b\x36\x09\x66\xd8\x20\x7a\xa1\x73\xb8\xc2\x9a\xf8\x84\xc6\x80\x84\xa6\x08\x84\x7a\xc8\x41\x63\x8c\xc1\x6e\x41\x05\xdb\xde\x4d\xdd\xc3\x04\x3e\x11\x55\x7a\xf9\xbd\xdc\x4d\xa5\x41\xbf\xfe\xdd\xf4\x2b\x8d\x0e\xe8\xc3\x01\x5e\x70\xe9\xbe\xf6\x1b\xed\x70\x1d\xfe\xbf\x02\x0f\x7f\xef\xd2\xdf\x68\x8d\xbe\x2e\x1f\xfe\xd7\xea\xb4\x7f\x9f\x5e\xfa\xde\x2d\xdf\xbb\xe5\xdf\xc2\x7f\xf2\xfe\xdc\xf2\x2f\xab\x9e\x16\xc7\x6b\xe2\x68\xc1\xea\x6b\xc1\xa1\xfc\x57\x07\x27\x0d\xfc\xe5\x54\xbe\x4d\x83\xc6\x5b\x75\xb8\xf3\x62\x7c\x23\x38\x42\x7f\xb5\x84\xb4\x46\x9d\xab\x7d\xf7\x1e\xd4\xb9\xfa\xa0\x5f\x5e\x87\x7b\x33\xe6\xfb\x42\x97\xe7\x3b\x61\x03\x9b\xdf\x96\x5f\xb1\x4c\xde\xcb\xe2\x2f\x9f\x8d\x7f\x30\x13\x7a\x3f\xb2\xf7\x1b\x5c\xbc\x1d\x6f\xdd\xbd\xe7\x64\x35\x5c\xb3\xc1\xed\xb4\x2e\xc3\xaa\xfa\x35\x25\xf2\xf7\xef\xf2\xbe\x7d\x8d\x24\xab\xfe\xc2\xed\x2f\x5c\xdb\x54\x7f\xe1\x7e\xc5\x17\xee\xc1\xc1\xdf\x1c\x4c\x04\x68\x1f\x44\xde\x03\x63\xf4\x31\xe4\x7b\x5c\x9c\x3e\x86\xbc\x8f\x21\xff\x95\xc5\x90\xef\xa2\x3d\x6d\x8b\x45\xf9\x16\x7a\x54\xaf\x46\xf5\x6a\x54\xf8\x7b\xaf\x46\xf5\x6a\x54\xaf\x46\x7d\xe5\x28\xa2\xbd\x0e\xd5\x7d\x21\x7a\x1d\xaa\xf3\x52\xf5\x3a\xd4\x8a\xc5\xe9\x75\xa8\x5e\x87\xfa\x75\xe9\x50\xe4\x89\x30\x25\x21\x19\x2d\xd4\x28\x3e\x64\x5c\xb6\x6b\x42\x21\x77\x68\xd0\x82\xa0\xcd\x72\x52\x18\x04\x2e\xfd\x15\x2d\xb0\x44\x3c\x8a\x72\x51\x39\x03\x55\x3d\xe8\x4c\x10\xac\x08\xb4\xa0\x3f\x7c\x0f\xfa\x4f\x7d\xba\xaf\x15\x83\x3f\xe5\x71\x8d\xda\xcd\x41\x68\x7a\xb2\x5a\x1e\xd9\xdb\xd4\xff\x9e\x93\x6e\xea\xdf\x0b\x12\xb5\xc2\xf2\x71\xcf\x44\x5d\xca\xb5\xd8\x8a\xa8\xa1\x85\xf7\x42\xd4\xf5\xe9\xfe\x6a\x88\xba\x69\xea\x87\x40\xd4\xcf\x36\x8f\x7f\xcf\x84\x5d\x83\x07\xd8\x8a\xb8\x7d\x2b\xef\x85\xc0\x9b\xa7\xfd\xab\x21\xf2\xb6\xe9\xbf\x2d\xa1\xfb\x14\xc9\xce\x24\x7e\x2f\xe8\x7c\xae\xd5\x0c\xd0\xf0\x34\x29\xae\xaf\x11\x54\x24\x05\xae\x25\x6b\xff\xea\x7b\x20\x69\x3f\x58\x33\xf6\x5f\x0d\x2d\xd7\xe6\x7d\x20\x44\x7c\x22\x48\xc4\x9f\xa0\x5e\x58\x37\x62\xbe\x25\x40\xc1\xc0\xaf\x33\x41\x9e\x28\xcf\x65\xb2\x3c\x12\x39\x43\x8e\xf9\x23\xdf\xbc\xb1\x56\x3f\xd3\x24\x41\x9c\x69\xfd\x4b\x61\xa1\xdc\x63\xad\x7f\x0b\x9e\xc2\xa9\x48\xb0\x54\xe8\x91\xf1\x67\x86\x66\x98\x26\xb9\x20\x28\xe3\x94\xa9\xe3\x31\xbb\x60\xe8\xd6\x8c\x11\xf2\x06\x06\x28\x97\xfa\x2c\x45\x98\x31\xae\x50\xb4\xc0\x6c\x4e\x10\x66\x4b\x9b\x80\x5b\x50\x06\xe2\x02\xe5\x59\x8c\xb5\xe2\xbb\x20\xd5\x28\x3d\x3f\x46\x30\xdf\x51\x89\xa8\x44\xe4\x8b\x12\x24\x25\xc9\x52\xf7\xa1\x69\x5f\x71\x64\xd7\xc7\x0c\xd5\xa6\xf3\x11\x21\xb8\x90\x90\x71\x30\x5d\xfe\x03\x33\x45\x19\x41\xa0\x28\x49\x63\x9a\x3b\x42\x97\x5c\x82\xd9\xe6\xa7\x3f\x49\x14\x25\xb9\x54\x44\x0c\xd0\x34\x9f\x4b\xad\x29\x66\x09\x56\x33\x2e\x52\x3d\x42\xca\xa4\xc2\x53\x9a\x50\xb5\x1c\xa0\x14\x47\x0b\xd3\x16\xac\x81\x1c\x8c\x59\xcc\x9f\x99\x54\x82\x60\xdf\xbb\x7b\x88\xbe\x0d\x9f\x19\x02\x90\xdf\x0d\x20\xed\x90\xa6\x5a\xdd\x0d\x86\x5f\xec\xb8\xd9\x13\xdd\x08\x89\xd1\x94\x44\x38\x97\xd6\xc3\xa0\xc4\x12\x91\x2f\x0b\x9c\x4b\xd8\x3b\x3d\x3d\x9b\xb3\x11\xf1\x34\x4b\x88\x22\x88\xce\x90\x12\x94\xc4\x08\xcf\x31\xd5\x4b\x77\x47\x56\x80\xa0\x7b\xa2\xb7\x1b\x68\xa9\xfe\xaf\xa0\x7e\xa7\x5c\x10\x14\x13\x85\x69\xb2\xd2\xeb\x64\xbf\xed\xb9\xdc\x7b\xe2\x72\xe5\x0d\x3f\x08\x36\x67\x40\xfc\xf7\x70\x69\x33\x6b\xba\x8f\x70\xb2\xe3\xfd\x7d\x6b\x07\xd5\xd3\xf6\xfb\xa2\x6d\xb3\x6b\x87\x43\xdc\xaf\x16\x83\xdd\xbd\xa2\x45\x51\xcd\xe2\x5d\xd1\xf4\x6b\x84\x05\xf4\x0e\xe7\xde\xe1\xdc\xba\x32\xef\xd3\xe1\x7c\x30\x1e\xa3\xde\xe7\xfc\x42\x3e\x67\x2a\x7b\xa7\x73\xef\x74\xee\xba\x40\xbd\xd3\xb9\x77\x3a\xbf\x5f\xa7\xf3\x4b\xe2\x3e\xef\x15\xdd\xf9\x5d\x89\xd6\xbd\x58\xdd\x8b\xd5\x3d\x84\xb3\x9f\xda\xbe\x58\x98\xfb\xfa\x43\x4c\x12\xa2\x48\xbb\x3d\x8b\x88\x54\x6b\x0b\xe6\x7a\xa6\x4c\xcb\x71\x73\x41\xa4\xdc\x95\x21\xf9\x86\xdf\x27\x5b\xf2\xc3\xef\xa1\xe6\x7b\x3e\xd5\xf3\xa9\x6d\xa6\x76\x38\xa6\xd9\xe0\x30\xbf\x96\x6d\xd6\xf3\xdf\x2c\x6f\x97\xfe\x1e\x8c\x1b\xb2\xf0\x8b\x1a\x0a\xd7\x52\xbb\xe2\xfe\x70\x5b\x3a\xdf\x91\x1f\x9b\xbe\xde\x27\x33\x36\x63\xef\x39\x71\xcf\x89\x7b\x4e\xfc\xbe\x39\xb1\x3b\xc9\x6f\xea\x22\x33\x7e\xba\x49\x96\x60\x36\xa1\xb1\x3c\xf9\x67\xa1\xcb\xbf\x94\x87\x4c\x1f\xa8\xd8\xa4\x98\xfa\x94\x4e\xf1\x57\xfd\x49\x52\x18\xcc\x3d\x66\xe6\x1a\x27\x9a\xb1\xb1\xdf\x24\x98\x5d\xc4\xef\xc2\x8f\xd6\x38\xfb\xd7\xf0\xa9\xed\xc2\xc7\xb1\x02\x4f\x07\xa6\xcc\x98\xf0\x8a\xbc\xda\x92\x81\xf2\x30\x4e\xf8\x2e\x5c\x3d\x98\x58\xc0\xd8\x1d\xbf\x0e\x16\xe5\xf0\xa6\xdd\xfb\x75\xfa\x5c\xc2\xde\x73\xd1\x71\xc2\xbd\xe7\xe2\x70\x3d\x17\x6f\xe5\x8e\x7c\xe5\xe3\xf9\x5a\x62\x5d\xf7\x20\x7c\x13\xad\x06\x41\xad\x79\x96\x70\x1c\xaf\x72\xc5\x14\x82\x57\x08\x8e\xb2\x36\x12\xbf\xf8\xec\x3d\x08\x6b\xc5\x68\x7f\x65\x91\x7c\xf5\x89\x1f\x8a\x96\xf2\x8a\xa1\x7c\xcd\x24\xbe\x81\x4a\xf2\x3e\xf0\x53\x8b\xf1\xf6\xa1\x7d\xbd\x45\xe9\xed\x2d\x4a\x7d\x68\x5f\xaf\x02\x1e\x98\x0a\xd8\x87\xf6\xf5\xa1\x7d\xbd\x82\xbc\x7a\xda\xbd\x82\xfc\x55\x84\xf6\x75\x12\xb5\x5f\x10\x7b\x73\x77\xa1\xbb\x97\xb9\xdd\x7b\xbd\xcc\xdd\xcb\xdc\x5f\xa9\xcc\x7d\x18\x2b\xdc\x0b\xdc\xbd\xc0\xdd\x0b\xdc\xbd\xc0\xdd\x0b\xdc\x7b\x5f\xc6\x5e\xe0\x7e\xcd\x02\x9d\xcd\x52\xf7\x9a\x24\x9b\xf7\xea\xcb\xe9\xc5\xed\x5e\xdc\x3e\x6c\x71\xfb\x60\x26\xf4\x7e\xca\x3c\x76\x9b\x4f\x5f\xa4\xbc\x2f\x52\xde\x17\x29\x7f\xf1\x22\xe5\xee\xeb\x0e\x19\x1f\xf6\x70\x29\xac\x72\x69\x00\x1f\x05\x99\x53\xa9\x80\xfd\x77\x91\x57\xd6\x27\x7a\xbc\x57\x39\xa5\x4f\xf5\xf0\x4f\x7b\xa9\xa5\x97\x5a\x7e\xa5\x52\xcb\x01\xc5\x82\x1d\x44\xc6\x4a\x8a\x55\xb4\xc0\xd3\x84\x4c\xbc\xd1\x47\x76\xd5\x83\x2f\xa9\x54\x12\x45\xb9\x54\x3c\x6d\xbf\x5c\x3e\xbb\x1e\x86\xbe\x83\x33\xce\x66\x74\x9e\x9b\xbb\xc5\x80\x73\x06\x27\xba\x90\x04\x97\x19\x59\xe7\xa9\x6a\x68\xfd\x5d\x5c\x4b\xcd\x43\x7f\xad\xdb\x69\x13\xc1\xbd\x30\xf2\x59\xa9\x5b\xcb\x5a\x93\xdb\xd1\xdd\xf5\xc3\xed\xd9\xe8\x14\x0d\xb3\x2c\xa1\xc6\xee\x6e\x48\x81\xfe\x43\x4f\x0a\x29\x2c\x1f\x8b\xbd\x14\x86\xcc\x0d\x86\x2d\x18\xfa\xb5\x6c\x8c\x8e\xd0\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xa5\x41\x4b\x28\x90\xb7\x4a\xd2\x2c\xc1\x8a\xc4\xe8\x31\x9f\x12\xc1\x88\x96\x76\x2c\xd2\x6d\x61\xfe\x37\x8d\x8e\xfe\x7b\x74\xf6\x70\x7f\x71\x7d\x35\xf9\xf3\xc3\xe8\x61\x74\x8a\x1c\xc5\xe9\x66\xf5\xb8\xf4\x28\xe2\x25\xc3\xa9\xd6\x40\xf4\x0f\x45\xa6\xec\xdf\x73\x92\x13\x84\xa5\xa4\x73\x96\x12\x40\x04\x2e\xb5\xe8\x06\x7c\x39\xfc\x61\x74\x59\x6e\x79\x41\x42\xf8\x5d\x94\xe0\x29\x49\xac\x3f\x02\x4c\xec\x9a\xd0\x03\xa8\x62\xe3\xa8\xc8\xcd\xaa\xfe\xf9\x61\x78\x79\x71\xff\x97\xc9\xf5\xc7\xc9\xdd\xe8\xf6\xe7\x8b\xb3\xd1\xc4\x4a\x95\x67\x43\xdd\x6f\xa9\x27\x2b\x7c\xa2\xbf\xe7\x38\xd1\xda\x09\x9f\x39\x3c\x5e\xf4\xbc\x20\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf9\xf0\xe9\xe2\x6a\x72\xfd\xf3\xe8\xf6\xf6\xe2\x7c\x74\x8a\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\xe7\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x02\x3f\x51\x2e\xec\xd1\x9d\xd3\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x09\x96\xee\xfa\xea\xe3\xc5\xa7\x53\x34\x8c\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x95\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xbc\xbb\xbb\xf8\x74\xf5\x79\x74\x75\x0f\x2b\xa6\x04\x4f\x24\x5a\xf0\x67\x30\x65\xc3\x0c\xc1\xc2\xfd\x84\x69\x02\x9d\xb9\xcd\xe2\x0c\x3d\x2f\x28\xb8\x3f\x00\x98\xd9\xf7\x6c\xf4\x33\x91\xb3\x37\xb7\xce\x96\x0e\x5e\x5d\x6d\xa9\x9e\xa4\xfa\x1b\x95\x63\xb1\xea\x85\x12\x95\xd7\x5f\x5c\x47\xad\xf5\x2f\x2a\xe4\xd6\xae\xac\xd5\xe8\xa5\x7d\xa6\xc5\x5e\x77\xd6\xd5\xca\x6b\xf8\x7a\xd7\x2c\x51\x82\x46\xf2\x65\xa1\x9e\x44\xce\x14\x4d\x09\xb2\x9d\xd9\xc3\xb9\x47\xf8\xa7\xcf\xa6\xe1\xf7\x70\xc1\xd6\x4a\x39\x7c\x22\xca\x0e\xbf\x57\x01\x7b\x15\xf0\x30\x54\xc0\xf7\x96\xed\x1f\x93\xac\xde\x61\x65\x62\xf0\x8e\xf1\x7a\xd5\x82\x34\x8c\x3d\xd1\x5a\x54\x13\xf2\x44\x12\x90\xf2\x94\xc0\x5a\x69\xb4\xb2\xcb\x54\x10\xfc\xa8\x05\xbe\x98\x3f\x87\x92\x4b\x03\x72\x3f\xda\xcf\x2d\xdc\x25\x88\xe3\x0f\xbf\x7f\xbd\xcb\x42\x2f\x77\xfc\x1a\x25\xbc\x6f\x21\x48\x66\x25\x46\x60\x90\x60\xff\x57\x6b\x09\x5e\x73\x5b\x04\x5f\xbc\x87\x8b\x22\x1c\xee\x01\x69\x5d\xb7\xa1\x12\xec\x58\x68\x4a\x14\x8e\xb1\xc2\xfa\xd0\xcc\x89\x3a\x46\xd7\x0c\x9e\xdd\x63\xf9\x38\x40\xee\xca\xd3\x6c\xa5\xb0\x32\xbc\x42\x6a\xfd\x3b\x31\xe0\x6f\xce\xc7\xfb\xeb\xbb\xbf\xbe\x9b\x57\xa6\x0f\xf3\x6c\x59\xe1\x7d\x5d\x8c\x1b\xf9\xbc\xf6\x77\x7f\x99\x16\xdf\xef\x15\xf6\xba\x4e\xae\xbd\x5e\x68\xa6\x72\x56\x7f\x5b\x99\xff\xeb\x6f\xab\xfe\xb6\xea\x6f\xab\x03\x58\xe1\x37\x77\x18\x36\x70\xf7\x37\xf5\x18\xae\xd3\x4e\xb7\x86\xbc\x2b\xb4\xd1\x4d\x40\xef\xfe\xda\x15\xdb\xae\xf8\x86\xbe\x0f\x1f\x61\x30\xc9\xd7\x48\x6b\xdb\xeb\x65\x6e\xf2\x45\x7a\xfd\xf4\x05\x6f\xfc\x1e\x81\x70\xaf\x08\x84\x87\x31\xd7\x17\x49\x81\x7b\x1b\x8b\xe9\xdb\xa7\xbd\xf5\x50\x83\x7d\x62\x57\x9f\xd8\x05\xbf\xf7\x50\x83\xfb\xa3\xd6\x97\x95\xae\x79\x4c\x26\x95\x28\x01\xff\xcf\x49\xd5\xf3\x53\x7a\x12\xba\x81\x4a\x0f\x8a\x4c\x37\x68\x9d\xc6\xfb\x2c\x22\x75\xc5\x63\xd2\x39\x92\xa0\xf4\xf2\x81\xcb\xe0\x6e\x9e\x46\x16\x2f\x0d\xfc\x85\x25\xf1\x96\x2d\xff\x1a\x0d\x3b\x0d\x04\xdc\x5b\x79\xd6\x2e\xd4\xd7\x1a\x5f\x50\x70\xa8\x77\xe4\xa9\xe8\xc6\xc6\x5d\x4c\xe3\xa4\x85\x99\x37\x3f\xf7\x2c\xbd\xf9\xf1\xcb\x60\x06\x75\xe7\xe8\x60\x56\x09\xdf\x7e\x1f\x76\x95\x70\xc4\xaf\x61\x59\x59\xb9\xf7\x5f\x1d\x57\x5f\x45\xc9\x3d\x6f\xef\xb8\x5c\x5f\x2b\x87\xef\x21\x7e\x56\xd9\x3a\x7a\x0c\x9d\xde\xd4\x72\x38\x13\xee\x4d\x2d\xef\xda\xd4\x62\x5c\xb4\x93\x0c\x0b\xc2\x54\x83\x48\x5d\xbd\x4e\xe0\xf5\x10\x73\xc1\x49\x1d\xd0\x00\xd2\x12\x2d\xb2\x17\xb2\xbf\xaa\xbe\x2e\xdb\x8b\x15\x0c\x82\x4c\xc8\x93\x7f\x16\x7f\x7b\x61\xbd\x54\x01\x62\x45\x74\x92\xc1\xfa\x97\xfa\x8e\xce\x6d\xa0\xd2\xee\xb9\x92\x58\x95\x44\x41\x08\xa2\x5e\x1b\xcf\x74\x63\xde\x7e\x5f\x29\x92\xb5\x41\xbf\x6e\x6c\x53\x7d\xe3\xbb\x1d\x20\xb7\x33\xd4\xa4\xfb\x05\x39\x65\x5a\x1a\xe5\xb3\xe2\x62\x90\xe8\x99\x26\x09\x20\x8a\x40\xc6\x63\xdb\x0d\xf0\xab\x8b\x78\x68\xdd\xf9\x37\x8d\x7b\x68\xe2\x0e\x4d\x2c\xa1\x8b\x3d\x75\x5f\x39\xd3\x8e\xd8\x20\x9d\x15\xb4\xa1\x35\x06\xd8\xaf\x83\x13\x7c\x22\xea\xb5\xd8\xc0\xb6\x67\x7f\xe5\xb9\x17\x64\x46\x04\x61\x11\x39\x40\x6f\xfb\x26\x61\x20\xbf\x98\x49\xda\x18\x10\x0f\x25\x10\x4e\x55\x71\xab\xa7\x95\x44\xdd\x3e\x93\xbc\xcf\x24\xef\x33\xc9\xab\x47\xbd\xcf\x24\xef\x33\xc9\x1b\x73\x20\x62\x92\x10\x45\x5a\xa5\x8a\x73\x78\xfc\x56\x52\x85\xe9\xfd\xeb\x10\x2c\xcc\x5c\x7a\xd9\xe2\x57\xa3\x59\xb8\x0d\x3f\x08\xcd\xc2\x9c\xb5\x75\xe6\x87\xd2\x8f\x0d\x21\xd6\xaf\x6e\x92\xd8\x86\x69\x94\xec\x12\xe7\xf0\xfa\xbb\x64\x1d\xd5\xa1\xf7\x36\x0a\x14\x6c\xdd\xcb\x71\x92\xda\x11\xe8\x36\x71\xeb\x31\x7c\xbf\xf3\x3e\x14\x0e\xda\x46\xf7\x87\xca\x47\xb7\x4e\x4a\x39\x14\x8b\xcd\x57\xc4\x23\x7b\xeb\xcd\x1b\xe7\x4a\xd4\x98\xe1\xbb\x9d\x6e\x6f\xac\xea\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\x2a\xd4\x1b\xab\x36\x36\x56\x7d\x45\x32\x55\x6f\xb8\xea\xc5\xaa\xfd\x4d\xf7\x50\xb5\xcc\x43\xb2\xd6\x75\x46\x49\x2f\x72\xa8\xd6\x46\xde\xdb\x69\xff\x75\x4d\xc8\xfd\x8d\x1b\xc1\xfb\xe1\x57\xf2\xa5\x59\xd2\x2e\x81\xc5\x6e\x47\xbf\xda\xb8\xe2\xbe\x74\x68\xe3\x5a\xf5\x61\xcf\x2b\x16\xa7\x0f\x7b\xee\xc3\x9e\x0f\x2e\xec\x79\xef\xca\x4a\xc6\xe5\x2a\x40\x22\x53\x3a\x6b\x65\xfe\xb3\xbb\xb3\x21\xd1\x08\x48\xc1\xa0\x1c\xc7\x24\x4b\xf8\x12\x2c\x29\x2b\xae\x73\xd7\xc5\x4d\x4d\xa2\x3e\xf4\x1b\xdd\x8d\xfc\xb5\x74\x8e\x43\x91\x49\x8b\x79\x1f\x84\x14\x7a\xf2\xcf\x4a\x3a\x7f\x27\xbc\x4c\x86\xc8\x17\x2a\xe1\x56\x5a\x4f\xd8\x63\xd6\xfc\x24\x28\x5d\x68\xef\xc1\x69\xae\x82\xdc\x3d\xa9\x05\xab\x8c\x08\xb5\x0c\xde\x24\x69\xa6\x96\xff\x35\x66\x54\x79\x0f\x1b\x9d\x33\x2e\x0c\x57\xd3\x1f\x2f\x30\x8b\x13\x22\xf4\xa5\xea\xda\x89\x30\x63\x5c\x81\xb8\x01\x33\x88\xd1\x13\xc5\x46\x38\x19\xde\x5c\x74\xf6\x33\xbf\xa3\xd3\xf5\xda\xc5\xea\xd6\xdc\x75\x9f\x12\x3e\x85\x0a\x96\x79\x59\xa7\xd7\x0d\xf4\x9e\xd1\xd2\xce\xbd\x15\x43\x50\x58\x3e\x56\x81\x43\xca\x59\xe8\x93\x95\x50\x22\x6b\xde\x2d\x61\xcc\xaf\x7e\xb5\x02\x37\x52\x7e\x66\x01\x48\xe0\x31\x0c\xb9\x3a\x0e\xf7\x63\xd8\xa1\xfb\xad\x68\xd9\xfd\xe2\x4a\x77\xc3\x8f\x82\x28\xb1\x9c\x60\xa5\x34\x93\xd9\x27\xc6\xc9\x3d\x96\x8f\x9d\x31\x4e\x4a\x2f\x1f\x38\xcb\x29\x61\x9c\x94\x07\xfe\xe2\x2c\xa7\x23\x75\xae\xe1\x4c\xef\x2f\x3f\xbe\xeb\x59\xdb\x60\xe2\xbf\x96\x5c\xf9\x6e\xbc\x67\x9d\x99\xf6\x3d\xe6\xcd\xaf\x62\xa6\x07\x33\xc2\x0a\x3f\xff\x1a\x4f\x6e\xf9\x76\xea\x8f\xe8\xaa\x35\xfa\xea\x0a\xe1\x56\x84\x8e\x35\x73\x7b\x27\x05\x71\xab\x72\xd3\xbe\x47\xf5\x32\x66\xee\x60\x37\x36\x89\x01\xba\x28\xa3\x95\xfb\x33\xe4\xa2\x82\x8a\xd2\xb3\x0b\x48\xb4\xa6\x32\x4c\x88\x8f\xb8\x30\x92\x57\x6c\xcf\xac\x31\xdb\x19\x30\xdf\x53\x34\x44\xb1\xad\xcd\x2f\x48\x26\x88\x24\x4c\x19\x55\xdb\xd4\xbb\x72\xe5\xfd\x29\xb3\x16\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\xf4\x85\xfd\xa9\x44\x38\x91\x1c\x61\x47\x38\x24\x76\x4d\x60\x16\x3b\xf6\x80\x51\xc4\xd3\x8c\x26\x1e\xa9\xdd\x5b\xf1\x29\x8b\xe9\x13\x8d\x73\x9c\x78\x64\xec\x31\x1b\x3d\x11\xa6\x72\x50\xe1\x70\x92\x20\xdb\xad\x7b\x21\xd0\xcf\xdd\x28\x25\x4d\x69\x82\x05\x52\xdc\x8e\xf6\xda\xb6\x85\xee\x17\xc4\x8f\xd5\xa1\x80\xa3\x14\x3f\x12\x89\xa8\x42\x19\x97\x92\x4e\x93\xe2\x18\x3f\x5c\x20\x18\xf7\xd9\xe5\x05\x98\x46\x23\x85\xb8\xe1\x83\xae\x73\xeb\x27\x70\x3d\xa6\x98\x31\x02\x1d\x73\xb5\x20\xc2\x76\x6f\x5f\x7e\x6b\x2b\xe7\x5b\x63\x44\xb7\x5b\x4c\xc3\x91\xbd\x9d\xd2\xd9\x59\xe3\xec\xaa\x6e\x76\xd3\x35\xdb\x15\xcd\x17\xf0\xd2\x76\xd7\x06\x2f\xa9\x2c\xab\x83\xef\xc2\x65\x5b\x1a\xf1\x6b\xe0\xa3\xfd\x4a\x15\xc1\x5e\x0b\x7c\x91\x75\xfb\x5a\x55\xc0\x03\xd7\xff\x7a\x64\xb7\x1e\xc5\xbe\x0f\xc0\xd8\xe3\xe2\xf4\x01\x18\x7d\x00\xc6\x57\x1b\x80\xd1\xae\x4d\xd0\x78\xe7\x74\xbd\x0d\x2b\x48\x79\xa3\x80\xf8\x2b\x88\x52\x58\x3e\x76\xad\x29\xa5\x45\xe5\x8b\xf8\x5d\x48\xf5\x8d\x13\x7e\x0d\xe9\xbe\xaf\x53\xb4\xd7\x3a\x45\x07\x37\xed\x5e\xf0\xeb\x05\xbf\x5e\xb6\xe9\x38\xe1\x5e\xb6\x39\x5c\xd9\xe6\xad\x14\x96\xaf\x09\x42\x57\x0b\x4f\xa5\xcc\x98\x95\x01\xb6\x06\x8e\x06\xdc\x03\x79\x96\x70\x1c\xaf\x0b\xc2\xf9\x2b\x2a\xe4\x9a\x15\xa2\x99\x69\x57\x7f\x70\xe0\x92\x59\x2d\xfe\xc6\x8c\xfc\xd7\x10\x53\xdb\x3a\xf5\x37\x0d\xab\x05\xfa\x85\x60\xb2\x52\x50\xda\x4b\x69\x21\x55\x9a\xee\xa4\x70\xc8\xdf\x1f\x38\x55\xfb\x2d\x7d\x0d\xf5\xe2\x2b\x76\x10\xf4\x4e\x80\x5f\x67\xe1\xf3\x83\x91\x5a\x7b\xd5\xae\xcf\xaa\xec\x8d\xfa\xbd\xe2\xdb\x2b\xbe\x7b\x5f\xc6\x43\x52\x7c\xdf\x50\xa2\x36\x69\x22\x2f\x52\xc6\x70\x3b\xd9\xba\x17\xad\x7b\xd1\xba\x17\xad\xbf\x5a\xd1\xfa\x30\x56\xb8\x97\xab\x7b\xb9\xba\x97\xab\x7b\xb9\xba\x97\xab\xf7\xbe\x8c\xbd\x5c\x5d\x91\xab\xe1\x2f\x97\x26\xbd\xa9\x90\xdd\x59\xb8\xee\x90\x13\xfd\x5e\x24\xeb\x5e\xaa\xee\xa5\xea\xc3\x96\xaa\x0f\x66\x42\x5f\x5f\x22\x64\x9f\x4a\xd8\xa7\x12\xf6\xa9\x84\x6f\x91\x4a\xe8\x78\xc9\x2a\x09\xa5\x2e\x58\xfc\x5c\xe3\x40\x07\x2b\x5b\x14\xa3\xdd\x36\xbc\x63\x5f\x4b\xed\x80\xe6\xb7\xa9\x34\x55\xfa\xcd\x35\x74\x40\xf5\xa7\x06\x4e\x5a\xd0\x8c\xc2\x8d\x6f\x3d\x42\xd8\x2f\xf6\xcd\xf7\x05\x06\x5e\x1f\x75\x5f\x7f\x0a\x05\xbb\xd6\xd7\x9f\x7a\xc1\x79\xbb\xc3\xb5\x66\xe6\x8e\x46\x8d\x8d\xf7\x9d\x4e\xfb\xcd\xc1\xe5\xda\x4f\xfa\x9b\x86\xcb\x35\xde\x24\xb5\xe4\x9d\x93\x7f\x36\x5e\x14\x6f\x50\x76\x6b\xe3\xdb\xe1\x13\x51\x5f\xcb\xd5\xd0\x97\xdd\xea\xeb\x43\xec\x69\xba\x5b\xb1\xfe\x77\x3b\xdb\xbe\xc8\x58\x5f\x64\xac\x2f\x32\xd6\x17\x19\xeb\x8b\x8c\xa1\x5f\x79\x91\xb1\x8d\xc5\x47\x33\x8e\xaf\x45\x82\xec\x8b\x8c\xf5\x42\xe4\xfe\xa6\xfb\xeb\x12\x22\x0f\xd0\x82\x70\x10\xd5\xd4\xbc\x05\xe1\xcd\x71\x3f\xdc\x48\xba\x62\x7f\xb8\x05\xed\xf1\x3f\xec\xff\xf5\xf8\x1f\x3d\xfe\x47\xcb\xac\xfb\x60\xd6\x1e\xff\x03\xf5\xe1\x9a\x7d\xb8\xe6\x21\x87\x6b\x76\xd8\xc6\x1e\xff\xa3\xa3\x38\xf7\x42\x18\x20\x4e\xe6\xda\x08\x07\xe4\x97\xba\xa2\x71\xb0\x52\x9a\x1b\xeb\xaf\x07\x07\xa4\x71\xda\x07\xa1\x92\xbc\x22\x0e\x48\x13\x5d\x77\x56\x40\xde\x07\x1e\x88\x1b\x6d\x9f\xb8\xd8\x87\x58\x1f\x7e\x88\xf5\xc1\x25\x2e\x1e\x8c\x24\xdb\xab\x7b\x7d\xee\x62\x9f\xbb\xd8\x2b\xc3\xbd\x32\xbc\xf7\x65\x3c\x24\x65\xf8\x8d\x25\xec\x17\xc4\x05\xd9\x4d\xd6\xee\x45\x6d\xf3\x5e\x2f\x6a\xf7\xa2\xf6\x57\x2a\x6a\x1f\xc6\x0a\xf7\x72\x76\x2f\x67\xf7\x72\x76\x2f\x67\xf7\x72\xf6\xde\x97\xb1\x97\xb3\x5f\x0d\x27\xa4\x49\xd8\xee\x98\x6f\xf3\x9e\x24\xed\x5e\xca\xee\xa5\xec\xc3\x96\xb2\x0f\x66\x42\x3d\x66\x48\x8f\x19\xd2\x63\x86\xf4\x98\x21\x5b\xc9\x37\xff\x66\x8f\xe5\x87\xe0\x26\xf6\x57\xf6\x87\x1f\x12\x3e\xbd\x5f\x66\x44\xff\xf7\x9c\xa6\x84\x49\x90\x46\xa9\x5a\x86\xf2\x4c\xcb\xca\xd7\xd7\xfc\xc3\xdd\xc5\xd5\xa7\xcb\x30\x9b\xe6\xc3\xe7\x87\xcb\xfb\x8b\x9b\xe1\xad\x5f\x17\x3f\xab\x70\x2d\xec\x77\x25\x91\xcc\x92\xfc\x2d\xd1\xba\x27\x9c\x9a\x3b\x85\x55\x2e\xb7\x1b\xd9\xed\xe8\x6e\x74\xfb\x33\x64\x03\x4d\xce\x2f\xee\x86\x3f\x5c\x96\x08\xa2\xf4\x7c\x78\xf6\xe7\x87\x8b\xdb\xf6\xe7\xa3\xff\xbe\xb8\xbb\xbf\x6b\x7b\x7a\x3b\xba\x1c\x0d\xef\xda\xbf\xfe\x38\xbc\xb8\x7c\xb8\x1d\xad\x5c\x8f\x95\xa3\x5d\xad\x84\x48\x58\x24\x88\xf3\x47\x91\xe5\x1a\xa2\x58\x43\xe4\xc5\x47\xc7\x0e\x9b\xfa\x3a\x45\x0f\x56\xa7\xa7\xb6\x71\xc3\x60\x83\x86\x8c\x32\x12\x53\x89\xa7\x09\x89\x6b\x2d\xb9\x35\x6c\x6b\x09\x97\x06\xf5\xac\xb5\x67\x2f\x72\x6a\x9e\x17\x19\x5e\x80\x20\x47\x51\x11\x16\x37\xf4\x61\xf6\xa1\xb5\x07\xa6\x79\x17\x7d\x22\xa5\x9e\xa2\x5c\x08\xc2\x54\xb2\x44\xe4\x0b\x95\x4a\xd6\x1a\x75\xdb\xd7\xd6\xac\xbd\x53\x7d\x83\x0b\x2c\xd1\x94\x10\x56\x1e\xbf\x20\x09\xc1\xb2\x61\xcc\x76\xf7\xbb\x2d\x8b\xdf\x2b\x6b\x8d\x31\x97\xd1\x0c\xd3\x24\x17\xa4\x72\x5a\x78\x9a\x61\x41\x25\x67\xa3\x2f\xfa\x2e\xd3\x07\xf9\x1a\x3e\xe7\x62\xbb\x13\x33\xfa\x73\x48\xc1\x57\xe5\x7f\x7e\xba\x2f\xff\xab\x74\xe6\x2f\xef\xcb\xff\x5a\x4d\xeb\x41\xc3\x55\xca\x3e\x42\x9f\xee\x4f\xd1\x27\x08\x71\x12\xe8\x7e\x81\x0d\xc5\x5e\xde\x9f\xa2\x4b\x22\x25\xfc\x52\x7c\xac\xa8\x4a\x60\x6e\x3f\x50\x86\xc5\x12\xb9\xe9\x9b\x44\x57\x1c\x2d\x10\xf1\x4b\x53\x5d\x3c\xf6\xb7\x9c\x81\xea\x5e\xac\xde\x25\x9f\xd3\x08\x27\xbb\x2d\xe2\xf0\xaa\xc4\x07\xae\x6f\x57\x2e\x45\xf8\x76\x7d\x2d\x86\x57\xe7\x90\x44\xea\x86\xda\x30\xf3\x2b\x22\x35\x91\x44\x9c\xc5\xd6\x4b\xa3\x6f\xff\x65\x20\xd4\xff\x8d\x43\x22\x6e\x2e\x29\x9b\xeb\x16\xd1\x09\xba\xbe\x1d\xb3\x6b\x11\x1b\x43\x28\xd1\xd2\xb0\xa1\x39\x2a\x11\xe3\x0a\xd1\x34\xe3\x42\x61\xa6\xb4\x22\x00\x62\x80\x5d\x11\xc3\x01\xce\x78\x9a\xe6\x0a\xeb\x83\x56\x5b\x54\x66\xcc\x21\x77\x44\x5d\xc4\xe0\x5a\x69\x58\x43\x23\x27\x14\x73\xc9\x84\x6e\x5f\xcb\x28\x65\x1d\x9a\xc6\x35\x55\xd6\x35\x81\x85\xc0\x65\x69\xe2\x03\x55\x24\xad\xbe\xdf\x31\xc8\xf3\x5f\x8d\x06\x82\x33\x93\x54\x41\xc4\x50\x44\x0b\xaa\x48\xa4\xf4\x11\xdc\x8a\x26\x1e\xae\x7e\xba\xba\xfe\x25\x94\x20\x3e\x0c\x3f\x9f\xff\xf1\x3f\x4a\x3f\xdc\x7e\xae\xfd\x30\xf9\xf9\x8f\xb5\x5f\xfe\x3f\x2b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x04\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x9c\x20\x99\x67\x9a\x02\xe4\x71\x79\x7f\xb5\x48\x79\xc9\x71\x4c\xd9\xdc\x64\x80\x5e\x52\x45\x04\x4e\x3e\xe3\xec\xa3\xb3\x5f\x6f\xb1\x3a\xff\xe7\xae\x94\xaf\xfb\xe1\x2f\xc3\xcf\x61\xc6\xef\x87\x9b\xdb\xeb\xfb\xeb\x95\xb3\x2e\xb5\x50\x3f\x46\xfa\xf1\x29\xfc\x2f\x3a\x41\xba\x75\x2f\xf9\xa6\x44\x61\xad\x11\xa0\x6f\x4d\xd2\x9c\x4f\xa4\xa1\x2c\x81\x53\x93\x09\x9a\x52\xb8\x52\x8c\x05\xef\x3b\x23\x5c\x7b\xed\xc1\x9f\x1b\xf3\x01\x68\xcb\xee\x52\x66\x31\x16\x31\xfa\x9b\xac\xa6\x8f\x83\xe1\xd8\xfc\x40\x62\x74\x84\x16\x4a\x65\xf2\xf4\xe4\xe4\xf9\xf9\xf9\x58\xbf\x7d\xcc\xc5\xfc\x44\xff\x71\x44\xd8\xf1\x42\xa5\x89\x49\x97\xd7\xab\x70\x8a\x6e\x04\xd7\x57\x08\x28\xe8\x44\x50\x9c\xd0\x7f\x90\x18\x4d\x0d\xff\xe3\x33\xf4\xd7\x88\x0b\x72\x5c\x6c\x8c\x35\x2a\xd9\x7b\xc4\x1a\x9e\x4e\xf4\x4b\x0d\xcc\xa4\xba\x9f\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xf2\x68\x7c\x15\xba\x3d\x97\x69\xa8\x35\x9a\x2c\x57\xc5\x72\x06\xca\x0a\x8e\x49\x90\xed\xae\x78\x99\xe0\xb4\xe2\x73\x61\xd4\xd6\x5c\xab\xe8\xfa\x6e\xc5\x70\xab\xba\x57\x33\x3d\xe1\x88\x27\x68\x9a\xcf\x66\x44\x84\x0e\xe9\x81\xd6\x66\xa8\x44\x82\x44\x3c\x4d\x41\x62\xd0\x5f\xe5\xd2\x50\x35\xac\x98\x1d\xed\xf1\x98\xc1\xfe\x6b\x35\x07\x28\x20\xe6\xc0\xea\x18\x21\x31\xc2\x6c\x69\xba\x99\xe6\xb3\xb0\x7d\x03\x43\x81\x63\x44\xd5\x98\x0d\x93\x04\x09\x92\x72\x45\x82\x1c\x4a\x70\x9e\x95\x17\x1c\x58\xa4\x20\x59\x82\x23\x12\x1b\x7a\x48\x78\x84\x13\x34\xa3\x09\x91\x4b\xa9\x48\x1a\x36\xf0\x2d\xd8\x6a\xf4\x9a\x51\x89\x62\xfe\xcc\x12\x8e\xed\x3c\xaa\x9f\x7d\x57\x3e\x8d\x23\x07\x11\x30\x12\x82\x0b\xf8\x9f\x9f\x28\x8b\xf7\xc6\xa1\x1e\xee\x46\xb7\xe1\xbf\xef\xfe\x72\x77\x3f\xfa\xbc\x19\xf7\xf1\x94\x05\xc3\x03\x1d\xfe\x14\xdd\x99\x45\xe0\x42\x4b\x44\xa2\x65\x52\x9f\x2d\x29\x15\x3f\xf0\x78\x4b\xee\xfb\x79\x78\xf5\x30\x2c\x71\x94\xbb\xb3\x1f\x47\xe7\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xec\xc7\x8b\xcb\xf3\x49\x83\xc2\xf8\xe1\x76\x74\x76\xfd\xf3\xe8\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xc1\x63\x34\x5d\x36\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x05\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x81\x7d\x07\x90\x34\x8c\x71\xc5\x48\xcc\xcd\x0d\xeb\xde\x31\x0b\x0c\x15\x06\xe4\xc2\x2f\xdc\x29\x1a\x22\xa9\x5f\xcc\xf5\xa1\x16\x74\x3e\x07\xc3\x61\x65\xa8\xa6\x35\xfb\x29\x2c\x2f\x7c\x67\xf6\x3f\x13\x1c\xce\xb9\xee\xd6\x5a\x9c\xbd\x55\xc2\x7c\x08\xa8\x2b\xe5\x16\x05\x06\x83\x43\xc3\xd0\xdc\x66\xe9\x45\x68\x5d\x2f\x73\x1e\x8d\xbd\x48\x1f\x2e\x60\x5b\xd2\xd8\x3b\x33\x41\x9e\x28\xcf\x83\x4f\x2d\xb0\x47\x69\xc7\x1b\x9b\x2f\x16\x00\x96\xcd\x18\x45\x2a\xcd\x78\xf2\x68\x6c\x41\xb3\xb0\x27\x68\x61\x26\x78\xda\xd0\x46\xf9\x98\x5c\x5c\xdf\x29\x81\x15\x99\x2f\xcf\x2d\xcb\xd8\xfe\x78\x9c\x5f\xff\x72\x75\x79\x3d\x3c\x9f\x8c\x86\x9f\xca\x27\xde\x3f\xb9\xbb\xbf\x1d\x0d\x3f\x97\x1f\x4d\xae\xae\xef\x27\xee\x8d\x95\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x8a\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x25\x33\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x53\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb1\xf8\xe8\x7a\x76\x74\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x63\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd1\x25\x16\xf3\xc2\x0e\xf7\x2d\x9f\xcd\x4c\x63\xdf\x99\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\x76\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xea\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xa6\xb5\xcd\x06\x5a\x22\x5f\xa8\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x0c\x10\x67\x60\x70\xf0\x42\x44\x85\x22\x3b\xd0\x80\x69\xab\x46\x01\x37\x80\xb6\x74\x6d\x91\x8d\x3e\x53\xa9\x95\x46\xf3\xe3\x0f\x16\x72\x69\x3b\x82\xf8\x38\xbc\xb8\xac\x08\x17\x93\xf3\xd1\xc7\xe1\xc3\xe5\x6a\x33\x61\xe9\xbb\xea\x16\xa3\x23\xa4\x9f\x97\xfd\xe6\x74\x66\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x97\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\x67\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x23\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x5b\x9e\xb1\xe1\xd9\xfd\xc5\xcf\xa3\xb2\x7e\x78\xf6\xe3\xc5\xcf\x4d\x52\xcd\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x23\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x94\x02\x40\x98\xf5\x44\x3e\x5c\x00\x67\x7d\xc2\x09\x8d\xa9\x5a\x3a\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x14\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x13\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x73\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\xdf\x68\x99\x2b\x4b\x68\x44\x55\xb2\x44\x11\xd8\xb0\xc0\x9c\x99\x62\x86\xe7\x56\x38\x00\x35\xa7\x42\x12\x7f\x36\x28\x6a\xd7\x33\x6b\xda\xbf\xa7\x64\xcb\x63\xf6\x70\x75\x3e\xfa\x78\x71\x55\x26\x81\x1f\x2f\x3e\x95\x44\xd8\xcf\xa3\xf3\x8b\x87\xd2\x6d\xae\x25\xd9\xd5\x72\x7d\xb5\xd9\x86\xa3\xe8\x5f\x3a\x45\xe7\xe6\xd3\x53\xbd\xb8\x0d\x10\x71\x5e\xf9\xad\xac\xc3\xad\x0b\xc9\x73\x7f\x8c\x98\x12\x8d\x7e\x89\xae\x26\x24\xeb\x83\x2c\xd9\x90\x9a\x43\x15\x6a\x7d\x5f\x55\x9d\xca\xd5\x29\xbb\x17\x21\xe8\xf2\xb8\xb0\x2c\x85\x31\x0c\x60\x34\x68\x33\x62\x35\xb8\xb5\x0a\x86\xfd\x33\xb8\xa8\xd3\x5c\x2a\xe3\x4a\x04\xe2\x44\x8f\x7f\x92\x7a\x41\xc1\xd5\x78\x8c\xee\x08\x19\x33\x67\x3d\x98\x53\xb5\xc8\xa7\xc7\x11\x4f\x4f\x0a\x7c\xc2\x13\x9c\xd1\x14\x6b\x49\x9a\x88\xe5\xc9\x34\xe1\xd3\x93\x14\x4b\x45\xc4\x49\xf6\x38\x87\x08\x18\xe7\x4e\x3d\xf1\xcd\xce\xf9\xbf\x5f\xfe\xe1\xfb\xa3\xcb\x3f\x7d\xff\xa1\x6e\x21\x6b\xdb\xff\x11\x8b\x70\x26\xf3\xc4\x46\xcc\x89\x70\x6d\xdc\x91\xcf\xc9\xba\xfd\xbe\x2a\x6f\xd7\x6e\xfa\xeb\xd9\xcd\x43\xc9\x62\x5d\xfe\xe7\xe7\xd1\xe7\xeb\xdb\xbf\x94\x38\xe5\xfd\xf5\xed\xf0\x53\x89\xa1\x8e\x6e\x7e\x1c\x7d\x1e\xdd\x0e\x2f\x27\xee\xe1\x2e\xb6\xb7\x9f\x18\x7f\x66\xe5\xa5\x91\x8e\x03\xd6\x7a\x3a\x45\x1f\xb9\x40\x3f\xf9\x9d\x3c\x9a\x62\x09\x57\x8c\xbb\xb3\xe4\x00\x65\x3c\x06\xc6\x8b\x48\xb6\x20\x29\x11\x38\xb1\x36\x03\xa9\xb8\xc0\x73\x73\xd3\xcb\x48\x60\x15\x2d\x90\xcc\x70\x44\x06\x28\x02\x6a\x98\x0f\x60\x53\x40\xd5\xe2\xf3\xaa\x9d\xef\x36\x67\x8a\xa6\xc4\xa9\xe0\xf6\x9f\xf7\x66\x33\xb6\xd8\x9c\xeb\xfb\x1f\xcb\xc2\xde\xc7\xcb\xbf\xdc\x8f\x26\x77\xe7\x3f\xad\x5c\x4f\xf3\x59\x69\x64\x77\x10\x80\x74\xc6\x93\x3c\x65\xe1\xdf\xdb\x8f\xed\xe2\xea\x7e\xf4\xa9\x3a\xba\xeb\xe1\x7d\x99\x32\x6e\xcb\x01\x6e\x1f\x7e\xb8\xbe\xbe\x1c\x95\x5c\xc2\x1f\xce\x87\xf7\xa3\xfb\x8b\xcf\x25\xfa\x39\x7f\xb8\x35\x68\x84\xab\xa6\xe9\x46\xd0\x30\x51\x3d\xad\x70\x9a\xfb\x66\x85\x9d\x38\xd1\xd0\x06\x94\x9b\xb3\x7c\x14\xc0\xed\x98\x70\x30\xb0\xea\x1c\x79\x93\x6a\x64\x46\xda\xc8\x0e\x55\x79\x9b\x50\x3b\x3b\x5e\xb9\xd1\xab\xb8\xf2\xbd\x1f\x82\x81\x02\x35\xca\x36\x4e\x12\xfe\x6c\x42\x79\x53\xaa\x6f\x65\x0b\x8c\xa6\x5f\x91\x85\x87\xf0\xb8\x81\xe3\x95\xb7\x85\x44\x82\xa8\xcf\x3c\x67\x6a\x7b\x92\x1b\x5e\x95\xf8\xce\xe8\xea\xe7\xc9\xcf\xc3\x32\x05\x5e\x5c\xae\x66\x35\x61\x13\x0d\x57\xf1\xf0\xea\x2f\xfe\x12\x86\x80\xef\x81\xd7\x50\x8d\xec\x1a\x25\x54\x8b\xbd\x11\xd6\xda\x6b\x02\x12\x0d\x22\x14\x4c\x0e\xa9\x9e\x1c\x04\x98\x66\xc6\x9f\x64\xf8\x93\x19\xe4\xa9\xfb\xa3\xd2\x9e\x84\x75\x01\x6b\xaa\x8b\xa7\x87\x76\xac\x56\xcd\x10\x61\x4f\x54\x70\xc0\xb3\x45\x4f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\x4f\xe1\x7f\x37\x6b\x13\x0c\xa3\x15\xc6\x75\xc7\x85\x3a\xf7\x81\xbc\xdb\x59\x43\x9a\x02\x5a\xeb\xa1\xac\xcd\x86\x8e\xfa\xb7\x0d\x9b\xb3\x63\xc0\x6f\x79\xc2\x7f\x4f\xce\x29\x4e\x34\x03\xd8\x9f\xbc\x38\xbc\xba\xbb\x28\xcb\x8f\x65\x35\x23\xe0\xcb\x5b\xcb\x8b\x60\xa8\x34\x23\x77\xca\xc4\xdd\x9f\x2f\x8d\x76\x01\xa0\xc7\xe6\xdc\x06\x8a\x05\x08\x40\x0e\x05\x25\xc3\x42\x56\xbe\x90\x08\x80\xd0\x8a\x80\x2b\x7d\x67\x41\x38\xd3\x13\xa7\xf1\x98\x91\x2f\x19\x61\x12\x82\x03\xcc\x7d\x56\xf8\xda\xe5\x31\xba\x98\x01\x4b\xd0\xaf\x33\x94\x33\xeb\x00\xd3\x17\xae\x19\xe4\x40\x8b\xb2\x76\x08\x5e\x43\x04\xc3\x0b\x23\x2e\x58\xaa\x18\xfc\x98\xfd\xe2\x9d\x68\xf0\x68\xc6\x35\x03\xd2\xbb\x68\xdb\x3b\x45\x98\x49\x3a\x40\x5a\x61\xa9\xee\x29\xa4\x0e\x68\x85\xd2\x86\x70\x69\x4e\x63\xff\x7c\xfd\x6b\xa0\x16\x27\x1c\x5e\x06\xcd\x77\x41\xe5\x2a\x68\x11\x8d\x13\xe3\x31\x99\x74\xbf\x13\x22\x2e\x88\xf5\xb3\x6c\x7c\x0d\xac\x63\xec\xf7\x58\x3e\xd6\x7c\x0f\x17\x4c\x2a\xcc\x22\x72\x96\x60\xb9\x65\x10\x92\xb3\x71\x0c\xca\x12\xc7\xed\xed\xc3\xcd\xfd\xc5\x0f\x6b\xb8\x7c\xf5\xe3\x7a\x18\x50\x94\xe4\xce\x3d\x37\x15\x1c\xc7\x48\xb3\xcf\x39\x37\xae\x40\x2b\xf8\x17\xd0\xdf\x26\xaf\xc7\x07\x54\x96\x60\xc7\x8b\x74\x04\x6b\xe7\x08\x5d\x09\xd4\x2e\x04\x8a\xf4\x4a\xa0\xc0\xe4\xe1\xb6\x1a\x3c\x8b\xa6\x20\x89\xb5\x6e\x65\x09\x56\x33\x2e\x52\xc3\xe5\x4b\x93\x36\x8d\xaf\x6e\x94\x32\x45\x84\xc8\x33\x45\x1d\x96\x7b\x55\x4a\x85\x0a\xef\x7c\xfe\x99\x48\x89\xe7\x64\x17\x07\x74\x93\xf2\x70\xf7\x73\xf8\x4f\x70\x30\x77\x91\xfd\x4b\x23\x74\x91\xef\x8e\x9e\xae\xd9\x47\x13\xc8\x73\xc3\x13\x1a\x6d\x19\x70\xf7\x71\x78\x71\x39\xb9\xf8\xac\x95\xf8\xe1\xfd\xe8\xb2\x24\x4a\xc0\xb3\xe1\xc7\xfb\xd1\xad\x05\xb1\x1e\xfe\x70\x39\x9a\x5c\x5d\x9f\x8f\xee\x26\x67\xd7\x9f\x6f\x2e\x47\x6b\x22\x73\x5a\x1b\xaf\x5b\x57\xab\xaf\x9e\xd6\x7e\x81\x1d\xd6\xbc\x2c\xb4\x97\x41\xd6\x18\xa6\x09\x38\xc1\xb9\x71\x86\x63\xc4\x78\x4c\xe0\x67\xe9\xac\x33\x1e\x39\x1a\x5d\xa8\x6f\x92\x04\xe1\x5c\xf1\x14\x83\xd7\x26\x59\x8e\x19\x9e\x6a\xd6\x8a\x93\x24\x08\xef\x12\x39\x63\x9a\xc5\xea\xc6\x0c\x44\x7b\x94\x10\xcd\xce\xb3\x20\xd9\xcf\xfa\x0d\x66\x94\x41\xa4\x6d\x8a\xc5\xa3\x71\x33\x15\x5d\x16\x87\x42\x22\x2c\xc7\x4c\x8f\x8b\x58\xc3\x50\x97\x15\x3e\xed\xf4\x56\xeb\xea\xa4\xf8\x91\xe8\x55\x49\xf3\x68\x81\x32\xc1\xe7\x82\x48\x69\x6d\xcb\x11\x66\x26\x00\xc1\xbe\xae\xaf\xa1\x31\x63\x5c\x2f\x85\x33\x61\xc7\x24\x23\x2c\x26\x2c\xa2\x26\xad\x0f\x7c\xf7\xde\xb4\x39\x17\x38\x5b\x20\xc9\xc1\xe9\x0d\xcb\x0e\xf6\x2b\xf3\x91\xbb\xc9\xcc\x8c\xcd\xe3\xd0\x02\x2d\x72\xcd\x27\xae\x41\x4e\x34\xab\x0c\x1f\xbb\xcb\xd0\xb9\x5d\x8c\x1d\x30\xcd\x12\xa2\x0c\x58\x3f\x2c\x39\x6c\x86\x5e\xeb\xd2\x7e\xe8\x6d\x6a\xda\x04\x7d\x61\xbb\x31\x63\x69\x47\x74\xdc\x60\xd9\xb6\x47\x0a\xfd\x88\x59\x9c\xe8\x56\x9c\x0f\xa3\x7c\x16\x21\x15\x65\xa8\xa9\xc6\x9d\xc6\x5d\x6e\xd1\x08\xe7\x72\x97\x6b\xb4\x92\x8b\x69\xac\x82\x47\x45\x50\x08\x90\xb7\x4d\xc4\x84\xd5\xcd\x34\x8b\xc4\x09\xb7\xab\x64\x5e\xcf\x4d\xfd\x27\x04\xa3\x69\xb9\x66\x33\x41\x59\x44\x33\x9c\x6c\xa5\xfb\x55\x82\xf1\x6d\x8c\xfb\xb7\x74\xa6\xc9\xe7\xbb\x9a\xdb\x56\x11\x91\x42\x82\xb2\x1d\xa6\xdf\xc2\x0d\x2c\x49\x36\xab\x81\xc8\x22\x9a\x04\x0b\x9e\x1b\x7f\x1c\xac\x0b\x89\x1b\x8e\xea\x71\xd3\x76\xeb\x93\x81\xcb\x01\xd0\x5b\x6c\xb6\x89\xfc\x69\x5b\xbf\x4a\x2b\xb6\x77\x13\x8c\x87\x93\x9b\xe6\x36\x9b\x76\x20\x78\xf8\xaf\x55\xb4\xf3\x19\x67\x9a\x66\x2c\x6c\x3f\x2e\xe6\x68\x95\x24\x5b\x15\xcc\xc5\xcf\x04\xbe\x73\x9f\x17\xd2\x7d\x37\x8a\x25\xb4\x01\x50\xf5\x4e\x4a\x31\x04\x41\x8e\xb9\xa5\xf1\x59\xae\x65\x59\x84\x21\x0a\x01\x7d\x4b\x8e\xe7\xc7\xc8\x15\x61\x18\xa0\xe1\xcd\xcd\xe8\xea\x7c\x80\x88\x8a\xbe\x73\x31\x8b\x36\x60\x69\xcc\x14\xb7\xd2\xca\xd2\x15\xd0\x48\x89\x98\x93\xd2\x9c\x5d\x74\x13\x84\x2a\xcf\xa9\x54\x36\x7c\x56\xf3\x95\xa0\xd4\x09\x4d\xab\x62\xb6\xa1\x90\x5c\x2d\x76\x21\x0d\x2c\x65\x9e\x6a\x5d\x76\x42\x71\x3a\x11\x3c\xd9\x85\x29\x9c\xc3\x54\x40\x5d\xf6\xe9\xf9\x14\xa7\x48\x37\x6b\x43\x41\xbc\xcb\xd1\x8b\x74\x5a\x30\xd2\x7c\x59\xdf\x9b\xc1\xbd\xe5\xbc\x0f\x36\x1e\x8d\xba\x10\x08\x48\xdf\x6f\x61\x15\x85\xd9\x78\x62\x2d\xf5\x13\x1c\x45\x5a\xe5\xde\xf3\xa4\x82\xfa\x39\xce\x25\x60\x3b\x7a\xb1\x69\xae\xa3\x73\x37\xcc\x4c\x73\x30\x08\x06\xd6\x57\xae\xe4\x11\x2d\xda\x6f\xe8\x77\xba\xac\xf5\xea\x2a\xdc\x3c\x48\x6f\x52\x31\x97\xb0\x24\xb0\x93\xd2\x54\xc8\x51\x0b\xb2\x44\x0b\xfc\x44\x4a\x5d\xba\x84\x18\xdd\xf0\x92\xe7\xa2\x89\xd1\x8d\xd9\x39\xc9\x04\xd1\x92\x7e\xd5\x81\xe2\x69\xfa\xb6\x4c\x89\x3d\x5d\xf7\x74\xfd\xee\xe9\xfa\xcc\x14\x4a\x1a\xfa\xc2\x58\x3b\x09\x70\xa6\xb1\x49\xc6\x79\x32\xe9\x60\x13\xe9\xbe\xe2\x25\x4f\x58\xa5\x6c\x14\x40\x02\xf0\x1c\xe4\xa3\xd2\xb5\xc9\xf5\x5d\x17\xa4\xd8\xda\xe1\xad\x58\x06\xe7\x32\x0b\xea\xe5\xec\x72\xde\x9b\x5a\x59\xd5\x12\x7a\x71\x31\xe7\xcc\xc8\x37\xde\x5d\x16\xd6\x3f\x2d\x1d\x26\x27\x8a\x50\x56\xab\xc6\x66\xe8\x59\x2f\xb0\x91\x3b\xfe\x9e\x73\x85\xe5\x77\xc7\x63\xa6\x85\xa8\x47\xb2\x34\xe6\x56\x2d\xa6\xfc\x46\xcb\xe2\x47\x92\x30\x09\xe1\xde\xbf\x31\xee\x39\x4d\xe2\xce\x5c\x6d\x54\x53\x53\x04\x0e\x82\xae\x7d\x2f\x10\xa2\x6b\x1b\xb5\x52\x52\x11\x00\x0d\x72\xbe\x99\x8b\x7d\x66\x86\x3f\x27\x0a\x52\xac\x15\x55\xa0\x33\xc5\xa6\xca\x5c\x6d\xe8\x6b\x4d\x57\x86\x2a\x04\x07\x3f\x49\x9c\xef\xc6\xf8\x65\xbd\x8d\xb5\x9c\xd1\x6b\x0b\x77\x36\xe6\xfd\xc4\xd9\x8d\x22\xc1\x6b\xa5\xdb\xb0\x44\x66\xa7\xa7\x86\x1d\x38\xff\x35\x61\xc7\xcf\xf4\x91\x66\x24\xa6\x18\x22\xe0\xf5\xbf\x4e\xf4\xbc\xfe\xfd\xec\xf6\xfa\x6a\x52\x64\xf2\xfc\xd7\x98\x0d\x13\xc9\x7d\x96\x02\x62\x9c\xf9\x70\xfb\x4c\x10\x27\x12\xda\xb9\x80\xd5\xb5\x30\x23\x8e\x59\xdb\x08\x62\x1e\xc9\x63\xfc\x2c\x8f\x71\x8a\xff\xc1\x19\xb8\xd2\x87\xf0\xe7\x59\xc2\xf3\xf8\x17\xac\xa2\xc5\x09\x9c\x6b\x75\x42\x9e\x08\x53\xc6\x4d\xa5\x97\x2b\x86\xe4\x5d\x09\xd1\xfa\xff\xae\xc7\x5c\x24\x15\x49\xad\xc9\x46\x24\x53\xe8\xff\x27\xc8\x94\x73\xd5\x7c\x49\xf1\xd9\x4c\x92\x8d\x2e\xa4\x42\x49\xbb\xbb\x46\x7f\xfa\xe3\xf7\xbf\xd3\x24\xb4\xcd\x1a\x5f\xdc\x5d\x4f\xf4\xf7\xff\x7e\x6e\xbf\x97\x1b\xb0\xbb\xeb\xac\x60\x6d\x8e\x78\x4c\xe0\x7c\xce\xe0\xf6\x13\xe0\xbc\x00\xf6\x06\xe4\x50\xec\x63\x13\x77\x3b\x2f\xb5\xbe\x9b\xca\xb6\xd5\x62\x82\x8a\x1d\xcc\x11\x1d\x21\xc6\x51\x6a\x62\x4d\x31\x43\xff\xf1\xd3\x0f\xcd\x1b\x98\x0b\xba\x55\x87\xd4\xc2\x35\x04\x5d\x4a\xfa\x0f\x22\x91\xa6\x1a\x4d\xc5\x3c\xd5\x5d\x0b\x22\x17\x3c\x89\xd1\x33\x01\x35\xc9\xc6\x81\x7a\xad\x5c\x90\x31\x0b\x9b\x80\x90\x43\x84\x13\xc5\xe7\x04\xee\x6a\xa7\xa8\x29\x22\xb4\xa8\x62\xb2\x34\x14\x17\x64\x60\xa0\xbe\xee\xfe\xe0\x62\xab\x61\x9a\xf0\xc8\x25\xb5\x58\x93\x5c\x3c\x6d\x9e\xf9\xac\x6a\x7a\x45\xed\x36\xfc\xea\x26\x5b\xb3\x6d\xf3\xd2\xd8\x24\x14\x6b\xc3\xaa\xee\x4c\xf3\x60\x68\xc4\xd9\x24\xa1\xec\x71\xab\xcd\xb8\x76\xa2\x9c\x6e\xc1\xae\x99\x6e\xd1\xdb\xb9\x8d\x05\x64\x83\xf3\xf1\x31\x4f\x12\x93\xda\x12\x6e\x0f\xc8\x5d\x66\xdd\x40\x18\xc8\x4c\x0e\x28\x89\xad\xdf\xcb\x6a\xc2\x82\x30\x08\x78\x1b\xb3\xe9\xd2\xfa\x6c\xe5\x00\xc9\x3c\x5a\xb8\xcc\xbc\x88\x33\xa9\xc5\x68\x2e\x50\xc4\xd3\xd4\x14\x37\x65\x04\x29\xce\x13\x69\xa3\xdd\xd9\x91\xc2\x91\x1a\xb3\xa2\xbf\x35\x27\xcf\x54\x40\xda\x2d\x75\xaf\xbb\x4b\xa7\xa8\xb4\xb4\x52\xe0\xa6\x71\x88\xd9\x00\x46\x30\xe3\x89\x0a\xd0\x1f\x78\xfd\x2c\x99\x0d\x6b\xd1\x0c\xe4\x82\x0b\x35\x89\x1b\x79\xce\x5a\xa2\xa9\x32\x42\x46\x8e\x12\x08\x1a\xe6\x4f\x5a\xf8\x27\xcf\xde\xf8\xba\x6a\x08\x9a\xaa\x57\x8d\xa0\xdb\x31\x5a\x39\xb2\x4d\x49\xb0\x65\xad\x0c\x82\x47\x54\x8e\x09\x5f\x37\xc6\x3b\xf8\xea\x4c\x7f\xb4\x72\xf1\xaa\xe7\xce\x09\x41\x3c\x2e\xc0\xe6\xcc\xbd\x6e\x33\x42\x56\xad\xa9\x85\x4e\x78\xb9\xcc\xd1\x55\x53\x79\x28\x5b\x72\xf5\x58\xc0\x64\x2f\x09\xc8\x9a\x58\x4c\xa9\x12\x58\x94\x90\x42\xbc\x3e\x28\x09\x16\x10\x9f\x35\x66\x06\x37\xce\x68\x0a\x31\x8a\xa9\x84\x04\x11\xb8\x4b\x03\x67\x18\xea\xa6\x04\x56\x8e\x76\x91\xe7\x68\xe2\xcf\x21\xb0\xac\x20\x0d\xc7\xec\x74\x47\x1e\x1f\x4b\xeb\x67\x3c\xca\x0b\x41\x2e\x02\x09\xd7\x62\xea\x20\xca\x24\x9d\x2f\x14\xa2\xcc\xda\x1d\x71\x32\xe7\x82\xaa\x45\x2a\x07\x68\x9a\x4b\xad\x85\x9a\x60\x35\x13\x8f\x42\x54\xd4\x89\x0b\xed\x9a\x44\x1c\x57\x1a\xac\xab\x28\x5b\x90\x46\xb7\x43\x39\xaa\xdc\x15\x6b\x08\x67\xe8\x71\x06\xab\x6d\x50\xa8\xdb\x68\xe0\x29\x91\x89\x03\xe4\x0e\xd9\x09\xaa\x80\xb4\x9d\x03\x40\x85\xdc\x9b\x97\xe2\x35\x0a\x71\x21\x93\x0c\x2a\x88\x8b\xdd\x06\xc9\xab\x8c\x4c\x69\xd0\x9b\xbc\xd3\x29\xcd\x54\x63\xe0\x56\xdd\x55\x74\x1b\x60\xfe\x74\x5b\x6c\x48\xc6\x02\x6a\x06\xa4\xb6\x31\xbb\x23\xa4\x1d\xc8\xad\xb6\xf7\xa6\x34\x2e\x4c\xc1\x26\x7a\xac\x26\xf9\x5d\x9c\xd8\xe7\xa3\xbb\xb3\xdb\x8b\x1b\x03\x39\x71\x7d\xfb\x79\x78\x3f\x69\xf0\x6b\x37\xbc\xf5\x79\x78\xfb\xd3\xf9\xfa\xd7\x7e\xbc\x2f\x67\x65\x37\xbc\x72\x7b\xb7\x3a\x99\xa3\xc3\x10\x1b\x92\xc2\x1a\xfb\x39\x45\xd9\x52\x2d\x38\xf3\x21\x0a\x71\x89\x37\x1d\x21\x93\x11\xac\x20\x84\x48\x48\xd5\xe0\x38\xbc\x87\xb8\x9c\xf5\x12\x66\x79\xb3\x0c\x0c\xdb\x5e\x45\xa3\x0d\x4e\xe4\xa7\x84\x4f\xc1\x6f\x9d\x97\x4a\xdc\xae\x88\x40\xdf\x31\xde\xe7\x9c\xca\x2c\xc1\xcb\x5a\x0f\xeb\xae\x9c\x2b\x9c\x12\x88\x38\x2e\xf0\xe3\x5c\xb2\x88\xde\x19\x48\x60\xf2\xf7\x3a\x9d\x41\x26\x93\xa2\x58\x11\x34\x25\xea\x19\xf2\xe6\xdc\xaf\xde\x96\xea\x02\x46\xe4\xf1\x98\x81\x39\x67\xac\x17\x39\xce\x21\xda\x6f\xfc\x61\x80\xc6\x1f\x62\xf2\x44\x12\x9e\xe9\x9d\xd7\x3f\xb4\x5c\x32\xa3\x14\xd3\xe4\x8a\x2b\x6f\x99\xdb\x65\x3f\x05\x89\x68\x06\x92\xf9\x84\xe8\x76\x5f\x4f\xf0\x28\x51\xb2\x63\x67\x30\x06\x84\xe3\x58\x2b\xd9\xc0\xca\xdc\xf0\x8a\x10\x20\x16\x4c\xbd\x54\x2b\x73\x13\x91\xc2\x9b\xbf\x4d\x8f\x61\x9b\x65\xb3\x67\xe3\x0e\xb0\xa7\x17\x74\xc9\xee\x7a\x91\x6b\xad\xe4\x27\xb2\x84\x14\x8c\x1b\x4c\xc5\x96\xae\xd9\xa6\x98\xd7\x17\x71\xd2\x8e\x1a\x3a\x3a\x20\x77\x6d\xf3\x3a\xec\xe6\xb8\xf5\xb1\x7a\xaf\xa5\xa5\xba\x58\x2e\xdf\x71\x47\xb5\xf5\xa1\x4d\x49\x6d\x0d\x61\x40\x55\xc5\x2b\x23\xd1\x06\x1a\x97\x1f\xe0\x9d\xfe\x6e\xad\xa6\xe2\xc5\xb5\x28\xac\xe9\x0f\xbb\x60\x93\xe3\xab\xf9\xf8\x64\xed\x88\xa3\x84\xcb\x32\x56\x4e\xe7\x41\x9f\xd9\x4f\x57\x8d\x7b\x14\x92\xaf\x96\x0b\x37\x0a\x68\x68\x58\xf8\x0a\x18\xa4\xb9\x67\x94\xf5\x90\xd9\xb7\x07\x88\x42\xb4\x25\x28\x64\x49\x81\x1c\xc0\x62\x54\xb8\x41\xc6\xac\x88\x59\x91\xe8\x99\x24\x10\xe6\x16\xf1\x34\x03\x13\xbf\x1d\xae\x6d\x89\xc4\x26\x62\x78\x80\x78\xae\x74\x63\x26\x27\xc7\x19\x71\x6d\xc2\x4f\xe1\xf6\x30\xbe\x37\x1b\xfc\xee\x81\xa5\x0d\xad\x9b\xbb\x94\x32\xf4\x89\x28\x68\x05\x80\xfb\xc3\x09\x82\x9e\x50\x0d\xa1\x6c\x5e\xfb\x1d\x4e\x94\x9d\xc9\x06\x3b\x5f\x00\xa7\xfc\x90\xf0\xe9\x6a\x23\x01\x34\x8e\x1e\x6e\x2f\x9c\x45\xb2\x88\x9f\x0a\xd0\x8b\x4b\x1e\xc5\xd1\xcd\xed\xe8\x6c\x78\x3f\x3a\x3f\x46\x0f\x92\xe8\xe5\xf1\xd3\x85\xfc\x6a\xaf\x92\x98\x91\x5b\x24\x16\x26\x15\xc1\x6d\x86\x10\x22\x44\x29\x0b\x7a\x0d\xe3\x28\xc3\xb4\xac\x26\x6c\x00\x49\xa1\xd6\x50\x07\xc0\x42\xd5\x79\xda\xc8\xbc\x75\x27\x10\xe2\xa4\x26\xef\x27\x4a\xcd\x8c\x37\xad\x47\xe6\xad\x23\x9f\x72\x44\xdf\x4b\x4f\x06\x8e\x96\x5a\x10\x2a\x50\xa7\x69\x19\xa2\x9a\x74\x9f\x53\x10\xe2\xfe\x19\x67\xab\xd3\x4f\xf1\x73\x89\x68\x8d\x28\x1c\xf8\xee\x5f\xfa\x1c\xcc\xf2\x24\x99\x6c\x74\xe0\xf5\xec\xcc\x21\x3e\x5f\xb7\x5b\x6f\x3e\x3b\xc7\xb4\x27\x86\xd1\xef\xbe\x7d\x85\xbb\xce\xdc\x1c\xfe\x56\x30\xf9\x2c\xd2\x99\x00\xc3\x89\x55\x06\x61\xa3\x74\x25\x02\xce\x00\xbf\x50\x86\x4a\x17\xfe\x00\xcd\xe8\x17\xdb\x68\x11\xbd\xef\x5e\x0d\xc2\x39\x5a\xa2\x45\x17\xb8\xce\x31\x36\x10\x8a\x6e\xe0\xfb\x95\x22\x32\x97\x5a\xe0\x8b\xb4\x30\x28\x48\xc4\x85\xbe\x07\xa1\xdb\xc2\xc7\xb2\x4e\x20\x52\x58\xe8\x45\xa9\xfb\x9c\x56\xf1\xb6\xa2\xc2\x4a\x8c\x15\x39\xd2\x82\xe5\x9a\xf4\x6e\x9b\x01\x04\xb9\x42\x58\x05\x60\x67\xc5\xbd\x3a\x25\x73\xcc\x5c\xe0\x79\xcb\x70\xdd\x85\xbe\x03\x23\xd6\x0a\x1e\x86\xe4\x37\x90\x1e\x21\xb1\xa9\x34\x0e\x99\xc1\x7a\xae\x1c\x87\x8d\xed\x39\x84\x65\x7b\xc6\x3e\xd4\xa8\x65\xb0\x79\x16\x1f\xd2\x60\x13\x2c\x15\xb2\x63\x6a\x33\xb4\x04\x0a\xf0\xcb\x9a\x98\x4b\x96\x8b\xae\xaa\xa9\x26\xa1\xb2\x8e\x4e\xc0\xef\x23\x1d\x2a\x8c\xc1\xc0\xd1\x1a\x9b\x13\xf3\x4d\xa1\x69\x7f\xb6\x6d\xc5\x69\x77\x07\x86\xcc\x04\x52\x10\xea\x4d\x1f\xa3\x21\xab\xa1\x81\xb9\xa8\xb3\xd2\x7a\x99\x1b\x17\x27\xcf\x78\x29\x51\x26\x0c\x70\x8e\xc9\x4b\x70\x93\x07\xfd\xb2\xfc\x91\x0f\xf4\x50\x2e\x31\x04\x81\xa5\x69\x7d\x48\xa0\x93\xea\x27\x2f\xe0\xa8\xac\xc4\xcc\x7b\x75\xa3\x68\xae\xb0\xc4\x74\x60\x75\x8a\x4c\xa2\x05\x66\x73\x32\x71\x26\xe4\x6d\x74\x41\xdd\xce\x19\x34\x73\x6e\x5b\x69\xbe\x9c\x6e\x8c\x3a\x68\xab\xdb\x98\x57\xbd\x79\x54\x1f\x02\xa9\xf0\x9c\x20\x33\xa2\x4e\x46\xf7\x52\x3c\x9c\x85\x52\x06\x2d\xc8\xb6\x3a\x2a\xe7\x08\xb4\xa9\x26\x10\xd8\x75\x89\xa7\x24\x79\x9b\xb8\x10\xe8\xda\xba\x1e\xc0\x17\x69\x72\x1d\x08\x7a\x06\x6f\x45\x85\x65\x58\xdf\x84\xc8\x9b\x32\x1f\x56\xcd\xb3\x54\xdb\x7d\x87\x89\xba\x4a\x28\xdb\x4c\xb5\xad\x3e\x4a\x78\xed\x05\x75\x44\x9a\xcc\x87\xe1\xf5\x57\xb5\x98\x6f\x37\x90\xa0\x9c\x49\xcb\x38\x76\xae\x67\xb2\x76\x2a\x5b\x43\x28\x74\xac\xf1\x77\x31\x43\x8c\x33\x82\xa8\x2c\x5e\x56\xe5\x64\x2f\x0f\x40\xa4\x15\x18\x63\x5a\xf2\x35\xc8\x7c\x69\xa9\x97\xb6\x23\x15\xd0\x10\xde\xf2\xe1\xb2\xd7\x19\xd1\x6a\x38\x16\x4b\x00\x30\x35\x7c\xb8\x2c\xd3\xad\x1d\xe7\xbe\x04\xee\x86\x0b\xd0\x4a\xc2\x3e\x1a\x59\x71\x04\xc2\x64\x65\x88\xc8\x60\xbd\xda\x97\xec\x47\x16\x8a\x67\xcc\xbc\xf5\x06\xc8\x91\x4a\x94\xe2\x0c\xfc\x96\x8c\xab\xe2\x2b\x03\x2d\xa5\xfc\x46\x0e\x9c\x38\x2e\x4d\x9d\xb0\x70\x1d\xc2\xc8\xe7\x53\x74\x03\x38\xf2\x70\x27\x43\xd7\x93\x0e\xda\x4a\xf1\xe2\x06\xd7\x19\x6b\x54\xc4\x4a\x5e\x85\x03\x5d\xb0\x0d\xec\x7d\x4e\x6a\x29\xc8\xb1\x8c\x79\xea\xf0\x9a\xe7\xf4\x89\x30\xc7\x0a\x06\x8e\x95\xe8\x41\xb9\x4e\x93\xe5\x11\x86\xd8\x73\x12\x87\xee\xb0\xd5\x8c\xdc\x58\xe9\x0e\xc1\x48\xdd\x7d\xc9\xee\x1b\x63\xab\x0c\x72\x5e\xa9\xe4\x81\xcb\x16\x08\x0f\xb7\x05\x73\x36\xf0\x00\x58\xa2\xdf\x30\xae\x7e\x13\xc0\x5d\x3b\x8b\x16\x7c\xea\xec\x92\x83\x5a\x1d\x1f\xe0\x75\x96\x70\x10\x0e\x60\xd7\xd6\xae\xfc\xae\x01\x23\x45\x36\xc4\x8b\x0a\xf1\xa3\x7a\x6a\x64\x5b\x21\xb4\x3e\x8c\x03\x55\x6f\xd3\xaa\x15\xdc\xd4\x5a\x2c\x4e\x7a\xc9\xfa\x2d\xd7\xc5\x6d\xf8\xbd\xe8\x14\xaf\x51\x83\x89\xd8\x85\xda\xd2\xce\xe1\x74\x6b\x90\xb1\x9b\xcd\x39\xdb\x24\xff\xb6\xa9\x33\xa2\x1c\xcf\x68\x6b\xa3\xb4\x40\x3f\x1f\x8f\xd9\x47\x2e\xac\xe4\x22\x6d\xf1\x89\x29\x8e\x1e\x8f\x08\x8b\x11\xce\xd5\xc2\x40\x30\x5b\x67\xd3\xd2\x52\x83\x16\xd0\x80\x6c\x3c\xbe\x0a\x95\x11\x16\xb1\x2b\x83\xf2\xc4\xdd\x28\xc6\x2c\x68\x04\xca\x5b\x40\xf5\x2f\xa8\x5f\xdc\xa6\xa1\x13\xa9\xd5\xd2\xb6\xb5\x68\xaa\xcc\x5b\xab\xcb\xbb\xfa\x9c\x95\x2a\x0d\x43\x61\x0e\x88\x7a\xe3\xb3\xfa\xea\x5c\x38\x13\xb4\x53\x8b\x35\x3d\xd7\x5d\x53\x03\xab\x88\x19\x4b\x9e\x9d\x81\x16\x10\xbf\x77\xbc\xb6\x04\x25\x3d\xcb\x05\xc4\x70\x37\xb5\xf9\x6d\xb4\xa0\x49\xe1\xd0\xfa\x6e\xe0\x87\xa9\x9b\x4c\xc8\x13\x49\x4c\x21\x83\x48\x40\xba\x86\x31\xb6\x7e\x8f\xfe\xb7\xa9\x56\x8b\x7e\x37\x66\x9f\x80\x0d\x27\xc9\x12\x60\x56\x7d\xcb\x58\x55\x9a\x79\x6c\x1c\x80\xb2\xf9\x61\xa8\x3c\x10\xb3\xd7\x0b\xfc\x44\xc6\xcc\x35\xf3\xbf\xd1\x23\xfa\x2d\xfa\x5d\x9b\x56\xec\xb2\x2e\x5e\xd8\x3c\xf4\x31\xc8\x69\x08\x6e\x39\xcb\x28\x2d\xbf\x71\xd6\xa3\x92\xed\xb6\x01\x6e\xc5\xa3\xa5\x53\xf6\xc4\xa3\x5a\x6a\x4f\x78\x6a\xb1\x20\x4c\x4d\x18\x8f\xc9\x84\x34\xf8\xb9\x57\x30\x09\x2d\x04\x5c\xf1\x98\xac\xf5\x52\x7b\x66\xfa\x0b\x58\xbc\x64\x3e\xf5\xdb\x01\xa8\x0f\x3e\xc5\xdf\x1b\x6d\xca\x94\xd6\x3c\x72\x0f\x49\xbc\xcd\xb8\xb7\xf5\xb0\xbb\xd8\xe1\x01\x5c\x08\x76\x00\xcd\x5e\xde\x04\x2b\x17\x73\x51\x3d\x8e\x55\xef\x90\x7e\x59\xcf\xdc\x5e\x56\x01\xd8\x32\x14\xc4\x11\x74\x4e\xb5\xda\xd3\xdd\x8b\x0f\x9c\x70\x1b\x17\x97\x41\x9e\xed\xe4\xe3\x2a\x96\xc2\xa1\xef\x1c\x79\xfa\x2b\x3c\xd3\x53\x9e\x57\x05\x78\xbb\x00\x54\x86\x31\x20\x56\x56\x5f\x6a\x3e\x3c\x37\x69\xa1\x64\x41\x0d\x10\xc3\xf0\xec\x12\xe9\xd3\xc1\x53\x83\x56\x06\x8b\x96\xab\x05\x17\xf4\x1f\xad\x69\x6b\xed\x32\x7a\xe1\x7e\x2f\xb2\xfc\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\x52\x35\xd1\x34\x07\x60\x5e\xcd\x66\x67\x79\x62\xaa\x79\x44\x5c\xc4\xa6\x9c\xbe\x2c\xe5\x14\x42\x6c\xb6\x13\xef\xb1\xf2\x0d\x52\x8b\x5f\x6a\xeb\x85\x18\xc3\xd7\x4a\x01\xf4\xcf\x39\xc9\xf7\x94\x96\xf9\xa6\x81\xec\xf7\x78\x2e\x8b\xc8\x74\xb3\x36\x9a\x37\x17\xeb\xfb\x77\x3d\x53\x19\x24\x32\x3b\x83\xac\xc7\x05\x33\x96\x0c\x53\x2d\x76\x23\x43\xd8\xad\xa9\x87\xb0\x07\x4b\xd8\x6b\x04\xf9\xd4\x65\xa4\x06\xf6\x63\xc9\xef\xc9\xa7\xf5\x56\x59\xc4\x0b\x99\x97\x5c\x61\x89\x8a\xf4\xf1\x82\x96\xa6\x2d\x98\x5c\x5d\xa8\x5e\x19\x2a\x5f\xd8\x9d\x3c\x5b\x6b\xc8\xb0\x57\x1c\x72\x71\x9e\x05\x05\xd8\xc0\x65\xf1\xb2\x2f\x8c\xec\xae\x8b\x90\xc7\x68\x29\xc5\x88\xb5\x10\xec\xe3\x96\x70\xd9\xcc\xe3\x37\x30\x40\xd8\x86\xca\x5d\xd7\x83\x39\xda\x4e\x84\x61\x49\x87\x7a\x24\xea\x98\x41\x6b\x0f\x83\x2f\x0f\xf3\x36\x76\x57\x2f\xda\xbc\xde\xc9\xf0\xe4\x38\x89\x70\xb4\x68\x9d\xd4\x94\xf3\x84\x60\xd6\x26\xbd\x36\x3e\xae\x1e\x11\x83\x78\x0b\xac\x3b\x49\x00\xf6\xd9\x2d\x81\x2d\x15\x5a\x88\xef\x2c\x06\xb8\x7e\xc3\xc3\x4d\xc0\xa8\x1b\xa8\x22\xcc\x59\x7e\x28\x9b\x27\xa4\xba\x56\xb6\xae\xc2\xc0\x76\x92\x44\x79\x12\xd4\x0a\xcd\x88\xd0\xa3\xd6\x4b\xfc\x44\x98\xd6\x19\xec\x38\x9c\x0f\xe8\xd9\x65\xc9\xfb\x0a\x61\x03\xdf\xb5\x73\x43\x42\x2a\x6a\x3c\x66\x70\x70\x79\xf9\xb0\x6a\x5a\x95\x5a\xcd\x08\xed\x52\x5b\x9f\xce\x40\x88\xd8\xf8\x78\xde\x95\xad\xeb\x1b\x9f\x49\xd3\xf7\x04\x42\x33\x76\xf6\x48\x06\x5e\xab\x02\xbf\xc3\x6c\xac\xc3\x68\x7b\x59\xdb\x7b\x39\xd8\xa5\x1c\x8b\x1c\xc4\xba\xb4\x61\x84\xbd\xe8\x5d\x52\xd4\x44\x71\xb7\x41\xc7\xa1\xac\xf4\xf0\x77\xf4\xd7\x83\x75\x72\xd5\xb9\xbd\xb4\x71\xfc\x65\x4f\xb7\x4f\xfa\x2a\x62\x5f\x6d\xd5\x5f\x25\x30\x40\x56\x00\xd0\xc0\x2f\x46\xc3\xa6\xd2\x58\xc0\x5c\xed\x93\x34\x53\x4b\x5b\x2a\x0f\xee\xc5\x30\xd1\xdb\xc0\x00\x36\x79\xd5\xab\x77\x64\x5c\xf2\xab\x37\x75\x06\x1d\x59\xb3\x42\x63\x93\x6e\xa1\x43\x58\x99\x0a\x8c\x47\x5b\x10\x8d\xa9\x3a\x3c\xc1\x49\xab\x2d\x6b\x0f\x4c\x13\x72\xaf\x0b\xe8\x0e\x8b\x08\xac\x44\x4e\x34\xef\xc2\x49\x52\x99\x17\x86\x1c\x79\xe5\x2b\x0f\x4e\x8b\xf2\xc8\xdd\x7d\xfc\x09\x9e\x92\x8d\xbc\xfa\x97\xe6\x83\x95\x54\x04\xaf\x40\xb8\x7f\x96\x25\xcb\x6e\x69\x06\x61\x3c\x66\x23\x72\xde\xba\x81\x85\x78\x7b\x2b\xef\xa6\x32\x66\xdd\x76\x43\x94\x24\xca\x05\x55\xcb\x89\x35\xfa\x75\x67\x5a\x77\xf6\xcb\x33\xfb\x61\x17\x8d\xfa\x14\xb9\xfe\x9c\x91\x11\xee\x29\x41\x4d\x59\x25\x3b\x85\x2e\xdb\xad\xb5\xe4\x46\x44\xad\x55\x0b\xeb\x20\xbd\xba\x0d\x55\x77\xb1\xed\xf0\x6c\xb9\x96\x09\x9f\x39\xb0\xac\xee\x0b\x5b\xad\x63\xb3\x81\xb5\xd4\x61\x72\x67\x82\x72\x61\xcb\xc5\x74\x89\x05\x4c\xf1\x97\x49\x86\x05\x4e\x12\x92\x50\x99\x6e\x6f\xdb\xfd\xc3\xef\x57\x8e\xf6\xcc\x94\x35\x92\xb6\x48\xd8\x17\x9a\xe6\x29\x62\x79\x3a\xb5\x52\x2e\x96\x8f\x21\x22\xaa\xc3\x6f\x30\xc0\x5e\x6e\x80\x25\x14\x09\x11\x60\xdc\x8e\x59\x80\x76\x6e\x4d\x15\x38\x5a\x50\xf2\x04\x58\xac\x82\x11\x29\x8f\xd1\x15\x57\xe4\x14\x7d\xc6\xd9\x3d\x08\x6a\xa6\xce\xe8\xdc\x58\xc7\xb1\x44\x5a\x6a\xcd\x19\x55\x83\x31\xb3\x10\xe9\x6e\x55\x4e\x22\xce\x0c\x4c\x6e\x04\x0b\xeb\x9b\x00\x73\xaf\xc3\x8b\x55\x2e\xdb\x95\xca\x96\xc5\x16\xf8\x79\x12\x84\x34\x4f\x4c\xca\xc8\x06\x74\x7c\x8b\x9f\x8b\xf8\x5f\x53\x42\x78\x95\xe4\x6e\xe3\xc8\x6c\x59\x29\x83\x0e\xed\xe2\x6d\xb8\x85\x28\xf1\x05\xf1\x4c\x50\xef\xb7\xf4\x98\x1c\xa3\x1f\x12\x3e\x95\x03\x24\x3d\x92\x3a\x3c\x94\x44\xc9\x81\x71\x50\xc1\xbf\x4d\x7e\xe0\x77\x6e\xf5\x0b\xbe\x0f\xb5\x20\x67\xf4\x8b\x41\x46\x91\x7f\x38\x3d\x39\x49\x97\x47\xd3\x3c\x7a\x24\x4a\xff\x05\x32\x45\xe3\x0a\x39\x58\x31\xdc\x04\x52\xb6\x6e\x75\xea\x00\x67\x9d\x28\xd2\xe6\x5a\x49\x02\x60\xfa\xfa\x4a\xf7\xd5\x76\x1d\x1e\x16\x67\xcd\xa5\x44\xed\x94\x45\xde\x76\xbc\x4a\x28\xdc\xaf\xa3\xad\x98\x6a\xc2\x21\xf8\xf7\x2c\xc1\xf3\x8a\xca\xb2\x81\x92\x72\x9d\x52\x4b\x45\x7a\xee\x10\xa6\xa2\x4f\x59\x39\x38\xef\x1b\xe7\x8e\x04\xb7\xa2\x75\xb7\x1c\x8f\xd9\x50\xa2\x67\x62\x8a\x04\x43\xa2\x2a\x78\x27\x72\x2a\x17\x3e\x4d\x15\xec\xa5\xd0\xa8\xc1\x48\x36\x50\x1a\x56\x71\x74\x9a\x95\xf3\xdf\x58\x0d\x14\x27\x92\x0c\x74\xc3\x80\x93\xe7\xe2\x2f\xd1\xb3\xc0\x59\x46\xc4\x98\x59\xbc\x5b\x40\x75\xe7\xdc\xc6\xd6\xb4\xa5\x18\xf4\x1a\xe5\xeb\x6a\x94\xc1\xda\x93\x72\x16\xeb\xba\xf3\x0d\x49\xaf\xab\x56\xb8\x29\x8f\xd3\x2d\x9f\x96\x45\xbb\x06\xc8\xbf\xbd\xd9\xb8\xe3\x98\xd7\x69\xe7\xc3\x4a\x76\x03\xd4\x20\x4f\x41\x81\x94\x45\xa9\x55\x67\xeb\xf3\xea\x7b\x49\xcc\x01\xb8\x74\xf8\x38\xe6\x44\x06\x46\x7c\xe4\x6d\x71\x09\x9d\x11\x2d\x7d\x8c\x99\x26\xe3\xd0\xe1\x60\x50\xd7\x1d\x08\xbb\xee\x34\x12\x5c\x4a\x9b\xb0\x60\xda\x59\x9d\x54\xb7\x43\x81\x47\x03\x1d\x7f\x71\x7d\x35\xa9\x97\x7a\x0c\x9e\xb9\xa2\x8f\xf6\x61\x23\xf2\x42\x6b\x53\x6b\x4b\x3c\x16\x6b\xb1\x41\x91\xc7\x93\xb3\xcb\x0b\x5f\xd9\xac\xd2\x75\xbd\xca\x63\x08\xb7\xdf\x5e\xe7\xb1\x3e\xe3\xa0\xe2\x63\xa5\x89\x15\x35\x1f\xd7\x6f\x56\x39\x4c\x7a\x17\x2c\xc5\xca\xd6\xaf\xe5\x0f\x65\x9a\x59\x17\xcc\xb8\xa7\x6d\x6a\xb9\x56\x22\x10\x18\x5f\xda\xc3\x0e\x82\x97\x7e\x4b\x2a\x9c\x66\x61\x1e\xae\x03\x93\xb5\xd3\x34\x47\xad\xed\x12\x7c\x55\x90\xfb\x08\x9b\x68\x96\xea\xe0\x6a\x5b\xb1\x99\xc7\xeb\xde\x62\xe7\xef\x23\xfa\xfb\xf5\x12\xdb\x93\x65\x11\xb5\x27\xad\xec\xe6\xea\xb2\xb7\xd8\xfd\xa7\xc4\xd7\x09\x68\xdd\xd0\x5d\x33\x57\x3d\x9e\x98\x20\x58\xda\x70\x0c\x48\xf0\xac\xa4\x47\x6d\x60\x1e\xf6\x63\x36\x29\xe2\x47\xbe\x32\x47\x70\xd5\xd8\x62\x73\x91\x3b\x88\x54\x08\xf2\x44\x04\xd0\x8e\x8d\xf9\x61\xe5\xa3\x8a\x13\x41\x70\xbc\x0c\x56\xc4\x07\x1c\x98\x9e\xc1\x3c\x26\x69\xaa\x15\x78\x50\x4d\x18\x3f\xe2\x99\xd3\x59\x4a\x6f\x41\x59\x15\x3a\xd3\x37\x56\x10\xae\xa0\xbf\x60\x47\xe4\x0b\x95\x4a\xcb\x15\x0d\xb1\x9a\xae\x11\x90\x78\xa0\xd8\xda\x82\xd8\x1b\x6e\xfc\x61\xf8\xc3\xf5\xed\xfd\xe8\x7c\xfc\xa1\x48\x6a\x70\x59\x7b\x1e\x26\xcc\x55\x7d\xe0\x6c\xcc\x7c\x40\xad\x47\xc5\x86\xbd\x44\x38\x8e\x0b\xb8\x0b\xab\x44\x1a\x99\x6d\x25\x47\x0e\x4e\xc5\xda\x50\xda\x15\xcd\x3c\x40\xea\xd6\xa1\x9e\xac\x15\xae\xb3\xd2\xc9\x31\x09\x68\x2b\x32\x85\xf6\x74\xd9\x84\x80\xbe\xca\xe8\xda\x44\x39\xc4\x49\x46\x9e\x9d\xae\x04\xb7\xf3\x09\x36\x97\xf0\x66\xdc\xce\x6d\xc8\x16\x9b\xfa\x91\x7e\x21\xf1\x6d\x8b\x54\xb5\x97\x44\xa0\x4e\x91\x80\x8d\xbb\x90\x33\xba\x89\xc6\xef\xa7\xf2\xa0\xbf\xeb\xce\x96\xae\x0b\x9c\xbe\x02\x73\x17\x00\x77\x15\xc2\x28\x22\x42\x61\xca\xd0\x0c\x0e\x36\x8b\x96\x08\x50\x5c\x08\xf8\xb0\x7f\x8f\x52\xca\x00\x4e\x62\xd5\xd2\x3e\x94\xe7\xb1\x81\xd0\xfa\xf9\xe2\xea\xe1\xbe\x24\xaa\xfe\x78\xfd\x50\xae\xf4\x3f\xfc\xcb\x4a\x59\xb5\xd2\xc2\xaa\x60\xa1\x60\x8a\x45\xf2\xa6\x85\x1e\xf6\x2b\xd3\x38\xd1\x64\xa9\xc8\xc3\xed\xe5\x4e\xf2\x5d\xb3\xb3\xac\x15\x38\x3e\x94\xae\x9a\xb3\xe6\xbb\x7c\x1a\x93\x68\x1d\xb4\x6d\x77\x3a\x32\x51\x50\x7a\x1d\xac\x35\xd1\xc2\xde\x61\x89\x32\x2c\xac\x1f\x2a\x36\x01\x50\xe5\x72\x71\x46\xf3\x5a\x05\x2b\xf2\x89\xa8\x9f\xf5\xd5\xc7\xd9\x3e\xb2\x20\xac\x28\x0b\xfe\x51\x32\x79\x32\x0d\x6f\x70\xd2\xec\x50\x56\xa4\xba\x38\x61\x19\x7a\x40\xb6\x87\x10\x8c\xe3\x18\x01\xd5\x0c\x75\x73\xb0\x22\x2e\x9e\x50\xab\xa4\x9c\x69\x8a\x34\x18\xbb\x0e\x98\x37\x68\x8e\xcf\xcc\xc7\x1d\x61\x0a\x83\xa8\x76\xdd\x56\xb1\x94\x68\x78\x73\xd1\xb0\xd6\x97\x55\x17\xd2\xd7\x55\xe3\x28\xf1\xde\xac\x7d\x23\x67\x05\x59\x9d\x07\x01\x95\x65\x67\xba\x1b\x36\x96\x71\xfa\xdf\x94\x23\x09\x0e\x01\xc2\xb9\x49\x65\x28\x65\x6b\xaf\x41\x6b\xde\x2c\x81\xb1\x58\x86\x0d\x91\xb0\xc2\x01\xd9\x34\x90\x10\xfd\xa9\x1e\x63\x3c\x08\xd1\xa0\xb8\xa9\xa2\x6c\x63\x0b\xf6\x86\x90\x55\xcc\xa6\x0b\x44\xd6\xcf\x86\xa2\x3d\xc6\x08\xa0\xa6\xb8\x2a\x9d\x2e\x36\xd8\xa6\xfc\x87\xd3\x0d\xa9\x6d\x33\x54\xad\x62\x7c\xce\xfc\x6d\x01\xca\x71\x86\xad\xdd\x01\x94\x28\x57\x3e\xa3\xa9\xda\xe2\xf1\x98\x05\x01\x2b\xd2\xa8\x3d\xfa\x8c\xb8\x8a\x35\x50\x06\x99\x01\xda\x39\x24\xe9\x78\xe1\xa7\xb4\x03\x55\x64\x01\xb5\x28\xd7\x9c\xa9\xf5\x63\x4f\xa7\x5c\x60\x97\x88\xe8\x2c\x28\x36\x0e\x30\xb4\x2f\x41\x7b\x41\x95\x09\xdb\x31\x98\xa3\xc1\x68\x81\x83\x1a\x86\x41\xce\x7f\xcc\x89\x64\xdf\x28\x9f\x21\x4b\x13\x5b\x27\x07\x57\xdd\x03\x5a\xaa\xc3\xd4\xb6\xbc\xfa\x80\xef\x01\xb2\x6b\x53\xc5\x21\x38\x56\x6b\xcd\x54\xce\xc7\x0b\x94\x10\xc6\x22\x41\xa7\x6d\x56\xf5\x2f\x19\x89\xb6\x41\xde\xb9\xc1\x02\xa7\x44\x11\xb1\x2a\x1c\xa9\x5c\x61\x1c\x44\x1c\xb7\x83\xb6\x5f\xb3\x8b\xa6\xfc\x4a\xb5\x4e\x8f\xd7\x6e\x2f\xd7\x21\xe9\xf8\x59\x6c\x8c\x90\xf4\xb3\xb5\xfc\x6f\x38\x0b\xdb\x4f\x31\x0d\x1b\x6d\x15\x00\x27\xed\x3a\xa7\xd7\x41\x90\xb9\xaf\x61\xb1\x94\xc2\x85\x0e\x04\x3a\x66\xfd\x28\xdb\x30\x63\xd6\xf1\xd2\xbd\xf0\x6e\x97\xe1\xe0\x52\x68\x2b\x87\xaa\x94\x3b\x01\x54\x02\x2a\x95\x81\x4f\x69\xc6\x7d\x01\xa1\xa5\x29\x42\x32\x70\xfb\x59\xcc\xc3\xc2\xa0\x6b\x25\xab\x6a\xc5\xb1\xca\x72\xad\xe1\x71\xfb\xc2\xc4\xe8\x25\x9a\x7d\x4b\x34\xeb\x48\xb9\x14\x5d\xab\xa9\x93\x88\x0a\x3c\x8f\xad\x04\x6e\x01\x02\xca\x13\x84\xdc\x23\x7b\x45\xda\x72\xc2\x70\xf5\x53\xe6\xff\x55\xe6\xe0\x8e\xa8\x43\x52\x6d\x4a\xaa\x3c\x0e\x5c\x50\xe0\x81\x4a\x42\x69\xc0\xc6\xd5\xc0\x68\x4d\x18\xa4\xb1\xf2\x5f\x5c\x19\x07\x16\x24\x37\x2f\x79\x8e\x9e\xa9\x5c\x20\xc5\xc7\x0c\xe2\x04\xbd\x37\x40\x71\x64\x5e\x1c\xc0\x5b\x00\x83\x20\xf3\x69\x4a\x15\xc2\xc1\x0c\x4b\x26\xc9\x81\x3d\xcf\xfa\x03\x98\x71\x63\x9e\x7d\x13\xb2\xd1\x9a\x43\xb3\x85\x7d\xad\x68\x64\xd7\x54\xfa\x20\xa6\xf9\x65\x93\xe9\x03\x8d\x27\xd4\x30\x1b\xcf\x5c\x9f\x4d\x8f\x9a\xad\x0d\x16\x49\x16\xe0\x7e\xa9\x54\x95\xbb\xc5\x1a\x7a\xd6\x64\xd2\x17\x1b\xd1\x29\x95\xbe\x78\x7d\x1f\xb9\xf4\x6d\xb5\xeb\x56\xe5\x56\xba\x4f\x5a\xec\xdf\x2e\x67\x57\x71\x17\x38\x1f\x4a\x4a\x37\xad\x92\xd2\xa1\x81\xc1\x15\x09\x01\xdb\x87\x97\x6f\xa2\x0e\x16\xf9\x59\x21\x15\x05\xe9\x96\x65\x4c\x18\x52\xe5\xfc\x8c\x2b\xc8\xa9\x89\xa0\xae\x7f\x2d\xcf\x73\xcc\x9a\x25\x90\xd5\x3c\x71\xd7\x14\x8d\xbd\x82\xc6\x05\xe7\xcf\xcd\xc2\x5a\xb4\x7e\xf1\x41\x6e\x46\x59\xb6\x15\xfa\xab\x22\x66\xe1\xe2\x6b\x0b\x4e\xd2\x82\xc7\x36\x09\xc7\x0d\xa7\xb2\x79\xe8\xb5\x04\x8a\xb5\xe7\xc2\x5e\xba\x7b\x54\xed\x6a\xdc\xb9\x73\xbe\x89\x97\x91\x2d\x37\xb6\x01\xd3\xb1\xd7\xe3\x2b\xae\xda\x6d\x4a\x0f\x03\x18\xeb\xfe\x21\x64\xc1\x4f\x33\x00\xc7\xae\x1d\x35\x36\x41\x2e\x1e\xb0\xbd\xb2\x1b\xa5\xb9\x9a\x40\xc5\x1d\xe7\xdb\x8a\x59\xa5\xa7\x1c\x4d\xea\xc8\x55\x6b\x17\x68\x3f\xf0\x55\x55\x08\x87\xb7\x5f\xa9\x96\x58\xea\x0d\x6b\x6a\x07\x3e\x59\x61\x63\xa2\x69\x68\x5d\x81\x62\xda\x36\x94\xb4\x72\x5b\x79\x01\x38\x67\x31\x11\x8c\x60\xb5\x78\xbd\x4c\x94\xb3\x5d\x4d\xf8\xc1\xf8\x5e\x36\x2b\xc5\x8e\x14\x97\x93\x53\x76\x19\x6e\xae\x16\x1b\x26\x79\x6c\x90\x31\x51\x94\xd7\xae\xa9\xd7\x0d\xa6\xd5\x00\xa8\x67\x13\x2a\xdd\x29\x59\xa5\x59\xe5\x7d\x99\xb4\x9d\x06\xdb\x58\x2d\x61\x47\x9f\xf6\xb0\x28\xf9\x9a\x25\xf9\x2a\xf2\x63\x5e\x3e\x65\x63\x55\xf9\xf3\x3c\xc8\xe2\x80\x1a\xf4\x0a\x53\x66\xb9\xd7\xaa\xc4\x0d\x2d\x77\xa7\xb8\x29\x57\xe3\xe0\xb3\x80\xbe\xfa\x24\xa0\x3e\x25\xa4\x4f\x09\x69\xd8\xa3\x3e\x25\x04\xa1\x43\x4b\x09\x59\xa7\xa6\xaf\x32\x12\x7b\xbf\x25\x94\xa9\x2d\xd5\x86\x32\xfb\xbb\x46\xd7\xde\x3e\xed\xc1\xd9\x59\xc3\x98\x31\xfb\x8b\xfd\xa1\x31\x6c\xac\xf6\x59\x75\xb6\xa1\xcd\x97\x2d\xab\xae\x13\x2c\xe2\xc4\x62\xf5\xd9\xa0\xee\xb2\x8d\x6e\x95\x39\x79\xcc\x7e\xe4\xcf\xe4\x89\x88\x01\xc2\x0a\xa5\x5c\x2a\xe0\xc3\x2e\x86\x08\x0e\x42\x09\x2d\xdf\xc4\x8a\x60\x74\x85\x53\x12\x9b\x52\xa1\x41\xe8\xa7\x35\x6a\x5b\x77\x74\x13\x24\x2d\xa0\xab\x9a\x6d\x70\xb1\x25\x63\x66\xc2\x31\x4d\x08\x20\xc8\x0a\xd4\x4d\x0c\x08\xe6\x37\xde\x59\xfe\x9b\x63\x74\xaf\xef\x27\x2a\xcb\xe3\x0d\x10\xea\xda\xc6\x36\x66\x73\xc1\xf3\xcc\xdb\x19\xf9\xd4\xd4\x8c\x36\x11\x62\x75\x67\x39\x0c\xc6\x79\xca\x23\x1c\x13\x16\xad\x09\x59\x79\x93\x48\xdd\xad\x60\x9e\x42\x02\xd2\xc7\xd0\x87\x1f\xda\x74\x00\xe3\xe3\x0e\xc0\x6d\x56\x61\xfc\xbf\x90\x03\xfe\x9c\x48\xb0\x9c\x79\xcf\x44\x29\xd7\xbe\xac\xcf\x37\x8e\x73\x95\xdd\xd8\xfb\x76\x9c\xff\xa3\x19\x2a\xa2\xe8\xdc\xc6\xc5\x99\x44\x5e\x7b\x4f\xbc\x98\x45\xb9\x73\x84\x71\x1b\xbf\xb8\xc9\x45\xc6\x41\x12\x4b\x96\x0e\xda\xc2\xa2\xe1\x65\x3c\xcb\x4d\xec\x1f\x0d\x43\xc1\x1a\x29\x9b\x4a\xf5\x19\xab\x68\xa1\x39\x77\x81\x0a\xb7\xa7\x98\xc8\x82\x2b\xbf\xac\x95\xb9\x61\x06\x67\x61\xef\x2d\x6e\x97\x55\xd4\x13\xc4\x38\xfa\x40\x52\x2f\x49\xa4\xba\x3f\xe3\x9a\xb4\x95\xe0\x03\xdb\xb1\xfb\xc4\x3e\xd1\x13\x5d\x47\x45\xeb\xc6\xdf\x8d\xb6\xca\xa5\xea\xf6\x1e\x6d\xb9\x83\x41\xf0\xdc\x82\x9a\x15\x2f\xda\xd2\xc6\x2d\x21\x12\x82\x6e\x97\x29\x65\x0b\x30\x3c\x69\x71\xc4\x5b\xa5\x53\x9c\x69\x25\x42\x71\x7d\x4b\x8a\xb9\x91\x63\x4d\x2c\x31\xc2\x28\x17\xd4\x9d\xfd\x4a\xde\x7c\x3b\x75\x80\x6d\xef\x24\x2c\xd6\x15\xe1\xa0\x4a\xa3\x09\x8a\xc0\x91\xca\xb1\x0f\xde\x04\x9a\x48\x28\x7b\xd4\x9d\x19\x8c\x00\x17\x7c\x20\x9c\x78\xd7\xb0\xa7\x6b\x09\x7b\x87\x5d\xc6\x4d\x18\x90\x9d\x4e\x1a\x65\xf3\x00\x40\xb2\xd9\x92\xde\xa5\xac\x46\xe3\x97\xdd\x4a\x83\x34\x7e\xea\x64\x9f\x6d\xbe\x5d\x01\x70\xb5\x75\xfc\x7a\x29\x17\xc0\x06\x0b\x5b\xe9\x29\x84\xf6\xb4\xf6\x3b\x40\xe8\xa5\x10\xcc\x80\xad\x34\xf5\x5f\xfe\x2f\x53\x86\xcd\x2c\xcd\x7f\x21\x2e\xc6\xcc\xfc\x3e\xf0\x25\x50\xf4\x0b\x05\x48\x2e\x4e\x49\x01\x23\x2a\xca\x80\x83\x00\xbb\x62\x01\xe3\x0c\x20\xb2\x2f\x65\xa0\xc7\xf0\x98\x4f\x89\x60\x44\x0f\xcd\x01\x34\x78\x66\x96\x62\x86\xe7\x00\xbf\x3c\x80\xe8\x41\x10\x57\x0b\x55\xc4\x90\xb4\x29\x14\x0a\xdc\x4a\x33\x4b\x9b\x93\x5c\x14\xcc\x86\x3e\x8d\x28\x6b\xd1\x5f\x8b\x10\x94\x66\xea\xbf\xb5\xfd\x6f\x27\xb1\xdf\x0f\xef\x7e\x9a\xdc\x8e\xee\xae\x1f\x6e\xcf\x4a\x62\xfb\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xf1\x59\x91\xcf\xfb\xe7\x87\xd1\x43\xcb\x23\xd7\xc0\xe5\xf0\x87\x51\xa9\xfa\xfc\x9f\x1f\x86\x97\x17\xf7\x7f\x99\x5c\x7f\x9c\xdc\x8d\x6e\x7f\xbe\x38\x1b\x4d\xee\x6e\x46\x67\x17\x1f\x2f\xce\x86\xfa\xcb\xf0\xdd\x9b\xcb\x87\x4f\x17\x57\x13\x17\x9a\x1d\x3e\xfa\xe5\xfa\xf6\xa7\x8f\x97\xd7\xbf\x4c\x82\x2e\xaf\xaf\x3e\x5e\x7c\x6a\x9a\xc5\xf0\xee\xee\xe2\xd3\xd5\xe7\xd1\xd5\xea\x2a\xf7\xcd\xab\xd1\x5a\x40\x3b\xb8\xc8\x02\xa3\x51\x20\x26\x4d\x97\x96\xb4\xe9\x3f\xc0\x77\x71\x63\xe8\xf1\x68\xe0\xfe\x32\x35\xe9\x8f\x34\x0b\x74\xbe\xc3\x82\x7b\x8c\x99\x77\xee\xfa\x4b\x55\xe1\xb9\x74\xe9\xd9\xa5\xd1\x9e\xa2\x21\x9c\x15\x50\x18\x4a\x9d\x42\xf6\x87\x1f\xa9\x0b\x07\x00\x3a\x4c\x68\x4a\x21\x32\x00\x1d\xa1\xea\x86\x97\x1b\xb4\x73\x82\x21\x58\xdf\x66\xbc\xea\x34\xc8\x6a\xe6\x37\x50\xca\x29\x72\x1c\x9a\x18\x73\x82\xc1\xe7\x5d\x32\x9c\xd2\xa8\x9a\xa6\x02\x10\xb5\xa8\x80\x63\xa9\xb6\x58\x22\xb0\x72\xcb\x0b\x82\x7e\xfa\x53\x31\x28\xf0\x60\x58\xcd\x3b\xaf\x15\x6b\xb4\x0f\x44\x6e\x56\x75\x1d\x79\x96\x7a\x72\xc7\xdc\x9a\x96\xe1\xdc\xda\x92\xf7\xe0\x6e\xca\x59\x00\xc9\x56\xf2\x3d\xe9\xe3\x6d\x66\x54\xa1\xf1\x53\x74\x07\x70\x30\xb2\x50\xdd\xf5\x2e\x66\x49\x3e\xa7\x0c\xd1\x34\x4b\x80\xc7\x18\x7d\x7e\x4a\x16\xf8\x89\x72\x57\xe2\xc3\x54\x42\x81\x75\xb4\xa2\x15\x3a\x42\xad\x07\xe5\x14\x0d\xe3\x58\x96\x19\x5c\x89\x72\x1c\xcb\x3c\x2a\x0f\x3b\x44\x51\x63\xb1\x67\x9b\x15\x3a\x2a\x8e\x1c\xac\xd8\xfe\x01\x6f\xea\xec\xb0\x7c\xf7\xee\x70\xfd\xeb\x15\x9c\x38\x52\x9e\x6c\x25\x0c\xdc\x63\xf9\xe8\x58\xf3\x3a\x81\xc0\x41\x0f\xed\xd6\xa3\xc5\x20\xea\xda\xa9\x5f\xd9\x09\x1c\xb4\xed\xfa\x6c\x45\xce\x5e\xd3\xa5\x9b\x71\x52\xa9\x0a\xd7\xb9\xbf\x52\x55\xb9\xc6\xce\xf6\xea\xed\x69\x96\xc6\xe0\x48\x4e\x3c\xfd\x6f\x30\x8f\x1b\xf8\xf4\xda\x7f\xb9\x52\x64\x9b\x04\xeb\xb6\xa9\x0f\xa8\x96\xc8\x6c\xfd\x40\x2b\xe9\x70\x4f\x10\x58\xdd\x85\x41\x28\x4e\x41\x23\x70\xf7\x61\xca\x6c\xc9\x22\xe2\xfd\x51\xae\x72\xbb\x3e\xc7\xbe\xfa\x20\x9e\xf2\xa7\x92\x72\x99\x12\x29\x71\x0b\xa8\x4b\x60\x12\xdb\x85\x31\xf8\x13\x6a\x3f\xec\x48\x4f\xee\x4c\xde\xeb\xaf\x56\x19\x7d\x6e\x43\xcd\xd8\x4d\x54\x0b\xac\xb1\x8b\x46\x46\xd7\x26\x27\x51\xf3\x97\x41\x11\x70\xc4\x45\x10\x87\xd5\xe6\xfe\xe9\x68\x56\xab\x2e\x58\x63\x25\xaa\xd0\x85\xb7\x79\x9c\x52\xd0\xfa\xd6\xa8\xe1\xd6\xaf\x82\xcb\xeb\xb3\x01\xd5\x95\xfc\x9d\x61\xe9\xf6\x88\xa7\xa9\x91\x0b\x4a\xb6\xd4\x01\xc2\x26\x15\xb4\x90\xa6\x64\x1e\x2d\x8c\x97\x49\x5f\x19\x83\x31\x7b\x0e\x36\xa4\x14\x2c\x3d\x0c\x5b\x02\xc4\xd5\x2f\xfa\xb8\xd1\xa7\x52\x08\x3a\x88\x8c\x14\xe2\xa1\x03\x42\x30\x0e\xc1\xa2\xc4\xd6\x1a\x02\x0f\xf6\x6b\x07\x52\xdf\xa2\x0c\x65\x65\x7d\xdb\x8a\x51\xfa\xb9\x05\x35\x20\x77\xd0\x94\xbb\x0e\x21\x28\x43\xd9\x34\x82\x3d\x54\xa1\x7c\x55\x08\x74\x9f\xd2\x6a\x32\xa0\xd3\xa9\xc5\xf1\xd0\xd3\x75\xab\xfd\x5b\x37\xa3\xdf\x1a\xbf\x43\xde\x02\xfc\x12\xb4\xe6\x51\xd0\xd1\x91\x96\x59\x1d\x20\x81\x0d\xc4\x90\xe8\xc8\x20\x2b\x7e\x03\xd1\xa8\xc3\x9b\x8b\x6f\x06\xe8\x9b\x30\x23\xef\x9b\xad\x0e\xa0\x1d\xb7\xad\x44\x09\xda\x54\x29\x2d\xa3\x7c\xec\x60\xaf\x2a\x27\xd1\xee\x99\x3d\x88\xa8\xed\x1c\xea\x2f\x4b\xdf\x80\x73\x1a\x4a\x04\x1a\xff\xad\x0f\x0a\xb7\x2e\x20\x23\xe3\x52\xd9\xb0\x76\xf1\x98\x4d\x97\x55\x27\xcf\xc0\x7b\x79\x3a\x9f\xd2\x9d\xcb\xde\xe9\xf6\xea\x29\xdc\x7b\x0e\x56\x5e\x7d\x1f\xac\x49\x0a\x1f\x9a\xb8\x74\x3e\x0b\xb8\x58\x5b\x94\x42\x1f\xe5\xdf\x34\xab\x92\xbd\xcc\x2d\x66\xe3\xa6\xac\x93\x7f\xde\x1b\xb9\x75\x08\x8d\x1f\x36\xad\x88\xcd\x8a\x68\x11\xae\x7b\x2a\x7b\x59\x2a\xdb\x47\x56\x48\x79\x70\x9b\x5f\xa0\x67\x46\x8e\x0b\x9a\x71\x06\x57\xad\x4c\x78\x06\x5f\xaa\x8d\xb8\xbe\x16\xf3\x86\x3e\xdf\x60\x4d\xd6\x3b\x7d\xef\x4c\xe0\x80\x71\xbb\xd6\xc7\x5a\x1d\xea\x50\xd9\x42\x4d\x9c\x9a\x0c\x50\x45\x53\x32\x40\x9c\x25\xcb\x20\xd8\xc1\x9e\x57\x20\x37\x13\xa3\xb4\x20\x54\xb8\x4e\x2c\x0e\xe3\x46\x90\x01\x1b\x4a\xe3\x6d\x34\xb2\x43\xa4\xc9\xd5\xf0\xf3\xe8\x7c\x32\xba\xba\xbf\xb8\xff\x4b\x03\xc6\x66\xf9\xb1\x83\xd9\x0c\x5e\xb8\xfb\xcb\xdd\xfd\xe8\xf3\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x03\xc1\xb9\xaa\xb3\x36\x78\xc7\x5c\x36\xa9\x6f\x9b\x40\x3c\x3a\x33\x6f\x43\xef\x75\x20\xce\xa0\x13\x4a\x5a\xc0\x38\x0d\x3c\x02\x8b\x89\x40\x31\x79\x22\x09\xcf\x0a\xb3\x6a\xe3\x82\x05\x28\x9d\x0d\xed\xaf\x42\xea\x84\x36\xab\x6b\x7c\x8a\x4c\x3d\xbc\xa0\x24\xb0\x6f\x10\x44\x3e\x2c\x08\xfb\x46\x21\xf2\x25\x4b\x68\x44\x55\x90\x3e\xc9\x85\x75\xaf\x18\xf7\x21\x44\xa7\xae\x21\xae\xbd\x45\xa3\xec\x5d\xe7\x0f\x3d\xe9\x75\x6d\xdf\x9f\x28\x8f\x1a\xb7\xb6\xc8\xd2\x1e\x14\xfb\x16\xa7\x71\x0d\xd4\x6e\x8b\xd1\xbd\x84\x79\xa0\x9e\xc7\x64\x53\x20\x5b\x00\xef\x9a\x07\xb9\xfe\x36\x5c\x15\x27\x53\x3a\xd7\xab\x03\x65\xba\x51\xea\x1b\x87\xbb\x94\x8a\x8f\xee\x01\x9d\xc4\xc6\xae\x6f\x18\xb0\x50\xab\xa9\xc3\x4c\xcc\x29\x46\x82\xa4\x5c\x69\x05\xcc\x44\x04\x0c\xb4\x50\x45\x71\x42\xff\x01\x38\x5e\x82\x1c\x07\x11\x14\x0e\xfd\xac\x70\x1f\x58\x8c\x8d\xe3\x31\x3b\x1f\xdd\xdc\x8e\xce\x34\x43\x3a\x46\x0f\x12\x20\xba\x4a\x53\x3f\xb7\xe4\x6d\xc4\xb1\x30\x92\x61\x75\x21\x7f\x22\x04\x17\xdd\xf9\x83\xef\x6f\x04\xdf\x35\x93\x37\x3c\x2b\xd9\xa6\x9c\x01\xe0\xaa\xb5\x72\x74\x90\x33\xb0\x7b\x98\x4a\xf5\x44\xe0\xe7\xd2\x8a\x84\x10\x25\x20\x89\x94\x57\xfd\x05\x57\x5b\x13\xfb\xe6\x00\x2d\x45\x3e\xc4\x5e\xa7\xd9\xe2\x1f\x58\xe0\x3a\x12\x6e\xc7\xe2\xbf\x37\xf0\xed\xaa\x31\xde\x43\x14\xa0\x54\x05\xa8\xab\xc1\x7d\xf5\xc5\x8b\x3a\x8d\x51\x2a\x2c\xde\x02\x71\xa5\x72\x3a\xa7\x64\x8e\x19\x12\x39\x63\x15\x94\xdf\xd0\x18\x58\x8f\xeb\x59\x3b\xd0\x86\x35\xc3\x29\xcf\x19\xe8\x35\x10\x69\xdb\x30\x18\x99\x11\xa6\xd6\x0c\xe6\xad\xf0\x74\x2a\x43\x3d\x5c\x48\x9d\x86\x81\xb6\xa1\xea\x34\xb9\xbc\xa0\x82\xf6\x66\x92\x83\x8b\x1b\x2c\xf9\xbd\xf4\xa1\xf2\x22\x44\xb3\x21\x00\xcb\xc7\x9d\xbb\xbb\xc7\xf2\x71\x7d\x57\x31\x89\x1e\x37\xbd\x0f\xab\xc9\xa3\x89\x2d\x40\x5e\xb3\x47\x2e\xf5\x53\x5b\x61\x07\xea\xce\x47\x8f\xe8\xc7\xfb\xcf\x97\x68\x46\xb5\x68\xae\x6f\xbe\x2b\xac\xd5\x80\x07\x91\x38\xd3\xb5\x35\xff\xe6\x22\xf1\xe2\x01\x6c\xbc\x93\xf6\x02\x41\x46\x5f\xba\x78\x4e\x9c\x3d\x5a\x58\xd0\xc4\x4a\x85\x1d\x81\x59\xcc\x53\x33\x8f\x13\x99\xcf\x66\xf4\xcb\xb1\xc2\xe2\xbb\x96\xf5\x30\x81\x1f\x93\xbf\xf1\xe9\x44\x8f\x68\x47\x59\xa1\xa9\x39\x64\xeb\x62\xfb\x65\xb3\x33\x3b\x37\xef\xfe\x1f\x3e\x05\xd0\x82\x4c\x70\x00\x72\x04\x07\xa2\x0d\xa6\xb0\xaf\x38\x4a\x3a\x46\x2e\xc7\xab\x84\x55\x13\x71\x21\x88\xc5\x3a\x30\x25\x62\x33\x2c\x14\x05\x83\xb2\xc3\xba\x29\x15\x39\x28\xb6\x28\xac\xdc\xbe\xc0\x05\xa0\xf8\x94\x10\xf0\x41\x65\x34\xd9\x4c\x2f\x3f\x2b\xb9\x4f\x2b\x27\xd0\x06\xc7\x5a\xf8\x53\xb0\x19\xad\x95\x02\x47\x4f\x84\xa9\xbd\xa8\x50\xd0\x44\x03\xfa\x42\x37\x47\x88\xa9\xd4\x7a\x71\x5e\x5c\x6e\x2e\xea\x38\x0c\xbc\x52\x02\xc3\x1d\x6d\x73\xb9\xac\xd7\xbf\x2d\x16\xe1\xa9\xb3\x7b\x1b\x5e\xad\xaf\xcb\x9a\xe8\x7d\xbb\xda\x45\xc5\xf6\x22\xf2\xd6\x55\x68\xd8\x12\x8f\x49\x12\x63\x68\x09\x70\x40\xac\xfe\x5c\xdd\x73\xd3\xa7\xa6\xad\x4a\x97\x6b\xb7\x7c\x0b\xf0\xa1\x52\x33\x9f\x08\x48\x59\xfb\x88\x95\xdf\x04\x82\x01\x06\xf2\x20\x12\x88\xf2\x5e\x69\x68\x33\xd5\xe2\x35\xe7\xf3\xc2\x27\xee\xa0\x46\x98\xc1\xac\x80\x50\xd0\x62\xa9\x85\x28\x58\x2d\xc0\x6e\x24\xbb\xbe\xf8\xbc\x02\xf5\x68\xc5\xc4\x1c\x50\x61\x07\xd1\x7c\x5f\xc0\x19\x55\x50\x88\x60\x7d\xc1\xca\x0d\xb6\xce\xb2\xa2\x0b\x1c\x7e\x69\x42\x7b\xc1\xda\x85\x4b\x17\x19\xfd\x87\x66\xbf\x82\xc8\x05\x4f\xe2\xf6\x09\xd7\x61\x30\xf6\xaa\x89\x6c\x32\x5f\xb7\xec\x2f\x3b\xe1\x40\x6f\x5c\x33\xe3\x97\xc3\xfc\xf0\x6f\xed\x67\xae\x7b\x54\x90\x3b\x6a\x8e\xc5\x6b\x2f\x39\x03\x27\xe9\xb4\x05\xf5\x77\x90\x58\x2b\xd2\x4d\x49\x78\x5d\x39\x41\x17\x1e\xe0\x43\x8f\x2c\x20\xb2\x95\x9a\xec\xd0\x40\xfe\x29\xec\xbc\x21\x38\x61\xe1\x37\x2b\xd4\xd4\xa5\x71\xfc\xfb\xcf\x0b\xef\x45\x91\x8f\x42\x95\x2c\xca\x42\x22\x2d\x45\xb5\x1d\x48\x3d\xcf\x49\x2e\x36\xc2\x43\x29\xca\x0a\x6c\x72\x27\xdb\x4c\xa8\x62\x58\x7a\x11\x9a\x2f\x42\x5b\xed\x05\x14\x24\x1b\xe7\x26\x4b\x50\x8d\xf6\x90\x9b\x65\x6c\x54\xde\xdb\xaf\xdb\x5d\x7d\xba\xa0\xff\x14\x42\xea\x4b\xb9\x76\x4b\x14\x58\x9a\x40\x0f\xfe\xb7\x39\xf8\x9f\x2d\xfd\xe3\x69\x0f\xa0\x3a\x95\x00\xd4\x89\xc2\x7b\x5b\x15\x09\xad\xc7\x65\x5d\xda\x5d\x69\x77\x3a\xe5\xd8\x95\xbe\xd0\xbc\xe4\x7c\x47\xf7\xaf\x9e\xcc\x72\x02\x59\xcb\xbb\x84\x80\x95\xe6\x6f\x5c\x57\xd0\x26\x89\x91\x81\xce\x30\xd0\xe4\x76\xed\xbc\xdb\x2e\xc3\x82\x30\x35\x66\xb7\x7a\x14\xe6\x8b\x22\x0c\xc8\x05\x81\xb9\x72\x11\x50\x54\x7a\x86\xb0\xfd\x0a\x16\xbd\xed\xf2\x94\x13\xf3\x12\x18\x1d\x5e\x10\xe1\xe1\x07\xf3\x8e\x01\xdc\xb0\x80\x53\x7a\xaa\x74\x56\x18\x68\xb4\x6a\x10\x2d\x28\xe0\x5d\xc4\x44\xda\x0b\x89\x2a\x0b\x68\xe2\x15\xab\x9c\x38\x80\x74\xf8\xcc\xf3\xaf\x26\x86\xed\x4c\x40\xcc\x99\x4d\xe5\x98\x05\x7d\xac\xc0\xd3\x35\x66\x98\x2d\x95\x44\xd8\x67\x1a\x7b\xaf\x2b\xfc\xd3\xec\x10\x17\x74\x4e\x59\x50\xd5\xcc\x4e\x2f\xc5\x19\xf8\x16\xcc\x19\xe4\x33\x7f\xa7\xdd\xdb\x14\x97\x63\x18\xf1\xff\xfd\xef\xff\x39\xa6\x6d\xae\x37\x39\xb1\x2b\x70\x08\x3b\xb9\xd9\xb6\x84\x3b\x1f\x40\xd8\xb4\x40\xa3\x04\xd6\x0a\x59\x4a\xdb\x29\x7e\xb5\x97\x9b\x26\x1a\xae\x16\x26\xd6\xa0\x4c\xee\xe0\x98\x13\xf9\x8a\xb3\x61\xae\x98\xb7\x5d\x4b\x2a\x21\x35\x45\x8f\xc4\x9c\x64\x6f\xfa\xa1\x4c\x11\x66\xab\xa1\xd5\x0c\x70\x63\x56\x7c\x22\x0d\x18\x8f\xc1\x5f\x36\x3f\x14\xab\xd3\x71\x61\x56\xf1\xfe\x22\x4c\xa7\x88\xc5\x08\x42\xe1\x5d\x7d\x1b\x13\xc2\xac\xdb\xaf\xdc\xb4\x15\xce\x1d\x00\x91\xee\x12\x32\xbc\xc0\xf2\xe5\xe2\xc2\x1a\xeb\xb2\x19\x3f\x49\x28\x3c\xac\x8b\x10\x33\x83\x34\xa9\xc6\x7a\x43\x72\x49\x84\xe1\x74\x1e\x8b\xcd\x52\x42\x08\xb3\x0a\x01\xc2\x6b\x1c\xdd\x24\xc5\x74\xa3\x64\x16\xfd\x7e\x33\x08\x6c\xc9\x8d\x84\xe7\x44\x4c\xe2\x5c\xd5\x8e\xc5\xaa\x04\x13\xfd\xd1\x79\xae\x96\xeb\xdb\x97\x09\xae\xd7\xa5\x5a\x05\xbc\xab\xdf\x6f\x69\x76\xbd\xc4\x1c\xc4\x97\x95\xa5\xe6\x16\x58\x5b\x52\x81\xb5\xb5\x01\xcf\x25\xe3\x17\xdc\xc0\x4c\x01\x9e\x63\xa1\x49\xd9\x2b\xda\x80\xef\xc3\xc8\xd1\x34\x2f\x8c\x85\xbe\x9c\x89\x56\x89\x3f\x9a\x7a\x40\xa0\x93\x9b\x01\x44\x90\x6d\x46\xbe\x64\x5c\x92\x52\xfa\x63\x43\x89\x12\x9b\xbe\x6c\x87\xd1\x2c\xac\x17\x1f\xed\x2e\xab\xbf\x39\x40\x71\x7d\xc3\xeb\x53\x6e\xa6\xc0\x9d\xc4\xc1\x88\x66\x54\xd3\xce\xa4\xf1\xa4\xbd\x5c\x99\xec\x22\xa0\x10\x40\xd8\x54\xb2\x1c\x20\x3f\xbd\x0a\x41\x24\xe4\x89\x80\xa3\x04\xc6\x18\x16\xa2\x29\x5b\x6c\x5b\xd8\xc9\xba\x03\x54\xe4\x1e\x03\x5b\x40\x71\x75\x04\xe5\x0c\xcd\x26\x5a\x2c\xe7\x9e\xed\x9c\x26\xd9\x14\x15\xb5\x81\x78\x3e\x0c\x0b\xf2\x2c\x89\x42\xe4\x8b\x22\xb6\x64\xef\xbd\x4b\x64\xad\xe7\xbe\xa0\xe6\x5c\xbc\x76\xd9\xf1\xc5\x8b\xa7\x0f\x1d\x7c\x81\xcb\xd4\x8d\xdd\x95\x6f\x33\x57\x17\x98\xc5\x36\x1d\xdb\x2a\x19\x5a\xd8\x82\xd9\x19\x6b\x9b\x4f\x54\xb1\x49\xc5\x41\x25\x03\xd3\xa6\x29\xb9\x00\x17\x99\x53\x18\xb5\xca\x02\xb1\x3d\x5c\x68\xc9\x3d\x67\x8a\x26\x9a\x38\xec\x18\x24\x9a\x41\x58\xa6\x45\xc9\x84\xb4\x8a\x36\x20\x46\x2a\x25\x65\xf3\x89\x5d\x49\x97\x59\xdc\xed\x62\x28\xd3\xd4\x67\xd3\x94\xf9\xf1\x07\xd7\xd0\x6a\x77\x89\x21\x6b\x00\xc9\x73\x39\xcd\xa0\x71\x30\xee\x26\x63\xd1\x0d\x5d\x2a\xf4\x84\xc6\x66\x29\xa8\xa9\x0c\x0f\x13\xdd\xc4\xa3\x02\x32\x5d\x1d\x44\xa4\xb8\x42\xa4\xcd\x53\x36\xd9\x87\x90\x26\xa2\x5a\x12\xb1\x65\x6b\x02\xf6\x05\xf3\x22\x9a\xad\x4b\xe7\x61\x26\x2a\xb9\xdc\xd8\x75\x67\x73\x61\x70\x92\x4c\x71\xf4\xe8\xb5\x30\x6f\x8b\xe0\xc2\xd5\xf5\xd0\x72\x25\x14\x2e\x34\xc4\xa5\x07\x1a\x81\x74\x13\xfa\x81\x0d\x8c\x94\x1d\x76\xd1\xb9\x59\x35\x8b\xcf\x67\x70\xc3\xcc\xe8\x4d\x62\x4d\x4c\xb2\x84\x2f\xd3\x96\xfb\xac\x9a\xbf\xba\x4b\x98\x58\x5b\xfa\xec\x5e\xaf\xb2\x0a\xd3\xdb\xf8\x32\xab\x25\xc3\xed\x01\xd4\x6c\x03\x2e\xf9\x29\xe1\x53\x30\xa9\x5a\xf3\x83\x4b\xf0\x0a\xf2\x8c\xaa\xe7\x79\xd3\xb4\xb3\xea\x89\xa4\x32\x4b\xb4\x32\xd3\xde\x83\x49\x78\x7a\xd9\x7d\x33\x00\x19\xeb\xad\x83\xdd\x53\x05\x1a\x3f\x7f\x09\xf8\xec\x4b\x27\x09\x98\x77\x0d\xff\xaa\x58\xd9\x4c\xa6\xe9\xb1\x09\x3f\x50\x7c\xcc\x14\x9e\xbb\xcd\xb5\xc2\x25\x7f\x66\x44\xc8\x05\xcd\x4a\x05\x4d\x77\xce\x4d\xb0\x14\x6d\xff\x63\x22\xf1\x37\xe0\x9d\x3c\x3b\x32\xf0\x38\x9a\x3e\x64\x86\xa3\xc2\x2a\x1a\x25\x58\x4a\x3a\x5b\x06\xa8\x36\x3e\xcc\x1b\x72\x07\xcb\x66\x84\xa0\x86\x60\x13\xa3\x31\xe3\xdb\x0f\xac\xc3\xee\x29\xad\x0f\xe5\xe3\x47\xe3\x10\x3e\x50\xdf\x27\x75\x08\x23\x77\x53\x5b\x28\xa3\x56\x18\x64\x83\x5f\xb1\x1d\x0c\xc3\x4a\xe4\xa9\x76\x33\x42\x21\x4c\xda\x61\x5b\x45\xc6\xa3\xcd\x84\x48\x4c\xaa\x94\xc7\x0b\x9b\xaf\x15\x27\x67\x17\xd6\xc4\xe9\x91\x6a\x00\xd0\xa3\xf8\x78\x80\xe4\x4e\x08\x6f\x5d\xe8\xe2\x9c\x24\x64\x2f\xe1\xfe\x5b\x10\x49\x35\x50\x25\x20\x8f\x95\xa4\x51\xd4\x01\x59\x6f\x5c\xd8\x22\x0b\xa1\x05\x27\xaa\x79\xe8\xbf\x98\x81\xda\x44\x84\xa6\x5d\x04\xc3\x20\xac\x72\x57\xdd\xa5\x09\x70\xd2\xb4\x60\x49\xae\xe8\xa6\x44\x57\x45\xa7\x5e\x5e\x39\x44\x52\x7b\xe3\x78\xfd\xda\xb8\x3e\x91\x2e\x81\x3b\x6b\x0f\xc0\x56\x1c\xa8\xce\xa7\xbb\xd1\x85\x75\xa0\x2a\x8e\xe6\x04\x00\x81\x28\x8b\xe9\x13\x8d\x73\x9c\xbc\x2b\x9a\xd8\x5b\xb6\xd1\x9e\x56\xbf\xf9\x90\x6f\x76\x6a\xef\x88\x92\xee\x4a\xa8\x61\x78\xda\xcd\x39\xc0\x2d\x38\x8c\x63\x69\x04\xd7\xaf\x5e\x6e\xd9\x19\xa1\xc3\x8e\xcc\xe2\x54\xfc\x8a\x04\x2a\x33\xc7\xd8\x7e\xe1\x31\x29\x4a\x68\x6c\xb8\x84\x60\x69\xd6\xe8\xed\xb9\x5e\x95\xb4\xbf\x76\xd1\x6b\x73\x1a\xaf\x8e\xaa\xa0\xee\x5e\x1e\xdc\x4c\x1e\x74\x08\xaf\x07\x78\xf9\xb7\x1d\x83\xc3\xbc\x7f\x0e\x40\x38\xac\x5d\x89\xfb\x13\x11\xdf\x11\x99\x1c\x84\xa4\x58\xdb\x8a\xd7\x92\x17\x8f\x1c\xc4\x56\x01\x58\x75\xb8\x5b\x74\x18\x27\xf9\xd6\xba\x81\x5e\xee\x82\x5d\x4f\x2f\x7b\xa1\x0f\x40\x9b\xc5\x90\x94\x9f\xdb\xf2\x35\x70\x78\x83\x58\xba\x9a\xef\x61\x4d\x94\xa2\x1d\x5e\xa7\xf8\xc4\xda\x72\xbe\xc4\xf6\xda\xf4\xc6\xce\x9b\xfb\x92\xa4\xb6\xe9\x58\xf6\xa1\xa3\xbc\xb0\x17\xc7\x52\x63\xf0\x41\x1f\x2c\xdc\xed\x16\x6d\xc0\x75\x72\x5b\xb6\xcf\x43\xd6\x54\x73\x70\x77\x0c\x09\x97\xbd\x39\xc9\x04\x99\xd1\x2f\x5b\x89\xe2\x37\xf0\xa9\x55\x2f\xf5\x32\x57\xaa\x18\x82\x7b\x06\xaa\x1e\x06\x01\x8d\x76\xa5\x6d\xa5\xb3\x31\x2b\x72\x5e\x6d\xc2\xeb\x23\x59\x22\x2e\x4a\x3f\x6d\x8b\x40\xba\xff\x8a\x8b\x66\x5f\x17\x4a\x65\xf2\xf4\xe4\x64\x4e\xd5\x22\x9f\x1e\x47\x3c\x35\x71\xf8\x5c\xcc\xcd\x1f\x27\x54\xca\x9c\xc8\x93\xdf\xff\xee\x77\xc5\x16\x4f\x71\xf4\x38\x37\x98\x4e\x75\xbf\x53\x79\xcb\x09\x96\xbb\x45\xf6\xb8\xe4\xc4\x17\x4e\x52\x0f\xba\x71\x69\xc1\xfa\x1b\xa9\x70\x9a\x85\xa1\xa0\xa6\x66\xa1\x54\xb8\xa8\x94\x02\x19\xa7\x7a\x9a\x68\x81\xb3\x8c\xb0\x76\xb3\x83\x49\x21\xde\x81\xf5\xb8\x24\x64\x3b\x42\xf2\x25\x4b\x30\x2b\x63\x7f\x40\xd9\x2f\x41\x22\xc2\x94\x05\x7d\x28\x6a\xbd\x03\x35\x1a\xfc\x29\xc3\xff\x37\x4b\x32\x85\x39\x52\x59\xd4\xf3\x73\xc3\xb1\xb5\x75\x5d\xc5\x55\x1c\x2c\x5d\xb5\x9e\x71\xb1\x76\xc4\xad\xda\xaa\xf4\xd3\xbb\x7a\xed\xff\xcd\xeb\x29\x09\xce\x26\xe4\x8b\x66\x72\x72\x5b\xb4\xb8\x07\x49\x24\x1a\xfe\x72\x87\xe4\x92\x29\xfc\xe5\x14\x7d\xa6\x0c\x04\xd8\x1f\x79\x2e\x24\x3a\xc7\xcb\x23\x3e\x3b\x4a\x39\x53\x0b\xf4\x19\xfe\xd7\xfe\xf4\x4c\xc8\x23\xfa\x0b\xc1\xc2\xf2\x07\x5b\x0f\xd1\x95\x64\x03\x12\x12\x39\x93\x88\x3c\xe9\x13\xfa\xbb\xff\x44\xa9\x69\xf9\x14\x7d\x7f\xf2\xbb\xff\x44\xbf\x81\xff\xff\xff\xa2\xdf\xb4\x68\xfa\x9b\xe1\xcd\x41\xd9\xec\xdb\xb2\x3b\x77\x50\x59\x29\x59\x5f\xf2\x75\xcd\x9e\x09\x5e\xec\x54\x63\xcb\x8f\x34\x7a\xe4\xb3\xd9\x44\x13\x86\x2d\x0b\x8e\x45\x0d\xab\x7c\x4b\xf0\x5e\x6a\x8b\xc3\x9b\x32\x8a\x45\x01\x23\xdb\xa9\xc1\xf2\x70\xec\x5a\xe6\x45\xd9\x67\x08\x22\x2a\x95\xd2\xa6\x12\xbe\x22\xb1\xe6\xaa\x9b\x9c\x0e\x67\xdd\x73\x69\xfd\xce\x82\x13\xc2\xf3\x38\x81\xb8\x14\xf8\x17\x46\xb1\x9a\x40\x1f\xbb\x90\x8d\xc7\xa1\x16\x5e\xfb\xd5\xc4\x4c\xc2\xd4\xde\x2a\x5e\x52\xd6\x3a\x5f\x1f\x2a\x79\xc7\xc5\x4e\xfa\xd6\x23\x69\x4d\x65\x58\x53\xac\xcb\x15\x90\xc6\xa1\x51\x43\x71\x24\xb9\xf0\x20\xda\xc6\x2e\x62\x4b\x7a\xae\xb7\x62\x52\x61\x82\xcb\xba\x1d\x7a\x3d\xf5\x73\xff\xc9\xba\x61\x42\xa4\x99\x7b\xbb\x28\x56\x08\xa3\xd5\x22\x92\x66\x89\x0d\x23\x6e\x40\xda\x5c\xb7\xa1\x77\x1e\xb9\x04\x1a\x87\xb0\x47\xc8\xdf\x60\x4e\xb2\xb5\xd0\x10\xcd\xfb\x99\x8b\x88\x9c\xf1\xdd\xc2\x5e\x13\xca\x6a\xf1\xf2\xdd\xeb\x60\xf9\xd5\xbb\xb4\x15\xcf\x1c\x18\x35\x8f\x0b\x65\xc1\xb8\x05\x6c\x09\x94\x00\x05\xb7\x3c\x1b\x40\x53\xdc\x07\xd0\x6a\xad\x30\xc7\x0e\x5c\xdb\x18\x8e\x0b\x86\xe7\xea\xba\x54\xca\xb9\x08\xac\x79\xe1\x8a\xd8\x35\x08\x2a\xda\x79\x1c\x41\x89\xa2\x22\x52\xa9\x54\x75\x17\x46\x02\x79\x6f\x5b\x02\xe5\x9a\x6a\x61\x03\x24\x30\x04\x65\xaa\x85\x6e\x4f\x12\x71\x34\xc3\x11\x65\xf3\x41\x80\x91\x0a\x60\x20\xe1\x75\xd0\x44\xa4\xf7\x58\x3e\xee\x37\xd0\x70\xe7\xea\xa9\x34\x2e\x2a\xf8\x59\xc8\x20\xe3\xd8\xa0\x35\x80\x48\x85\xe5\x63\x1b\x66\x56\x0d\x53\x70\xc5\xe8\xfc\x52\x38\x24\xc2\x55\xe3\x73\x29\xe8\x24\xd4\xa7\xa0\x60\x88\xab\xe7\x6d\x11\x46\x5d\xc6\x1f\xf6\xf8\x3a\x55\x68\xdd\x15\xe3\x97\x0b\x2e\xd4\x64\x4b\x50\xe2\x6a\x1a\x3d\x23\x47\x09\x40\xf5\xf0\x27\x22\x9e\x28\x79\x2e\x63\xfb\x6e\x42\x8b\xc6\x68\x16\x44\xd5\x01\xf8\x6b\x9a\x71\x48\xa1\x99\xa1\x14\xb3\xa5\x61\x94\x9a\xb9\x60\xf9\x28\x7d\x15\x61\x24\x53\x9c\x24\x03\x24\x48\x2e\x4d\x75\x6d\x49\x92\xd9\x91\xab\xc3\x12\xa3\x84\xcf\x69\x84\x13\x34\x4d\x78\xf4\x28\x4d\x86\x1b\x9b\x1b\x26\x95\x09\x1e\x11\x29\x03\xc9\xaa\xc8\x66\xb7\x39\x86\x50\x42\x58\x11\x91\x52\x46\xa5\xa2\x91\x13\x99\x0a\xb8\x11\x53\xc8\x3e\xc2\x60\x12\x86\x8c\x4d\x18\xae\x96\xf4\x88\x41\x86\xcd\x99\xad\xd8\x05\xd7\xb5\x05\x7c\x74\x41\xe2\x6d\x07\x68\x0f\xf8\x95\x8e\x42\x26\xaa\x7c\x20\xd7\x1c\xa9\x33\xfb\x19\x1c\xe3\x55\x24\x70\x5b\x3e\x51\x9e\x20\xfd\x49\x2b\x01\x56\x41\x4c\xb9\x0f\x81\x2f\x49\x2e\x3e\x32\xfc\xc0\xb0\xea\x60\xc8\x2d\x08\x75\xeb\x68\x5a\xaf\x22\x88\x3c\x50\x24\xae\xea\x35\xa7\x2c\x4a\xf2\xd8\x97\x09\xd5\x22\xc0\x93\x26\x12\xb7\x3c\x7a\xed\xb5\xa0\x30\x40\x58\xa2\x67\x92\x24\xfa\xbf\x26\x02\xfe\xc8\x57\xed\xd0\x2c\xd9\x54\x56\x81\x4e\x1c\x97\x6e\xa3\xa8\x83\x83\x46\xbd\xc1\x6a\x61\x72\xfe\x53\xae\x4c\x85\x56\x03\x8d\xea\xec\x5b\x06\xc0\x72\x9a\xf0\x29\x9c\x74\x40\x4d\x75\x79\xae\x41\x5a\x5d\x1e\x45\x84\xc4\x24\x46\xdf\x06\x07\xd7\xe3\x51\x7c\xd7\x8c\xe1\x59\x5a\x91\x03\x40\x4c\xad\x1a\xd6\x5a\x71\x53\xcb\x45\x06\x8f\xd1\x4d\x05\x98\x25\x58\x99\x19\xae\x02\xb0\x0d\x6a\x5b\xf8\x36\x28\xab\x95\x49\xbc\xdc\x0e\xbd\x2d\xca\x6a\x65\x9a\x7b\x41\x59\x2d\x2d\xcb\x1e\x50\x56\x3b\x8d\x31\xe1\xf3\x17\x4d\x8b\xd6\x93\xba\xe4\xdd\x73\xd5\x0c\x3a\x9d\xb9\xde\x4b\xa7\xc4\xf1\x8c\x65\xd3\x59\x39\x2c\x04\xd9\x4a\xb5\xd0\xb7\x45\x90\xad\x0c\xe6\x90\x11\x64\x2b\x43\x3d\x5c\x04\xd9\x86\x81\x76\x40\x90\x35\xf1\x07\x13\x4d\xd4\xdd\x98\x02\xe4\xde\x4c\xf3\xd9\x1d\x64\xa3\xaf\x1c\xe3\x99\x89\x6d\x30\x37\xad\x13\x23\x2c\xe6\x3b\x8c\xd6\xa6\x69\xb6\x45\x6c\x55\xfc\x24\x9b\xd2\x9e\x77\x10\x1a\x7c\x8a\x4d\x3d\x03\x83\xd0\x20\x0f\xa6\xd2\x08\x67\x36\xed\xbd\xad\x14\xd3\xe1\x24\xf8\x6e\x07\xce\x0b\x00\x98\x25\x96\xdf\x09\xe4\xec\x73\xa5\xaa\xc9\x82\x3f\xdb\xca\x62\x40\x86\x86\x28\x5b\x49\x10\x3a\x9d\x58\xbd\xb2\x6d\xe5\x28\x53\x64\x5e\x55\xbb\x8b\x43\x43\x99\xfa\xc3\xef\xd7\x72\x22\x83\xef\xe9\x34\xd8\xa0\xb6\x88\xf7\xc7\xd8\x67\x24\x46\xd1\x42\x2b\x6e\x52\x6b\x58\x7a\x3a\xe6\xf2\x97\x28\xc5\xd4\xe9\x7a\xb9\x34\xde\x2f\x2a\xc7\xac\x04\x88\x7b\x8c\x3e\x42\xc1\x64\x9c\x66\x5a\x45\xf4\xf3\xa3\x9a\x92\xc6\xf9\xf7\xdf\xff\x81\xa0\xef\x51\x4a\x30\x2b\xa9\xd9\xa0\xd9\xe9\xab\x0f\xe0\x05\xd5\x82\x8c\x59\xe3\x56\xa0\xd1\x17\x53\x83\xcd\x85\x24\x5e\xb0\x19\x77\x6a\x3b\x14\x02\xc5\xd1\x02\xc9\x7c\x6a\x2a\x59\x07\x66\x16\x27\xeb\x5f\xf2\x39\xf8\xd2\xe1\x46\x76\x83\x5e\x75\x0a\x5f\x36\x4c\xc1\x7a\x44\xbb\xde\xc6\x43\xb8\x47\x8e\x24\x29\xc1\x4f\x35\xf8\xf5\x0c\xe7\x0b\x0f\xbe\x34\xd0\x34\x03\xe3\xe6\xd0\x2a\x24\xb6\xce\x07\x2d\xee\x43\xc4\x31\x38\xf2\xf2\x04\x0b\x7b\xf4\xc7\x4c\xeb\x42\x82\x3c\x51\x9e\xcb\x64\x89\x62\xce\xc8\x00\x28\x21\x8f\x16\xc6\xf7\xab\xd5\x2a\x6c\x0b\xba\x3c\x51\x99\x6b\x9d\x1b\xda\x72\xf5\x63\xa4\xc2\x06\x36\x6b\x41\xa1\x9f\x08\x27\x88\xc0\x57\x61\x22\x1f\xea\xa6\xe8\x85\x98\xc5\x15\x9e\xdf\x11\xb3\xb8\x44\x55\x3d\x66\xb1\xc7\x2c\xae\xaf\xcb\x21\x62\x16\x57\xf6\xbc\x1b\x66\x71\xd3\x96\x6f\x81\x59\x5c\x6a\xe6\xab\xc1\x2c\xae\xac\xe8\x57\x83\x59\x5c\x99\x57\x8f\x59\xdc\x63\x16\xf7\x98\xc5\xef\x05\xb3\x78\x47\x54\xde\xe6\x5b\xd6\x80\x7b\x29\xca\x96\x1b\xb3\x8f\x6f\x24\xba\xb8\xd6\x84\x15\x3d\x96\x23\x2a\xbd\x20\xb2\x3b\x12\x70\xf3\xf5\xb2\x19\x12\x70\xa3\x11\xa6\xfd\x12\xdb\x15\x5d\x0c\x54\xbe\x57\x46\x02\x2e\x4d\xa0\x0f\xee\xdd\x3c\xb8\xb7\x91\xf8\x6c\xdf\x7a\x78\x2e\xe2\xb7\x2a\x6a\x75\xc4\x02\x2e\xed\x4f\xa7\x30\x60\x50\xca\xf6\x40\x89\x2f\xab\xa7\xdd\x97\x0e\xf9\x5a\x2d\x2d\x5c\x45\x69\x51\xc9\xb5\xec\xee\xa0\x0a\x8d\x79\x25\x0c\x3e\xe9\x29\x77\x8b\xb0\xf4\xca\xf2\x7a\xa7\x9e\xa1\xc5\x0e\xa4\xda\x99\x42\x9d\xbd\x61\x3f\x59\xda\x2e\x73\x77\xc3\xf8\x06\x37\x88\xbb\x8c\x44\x2d\xde\x03\x9a\xd2\x7d\x35\xbb\xee\x22\xf3\x40\x6c\x60\x6a\xa9\x25\x25\xeb\xeb\xc9\x0c\xc7\x68\x6f\x95\x5c\x6c\x40\x89\x31\x5f\xce\xa9\x54\xa2\x35\xb0\xae\x36\xc2\x5d\xfc\xf4\x59\xde\x39\x1a\x2b\x58\xd5\xf9\x76\x9f\xa5\x24\xe5\x62\x5d\x54\x5f\xe3\x97\xb6\x82\xd6\x36\x9f\x92\x6c\x41\x52\x2d\xc9\x4c\x36\x6d\xa4\xeb\x7e\xfb\x8c\x75\x9b\x38\x69\xa2\x6c\x4b\x44\x10\x78\xe1\xf5\xbb\xb1\x81\x43\xed\xbc\xdd\xbb\x6e\xb3\x05\x6c\xdd\xd0\xd5\xe7\x90\xbc\x57\x9b\x52\xed\x4b\xa5\x58\x0b\xa0\xef\xc6\x80\x22\x1f\xcf\xb5\x3e\x64\x68\x45\xb0\xd0\x2a\xd0\xb3\xe2\x2b\x5b\x02\x7f\x83\x38\x92\x72\x68\x88\xe6\x84\x61\xfd\xf3\xcd\xa3\x8b\x5a\x20\x7b\xeb\xcb\x03\x61\x61\x92\x88\xa3\x50\x33\x28\x0d\xa6\xbe\x5e\x25\x2a\x71\xb6\x82\x1d\x88\x24\x17\xad\x21\xce\x5d\x5c\x15\x91\xca\x71\x02\x9a\x44\x58\xb7\xb7\xba\xa9\xd3\x65\x43\xce\x6d\x37\x5f\x18\x65\xea\x8f\xff\xb1\xd1\x6e\x6a\xd5\xca\xae\x1b\x14\xf2\xc3\x51\x44\xa4\xf1\x9e\xd8\x10\x78\x3c\xe5\x4f\x50\xc3\x6f\x97\x5d\xd5\x47\x59\xcf\x5b\x33\x78\x8f\x83\x1d\x17\xa4\x6e\xc4\x85\x85\xe0\xf9\x7c\xe1\xac\x83\xfa\xcc\xe8\xa9\x35\xed\xe5\xcf\x35\xef\xc7\xc6\x7b\xf9\x43\x4e\x93\xed\x6c\xaf\x77\xa5\xea\x86\x9f\x2e\xee\x91\x5c\xf8\xd3\x3a\x85\x66\x1b\x37\xb6\x3e\xe8\xee\x7d\xda\x6f\xbd\x27\x0e\xba\x19\x38\xec\xd7\x19\x4f\x12\xf0\x21\x49\x92\x3e\x11\xd1\xdc\x3d\x4c\xf8\x9e\x6e\x06\xdb\xe8\x07\x00\x5f\x17\x59\x39\x9d\xe4\xaf\x1b\x23\x1a\x4a\xe4\x46\x5f\x8d\x98\x31\x71\x92\x9c\x11\xd6\x64\x3d\xfd\xa5\x5e\x7e\xe8\x9d\x45\xab\xba\xd0\xc5\xbd\x45\xac\xba\x25\x79\xe5\xa8\xd5\x35\xf3\x38\xd4\xc8\xd5\x0a\xb3\xf3\x81\xa4\xc5\x35\xe3\xa2\xd6\x8c\xe2\x33\xd4\x4b\x3c\x66\xc3\x52\x32\x8f\x8d\x5e\x40\xd3\x65\x91\x0d\x60\x74\x88\x90\x99\x41\x91\x17\x6b\x58\x01\x07\xa9\xfe\x0b\x34\x1d\x83\x9c\x6c\xe2\x59\x5d\xcc\x2a\xa4\x32\x90\xf8\x08\x47\xcb\x28\xa1\x51\xa0\x33\xcf\x05\xce\x16\x4d\x1c\xcf\xed\x7c\x0f\xf9\xf4\x56\x90\x4f\x6d\xd5\xd0\x36\x49\x1a\x70\x74\xc5\x70\x4a\x7a\x28\xaa\x26\x28\xaa\x81\x07\x5b\x61\x45\x5d\xb7\x37\xc4\xf0\xa8\x9f\xbb\x1e\x8f\xea\x0d\xf0\xa8\xb6\x39\x7c\x05\xd8\x54\xe9\xd8\xf5\x18\x59\x1f\x3a\x61\x64\xf9\x4b\xf0\xa0\x60\x8f\xda\xcf\xe3\x1b\xc3\xe9\xd4\x07\xf6\x96\x98\x58\x0d\xe2\xc2\x26\x72\xd3\x2a\x50\xac\x55\x74\xd1\x69\x5d\xde\x16\xa2\x6a\xb3\x95\xd9\x08\x7d\xaa\xf1\xee\x3a\x10\x2c\xaa\xf6\x6d\x38\x90\x73\xb3\xcf\x94\xaa\xcd\x0a\xd7\x86\x69\x55\x9b\x28\x58\x9b\x65\x58\x79\x7a\x78\x5f\x59\x56\x45\x85\xbf\xed\x32\xad\x86\xce\x07\x4d\x04\x5a\xf0\x24\x76\x08\x28\x7e\xb5\x7c\x07\x3e\x3f\xc3\x2f\x90\xdb\x8c\xbb\x8c\x44\x46\xdb\x2a\xaa\xd1\xad\xca\xa7\xf2\x9b\x08\xc3\xdd\x03\xa3\xd9\x87\x15\xc1\x73\x92\x6d\xec\x07\x6b\x65\x11\x59\x36\x7f\xaf\x18\x63\x69\x85\xc0\x6a\xde\x3c\xcc\xb5\x76\xdf\x35\x83\x5b\x25\x7a\x04\xc6\x41\xd1\x54\x67\xd6\xd0\x19\x3c\x7d\xa2\xce\x10\x81\xc3\x1e\x57\x7a\xe9\xdc\xec\x3a\x79\xea\xaa\xc4\xb2\x45\x98\x5f\xad\x6c\xe0\xee\xc8\x54\x29\xfe\x32\xc9\xb0\xc0\x49\x42\x12\x2a\xd3\x17\x0b\xf3\x3e\x2b\xbb\x6b\xf5\x59\x15\xdc\x98\x88\x58\x9e\x4e\x0d\x29\xba\x81\xd8\x4a\x93\x8a\x23\x91\xb3\x10\x57\xcf\x6f\x8c\xaf\x64\x99\xc3\xbd\x00\x56\xa5\x68\x01\x25\x83\x67\x98\x0a\x46\x64\x6b\x81\x56\x12\xe5\x82\xaa\xe5\xc4\xd6\xbb\xed\x7e\xe0\xee\xec\x97\x67\xf6\xc3\xd5\x1e\x6e\x07\x29\xe1\xfa\xf3\xf5\x75\x33\x22\xa0\x46\x95\xab\xb6\x14\xd4\xf4\xb5\x90\x21\xc4\x17\xba\x82\xc0\xf6\xda\xb5\xdd\x16\x12\x8e\x9f\x27\x41\x7c\xd5\x24\xaa\x12\xc7\xba\xc3\xda\x04\x7a\xb6\x6a\x92\x2f\x0c\xfb\xd5\xe2\x45\x7e\x81\x12\x37\x36\x21\xc6\x34\xad\x07\x1c\xb8\x82\xc1\x5e\x59\x6c\x4c\x80\xb7\x60\x95\xaa\x96\x71\x5a\xa0\xa9\xa6\xe0\xa3\x15\x83\x1d\x06\x5f\x75\x18\x71\xd0\xc9\x9e\x86\xad\x0f\xba\x10\x79\xa6\xe8\xb4\x8e\xab\xa4\xf6\x57\xbf\x76\x98\x40\x8e\xbf\x73\x33\x94\xba\x35\x45\x6d\x4b\x9c\xd8\xce\x4e\xcb\xff\x16\xc4\xce\xc1\x53\x19\x78\xaf\x30\x89\xf4\x3a\xa5\x4a\xb9\x14\x10\x63\x80\xd6\xd4\x59\xb6\xcd\x7e\xe3\xc2\x3d\x30\x94\x19\x36\x26\xa2\xe3\x31\x1b\x4a\xf4\x4c\x10\x23\x16\xbf\xa4\xa1\x80\xb0\xb7\x6a\x43\xe1\xb1\x29\xd1\x3d\xf9\xd8\x14\x2d\x3c\x50\x25\x7d\xed\x3b\xd3\xc7\x0c\x27\x92\x0c\x74\xc3\x50\x32\x57\x71\x08\xfa\xc4\xe8\x59\xe0\x2c\x23\x62\xcc\x6c\x7e\x0e\x38\x5c\x38\x4f\x4c\xfb\x6d\x21\x94\x76\x0d\xc8\x24\xc2\xd1\xe2\x95\xf6\x08\x43\x9a\x55\xb4\x20\xb1\x4b\x56\x2f\x6f\x8f\x9b\xb7\x31\x58\x6f\xb0\x59\x17\x33\x57\xbb\x6d\x60\x3b\x49\x22\xcd\x51\x7c\x8d\xf3\x8c\x08\x3d\x6a\x4d\xc3\x4f\x84\x21\x3a\x73\xe3\xb0\xb1\x3b\xe8\x19\x3c\x53\x9a\xf4\x9f\x30\x4d\x0c\xfa\x83\xeb\xda\x09\x81\xc6\xfc\x3e\x66\xc6\xdd\xcd\xa2\x52\x7a\x34\x65\x54\x2e\x34\xa7\xce\xc1\x27\x09\x6a\x46\x5b\x4a\x14\x7b\xda\xe4\x34\x8f\xf4\xeb\xab\x39\xe8\x13\x15\x9c\xa5\x90\xfe\x64\x41\xc1\xdc\xf2\x49\xa2\xfc\xf1\x68\x4c\x5e\x5d\x2b\x11\xc7\xb1\x2c\x1b\x3f\x8d\x5a\x49\xff\x51\x32\xbb\x1c\x95\xf2\x3d\xa3\x00\xd3\x0a\x82\x38\x5d\x59\xbb\x55\xf2\x6f\x9f\xb4\x52\x4f\x5a\x69\x5e\x9b\x43\x4c\x5c\xf1\x87\x78\xd3\xe4\x95\xb6\xed\xdf\x87\x64\xbb\xc7\x24\x96\x37\xce\xf6\x78\x99\x44\x8f\xb7\xcd\xcc\x79\x89\xa4\x9c\x3e\x75\x65\xcf\xf3\xed\x53\x57\xfa\xd4\x95\xad\x53\x3e\xda\x19\xf2\x46\x69\x1f\x6b\x30\xe2\x9a\x7a\xf9\x4c\x94\xa0\x91\xdc\x07\xe7\x97\x19\xee\x18\xaf\x08\xfa\x7d\xb6\x46\x1e\xd6\x2f\x78\xf7\x32\x44\x00\xfa\xf2\xa1\x53\x41\xf0\x63\xcc\x9f\x6b\x56\x58\x19\x82\xf4\x7c\xe6\x5a\xa0\x15\x24\xa2\x92\x94\x62\x94\xa8\x44\x8c\x48\x6b\xc6\xc6\x63\xb6\xa0\x44\x60\x11\x2d\x20\x23\xb9\xd8\x18\x93\xd9\x6e\x70\xd2\x4c\x94\x4a\xe8\x47\xdc\x60\xd3\x3b\xac\x7b\xd5\x76\xe8\x61\x2f\xed\x9e\xeb\x91\xa4\xe6\x13\x2f\xa6\x5a\xf9\x31\x34\xb6\x76\xda\xfe\x5d\x53\x2c\xfc\x62\xbf\x68\x9a\x85\x0f\x13\x0b\xbe\xe8\x98\x6a\x51\x50\x43\x9f\x6e\xf1\x42\xe9\x16\x0d\x4b\xbc\x59\xca\xc5\x56\xc6\xdc\xd7\x8f\x06\x77\x3d\xbf\x46\x44\xf8\xba\x70\xbc\x7c\x3a\x79\xf1\xa3\xd7\x38\xe7\xae\x27\xf0\x17\x4f\x14\x46\xd7\x11\x9a\xce\xa6\x24\x8e\x81\xd3\x2a\x6e\x0b\xd0\x17\xb4\xe3\x0c\x3f\xfa\xee\xc5\x52\x13\x3b\x4e\x38\x9b\x4b\x1a\x1b\x80\xa4\x0c\x43\x21\xe8\xd0\x2c\x05\x80\x20\xb0\xbf\x49\x42\x84\xf3\x37\x09\xf4\xad\xa4\xcc\x82\xb4\xfa\xdf\x62\x4e\x24\xfb\x46\x19\x33\x10\x66\x4b\xf4\xc8\xf8\x73\x42\xe2\x39\xec\x50\x75\x30\x47\x88\x92\x01\xa2\xca\x7f\x26\x00\x41\x84\xe7\x6a\xac\xc7\x0e\x51\x84\x46\xb7\x23\xf6\x5b\x61\x8b\xc2\x04\x1c\x58\x7e\x77\x8c\xd0\x05\x43\x33\x1c\xa9\x01\x92\xf9\xb4\x68\x3f\xe6\xa6\x76\xfe\x13\x61\xe1\xc4\x8b\x46\xfa\x6c\x80\x86\xce\x9b\xcf\x86\xe3\x0e\x9a\x5c\x87\x09\xc5\x3b\x45\x4d\x3e\xe1\x5d\x90\x8b\x3f\xe7\xd2\x86\xd7\x20\xce\xfc\xd1\xb7\x90\x68\x1e\x7a\x1e\x60\x84\x0d\x8c\x3b\xe3\x71\xab\x15\xbb\x32\x95\x4d\xc7\x52\x84\xb8\x5a\x41\xc9\xba\x20\xa1\x5d\xb3\xdc\x5a\x6a\x92\x4a\x10\x9c\x5a\xb7\x8f\xbe\x6a\x40\xac\x31\x01\xae\x7a\xf4\x54\x18\x09\x73\x93\x2d\xbe\xa4\xec\x51\xef\x6e\x01\xb6\xcf\x01\x86\x5c\xf7\xdc\xb4\x69\x99\xbe\xf1\xc8\x19\x67\xc6\xf5\xbb\x93\xdc\x49\xe7\x0c\x27\x1b\x5a\xaf\x6a\x2b\x57\xf7\xd6\x3a\x39\xcb\x8a\x0b\x5a\x8a\x30\x66\x5c\x64\x7a\xdc\xc8\x3a\x58\x99\x6f\x28\xef\x61\x14\x93\x8c\xb0\x98\xb0\x68\x09\x24\xc2\x00\xed\x4a\x30\x9c\x20\x0c\xdf\xe1\xe4\x18\x9d\x9b\xcc\x29\x2f\xe1\xd9\x6b\x1d\x2e\xf4\x14\x33\x3a\xd3\x7a\x02\x98\xd7\xed\x28\xc7\xcc\x0c\xd3\x79\xb7\x48\x61\x37\xf7\x2b\xd6\xb4\x33\xfa\x06\xb9\xda\x11\xec\x9c\x95\xbf\x47\xab\x2f\x1c\xe8\x6d\xd5\xee\xe8\xe6\x5c\x69\x13\x99\x4f\x8f\xe0\xdf\xa5\x54\x42\x07\xae\x55\x20\x3f\x91\x84\x80\xa1\xd7\xfa\x32\xe1\x62\x6c\x03\x83\xdc\x87\x47\x76\x4d\x86\x4e\xd0\x47\x49\xa9\x49\x29\xa3\x69\x9e\x06\x6e\x59\x53\x08\x25\xb2\x96\x69\x93\x63\x93\x69\x3d\x20\x72\x35\x11\x90\xbe\x5c\xd9\x12\xcd\xe9\x13\x61\x63\x96\x71\xca\xd4\x31\xba\xe2\x8a\x04\x95\x67\x0c\xdc\x1b\xcf\x14\x4d\x0d\x88\xb2\x20\xfa\x1c\x18\xac\x7d\xc0\xaf\x5d\x60\x35\x40\x71\x0e\x47\x95\x11\xa5\x59\x87\xbe\x71\x15\xec\x0c\x44\xbe\x8b\x31\x33\x37\xdd\x0c\xd3\x24\x17\xc4\xca\xac\xd8\x64\x3c\x15\x43\x2e\x46\x66\xd1\x0b\x83\x49\xa4\x74\xbe\x50\x7a\x8b\xb4\x8c\x67\x3d\xc9\x0b\xcd\x8d\xf8\x98\x4d\x09\xc2\x28\xe3\x92\x2a\xfa\xe4\x3d\xd3\x74\x86\xb0\x94\x60\x1b\x3b\x46\xe7\x25\xcf\x0e\x95\xa0\x7a\xb7\x45\x4c\x53\x36\xb1\x5e\x85\xf6\x4c\xab\x9d\x37\xb2\xd4\x8b\x5d\x65\x3c\x95\x3c\xc9\x55\xe8\x5c\x6f\xde\xdb\xc2\xe9\xe1\xea\x81\x80\xe9\x9f\xcf\xc6\xcc\xd1\xb5\x3c\x46\x43\x89\x24\xd7\xbb\x24\xcd\x56\x46\x82\x2a\x22\xa8\x41\x5e\x23\xca\x6c\x82\x3f\xa7\xfe\x0c\xa4\x58\x3c\x6a\x11\x2a\xf4\xad\x18\xa8\xe2\x92\x6d\x6a\x6a\x24\x24\x80\xa2\x0b\xb7\x03\x9c\x3a\x88\x71\x76\xc4\xc8\x1c\xaf\xdb\x91\x31\x2b\x6d\x09\xfa\x96\xce\x0a\x85\xb4\xcd\x9b\x1c\xac\xdd\x04\x62\xda\xda\x76\xc9\x74\xdc\xb6\x49\xb3\x84\xe3\x35\x01\x01\xb3\xe2\xd0\xa3\xbf\xf1\xa9\x19\xa3\xd6\xfb\xb9\x02\x29\x50\xab\x57\x33\x2e\xc8\x02\xb3\x78\xe0\x36\xab\x3c\x36\xb8\x19\xad\x8d\xcd\x29\x63\x20\x09\x3a\x6c\x72\x62\xf0\xd3\x30\x0b\xf6\xc2\x2a\x6e\x76\x2b\x8a\x7d\xd8\xe8\xae\xf0\xad\x41\x49\x25\x63\x80\x30\x2c\x6f\x99\xd9\x23\x2e\x69\x9a\x25\x45\xb6\x5a\x60\xf5\x9e\x69\x11\xcb\xf1\x48\xfe\x04\xa6\x2b\xa7\xb5\xc1\xad\x6e\x77\x4e\xd3\x59\xc3\xc8\x3d\x23\x85\x5b\xc3\xd9\xbc\x4c\x75\xdd\x80\x85\x7d\x2b\x89\xfe\xa7\x22\x85\xda\x67\x84\xf5\x31\x73\x22\xc8\x77\xc0\x65\x6c\xb3\x81\xf1\x4c\x8b\xd0\x06\x3d\xda\xae\x1f\x8a\x4c\xf8\x42\xe9\x9c\xd8\xc3\xe0\x5e\x6d\xb8\xa8\x7e\xa0\x0c\x97\x72\xaa\xb7\x10\xfc\x92\x7c\xa3\xb4\xb9\xc0\xa1\xbb\x6c\x2b\x95\xa4\xf0\xba\xea\x45\x1b\x50\x82\xd9\x67\x82\x74\x77\x96\x9a\x5d\x21\x2d\x0c\xb1\x1e\x0b\x92\x64\x28\xa6\x33\x30\x4b\x29\x60\xdf\x1e\x0c\xd0\x94\x98\xd0\x87\x3d\xcd\x99\x01\x76\x34\xbe\xae\x67\x0b\xe3\x6f\xaf\xc6\xa2\xf1\xe3\x31\xbb\x50\xdf\x48\x2d\xa2\x73\x36\xd7\x17\x4d\xfc\x44\x65\x51\x3b\x29\xe2\x4c\xe6\x29\x11\xb6\x0b\x7d\x23\x6b\x8a\xb4\x75\x47\xb0\x93\xa1\xf4\xd8\xf4\xde\x3f\xe1\x84\xc6\xae\xbe\x97\xfe\xd1\x9c\x39\x3d\x4a\xe9\x7c\xc5\x0d\xc1\x7e\x76\x73\x63\xbd\x56\x6f\x26\xd6\xff\x1c\x4a\xee\x28\x2d\x84\x7c\x6c\xbd\x30\x27\x55\x11\xdf\xae\xfa\x0a\xf1\x7e\x5a\x9b\x14\x5a\x2d\x18\xd9\x55\x58\x6b\xd0\x76\x40\xdd\xb9\x09\xee\xd6\xfd\x38\xa3\x8f\x19\xdc\x46\xec\xa7\x32\x41\x3b\x6a\xc3\x59\x42\xf1\x9e\x50\x90\x0d\xa4\xc2\x5a\xbc\x30\xd7\x01\x17\x56\xc3\xb1\x77\x4e\xfb\xd6\x9e\xef\x58\x7d\x46\x46\x38\xa9\xef\xf0\x0a\x7b\xb3\x79\x7f\xb5\x12\x60\x8f\x9b\x69\x7b\x65\x3a\x77\xc4\x93\x64\x93\xca\x48\x95\x99\x9f\x15\x9f\xaf\x1e\x51\xd1\x8f\xde\x00\xb7\x17\x70\x6a\xcc\xe5\x8d\x13\x6b\x4a\x91\xca\xee\x52\xf8\x92\x51\xc3\x96\x96\xb5\x8e\x19\x9f\x41\xed\xac\xa4\x2d\x5e\x2f\x13\x3c\xa5\x9b\x20\xa3\x1b\x5f\xca\xad\xb3\x8b\xaf\xb1\x32\x38\xeb\x39\x88\xa6\x86\xbc\x6c\x8f\x90\x89\x89\xad\xb8\xb9\xe2\x0c\xa5\x38\xdb\x6a\xc1\xd7\xf9\xf0\x86\x28\x35\xce\x56\xbb\x7a\x80\x91\x4a\xa0\x0c\x15\x2c\xf2\x33\x5e\x16\x49\xef\x6d\x98\xd7\x6c\x23\x72\x78\xd0\xaf\x5f\xb0\x19\xdf\xe0\x70\x16\x49\xea\xf6\xf4\x61\x47\xb3\xc1\xf9\xf3\x5e\x0a\xb3\xfb\x66\x4d\xbb\x9c\xc7\xb3\x26\xa2\xde\xf8\x64\xba\x15\x7c\x49\x1b\x65\xc8\x44\x42\xf3\xe4\x26\x77\x6b\xf9\x68\x05\x2d\x22\x18\xce\xea\xa5\xfa\x5c\xa2\xc3\xbd\xaf\x51\xa5\x1d\x64\x4c\xe1\x2e\x4c\xfe\xa6\xb9\xd5\x57\x58\x33\x7b\x48\x3a\x2d\xd6\x8e\xa8\x1c\x9b\x61\x77\xbb\x1e\x3d\x52\x77\xf3\x09\x5d\x5b\x3b\xa5\xfb\x62\x00\x37\x93\xd6\xce\x55\xc4\xdc\xda\xe4\xc3\x19\x4d\xb4\x88\x7d\xd1\x60\xe0\x74\xa9\x7f\x3e\x54\xce\x24\x41\x38\xe9\x29\x17\x34\xa8\x37\xec\x64\x24\x44\xa1\xee\x51\xe8\xe4\x09\x14\x7a\x30\x2d\x2e\xf8\xb3\xc9\x3b\x10\x54\xf3\x2c\x23\xac\x2a\x30\xf7\x68\x5e\x40\xad\xb5\xc4\x18\x9b\xfc\x07\xdc\x44\x83\x62\x5b\x52\xbd\x18\x55\xcb\x96\xee\xa3\x72\x5c\xf7\xcc\x4a\xd7\xeb\xbd\xfe\xa2\xbe\x37\x8d\x23\xbc\x2f\xb7\xbe\xf1\xe8\xbc\x94\xbf\x79\x28\xdc\x47\xf8\xd4\x29\x3d\x18\xcd\x04\x01\x07\x7f\xea\xd1\x52\x0c\x10\x36\xe7\x70\xdf\xdd\x9d\xff\x74\xf2\x70\x81\x88\x8a\x50\x42\x1f\xc9\x98\x45\xf2\x69\xa0\xc5\xe3\xbf\xe7\x44\xe9\x9f\x5b\x3c\x02\x34\x25\x4c\x02\x27\xa0\xaa\x86\x2a\xd5\xbc\x90\x6e\x61\xf4\x7f\xcf\xcb\xdf\xaf\x20\xf9\x5a\x62\x38\xd0\xae\x2b\xa3\x05\x64\x0a\x95\x82\xcc\xd2\xca\x06\x8a\x31\xb6\xc8\x51\x53\x91\xdd\x2d\x12\xc1\xd8\xdf\x72\xb6\xa1\xd0\x75\x56\x7c\x14\x8c\xa2\x45\xa6\x4b\x33\x0c\xf8\xf4\x9b\x65\x98\x99\x6f\x1a\x5b\x5f\xc7\x44\x8a\x84\x7b\x67\x5b\x2e\xea\x11\x23\x25\x08\x01\x16\xe2\xe9\xc9\xde\xf5\x16\x63\xc5\x4f\x2c\xf8\xe8\x78\xcc\x3e\x3b\x8f\x73\xf1\xab\x2c\xf4\xf0\x74\x1a\xc0\xf6\x97\x5b\x81\x66\x63\x2a\xfd\x0f\x50\x27\x4a\xe6\x89\x32\x85\x32\x67\x94\xe1\xc4\x0f\xd4\x3c\x69\xe2\x12\x02\xb3\x68\xb1\xab\x09\x99\xce\x26\x24\xd9\x44\x12\xbd\x98\x8d\x12\xa9\xe9\x3b\x7a\x6c\x39\x9d\xdb\x94\x82\x2d\x26\x63\x0b\x5c\x9b\x72\x72\xa8\x30\x41\xe3\xc4\x14\xaa\x24\x08\x7c\x94\xd5\xbc\x40\x03\xfd\xa1\x77\xd1\x4a\xea\xc6\x45\x69\x12\x72\x7c\xb0\x3d\xf4\x82\xb0\x1a\x33\x91\x33\x28\x10\xe3\x23\x16\x30\x2a\x30\xfe\x23\xe7\x3f\xb0\xde\x9c\xb9\x66\x13\x06\x42\xdf\xbc\xac\xf5\x33\x9e\x4b\xb0\xd5\xa4\x44\xe9\x0b\xea\x5b\x28\x2f\x6d\x42\x86\x06\x28\x13\x34\x05\x73\xab\xfc\xae\x61\xeb\xce\xb0\xc2\x09\x9f\x0f\x85\xa2\x33\x1c\xa9\x7b\xbc\x93\x06\x8e\x6d\x33\xdb\x06\x16\xbb\x61\xa0\x8b\x73\xbd\xf8\x73\xc2\x88\x80\x89\x6a\x9d\xbc\xf9\x08\xc3\x93\xad\x38\x37\x58\xd9\xac\x61\x54\x7a\x8b\x05\xce\x15\x4f\xb5\x7e\x8b\x93\x64\x39\x30\x16\x59\x82\x16\x58\x2e\xdc\x46\x1b\x63\x5a\x97\xbb\xc9\x2e\xee\x19\x8e\x16\xe4\x0e\x8a\xad\x37\x2d\x6e\x65\x94\x1f\x08\xcb\xd3\x0f\xa7\xe8\xff\x16\x73\x3c\x1b\x9e\xfd\x38\x9a\x9c\x5f\xdc\x0d\x7f\xb8\x1c\x9d\x07\xf3\xb1\x4f\x3e\x5f\xdc\xdd\xd5\x7f\xfd\xf1\xe2\xbe\xfe\xe3\xcd\xf5\xcd\xc3\xe5\xf0\xbe\xa9\x95\xcb\xeb\xeb\x9f\x1e\x6e\x26\x1f\x87\x17\x97\x0f\xb7\xa3\x86\x4f\x1f\xee\xdb\x1f\xde\xfd\x74\x71\x73\x33\x3a\x77\xab\xf2\x3f\xc1\xe9\x02\xeb\xb1\x9e\x68\xcb\x34\xaa\x07\xf0\x08\x95\x5f\x3c\x45\x0f\xd5\x72\x25\x36\xca\xdc\x20\x94\x3c\x63\xa9\x79\x18\x24\x39\x8c\x19\x72\x9f\xeb\x45\x69\xfb\xd4\x84\xeb\x44\x0b\x82\x12\xce\x1f\xf3\xcc\xb2\x36\x13\x1f\xc6\xb8\x31\xfc\x10\x19\xb4\xf6\xe3\xc5\xfd\x69\xbd\x6c\x8a\x6f\x2c\xc0\x42\x73\x67\x00\xc6\x85\x1d\x3b\x05\x5b\x8a\x2b\xa7\x51\x58\x6f\x83\x1e\xfc\xce\xac\xea\xc7\xb4\x86\x99\xaa\x74\x13\xc7\xb6\x96\xb8\x9b\x58\xd0\x70\x79\x5f\x57\xad\xa6\x5f\x0e\x53\xd2\x0e\x4d\x49\x84\x73\x13\xd4\xa4\xef\x29\x21\xb8\x08\x07\x5c\xd0\xc3\xfe\x1a\xb5\x74\xd4\xd8\x60\x65\xcf\xf4\xc4\xe5\x23\xcd\x32\x12\x7f\xa8\xcb\x2f\xe5\xa2\xd3\x12\x4e\x9f\xee\x33\x38\x93\x5a\xaf\x07\x9d\xdf\x15\x3b\x5a\x2c\xbd\x27\x0d\x02\x37\x8a\x50\x16\x80\xe8\xd6\x77\x82\x2f\x46\x43\xc1\x35\x86\x15\x7a\x26\x90\x2c\x9f\xdb\x6a\x6f\x46\xf7\xd6\x67\x1b\xba\x33\x36\x6d\x57\x5e\xb2\x94\x44\xdf\xca\x8c\xf7\x21\x70\xeb\xef\x25\x69\x62\xc4\x3b\x64\x3c\x9f\x9b\x46\x81\x3b\xbb\x98\x37\x18\x71\x4b\x70\x83\xbb\x0d\x1a\x2c\xe4\x2b\xe4\xab\xfa\x8d\xb4\xe6\xb2\xd0\x6c\xbb\xcb\x78\x1c\xca\x4b\x09\xba\xbc\xfb\xc0\x4a\xf0\xd6\x6b\xd7\xea\x9e\xc7\x78\xa9\x89\x03\x62\x8d\x65\x9e\x65\x5c\x28\xd4\xd2\x86\x71\xe3\x9b\xf1\xc1\x9d\x63\xe7\xe1\x79\x1c\x34\xa2\x25\x0c\xd9\x50\xff\xa6\x1b\xf0\x85\x5d\xd7\x82\x71\x84\x01\xb2\xa0\x08\xfa\x5a\x65\x69\x49\xa5\x2e\x51\x68\x93\xf0\xbb\x4b\xee\x48\xa6\x2f\xf8\xae\xd5\x3d\x9b\x7a\xbf\x76\x2d\x34\x6e\x79\x42\x66\x6a\xd2\xe8\xf5\x59\x61\xe0\xd4\x2d\xb2\x36\xac\x20\x3a\x5f\xec\xa1\xc5\xee\x5a\xc2\xef\x6d\x60\x8f\x56\x0d\x02\x0b\x81\xe0\x5c\x19\xf9\xb4\xd0\x61\x90\x5b\x4d\x30\x2f\xd8\x4e\x6d\x96\x9f\x17\x02\xb5\xcc\x6f\xfc\xa1\x3e\x21\xee\x78\xcc\x46\x10\x40\x51\x28\x22\x2e\xf9\x0f\xb4\x80\xb5\xf2\x7f\xa9\x96\xf1\xab\x46\x6b\xb6\x63\xf7\x16\x74\x6f\xdc\xee\x24\x59\xa2\xa2\x5e\x75\xe9\xbb\x2e\xa7\xc7\x58\xbd\x9d\x08\x68\x26\x6c\x8e\x8e\x54\x24\xb3\x96\x79\x33\xcf\x22\xd2\x07\xe2\xc3\x74\x57\xc7\xe8\x17\x67\xf9\x81\xc0\xd7\xa2\xd4\xbb\x8d\xdd\x48\xf0\xd2\xc1\x7d\x36\x2d\xec\x3e\x10\x34\xf7\x1d\x0a\xbb\x7a\x81\x3d\x54\x57\xc3\x2a\x97\x14\x70\xc6\x8c\x45\x76\x83\x24\x9d\x33\xff\xd1\x1d\x59\x1d\x15\xf0\x11\xaa\xfb\xda\xc8\x2a\x10\x3a\x58\xb2\xfc\x7f\xcc\x66\x99\x1c\x63\x57\x0c\xcf\x96\x32\xb5\x1e\x54\x7d\x7e\xc0\x03\x68\x52\x90\xd1\x8c\x26\x09\xc8\x01\xc7\x68\x08\x55\xc7\x21\x45\x57\x5f\x85\x2e\xc0\x82\xce\x19\x5f\x97\x3d\xd8\x42\x4c\x51\x40\x4c\x77\xed\xc4\x24\x81\x9a\x0a\x84\x86\xfd\x50\xd4\x1e\xd0\x7a\x34\x6f\xc1\x75\xac\xf3\xee\x18\x3d\x1b\x28\xef\x6f\x11\x1d\x5d\x1b\x6e\xf0\xe1\xbf\x9a\x87\xfe\x29\xc7\x02\x33\x05\x31\xbf\x56\x74\x17\x24\x48\x3d\x22\x5f\x20\x3e\x83\x19\x43\x30\xfc\x14\x6e\xae\x73\xf9\x43\xb8\x17\xa2\xf1\x00\xd1\x63\x72\x0c\x15\x15\x85\x96\x25\xa6\xc5\x9b\x0b\x2d\x39\x8c\x59\x2d\x96\xf1\x18\x0d\x13\xc9\xed\x17\x84\x45\x09\x54\xf9\x0f\xc2\x93\x3d\xe5\x5b\xb7\xd2\x74\x09\x0a\x0a\x6c\x65\xd1\x3c\xb7\x0f\x82\x0f\xa1\x30\x20\xf8\xc4\x13\x38\xe9\xc5\xef\xbf\xe5\x99\xf1\x56\xb4\xc5\x49\xbc\x60\xa1\x8e\xda\x35\xf4\x62\x9b\x64\xca\x7b\xae\xda\x20\x78\x03\x36\xa6\x88\x31\x0d\xb0\x75\xd0\xb7\x58\xa1\x84\x60\xa9\xd0\xef\xbe\xdb\x28\x36\xc4\x4d\xb0\xe0\xae\xf6\xf8\x16\x89\x62\x2e\xd5\x20\x14\xee\x7c\xc7\x50\xef\x11\x0b\x85\x30\x62\xe4\x39\x8c\x2c\xe5\x10\x0c\xec\x8a\x38\x92\x20\x6b\xd9\xc4\x93\x19\xcc\x05\xc8\xd6\x30\x2a\x53\x0b\x1f\x71\x40\xd6\xd6\x7d\x6a\x87\xd5\x40\x59\x56\x79\xb2\x21\x9e\x00\xb6\x56\x04\xfd\x2f\xb0\x1a\x33\xcb\x59\x5d\xd8\x48\x90\xe6\x35\x4c\x92\x72\xa0\x3d\x86\x5c\x12\xa6\x27\xac\x47\x1f\x1f\xfb\x05\xba\x02\xf5\xcb\x47\x3b\x97\xec\x74\xc5\x61\x31\xf1\x78\x1e\xc9\x2a\x6c\xbb\x51\xda\x69\xb2\x2f\xbf\xa2\x10\xdc\xd0\xfd\x25\x9f\xd3\x08\x27\x1d\x84\x61\xd2\x34\xe4\x35\x07\xab\x6e\xd3\x5f\x21\x1b\xef\xbb\x83\xee\xa2\x72\xb3\x7d\x1c\xae\xd9\x67\xde\x60\x6e\x6f\xd9\xdc\x40\xb6\xd8\x45\x01\xf7\x61\xf7\xaf\xe5\xf1\x2d\x0d\xfd\x22\x86\xa4\xbf\xf5\x5c\xb0\x48\xa2\x73\xac\xc3\xc4\x5e\xc7\x41\x4e\x4f\x90\x42\x00\xc1\x7f\x8e\xf1\xd9\x37\x5b\x3c\xaf\xd9\xfb\x9e\xfe\xa0\x98\xbf\x9b\x8a\x0f\x82\xab\x4f\xbc\x5d\xd8\x1b\xc6\x7f\xc3\x11\x44\xfa\x43\x4f\x2e\xc7\xa0\x0e\xb5\xe5\x00\xca\x31\x18\xf3\x1b\xc5\xc3\x4c\xf0\x88\x48\x79\x8c\x46\x70\xd1\xd8\x7f\x22\x3c\x73\x0e\x89\xe0\xe5\x31\xd3\x9a\x89\x43\xe6\x09\xda\x2f\x93\x78\xd3\x09\x30\x30\x7f\x3b\xf9\x72\xd2\xf5\xd5\x67\xda\xb4\x09\x87\x32\x08\x6d\x40\xc1\x0a\x34\x9a\x9f\xa2\x98\x47\x8f\x44\x9c\x08\x12\x53\x79\x0a\xbe\x75\xd5\xea\xd4\x4b\xb5\xb6\xbd\xb3\xa4\xd1\x16\x28\xb0\x26\x29\xee\xcc\xf4\x6f\x03\xac\x5d\x78\xed\x00\xd1\x19\xa8\x13\x2e\x27\xc3\x04\x21\x3b\x20\x23\xc2\x94\x58\x42\x5c\xbf\x37\x65\x55\x16\xc2\x69\x1a\x5a\x68\x6b\xcb\x26\x12\xfb\x88\xc1\xd9\x72\xda\xf7\x0b\x22\x89\x0b\x38\x30\x93\x52\xdc\xc6\x32\x1b\x76\x91\x61\xb5\x90\x90\xba\x5a\x5e\x03\xab\x74\xc1\xa7\x7a\x85\x70\x06\xf1\x0a\xc6\x4a\x51\x7c\xe4\x13\x2c\xa5\xa2\x49\x32\x66\x8c\x90\x58\x22\xc8\x32\xfd\xa6\x31\x43\x5e\x7f\x3a\x40\x38\x8e\xd1\xff\xfa\xf6\xe3\xe5\x5f\xee\x47\x93\x8b\x2b\x30\x5a\x5f\x5c\x8e\xbe\x1b\xf8\x1f\xaf\x1f\xee\xfd\xaf\xc6\xc2\xf2\x44\x04\x4a\xf1\x23\xa8\x78\x4c\x12\x9b\x3c\x41\xc6\x2c\x1c\xa9\xc3\x0e\xd0\x4f\x24\x71\x91\xae\x56\x4c\xf1\xe0\x98\x76\x0f\x5b\xab\x8c\x1b\x9b\xdf\x06\xca\xef\xad\xff\x64\x35\x0d\x3a\xe2\xf1\x5d\x38\x31\x10\x72\x64\xb0\x0c\x92\xc9\xad\xee\x5b\x10\x1c\x61\x73\xca\xda\xe2\xf1\x08\x7b\x7a\x49\x21\xfe\x27\xb2\xfc\x59\xab\xd7\x37\x98\x8a\xce\xb4\xd7\x8c\xf3\xe4\x4e\x8c\xd6\xd3\xb1\xac\x1e\x2a\x69\x64\x61\x93\x6d\xd3\x1a\xf3\xd9\x04\xf1\xf7\xe6\xd3\xb5\xc0\x61\xe4\x8b\x12\x0e\xa5\xc2\xe7\x73\x38\x90\x2e\x7f\xd1\x14\x34\x38\x66\xf7\xd7\xe7\xd7\xa7\x88\x24\x78\xca\x21\x94\xdf\x86\x04\xb9\x26\xec\x82\x45\x3c\x0d\x1a\x2a\x41\x93\x0c\x50\x56\x40\x93\x84\x46\xb4\x63\xd3\xc6\x1a\x88\x92\x8c\x8b\x3a\x1a\xcb\x7e\x55\x40\x3b\xd9\x1b\x2e\xba\x5c\xff\xfa\x35\x58\x3a\x9e\x69\x45\xae\xc2\x79\xed\xdd\x3c\x23\x18\xb2\x57\xad\x5b\xc8\xda\xf2\x6d\x00\x6b\x92\x94\x2a\x65\xea\x83\x23\x8f\xad\x0b\xbe\x78\x93\x33\xf4\xd3\x9f\x24\x9a\xe6\x6a\xcc\xca\x6d\x70\x86\x86\xbf\xdc\xa1\x1f\xb0\x8a\x16\xdf\x8d\xd9\xb5\x56\x33\x7f\xfa\x53\x0b\x48\xd6\xc6\xb8\x93\x7a\x4d\xce\xb1\xc2\x97\x1c\xc7\x94\xcd\x9b\x40\x27\x8b\xca\x40\xa3\xfb\xe1\x29\xba\xb6\x3a\x7c\x91\x09\xe2\x53\x82\x83\x86\x80\x21\xc3\x44\x1c\x17\x01\x56\xce\xca\xc0\x7c\x46\x33\x83\x0b\x6b\xcc\xee\x0d\xda\xa6\xe6\xaa\x54\xa1\x8c\xdb\xea\x54\x5a\x2b\x33\x38\xa4\xd8\x65\x48\x91\x64\x89\xf4\xea\x00\x19\xfb\xcd\xb0\xf2\x18\xc8\x33\x75\x66\x3f\x66\xa0\xa0\xfb\xdc\x94\x84\x47\x38\x81\x98\xbc\xa3\xc0\xa6\xa7\xd5\x76\x9e\x43\x7e\x38\x04\xc3\xb0\x65\x39\x74\xd6\x43\x16\x78\xa1\x2c\xdc\x28\x30\x00\xc0\x3e\x5a\x6f\x6c\xca\x35\xc7\x31\x28\x7b\x60\x7c\x4b\xcc\xea\xe8\x0f\x3d\xea\x9e\x59\x16\x0f\x3d\x03\x79\x71\x39\x73\x58\x24\x11\x98\xef\xd9\x12\xc2\xb7\xa1\x9c\x0c\x87\xd0\x8f\x82\x3b\x5b\xa2\xac\xed\xa2\xbf\x13\x83\xcf\xc6\xcc\x44\x0a\x96\xf6\x25\xc4\x65\x0a\x7a\xe7\x0c\x02\x19\xeb\xb9\x62\x79\x66\x03\x1b\xad\xac\x9f\x09\x72\xe4\x33\xa0\xe2\xd2\x9a\xea\x1b\xf6\x18\xdd\x86\xea\x75\xcc\xa3\x3c\x75\x98\xd9\x90\x3d\x65\x23\xe0\xec\x25\xea\x29\xc4\x5c\xec\xeb\x28\x1e\x50\x5a\x14\x81\xf4\xf1\xce\xfa\xb1\x21\x98\x61\xf8\x69\x5d\x52\x6f\x17\x7c\x81\x77\xec\x16\xb5\x66\x1a\x9a\x64\xe5\x96\x4a\xad\xed\x9c\x97\x78\x55\xe0\xfa\x72\x01\xc2\x16\xf9\x92\x71\x30\x72\x9b\xf4\x2c\x1e\x7f\x23\xd1\xc5\x8d\x96\x80\xb4\xc6\xeb\xcf\x60\x2e\x95\x09\x2e\x83\x74\x1d\xf3\xb5\x49\x17\x18\xa0\xef\xd1\x38\xff\xfe\xfb\x3f\x44\xe8\x8b\xfb\xe3\x8f\xff\xf9\x9f\x7f\xf8\xe3\x26\xe9\x24\x4e\x21\x87\x76\x8b\x35\xf2\x85\xc2\xca\x22\x51\xb8\x03\x75\x4e\xb5\xc3\x2e\xd8\x03\xd8\xb6\xfc\xdb\xe0\x77\x06\xb1\x43\x78\x6e\x4f\xb8\x0c\x4f\x26\x2a\x1d\xcd\x22\x92\x40\x12\x35\x28\x73\x08\x2f\xec\x5a\x89\xfe\xff\x59\x85\xe9\xa5\x8f\xca\x76\x31\x4e\x34\xf1\xe2\xb5\x6e\x04\x7d\x6b\xed\x7f\x0a\x1c\x88\xdf\xb9\x0b\x8e\x27\x31\x11\x66\x4c\xde\x64\xe7\x0d\x89\xc0\x1c\xc8\x97\x2c\xe1\xb1\x03\xbe\x2d\x72\x01\x29\x08\x08\xa3\x2f\x58\x73\xee\x81\x85\xd1\x32\x1f\x19\xcf\xcb\x0c\x47\x06\xef\x55\xa2\x6f\xbf\x9c\xea\xdf\x06\x68\x79\x0a\x41\xa4\x03\xf4\x8f\x53\x8b\x96\x83\x85\x9a\xe8\x9f\xbe\x73\xb2\xb6\x6d\x02\x06\x4d\x25\xfa\xe6\xe4\x09\x0b\x53\x0d\xfc\xc4\x8c\xe8\x1b\xcb\x59\x7d\xc5\xc3\x50\x36\x4f\x38\x7f\xb4\x01\xb6\xb5\x0f\x4f\x1c\xa4\x1e\x90\xb7\xf7\x9b\x98\xad\xf7\x89\xf9\x0a\x1d\xc1\x0b\x04\x1d\x67\x53\x74\xfc\x37\xc9\x19\x3a\x5e\xe2\x34\xb1\xbf\xba\xa7\x36\xfe\x17\x4b\x9b\x13\x17\xfb\x20\x9f\x64\x69\x2c\xa5\x3f\x24\x7c\x0a\xb3\xfa\xec\x66\x6a\x22\x68\x61\xa0\xc5\xed\x53\x5c\x58\x76\x22\x2e\x11\x15\xf0\x83\x52\xae\xcc\x2b\xc0\xe3\x9a\x66\xf5\xc5\x0f\xe9\xbf\x8d\x5f\x18\x16\xc5\x25\xf1\x19\xe3\xb0\x8f\x5e\xd3\x8d\x7e\x41\xdf\x5a\x16\xf4\x9d\xbe\x63\x6c\xb8\xb2\x59\x86\xa6\x0e\x96\xbe\x83\xbf\x04\x1d\x50\x86\x4c\x5a\xe6\x8a\x2f\xff\x71\x72\x7c\x7c\xec\xbf\x86\xac\xf5\xff\x3f\xa2\x4a\x92\x64\x66\x5a\x72\x37\xd8\x72\xcc\x3e\xbb\x92\x1a\xce\x78\x5d\x80\x75\x66\x82\x2b\x1e\xf1\x04\x1d\x15\x06\xdd\x98\x47\x12\xfd\xbb\x16\x6b\x83\xa5\x84\x1f\xb5\x1e\xb7\x12\x68\xee\x95\x0e\x95\x35\x88\x57\x8f\x55\x88\xe2\xe6\x15\x5b\x2c\xc3\xfa\x2c\x40\x0b\x9a\x72\x4e\x2c\xd2\x9b\x10\xfa\x65\xf2\x45\xc1\xa3\x16\xd8\xc3\xc6\x50\xf6\xe6\x9b\xb2\xc6\x6e\x0b\xf4\x43\x43\xd6\x2d\x0b\x60\xf1\xae\x2c\x67\x30\xf3\x1c\x84\xee\x13\x7d\xb9\xb0\xb0\xc8\x83\xcc\xd3\x14\x8b\xe5\x49\x71\xda\xea\xc4\x59\x20\xad\x01\x8f\x49\xdc\x02\x80\x0b\x37\xb1\x47\xcb\x46\x31\x58\xf1\xd2\xdd\x68\xfe\xec\x46\x50\xa5\x32\x40\x2c\x20\x2c\xe2\xb1\xa5\xeb\x22\xfb\xb4\x2c\xb1\xf8\x77\xea\xb2\x8a\x8b\x88\x91\x85\x31\x8e\x29\x03\xe1\x61\xdf\x70\x1f\xb7\xb0\x6f\x3e\x81\x7a\xc7\x64\xbe\x81\x7b\xf4\xe2\xfa\xce\x7d\xd3\xfd\xd2\x85\x75\x28\x8b\xec\x38\x09\xf1\xf1\xd8\x1c\x09\xfc\x5c\x5c\xbf\x10\xdb\x61\xac\x33\xb9\xcf\xcd\x35\xff\x3e\xe3\x37\x34\xd1\xb7\x16\xd0\xf8\xf1\x98\x95\x7e\x1e\x20\x92\xd0\x94\x32\x1f\x5b\x67\x98\x3b\x9f\x19\xe9\xf9\x91\x2a\xbd\x65\x32\x7e\xd4\x1c\xcc\xe1\x3a\x05\x2a\xd5\x90\x2d\x1d\xe9\x78\xc7\x94\xb5\x40\xe4\x52\x8f\xab\xd0\xd1\xb5\x30\xab\x9b\x38\xb2\x02\x29\x0d\x08\x0f\xce\xef\x98\xe9\xd6\xdc\x59\x2a\xc2\x85\x83\xf6\x82\xe6\x8e\x5c\xa9\x83\x80\x03\x40\x1f\xa5\x98\x5f\x2f\xff\x36\x08\x28\x23\x96\xa7\xbb\x26\x9b\xd8\xf0\xe1\xb7\x32\xd3\xdd\x08\xe2\x6e\x2a\x9b\xb8\x44\x58\x9e\xba\x03\xb5\x01\xc5\x8d\xac\xf8\x13\x93\x28\xc1\x06\xa9\x46\x37\x04\x91\x8f\x03\xe3\x20\xcd\x82\xbe\xcc\xf5\x62\xba\x31\xd5\x93\x12\xc2\xbe\x35\xff\xfe\x0e\xd9\xbb\xe1\xfb\x81\xbd\xcf\x85\xf4\x08\x20\x66\xcf\xa1\xfa\x26\x89\x8d\x0d\x1d\xf0\xa6\xe7\x58\xc4\xc6\x5a\x1e\x6a\x15\x26\x83\x57\xcb\x5f\x4b\x9e\xa3\x67\x2a\x17\x63\x76\xcf\x9d\xc1\x11\x31\xee\x11\xbb\x07\xa0\x8c\xd6\xfa\xc3\x12\x98\x00\x8c\xba\x89\x02\x34\x13\xde\x29\xd7\x08\xa2\x60\x27\x8c\xc7\x64\x37\x00\xa3\xfb\xc2\x57\xe1\xfc\xd7\x82\x98\x7c\x30\xb8\x29\xda\xd2\x69\x89\x94\x1b\xda\xe6\xab\x1b\x0f\xf7\x90\x6d\x07\x8a\x3d\x3f\x6f\x84\x9b\x1e\x62\x83\xf9\x5b\x0d\x5a\x71\x1a\x67\x90\x0d\x5c\x5a\x7b\x8f\x83\xbd\xeb\x26\x44\x0d\x68\x45\x9d\xee\x7e\x33\xf7\x08\x96\xdd\x07\x18\x63\x34\x17\x3c\xcf\x7c\xca\xbc\x4b\xf7\x33\xdb\x60\x65\x9a\x0b\x36\xe3\xa7\x56\xa7\xba\xa4\xec\xd1\x50\xfc\x4b\xed\x91\x81\x3a\x27\x71\x09\xc6\xcd\xd5\xdf\x85\x39\x1c\x21\xca\xa2\x24\x87\x8b\x4f\x2a\x1c\x3d\x1a\xb8\xf6\x36\xa3\xaf\xfe\x66\xb2\x3e\x99\xb2\x45\x62\xca\x93\xc4\x76\x5b\x5c\xa0\x45\x81\xf2\x27\x8a\x11\x46\x0f\xb7\x17\xcd\x7d\x3f\xd2\xba\x33\xa7\xf9\xf6\x2c\x13\x08\xfc\xcf\x4f\x74\xa3\xb8\xcb\x0a\x2c\x1e\x29\x91\xba\x37\x2e\xb5\x81\xae\x6a\x22\xfd\x84\xff\x5f\xf6\xbe\xad\xb9\x8d\x24\x39\xf7\x7d\x7f\x45\x45\xf8\x41\xa3\x73\x40\x70\x67\x36\xec\x18\x2b\xc2\x0f\x10\x45\xed\x70\x47\x22\xb5\xbc\xcc\xac\x8f\xe1\x80\x0a\xdd\x05\xa0\xcd\x46\x55\xab\xab\x9b\x14\xec\xdd\xff\x7e\xa2\x32\xb3\x2e\x7d\x45\x37\x40\x4a\xda\xf5\x3c\xd8\x3b\x22\xba\xab\xeb\x5e\x59\x99\x5f\x7e\x5f\x21\x8e\xcd\x84\x42\x0e\xb0\x11\x48\xbd\x06\xb9\x5a\xaf\xf7\xf8\x48\x66\x32\xcf\x2a\x06\xd0\xa0\x6e\x8a\xb4\x10\xac\x05\x3f\x8e\xe0\x6e\x80\xe7\x87\xb5\xa7\xf6\xec\x9e\xe6\xf4\x57\x33\x15\x62\x04\xdb\xc0\x8d\x79\x7c\x60\x25\x2b\x8f\xf6\xd5\xf1\x91\xa3\xae\x46\x93\xf4\x37\x26\xcb\x6e\xcc\x66\x6b\xa7\x23\x9a\xd7\xda\xe5\x88\xb8\x9a\x58\x18\x8e\xb3\xc5\xec\x77\xd7\x10\xdb\x52\x15\xd9\x0e\xe7\xa1\x6d\x99\xf8\x81\xd9\x7a\x24\x6c\xc2\x98\x5f\x8b\xed\x60\x42\x39\xff\xe1\x37\xf4\xf2\xfb\x06\xbd\x9c\xdb\x8a\xde\x43\x16\x9f\x23\x4e\xd9\x72\x69\x56\xb6\xfd\x6a\x87\x13\x12\x2d\xc2\x83\xaa\x74\x97\x1d\x54\x21\xfc\xe2\x40\x45\x4b\xfa\x94\x2d\xe5\x11\xfd\xf0\x3c\x45\x3f\x53\xb1\x01\x17\x84\x57\x82\x32\x3b\x5a\xd5\x15\x81\xaa\x51\x29\xcf\xd7\x78\x41\xd2\xa2\xd0\x2f\x5b\x46\xd8\xe7\x3c\x1c\x31\xc2\x07\xa8\xed\x86\x71\x4f\x30\xbf\xfb\x56\x9a\xab\x65\x95\x5c\xd4\x9d\xca\x4e\xb7\x3a\x60\xce\xf3\x89\x18\x91\xca\x91\x89\x3b\x36\x6b\xa5\x9b\x33\xe5\x48\xd5\xf5\x4b\xbe\x75\x8c\x00\x56\xfb\x99\xf2\xbb\xb0\x72\x4b\x01\xbc\xb8\xdd\x75\x38\x5a\x5e\x3d\xac\x02\xc9\x9d\x76\xd5\x60\x2e\x67\xf6\x11\xcf\xee\x65\x2e\x66\x39\x1a\xe0\x80\x0f\x45\x34\x34\xdc\xaf\xb8\xef\x75\x6a\x5c\x47\x23\xc6\x26\x6f\xd6\x15\xe2\xcd\xfd\xce\x9d\x46\xa4\x05\xe5\x38\x3c\x7b\x75\xb8\x1e\x44\xde\x06\x51\x1b\xf1\xf1\x1b\xdb\x44\x2a\xca\xf6\x65\xdb\x87\xf7\xdf\xa5\x2c\x63\x04\x15\x04\xe0\x74\x42\x60\x21\x86\x34\xdd\xf9\x69\xea\x49\xe2\x6a\x1f\x6b\xae\xd6\xe2\xa8\xdd\x38\xe1\xdb\x45\xae\xba\x85\xca\x06\x74\x93\x2d\xa2\xe2\xdf\xd9\xa0\x70\xc9\x8e\x7d\x2a\x79\x8a\x87\x9b\xa4\xe9\x68\xab\x0d\xa6\xf2\x0f\xff\xc2\x66\x70\xfa\xb0\xf7\xb0\x2f\x42\x80\x1f\x4a\x2b\x14\x4b\xb6\x99\xc8\xb5\x92\xbc\x53\xb1\xef\xfe\x47\xbd\x20\xd5\xa1\x05\x8f\x22\x55\x36\x15\x86\x46\xb4\xa4\xa5\xb4\xb0\x51\x9c\xdd\x97\x4b\x91\x4b\x81\xaa\x84\xf0\x1c\xb3\xcf\x0d\xaa\xae\xe2\x65\xb1\xf9\x61\x11\xa5\xc9\x60\x29\x24\xc8\x2e\x9a\x99\xd7\xce\xf0\xad\xbe\x06\x54\xca\xaf\x54\x5d\x32\xfc\x8d\xe1\x6f\x53\xf6\x9a\x47\xf7\x42\xc6\x2c\x4b\xcb\x75\x42\x64\x02\x70\x42\xc1\x76\x19\xb8\x67\xab\x0d\x43\xdb\x02\xcb\x37\xc7\xd0\x5c\x6e\xf9\x3d\x92\xd8\x92\x11\x19\xf1\xb4\x93\x8a\xca\x99\xd5\x8b\xa4\x39\x77\xf7\x8e\x96\x3b\x0f\x9b\xc5\xd4\xe7\x9e\x2e\x31\xb7\xe2\x71\xa3\x28\x22\x5d\xb1\xea\x47\x2c\x5c\x37\x5b\x1b\x9c\x2f\x36\x2f\xdf\xe9\x53\x52\x65\x70\xf5\x82\xbb\x17\x88\x98\x4b\xc9\x38\xd0\xc6\xbc\xd0\xac\xcc\xac\x7d\x06\x7e\xc8\x14\xa2\xc2\x38\x04\xe6\x87\x2c\x31\xb7\xb4\x8d\x98\x4b\x40\xda\x32\xd7\xbc\x86\x8c\x19\x13\x1e\x10\xd3\xb6\x35\xac\x90\x34\xe1\xb8\x18\x67\x83\xc7\x79\xcf\x3c\x1d\x88\x22\x2e\x36\x42\x2e\x0e\xa0\x13\x1e\x3e\x68\x15\xc4\x30\x99\xc1\xce\x9f\xeb\xba\xb0\x94\x09\x49\x83\x91\x0b\x3f\xe4\xca\x4c\x56\x35\x33\x3a\xd1\x4c\xf3\x22\xd1\x66\x2f\x6b\xed\x71\x4f\x55\x71\x4c\xaf\xf3\x71\xfc\x18\x2d\xdc\x18\xb5\xbe\x70\x59\x09\x53\xf6\x16\xbc\x60\xc1\xcd\x40\x39\xa6\x89\xae\x0d\xab\xd8\x88\x4e\xca\xc5\xa7\x80\xf3\xd8\x16\x04\xcf\xf7\x3a\x37\x5d\x06\xca\x94\xcd\x7c\xf4\x01\xb9\x36\x30\xae\xb0\xa7\x45\x22\xd5\xe2\x90\xc9\x37\xc8\x51\x07\x11\x7a\x98\x40\x0c\x2c\x29\x6d\xfe\xee\x19\xe4\x5d\x35\x1f\x21\xc9\x93\xdf\x0b\xd9\xe7\x8d\x19\x5e\x43\x74\x97\xf5\xba\x04\x9c\x1f\x4e\xa1\x2b\xee\x90\x0a\x0e\x5f\x76\x9e\xde\x24\x59\x9d\x9a\x2e\x37\xd7\x90\xe8\x9e\x52\x4b\xd0\x1b\x4b\x04\x29\x8f\x1b\xa5\xc3\x75\x66\xc7\x0f\x6f\xb2\x79\xe9\x58\xc2\x21\x35\xc7\x75\x30\x62\x72\xa4\x0a\xf9\x53\xa0\xd6\x6e\x91\xa2\xa7\xd9\x8d\x37\xb3\x5b\x28\x74\x03\x44\xb1\x6c\x51\x2d\xab\xd9\xa9\x66\x1d\x63\x5b\x1d\x2e\xc5\xd6\xec\xf3\x46\x15\x7f\xfe\x51\x5f\x41\x45\x9e\x82\x4c\xa0\x5d\x13\xf8\x78\x20\xff\x81\x21\x0c\x07\x51\xf3\x82\xc2\x3c\x76\xf4\x17\x99\x8a\x99\xef\xbb\xf1\xea\xc1\x5f\xbf\x59\x35\xd5\xe1\x41\x6d\xdb\xb7\xf8\xde\x07\x38\x07\xb6\x2c\x13\x14\xf0\xaf\xd8\xac\xca\x1a\x45\x40\xd1\x0c\x16\x4a\xa2\xdd\x91\xd7\xb2\x0c\x7e\xfe\x51\x7f\x50\xf1\x31\x13\x6b\x3c\xe3\x5f\x73\x5e\x0f\x80\x41\xeb\x30\x16\xbd\xdd\xdf\x13\x99\xea\x06\xb0\xc6\x8b\xe1\x12\xfd\x80\x58\x58\x96\xab\x1b\x10\x40\xe9\x22\xd5\x08\xb4\x01\x6c\x96\x9c\x19\x67\xf3\x19\x97\xb3\xd1\x35\x28\x14\x00\xf7\x16\x0a\x67\x7f\xba\xb9\xba\x3c\xd9\xf2\x5c\x6f\x38\x24\x2d\xdb\xb2\x26\x56\x53\x0e\x6f\xf0\x36\x30\x97\xc8\xb9\x3c\x61\x6b\x35\xc1\x30\xf0\x2b\xb6\x29\x8a\x4c\xbf\x3a\x3d\x5d\x27\xc5\xa6\x5c\x4e\x23\xb5\x3d\xf5\x5d\x73\xca\xb3\xe4\x74\x99\xaa\xe5\x69\x2e\x00\x08\x7c\xf2\xfd\xf4\x87\xef\x61\x64\x4e\x1f\xbe\x3f\x85\xe0\xdf\x74\xad\xfe\xe9\xdd\x0f\xff\xfa\x87\x7f\x31\x05\x67\xbb\x62\xa3\xe4\x2b\x8a\x31\xf7\x96\x7d\x82\x17\x87\x53\x7c\xa5\xf6\x95\x7f\x9d\xfe\x3e\xac\x06\x3d\xba\x55\xb1\x48\xf5\xe9\xc3\xf7\x0b\x3b\x30\xd3\x6c\xf7\x1b\x74\xf6\xab\x41\x67\xef\x93\xe2\x37\xe8\xec\x57\x85\xce\x0e\x37\xc2\xdc\x1e\x03\x5c\xa4\x7e\x7f\x34\x7f\x77\x7b\xa4\x8d\x0e\xec\xdb\x87\x5a\x0e\x87\x30\xb1\xe1\x88\x23\xe2\x5e\x8c\xf2\x02\xd4\x9a\xeb\x6e\x37\x1d\x5e\xc0\xb1\x7a\x00\x9d\xf7\x8d\x51\x79\xdc\x00\x54\x49\x22\xe0\x9a\x46\xaf\x65\xc6\x93\x36\x40\x2c\xd9\x7c\xc7\xf4\xdf\x73\xb2\xa6\x3f\x35\x5d\x3a\x35\xf7\x40\xaa\xf4\x14\xdf\xb6\xf0\x31\xf5\x68\x29\xd2\x9f\x82\x58\x7c\xa0\x30\xb0\xe3\x4b\xc6\xc9\x03\x75\xb1\xf5\xea\xa8\xc6\x86\xeb\xc3\x70\x88\x33\x64\x25\x74\xa1\x44\x04\x71\x25\xda\x7e\xd0\x1e\x1c\x96\xe8\x01\x14\xea\x89\x4f\x2a\x2b\xf3\x4c\x69\xa1\xa7\xec\x6d\x4d\x8c\xd1\x63\x2b\xaf\xdf\x9e\xb1\xef\x7f\xfc\xd7\x3f\xcc\xe5\x77\x2d\xe7\x36\xec\xf7\x2a\x5f\x13\xd4\x13\x4e\xeb\x2d\xd7\x85\xc8\x4f\xf3\x55\x74\x8a\xbb\xdc\xa9\x79\xff\x84\x3e\x7a\xa2\x56\x27\x8e\x35\xf9\x84\x08\x64\xa7\xdb\x78\x1c\x07\x42\x65\xea\xe1\x59\x43\x07\x8d\x86\x43\x09\xd9\x92\xd4\xca\xf1\xe3\x63\x2a\x0e\x4a\x69\xa8\x55\xcb\x7f\xbc\x4e\xd5\x52\xbf\x74\x1c\x6d\x5c\xdb\x6f\x78\xd2\xa4\xee\xa5\xf9\x34\x04\xea\x76\x8a\x3c\xa7\x2f\xc5\xee\x25\xe1\x75\x64\x4c\xc7\xb7\x2f\x36\x7f\xdc\x23\x65\x04\xcf\x55\x29\x2d\x01\xb5\x92\x42\xad\x00\x68\x08\x96\xb0\x05\x52\x80\x3b\xd9\x9c\xb4\x9e\x1e\x22\x17\x19\x1e\x30\x10\xf8\xe8\xee\xee\x23\x49\xd8\xf7\xf5\xf3\x73\x90\xb0\x1f\xdb\xef\xb4\xa1\x7c\xa5\x0e\x3f\x16\xed\x88\x4b\x69\x0c\xf0\xc3\x3c\xbf\x37\xc8\xeb\xf6\x01\x2f\x90\xe4\xf9\x8e\x33\x9e\x83\x91\x26\x4e\x0a\x75\x02\xbc\x3a\xc0\xd6\x82\xb2\x08\x5d\xc8\x0f\x08\x8e\x8f\x39\x26\xcd\xf3\x03\xea\x89\x86\xf9\xe7\xa0\xa2\x64\x93\x68\x64\x19\x25\xd4\x58\x22\xa5\xc8\x29\xec\xb7\xf7\x44\x1d\x19\x3a\x0f\x87\xb2\x1f\x34\x16\x48\x6f\x07\x94\xf5\x2e\x65\x80\x07\x9b\xc0\x94\x81\xf5\xb9\x51\x5b\x65\xcc\x19\x55\xea\xe0\x47\xbc\xbd\xc0\x21\xdc\x69\x7b\x6d\x79\x86\x3c\x7a\x5f\xaf\x35\x66\x69\x99\x9f\xd0\xef\x18\x3e\x34\x4a\x05\x64\x59\xd5\x3d\xd8\x53\x7f\x47\x58\xdf\x3f\x6f\x00\x98\x81\x52\x7a\xa0\x66\x4b\x34\xd4\xc9\x7f\x9b\x7b\x8d\x99\x52\xee\xa6\xe0\x4e\x6e\xc4\x11\x21\x5d\x64\xc8\x48\x6b\xad\xf9\xce\x84\xee\x72\x3b\x72\x0c\x1c\x0e\x7a\xc8\x00\x70\x89\xc8\x60\x0b\x09\x3e\x69\xc5\x04\x77\xad\x4b\xab\x1d\x1b\x2f\x2c\xa5\xe9\xb8\xaa\xde\xb8\x02\x88\xbd\xb4\x59\x6f\xcf\x08\x05\x00\x72\xec\x63\xdc\x10\xac\x6d\xd1\x81\x0b\x92\xe3\x17\x23\x68\xc0\x8c\xe9\x3b\xf8\x08\x4e\xce\x46\x0f\x06\x6b\xa1\xab\x03\xc7\xb9\xd8\xfa\x3c\x56\x6d\x19\x07\x48\xa2\xe7\x13\x8c\x4c\x2d\x1b\x97\x47\xf7\xe2\x83\x17\xca\xde\x65\x62\xc2\x96\x25\xfc\x7e\x79\x75\x1b\x02\x4a\x12\x6c\xed\x49\xb4\x11\xd1\x3d\x38\x4c\xf0\xc8\x73\xba\x92\x44\xd8\x37\x97\x5e\x9d\xac\x50\x16\x1d\xb1\x73\x84\xed\x4e\xb4\x40\xe5\x2c\x4e\x74\x96\xf2\x1d\xc4\xa1\x25\xa6\x12\xf8\x18\xb6\xcb\xc1\x31\x5b\xc1\x3e\x7f\xf1\xf0\x91\x36\xa3\x32\xf3\xef\x8d\xed\x4b\x9e\x2f\x93\x22\xe7\xf9\x8e\xf9\xce\x6c\xee\x07\x4c\x8b\x2d\x97\x45\x12\xcd\xe5\x56\x70\x19\x02\x07\x29\x0e\x6f\x3a\x39\x56\x82\x28\x8d\x57\x2b\x11\x15\x9e\x13\x11\x8c\x77\xd7\x53\xfb\xd6\xe0\xb8\xb6\xbb\x95\xd7\xdb\xf4\x9f\x12\x89\x19\xf8\xc9\x16\x60\xa9\x34\x87\xe8\x68\x3c\x30\xbe\x04\x6a\x76\x74\xe4\xda\xcb\x20\xfc\xcb\xce\x29\xb6\x14\xc5\xa3\x80\x94\x7f\xca\x51\x6c\xb3\xf1\x8f\x56\x34\x38\x4e\xa0\xb8\x5d\xda\x39\x00\xab\xe1\x02\x0b\xf1\x6e\x8e\x9b\x48\xd6\x48\x86\x5e\x50\xd6\x24\x78\x7b\x5e\x90\xdf\xea\x05\x1c\xd3\xe6\xf6\x98\x3f\x88\x78\x2e\xab\xcc\x4f\x64\x33\xfa\x05\xc7\xbc\x56\xd7\xd3\xec\x36\xb6\x8f\x07\xf9\xf2\xcf\x81\xed\xc2\xf3\x5c\xba\xbc\xc0\x1e\xed\xb0\xf6\x18\xdb\x33\xc8\x52\x0d\x0e\xf2\x78\x39\x2f\xd2\xe2\x21\xe9\xbe\x0a\xe4\xc3\x4d\x4a\xc7\x6b\x83\xa4\x77\x0e\xa3\x4b\x7e\xc9\x86\xa7\xb3\xad\x8c\xb9\xb4\x09\xdf\xab\x32\x45\x22\xd3\x2e\x35\x33\xa2\xb9\xb2\xc9\x29\x5f\x2f\x49\xc9\xf9\xd5\x58\x20\x7f\xe6\x90\x19\x01\x5e\x1a\xf7\x3a\x3b\xeb\x85\xd4\xa8\x99\x6d\x95\x8f\xc0\xf1\xbc\x16\x05\x9c\xe6\x71\x99\x62\xfe\x32\x78\xcc\x81\x32\x8b\xa7\x29\x4b\x0a\x3d\x97\x8e\xe1\x0b\xf9\xda\x61\x87\xb5\x2e\x75\x2b\x9a\x2b\x9d\xf4\x2e\xfc\xcc\x25\xd8\x61\x49\x94\x14\x0d\x94\xf9\x2e\x54\x0b\xc9\x32\xc1\x31\xdd\x0e\x87\x6d\x2e\xc3\x3b\x57\x7d\x10\x28\x37\x0d\x64\xd4\x9f\x22\x4d\xac\x27\x69\x00\xb4\xe7\x47\x0f\xc9\x94\xcd\xb0\x75\xe6\xc2\x65\x85\x40\xb1\xb6\x94\xe2\x4f\x60\x50\x73\xab\x29\xb4\xf5\x91\xfb\x7b\x2b\x28\x4e\x47\x65\xca\xf3\x14\x68\xf3\x57\x65\xca\x92\x55\xa0\x69\x0a\x63\x80\xfc\x4e\x66\xb8\x22\x05\x67\xb5\xf5\x92\x6b\xbe\x15\x41\x6a\x39\xb9\x77\xd2\x00\xe6\x81\xa4\xd5\x88\x1f\x30\x65\xbd\x9c\xb2\x37\x75\x11\x7c\x58\x13\x01\x2f\x64\xa2\x71\xfb\x73\xf5\x0d\xb2\x22\x51\x4c\x3f\x59\x99\x2b\xe5\x8b\x60\xd5\x75\x8c\x20\xf0\xcb\x8f\xc3\x90\x58\x75\x81\x7e\x60\x73\x6b\x56\xb4\x79\xb5\x86\x2c\x71\x0b\xa2\xa3\x82\xf6\x54\x18\x59\xc9\x90\x53\xf3\x80\x8a\x3a\xce\xd2\x96\xca\x6e\x7b\x24\x54\x61\x1c\x47\x56\x35\x10\x24\x1a\x5f\xd1\x60\xe6\x84\x88\xa1\x21\x3d\xbb\xe6\xc5\x58\xf8\x90\xcb\x17\x1a\x5f\xd1\x56\xa8\xd6\x90\x6a\xc2\xee\x31\xb2\x9e\x4e\x37\xfa\x80\x8a\x3a\x75\x6a\x2f\x59\xe0\x65\xfb\x2b\x69\x9e\x96\x8c\xd1\xb5\x40\xcf\x25\x1d\x76\xe3\x33\x54\x67\x7e\xce\x81\x26\x13\x33\xd5\x9f\xb2\x2b\x29\x10\xdc\xa7\x56\xc1\xa1\x42\x15\x20\xf1\x26\xe0\xc3\x97\x81\x4a\x76\x9a\xc8\x7b\xcb\x7e\x61\x96\xdc\x84\x71\x5f\x3a\xec\x7a\x38\x6d\x70\x17\xe9\xb0\x25\xdb\xd4\x23\x8e\x30\x2f\x87\xe5\x90\xb6\xdf\xf9\x03\x8c\xec\xf8\x1d\xa0\xad\x1d\xc3\x87\xa5\x17\xec\xee\x6e\x71\x15\x19\xf4\x10\xd8\x5a\x24\xc5\x6e\x5f\xff\x7e\xd8\x54\x81\x92\x23\xb4\x96\xee\x2e\xdf\x9c\xbf\xbd\xb8\xac\x0a\x24\xfd\xf9\xee\xfc\xae\xfa\x97\xeb\xbb\xcb\xcb\x8b\xcb\x3f\x86\x7f\xba\xb9\x3b\x3b\x3b\x3f\x7f\x53\x7d\xee\xed\xec\xe2\x5d\xed\x39\xf3\xa7\xea\x43\xb3\xd7\x57\xd7\x35\x49\x26\xab\xa7\x14\xfc\xe9\xf6\xe2\xfd\xf9\x9b\xc5\xd5\x5d\x45\xd5\xe9\xcd\xbf\x5f\xce\xde\x5f\x9c\x2d\x5a\xea\x73\x7d\x7e\x76\xf5\xcb\xf9\xf5\x1e\x51\x26\xdf\xde\xd6\x2e\x7d\x0a\xf8\xd8\xc1\x12\x5d\x33\xb6\xca\x13\x21\xe3\x74\x87\xe9\x01\xf6\x66\x5b\xc3\xfb\x86\x67\x6f\xb2\x15\xaa\x3c\x06\xe5\x7f\xbb\x41\x11\x7d\x20\xea\xc0\xd2\x28\xab\x97\xeb\xfb\x4e\x1a\xc7\x22\x6f\x46\x05\x7a\x93\x99\x8a\x7c\xe7\xd2\xe5\xfa\xaa\xe3\x49\x9e\xe8\x23\x2c\x13\x79\x5f\x5d\xc0\x32\xca\xcb\xac\x48\x96\xdd\x79\x1b\x03\xc9\x8f\xc6\xdf\xbd\x91\x92\xb0\x9d\xbf\xe5\xb2\x7d\x63\xac\xa4\x2f\x1c\x83\x8d\x86\x12\x0e\x55\x9e\x73\x6f\x5b\x3c\x69\x56\x2e\xd3\x24\x62\x49\x5c\xf7\xa7\x60\x96\x1d\xba\x8c\xeb\xcc\xa5\x99\xc8\xc1\x54\x35\x37\x80\x2c\x17\x27\xbc\x2c\x36\x56\x14\xdf\x25\x5b\x22\x93\xa8\x88\x72\x81\xb1\x00\xa1\xc1\x49\x8b\x92\x63\xc1\x97\xa0\x32\x94\x64\x1e\x03\x9f\xcd\x34\x60\x91\xef\x88\x11\xe0\x9b\x58\xfa\x08\x27\x29\x3e\xdf\xdb\x35\x54\xe3\x44\xd7\xf5\xa6\xe1\x84\xc7\x1f\xad\x70\x99\x69\xb7\xd9\xa9\x9d\x70\x17\x0e\xb2\x4d\x2f\x69\x6f\xc6\xbe\x39\x16\x4e\x94\x6a\xbe\x05\x95\x4e\x3f\x9d\xe5\x02\x0e\x11\x82\x02\x58\xff\x05\x40\x57\x28\x1d\x05\xb2\x50\xcc\x55\x6d\x29\x36\x3c\x5d\xa1\xc5\x61\x86\xc6\xaf\xab\xe6\x14\xbd\x55\xf7\x42\x5e\xe3\x80\x7d\x95\xed\x50\xe2\xcd\xc7\xd3\x0e\x38\x8f\x90\x77\x61\x9a\x3a\xda\x59\x65\xd3\xf1\xc0\x98\x2a\xf0\x9e\x10\xfc\x8c\x59\x27\x9e\x54\xd8\x66\xf2\xad\x56\xc9\x67\x53\xe0\x5c\x8a\x56\x5a\x55\xc0\x0b\x59\x02\x28\xb7\x2f\x03\x36\x0a\x59\x74\xee\x85\x04\xc9\x33\x54\x44\xde\x3b\x67\xc7\xf9\xcf\x9b\x63\xd1\xe3\xd0\x07\x9f\x5f\x52\x51\x82\x0b\xa3\x3c\xb6\x9f\x0a\x4c\x03\x9a\xb2\x37\xc4\x0d\x62\xfe\x72\xf6\xee\xe2\xfc\xf2\x76\x71\x76\x7d\xfe\xe6\xfc\xf2\xf6\x62\xf6\xee\x66\xe8\xf2\x7b\x8a\xd4\xad\xda\xea\xab\x67\x30\xb9\x1d\xe2\x94\x56\x9e\xcf\x20\x76\x8d\xf2\xcb\x0e\x86\x64\x7f\xed\x93\x38\x5b\xc4\x89\x8e\xcc\xf1\xb7\x5b\x08\x19\x03\x1f\xf5\x41\x53\xb5\xbd\xa8\x7a\x2b\xdc\x13\xcc\x3d\x61\x77\x10\x3c\xed\x1e\xec\x8c\x76\xbf\x03\xea\x0e\xdc\x90\xb9\x30\x8b\x3f\x36\xf7\x03\x77\xda\x4c\xf7\x8b\x90\x98\xe2\x8e\x6b\x5b\xb5\x88\x7a\x9b\xb0\xbe\x89\xd6\x25\x37\xfb\xa3\x7d\x0c\x20\x87\x1d\xbd\x42\x24\x81\x21\x29\x76\x12\x08\xba\xb2\x44\xcf\xe5\x96\xcb\x98\x17\x2a\xdf\x75\x34\x71\xd8\xe6\x19\x2e\x9b\xea\x16\x1a\x1e\xd9\x52\x88\xd8\x8e\x02\x3e\xca\x65\x7d\x2a\x21\x75\xf6\xed\xd5\xcf\xe7\x97\x37\x8b\xf3\xcb\x5f\x16\x1f\xae\xcf\xdf\x5e\xfc\xc5\x21\x21\x33\xae\xdb\x04\x1c\xb3\x5c\x98\xdd\xc5\x32\x91\xb4\xee\x2f\xa8\xaa\x68\xcb\x21\x25\xad\x64\x35\x97\x76\x67\xc9\x7d\xf1\x9b\x5c\x95\xeb\x4d\x7b\x41\xf5\x5a\x7e\x98\xdd\xfe\x74\x50\x35\x81\x27\x0a\xa5\xd7\x70\xb5\x35\x11\xa1\xc9\x8a\xf6\x3d\x84\x91\xd6\xaa\x07\x6c\x67\xf0\x68\x5b\x94\xa1\x63\x47\x3b\xe8\xf6\xd2\xdc\xb4\x7a\x8d\xff\x96\xc7\xbb\x26\xd0\x6d\xb0\x6f\x56\x8e\x11\x40\x28\xa3\x82\x67\xa3\xb4\x57\x2d\x7f\xab\x9c\x60\x3f\x9c\xa4\x62\xbd\x16\x31\x4e\xaf\x7a\xc1\xe4\x83\xa3\x2d\x30\xf2\xe7\x7a\x5b\x2f\x92\xc6\xde\x11\x07\xb3\xc3\x7b\x0d\xdf\xc0\x3f\xb8\x57\xda\xf7\x8a\x33\xab\xe3\x1d\x29\xa9\x0b\x2e\x3b\x02\xc9\x0f\x4d\x84\xe6\xa0\xad\xe8\x2a\x67\x2e\x3f\x8b\x1c\x26\x36\x64\xe0\xd7\x41\x17\xe0\xe5\x78\x5c\xa8\xab\xc7\xb5\xc8\x52\x1e\x09\x97\xc3\x80\x24\x7d\x70\xaf\x3f\x24\x80\x47\x4a\x86\x92\xfc\x2d\x81\xc2\x61\x20\x7b\xde\x32\x05\xc0\x73\x7b\x6c\x5e\x16\xf9\x7f\x9f\x2b\x31\x0b\x2b\x79\x6d\x0f\x8d\xe7\xf7\xff\xf4\xde\x2e\x89\x3f\x0c\xbc\xe1\xa8\x77\x45\xf8\x7c\x74\x98\x81\x88\x5c\x27\x76\x7a\xd4\x9c\xad\x7d\xf9\x17\x9a\x9d\x78\xb1\xaf\x7a\xe3\xb9\x65\xe8\x73\x73\xd8\xd9\xb7\x7d\x4e\xcd\xa2\xc8\x7b\x49\x3d\x9f\x22\x66\xf2\x21\x57\xdb\x44\x8b\x59\x51\xe4\xc9\xb2\x0c\x55\x0d\x47\xa2\xfa\x2a\x37\x28\xdf\xe0\x2c\x57\x71\x19\x59\x6a\x25\x68\xad\xc7\x26\x91\x2b\xd2\x9a\x46\x31\x3b\x31\x4b\x84\xae\x97\x22\x3e\x81\xac\x83\xb9\xec\x0a\x04\xda\xdd\xbb\xc3\x41\xf9\xc1\xda\x1b\xc7\x4c\xc9\x96\x49\xd1\xdd\x99\x76\x0e\x0c\x4b\x50\x66\xf6\x71\x30\xd3\x3b\xa0\x5d\x34\x5d\x96\x1c\xa3\xfc\x55\x43\xaa\x8b\x49\xc5\x9d\x87\xe3\x16\xfc\x30\x00\x4f\x35\xad\x07\x8d\x9b\x0d\xd7\x78\xe7\x28\xa2\x4d\xb5\xe2\xd0\x9a\x2a\xfb\x60\xbd\xba\xce\x86\x3f\xce\xb7\x33\x28\xd6\x37\x41\x6f\x48\x42\xde\xf7\x8a\x92\x9c\x93\xc5\x1c\xe7\x92\x0f\xcd\x5a\x77\xed\xc4\x13\x0b\x36\xfb\x94\x97\x32\xda\xb0\x2c\xe5\x98\x94\xbf\xe1\x1a\xa7\xb4\x05\xbc\xf0\x65\x92\x26\x05\xb0\x1d\x61\x1c\xb6\xd6\xc3\xe6\x2e\xca\xf3\x7b\x4b\x30\xcc\x3d\xb5\x55\xdf\xa4\x3f\x12\x58\xec\x5a\xf5\x45\xa1\xc5\x7e\xc9\x86\xdb\xd0\xb0\x69\x49\xb0\x62\x3f\x1c\x66\x23\x86\x69\xe9\xdb\x32\x6e\x64\xa9\xc4\x0f\xf5\xd7\x2b\xfd\xdd\x62\x62\x1d\x90\x39\x8d\xcc\xf9\x23\x4e\x9f\x3a\xaf\x7e\xeb\xca\x5a\xa5\x8a\x77\x68\x3b\xdb\xb2\x91\x26\xbf\xab\xec\x58\x95\xcb\x2e\x62\x66\xac\x55\x7f\xe9\x7d\x11\x1b\xbb\x6e\x9f\xca\xa3\x1b\x6e\x80\xbc\x10\x45\x32\xce\x29\x15\x34\x9a\x17\xe2\x04\x5e\x6f\x2f\x9c\xd2\x20\x07\xb7\xb9\x31\xd1\xbc\x58\x8b\xb3\x2c\x01\xf0\xd8\x36\xbb\x6a\xa7\xf3\x31\xc0\xf5\x23\xc7\x2b\x91\x7b\xa6\xd2\x7e\xfd\x87\x3f\xfc\x30\xc4\xa0\xfc\x73\xc9\xcd\x7e\x78\xb5\xba\x41\xce\xa1\x63\x1a\x5d\x24\xcd\x65\xd5\xbe\xfd\xd4\xbf\x7a\x5b\x8d\x01\x86\x13\x7f\x70\xba\x74\x5b\x6b\x6e\xcc\xdb\xc3\x77\xa1\x8b\x8a\xaf\x2f\xcb\x13\x05\xdc\x3b\x6a\x85\x4c\x96\xdd\xb4\x9d\xad\xdf\x3d\xa2\x27\x3f\x95\xa2\x14\x66\x02\x2d\xcb\x78\xdd\x74\xc5\x8f\xb0\x94\x7d\x93\x36\xea\x91\x6d\xcb\x68\xc3\x6c\xe1\x2c\x16\x29\xdf\x55\x9a\x06\x46\x62\xa1\x52\x20\xc2\x3e\x90\x95\x37\x2a\x75\xa1\xb6\x80\x82\xf6\xe5\xe6\xa5\x84\x55\xce\xb8\x5d\x5d\x6d\xfb\x7b\x85\xa5\xef\xc0\xf8\xeb\xcd\x87\xf3\xb3\x8b\xb7\x17\xb5\xe0\xe7\xec\xe6\xe7\xf0\xdf\xbf\x5e\x5d\xff\xfc\xf6\xdd\xd5\xaf\xe1\xdf\xde\xcd\xee\x2e\xcf\x7e\x5a\x7c\x78\x37\xbb\xac\x84\x48\x67\xb7\xb3\x9b\xf3\xdb\x3d\x51\xd0\xe6\x57\xbb\x07\x82\x07\x24\x82\x16\x97\x6d\xd9\xd4\xad\x33\x84\xbe\xfa\x8a\xcd\x2c\xa5\x62\x85\xf4\xd3\x46\xb2\x01\xfa\x82\xda\xe2\x14\xf0\x36\xf7\xd7\x33\x5e\xf0\x54\xad\xa7\x6c\xc6\x08\xb5\x8e\xd9\x08\xda\x58\x48\xc4\x37\x67\x46\x07\x8b\x30\x66\x52\xe4\x1d\x0d\x5e\x2e\x52\xad\x88\xe9\x31\x15\xa1\xb0\x80\x4d\xbd\x9b\xcb\xf3\x07\x21\x8b\x12\x58\xcf\x79\x9a\x32\xfa\xac\x7d\x20\xa0\x15\xb0\xb5\xd4\xc9\x36\x49\x79\xee\x95\xfd\xae\xa8\x2c\xb8\xa5\xd8\xba\x3a\xa2\xab\x66\xce\xba\xbd\xc8\xdd\x5d\x30\xa8\xf7\xd9\xbb\x0b\xb0\xfb\xa2\xc2\xca\xd6\xd8\x8f\xcf\x25\x32\x09\xd2\x17\xb7\x1c\x32\x64\x0a\x45\xee\x5f\xfc\x3c\x3d\xdc\x3d\x11\xf5\x31\x8b\xd8\x06\x4a\x9e\xeb\x46\xe9\x2a\x69\xff\xe3\x5c\x16\xf9\x6e\xb0\x31\x77\x0b\x29\xe1\x1a\x0c\x72\x02\xdc\x55\xd5\xfe\xd0\x3b\xc7\x6c\xe9\x97\x60\xe1\x59\x34\x28\x05\x8f\x5c\x8c\x08\xc1\x37\x1d\x97\x8e\xd4\x9c\xbc\xdf\x6a\x3f\x84\xc4\x42\xd0\x0b\x4b\x55\xca\x58\x13\x34\x70\x9b\xc8\xd3\x2d\xff\xfc\xd2\xb6\x14\x59\x30\x9c\xe6\x06\x90\xb0\x89\xd4\x5c\xbf\x76\x66\x93\xeb\xef\xae\xb9\xec\xe9\xaf\xfd\x26\xb2\xdd\x59\xe1\xae\xe7\x2f\xe6\x08\x72\x7c\x10\xbb\xb6\xf1\x6b\xe8\x26\x21\x90\x92\x16\x3c\x14\x92\xe5\xc2\x3c\xe8\x10\x94\x29\x02\x63\xdd\xbf\x21\x53\xa2\xa2\xed\xd8\xbe\x77\x87\xa0\x84\xa3\x96\x4d\x2b\x1c\xe2\x19\x84\xaf\xe8\x4b\x66\xcc\x10\x1c\x61\xfd\xf2\x94\x19\x42\x51\x5f\x33\x58\xff\xa5\x96\x6c\x05\x69\x52\xa4\xdd\x9e\x0b\x88\xc3\xc0\x50\x58\xa6\x76\xa0\xea\x6a\x20\x2e\xec\x14\x48\x85\x86\xe8\x84\x34\x77\x4c\xf1\xa9\xa4\x00\xf3\xf7\xbf\x1f\x77\xce\x16\xf9\x8e\x59\x55\x90\x30\x4d\x8b\xb2\x14\xe9\xcc\x85\x7a\x95\x32\x69\xe3\xef\xbb\x2e\xa5\x39\x8a\x9f\x02\x9b\x33\x3c\xf8\x5a\xfb\x28\xfd\x73\x6f\x26\x93\x8d\x1b\xe4\xf8\xfc\xb3\xd1\xb1\xfe\x52\x63\x61\xa5\xcf\x01\x6e\x9e\x4a\x0f\x0f\xb4\x25\x8f\xee\x1f\x79\x1e\xa3\x73\x19\xc0\x32\x53\xf6\x93\x7a\x14\x0f\x22\x9f\xb0\x48\xe4\x05\x27\x0a\x34\x0d\x68\x01\x58\x50\x54\xce\x5c\x42\x1a\x09\xf2\xc9\x49\x90\xbd\x2f\x92\xf5\xc6\x5c\xa2\x03\xac\x87\xca\xcd\x76\x54\x20\xfb\x65\x26\x22\x62\x74\xea\xe8\x80\x55\xca\x1f\x9a\x9c\x6e\x87\x50\x51\xb0\x0b\x97\x0b\x6b\x83\xa9\x56\xfd\xa2\x0f\x9d\x43\x1d\x46\x9b\x26\x72\xf0\x4c\xd8\x5a\xa5\x5c\xae\xa7\xd3\x29\x13\x45\x34\x7d\x39\x6a\xa2\x53\x81\x61\x78\xd6\x61\xc0\x53\xa5\xb4\x48\x77\x8e\x85\xc8\x65\xe9\x00\x2c\xf4\x73\x21\xa4\x4e\xd0\xcf\xd3\x32\xfd\x6f\xea\xa1\x8b\x2f\x1b\xe9\x69\xbf\x9e\x8f\xce\x01\xed\x28\x07\xc4\xb4\x46\x94\x84\xcf\xb7\xdf\xbc\x0e\xca\x69\x6e\x2f\x4b\x2a\x39\x36\x51\xf7\x17\xd5\x25\x0d\x7f\x10\x7f\x61\x6b\x49\xc4\xa4\x72\x50\x72\x63\x7b\x9f\x35\xf2\x4d\x8f\x48\x35\xed\xc9\x1a\x1d\x99\x30\x3a\xc4\x11\x70\x53\x1f\xee\xd1\xcb\x62\xbf\xbe\x47\x6b\x83\x46\x26\xe4\xfa\xcc\xf9\x31\xa6\x13\xe6\xf4\xa5\x3b\xb8\x71\xb9\xf4\x5c\x70\xa7\xc7\x41\x38\xa0\x12\xed\x80\x44\x31\x1f\x2e\x71\x0c\x57\x41\x74\x44\x17\x2a\xe7\x6b\xc1\xb6\x22\x4e\xca\x6d\xeb\x66\xe3\xaa\x7b\x0c\x38\x51\xa5\xe5\xb6\x9b\x6b\xf0\x58\x03\xda\x57\x12\xff\xeb\x0c\x3e\x37\xd8\x80\x9e\x39\xdc\xbd\x95\x59\xa2\xfa\xa2\xef\x9f\xfa\xda\x9c\x94\x79\xa2\x81\xb8\xf3\x90\xbc\x4c\x57\x0c\x16\x0d\xe1\xdd\x5d\x86\x3e\xe7\xca\xe8\x9e\xd8\x90\x16\xbd\xa2\x71\x54\x21\x26\xdc\x7d\x28\xd4\x21\x8f\xa3\xc7\x08\x44\x7c\x0e\x0a\xc3\x83\xd9\x18\xd0\xe9\x13\x26\x0b\x0a\x24\xe0\x48\xa1\xd8\xca\x66\xfa\xdd\x8b\x80\x3b\x2d\x06\xa2\xfd\x47\x24\xe2\xf9\xf9\x47\x6d\x21\x26\x84\x02\xf2\x16\x4b\xe1\x3f\x82\x01\x91\x87\xef\x2d\xf8\x0b\x5b\x88\x45\x00\xc3\x59\xcc\x65\xd1\x5a\x80\xc7\x46\x42\x59\xf8\xca\x2f\xbc\x4c\xdb\x1f\xa7\xf2\xe1\x51\x14\xed\x9a\xfd\x7a\xc3\xb0\xab\x89\x92\x3d\xef\xab\x68\x50\xc8\x7e\xf8\x19\x74\xd7\xe2\x00\x4b\xb0\x32\x0e\xd8\xe9\x96\x93\xdf\x74\xbb\x28\xa2\x8d\xb7\x3c\xaa\xea\xdb\xa4\xc8\x48\xed\xdc\x7a\x92\x79\x44\xf6\x86\x10\xc9\x64\x2d\x55\xa8\x8f\xa2\xa4\x80\xc8\x94\xd9\x80\x54\x58\x2c\x4b\x8a\xfd\x38\xb4\x91\xb4\x66\xfb\xa6\x5a\xa1\x10\x5f\x44\xed\xac\x04\x18\xe1\x4a\x91\x20\x19\x92\x05\xf1\xe2\x9d\x88\x04\xfe\xea\xe4\xe3\x55\x7a\x89\xb9\xac\x7e\xaa\xd1\x49\x16\x28\x96\xe4\x02\x39\x83\xb5\xb1\xde\x8a\xe4\xc1\x2c\xd4\xe6\xb4\x76\x13\x14\x76\x80\xe6\xdc\x9b\x4b\xac\x76\x40\x3c\x7c\x2f\x76\x3a\x54\x13\xa4\x19\xc5\xba\x26\x64\x62\xda\x43\xe3\xb5\x7f\x28\xa0\xe3\x16\xd4\x82\xed\x60\xfc\x26\x7e\xf4\xbd\x79\xb9\x07\x81\xda\x28\xdc\xcc\x41\x9f\x4a\xe9\x7d\x8a\xb4\x4d\xf8\x7e\xa6\x31\xf4\x20\x33\x80\x10\x86\x20\xc1\x30\x2f\x06\x2e\xbe\xe6\x7e\x3b\x97\xc4\x4d\x1e\x1c\x72\x66\xc3\x69\x0e\x1b\xe5\x77\x23\x23\xf2\xae\xc2\x4d\x03\xdc\x8c\x96\xa7\xb2\xfa\x49\x1b\x6c\xb5\x62\xb4\x73\x09\x9f\xc6\x0c\x58\xeb\xc3\x6b\xfd\xe0\x81\xc8\x45\x1a\xdc\x4e\xb4\x62\x90\x66\x86\x4f\x12\x3d\x21\xca\x52\xe2\xed\x27\x12\xa6\xfb\x66\xb2\x15\x28\x68\x61\x82\x37\xe7\x67\xd7\xe7\xb7\x5f\x0c\xcd\x68\xa1\x84\xa3\xe1\x8c\xb6\x9e\x6f\xce\xdf\xce\xee\xde\xdd\x2e\xde\x5c\x5c\x3f\x07\x9e\x91\x7e\x3a\x00\xd0\x78\x43\x92\x07\x67\x4a\x16\xe2\xf3\x51\x67\x72\x5e\xca\x05\x1f\x81\xc5\x72\xa2\x27\x7d\xe6\x0e\x16\xda\x94\x6c\x70\x7a\x0a\x44\x8e\x89\x27\x9a\x53\x68\x58\x79\xa7\xe1\x2a\x49\x53\xc8\x33\x76\xee\x75\xca\x61\x33\x9d\x0a\xfb\x8f\xe5\x03\xa5\x3d\x75\x2e\x97\x15\x45\x0d\x70\xf9\x6d\xcc\x25\x18\x33\x8c\x33\xd3\x01\x79\x02\xf9\x9b\x7d\xaa\x0e\xeb\x44\x0a\x5f\x0d\x94\x90\x2e\x25\xeb\xe4\xb9\xa6\x41\x7c\x4e\x48\x14\x19\x5e\x43\x6d\x4d\x3b\xe3\x2a\xf3\xd3\x9a\x9f\xf6\x47\xd7\x42\x5c\xc4\x89\x44\xc3\xb4\xb2\x9a\x6f\xda\xa7\xee\xa9\x5f\x02\xd0\xef\x66\x24\x39\xc4\x20\x40\xa5\xd9\x0f\x24\x0d\x04\xaa\x3d\xf9\xe0\xc4\x7d\x82\xd0\x21\xb5\xaa\xf5\xb3\xd9\x0a\x4d\x5f\x27\x10\xa9\xe0\x44\x9d\x12\xa5\xa5\x2e\x44\x4e\x6e\x93\xd9\xaf\x37\x73\xf9\xda\x1c\x5f\x2f\xe9\x14\x22\x45\x20\xfc\x04\x02\x57\x54\xe5\xfb\xd6\x42\x09\x77\xb0\xef\xd0\x47\xbd\x15\x5c\x6a\x54\xd0\x4f\x53\x91\xfb\x99\x81\xf5\x11\x22\x26\x15\x45\xe0\x8a\xf5\xef\x93\x88\xba\x82\x55\x6b\xea\x4b\xbf\x92\x8c\x78\x7d\x3e\x75\xa5\xb1\x03\x9e\xf9\x39\x67\x4e\x4b\x5a\xcd\xd0\x59\x44\x50\xf0\xd6\x49\x54\x4d\x72\x19\x34\x97\x6e\xb1\xb8\xdf\xa6\xd2\x13\x4e\xa5\x01\xe7\x7a\x78\x4a\xb0\x8d\x32\x1b\xa8\x93\xcb\xf1\x61\x66\x47\xa3\x91\x02\xe8\xcb\x74\x63\xeb\xa9\x53\x93\x8c\x3c\x06\xfb\x01\x45\x1d\x07\xad\x9d\xb5\xf0\xf5\x78\x6d\x32\x1b\xdb\xe9\x55\xa3\x7c\x1e\x5e\xbc\x99\x05\x19\x4a\x55\x58\x86\x0b\x87\xeb\x23\x90\xa2\x79\xc0\x51\xab\xf4\xd6\x91\xe8\x4a\xac\x95\xb2\x38\x52\xd1\xed\x36\x04\x43\x56\x72\x7e\xb1\x16\x21\x5b\x80\x65\x08\x70\x0c\x23\x63\x26\xdf\xe1\x9a\xa1\xd5\x39\xe7\xd8\x2a\x0f\x02\x3b\x5c\x5e\x5d\x9e\x87\x50\x85\x8b\xcb\xdb\xf3\x3f\x9e\x5f\x57\xb2\xc5\xdf\x5d\xcd\x2a\x19\xdf\x37\xb7\xd7\xb5\x44\xef\xd7\x57\x57\xef\xce\x1b\x98\x87\xf3\xdb\x8b\xf7\x95\xc2\xdf\xdc\x5d\xcf\x6e\x2f\xae\x2a\xcf\xbd\xbe\xb8\x9c\x5d\xff\x7b\xf8\x97\xf3\xeb\xeb\xab\xeb\xda\xf7\xee\xce\xfa\xd1\x13\x95\x66\xb4\xbb\x7f\x7c\x70\x36\x20\xee\x6c\x5d\xc6\x55\x4d\xd5\x23\x56\xf1\x40\xe4\xd9\xbe\xe9\x68\x93\xc1\xe3\x90\xcf\x1f\x17\x86\xa9\xea\xa8\x59\xf7\xf4\x22\xb0\x95\xae\xcb\xf8\x71\xdb\x9e\x39\xd5\x16\x4f\x81\x04\xec\x35\x00\xdd\x57\x6a\x8e\x5b\x5d\x40\xc6\x1c\x76\x6d\x06\x11\xac\x35\xef\x94\x40\x92\xf1\xb3\xd7\xd4\x7e\x63\x5f\x3d\x3d\x51\xd4\x1e\xbe\x9d\xa7\xe2\xda\xe8\xab\x74\xf0\x31\x9b\xca\x9e\xc4\xd6\x50\xb0\x3f\x06\x07\x37\x34\xc3\xcc\x9c\x60\x3a\x76\xa9\x75\xb6\xe7\x9b\xf4\x73\xbb\x8d\xad\x3f\x7d\xa4\x59\xf7\x1a\x11\xc8\x88\x7a\x03\x21\xd3\x98\x7a\xdf\x72\x7d\x3f\xb6\xde\xf4\x91\x66\xbd\xc1\xec\x3b\xa8\xde\xe0\xf0\x2e\xda\x49\x5a\x46\x6c\x62\x61\x31\xd5\xea\xb9\x0c\x72\xf7\x48\x20\x8a\x3b\xac\x8e\x66\x01\x3c\xef\xf5\x32\xe3\xc3\x03\x19\x50\x1b\xb7\x5c\x79\x8d\xb3\xfc\x06\x7e\x85\x16\x2e\x73\xc1\xef\x63\xf5\x48\xe3\x51\x47\x86\xb2\x41\xbb\x79\xb5\x83\xcc\x1e\x6e\x8f\x08\x90\xd2\x37\x9f\x44\x94\x9a\x2f\x1e\x60\x72\x09\xb1\x6e\xa3\x0d\x16\xa8\xb9\xd6\x69\x6e\x80\x58\x48\xfa\xd1\x99\x4b\xb4\xe6\xdb\x14\x61\xcd\xa8\x9a\x1a\x11\x31\x05\x34\xd5\xd9\xd0\x18\x5c\xd7\xc1\xc0\x52\x02\x47\x99\x03\x98\x6e\x99\xc3\x9d\x09\x3a\x24\x91\xe0\x4c\xce\xcd\x85\x27\x17\x51\xa2\x45\x20\x39\xd5\x7a\x62\x7f\x3a\x4e\xa0\xa2\xe0\x45\xab\xdb\x75\xb0\x3f\x9c\x47\x45\xc9\x53\xf6\xa9\x14\xf9\x8e\xf8\xfd\xd0\x57\x89\x7f\x89\xb8\xc4\x4c\x91\x42\x6c\x33\xc8\x19\x0f\x53\x1c\xe6\xf2\x57\x00\x4a\xe0\x10\xbc\xd0\xec\x8f\x00\x79\xb0\x0f\xd3\x21\xbc\xe5\x05\x9c\xc5\x7f\xc6\x6f\xb8\xdf\xa6\x73\x59\x91\x70\x09\xde\xaa\xa8\xb9\x4c\xe7\xd2\x6a\x28\xc4\x2a\xd2\x53\xb8\xf1\x4d\x55\xbe\x3e\x25\x81\x64\x33\xd9\xd5\xfd\x52\xa9\xfb\x53\x21\x4f\xc1\x27\x55\x9c\xf2\xb2\x50\xa7\x00\x97\xc2\xf1\xd7\xa7\x56\x47\xd5\x0a\xd1\xea\xd3\x4d\xf2\x20\xe0\xff\x4d\x37\xc5\x36\xfd\x27\x9d\x6d\x3e\x9f\xac\xd3\xfc\xc4\xbc\x7b\x12\xbe\x7b\x62\xdf\x3d\xb1\xef\x9e\x98\xd7\xf0\xff\x65\x3b\x0c\xef\x88\xcf\xdc\x9c\x65\x93\xb9\x4c\xa4\x16\x79\x01\xd6\xcf\x63\x9e\x14\x5e\x2b\x67\xc7\x5e\xfc\xcf\xff\xb0\x69\xce\x1f\x7d\xbe\xe5\x07\xf4\x2f\xfe\xed\x6f\x2f\x20\xa0\x8a\x49\x3d\x19\xcf\x3f\x95\xa2\x98\x4b\x2d\xcc\x22\x64\xff\x67\x2e\x21\x02\xbb\xdd\x2d\x0a\xf4\xbb\xa2\x0f\x32\xd6\xec\xdf\xb0\xcc\x0b\xe4\xba\x8c\xb5\x29\xa9\x23\x9d\x20\xe1\x69\x8b\xf4\x76\x87\x8b\xfe\x53\xfa\x86\x9e\x1f\xb1\xac\x3f\xa5\xd5\x55\x6d\xd5\x5a\xf4\xa7\x14\x0e\xd0\x54\x71\x0b\xd6\x62\x6e\xf2\xc2\x3d\x99\x2a\xd7\xb6\x46\x1a\xd0\x80\x67\x0d\xd3\xb7\xaf\x95\x1b\xe4\xdb\xb6\x9e\xfb\xc6\x36\x02\xb1\x02\x1f\x87\x80\xe8\x79\x62\x56\xc8\x0d\x7a\x42\xc1\x72\xc3\x96\x83\x4d\x4a\xa1\x73\x57\x1e\x3a\x2e\xf4\x1f\x5e\x9d\x9e\x4e\xd8\x5a\xc3\xff\x2c\x3f\xc1\xff\x00\x7a\xe8\xa9\x28\x63\x1b\x9d\xe9\x80\x70\xcd\x51\xde\x3f\x12\x4f\x81\xa2\xfb\x12\x2c\xe5\xb5\x69\xfa\xba\x94\x71\x2a\x7c\x0a\x64\x25\x24\x92\x2a\x2b\xfd\x8f\x8e\xb1\xba\x1e\x0c\x8c\xf1\x52\x44\xdc\x6c\x7c\x8d\x6f\x23\xb8\x54\xad\x0a\x21\xd1\x1b\x96\x7b\xb9\x38\x8e\x9e\x2b\x30\x8b\x01\x0a\xc9\x0b\x82\x9c\x0b\xf8\x23\x7c\x04\x68\xbf\x27\xf5\x9f\xd8\x4e\x95\xc4\x60\x0d\xbc\xac\xb1\x88\x52\x90\x09\xb0\xdc\x34\x2c\x17\x45\x99\x4b\xc6\x59\xc6\x65\xcc\x35\xcc\xc0\x55\x0e\xd1\xce\x9c\xf1\x66\x45\x27\x08\xc7\x55\x65\x01\x8c\x4b\x88\x2c\x08\x7b\x02\x29\xc6\x83\x3a\x4f\x82\x4a\xe0\x99\x00\x4c\xc7\x8d\x17\xa7\x73\x69\x05\xcd\x08\x0b\x87\x9e\xb2\x48\x65\x3b\xe2\xd3\xa9\x77\x7a\x62\x3d\x67\xd4\xdd\x13\x8f\x37\xa9\x3f\x3b\x61\x49\x35\xb4\x06\x6c\xe6\x45\xa0\x1a\x6d\x75\xb7\xbf\x13\x32\x52\xb1\xc8\xf5\x4b\xb3\x0c\x13\x77\xef\x40\xfb\x21\xd1\x7e\x30\x60\x97\x32\x87\x1b\x79\x0b\x4d\xf1\x4e\xf6\xc7\xf4\x4e\x85\xff\xba\xcd\xce\xd9\xbf\x54\xbe\x75\x14\x4c\x5b\x7d\xe9\x3f\xbf\x28\x22\x26\xc4\x75\xda\x3b\xe7\xe1\x2e\x08\x5c\xb2\xe1\x8e\x8b\x85\xa2\x8d\x43\xc6\x89\x95\xe8\x4d\x0a\x90\xd8\xcb\x85\x2e\xe6\x92\x4e\xe0\x09\x5b\x09\x6e\xec\xbc\x09\x8b\xf4\x03\x6e\xc6\x78\xdc\x17\x8f\xca\x63\x70\xac\x78\x0a\x80\x61\x2b\x85\x7b\x27\x31\x3e\x06\x88\x02\x1e\x15\x08\x30\xe8\x54\x73\xb7\xa6\x0a\x74\x56\xeb\x86\x78\x40\x3f\x58\x2d\x8e\xba\xee\x55\x28\x05\x03\x3d\xb1\xc3\x40\x31\xab\xd7\x03\x7f\x30\x1b\x0f\xb6\x0e\x61\x20\xc1\xe6\x08\x16\x37\x61\x69\x71\x9d\xf9\x18\x6e\x48\x88\x0e\xbe\x99\xae\x45\xd5\xd3\x11\x50\x81\xc3\xfc\x16\xe6\xd5\xbd\x0e\x2b\x2d\x72\x2b\x14\x82\x6d\x45\xfa\xc2\x4d\x92\xc7\x27\x19\xcf\x8b\x9d\x9d\xbe\x69\xb2\x04\x7d\x81\x34\xb9\x17\x6c\x96\xe7\xea\xf1\xa9\x7b\xa1\x73\x6b\xe9\xba\x61\x1f\x83\x64\x1f\x7b\xcb\x6f\x25\x2f\xad\xbb\x3b\x0e\x23\x4a\xed\x72\x7c\xb4\x7e\x27\x17\x45\xbe\x5b\x98\x89\xb8\xcd\x3a\x77\x8a\x41\x49\x13\xc3\x8d\xdc\x71\x1c\xac\x35\x17\x46\x27\x07\x6b\x65\x54\xbf\x1d\x0e\xd6\x16\x7a\xd5\x26\x07\xeb\xc5\xe5\xc5\xed\xc5\xec\xdd\xc5\xff\xab\x95\xf8\xeb\xec\xe2\xf6\xe2\xf2\x8f\x8b\xb7\x57\xd7\x8b\xeb\xf3\x9b\xab\xbb\xeb\xb3\xf3\x7e\x52\xa5\x66\xed\xbd\x09\x7e\xc2\xc2\xef\xbc\x62\xb7\x01\x50\x03\x93\x0d\xc8\xfe\x26\x81\x4d\x98\x55\x66\x31\x27\x72\x3d\x81\x85\xfa\x8a\x9d\xe7\xf9\xc5\x96\xaf\xc5\x87\x32\x4d\x01\x4e\x85\x99\x3d\x67\xb9\x80\x8b\xe7\x84\x7d\x50\xf1\x45\xf0\x1e\xa4\x23\xb6\x36\x03\xbe\xcf\xe3\x38\x17\x5a\xe3\xe7\x27\xf4\xfd\x00\x3c\xe4\x52\x1d\x09\x3c\xc7\x1f\x78\x92\x9a\xfb\xdb\x2b\xf6\x9a\x47\xf7\x6a\xb5\xc2\xf4\x99\x89\x4b\x9c\x62\x9f\x4a\x55\x70\x26\x3e\x47\x40\x24\xd6\x3e\x4f\xde\xa9\xf5\x57\x80\x2a\x0f\x08\x4f\x75\x5c\x52\x40\x48\x6d\xd1\x7e\x9c\xb7\x6f\x04\xd4\xca\xf7\xf8\xea\x5b\x7c\xb3\xdd\x41\x59\xa4\x4f\x90\x1e\xff\x4e\xad\xdb\x65\x6d\xc0\xba\x26\x2d\x1e\x0a\x24\x44\x44\xb6\xa1\xd6\x4c\x27\xf2\x7e\x2e\x7f\xdd\x08\xc9\x54\x99\xe3\x9f\xe0\x9a\x6f\xcc\xcc\xb4\xd4\x1b\x01\x3a\xb7\x13\xf6\x28\xd8\x96\xef\xd0\x6c\x86\x3b\x81\xd3\xe2\x80\x29\x03\xa7\x88\x79\x3b\x4d\xa4\xd9\x2d\xb2\xc4\xe6\x25\xd4\x87\xfe\x29\x6e\x5c\x96\x46\x8f\x1f\xcf\x72\xdb\x77\x9e\x56\xf0\x79\xe0\x2a\xf3\xb8\x49\x0b\x10\xa2\x9d\x1b\xa4\x3e\x95\xba\x2f\x33\x4f\xb8\xf9\xc2\x06\x27\xa1\xbb\x1f\x54\x12\xb3\xb8\xcc\xd2\x24\x72\xfb\xee\xa3\xca\x3b\x59\x85\x31\x81\x66\xf8\xa9\x53\x4f\x0b\xeb\x6b\x58\x4b\x76\x4e\x80\xa4\xeb\xe1\x17\x7e\x66\x86\x65\x96\xc8\x28\x2d\x41\xc4\xac\xd4\x22\x3f\x29\xf2\x64\xbd\x06\x03\xdc\xe6\xfa\x7d\xfb\x14\xcc\x9e\xe2\xf1\xf8\xb4\xb6\x30\xe9\x3c\x55\xeb\x24\xe2\x69\x08\x6e\xf6\xa8\x08\xc7\xf1\x6a\x97\x3d\x49\xbc\x42\x1e\x84\xad\x50\x27\x03\x52\x96\x0b\xa0\x19\x5e\xc0\x56\xbe\xa0\xed\xee\x98\x7a\xaf\x98\xb9\xa0\x63\xbd\x42\x06\x56\x1b\x5e\xb0\x27\x9c\xff\xb6\xd5\xf9\x02\x13\x13\x35\xc0\x99\x7a\x94\x22\x07\x0b\x16\x60\x1f\xa6\xa5\x52\x81\x6d\xe2\xb4\xbf\x1c\x3e\xd9\x6a\xdf\xad\x1c\x10\x1b\x33\x67\xd7\xc9\x83\x90\x5f\x9e\x32\x3b\xf8\x40\xc4\xa3\x8d\x58\x58\xbb\xfc\xa9\xb7\x2c\x77\x00\x8c\xdc\xac\xac\x08\x47\xb8\x95\xba\xf0\x26\x5c\x9d\xb0\xc6\xcd\xbd\x0b\x03\x89\x3d\x19\x59\xa6\x12\x8b\x58\x44\xf7\x5f\x7c\x6b\xf6\x20\x2b\x5b\x11\xc6\xd9\x1b\x11\xdd\xb3\xbb\xeb\x0b\xcc\x06\x4e\x0a\x66\xb6\x02\xbd\xf1\xa2\x42\x9d\x77\xb7\x82\xaf\x9f\x81\xd1\x69\xa8\x2a\x92\x27\xc2\x77\x5a\x70\xa6\x42\x04\x88\x82\x7c\x49\xb3\x49\x52\x2e\x0d\x00\xc1\x78\x61\xb5\x72\xc0\x11\xcf\xf4\x16\xa4\x71\xca\x22\xd0\x93\x4b\xf9\x52\xa4\x1d\xb4\x90\x99\x8a\x17\x36\x4e\x72\x2c\x98\xa7\x51\x96\xf5\x63\x50\xd4\xd1\xe6\x31\x70\x63\xb1\xde\xd2\x83\xec\xfe\x47\x1d\xd0\x6b\xa8\x90\x9d\x1a\xee\xf5\x5c\x43\x7a\xf7\x2a\x59\xdb\x68\x5b\xb2\x22\x01\x1f\x4c\xe8\x07\xa9\x7a\xb3\x5f\x9a\x92\x3e\xa8\x98\x60\x7a\x8e\xc4\xcc\x58\x41\x82\xbc\x27\x1e\x57\x11\x56\xc1\xc9\xf9\x6b\xf0\x0d\xe8\x42\xf0\x98\xa9\x15\x79\x13\xb3\x2c\x4d\x80\x77\x38\x46\x8a\x73\x60\xcf\xd0\x55\x74\x7c\x58\x9a\xad\x6c\x40\xf2\xf1\xc1\x02\xf1\x7a\xe3\x8d\x3e\xc8\x65\xda\x55\x75\x72\xd7\x6d\xaa\x63\xa5\xea\x5c\x3e\xd2\xa1\x57\xe8\x7e\x6f\xda\x3a\x55\x4b\xe8\xa8\x6e\x50\x5c\xcf\x06\x6d\x76\xa7\x3c\x89\xc7\x1c\xef\xb6\x4f\xae\xdc\xab\x7d\x15\xbc\xb2\x9e\x0e\xf7\x25\x3b\xcc\x8c\x58\xe1\xc3\x08\x7e\x2d\x8d\x7d\xdf\x5d\x1b\x02\x84\xda\x45\x08\x9d\x35\x5e\x90\x26\x02\xac\x0a\xb7\x1d\x77\x5c\xab\xab\x6d\x39\x6a\xa0\x9b\xc4\x28\x7b\xfa\xd2\x73\xa9\xf4\x0f\xf2\x11\xec\x16\xb8\x72\x1d\xc5\xc5\x18\x62\x6b\x3b\x74\x88\xf1\x35\xfd\xe9\x07\xb1\x92\x7c\x31\x68\x44\xeb\xfd\x6e\x57\xf1\x31\x5d\xfe\x1c\x2b\xaa\x2c\x94\x77\xf9\x43\x7b\x2e\x80\x34\x34\x4c\xeb\x82\x6d\xe3\x22\xee\x80\x0b\x58\x1b\xcc\x2e\xcd\x11\x20\xd4\x51\x30\xd8\x2c\x17\x36\x78\xb4\x13\x85\x4b\xee\x4f\xad\x74\x19\xc4\x46\x5c\xab\xab\xec\x26\x96\xc0\xc0\x31\x52\x41\x24\x83\xec\xbd\x48\x6d\x33\x25\x01\x9b\x82\xa9\x4a\x73\x49\x85\x5b\x01\x6a\x17\x5e\xa9\xe4\xbb\x4d\xc8\xab\x85\xd9\x13\x42\xab\xf4\x81\xe2\x68\x81\x4e\x02\x48\xd7\x99\x0a\x9e\x99\x0b\x82\xb9\x0e\x43\x80\x97\xb6\x77\x80\x83\xd7\x54\x98\x73\xb1\x4e\x74\x21\xc2\x14\xc1\xf0\xfd\x27\x13\xcc\xac\xdc\xa0\xfb\xba\xbe\x53\x30\x73\x9f\x29\x6c\x56\xed\x88\xfa\xec\x32\x11\x5f\xb8\xf7\xfa\x27\x43\x2d\x8b\xdb\x6f\x12\x95\x53\x00\xe7\x00\x5e\x01\x34\xf2\x3d\x69\xa7\x70\xe0\x06\x89\x98\x78\xb8\x47\xb5\x99\x21\x5a\x97\x3c\xe7\xb2\x10\x42\xcf\x25\x45\x1f\x91\xb7\x2c\xa4\xe6\xa8\xa1\xe1\x9c\x81\x1b\x29\x5d\x20\x0d\x10\xbc\xb2\xe2\x49\x5a\xe6\x9d\x77\x4e\x9c\x95\x07\x71\x0f\xf4\xf5\xd2\x19\x14\xcb\xda\x06\xcd\x65\xb1\x06\xab\xc8\x51\x67\xd4\x63\x87\xd5\x24\xcf\x8e\x26\xd8\x2d\x77\xf8\x78\x3b\x87\x63\x47\x62\xeb\x8f\x7a\x91\xa9\x11\x3b\xde\xcf\x3f\xea\x0f\xaa\x23\x25\x58\x7f\x6a\x38\xc6\x7a\x62\xe8\x9f\xba\x34\x1f\xb8\xbe\x87\xf0\xd3\xbe\xfb\xf8\x20\x4a\xc6\xbd\x41\xaa\xce\xbd\x0b\x66\xed\x86\xcb\x38\x35\xf7\x54\x5e\xd4\x4e\x20\x0f\xf6\x35\x76\x71\x61\x37\xc7\xee\xcc\x2e\x48\x94\x58\x44\x8d\x2c\xbb\x7d\xfd\x54\x4b\xcf\xeb\x05\xd4\xd5\xbe\x52\x4d\x9a\x6b\x4b\xd6\xf0\x27\x3b\x29\xad\xba\x05\xdb\x3d\x05\x57\xc9\xfa\x1b\xb8\x64\xbd\x6f\xee\x94\x11\x2d\x45\x3a\xbf\x1c\xf2\xfb\xc8\xc5\x08\x49\x36\x66\x33\x0b\xc9\x89\xe7\x92\x84\x98\x31\xf2\x0a\x21\x37\xe4\xa2\xd2\xec\x7b\x97\x79\xf9\xfd\x3f\x5b\x26\xa2\x1d\x5b\x41\x5f\x03\xdd\x97\x8a\xa2\x32\x87\xb0\x28\xb9\x6e\x98\xc0\xb3\x49\x8f\x22\xd9\x80\x13\xd9\x81\x59\xd0\x7c\x6a\xb3\x1e\x9c\xaf\xae\xd2\xa8\x5b\x70\xd1\xa0\xa4\xb4\x3b\x0b\x49\x29\x28\xd7\x05\xd3\x85\xc8\x5a\x77\xa5\x8a\xd1\x55\x55\x4d\x3f\xc2\xec\xf2\x9a\xed\x03\x6d\xdd\x11\x7b\xf4\x2c\xb8\x4e\xff\xe9\xe6\xea\x92\x65\x7c\x07\xb8\xb0\x42\x91\xdc\x3d\x90\x31\xd6\xd7\xef\xbe\x11\xa8\x36\xbe\xba\xd8\xb0\x4f\x2d\xc0\xb4\xdd\x77\x4b\x5f\x6c\xda\x50\x30\x67\x68\x4a\x9a\xa5\x9c\xab\xf4\x24\x4b\xb9\x0c\xa0\xbf\x7a\xca\x6a\x9f\x0f\x63\xbd\x2e\xea\x43\x68\x1a\xa8\x00\xb8\x53\x68\x2e\xe4\x65\x2b\x38\xb4\x2a\x04\x7f\x54\x78\xb7\x73\x8f\xe8\x05\xbd\xbd\x47\x69\x03\x1e\x99\x65\x82\xcc\x02\x36\x64\xed\x50\x0f\x5c\x03\x20\x71\xc4\x40\xf5\xab\xd6\xcf\xa5\x15\x25\x56\x8f\x9a\xc5\xc8\xbd\x50\x26\x7a\x03\xfe\x49\x0c\x08\x00\x38\x88\xf6\x17\x44\x2e\xe4\x5c\x6a\x33\xa0\xe0\xd3\x14\x0f\x82\x1c\x1b\x95\x60\xdc\xc5\x9b\x77\x2e\xbe\x8f\x83\x44\xba\x71\x1d\x5d\x1f\x18\x66\xc7\x5c\x60\x5a\x65\xd4\xf7\x13\xfb\x57\x25\x31\xc2\x0b\xfd\x58\x8d\x8d\xf6\x12\xf7\x8d\x92\x63\x9e\xa9\x5b\x9d\x20\x28\x0b\x52\x52\x95\xd4\xb1\xb0\xf7\xee\xe4\x91\xdb\x4f\x2b\xf9\xf3\x7e\x51\x81\xc1\x97\xb0\x61\x99\x80\x23\xf6\x9e\x80\x04\xce\x61\x6b\x9c\xbd\x6c\x56\x39\x08\xf5\x00\x7b\x15\x7a\xd2\xa6\xec\x46\x08\xf6\x11\x7a\xca\x7c\xec\x23\x09\xc1\x01\x5c\xb0\xe0\x49\xab\x4e\x0f\x3c\x7d\x21\x57\xea\xb8\xcd\x20\x5f\x37\xe0\x68\x47\xf5\x4a\x7b\x3d\x8f\x05\xbc\x41\x2a\xa3\x7c\xde\xfc\xfb\xd6\x76\xed\x81\xb7\x7d\xf0\x77\x72\xca\xca\xb3\x35\x35\xe7\x33\x0c\xf1\x21\x0c\x4f\xb5\x49\x62\x5a\x39\x41\xd6\xe2\x7b\xa9\x1e\x25\xda\x02\xf4\x25\xf6\x9d\x59\x7f\x70\x80\xa1\x03\x15\xcd\x82\x12\x77\xc3\x97\x40\xa3\x3c\x73\xff\x66\x37\x18\x2b\xc2\x3a\x83\x38\x8a\x06\xe3\x87\x64\x4d\x60\x37\xff\x6e\x36\x61\xaf\x27\xec\x6c\xc2\xa6\xd3\xe9\xcb\x09\xca\x4b\x53\x8d\xf0\x15\x44\x8e\x15\x7c\x6d\xca\x26\xb9\x88\x55\xf0\x01\x50\x69\x32\x87\x95\x65\x0b\xe3\xfe\xa9\xc0\xf3\x60\x9b\x80\x39\x8c\x94\x70\x41\x71\xf5\x68\xa3\x12\x5f\x29\x80\x68\x8a\x48\xe5\x16\xe4\xa9\x0b\x95\x5b\xc0\xda\x03\xcf\x79\x22\x21\xb5\x9b\x37\xe1\xba\xf4\xe5\x80\xdc\x59\x7c\xe6\x5b\x68\x7f\x22\x1d\xbf\xa5\xe9\xa6\x5b\x57\xff\x62\x97\x91\x43\xfa\x31\x4f\x8a\xc2\x9c\xce\x7a\x2e\x6f\xd8\xab\x7f\x63\xb3\x2c\x4b\x05\x9b\xb1\xbf\xb2\xd7\x5c\x72\xc9\xd9\x6b\xf6\x57\x76\xc6\x65\xc1\x53\x55\x66\x82\x9d\xb1\xbf\x9a\x6e\x33\xe5\x5d\x2a\x73\x1c\xee\x26\x8c\x33\x59\xa6\x78\xea\x7f\x67\xc1\x60\x2f\x5d\xbb\xb8\x1f\x9d\xa5\x28\x1e\x85\x90\x4c\xab\x2d\x1d\x85\x7f\x71\x31\x09\x9d\xc8\x75\x2a\x0a\x9a\x0f\x55\xd8\x1e\x7e\xe0\x04\x5a\xfa\x6a\x2e\x9d\x2f\xef\x2f\xa6\xc6\x7f\x61\x7f\x65\x97\x65\x9a\x9a\x2a\x99\x8d\xc6\x4c\xa4\x57\xcc\xa6\x51\x08\x39\x7d\x4c\xee\x93\x4c\xc4\x09\x87\x44\x0a\xf3\xaf\xd3\x5b\x18\xed\x45\xe9\x39\xf3\xc2\x35\xed\x04\x67\x8e\xd9\x7a\x9e\x25\x29\xdb\xc9\x21\xd9\xc1\xef\xb9\xf9\x55\x5f\x1d\x6f\x11\x79\xa6\x50\x5a\x0f\x64\xb0\xa2\x58\x50\x28\xbb\x74\xd0\x16\x50\x3b\x6c\x6d\x59\x2d\x47\x41\x78\xa8\x1f\xbb\xc9\x82\xd0\xd9\x93\xdf\x21\x07\x68\x17\x0d\xdd\x72\x1b\xca\x2b\x95\x34\x77\xb0\x25\x3d\xd5\xcf\xa0\xa8\x90\x53\x5c\xf9\xa5\xaa\xf4\x56\xe9\x62\x95\x0c\x92\xc4\xab\x55\xf6\x8e\x7c\x17\x98\xa0\x66\x96\x69\x92\x9e\x9a\xa5\x7a\x7a\xa9\xa4\xb9\xb6\xea\x64\x8d\xf4\x44\x00\x23\x42\x2d\x39\x6b\x14\xdc\x56\x4d\xd6\x60\x09\x80\x7d\x60\xaa\x84\xd0\xb6\xc2\xec\x02\x66\x08\xd2\xdd\x5c\x9a\x37\xe8\x44\x02\x98\x7b\xe2\x58\x6c\xf1\x6b\x56\x7c\x9f\xbe\x45\x1b\x72\x50\x78\xcb\x04\xeb\xcb\xa1\x3d\x62\xc2\x51\xca\xd6\x11\x5e\xf1\xcb\x80\xc1\x8d\x4a\xb3\xf4\x1e\x18\xf7\x5c\x8a\x54\xc9\xb5\x99\x15\x5d\x9b\x80\xda\xf2\xe4\x18\x60\x49\x58\x05\x2c\xac\xb3\x06\xe6\xb0\xa4\x47\x68\x48\xcc\x39\x99\xc4\xfe\x7e\xaf\xcb\xa5\xb1\x23\x9c\x47\xd6\x9d\x86\xd4\xb8\xae\x84\xe2\xe3\xe2\xcb\x77\x5a\xe4\x40\xb3\x8c\x08\x07\xe7\xed\xc7\x83\xd3\x93\x6d\x60\x8b\x86\x2d\xaa\x5e\x60\x6c\xbb\x2b\x84\xa2\x09\x8d\xd4\xea\x01\xf3\xf1\x6b\x62\x64\x87\x20\x67\xdf\xce\x2e\xde\xd5\x9e\x6b\x22\x67\x5b\xe0\xb5\xb7\x17\xef\xcf\xdf\x2c\xae\xee\x6e\x1b\xcf\x99\xd2\xe8\x4f\x7b\xc0\xb3\x9d\xbd\xf7\x14\xf0\xc1\x4f\x28\xf7\xb2\x50\x2b\x9b\x49\x39\xfc\x4c\x6f\x08\xee\x0c\x43\xa9\x84\x24\xdb\xa1\x30\x4d\x73\xe2\x74\xe6\x83\xcb\x05\x45\x24\x86\x55\xb6\xde\x61\x57\xf2\x2d\xbe\xfe\x41\xa5\x49\xd4\x0f\x7a\xb3\xc7\xd5\x46\x3d\xb6\xa0\x88\x96\x02\x50\xa0\xe4\xff\xa1\x4a\xa1\x85\x5e\x88\xa8\xf0\x11\xb7\x66\xe3\xfe\x57\x03\x6d\xf6\xdf\xc1\xd1\xa3\xec\xba\x0d\x04\x38\x5d\x0c\x0f\xce\x56\x20\xd8\x04\x5e\x79\xf4\xb5\x42\x2e\x1d\xc4\xb6\x23\x4e\x2e\xe8\x4a\xcf\xc3\x06\xfd\xb8\x51\xa9\xb9\x8b\xc9\x98\xc8\x4a\xe7\x32\x13\x79\xa4\x00\xa0\x82\x79\xf0\x8a\x45\x9b\x24\x8d\xbd\x78\xcb\x77\x80\xe8\x05\xdc\xdd\x4b\x92\xe5\x13\x2e\xc6\x6c\x8b\xef\x39\x75\xed\xb4\xb3\xa2\xea\xc7\x79\xa0\x9e\x0e\xa2\xd7\x37\xed\x7f\x25\x28\x19\x76\x05\xd1\x0b\xd5\xa2\x85\xa6\xd3\x2b\xf5\x19\xe5\xe1\x05\xd9\xf3\x95\x15\xff\xb4\x17\xa7\xa2\x36\xae\x34\xcd\xea\x5d\x09\xa4\xb3\x88\xa2\x42\x00\x89\x16\x50\x9d\xad\xe0\x68\x8b\x79\x0a\x48\x1a\xd4\xb9\xf4\xf1\xd1\x17\x3a\xb4\xcb\x5a\xc7\x19\x39\x55\x2d\x08\x70\xc2\x5e\x54\x1a\xfa\x02\x48\x49\xa5\x82\xef\x51\x0c\xab\xd2\x35\x30\x5d\x27\x2c\x29\xe6\x32\xd1\x38\x33\x73\x91\x8a\x07\x53\xbb\xd0\x59\x4c\x58\x17\x7b\x77\xb6\xcd\x06\x1c\x39\xb7\xe9\xc7\x4e\x8b\x1f\x16\x61\x1e\x92\x5b\x72\x70\x4c\xc7\x42\x1b\xbb\x11\x64\x39\xc4\x67\xb3\x00\x12\x88\x85\x20\xfc\x23\x16\xd2\xd6\x0f\x50\x21\xa8\x65\x3b\x97\x17\x2b\xc8\x01\x85\xcc\xd3\x38\xc6\x5b\xa8\x15\x6a\x70\x4c\x63\x09\x39\x87\x15\xdd\xc9\xed\x40\x90\xaa\x24\xae\x24\xf1\x20\xf2\x5d\x01\x4e\x5d\xe8\x57\x29\x78\xb1\x61\x49\x31\x01\x8a\x38\xbb\x53\xce\x25\x8f\x49\x4e\x9d\x8a\x33\x5d\x03\xf3\xbe\x67\x9c\xe9\xf7\xa5\x7a\xe8\x33\x6c\x8f\x45\x7d\xe1\xaa\xce\x52\x2e\x17\x78\x82\x7c\x05\xdc\x57\x20\xf8\xd9\x15\xea\x2c\x97\x0b\x47\x6b\xf3\x24\xf5\x0c\x84\xab\x43\x19\x5e\x63\xc7\xda\x0f\x4d\x70\x32\x78\x5a\x6b\x7b\x3d\x71\x7e\x1a\x42\x17\xe4\xcc\x46\x60\x87\xef\x02\x1e\x12\xc6\x6b\x48\x04\x3b\x5b\xf7\x61\xc2\xec\x0c\xf8\x56\xf1\x49\x43\x46\xbe\x76\x86\xd4\x87\x7d\x3c\x34\xa6\x61\x21\x1e\x04\x8f\xd9\x53\xad\xe7\x85\xc8\x74\xfa\x51\x9a\x50\x19\xdb\xda\x20\xdc\x87\xc9\x13\x02\xfd\x70\xce\xcd\xd3\x2e\xe8\x1a\xde\xc3\x54\x0b\xb6\xf2\x29\x7d\xd4\xb0\x4f\x0d\xf5\x94\xf8\xdc\x6b\xa8\xd7\x94\x5d\x48\x66\xcd\xbd\x09\x7b\x81\x13\x4b\xbf\x20\x17\x24\xa9\x02\x53\xec\x3c\xa6\xd5\x43\xd9\xaa\x75\x28\x06\xe6\x0c\xf8\xe5\x86\x91\xa0\x5e\x6a\xc3\x67\xed\x97\xd7\x09\xe4\x2c\x1c\x92\x96\x8e\x51\xc4\x25\x16\x40\x87\x24\x5e\xbb\x77\x68\xb4\x2b\xef\xcd\xf6\x0d\xb6\xf1\x2e\xf6\xda\xbe\x68\xba\x28\x2b\xe9\x3c\xb5\xbf\x33\x95\xcf\xa5\x2d\x8d\x5c\x92\x1a\xb5\x94\xea\x45\x05\x10\x6a\xb2\xf9\x83\x99\x0a\x20\x06\x2b\x9f\x05\xaa\x6c\x9e\x7f\xb5\xbe\x0b\x00\x28\x62\x29\xbc\x9e\xf9\x94\xcd\xfc\xd7\x8c\xe1\x61\x26\xf8\x16\x8f\xf9\x3a\x47\x63\x9a\x9a\x4e\x49\x0a\x4b\x09\x19\xa4\x37\xe8\x12\x88\x4d\x57\xa5\xd9\x8c\x02\xf6\xd7\xb9\x34\x9d\xc7\x56\x09\xe0\x7e\xa9\x5f\xe6\xf2\xbd\xd2\x36\x9b\x5e\xfb\xfe\xb0\x18\x52\xea\xb6\x17\x4e\x45\x8c\xfe\xf0\x06\x0e\x6d\xf2\xf9\xd7\x24\xfe\x21\xaf\x85\x28\x31\x76\xaa\xcc\x7d\xa3\x22\x2e\xe7\xf2\xbf\x4c\xf7\xa0\x92\xb5\x93\x81\x57\x2b\x5c\xc2\x30\x82\x10\x2c\xf9\x88\x85\x7e\xf7\xcf\x2f\x3f\xbe\x44\x1c\x7a\xa9\x41\xb8\x71\x52\x3d\x40\x1c\x11\x78\x99\xa6\x10\x89\xb6\x2d\x70\x64\x14\xfe\x13\xbc\x0f\x96\x43\x97\xba\x85\xac\x9a\x18\x43\x16\x7a\xdf\x0c\xf6\xce\xe7\x19\x8b\x78\x11\x6d\x4e\xac\x2d\x47\xdb\x98\x3d\xfd\x68\xf8\x50\xc1\xcd\x58\x5a\xed\x5c\xd8\xe6\xc2\x99\x6f\x1d\x3b\x5f\x65\xbe\x98\x26\x00\xb0\xe6\xb6\x2e\x0c\xe3\xc8\x43\x71\x72\x7a\x21\x76\x6f\xe7\xb9\xc7\xad\x2c\x9b\xbf\x71\x92\x97\x5c\xf2\xad\x88\xd9\x0b\xc8\x98\x7a\x61\x07\x7f\x2e\xb3\xe5\x34\xdd\xad\x0a\xa2\x78\x32\x9d\x32\x05\x01\xa3\x3d\xa7\xdc\x22\x6e\x5e\x93\xf6\x74\x76\xe7\x45\xab\xdd\xd6\x71\x7d\xe3\xbe\x34\xdc\x60\x41\x1f\x97\xeb\x9d\x9b\x2a\x44\xa8\xca\xa4\xce\xf5\xfd\x84\x2d\x73\x2e\x41\x7b\x22\x0e\x8d\x2a\xbf\x3a\xe1\xf2\x8c\xfc\x49\x36\x85\x42\xf2\x74\x07\xd8\xf1\xc9\x5c\x22\xd9\x14\xb0\x12\xef\xa2\x34\x89\xd8\x3a\xe7\xd9\xa6\x66\x07\x89\x07\x21\x0b\x90\x30\xbd\x16\x5c\x1f\x17\xad\xcf\xeb\x25\xb0\xc1\xf1\x94\x99\x84\xdb\x07\x97\x35\x7a\x50\xa8\x5e\xc7\xd1\x02\x70\x2d\x11\x2f\xc6\x51\x83\xec\x25\xb0\xac\xd0\xa2\x11\x47\x0f\x44\x20\x4d\xe3\x98\xfd\xea\xbe\xf0\x37\xf6\x2b\xb1\x56\x58\xf0\xff\xb1\x21\x7b\xc7\x82\x71\x14\x97\xe1\x45\xd5\x8a\xe4\x9e\xde\xc3\x7b\xae\x31\x01\x88\x3c\x15\x16\x2c\xec\x36\x8e\x09\x49\xcc\x01\xcf\x19\xfb\x73\xb9\x54\xa9\x25\x8a\xbb\x78\xc3\x54\x0e\x1a\x0d\x85\xa2\x3f\x25\x71\x97\x75\x90\xc8\x58\x7c\x3e\x8a\xad\xa1\xff\xa0\xb7\x66\xb3\xf9\x4c\x20\x05\x50\x6f\x2c\xec\x4e\xb9\x30\x87\x70\x61\x6f\xc6\x8d\xa7\x74\x1d\xb9\x38\x4b\x8b\x0d\xc0\x09\x11\xc8\xee\x3b\x75\xcb\x77\x2c\xda\x70\xb9\x0e\x5c\x13\x80\xee\x12\x99\xca\x51\xcb\xf0\x01\x68\xd1\x54\x6e\xb3\x61\x29\xc7\x93\xd0\xf4\x2e\x90\x80\x20\x56\x65\x13\x39\xf9\x7a\x9d\x8b\x35\x10\x14\xcc\x65\x25\x4b\x1d\x28\xe1\xac\x8c\x02\x7e\xa7\x2f\xc9\xf7\x69\x98\x32\xba\x6e\x83\x45\xbe\x73\x29\x92\x24\x04\xea\xd7\x73\xbd\x5b\x27\x2c\x11\xd3\x09\xfb\xc1\x03\x77\x45\xa4\xa4\xcb\xb1\xec\x48\xb0\xab\xb9\xfc\xd9\x9e\xab\x43\x93\x52\xa3\xbd\xee\xf0\x5b\x43\x4e\xb4\x75\xd2\xf4\x26\xa9\x16\xbc\x28\x47\x9c\x41\x24\x19\x7d\x66\x5e\xbe\xc1\x77\x7b\xb1\xed\x3c\x33\xc7\x86\xa5\x33\x32\xcf\x9b\x93\xd3\x7c\xdb\xd3\x1d\xb7\xf5\xf5\x5e\x07\x72\xaa\xba\x1d\xc8\x4f\x61\xaa\x5b\xce\x8a\xfd\x3e\xe4\xb4\x83\x87\xa1\xa7\x4d\x63\x5d\xc4\x16\xe4\x4b\xf0\x7d\x5d\xbf\xc6\xb6\xec\x00\x59\xae\xe2\x32\x12\xb1\x59\xb9\x70\x1f\x42\x44\x8c\xa3\x83\xa8\x6c\x92\x6d\x07\x6d\x85\xd3\x06\x4e\xdd\x2f\xe5\x73\x18\x44\x23\xec\xba\xff\xae\xc3\xdf\x60\x2d\xbe\xb6\x4e\x0f\xd7\x27\xf6\x53\x3e\xf2\x9c\x72\x9f\xaf\x92\xff\xaa\x3c\x59\x27\x92\x17\x2a\x67\xdf\xb9\xa4\xcf\x97\x4e\x31\xa8\xdb\x42\x18\xb9\x4d\x54\xba\x08\xb7\x89\x2f\x6a\x78\xb4\x4d\x52\xf3\x94\x2e\xf8\x36\x0b\xe9\x34\x9d\x1e\x33\xf5\x4c\x8a\x9d\xe0\x6c\x13\xf0\x9d\x26\xda\xe7\xb6\xcd\x25\x45\x1c\x70\xdc\x54\x1e\xf2\x41\x77\x9e\xcd\x59\x59\x2c\x0e\xa4\x88\x09\xc8\x10\xb0\x9c\x71\x3e\x28\x42\x24\xbc\xe7\x59\xd7\x21\xc3\xc9\xef\x80\x19\x3e\x4e\xa9\xda\x9a\x2b\xd5\x49\x3a\x9d\xcb\x37\xae\x42\xaf\x58\x96\x0a\xb3\xcd\x97\x5a\x30\x5f\x39\x9b\xa2\xdc\xd7\x19\xe3\x1a\x01\x44\xac\x6f\xf6\x72\x88\x8c\x6b\x49\x9f\x97\x65\xc0\x60\xf5\x22\x01\xae\xdf\xd9\xb8\x97\xbf\xde\x56\xee\x8b\x30\xaf\x90\x4c\x51\x83\x91\x84\x9e\x0a\xb7\x4b\x1b\xa3\xc4\x12\x8f\x9c\xa5\xaa\x8c\x19\xed\xd1\x84\x2a\xc8\xa7\x78\xd8\x03\xbb\xe9\x74\xda\x45\xf5\x36\x52\xd8\xd6\x6d\xa7\xf0\x5e\xfb\x7c\x81\xdf\x3a\x0e\x94\xde\x9d\x2c\x98\xc8\xd4\xc9\xcf\x30\x93\xa9\xbb\x61\x02\xb8\x23\xc6\x4e\x80\x96\xe8\x6f\xe7\x74\x0e\xaa\xd8\x3f\x9f\x0f\x6a\x8b\xa7\x2a\xde\x3b\xa3\xc7\xb6\x68\x0f\xe7\x3f\xb0\xc8\x8d\x73\x65\x83\xe7\x20\x89\x53\xd8\x19\xc3\x50\x4f\x0b\xcf\x6d\x25\x84\xae\xef\x8f\xfe\x9c\xcd\x35\xef\xff\x54\xc6\x73\x21\x8b\x05\x7c\x71\xdc\xc7\xe0\x23\x1f\xe0\xf5\x8a\x69\x3b\xc8\x65\xff\x1f\xb7\x0a\x23\x31\x76\x06\xfd\x27\xbb\x21\xef\xa3\x39\x59\x12\x80\xfb\xea\x7b\xf6\x5d\x02\xe8\xb0\x20\x6a\xed\xf6\xa3\x8e\xe1\xa2\x06\x1d\xd0\x7b\x41\x83\x2a\x87\xf0\xa0\x06\xf9\xda\x03\xa8\x00\x4a\x21\x47\x2c\xe5\x38\x9b\x43\xd1\xfe\x2d\xa0\x91\xbf\xac\xfc\x1b\x28\x3f\xcd\xf8\xa5\xec\xbf\x45\xae\x7c\xe2\x0e\xba\x15\xc3\x82\x7b\x6f\x56\x87\x2b\xe0\xe2\xcd\x09\xb5\x57\x43\xf1\x41\xf8\x0b\xb1\xf2\xa0\xef\x67\xb9\xb3\x17\xc7\x8e\x60\x5f\x26\xa2\x45\x87\xd2\xc4\xa0\xaa\x04\x2e\x82\x50\x39\x22\xa9\x99\x1d\x76\x81\x9e\x82\x67\x89\x78\x2f\xb7\x3c\x23\x24\x26\x81\xbe\xeb\x61\xb6\x29\x34\xe2\x3f\xfe\xf2\x9f\xd3\x2e\x6d\x73\xa8\xfa\x58\x60\x9b\xab\xfc\xdb\x3c\x11\x32\x86\xb0\x39\x8f\x9b\x22\x48\xb2\x12\x47\xa9\x9c\x3c\x66\x1a\x3e\x49\x7e\x6b\xbb\x11\xa1\x17\x38\x89\xbe\x00\xf6\xc2\xdb\x0e\x6e\xf9\x56\x22\xb3\x5d\x46\x9f\x5e\xc4\x3b\xc9\xb7\x4d\x35\xf8\x67\xad\xe3\x2e\x11\x69\x0c\x55\xa4\xaf\xef\x8b\x1f\xc6\x22\xba\x1f\x6b\xee\x1c\x4c\xe1\x2e\xa2\x7b\xf6\xd3\xed\xfb\x77\xa8\xd8\x99\xe8\xb9\xbc\xe4\x45\xf2\x20\xee\xf2\xd4\x05\x6e\x88\x93\x27\x4f\xed\x1a\xa9\x52\x0a\x07\xf4\x35\x96\x7f\xd8\xda\x44\x21\xe3\xfb\x76\x77\xb2\x2c\xa3\x7b\x51\x9c\xe6\x5c\xc6\x6a\x8b\xcd\x38\xd5\xe5\x6a\x95\x7c\x9e\x16\x3c\xef\xa0\x7f\x47\x8f\xcf\x57\xbc\x91\x78\x51\x9f\xc2\xdf\x4e\xf0\x52\xf2\x08\xf9\xb9\x24\x15\x5d\xb9\x86\x80\xb3\x22\xe7\x5b\x01\xfc\x7d\xac\x2a\x9d\x00\xa5\x60\xca\x2b\x28\x0c\x6a\x4d\xb9\x0e\x8a\xf4\x8b\x3f\x06\xd7\xb0\x8f\x41\xad\xaa\x1a\xda\xb6\x52\x5e\xb5\x6f\xcb\xef\xf1\x26\xbf\xce\x85\xd6\x13\xa6\x15\xd4\x78\x2e\x6d\xd6\x80\xcd\x6c\x03\x84\x12\x30\x80\xa6\x3b\x16\xa9\x2c\x01\x91\x43\xd7\xae\x8d\x7a\x84\x88\x4a\x98\xe0\x09\xba\xb4\xa5\x2c\x92\x94\xf1\x55\x41\xe1\x16\xa0\x3b\xb7\xf2\x46\x7a\x3a\x97\x10\x34\x8f\xa0\xf9\x00\x66\x71\x81\x32\xd7\x08\xcd\x56\x3c\x4a\xd2\xa4\x20\x12\x26\x48\x07\xe3\xa6\xbd\xe6\x3c\x30\x7d\x99\xf3\x1d\x4f\xfd\x15\x98\xa7\xa5\xcf\x69\x3d\xd1\xa2\x87\xe4\x2f\xd1\x0b\x74\xe5\x7c\x09\x56\xb1\x24\x0c\x13\x21\x21\xf2\xcc\x7c\xfc\xb2\x76\x8a\xfe\x2e\xfc\xdf\x8a\xc7\xa4\xcf\x2a\x38\xc2\x75\x72\xcc\xe1\xd8\x74\x8e\x38\x4d\x60\x6f\x67\x24\xb1\x45\x72\x57\x6e\x19\x9e\x1b\xda\x1d\x8f\x10\xdd\xea\x70\xcf\x4c\xad\x92\x53\xf3\x0b\x23\x7a\xaf\xdd\x48\xfc\x42\x8e\xa7\x2e\x96\xea\x21\xd5\xb7\x71\x93\x0f\x4a\xa5\xc7\xc6\x4e\x78\x6a\x37\xfc\x05\x88\x9b\x1e\x73\x53\xc6\x09\xe0\x5c\x90\x17\x6f\x1c\x3a\xc2\xd1\x3e\x57\x25\x91\x08\xb8\x47\x55\x80\x8d\x0c\x2a\xd1\x83\xe9\xd7\x59\x0b\x3c\x66\x64\x6e\x02\x94\x81\xb8\x3a\x6b\xda\x37\x83\x39\x01\xdb\x04\xf7\x75\x04\x6a\xcc\x5a\x0d\x7f\x57\xab\x69\xaf\x5b\x15\xa5\x48\x6b\x9f\x72\x2e\xd6\x90\x42\xd7\xf5\x63\xf0\x6d\xdb\x9f\x28\x80\x6e\xce\x4f\xb2\xe2\xe7\x32\xb0\xd8\x91\xf7\xca\x26\x7f\xb8\x5e\x6b\xf3\xbc\x56\xa6\xe1\xd1\x9e\xd7\x63\x78\xd2\x7b\x77\xce\x37\xa1\xe2\x19\xa0\x76\x22\xb5\x5d\x26\xd2\x92\x09\x50\x38\x02\xae\x1a\x33\x4b\x43\xe9\x42\x47\xf6\xca\x80\x3a\x18\xb5\xbe\x77\x66\x4e\xc8\xe8\x19\x6e\x59\xfb\xae\xe3\xe1\xfd\xee\x69\x29\xdd\x3b\x62\xc2\xf5\x16\x98\x03\x24\x7d\xe4\x3b\x0d\xaa\xc0\xc2\xec\x8a\x2b\x74\xc1\x57\xeb\x3f\x09\xcc\x0f\x4b\x71\x4a\x12\xfb\x25\x89\x85\x53\x5b\x12\x64\x58\x11\xa9\xd5\x3f\xf6\xcc\x55\x2f\x74\x7b\xe7\x7c\x9d\xa8\x5a\xde\x1b\x55\x43\xb8\xc0\xdf\x47\x20\xad\xc7\x5d\x7f\x64\xd4\x20\x38\x26\xd1\x62\x24\x40\x17\xa4\xd8\x39\x30\xc1\x84\x6d\x79\x22\x69\x19\xa0\xc6\x5c\x2c\x96\xe5\x7a\xdd\xe9\xcc\xfe\xf6\xa3\x62\xd5\x75\xf2\x0f\x1f\xb5\xe8\xe5\x5e\x7b\x0a\x47\xf8\x85\xfd\x12\x7a\xe6\xcd\xbd\xef\xcb\xf8\xbe\x7f\x8b\x9b\xfc\x3d\xc6\x4d\x2e\x86\xc4\x4d\x2c\xa8\x10\x72\x3b\xc9\x3b\x60\x81\x5f\xbf\x05\x54\x7e\x0b\xa8\xf4\x4f\xf5\xa7\x09\xa8\x20\x55\xd2\x22\xa9\x5e\xa5\x7a\x6a\x79\x20\xe3\xa2\xa3\xe6\x85\x83\x09\xe9\xdb\xcc\x39\x1c\x6b\xb6\xe4\xd1\x33\x50\x30\x82\x1d\x73\xbc\xe7\x76\x0f\xa0\xec\x46\x6d\x05\x83\x4f\x69\xd4\x91\x61\x94\x19\x3c\x01\x04\xb8\x69\xa0\x47\x61\x11\xc6\x0b\x0c\x1f\x44\x83\xc5\xfe\xfa\xf3\x9d\x14\x8f\xcc\xd8\x15\x93\x10\x12\x1b\x0c\x0f\x08\x8c\xbd\x34\x76\x7c\x25\x7f\xc6\xd1\xa0\xe4\x62\xcd\xf3\x18\xb2\xb6\x68\xb7\x49\x79\x74\x6f\xfe\x1b\xea\x47\x5f\x24\xd8\xae\xd5\x3a\x40\x28\xb9\x2f\x2d\x91\x51\x0e\x04\x77\x84\x10\xf6\xf5\xc3\xd7\x35\xe3\x51\xae\x34\xba\xf7\x9c\x2e\x2f\xb0\x06\xc0\x55\xe3\x21\x89\x4b\x9e\xe2\x17\x3b\x63\x22\x63\x21\xa1\x75\x10\x5f\x20\xa1\xd5\x44\x88\xd2\x70\x20\xef\x57\xd2\xb2\x96\xef\xb4\x20\xe4\xa6\xb6\x0b\xb8\xb7\xa6\xcf\x66\xe8\x35\x70\xb6\x9d\xd6\x5e\x4f\x07\xd8\xc4\x85\xa0\x23\x74\x77\x4f\xec\x21\xf2\x3c\x66\x50\x46\x13\x12\x5f\x04\x3a\xde\xbe\x5b\xf0\x46\x97\x0b\x1e\xef\x42\xba\xc3\x44\x32\x88\xa7\x32\x1e\x6f\x13\x69\x16\x81\xd5\x8a\x74\x87\xa8\xa5\x8d\x47\x18\x3f\x48\x2a\xa5\x69\xcd\x0e\xd6\x4c\x0a\x73\x0d\xe0\x79\x92\xee\x60\x3b\xcf\x72\x71\x12\x7c\x27\x18\x1f\xca\x22\x04\x02\x7c\xa2\xe6\x29\xb5\x58\x95\x29\xde\x0f\xc1\x83\xe2\x1a\x40\x3b\xd2\xdd\xc5\xc4\x98\x86\x05\x09\x99\x04\x1f\x46\x79\xc0\xa7\xc8\xc8\x6a\xc4\x95\xc7\xc5\x46\x3d\x1d\x67\x0e\x89\x23\x1b\xf5\x68\xd3\x47\x1f\xb9\xcf\x0f\xe8\x32\x1c\x9e\x2c\x1e\xd6\x7f\x63\xb0\x77\x75\xbb\x4f\x61\xe7\xc7\x95\x20\x28\xfd\x26\x62\xb7\x37\x25\x12\x9a\x43\x0a\xbb\x3e\xc6\x50\x6a\xcc\x42\x35\x63\x09\xe7\x97\x75\x49\x55\x43\x0c\xcc\xb5\x2e\xd1\x4a\xb2\x79\xf9\xfb\xdf\xff\x41\xb0\xdf\x43\x5a\x2e\xdd\x1c\x31\x92\x09\x84\x9c\x58\x3a\x6c\xd9\xee\x03\x02\xd9\x3a\x1b\x23\xc2\xda\x60\xdf\x96\x03\x03\x80\xd3\x3c\xda\x30\x5d\x2e\x11\x15\xcc\x29\x18\xc6\xa5\xe3\xbb\x7e\xa7\x00\xe0\x8b\xa7\xbb\xad\xfd\xff\x92\xd0\x0f\x6a\x4e\xcc\x65\xa6\x90\x92\x1d\xe0\xd4\x4b\xc1\xb6\x3c\xbf\x07\x09\x51\x0c\xa4\x00\x05\xfd\x77\x89\x98\x56\x03\x41\x2f\x2b\xf5\xa1\xd0\x1b\x52\x2d\xb3\xbc\x94\xd2\x6a\x22\x31\x63\x73\xfb\xa8\xcc\x64\x2e\x97\x65\xe8\x25\xa8\x84\x75\xfc\xd4\x82\xd0\x0e\x6c\xb6\x0a\xf8\x77\xa8\x52\x5c\xfb\x7a\x4d\xd9\x80\xf8\xce\x5c\x3e\x71\x80\x67\x9f\x6b\xf6\x03\xd9\x60\xd6\xed\x1a\xe4\x00\x41\x73\x43\xd9\x5e\x18\x0e\x9c\xf6\x60\xe4\x7c\x00\xed\xde\x09\xfb\x29\x79\x10\x13\x76\x93\xf1\xfc\x7e\xc2\xde\x60\xa0\xf6\x4f\x6a\xd9\xe6\x6d\x6d\x90\xb4\x1c\xed\x71\x3d\xcc\xe1\xd8\x47\x5e\xd4\x7e\x7d\xf8\xb5\x61\x4b\xb3\x2e\x94\xc2\xdf\x27\xca\xb5\x83\x3f\xe7\x1f\xdd\x67\xb4\x07\x50\xf0\x1b\x82\xf2\xb7\x0b\xff\x3f\xe0\x85\xff\x39\x10\x4d\xbf\x0b\xff\xd7\xee\xfa\xd6\x4e\x05\x8b\x9d\xce\x86\x56\xd4\xe5\xb7\x45\xb1\x90\xc4\x75\x53\xa6\xc9\xb4\x30\x6c\x03\x21\x22\x8b\xd8\x91\x6c\x8c\x48\xff\xa1\x57\x6d\x7f\x9d\xa5\x4a\x97\x79\xff\x96\x79\x5d\xad\xb5\xfd\x7a\x0b\xe9\x30\x2c\xd1\xed\x52\x00\x7f\xca\x50\x78\x15\x3e\xb6\xf8\x2f\xb5\x5c\x00\x96\xf0\xb8\x7d\xb1\xad\x38\x2b\x63\xe6\x22\xbe\x54\x55\x6f\x57\xdc\x64\x02\xb8\xef\xbc\x01\xef\x03\x5e\xb5\x19\xe6\x1c\x4a\x73\x69\xa5\x00\x30\x77\x3f\xcf\x05\x70\x96\xe7\x02\xd4\xf9\x58\xc6\x73\x07\xe8\xb1\x76\x64\x70\x5f\xf4\xa0\xaf\x30\xdf\x16\xd2\xe6\xe9\x96\xba\x14\x42\xba\xde\x1e\x63\x80\x19\x9b\xaa\xde\xfb\x84\xe6\x7c\x14\x2c\xc2\x94\xae\x0e\x25\xd1\xc6\x7b\xc1\x0d\x1a\x2e\x2a\x6b\x51\x04\x67\x60\xcd\x20\xab\x2c\xcd\x4a\x04\xf6\x9b\xca\x3d\x6a\xc5\x58\xd4\x68\x02\x2b\x6e\xa7\x41\x1e\xfe\xa7\x88\x07\x7d\xe0\xc5\x06\xdd\x00\x5b\x55\x08\xdc\x92\x91\xaf\x0c\xe7\x0b\x86\x21\x96\xa9\x5a\x82\x2c\x9e\xf9\xa5\xeb\x46\x1d\xd1\xd2\x1e\xd4\x75\xcd\x01\x1b\xb2\x33\x98\xdd\x04\x72\xfe\x73\xa1\x81\xfa\xa9\x19\x85\x1d\x1a\x1e\x19\xe7\xaa\x68\x56\xd7\x6c\xfa\xcd\xc3\xae\xa9\x15\x62\x96\x35\x80\xb1\xcf\x0f\xc8\xe5\x3b\x0f\xf3\xe6\x8d\x49\x45\xb4\xe9\x04\x73\x40\xe6\xe4\x5a\x7b\xad\xfa\xfa\x5c\xce\xf0\x97\xe0\x10\xe0\x5e\x13\xcb\xe1\x9d\x49\x68\xd7\xad\x3f\x4c\xa4\x67\xb3\x10\x61\x4b\x7e\x95\x89\xf7\x00\xc3\x15\x6a\x02\xf9\xd5\xb2\x48\x72\xc1\x24\xa0\x6c\xe6\x52\x97\xcb\x13\x4f\x91\x64\xee\xbe\x0f\x40\xeb\xa5\x45\xc6\xe1\x02\x08\xcc\x69\x27\xad\x76\xcb\x6d\x45\xdb\xc6\x52\x89\xf2\x94\x36\x7f\xc8\xda\x46\x8e\x0e\xd7\x76\x57\x8e\xb9\xe2\x82\xef\xc1\xc2\xf1\xf0\xb0\xeb\xdb\x2f\x40\x7d\x0b\x72\xc1\xaf\x11\x25\xf4\xb5\x0f\xf0\x30\xda\x3f\xf4\xe8\x86\x78\xf1\x5c\xfe\x5f\x7b\x36\x74\x83\xe6\x47\xcc\x74\xd3\x33\xe6\x88\xea\x04\xf3\x57\xea\x66\x2f\xde\x81\xe9\xdc\x5d\xa9\xc6\x94\x6f\x2b\x95\x5b\xdc\x56\xa8\x35\xa3\x28\x71\x1f\x7e\x7d\x48\x74\x20\x3c\x00\x5f\xbb\x11\x82\xbd\xca\xc5\xea\xd5\xc7\x5c\xac\x16\x76\xa4\xa7\xd0\xa0\xa9\x69\x51\x53\x7e\x60\xe0\xe4\xd0\x99\x92\xed\x34\xac\x7b\x68\x92\x6b\x4d\xc2\x72\x82\x36\x25\x2b\xe6\x25\x49\x4d\x7b\x80\x8b\x46\xc4\x75\x5d\x84\x46\xcd\xbe\xf8\x31\xd7\x85\x74\x1c\x00\x25\xec\x90\xf2\xfc\xc7\x3f\xde\x2a\x7d\x36\xe4\x78\xbb\xad\x42\xc2\xec\x66\xcf\xa5\x3b\xf0\xba\x71\xcf\x5f\x36\xfb\x02\x06\x50\x67\xfc\x51\x12\xa3\xd6\x28\x87\xdd\xb0\x63\xad\x06\x90\x0b\x8e\xb5\x06\xc6\xd3\xaf\x32\x69\xfd\xa3\x89\xd3\xbd\x9c\x04\x92\xf1\x3c\x4d\x43\x75\x17\x1f\x9f\x9c\x4b\x9f\x21\x6f\xac\xd6\x34\xb5\x8e\xcf\x8a\xbd\x41\xfc\x69\x31\x50\x13\x88\x89\xa5\x7f\x22\xe2\x54\x8a\x22\x9e\x2c\x39\xe8\x11\x3b\xcd\xb3\x7d\xab\xf9\xa9\x2e\x91\xdf\x18\x43\xc3\x9e\x78\x3d\x7e\x76\x71\x2f\x1a\x70\xfd\xbd\x75\x6d\x8f\x0f\x05\xe4\x36\xb0\x98\xed\x2e\x1b\xf1\x3c\xb7\x59\x2c\xf4\x55\x66\xee\x4a\x2b\x1e\x55\x9c\xc3\x1d\xf5\xdc\x88\xe8\x3e\x53\x89\x1c\xbd\x17\x55\xc8\x76\x60\xb2\x17\xcc\x97\xe6\x6e\x87\x83\x0e\xc7\x8a\x3d\x89\x0d\x01\xa8\x92\x83\x3e\x7b\x5a\x48\xce\x9c\xde\x73\xf7\xb4\x7b\x6a\xff\x85\xf0\x67\xc3\x33\x78\xb0\x5b\xa2\x6a\xb5\x53\x85\xb7\xf8\x8d\x2a\x9c\xc4\xbc\x91\xdd\x38\xb0\xb3\x39\xab\x90\xa9\xb6\x76\x29\xb8\xa2\x7e\xf3\x0c\xfd\xe6\x19\xfa\x3b\xf7\x0c\x7d\x49\xb7\x10\x20\x8a\x9e\xd3\x27\xd4\x03\x2b\x38\x62\x39\xba\xaf\x8e\xce\xe1\x6d\xb5\x8e\x27\x81\x48\x77\x90\xc9\xdb\x4c\x64\xb1\x94\x3c\xa6\x7f\x96\x3c\xba\x17\xb2\x13\xd9\x60\x89\xd4\x3a\x95\xdc\x9f\x16\xf7\xd3\xc6\x03\x17\xbc\xdd\x0f\x00\xf2\x00\x31\xa2\x2f\x6f\xa3\x26\x32\xeb\x04\x6c\x4f\xd3\xf0\x13\x80\xda\xa9\xdc\x51\xec\x6b\xca\x32\xc5\x10\x2e\x12\xb6\x21\xc4\xac\x46\x4a\xdf\xe8\xd4\x4e\xd8\x01\x7e\x78\x91\x29\x95\xb6\x02\x0a\x9f\xb4\x03\x1b\x89\x60\x43\x3b\xef\x02\x8d\x51\x1d\xc2\xec\x6c\x2f\xfa\xa4\x22\x9f\x82\x84\xf9\x46\xa0\xca\x03\xb3\x29\x2e\x21\x57\xd8\x77\xc7\xd4\x67\xf0\x71\xe7\x70\x21\x64\xdd\x52\x44\x1c\x14\x69\x2d\xe4\x31\xe2\x2e\xbb\x2a\xa4\x67\x6b\xa4\x3b\xe9\xe6\x77\x3a\x62\xbd\x50\xee\x22\x69\x93\xe0\x19\xbb\xb8\x6a\x16\x82\x4d\x9d\xc0\x9a\x5b\xfc\x8d\x25\x80\xdd\x27\x40\x6c\xd9\xee\x17\x51\xca\xf5\x40\xc3\xba\x75\xdf\xb9\xa0\x82\xce\xa0\x9c\xe1\x1b\xe9\x4f\x90\x6e\xb6\x1d\x88\x77\x9a\xcb\x99\x13\xe0\xf5\x88\x39\x87\x77\xc4\x20\x33\x22\x3d\x1b\x43\x83\xac\xb2\xfe\xe6\x32\x61\xba\x8c\x36\xc0\x9b\x5b\xdd\xa7\xc2\x7d\xab\xb9\x62\x27\x73\x69\x2e\x44\xe0\x6a\xd9\x72\xe0\x7d\x78\x34\xc6\xaa\x4e\xfe\x5b\x38\x50\x1b\xd1\x08\x86\x38\x36\xbc\x38\x29\xd9\x8a\xf9\xb3\x14\xc6\x08\x4b\xf1\x48\x9c\x32\x8b\x79\x21\xa6\x73\x8f\x51\x4a\xd0\xd3\x69\xb1\x31\x64\x32\xeb\xb0\x61\x21\xfa\xb3\xb6\xd3\xa6\xc9\x4a\x44\xbb\xa8\xa1\x48\xd6\x4f\x83\xf2\xdb\xb5\xed\xdb\xba\xb6\x21\xdf\x37\xe6\xc4\x8e\xe9\x5a\xaa\xea\xb5\x7f\xfd\xb8\xce\x15\x2c\xa8\x89\x1e\xd1\xcf\x5f\xf0\xda\xd9\x62\x03\x8f\xb3\xe7\x07\xdf\x83\xfa\x8f\x33\x7f\xb1\xf5\x87\x75\x40\xf1\xd1\x30\x0b\xc3\xe0\x62\x11\x4e\x1d\x63\xd0\xee\x4d\xc1\xdf\xcf\xa2\xf4\x4d\x41\xba\x86\x5c\x5c\x8d\xc5\xed\x40\x5e\x97\xd6\xd2\x96\x02\xcf\xbb\x1e\x8b\x3b\xd0\x97\xe0\xc5\x0b\xed\x7a\xbd\xba\x03\xda\x8c\x89\x77\x89\x2e\x7e\xa9\xa9\x17\x1f\x26\x7f\xfc\x6c\xa6\xa9\xad\x2a\x56\x73\xa8\x45\x75\x5d\xb5\x79\xd4\xca\xce\x39\xb8\x3c\x59\xbd\x4a\x53\xef\x31\xf7\xa0\x8f\xae\xbf\x3e\xe2\xd1\xf4\x98\xf3\x2c\x13\xb9\x3d\xc8\x1b\xb6\x16\x88\x3f\xc2\x57\x40\xbd\x75\x23\x50\x42\xbe\x76\xcb\x35\x5b\x49\xad\x68\x78\x0c\xba\x6e\xda\x3e\x72\x97\x65\x9a\x76\x8e\xdc\x7e\x4d\xb9\xcb\xbb\x77\xef\x16\xbf\xcc\xde\xdd\x9d\xdb\xe6\xb7\x6a\xb4\x05\x8f\x75\xf6\x89\xab\x09\xf5\x89\x57\x81\x35\x9f\x15\x56\xc6\x5e\xf9\x56\xa3\x93\xab\x4c\xd3\xaa\x7e\xdf\x5c\x7e\xa4\x72\x00\xdc\x8e\xda\xc4\xa6\xdf\x58\x6f\xc7\x55\xbf\x0f\x8f\x7d\x34\x85\x7f\xc4\x77\x4f\x98\x6f\xc4\x2b\x50\x99\x25\xf5\xca\xf6\x7e\xa5\x1c\xa2\x23\x96\x03\x42\xa8\xbb\x96\xc3\x53\x2b\x94\x1e\xb6\x3c\xee\x24\x68\x23\x88\xd8\x0a\x8b\x3e\xc9\xea\xc0\xbe\xfb\x58\x8d\x53\xbb\xbd\x3c\xc6\x2b\x0d\x94\x3b\x41\x5d\x49\x50\xcb\xf7\xd2\x8b\x73\x89\x3e\x50\x53\xa7\x42\x75\xd7\x89\x5d\x90\x79\x9b\x72\xb9\x2e\xf9\xda\x58\xb7\xf6\xe3\x73\xb9\x4d\xd6\x1b\xe4\xb9\x29\x33\x8f\xea\xe6\x4c\x02\x1d\x52\x6d\x0a\xd5\x50\xdd\x89\x9c\x4b\x6a\x93\x5c\xfb\xe2\x11\x61\xfc\xa7\x1b\xd7\x1c\x82\xf2\x63\x41\x24\x8d\x29\xe7\x12\x07\x17\xf9\x77\x6c\x24\x04\x6e\x2c\xbc\xa8\x4f\x5d\x0e\xb1\x4b\x50\xe3\x85\x3d\x7d\x0d\x31\x99\xb9\x74\x29\xe8\xe8\x39\xa2\x36\x04\x12\x4a\x58\xa5\xfd\xfb\x89\x1d\x0c\xbb\x26\xa8\x6e\xed\xb3\xfe\xe8\x33\xc0\x2c\xb8\xc5\x08\x1d\xfc\xe6\x36\x36\xd0\x5b\xc8\x83\x8d\xa3\x8b\x97\x04\x78\x07\xda\x6b\x63\xdb\x85\xcf\x74\x02\x82\x55\xb9\x4c\x47\x54\x09\x9f\xef\xad\x14\x6e\xc9\xfd\x95\x1a\x70\x1d\xbe\xae\x2d\x2d\x33\x4d\xfb\x3e\xbb\x54\xaa\x63\x5c\x9e\x30\xa0\x58\xa9\x14\xbd\xb0\xaf\x33\xca\xa8\x38\x64\xbe\x0c\x48\xf1\xac\x77\x91\xdd\x7d\xfa\x2a\x94\x26\xfa\xa0\xea\x78\xfb\x69\x70\x8d\x9c\x85\x40\x87\xdd\xa8\x1d\x96\xce\xb9\xca\x06\xdb\xb1\x4d\x52\x3c\xc9\x0a\xca\x27\xb8\xbd\x98\xc5\x83\x6a\xef\x66\xfe\x4f\xdc\x24\x9a\xf8\x91\x9b\x40\x25\xa3\x32\xd7\x66\xbb\xa4\xfd\x8e\x76\x6d\x95\x33\x3e\x97\x36\xc1\xcf\x6e\xc7\x33\x8b\xfd\xcd\xdd\x5f\x31\x6d\x36\x43\x65\x0f\xb0\x58\x0b\xa6\xa4\xb0\xbb\xe1\x5c\x92\xb0\xbe\x9e\x30\xbe\xd4\x56\xdc\x9f\xcb\x9d\x53\xdc\x4f\x1c\x3d\x17\x97\x0c\xb0\xe2\xfb\xf7\xbc\x9a\x19\x50\x39\xe7\x7f\x67\xfe\xef\x6f\xbf\xfb\xff\x01\x00\x00\xff\xff\x99\xe6\x32\x7d\xc2\xbd\x04\x00") func adminSwaggerJsonBytes() ([]byte, error) { return bindataRead( @@ -93,7 +93,7 @@ func adminSwaggerJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "admin.swagger.json", size: 310079, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} + info := bindataFileInfo{name: "admin.swagger.json", size: 310722, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java index f912dc908f..fa5bf2dce3 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java @@ -9373,6 +9373,34 @@ public interface ExecutionClosureOrBuilder extends */ @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder(); + /** + *
+     * Raw output data produced by this execution.
+     * DEPRECATED. Use GetExecutionData to fetch output data instead.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + boolean hasFullOutputs(); + /** + *
+     * Raw output data produced by this execution.
+     * DEPRECATED. Use GetExecutionData to fetch output data instead.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + flyteidl.core.Literals.OutputData getFullOutputs(); + /** + *
+     * Raw output data produced by this execution.
+     * DEPRECATED. Use GetExecutionData to fetch output data instead.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder(); + /** *
      * Inputs computed and passed for execution.
@@ -9769,9 +9797,9 @@ private ExecutionClosure(
               break;
             }
             case 74: {
-              if (!((mutable_bitField0_ & 0x00000800) != 0)) {
+              if (!((mutable_bitField0_ & 0x00001000) != 0)) {
                 notifications_ = new java.util.ArrayList();
-                mutable_bitField0_ |= 0x00000800;
+                mutable_bitField0_ |= 0x00001000;
               }
               notifications_.add(
                   input.readMessage(flyteidl.admin.Common.Notification.parser(), extensionRegistry));
@@ -9837,6 +9865,20 @@ private ExecutionClosure(
 
               break;
             }
+            case 122: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
+              if (outputResultCase_ == 15) {
+                subBuilder = ((flyteidl.core.Literals.OutputData) outputResult_).toBuilder();
+              }
+              outputResult_ =
+                  input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom((flyteidl.core.Literals.OutputData) outputResult_);
+                outputResult_ = subBuilder.buildPartial();
+              }
+              outputResultCase_ = 15;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -9852,7 +9894,7 @@ private ExecutionClosure(
         throw new com.google.protobuf.InvalidProtocolBufferException(
             e).setUnfinishedMessage(this);
       } finally {
-        if (((mutable_bitField0_ & 0x00000800) != 0)) {
+        if (((mutable_bitField0_ & 0x00001000) != 0)) {
           notifications_ = java.util.Collections.unmodifiableList(notifications_);
         }
         this.unknownFields = unknownFields.build();
@@ -9882,6 +9924,7 @@ public enum OutputResultCase
       @java.lang.Deprecated ABORT_CAUSE(10),
       ABORT_METADATA(12),
       @java.lang.Deprecated OUTPUT_DATA(13),
+      FULL_OUTPUTS(15),
       OUTPUTRESULT_NOT_SET(0);
       private final int value;
       private OutputResultCase(int value) {
@@ -9902,6 +9945,7 @@ public static OutputResultCase forNumber(int value) {
           case 10: return ABORT_CAUSE;
           case 12: return ABORT_METADATA;
           case 13: return OUTPUT_DATA;
+          case 15: return FULL_OUTPUTS;
           case 0: return OUTPUTRESULT_NOT_SET;
           default: return null;
         }
@@ -10126,6 +10170,47 @@ public flyteidl.admin.ExecutionOuterClass.AbortMetadataOrBuilder getAbortMetadat
       return flyteidl.core.Literals.LiteralMap.getDefaultInstance();
     }
 
+    public static final int FULL_OUTPUTS_FIELD_NUMBER = 15;
+    /**
+     * 
+     * Raw output data produced by this execution.
+     * DEPRECATED. Use GetExecutionData to fetch output data instead.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public boolean hasFullOutputs() { + return outputResultCase_ == 15; + } + /** + *
+     * Raw output data produced by this execution.
+     * DEPRECATED. Use GetExecutionData to fetch output data instead.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public flyteidl.core.Literals.OutputData getFullOutputs() { + if (outputResultCase_ == 15) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + /** + *
+     * Raw output data produced by this execution.
+     * DEPRECATED. Use GetExecutionData to fetch output data instead.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder() { + if (outputResultCase_ == 15) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + public static final int COMPUTED_INPUTS_FIELD_NUMBER = 3; private flyteidl.core.Literals.LiteralMap computedInputs_; /** @@ -10506,6 +10591,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (stateChangeDetails_ != null) { output.writeMessage(14, getStateChangeDetails()); } + if (outputResultCase_ == 15) { + output.writeMessage(15, (flyteidl.core.Literals.OutputData) outputResult_); + } unknownFields.writeTo(output); } @@ -10570,6 +10658,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(14, getStateChangeDetails()); } + if (outputResultCase_ == 15) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(15, (flyteidl.core.Literals.OutputData) outputResult_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -10645,6 +10737,10 @@ public boolean equals(final java.lang.Object obj) { if (!getOutputData() .equals(other.getOutputData())) return false; break; + case 15: + if (!getFullOutputs() + .equals(other.getFullOutputs())) return false; + break; case 0: default: } @@ -10714,6 +10810,10 @@ public int hashCode() { hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; hash = (53 * hash) + getOutputData().hashCode(); break; + case 15: + hash = (37 * hash) + FULL_OUTPUTS_FIELD_NUMBER; + hash = (53 * hash) + getFullOutputs().hashCode(); + break; case 0: default: } @@ -10889,7 +10989,7 @@ public Builder clear() { } if (notificationsBuilder_ == null) { notifications_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000800); + bitField0_ = (bitField0_ & ~0x00001000); } else { notificationsBuilder_.clear(); } @@ -10966,6 +11066,13 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionClosure buildPartial() { result.outputResult_ = outputDataBuilder_.build(); } } + if (outputResultCase_ == 15) { + if (fullOutputsBuilder_ == null) { + result.outputResult_ = outputResult_; + } else { + result.outputResult_ = fullOutputsBuilder_.build(); + } + } if (computedInputsBuilder_ == null) { result.computedInputs_ = computedInputs_; } else { @@ -10993,9 +11100,9 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionClosure buildPartial() { result.updatedAt_ = updatedAtBuilder_.build(); } if (notificationsBuilder_ == null) { - if (((bitField0_ & 0x00000800) != 0)) { + if (((bitField0_ & 0x00001000) != 0)) { notifications_ = java.util.Collections.unmodifiableList(notifications_); - bitField0_ = (bitField0_ & ~0x00000800); + bitField0_ = (bitField0_ & ~0x00001000); } result.notifications_ = notifications_; } else { @@ -11083,7 +11190,7 @@ public Builder mergeFrom(flyteidl.admin.ExecutionOuterClass.ExecutionClosure oth if (!other.notifications_.isEmpty()) { if (notifications_.isEmpty()) { notifications_ = other.notifications_; - bitField0_ = (bitField0_ & ~0x00000800); + bitField0_ = (bitField0_ & ~0x00001000); } else { ensureNotificationsIsMutable(); notifications_.addAll(other.notifications_); @@ -11096,7 +11203,7 @@ public Builder mergeFrom(flyteidl.admin.ExecutionOuterClass.ExecutionClosure oth notificationsBuilder_.dispose(); notificationsBuilder_ = null; notifications_ = other.notifications_; - bitField0_ = (bitField0_ & ~0x00000800); + bitField0_ = (bitField0_ & ~0x00001000); notificationsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getNotificationsFieldBuilder() : null; @@ -11134,6 +11241,10 @@ public Builder mergeFrom(flyteidl.admin.ExecutionOuterClass.ExecutionClosure oth mergeOutputData(other.getOutputData()); break; } + case FULL_OUTPUTS: { + mergeFullOutputs(other.getFullOutputs()); + break; + } case OUTPUTRESULT_NOT_SET: { break; } @@ -11989,6 +12100,187 @@ public flyteidl.admin.ExecutionOuterClass.AbortMetadataOrBuilder getAbortMetadat return outputDataBuilder_; } + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> fullOutputsBuilder_; + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public boolean hasFullOutputs() { + return outputResultCase_ == 15; + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public flyteidl.core.Literals.OutputData getFullOutputs() { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 15) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } else { + if (outputResultCase_ == 15) { + return fullOutputsBuilder_.getMessage(); + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public Builder setFullOutputs(flyteidl.core.Literals.OutputData value) { + if (fullOutputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputResult_ = value; + onChanged(); + } else { + fullOutputsBuilder_.setMessage(value); + } + outputResultCase_ = 15; + return this; + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public Builder setFullOutputs( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (fullOutputsBuilder_ == null) { + outputResult_ = builderForValue.build(); + onChanged(); + } else { + fullOutputsBuilder_.setMessage(builderForValue.build()); + } + outputResultCase_ = 15; + return this; + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public Builder mergeFullOutputs(flyteidl.core.Literals.OutputData value) { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 15 && + outputResult_ != flyteidl.core.Literals.OutputData.getDefaultInstance()) { + outputResult_ = flyteidl.core.Literals.OutputData.newBuilder((flyteidl.core.Literals.OutputData) outputResult_) + .mergeFrom(value).buildPartial(); + } else { + outputResult_ = value; + } + onChanged(); + } else { + if (outputResultCase_ == 15) { + fullOutputsBuilder_.mergeFrom(value); + } + fullOutputsBuilder_.setMessage(value); + } + outputResultCase_ = 15; + return this; + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public Builder clearFullOutputs() { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 15) { + outputResultCase_ = 0; + outputResult_ = null; + onChanged(); + } + } else { + if (outputResultCase_ == 15) { + outputResultCase_ = 0; + outputResult_ = null; + } + fullOutputsBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public flyteidl.core.Literals.OutputData.Builder getFullOutputsBuilder() { + return getFullOutputsFieldBuilder().getBuilder(); + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder() { + if ((outputResultCase_ == 15) && (fullOutputsBuilder_ != null)) { + return fullOutputsBuilder_.getMessageOrBuilder(); + } else { + if (outputResultCase_ == 15) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this execution.
+       * DEPRECATED. Use GetExecutionData to fetch output data instead.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 15; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getFullOutputsFieldBuilder() { + if (fullOutputsBuilder_ == null) { + if (!(outputResultCase_ == 15)) { + outputResult_ = flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + fullOutputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + (flyteidl.core.Literals.OutputData) outputResult_, + getParentForChildren(), + isClean()); + outputResult_ = null; + } + outputResultCase_ = 15; + onChanged();; + return fullOutputsBuilder_; + } + private flyteidl.core.Literals.LiteralMap computedInputs_; private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> computedInputsBuilder_; @@ -12831,9 +13123,9 @@ public com.google.protobuf.TimestampOrBuilder getUpdatedAtOrBuilder() { private java.util.List notifications_ = java.util.Collections.emptyList(); private void ensureNotificationsIsMutable() { - if (!((bitField0_ & 0x00000800) != 0)) { + if (!((bitField0_ & 0x00001000) != 0)) { notifications_ = new java.util.ArrayList(notifications_); - bitField0_ |= 0x00000800; + bitField0_ |= 0x00001000; } } @@ -13049,7 +13341,7 @@ public Builder addAllNotifications( public Builder clearNotifications() { if (notificationsBuilder_ == null) { notifications_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000800); + bitField0_ = (bitField0_ & ~0x00001000); onChanged(); } else { notificationsBuilder_.clear(); @@ -13168,7 +13460,7 @@ public flyteidl.admin.Common.Notification.Builder addNotificationsBuilder( notificationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< flyteidl.admin.Common.Notification, flyteidl.admin.Common.Notification.Builder, flyteidl.admin.Common.NotificationOrBuilder>( notifications_, - ((bitField0_ & 0x00000800) != 0), + ((bitField0_ & 0x00001000) != 0), getParentForChildren(), isClean()); notifications_ = null; @@ -29306,91 +29598,92 @@ public flyteidl.admin.ExecutionOuterClass.WorkflowExecutionGetMetricsResponse ge "teralMapBlob\022/\n\006values\030\001 \001(\0132\031.flyteidl." + "core.LiteralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004" + "data\"1\n\rAbortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\t" + - "principal\030\002 \001(\t\"\360\005\n\020ExecutionClosure\0225\n\007" + + "principal\030\002 \001(\t\"\243\006\n\020ExecutionClosure\0225\n\007" + "outputs\030\001 \001(\0132\036.flyteidl.admin.LiteralMa" + "pBlobB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.co" + "re.ExecutionErrorH\000\022\031\n\013abort_cause\030\n \001(\t" + "B\002\030\001H\000\0227\n\016abort_metadata\030\014 \001(\0132\035.flyteid" + "l.admin.AbortMetadataH\000\0224\n\013output_data\030\r" + - " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000\0226\n" + - "\017computed_inputs\030\003 \001(\0132\031.flyteidl.core.L" + - "iteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyteidl." + - "core.WorkflowExecution.Phase\022.\n\nstarted_" + - "at\030\005 \001(\0132\032.google.protobuf.Timestamp\022+\n\010" + - "duration\030\006 \001(\0132\031.google.protobuf.Duratio" + - "n\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." + - "Timestamp\022.\n\nupdated_at\030\010 \001(\0132\032.google.p" + - "rotobuf.Timestamp\0223\n\rnotifications\030\t \003(\013" + - "2\034.flyteidl.admin.Notification\022.\n\013workfl" + - "ow_id\030\013 \001(\0132\031.flyteidl.core.Identifier\022I" + - "\n\024state_change_details\030\016 \001(\0132+.flyteidl." + - "admin.ExecutionStateChangeDetailsB\017\n\rout" + - "put_result\">\n\016SystemMetadata\022\031\n\021executio" + - "n_cluster\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\332\003\n\021E" + - "xecutionMetadata\022=\n\004mode\030\001 \001(\0162/.flyteid" + - "l.admin.ExecutionMetadata.ExecutionMode\022" + - "\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\0220\n\014s" + - "cheduled_at\030\004 \001(\0132\032.google.protobuf.Time" + - "stamp\022E\n\025parent_node_execution\030\005 \001(\0132&.f" + - "lyteidl.core.NodeExecutionIdentifier\022G\n\023" + - "reference_execution\030\020 \001(\0132*.flyteidl.cor" + - "e.WorkflowExecutionIdentifier\0227\n\017system_" + - "metadata\030\021 \001(\0132\036.flyteidl.admin.SystemMe" + - "tadata\"g\n\rExecutionMode\022\n\n\006MANUAL\020\000\022\r\n\tS" + - "CHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016" + - "CHILD_WORKFLOW\020\004\022\r\n\tRECOVERED\020\005\"G\n\020Notif" + - "icationList\0223\n\rnotifications\030\001 \003(\0132\034.fly" + - "teidl.admin.Notification\"\262\006\n\rExecutionSp" + - "ec\022.\n\013launch_plan\030\001 \001(\0132\031.flyteidl.core." + - "Identifier\022-\n\006inputs\030\002 \001(\0132\031.flyteidl.co" + - "re.LiteralMapB\002\030\001\0223\n\010metadata\030\003 \001(\0132!.fl" + - "yteidl.admin.ExecutionMetadata\0229\n\rnotifi" + - "cations\030\005 \001(\0132 .flyteidl.admin.Notificat" + - "ionListH\000\022\025\n\013disable_all\030\006 \001(\010H\000\022&\n\006labe" + - "ls\030\007 \001(\0132\026.flyteidl.admin.Labels\0220\n\013anno" + - "tations\030\010 \001(\0132\033.flyteidl.admin.Annotatio" + - "ns\0228\n\020security_context\030\n \001(\0132\036.flyteidl." + - "core.SecurityContext\022/\n\tauth_role\030\020 \001(\0132" + - "\030.flyteidl.admin.AuthRoleB\002\030\001\022;\n\022quality" + - "_of_service\030\021 \001(\0132\037.flyteidl.core.Qualit" + - "yOfService\022\027\n\017max_parallelism\030\022 \001(\005\022C\n\026r" + - "aw_output_data_config\030\023 \001(\0132#.flyteidl.a" + - "dmin.RawOutputDataConfig\022=\n\022cluster_assi" + - "gnment\030\024 \001(\0132!.flyteidl.admin.ClusterAss" + - "ignment\0221\n\rinterruptible\030\025 \001(\0132\032.google." + - "protobuf.BoolValue\022\027\n\017overwrite_cache\030\026 " + - "\001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteidl.admin.Envs\022" + - "\014\n\004tags\030\030 \003(\tB\030\n\026notification_overridesJ" + - "\004\010\004\020\005\"b\n\031ExecutionTerminateRequest\0226\n\002id" + - "\030\001 \001(\0132*.flyteidl.core.WorkflowExecution" + - "Identifier\022\r\n\005cause\030\002 \001(\t\"\034\n\032ExecutionTe" + - "rminateResponse\"Y\n\037WorkflowExecutionGetD" + - "ataRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.W" + - "orkflowExecutionIdentifier\"\304\002\n WorkflowE" + - "xecutionGetDataResponse\022,\n\007outputs\030\001 \001(\013" + - "2\027.flyteidl.admin.UrlBlobB\002\030\001\022+\n\006inputs\030" + - "\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\0222\n\013fu" + - "ll_inputs\030\003 \001(\0132\031.flyteidl.core.LiteralM" + - "apB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyteidl." + - "core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005 \001(\0132" + - "\030.flyteidl.core.InputData\022.\n\013output_data" + - "\030\006 \001(\0132\031.flyteidl.core.OutputData\"\177\n\026Exe" + - "cutionUpdateRequest\0226\n\002id\030\001 \001(\0132*.flytei" + - "dl.core.WorkflowExecutionIdentifier\022-\n\005s" + - "tate\030\002 \001(\0162\036.flyteidl.admin.ExecutionSta" + - "te\"\220\001\n\033ExecutionStateChangeDetails\022-\n\005st" + - "ate\030\001 \001(\0162\036.flyteidl.admin.ExecutionStat" + - "e\022/\n\013occurred_at\030\002 \001(\0132\032.google.protobuf" + - ".Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n\027Executi" + - "onUpdateResponse\"k\n\"WorkflowExecutionGet" + - "MetricsRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.co" + - "re.WorkflowExecutionIdentifier\022\r\n\005depth\030" + - "\002 \001(\005\"H\n#WorkflowExecutionGetMetricsResp" + - "onse\022!\n\004span\030\001 \001(\0132\023.flyteidl.core.Span*" + - ">\n\016ExecutionState\022\024\n\020EXECUTION_ACTIVE\020\000\022" + - "\026\n\022EXECUTION_ARCHIVED\020\001B=Z;github.com/fl" + - "yteorg/flyte/flyteidl/gen/pb-go/flyteidl" + - "/adminb\006proto3" + " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000\0221\n" + + "\014full_outputs\030\017 \001(\0132\031.flyteidl.core.Outp" + + "utDataH\000\0226\n\017computed_inputs\030\003 \001(\0132\031.flyt" + + "eidl.core.LiteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162" + + "&.flyteidl.core.WorkflowExecution.Phase\022" + + ".\n\nstarted_at\030\005 \001(\0132\032.google.protobuf.Ti" + + "mestamp\022+\n\010duration\030\006 \001(\0132\031.google.proto" + + "buf.Duration\022.\n\ncreated_at\030\007 \001(\0132\032.googl" + + "e.protobuf.Timestamp\022.\n\nupdated_at\030\010 \001(\013" + + "2\032.google.protobuf.Timestamp\0223\n\rnotifica" + + "tions\030\t \003(\0132\034.flyteidl.admin.Notificatio" + + "n\022.\n\013workflow_id\030\013 \001(\0132\031.flyteidl.core.I" + + "dentifier\022I\n\024state_change_details\030\016 \001(\0132" + + "+.flyteidl.admin.ExecutionStateChangeDet" + + "ailsB\017\n\routput_result\">\n\016SystemMetadata\022" + + "\031\n\021execution_cluster\030\001 \001(\t\022\021\n\tnamespace\030" + + "\002 \001(\t\"\332\003\n\021ExecutionMetadata\022=\n\004mode\030\001 \001(" + + "\0162/.flyteidl.admin.ExecutionMetadata.Exe" + + "cutionMode\022\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting" + + "\030\003 \001(\r\0220\n\014scheduled_at\030\004 \001(\0132\032.google.pr" + + "otobuf.Timestamp\022E\n\025parent_node_executio" + + "n\030\005 \001(\0132&.flyteidl.core.NodeExecutionIde" + + "ntifier\022G\n\023reference_execution\030\020 \001(\0132*.f" + + "lyteidl.core.WorkflowExecutionIdentifier" + + "\0227\n\017system_metadata\030\021 \001(\0132\036.flyteidl.adm" + + "in.SystemMetadata\"g\n\rExecutionMode\022\n\n\006MA" + + "NUAL\020\000\022\r\n\tSCHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010REL" + + "AUNCH\020\003\022\022\n\016CHILD_WORKFLOW\020\004\022\r\n\tRECOVERED" + + "\020\005\"G\n\020NotificationList\0223\n\rnotifications\030" + + "\001 \003(\0132\034.flyteidl.admin.Notification\"\262\006\n\r" + + "ExecutionSpec\022.\n\013launch_plan\030\001 \001(\0132\031.fly" + + "teidl.core.Identifier\022-\n\006inputs\030\002 \001(\0132\031." + + "flyteidl.core.LiteralMapB\002\030\001\0223\n\010metadata" + + "\030\003 \001(\0132!.flyteidl.admin.ExecutionMetadat" + + "a\0229\n\rnotifications\030\005 \001(\0132 .flyteidl.admi" + + "n.NotificationListH\000\022\025\n\013disable_all\030\006 \001(" + + "\010H\000\022&\n\006labels\030\007 \001(\0132\026.flyteidl.admin.Lab" + + "els\0220\n\013annotations\030\010 \001(\0132\033.flyteidl.admi" + + "n.Annotations\0228\n\020security_context\030\n \001(\0132" + + "\036.flyteidl.core.SecurityContext\022/\n\tauth_" + + "role\030\020 \001(\0132\030.flyteidl.admin.AuthRoleB\002\030\001" + + "\022;\n\022quality_of_service\030\021 \001(\0132\037.flyteidl." + + "core.QualityOfService\022\027\n\017max_parallelism" + + "\030\022 \001(\005\022C\n\026raw_output_data_config\030\023 \001(\0132#" + + ".flyteidl.admin.RawOutputDataConfig\022=\n\022c" + + "luster_assignment\030\024 \001(\0132!.flyteidl.admin" + + ".ClusterAssignment\0221\n\rinterruptible\030\025 \001(" + + "\0132\032.google.protobuf.BoolValue\022\027\n\017overwri" + + "te_cache\030\026 \001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteidl." + + "admin.Envs\022\014\n\004tags\030\030 \003(\tB\030\n\026notification" + + "_overridesJ\004\010\004\020\005\"b\n\031ExecutionTerminateRe" + + "quest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workfl" + + "owExecutionIdentifier\022\r\n\005cause\030\002 \001(\t\"\034\n\032" + + "ExecutionTerminateResponse\"Y\n\037WorkflowEx" + + "ecutionGetDataRequest\0226\n\002id\030\001 \001(\0132*.flyt" + + "eidl.core.WorkflowExecutionIdentifier\"\304\002" + + "\n WorkflowExecutionGetDataResponse\022,\n\007ou" + + "tputs\030\001 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001" + + "\022+\n\006inputs\030\002 \001(\0132\027.flyteidl.admin.UrlBlo" + + "bB\002\030\001\0222\n\013full_inputs\030\003 \001(\0132\031.flyteidl.co" + + "re.LiteralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132" + + "\031.flyteidl.core.LiteralMapB\002\030\001\022,\n\ninput_" + + "data\030\005 \001(\0132\030.flyteidl.core.InputData\022.\n\013" + + "output_data\030\006 \001(\0132\031.flyteidl.core.Output" + + "Data\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001" + + "(\0132*.flyteidl.core.WorkflowExecutionIden" + + "tifier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.E" + + "xecutionState\"\220\001\n\033ExecutionStateChangeDe" + + "tails\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin.Ex" + + "ecutionState\022/\n\013occurred_at\030\002 \001(\0132\032.goog" + + "le.protobuf.Timestamp\022\021\n\tprincipal\030\003 \001(\t" + + "\"\031\n\027ExecutionUpdateResponse\"k\n\"WorkflowE" + + "xecutionGetMetricsRequest\0226\n\002id\030\001 \001(\0132*." + + "flyteidl.core.WorkflowExecutionIdentifie" + + "r\022\r\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionGet" + + "MetricsResponse\022!\n\004span\030\001 \001(\0132\023.flyteidl" + + ".core.Span*>\n\016ExecutionState\022\024\n\020EXECUTIO" + + "N_ACTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;gi" + + "thub.com/flyteorg/flyte/flyteidl/gen/pb-" + + "go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -29473,7 +29766,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ExecutionClosure_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ExecutionClosure_descriptor, - new java.lang.String[] { "Outputs", "Error", "AbortCause", "AbortMetadata", "OutputData", "ComputedInputs", "Phase", "StartedAt", "Duration", "CreatedAt", "UpdatedAt", "Notifications", "WorkflowId", "StateChangeDetails", "OutputResult", }); + new java.lang.String[] { "Outputs", "Error", "AbortCause", "AbortMetadata", "OutputData", "FullOutputs", "ComputedInputs", "Phase", "StartedAt", "Duration", "CreatedAt", "UpdatedAt", "Notifications", "WorkflowId", "StateChangeDetails", "OutputResult", }); internal_static_flyteidl_admin_SystemMetadata_descriptor = getDescriptor().getMessageTypes().get(10); internal_static_flyteidl_admin_SystemMetadata_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java index 7086dfdb99..d877926648 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/NodeExecutionOuterClass.java @@ -7158,6 +7158,31 @@ public interface NodeExecutionClosureOrBuilder extends */ @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder(); + /** + *
+     * Raw output data produced by this node execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + boolean hasFullOutputs(); + /** + *
+     * Raw output data produced by this node execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + flyteidl.core.Literals.OutputData getFullOutputs(); + /** + *
+     * Raw output data produced by this node execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder(); + /** *
      * The last recorded phase for this node execution.
@@ -7523,6 +7548,20 @@ private NodeExecutionClosure(
               dynamicJobSpecUri_ = s;
               break;
             }
+            case 106: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
+              if (outputResultCase_ == 13) {
+                subBuilder = ((flyteidl.core.Literals.OutputData) outputResult_).toBuilder();
+              }
+              outputResult_ =
+                  input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom((flyteidl.core.Literals.OutputData) outputResult_);
+                outputResult_ = subBuilder.buildPartial();
+              }
+              outputResultCase_ = 13;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -7562,6 +7601,7 @@ public enum OutputResultCase
       @java.lang.Deprecated OUTPUT_URI(1),
       ERROR(2),
       @java.lang.Deprecated OUTPUT_DATA(10),
+      FULL_OUTPUTS(13),
       OUTPUTRESULT_NOT_SET(0);
       private final int value;
       private OutputResultCase(int value) {
@@ -7580,6 +7620,7 @@ public static OutputResultCase forNumber(int value) {
           case 1: return OUTPUT_URI;
           case 2: return ERROR;
           case 10: return OUTPUT_DATA;
+          case 13: return FULL_OUTPUTS;
           case 0: return OUTPUTRESULT_NOT_SET;
           default: return null;
         }
@@ -7765,6 +7806,44 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() {
       return flyteidl.core.Literals.LiteralMap.getDefaultInstance();
     }
 
+    public static final int FULL_OUTPUTS_FIELD_NUMBER = 13;
+    /**
+     * 
+     * Raw output data produced by this node execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public boolean hasFullOutputs() { + return outputResultCase_ == 13; + } + /** + *
+     * Raw output data produced by this node execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public flyteidl.core.Literals.OutputData getFullOutputs() { + if (outputResultCase_ == 13) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + /** + *
+     * Raw output data produced by this node execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder() { + if (outputResultCase_ == 13) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + public static final int PHASE_FIELD_NUMBER = 3; private int phase_; /** @@ -8112,6 +8191,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getDynamicJobSpecUriBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 12, dynamicJobSpecUri_); } + if (outputResultCase_ == 13) { + output.writeMessage(13, (flyteidl.core.Literals.OutputData) outputResult_); + } unknownFields.writeTo(output); } @@ -8166,6 +8248,10 @@ public int getSerializedSize() { if (!getDynamicJobSpecUriBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, dynamicJobSpecUri_); } + if (outputResultCase_ == 13) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(13, (flyteidl.core.Literals.OutputData) outputResult_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -8220,6 +8306,10 @@ public boolean equals(final java.lang.Object obj) { if (!getOutputData() .equals(other.getOutputData())) return false; break; + case 13: + if (!getFullOutputs() + .equals(other.getFullOutputs())) return false; + break; case 0: default: } @@ -8282,6 +8372,10 @@ public int hashCode() { hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; hash = (53 * hash) + getOutputData().hashCode(); break; + case 13: + hash = (37 * hash) + FULL_OUTPUTS_FIELD_NUMBER; + hash = (53 * hash) + getFullOutputs().hashCode(); + break; case 0: default: } @@ -8511,6 +8605,13 @@ public flyteidl.admin.NodeExecutionOuterClass.NodeExecutionClosure buildPartial( result.outputResult_ = outputDataBuilder_.build(); } } + if (outputResultCase_ == 13) { + if (fullOutputsBuilder_ == null) { + result.outputResult_ = outputResult_; + } else { + result.outputResult_ = fullOutputsBuilder_.build(); + } + } result.phase_ = phase_; if (startedAtBuilder_ == null) { result.startedAt_ = startedAt_; @@ -8636,6 +8737,10 @@ public Builder mergeFrom(flyteidl.admin.NodeExecutionOuterClass.NodeExecutionClo mergeOutputData(other.getOutputData()); break; } + case FULL_OUTPUTS: { + mergeFullOutputs(other.getFullOutputs()); + break; + } case OUTPUTRESULT_NOT_SET: { break; } @@ -9170,6 +9275,178 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() { return outputDataBuilder_; } + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> fullOutputsBuilder_; + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public boolean hasFullOutputs() { + return outputResultCase_ == 13; + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public flyteidl.core.Literals.OutputData getFullOutputs() { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 13) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } else { + if (outputResultCase_ == 13) { + return fullOutputsBuilder_.getMessage(); + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public Builder setFullOutputs(flyteidl.core.Literals.OutputData value) { + if (fullOutputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputResult_ = value; + onChanged(); + } else { + fullOutputsBuilder_.setMessage(value); + } + outputResultCase_ = 13; + return this; + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public Builder setFullOutputs( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (fullOutputsBuilder_ == null) { + outputResult_ = builderForValue.build(); + onChanged(); + } else { + fullOutputsBuilder_.setMessage(builderForValue.build()); + } + outputResultCase_ = 13; + return this; + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public Builder mergeFullOutputs(flyteidl.core.Literals.OutputData value) { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 13 && + outputResult_ != flyteidl.core.Literals.OutputData.getDefaultInstance()) { + outputResult_ = flyteidl.core.Literals.OutputData.newBuilder((flyteidl.core.Literals.OutputData) outputResult_) + .mergeFrom(value).buildPartial(); + } else { + outputResult_ = value; + } + onChanged(); + } else { + if (outputResultCase_ == 13) { + fullOutputsBuilder_.mergeFrom(value); + } + fullOutputsBuilder_.setMessage(value); + } + outputResultCase_ = 13; + return this; + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public Builder clearFullOutputs() { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 13) { + outputResultCase_ = 0; + outputResult_ = null; + onChanged(); + } + } else { + if (outputResultCase_ == 13) { + outputResultCase_ = 0; + outputResult_ = null; + } + fullOutputsBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public flyteidl.core.Literals.OutputData.Builder getFullOutputsBuilder() { + return getFullOutputsFieldBuilder().getBuilder(); + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder() { + if ((outputResultCase_ == 13) && (fullOutputsBuilder_ != null)) { + return fullOutputsBuilder_.getMessageOrBuilder(); + } else { + if (outputResultCase_ == 13) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this node execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 13; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getFullOutputsFieldBuilder() { + if (fullOutputsBuilder_ == null) { + if (!(outputResultCase_ == 13)) { + outputResult_ = flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + fullOutputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + (flyteidl.core.Literals.OutputData) outputResult_, + getParentForChildren(), + isClean()); + outputResult_ = null; + } + outputResultCase_ = 13; + onChanged();; + return fullOutputsBuilder_; + } + private int phase_ = 0; /** *
@@ -16347,47 +16624,48 @@ public flyteidl.admin.NodeExecutionOuterClass.NodeExecutionGetDataResponse getDe
       "\nis_dynamic\030\004 \001(\010\022\020\n\010is_array\030\005 \001(\010\"Z\n\021N" +
       "odeExecutionList\0226\n\017node_executions\030\001 \003(" +
       "\0132\035.flyteidl.admin.NodeExecution\022\r\n\005toke" +
-      "n\030\002 \001(\t\"\342\004\n\024NodeExecutionClosure\022\030\n\noutp" +
+      "n\030\002 \001(\t\"\225\005\n\024NodeExecutionClosure\022\030\n\noutp" +
       "ut_uri\030\001 \001(\tB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyt" +
       "eidl.core.ExecutionErrorH\000\0224\n\013output_dat" +
       "a\030\n \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000" +
-      "\0221\n\005phase\030\003 \001(\0162\".flyteidl.core.NodeExec" +
-      "ution.Phase\022.\n\nstarted_at\030\004 \001(\0132\032.google" +
-      ".protobuf.Timestamp\022+\n\010duration\030\005 \001(\0132\031." +
-      "google.protobuf.Duration\022.\n\ncreated_at\030\006" +
-      " \001(\0132\032.google.protobuf.Timestamp\022.\n\nupda" +
-      "ted_at\030\007 \001(\0132\032.google.protobuf.Timestamp" +
-      "\022F\n\026workflow_node_metadata\030\010 \001(\0132$.flyte" +
-      "idl.admin.WorkflowNodeMetadataH\001\022>\n\022task" +
-      "_node_metadata\030\t \001(\0132 .flyteidl.admin.Ta" +
-      "skNodeMetadataH\001\022\020\n\010deck_uri\030\013 \001(\t\022\034\n\024dy" +
-      "namic_job_spec_uri\030\014 \001(\tB\017\n\routput_resul" +
-      "tB\021\n\017target_metadata\"W\n\024WorkflowNodeMeta" +
-      "data\022?\n\013executionId\030\001 \001(\0132*.flyteidl.cor" +
-      "e.WorkflowExecutionIdentifier\"\230\001\n\020TaskNo" +
-      "deMetadata\0227\n\014cache_status\030\001 \001(\0162!.flyte" +
-      "idl.core.CatalogCacheStatus\0223\n\013catalog_k" +
-      "ey\030\002 \001(\0132\036.flyteidl.core.CatalogMetadata" +
-      "\022\026\n\016checkpoint_uri\030\004 \001(\t\"\245\001\n\033DynamicWork" +
-      "flowNodeMetadata\022%\n\002id\030\001 \001(\0132\031.flyteidl." +
-      "core.Identifier\022A\n\021compiled_workflow\030\002 \001" +
-      "(\0132&.flyteidl.core.CompiledWorkflowClosu" +
-      "re\022\034\n\024dynamic_job_spec_uri\030\003 \001(\t\"Q\n\033Node" +
-      "ExecutionGetDataRequest\0222\n\002id\030\001 \001(\0132&.fl" +
-      "yteidl.core.NodeExecutionIdentifier\"\266\003\n\034" +
-      "NodeExecutionGetDataResponse\022+\n\006inputs\030\001" +
-      " \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022,\n\007out" +
-      "puts\030\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022" +
-      "2\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lit" +
-      "eralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyt" +
-      "eidl.core.LiteralMapB\002\030\001\022,\n\ninput_data\030\005" +
-      " \001(\0132\030.flyteidl.core.InputData\022.\n\013output" +
-      "_data\030\006 \001(\0132\031.flyteidl.core.OutputData\022E" +
-      "\n\020dynamic_workflow\030\020 \001(\0132+.flyteidl.admi" +
-      "n.DynamicWorkflowNodeMetadata\022-\n\nflyte_u" +
-      "rls\030\021 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;" +
-      "github.com/flyteorg/flyte/flyteidl/gen/p" +
-      "b-go/flyteidl/adminb\006proto3"
+      "\0221\n\014full_outputs\030\r \001(\0132\031.flyteidl.core.O" +
+      "utputDataH\000\0221\n\005phase\030\003 \001(\0162\".flyteidl.co" +
+      "re.NodeExecution.Phase\022.\n\nstarted_at\030\004 \001" +
+      "(\0132\032.google.protobuf.Timestamp\022+\n\010durati" +
+      "on\030\005 \001(\0132\031.google.protobuf.Duration\022.\n\nc" +
+      "reated_at\030\006 \001(\0132\032.google.protobuf.Timest" +
+      "amp\022.\n\nupdated_at\030\007 \001(\0132\032.google.protobu" +
+      "f.Timestamp\022F\n\026workflow_node_metadata\030\010 " +
+      "\001(\0132$.flyteidl.admin.WorkflowNodeMetadat" +
+      "aH\001\022>\n\022task_node_metadata\030\t \001(\0132 .flytei" +
+      "dl.admin.TaskNodeMetadataH\001\022\020\n\010deck_uri\030" +
+      "\013 \001(\t\022\034\n\024dynamic_job_spec_uri\030\014 \001(\tB\017\n\ro" +
+      "utput_resultB\021\n\017target_metadata\"W\n\024Workf" +
+      "lowNodeMetadata\022?\n\013executionId\030\001 \001(\0132*.f" +
+      "lyteidl.core.WorkflowExecutionIdentifier" +
+      "\"\230\001\n\020TaskNodeMetadata\0227\n\014cache_status\030\001 " +
+      "\001(\0162!.flyteidl.core.CatalogCacheStatus\0223" +
+      "\n\013catalog_key\030\002 \001(\0132\036.flyteidl.core.Cata" +
+      "logMetadata\022\026\n\016checkpoint_uri\030\004 \001(\t\"\245\001\n\033" +
+      "DynamicWorkflowNodeMetadata\022%\n\002id\030\001 \001(\0132" +
+      "\031.flyteidl.core.Identifier\022A\n\021compiled_w" +
+      "orkflow\030\002 \001(\0132&.flyteidl.core.CompiledWo" +
+      "rkflowClosure\022\034\n\024dynamic_job_spec_uri\030\003 " +
+      "\001(\t\"Q\n\033NodeExecutionGetDataRequest\0222\n\002id" +
+      "\030\001 \001(\0132&.flyteidl.core.NodeExecutionIden" +
+      "tifier\"\266\003\n\034NodeExecutionGetDataResponse\022" +
+      "+\n\006inputs\030\001 \001(\0132\027.flyteidl.admin.UrlBlob" +
+      "B\002\030\001\022,\n\007outputs\030\002 \001(\0132\027.flyteidl.admin.U" +
+      "rlBlobB\002\030\001\0222\n\013full_inputs\030\003 \001(\0132\031.flytei" +
+      "dl.core.LiteralMapB\002\030\001\0223\n\014full_outputs\030\004" +
+      " \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001\022,\n\ni" +
+      "nput_data\030\005 \001(\0132\030.flyteidl.core.InputDat" +
+      "a\022.\n\013output_data\030\006 \001(\0132\031.flyteidl.core.O" +
+      "utputData\022E\n\020dynamic_workflow\030\020 \001(\0132+.fl" +
+      "yteidl.admin.DynamicWorkflowNodeMetadata" +
+      "\022-\n\nflyte_urls\030\021 \001(\0132\031.flyteidl.admin.Fl" +
+      "yteURLsB=Z;github.com/flyteorg/flyte/fly" +
+      "teidl/gen/pb-go/flyteidl/adminb\006proto3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
         new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
@@ -16450,7 +16728,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors(
     internal_static_flyteidl_admin_NodeExecutionClosure_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_flyteidl_admin_NodeExecutionClosure_descriptor,
-        new java.lang.String[] { "OutputUri", "Error", "OutputData", "Phase", "StartedAt", "Duration", "CreatedAt", "UpdatedAt", "WorkflowNodeMetadata", "TaskNodeMetadata", "DeckUri", "DynamicJobSpecUri", "OutputResult", "TargetMetadata", });
+        new java.lang.String[] { "OutputUri", "Error", "OutputData", "FullOutputs", "Phase", "StartedAt", "Duration", "CreatedAt", "UpdatedAt", "WorkflowNodeMetadata", "TaskNodeMetadata", "DeckUri", "DynamicJobSpecUri", "OutputResult", "TargetMetadata", });
     internal_static_flyteidl_admin_WorkflowNodeMetadata_descriptor =
       getDescriptor().getMessageTypes().get(7);
     internal_static_flyteidl_admin_WorkflowNodeMetadata_fieldAccessorTable = new
diff --git a/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java
index 93f4129994..e01c00b629 100644
--- a/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java
+++ b/flyteidl/gen/pb-java/flyteidl/admin/TaskExecutionOuterClass.java
@@ -4375,6 +4375,31 @@ public interface TaskExecutionClosureOrBuilder extends
      */
     @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getOutputDataOrBuilder();
 
+    /**
+     * 
+     * Raw output data produced by this task execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + boolean hasFullOutputs(); + /** + *
+     * Raw output data produced by this task execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + flyteidl.core.Literals.OutputData getFullOutputs(); + /** + *
+     * Raw output data produced by this task execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder(); + /** *
      * The last recorded phase for this task execution.
@@ -4760,9 +4785,9 @@ private TaskExecutionClosure(
               break;
             }
             case 34: {
-              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
+              if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                 logs_ = new java.util.ArrayList();
-                mutable_bitField0_ |= 0x00000010;
+                mutable_bitField0_ |= 0x00000020;
               }
               logs_.add(
                   input.readMessage(flyteidl.core.Execution.TaskLog.parser(), extensionRegistry));
@@ -4878,14 +4903,28 @@ private TaskExecutionClosure(
               break;
             }
             case 146: {
-              if (!((mutable_bitField0_ & 0x00004000) != 0)) {
+              if (!((mutable_bitField0_ & 0x00008000) != 0)) {
                 reasons_ = new java.util.ArrayList();
-                mutable_bitField0_ |= 0x00004000;
+                mutable_bitField0_ |= 0x00008000;
               }
               reasons_.add(
                   input.readMessage(flyteidl.admin.TaskExecutionOuterClass.Reason.parser(), extensionRegistry));
               break;
             }
+            case 154: {
+              flyteidl.core.Literals.OutputData.Builder subBuilder = null;
+              if (outputResultCase_ == 19) {
+                subBuilder = ((flyteidl.core.Literals.OutputData) outputResult_).toBuilder();
+              }
+              outputResult_ =
+                  input.readMessage(flyteidl.core.Literals.OutputData.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom((flyteidl.core.Literals.OutputData) outputResult_);
+                outputResult_ = subBuilder.buildPartial();
+              }
+              outputResultCase_ = 19;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -4901,10 +4940,10 @@ private TaskExecutionClosure(
         throw new com.google.protobuf.InvalidProtocolBufferException(
             e).setUnfinishedMessage(this);
       } finally {
-        if (((mutable_bitField0_ & 0x00000010) != 0)) {
+        if (((mutable_bitField0_ & 0x00000020) != 0)) {
           logs_ = java.util.Collections.unmodifiableList(logs_);
         }
-        if (((mutable_bitField0_ & 0x00004000) != 0)) {
+        if (((mutable_bitField0_ & 0x00008000) != 0)) {
           reasons_ = java.util.Collections.unmodifiableList(reasons_);
         }
         this.unknownFields = unknownFields.build();
@@ -4932,6 +4971,7 @@ public enum OutputResultCase
       @java.lang.Deprecated OUTPUT_URI(1),
       ERROR(2),
       @java.lang.Deprecated OUTPUT_DATA(12),
+      FULL_OUTPUTS(19),
       OUTPUTRESULT_NOT_SET(0);
       private final int value;
       private OutputResultCase(int value) {
@@ -4950,6 +4990,7 @@ public static OutputResultCase forNumber(int value) {
           case 1: return OUTPUT_URI;
           case 2: return ERROR;
           case 12: return OUTPUT_DATA;
+          case 19: return FULL_OUTPUTS;
           case 0: return OUTPUTRESULT_NOT_SET;
           default: return null;
         }
@@ -5097,6 +5138,44 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() {
       return flyteidl.core.Literals.LiteralMap.getDefaultInstance();
     }
 
+    public static final int FULL_OUTPUTS_FIELD_NUMBER = 19;
+    /**
+     * 
+     * Raw output data produced by this task execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public boolean hasFullOutputs() { + return outputResultCase_ == 19; + } + /** + *
+     * Raw output data produced by this task execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public flyteidl.core.Literals.OutputData getFullOutputs() { + if (outputResultCase_ == 19) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + /** + *
+     * Raw output data produced by this task execution.
+     * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder() { + if (outputResultCase_ == 19) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + public static final int PHASE_FIELD_NUMBER = 3; private int phase_; /** @@ -5594,6 +5673,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) for (int i = 0; i < reasons_.size(); i++) { output.writeMessage(18, reasons_.get(i)); } + if (outputResultCase_ == 19) { + output.writeMessage(19, (flyteidl.core.Literals.OutputData) outputResult_); + } unknownFields.writeTo(output); } @@ -5660,6 +5742,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(18, reasons_.get(i)); } + if (outputResultCase_ == 19) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(19, (flyteidl.core.Literals.OutputData) outputResult_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -5730,6 +5816,10 @@ public boolean equals(final java.lang.Object obj) { if (!getOutputData() .equals(other.getOutputData())) return false; break; + case 19: + if (!getFullOutputs() + .equals(other.getFullOutputs())) return false; + break; case 0: default: } @@ -5797,6 +5887,10 @@ public int hashCode() { hash = (37 * hash) + OUTPUT_DATA_FIELD_NUMBER; hash = (53 * hash) + getOutputData().hashCode(); break; + case 19: + hash = (37 * hash) + FULL_OUTPUTS_FIELD_NUMBER; + hash = (53 * hash) + getFullOutputs().hashCode(); + break; case 0: default: } @@ -5943,7 +6037,7 @@ public Builder clear() { if (logsBuilder_ == null) { logs_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000020); } else { logsBuilder_.clear(); } @@ -5991,7 +6085,7 @@ public Builder clear() { if (reasonsBuilder_ == null) { reasons_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00004000); + bitField0_ = (bitField0_ & ~0x00008000); } else { reasonsBuilder_.clear(); } @@ -6042,11 +6136,18 @@ public flyteidl.admin.TaskExecutionOuterClass.TaskExecutionClosure buildPartial( result.outputResult_ = outputDataBuilder_.build(); } } + if (outputResultCase_ == 19) { + if (fullOutputsBuilder_ == null) { + result.outputResult_ = outputResult_; + } else { + result.outputResult_ = fullOutputsBuilder_.build(); + } + } result.phase_ = phase_; if (logsBuilder_ == null) { - if (((bitField0_ & 0x00000010) != 0)) { + if (((bitField0_ & 0x00000020) != 0)) { logs_ = java.util.Collections.unmodifiableList(logs_); - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000020); } result.logs_ = logs_; } else { @@ -6086,9 +6187,9 @@ public flyteidl.admin.TaskExecutionOuterClass.TaskExecutionClosure buildPartial( } result.eventVersion_ = eventVersion_; if (reasonsBuilder_ == null) { - if (((bitField0_ & 0x00004000) != 0)) { + if (((bitField0_ & 0x00008000) != 0)) { reasons_ = java.util.Collections.unmodifiableList(reasons_); - bitField0_ = (bitField0_ & ~0x00004000); + bitField0_ = (bitField0_ & ~0x00008000); } result.reasons_ = reasons_; } else { @@ -6151,7 +6252,7 @@ public Builder mergeFrom(flyteidl.admin.TaskExecutionOuterClass.TaskExecutionClo if (!other.logs_.isEmpty()) { if (logs_.isEmpty()) { logs_ = other.logs_; - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000020); } else { ensureLogsIsMutable(); logs_.addAll(other.logs_); @@ -6164,7 +6265,7 @@ public Builder mergeFrom(flyteidl.admin.TaskExecutionOuterClass.TaskExecutionClo logsBuilder_.dispose(); logsBuilder_ = null; logs_ = other.logs_; - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000020); logsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLogsFieldBuilder() : null; @@ -6206,7 +6307,7 @@ public Builder mergeFrom(flyteidl.admin.TaskExecutionOuterClass.TaskExecutionClo if (!other.reasons_.isEmpty()) { if (reasons_.isEmpty()) { reasons_ = other.reasons_; - bitField0_ = (bitField0_ & ~0x00004000); + bitField0_ = (bitField0_ & ~0x00008000); } else { ensureReasonsIsMutable(); reasons_.addAll(other.reasons_); @@ -6219,7 +6320,7 @@ public Builder mergeFrom(flyteidl.admin.TaskExecutionOuterClass.TaskExecutionClo reasonsBuilder_.dispose(); reasonsBuilder_ = null; reasons_ = other.reasons_; - bitField0_ = (bitField0_ & ~0x00004000); + bitField0_ = (bitField0_ & ~0x00008000); reasonsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getReasonsFieldBuilder() : null; @@ -6243,6 +6344,10 @@ public Builder mergeFrom(flyteidl.admin.TaskExecutionOuterClass.TaskExecutionClo mergeOutputData(other.getOutputData()); break; } + case FULL_OUTPUTS: { + mergeFullOutputs(other.getFullOutputs()); + break; + } case OUTPUTRESULT_NOT_SET: { break; } @@ -6750,6 +6855,178 @@ public flyteidl.core.Execution.ExecutionErrorOrBuilder getErrorOrBuilder() { return outputDataBuilder_; } + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> fullOutputsBuilder_; + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public boolean hasFullOutputs() { + return outputResultCase_ == 19; + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public flyteidl.core.Literals.OutputData getFullOutputs() { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 19) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } else { + if (outputResultCase_ == 19) { + return fullOutputsBuilder_.getMessage(); + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public Builder setFullOutputs(flyteidl.core.Literals.OutputData value) { + if (fullOutputsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + outputResult_ = value; + onChanged(); + } else { + fullOutputsBuilder_.setMessage(value); + } + outputResultCase_ = 19; + return this; + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public Builder setFullOutputs( + flyteidl.core.Literals.OutputData.Builder builderForValue) { + if (fullOutputsBuilder_ == null) { + outputResult_ = builderForValue.build(); + onChanged(); + } else { + fullOutputsBuilder_.setMessage(builderForValue.build()); + } + outputResultCase_ = 19; + return this; + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public Builder mergeFullOutputs(flyteidl.core.Literals.OutputData value) { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 19 && + outputResult_ != flyteidl.core.Literals.OutputData.getDefaultInstance()) { + outputResult_ = flyteidl.core.Literals.OutputData.newBuilder((flyteidl.core.Literals.OutputData) outputResult_) + .mergeFrom(value).buildPartial(); + } else { + outputResult_ = value; + } + onChanged(); + } else { + if (outputResultCase_ == 19) { + fullOutputsBuilder_.mergeFrom(value); + } + fullOutputsBuilder_.setMessage(value); + } + outputResultCase_ = 19; + return this; + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public Builder clearFullOutputs() { + if (fullOutputsBuilder_ == null) { + if (outputResultCase_ == 19) { + outputResultCase_ = 0; + outputResult_ = null; + onChanged(); + } + } else { + if (outputResultCase_ == 19) { + outputResultCase_ = 0; + outputResult_ = null; + } + fullOutputsBuilder_.clear(); + } + return this; + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public flyteidl.core.Literals.OutputData.Builder getFullOutputsBuilder() { + return getFullOutputsFieldBuilder().getBuilder(); + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + public flyteidl.core.Literals.OutputDataOrBuilder getFullOutputsOrBuilder() { + if ((outputResultCase_ == 19) && (fullOutputsBuilder_ != null)) { + return fullOutputsBuilder_.getMessageOrBuilder(); + } else { + if (outputResultCase_ == 19) { + return (flyteidl.core.Literals.OutputData) outputResult_; + } + return flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + } + /** + *
+       * Raw output data produced by this task execution.
+       * 
+ * + * .flyteidl.core.OutputData full_outputs = 19; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder> + getFullOutputsFieldBuilder() { + if (fullOutputsBuilder_ == null) { + if (!(outputResultCase_ == 19)) { + outputResult_ = flyteidl.core.Literals.OutputData.getDefaultInstance(); + } + fullOutputsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.core.Literals.OutputData, flyteidl.core.Literals.OutputData.Builder, flyteidl.core.Literals.OutputDataOrBuilder>( + (flyteidl.core.Literals.OutputData) outputResult_, + getParentForChildren(), + isClean()); + outputResult_ = null; + } + outputResultCase_ = 19; + onChanged();; + return fullOutputsBuilder_; + } + private int phase_ = 0; /** *
@@ -6818,9 +7095,9 @@ public Builder clearPhase() {
       private java.util.List logs_ =
         java.util.Collections.emptyList();
       private void ensureLogsIsMutable() {
-        if (!((bitField0_ & 0x00000010) != 0)) {
+        if (!((bitField0_ & 0x00000020) != 0)) {
           logs_ = new java.util.ArrayList(logs_);
-          bitField0_ |= 0x00000010;
+          bitField0_ |= 0x00000020;
          }
       }
 
@@ -7014,7 +7291,7 @@ public Builder addAllLogs(
       public Builder clearLogs() {
         if (logsBuilder_ == null) {
           logs_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000010);
+          bitField0_ = (bitField0_ & ~0x00000020);
           onChanged();
         } else {
           logsBuilder_.clear();
@@ -7119,7 +7396,7 @@ public flyteidl.core.Execution.TaskLog.Builder addLogsBuilder(
           logsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
               flyteidl.core.Execution.TaskLog, flyteidl.core.Execution.TaskLog.Builder, flyteidl.core.Execution.TaskLogOrBuilder>(
                   logs_,
-                  ((bitField0_ & 0x00000010) != 0),
+                  ((bitField0_ & 0x00000020) != 0),
                   getParentForChildren(),
                   isClean());
           logs_ = null;
@@ -8273,9 +8550,9 @@ public Builder clearEventVersion() {
       private java.util.List reasons_ =
         java.util.Collections.emptyList();
       private void ensureReasonsIsMutable() {
-        if (!((bitField0_ & 0x00004000) != 0)) {
+        if (!((bitField0_ & 0x00008000) != 0)) {
           reasons_ = new java.util.ArrayList(reasons_);
-          bitField0_ |= 0x00004000;
+          bitField0_ |= 0x00008000;
          }
       }
 
@@ -8480,7 +8757,7 @@ public Builder addAllReasons(
       public Builder clearReasons() {
         if (reasonsBuilder_ == null) {
           reasons_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00004000);
+          bitField0_ = (bitField0_ & ~0x00008000);
           onChanged();
         } else {
           reasonsBuilder_.clear();
@@ -8592,7 +8869,7 @@ public flyteidl.admin.TaskExecutionOuterClass.Reason.Builder addReasonsBuilder(
           reasonsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
               flyteidl.admin.TaskExecutionOuterClass.Reason, flyteidl.admin.TaskExecutionOuterClass.Reason.Builder, flyteidl.admin.TaskExecutionOuterClass.ReasonOrBuilder>(
                   reasons_,
-                  ((bitField0_ & 0x00004000) != 0),
+                  ((bitField0_ & 0x00008000) != 0),
                   getParentForChildren(),
                   isClean());
           reasons_ = null;
@@ -12532,38 +12809,39 @@ public flyteidl.admin.TaskExecutionOuterClass.TaskExecutionGetDataResponse getDe
       "in.TaskExecutionClosure\022\021\n\tis_parent\030\004 \001" +
       "(\010\"Z\n\021TaskExecutionList\0226\n\017task_executio" +
       "ns\030\001 \003(\0132\035.flyteidl.admin.TaskExecution\022" +
-      "\r\n\005token\030\002 \001(\t\"\207\005\n\024TaskExecutionClosure\022" +
+      "\r\n\005token\030\002 \001(\t\"\272\005\n\024TaskExecutionClosure\022" +
       "\030\n\noutput_uri\030\001 \001(\tB\002\030\001H\000\022.\n\005error\030\002 \001(\013" +
       "2\035.flyteidl.core.ExecutionErrorH\000\0224\n\013out" +
       "put_data\030\014 \001(\0132\031.flyteidl.core.LiteralMa" +
-      "pB\002\030\001H\000\0221\n\005phase\030\003 \001(\0162\".flyteidl.core.T" +
-      "askExecution.Phase\022$\n\004logs\030\004 \003(\0132\026.flyte" +
-      "idl.core.TaskLog\022.\n\nstarted_at\030\005 \001(\0132\032.g" +
-      "oogle.protobuf.Timestamp\022+\n\010duration\030\006 \001" +
-      "(\0132\031.google.protobuf.Duration\022.\n\ncreated" +
-      "_at\030\007 \001(\0132\032.google.protobuf.Timestamp\022.\n" +
-      "\nupdated_at\030\010 \001(\0132\032.google.protobuf.Time" +
-      "stamp\022,\n\013custom_info\030\t \001(\0132\027.google.prot" +
-      "obuf.Struct\022\016\n\006reason\030\n \001(\t\022\021\n\ttask_type" +
-      "\030\013 \001(\t\0227\n\010metadata\030\020 \001(\0132%.flyteidl.even" +
-      "t.TaskExecutionMetadata\022\025\n\revent_version" +
-      "\030\021 \001(\005\022\'\n\007reasons\030\022 \003(\0132\026.flyteidl.admin" +
-      ".ReasonB\017\n\routput_result\"J\n\006Reason\022/\n\013oc" +
-      "curred_at\030\001 \001(\0132\032.google.protobuf.Timest" +
-      "amp\022\017\n\007message\030\002 \001(\t\"Q\n\033TaskExecutionGet" +
-      "DataRequest\0222\n\002id\030\001 \001(\0132&.flyteidl.core." +
-      "TaskExecutionIdentifier\"\357\002\n\034TaskExecutio" +
-      "nGetDataResponse\022+\n\006inputs\030\001 \001(\0132\027.flyte" +
-      "idl.admin.UrlBlobB\002\030\001\022,\n\007outputs\030\002 \001(\0132\027" +
-      ".flyteidl.admin.UrlBlobB\002\030\001\0222\n\013full_inpu" +
-      "ts\030\003 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001\022" +
-      "3\n\014full_outputs\030\004 \001(\0132\031.flyteidl.core.Li" +
-      "teralMapB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyte" +
-      "idl.core.InputData\022.\n\013output_data\030\007 \001(\0132" +
-      "\031.flyteidl.core.OutputData\022-\n\nflyte_urls" +
-      "\030\005 \001(\0132\031.flyteidl.admin.FlyteURLsB=Z;git" +
-      "hub.com/flyteorg/flyte/flyteidl/gen/pb-g" +
-      "o/flyteidl/adminb\006proto3"
+      "pB\002\030\001H\000\0221\n\014full_outputs\030\023 \001(\0132\031.flyteidl" +
+      ".core.OutputDataH\000\0221\n\005phase\030\003 \001(\0162\".flyt" +
+      "eidl.core.TaskExecution.Phase\022$\n\004logs\030\004 " +
+      "\003(\0132\026.flyteidl.core.TaskLog\022.\n\nstarted_a" +
+      "t\030\005 \001(\0132\032.google.protobuf.Timestamp\022+\n\010d" +
+      "uration\030\006 \001(\0132\031.google.protobuf.Duration" +
+      "\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf.T" +
+      "imestamp\022.\n\nupdated_at\030\010 \001(\0132\032.google.pr" +
+      "otobuf.Timestamp\022,\n\013custom_info\030\t \001(\0132\027." +
+      "google.protobuf.Struct\022\016\n\006reason\030\n \001(\t\022\021" +
+      "\n\ttask_type\030\013 \001(\t\0227\n\010metadata\030\020 \001(\0132%.fl" +
+      "yteidl.event.TaskExecutionMetadata\022\025\n\rev" +
+      "ent_version\030\021 \001(\005\022\'\n\007reasons\030\022 \003(\0132\026.fly" +
+      "teidl.admin.ReasonB\017\n\routput_result\"J\n\006R" +
+      "eason\022/\n\013occurred_at\030\001 \001(\0132\032.google.prot" +
+      "obuf.Timestamp\022\017\n\007message\030\002 \001(\t\"Q\n\033TaskE" +
+      "xecutionGetDataRequest\0222\n\002id\030\001 \001(\0132&.fly" +
+      "teidl.core.TaskExecutionIdentifier\"\357\002\n\034T" +
+      "askExecutionGetDataResponse\022+\n\006inputs\030\001 " +
+      "\001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\022,\n\007outp" +
+      "uts\030\002 \001(\0132\027.flyteidl.admin.UrlBlobB\002\030\001\0222" +
+      "\n\013full_inputs\030\003 \001(\0132\031.flyteidl.core.Lite" +
+      "ralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(\0132\031.flyte" +
+      "idl.core.LiteralMapB\002\030\001\022,\n\ninput_data\030\006 " +
+      "\001(\0132\030.flyteidl.core.InputData\022.\n\013output_" +
+      "data\030\007 \001(\0132\031.flyteidl.core.OutputData\022-\n" +
+      "\nflyte_urls\030\005 \001(\0132\031.flyteidl.admin.Flyte" +
+      "URLsB=Z;github.com/flyteorg/flyte/flytei" +
+      "dl/gen/pb-go/flyteidl/adminb\006proto3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
         new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
@@ -12614,7 +12892,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors(
     internal_static_flyteidl_admin_TaskExecutionClosure_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_flyteidl_admin_TaskExecutionClosure_descriptor,
-        new java.lang.String[] { "OutputUri", "Error", "OutputData", "Phase", "Logs", "StartedAt", "Duration", "CreatedAt", "UpdatedAt", "CustomInfo", "Reason", "TaskType", "Metadata", "EventVersion", "Reasons", "OutputResult", });
+        new java.lang.String[] { "OutputUri", "Error", "OutputData", "FullOutputs", "Phase", "Logs", "StartedAt", "Duration", "CreatedAt", "UpdatedAt", "CustomInfo", "Reason", "TaskType", "Metadata", "EventVersion", "Reasons", "OutputResult", });
     internal_static_flyteidl_admin_Reason_descriptor =
       getDescriptor().getMessageTypes().get(5);
     internal_static_flyteidl_admin_Reason_fieldAccessorTable = new
diff --git a/flyteidl/gen/pb-java/flyteidl/event/Event.java b/flyteidl/gen/pb-java/flyteidl/event/Event.java
index e474af525a..91b1053c1a 100644
--- a/flyteidl/gen/pb-java/flyteidl/event/Event.java
+++ b/flyteidl/gen/pb-java/flyteidl/event/Event.java
@@ -196,6 +196,11 @@ public interface WorkflowExecutionEventOrBuilder extends
      */
     flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder();
 
+    /**
+     * int32 event_version = 9;
+     */
+    int getEventVersion();
+
     public flyteidl.event.Event.WorkflowExecutionEvent.OutputResultCase getOutputResultCase();
   }
   /**
@@ -325,6 +330,11 @@ private WorkflowExecutionEvent(
               outputResultCase_ = 8;
               break;
             }
+            case 72: {
+
+              eventVersion_ = input.readInt32();
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -697,6 +707,15 @@ public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() {
       return flyteidl.core.Literals.OutputData.getDefaultInstance();
     }
 
+    public static final int EVENT_VERSION_FIELD_NUMBER = 9;
+    private int eventVersion_;
+    /**
+     * int32 event_version = 9;
+     */
+    public int getEventVersion() {
+      return eventVersion_;
+    }
+
     private byte memoizedIsInitialized = -1;
     @java.lang.Override
     public final boolean isInitialized() {
@@ -735,6 +754,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       if (outputResultCase_ == 8) {
         output.writeMessage(8, (flyteidl.core.Literals.OutputData) outputResult_);
       }
+      if (eventVersion_ != 0) {
+        output.writeInt32(9, eventVersion_);
+      }
       unknownFields.writeTo(output);
     }
 
@@ -774,6 +796,10 @@ public int getSerializedSize() {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(8, (flyteidl.core.Literals.OutputData) outputResult_);
       }
+      if (eventVersion_ != 0) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(9, eventVersion_);
+      }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
       return size;
@@ -802,6 +828,8 @@ public boolean equals(final java.lang.Object obj) {
         if (!getOccurredAt()
             .equals(other.getOccurredAt())) return false;
       }
+      if (getEventVersion()
+          != other.getEventVersion()) return false;
       if (!getOutputResultCase().equals(other.getOutputResultCase())) return false;
       switch (outputResultCase_) {
         case 5:
@@ -846,6 +874,8 @@ public int hashCode() {
         hash = (37 * hash) + OCCURRED_AT_FIELD_NUMBER;
         hash = (53 * hash) + getOccurredAt().hashCode();
       }
+      hash = (37 * hash) + EVENT_VERSION_FIELD_NUMBER;
+      hash = (53 * hash) + getEventVersion();
       switch (outputResultCase_) {
         case 5:
           hash = (37 * hash) + OUTPUT_URI_FIELD_NUMBER;
@@ -1015,6 +1045,8 @@ public Builder clear() {
           occurredAt_ = null;
           occurredAtBuilder_ = null;
         }
+        eventVersion_ = 0;
+
         outputResultCase_ = 0;
         outputResult_ = null;
         return this;
@@ -1079,6 +1111,7 @@ public flyteidl.event.Event.WorkflowExecutionEvent buildPartial() {
             result.outputResult_ = outputDataBuilder_.build();
           }
         }
+        result.eventVersion_ = eventVersion_;
         result.outputResultCase_ = outputResultCase_;
         onBuilt();
         return result;
@@ -1141,6 +1174,9 @@ public Builder mergeFrom(flyteidl.event.Event.WorkflowExecutionEvent other) {
         if (other.hasOccurredAt()) {
           mergeOccurredAt(other.getOccurredAt());
         }
+        if (other.getEventVersion() != 0) {
+          setEventVersion(other.getEventVersion());
+        }
         switch (other.getOutputResultCase()) {
           case OUTPUT_URI: {
             outputResultCase_ = 5;
@@ -2286,6 +2322,32 @@ public flyteidl.core.Literals.OutputDataOrBuilder getOutputDataOrBuilder() {
         onChanged();;
         return outputDataBuilder_;
       }
+
+      private int eventVersion_ ;
+      /**
+       * int32 event_version = 9;
+       */
+      public int getEventVersion() {
+        return eventVersion_;
+      }
+      /**
+       * int32 event_version = 9;
+       */
+      public Builder setEventVersion(int value) {
+        
+        eventVersion_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * int32 event_version = 9;
+       */
+      public Builder clearEventVersion() {
+        
+        eventVersion_ = 0;
+        onChanged();
+        return this;
+      }
       @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
@@ -23153,7 +23215,7 @@ public flyteidl.event.Event.TaskExecutionMetadata getDefaultInstanceForType() {
       "execution.proto\032\036flyteidl/core/identifie" +
       "r.proto\032\033flyteidl/core/catalog.proto\032\037go" +
       "ogle/protobuf/timestamp.proto\032\034google/pr" +
-      "otobuf/struct.proto\"\241\003\n\026WorkflowExecutio" +
+      "otobuf/struct.proto\"\270\003\n\026WorkflowExecutio" +
       "nEvent\022@\n\014execution_id\030\001 \001(\0132*.flyteidl." +
       "core.WorkflowExecutionIdentifier\022\023\n\013prod" +
       "ucer_id\030\002 \001(\t\0225\n\005phase\030\003 \001(\0162&.flyteidl." +
@@ -23163,94 +23225,95 @@ public flyteidl.event.Event.TaskExecutionMetadata getDefaultInstanceForType() {
       "teidl.core.ExecutionErrorH\000\022?\n\026deprecate" +
       "d_output_data\030\007 \001(\0132\031.flyteidl.core.Lite" +
       "ralMapB\002\030\001H\000\0220\n\013output_data\030\010 \001(\0132\031.flyt" +
-      "eidl.core.OutputDataH\000B\017\n\routput_result\"" +
-      "\241\010\n\022NodeExecutionEvent\0222\n\002id\030\001 \001(\0132&.fly" +
-      "teidl.core.NodeExecutionIdentifier\022\023\n\013pr" +
-      "oducer_id\030\002 \001(\t\0221\n\005phase\030\003 \001(\0162\".flyteid" +
-      "l.core.NodeExecution.Phase\022/\n\013occurred_a" +
-      "t\030\004 \001(\0132\032.google.protobuf.Timestamp\022\023\n\ti" +
-      "nput_uri\030\005 \001(\tH\000\022>\n\025deprecated_input_dat" +
-      "a\030\024 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\000" +
-      "\022.\n\ninput_data\030\030 \001(\0132\030.flyteidl.core.Inp" +
-      "utDataH\000\022\024\n\noutput_uri\030\006 \001(\tH\001\022.\n\005error\030" +
-      "\007 \001(\0132\035.flyteidl.core.ExecutionErrorH\001\022?" +
-      "\n\026deprecated_output_data\030\017 \001(\0132\031.flyteid" +
-      "l.core.LiteralMapB\002\030\001H\001\0220\n\013output_data\030\027" +
-      " \001(\0132\031.flyteidl.core.OutputDataH\001\022F\n\026wor" +
-      "kflow_node_metadata\030\010 \001(\0132$.flyteidl.eve" +
-      "nt.WorkflowNodeMetadataH\002\022>\n\022task_node_m" +
-      "etadata\030\016 \001(\0132 .flyteidl.event.TaskNodeM" +
-      "etadataH\002\022I\n\024parent_task_metadata\030\t \001(\0132" +
-      "+.flyteidl.event.ParentTaskExecutionMeta" +
-      "data\022I\n\024parent_node_metadata\030\n \001(\0132+.fly" +
-      "teidl.event.ParentNodeExecutionMetadata\022" +
-      "\023\n\013retry_group\030\013 \001(\t\022\024\n\014spec_node_id\030\014 \001" +
-      "(\t\022\021\n\tnode_name\030\r \001(\t\022\025\n\revent_version\030\020" +
-      " \001(\005\022\021\n\tis_parent\030\021 \001(\010\022\022\n\nis_dynamic\030\022 " +
-      "\001(\010\022\020\n\010deck_uri\030\023 \001(\t\022/\n\013reported_at\030\025 \001" +
-      "(\0132\032.google.protobuf.Timestamp\022\020\n\010is_arr" +
-      "ay\030\026 \001(\010B\r\n\013input_valueB\017\n\routput_result" +
-      "B\021\n\017target_metadata\"X\n\024WorkflowNodeMetad" +
-      "ata\022@\n\014execution_id\030\001 \001(\0132*.flyteidl.cor" +
-      "e.WorkflowExecutionIdentifier\"\245\002\n\020TaskNo" +
-      "deMetadata\0227\n\014cache_status\030\001 \001(\0162!.flyte" +
-      "idl.core.CatalogCacheStatus\0223\n\013catalog_k" +
-      "ey\030\002 \001(\0132\036.flyteidl.core.CatalogMetadata" +
-      "\022D\n\022reservation_status\030\003 \001(\0162(.flyteidl." +
-      "core.CatalogReservation.Status\022\026\n\016checkp" +
-      "oint_uri\030\004 \001(\t\022E\n\020dynamic_workflow\030\020 \001(\013" +
-      "2+.flyteidl.event.DynamicWorkflowNodeMet" +
-      "adata\"\245\001\n\033DynamicWorkflowNodeMetadata\022%\n" +
-      "\002id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A\n\021" +
-      "compiled_workflow\030\002 \001(\0132&.flyteidl.core." +
-      "CompiledWorkflowClosure\022\034\n\024dynamic_job_s" +
-      "pec_uri\030\003 \001(\t\"Q\n\033ParentTaskExecutionMeta" +
-      "data\0222\n\002id\030\001 \001(\0132&.flyteidl.core.TaskExe" +
-      "cutionIdentifier\".\n\033ParentNodeExecutionM" +
-      "etadata\022\017\n\007node_id\030\001 \001(\t\"N\n\013EventReason\022" +
-      "\016\n\006reason\030\001 \001(\t\022/\n\013occurred_at\030\002 \001(\0132\032.g" +
-      "oogle.protobuf.Timestamp\"\271\007\n\022TaskExecuti" +
-      "onEvent\022*\n\007task_id\030\001 \001(\0132\031.flyteidl.core" +
-      ".Identifier\022H\n\030parent_node_execution_id\030" +
-      "\002 \001(\0132&.flyteidl.core.NodeExecutionIdent" +
-      "ifier\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 " +
-      "\001(\0162\".flyteidl.core.TaskExecution.Phase\022" +
-      "\023\n\013producer_id\030\005 \001(\t\022$\n\004logs\030\006 \003(\0132\026.fly" +
-      "teidl.core.TaskLog\022/\n\013occurred_at\030\007 \001(\0132" +
-      "\032.google.protobuf.Timestamp\022\023\n\tinput_uri" +
-      "\030\010 \001(\tH\000\022>\n\025deprecated_input_data\030\023 \001(\0132" +
-      "\031.flyteidl.core.LiteralMapB\002\030\001H\000\022.\n\ninpu" +
-      "t_data\030\027 \001(\0132\030.flyteidl.core.InputDataH\000" +
-      "\022\024\n\noutput_uri\030\t \001(\tH\001\022.\n\005error\030\n \001(\0132\035." +
-      "flyteidl.core.ExecutionErrorH\001\022?\n\026deprec" +
-      "ated_output_data\030\021 \001(\0132\031.flyteidl.core.L" +
-      "iteralMapB\002\030\001H\001\0220\n\013output_data\030\026 \001(\0132\031.f" +
-      "lyteidl.core.OutputDataH\001\022,\n\013custom_info" +
-      "\030\013 \001(\0132\027.google.protobuf.Struct\022\025\n\rphase" +
-      "_version\030\014 \001(\r\022\022\n\006reason\030\r \001(\tB\002\030\001\022,\n\007re" +
-      "asons\030\025 \003(\0132\033.flyteidl.event.EventReason" +
-      "\022\021\n\ttask_type\030\016 \001(\t\0227\n\010metadata\030\020 \001(\0132%." +
-      "flyteidl.event.TaskExecutionMetadata\022\025\n\r" +
-      "event_version\030\022 \001(\005\022/\n\013reported_at\030\024 \001(\013" +
-      "2\032.google.protobuf.TimestampB\r\n\013input_va" +
-      "lueB\017\n\routput_result\"\343\001\n\024ExternalResourc" +
-      "eInfo\022\023\n\013external_id\030\001 \001(\t\022\r\n\005index\030\002 \001(" +
-      "\r\022\025\n\rretry_attempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162" +
-      "\".flyteidl.core.TaskExecution.Phase\0227\n\014c" +
-      "ache_status\030\005 \001(\0162!.flyteidl.core.Catalo" +
-      "gCacheStatus\022$\n\004logs\030\006 \003(\0132\026.flyteidl.co" +
-      "re.TaskLog\"?\n\020ResourcePoolInfo\022\030\n\020alloca" +
-      "tion_token\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025" +
-      "TaskExecutionMetadata\022\026\n\016generated_name\030" +
-      "\001 \001(\t\022@\n\022external_resources\030\002 \003(\0132$.flyt" +
-      "eidl.event.ExternalResourceInfo\022<\n\022resou" +
-      "rce_pool_info\030\003 \003(\0132 .flyteidl.event.Res" +
-      "ourcePoolInfo\022\031\n\021plugin_identifier\030\004 \001(\t" +
-      "\022K\n\016instance_class\030\020 \001(\01623.flyteidl.even" +
-      "t.TaskExecutionMetadata.InstanceClass\"/\n" +
-      "\rInstanceClass\022\013\n\007DEFAULT\020\000\022\021\n\rINTERRUPT" +
-      "IBLE\020\001B=Z;github.com/flyteorg/flyte/flyt" +
-      "eidl/gen/pb-go/flyteidl/eventb\006proto3"
+      "eidl.core.OutputDataH\000\022\025\n\revent_version\030" +
+      "\t \001(\005B\017\n\routput_result\"\241\010\n\022NodeExecution" +
+      "Event\0222\n\002id\030\001 \001(\0132&.flyteidl.core.NodeEx" +
+      "ecutionIdentifier\022\023\n\013producer_id\030\002 \001(\t\0221" +
+      "\n\005phase\030\003 \001(\0162\".flyteidl.core.NodeExecut" +
+      "ion.Phase\022/\n\013occurred_at\030\004 \001(\0132\032.google." +
+      "protobuf.Timestamp\022\023\n\tinput_uri\030\005 \001(\tH\000\022" +
+      ">\n\025deprecated_input_data\030\024 \001(\0132\031.flyteid" +
+      "l.core.LiteralMapB\002\030\001H\000\022.\n\ninput_data\030\030 " +
+      "\001(\0132\030.flyteidl.core.InputDataH\000\022\024\n\noutpu" +
+      "t_uri\030\006 \001(\tH\001\022.\n\005error\030\007 \001(\0132\035.flyteidl." +
+      "core.ExecutionErrorH\001\022?\n\026deprecated_outp" +
+      "ut_data\030\017 \001(\0132\031.flyteidl.core.LiteralMap" +
+      "B\002\030\001H\001\0220\n\013output_data\030\027 \001(\0132\031.flyteidl.c" +
+      "ore.OutputDataH\001\022F\n\026workflow_node_metada" +
+      "ta\030\010 \001(\0132$.flyteidl.event.WorkflowNodeMe" +
+      "tadataH\002\022>\n\022task_node_metadata\030\016 \001(\0132 .f" +
+      "lyteidl.event.TaskNodeMetadataH\002\022I\n\024pare" +
+      "nt_task_metadata\030\t \001(\0132+.flyteidl.event." +
+      "ParentTaskExecutionMetadata\022I\n\024parent_no" +
+      "de_metadata\030\n \001(\0132+.flyteidl.event.Paren" +
+      "tNodeExecutionMetadata\022\023\n\013retry_group\030\013 " +
+      "\001(\t\022\024\n\014spec_node_id\030\014 \001(\t\022\021\n\tnode_name\030\r" +
+      " \001(\t\022\025\n\revent_version\030\020 \001(\005\022\021\n\tis_parent" +
+      "\030\021 \001(\010\022\022\n\nis_dynamic\030\022 \001(\010\022\020\n\010deck_uri\030\023" +
+      " \001(\t\022/\n\013reported_at\030\025 \001(\0132\032.google.proto" +
+      "buf.Timestamp\022\020\n\010is_array\030\026 \001(\010B\r\n\013input" +
+      "_valueB\017\n\routput_resultB\021\n\017target_metada" +
+      "ta\"X\n\024WorkflowNodeMetadata\022@\n\014execution_" +
+      "id\030\001 \001(\0132*.flyteidl.core.WorkflowExecuti" +
+      "onIdentifier\"\245\002\n\020TaskNodeMetadata\0227\n\014cac" +
+      "he_status\030\001 \001(\0162!.flyteidl.core.CatalogC" +
+      "acheStatus\0223\n\013catalog_key\030\002 \001(\0132\036.flytei" +
+      "dl.core.CatalogMetadata\022D\n\022reservation_s" +
+      "tatus\030\003 \001(\0162(.flyteidl.core.CatalogReser" +
+      "vation.Status\022\026\n\016checkpoint_uri\030\004 \001(\t\022E\n" +
+      "\020dynamic_workflow\030\020 \001(\0132+.flyteidl.event" +
+      ".DynamicWorkflowNodeMetadata\"\245\001\n\033Dynamic" +
+      "WorkflowNodeMetadata\022%\n\002id\030\001 \001(\0132\031.flyte" +
+      "idl.core.Identifier\022A\n\021compiled_workflow" +
+      "\030\002 \001(\0132&.flyteidl.core.CompiledWorkflowC" +
+      "losure\022\034\n\024dynamic_job_spec_uri\030\003 \001(\t\"Q\n\033" +
+      "ParentTaskExecutionMetadata\0222\n\002id\030\001 \001(\0132" +
+      "&.flyteidl.core.TaskExecutionIdentifier\"" +
+      ".\n\033ParentNodeExecutionMetadata\022\017\n\007node_i" +
+      "d\030\001 \001(\t\"N\n\013EventReason\022\016\n\006reason\030\001 \001(\t\022/" +
+      "\n\013occurred_at\030\002 \001(\0132\032.google.protobuf.Ti" +
+      "mestamp\"\271\007\n\022TaskExecutionEvent\022*\n\007task_i" +
+      "d\030\001 \001(\0132\031.flyteidl.core.Identifier\022H\n\030pa" +
+      "rent_node_execution_id\030\002 \001(\0132&.flyteidl." +
+      "core.NodeExecutionIdentifier\022\025\n\rretry_at" +
+      "tempt\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162\".flyteidl.co" +
+      "re.TaskExecution.Phase\022\023\n\013producer_id\030\005 " +
+      "\001(\t\022$\n\004logs\030\006 \003(\0132\026.flyteidl.core.TaskLo" +
+      "g\022/\n\013occurred_at\030\007 \001(\0132\032.google.protobuf" +
+      ".Timestamp\022\023\n\tinput_uri\030\010 \001(\tH\000\022>\n\025depre" +
+      "cated_input_data\030\023 \001(\0132\031.flyteidl.core.L" +
+      "iteralMapB\002\030\001H\000\022.\n\ninput_data\030\027 \001(\0132\030.fl" +
+      "yteidl.core.InputDataH\000\022\024\n\noutput_uri\030\t " +
+      "\001(\tH\001\022.\n\005error\030\n \001(\0132\035.flyteidl.core.Exe" +
+      "cutionErrorH\001\022?\n\026deprecated_output_data\030" +
+      "\021 \001(\0132\031.flyteidl.core.LiteralMapB\002\030\001H\001\0220" +
+      "\n\013output_data\030\026 \001(\0132\031.flyteidl.core.Outp" +
+      "utDataH\001\022,\n\013custom_info\030\013 \001(\0132\027.google.p" +
+      "rotobuf.Struct\022\025\n\rphase_version\030\014 \001(\r\022\022\n" +
+      "\006reason\030\r \001(\tB\002\030\001\022,\n\007reasons\030\025 \003(\0132\033.fly" +
+      "teidl.event.EventReason\022\021\n\ttask_type\030\016 \001" +
+      "(\t\0227\n\010metadata\030\020 \001(\0132%.flyteidl.event.Ta" +
+      "skExecutionMetadata\022\025\n\revent_version\030\022 \001" +
+      "(\005\022/\n\013reported_at\030\024 \001(\0132\032.google.protobu" +
+      "f.TimestampB\r\n\013input_valueB\017\n\routput_res" +
+      "ult\"\343\001\n\024ExternalResourceInfo\022\023\n\013external" +
+      "_id\030\001 \001(\t\022\r\n\005index\030\002 \001(\r\022\025\n\rretry_attemp" +
+      "t\030\003 \001(\r\0221\n\005phase\030\004 \001(\0162\".flyteidl.core.T" +
+      "askExecution.Phase\0227\n\014cache_status\030\005 \001(\016" +
+      "2!.flyteidl.core.CatalogCacheStatus\022$\n\004l" +
+      "ogs\030\006 \003(\0132\026.flyteidl.core.TaskLog\"?\n\020Res" +
+      "ourcePoolInfo\022\030\n\020allocation_token\030\001 \001(\t\022" +
+      "\021\n\tnamespace\030\002 \001(\t\"\310\002\n\025TaskExecutionMeta" +
+      "data\022\026\n\016generated_name\030\001 \001(\t\022@\n\022external" +
+      "_resources\030\002 \003(\0132$.flyteidl.event.Extern" +
+      "alResourceInfo\022<\n\022resource_pool_info\030\003 \003" +
+      "(\0132 .flyteidl.event.ResourcePoolInfo\022\031\n\021" +
+      "plugin_identifier\030\004 \001(\t\022K\n\016instance_clas" +
+      "s\030\020 \001(\01623.flyteidl.event.TaskExecutionMe" +
+      "tadata.InstanceClass\"/\n\rInstanceClass\022\013\n" +
+      "\007DEFAULT\020\000\022\021\n\rINTERRUPTIBLE\020\001B=Z;github." +
+      "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" +
+      "yteidl/eventb\006proto3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
         new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
@@ -23276,7 +23339,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors(
     internal_static_flyteidl_event_WorkflowExecutionEvent_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_flyteidl_event_WorkflowExecutionEvent_descriptor,
-        new java.lang.String[] { "ExecutionId", "ProducerId", "Phase", "OccurredAt", "OutputUri", "Error", "DeprecatedOutputData", "OutputData", "OutputResult", });
+        new java.lang.String[] { "ExecutionId", "ProducerId", "Phase", "OccurredAt", "OutputUri", "Error", "DeprecatedOutputData", "OutputData", "EventVersion", "OutputResult", });
     internal_static_flyteidl_event_NodeExecutionEvent_descriptor =
       getDescriptor().getMessageTypes().get(1);
     internal_static_flyteidl_event_NodeExecutionEvent_fieldAccessorTable = new
diff --git a/flyteidl/gen/pb-js/flyteidl.d.ts b/flyteidl/gen/pb-js/flyteidl.d.ts
index 799b25fe31..478603ea86 100644
--- a/flyteidl/gen/pb-js/flyteidl.d.ts
+++ b/flyteidl/gen/pb-js/flyteidl.d.ts
@@ -6816,6 +6816,9 @@ export namespace flyteidl {
 
             /** WorkflowExecutionEvent outputData */
             outputData?: (flyteidl.core.IOutputData|null);
+
+            /** WorkflowExecutionEvent eventVersion */
+            eventVersion?: (number|null);
         }
 
         /** Represents a WorkflowExecutionEvent. */
@@ -6851,6 +6854,9 @@ export namespace flyteidl {
             /** WorkflowExecutionEvent outputData. */
             public outputData?: (flyteidl.core.IOutputData|null);
 
+            /** WorkflowExecutionEvent eventVersion. */
+            public eventVersion: number;
+
             /** WorkflowExecutionEvent outputResult. */
             public outputResult?: ("outputUri"|"error"|"deprecatedOutputData"|"outputData");
 
@@ -11266,6 +11272,9 @@ export namespace flyteidl {
             /** ExecutionClosure outputData */
             outputData?: (flyteidl.core.ILiteralMap|null);
 
+            /** ExecutionClosure fullOutputs */
+            fullOutputs?: (flyteidl.core.IOutputData|null);
+
             /** ExecutionClosure computedInputs */
             computedInputs?: (flyteidl.core.ILiteralMap|null);
 
@@ -11318,6 +11327,9 @@ export namespace flyteidl {
             /** ExecutionClosure outputData. */
             public outputData?: (flyteidl.core.ILiteralMap|null);
 
+            /** ExecutionClosure fullOutputs. */
+            public fullOutputs?: (flyteidl.core.IOutputData|null);
+
             /** ExecutionClosure computedInputs. */
             public computedInputs?: (flyteidl.core.ILiteralMap|null);
 
@@ -11346,7 +11358,7 @@ export namespace flyteidl {
             public stateChangeDetails?: (flyteidl.admin.IExecutionStateChangeDetails|null);
 
             /** ExecutionClosure outputResult. */
-            public outputResult?: ("outputs"|"error"|"abortCause"|"abortMetadata"|"outputData");
+            public outputResult?: ("outputs"|"error"|"abortCause"|"abortMetadata"|"outputData"|"fullOutputs");
 
             /**
              * Creates a new ExecutionClosure instance using the specified properties.
@@ -14489,6 +14501,9 @@ export namespace flyteidl {
             /** NodeExecutionClosure outputData */
             outputData?: (flyteidl.core.ILiteralMap|null);
 
+            /** NodeExecutionClosure fullOutputs */
+            fullOutputs?: (flyteidl.core.IOutputData|null);
+
             /** NodeExecutionClosure phase */
             phase?: (flyteidl.core.NodeExecution.Phase|null);
 
@@ -14535,6 +14550,9 @@ export namespace flyteidl {
             /** NodeExecutionClosure outputData. */
             public outputData?: (flyteidl.core.ILiteralMap|null);
 
+            /** NodeExecutionClosure fullOutputs. */
+            public fullOutputs?: (flyteidl.core.IOutputData|null);
+
             /** NodeExecutionClosure phase. */
             public phase: flyteidl.core.NodeExecution.Phase;
 
@@ -14563,7 +14581,7 @@ export namespace flyteidl {
             public dynamicJobSpecUri: string;
 
             /** NodeExecutionClosure outputResult. */
-            public outputResult?: ("outputUri"|"error"|"outputData");
+            public outputResult?: ("outputUri"|"error"|"outputData"|"fullOutputs");
 
             /** NodeExecutionClosure targetMetadata. */
             public targetMetadata?: ("workflowNodeMetadata"|"taskNodeMetadata");
@@ -17147,6 +17165,9 @@ export namespace flyteidl {
             /** TaskExecutionClosure outputData */
             outputData?: (flyteidl.core.ILiteralMap|null);
 
+            /** TaskExecutionClosure fullOutputs */
+            fullOutputs?: (flyteidl.core.IOutputData|null);
+
             /** TaskExecutionClosure phase */
             phase?: (flyteidl.core.TaskExecution.Phase|null);
 
@@ -17202,6 +17223,9 @@ export namespace flyteidl {
             /** TaskExecutionClosure outputData. */
             public outputData?: (flyteidl.core.ILiteralMap|null);
 
+            /** TaskExecutionClosure fullOutputs. */
+            public fullOutputs?: (flyteidl.core.IOutputData|null);
+
             /** TaskExecutionClosure phase. */
             public phase: flyteidl.core.TaskExecution.Phase;
 
@@ -17239,7 +17263,7 @@ export namespace flyteidl {
             public reasons: flyteidl.admin.IReason[];
 
             /** TaskExecutionClosure outputResult. */
-            public outputResult?: ("outputUri"|"error"|"outputData");
+            public outputResult?: ("outputUri"|"error"|"outputData"|"fullOutputs");
 
             /**
              * Creates a new TaskExecutionClosure instance using the specified properties.
diff --git a/flyteidl/gen/pb-js/flyteidl.js b/flyteidl/gen/pb-js/flyteidl.js
index cb438a7cbc..9562e27f02 100644
--- a/flyteidl/gen/pb-js/flyteidl.js
+++ b/flyteidl/gen/pb-js/flyteidl.js
@@ -16356,6 +16356,7 @@
                  * @property {flyteidl.core.IExecutionError|null} [error] WorkflowExecutionEvent error
                  * @property {flyteidl.core.ILiteralMap|null} [deprecatedOutputData] WorkflowExecutionEvent deprecatedOutputData
                  * @property {flyteidl.core.IOutputData|null} [outputData] WorkflowExecutionEvent outputData
+                 * @property {number|null} [eventVersion] WorkflowExecutionEvent eventVersion
                  */
     
                 /**
@@ -16437,6 +16438,14 @@
                  */
                 WorkflowExecutionEvent.prototype.outputData = null;
     
+                /**
+                 * WorkflowExecutionEvent eventVersion.
+                 * @member {number} eventVersion
+                 * @memberof flyteidl.event.WorkflowExecutionEvent
+                 * @instance
+                 */
+                WorkflowExecutionEvent.prototype.eventVersion = 0;
+    
                 // OneOf field names bound to virtual getters and setters
                 var $oneOfFields;
     
@@ -16491,6 +16500,8 @@
                         $root.flyteidl.core.LiteralMap.encode(message.deprecatedOutputData, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
                     if (message.outputData != null && message.hasOwnProperty("outputData"))
                         $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+                    if (message.eventVersion != null && message.hasOwnProperty("eventVersion"))
+                        writer.uint32(/* id 9, wireType 0 =*/72).int32(message.eventVersion);
                     return writer;
                 };
     
@@ -16536,6 +16547,9 @@
                         case 8:
                             message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32());
                             break;
+                        case 9:
+                            message.eventVersion = reader.int32();
+                            break;
                         default:
                             reader.skipType(tag & 7);
                             break;
@@ -16620,6 +16634,9 @@
                                 return "outputData." + error;
                         }
                     }
+                    if (message.eventVersion != null && message.hasOwnProperty("eventVersion"))
+                        if (!$util.isInteger(message.eventVersion))
+                            return "eventVersion: integer expected";
                     return null;
                 };
     
@@ -27104,6 +27121,7 @@
                  * @property {string|null} [abortCause] ExecutionClosure abortCause
                  * @property {flyteidl.admin.IAbortMetadata|null} [abortMetadata] ExecutionClosure abortMetadata
                  * @property {flyteidl.core.ILiteralMap|null} [outputData] ExecutionClosure outputData
+                 * @property {flyteidl.core.IOutputData|null} [fullOutputs] ExecutionClosure fullOutputs
                  * @property {flyteidl.core.ILiteralMap|null} [computedInputs] ExecutionClosure computedInputs
                  * @property {flyteidl.core.WorkflowExecution.Phase|null} [phase] ExecutionClosure phase
                  * @property {google.protobuf.ITimestamp|null} [startedAt] ExecutionClosure startedAt
@@ -27171,6 +27189,14 @@
                  */
                 ExecutionClosure.prototype.outputData = null;
     
+                /**
+                 * ExecutionClosure fullOutputs.
+                 * @member {flyteidl.core.IOutputData|null|undefined} fullOutputs
+                 * @memberof flyteidl.admin.ExecutionClosure
+                 * @instance
+                 */
+                ExecutionClosure.prototype.fullOutputs = null;
+    
                 /**
                  * ExecutionClosure computedInputs.
                  * @member {flyteidl.core.ILiteralMap|null|undefined} computedInputs
@@ -27248,12 +27274,12 @@
     
                 /**
                  * ExecutionClosure outputResult.
-                 * @member {"outputs"|"error"|"abortCause"|"abortMetadata"|"outputData"|undefined} outputResult
+                 * @member {"outputs"|"error"|"abortCause"|"abortMetadata"|"outputData"|"fullOutputs"|undefined} outputResult
                  * @memberof flyteidl.admin.ExecutionClosure
                  * @instance
                  */
                 Object.defineProperty(ExecutionClosure.prototype, "outputResult", {
-                    get: $util.oneOfGetter($oneOfFields = ["outputs", "error", "abortCause", "abortMetadata", "outputData"]),
+                    get: $util.oneOfGetter($oneOfFields = ["outputs", "error", "abortCause", "abortMetadata", "outputData", "fullOutputs"]),
                     set: $util.oneOfSetter($oneOfFields)
                 });
     
@@ -27310,6 +27336,8 @@
                         $root.flyteidl.core.LiteralMap.encode(message.outputData, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
                     if (message.stateChangeDetails != null && message.hasOwnProperty("stateChangeDetails"))
                         $root.flyteidl.admin.ExecutionStateChangeDetails.encode(message.stateChangeDetails, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
+                    if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs"))
+                        $root.flyteidl.core.OutputData.encode(message.fullOutputs, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim();
                     return writer;
                 };
     
@@ -27346,6 +27374,9 @@
                         case 13:
                             message.outputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32());
                             break;
+                        case 15:
+                            message.fullOutputs = $root.flyteidl.core.OutputData.decode(reader, reader.uint32());
+                            break;
                         case 3:
                             message.computedInputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32());
                             break;
@@ -27440,6 +27471,16 @@
                                 return "outputData." + error;
                         }
                     }
+                    if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs")) {
+                        if (properties.outputResult === 1)
+                            return "outputResult: multiple values";
+                        properties.outputResult = 1;
+                        {
+                            var error = $root.flyteidl.core.OutputData.verify(message.fullOutputs);
+                            if (error)
+                                return "fullOutputs." + error;
+                        }
+                    }
                     if (message.computedInputs != null && message.hasOwnProperty("computedInputs")) {
                         var error = $root.flyteidl.core.LiteralMap.verify(message.computedInputs);
                         if (error)
@@ -34915,6 +34956,7 @@
                  * @property {string|null} [outputUri] NodeExecutionClosure outputUri
                  * @property {flyteidl.core.IExecutionError|null} [error] NodeExecutionClosure error
                  * @property {flyteidl.core.ILiteralMap|null} [outputData] NodeExecutionClosure outputData
+                 * @property {flyteidl.core.IOutputData|null} [fullOutputs] NodeExecutionClosure fullOutputs
                  * @property {flyteidl.core.NodeExecution.Phase|null} [phase] NodeExecutionClosure phase
                  * @property {google.protobuf.ITimestamp|null} [startedAt] NodeExecutionClosure startedAt
                  * @property {google.protobuf.IDuration|null} [duration] NodeExecutionClosure duration
@@ -34965,6 +35007,14 @@
                  */
                 NodeExecutionClosure.prototype.outputData = null;
     
+                /**
+                 * NodeExecutionClosure fullOutputs.
+                 * @member {flyteidl.core.IOutputData|null|undefined} fullOutputs
+                 * @memberof flyteidl.admin.NodeExecutionClosure
+                 * @instance
+                 */
+                NodeExecutionClosure.prototype.fullOutputs = null;
+    
                 /**
                  * NodeExecutionClosure phase.
                  * @member {flyteidl.core.NodeExecution.Phase} phase
@@ -35042,12 +35092,12 @@
     
                 /**
                  * NodeExecutionClosure outputResult.
-                 * @member {"outputUri"|"error"|"outputData"|undefined} outputResult
+                 * @member {"outputUri"|"error"|"outputData"|"fullOutputs"|undefined} outputResult
                  * @memberof flyteidl.admin.NodeExecutionClosure
                  * @instance
                  */
                 Object.defineProperty(NodeExecutionClosure.prototype, "outputResult", {
-                    get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "outputData"]),
+                    get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "outputData", "fullOutputs"]),
                     set: $util.oneOfSetter($oneOfFields)
                 });
     
@@ -35110,6 +35160,8 @@
                         writer.uint32(/* id 11, wireType 2 =*/90).string(message.deckUri);
                     if (message.dynamicJobSpecUri != null && message.hasOwnProperty("dynamicJobSpecUri"))
                         writer.uint32(/* id 12, wireType 2 =*/98).string(message.dynamicJobSpecUri);
+                    if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs"))
+                        $root.flyteidl.core.OutputData.encode(message.fullOutputs, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
                     return writer;
                 };
     
@@ -35140,6 +35192,9 @@
                         case 10:
                             message.outputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32());
                             break;
+                        case 13:
+                            message.fullOutputs = $root.flyteidl.core.OutputData.decode(reader, reader.uint32());
+                            break;
                         case 3:
                             message.phase = reader.int32();
                             break;
@@ -35212,6 +35267,16 @@
                                 return "outputData." + error;
                         }
                     }
+                    if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs")) {
+                        if (properties.outputResult === 1)
+                            return "outputResult: multiple values";
+                        properties.outputResult = 1;
+                        {
+                            var error = $root.flyteidl.core.OutputData.verify(message.fullOutputs);
+                            if (error)
+                                return "fullOutputs." + error;
+                        }
+                    }
                     if (message.phase != null && message.hasOwnProperty("phase"))
                         switch (message.phase) {
                         default:
@@ -41056,6 +41121,7 @@
                  * @property {string|null} [outputUri] TaskExecutionClosure outputUri
                  * @property {flyteidl.core.IExecutionError|null} [error] TaskExecutionClosure error
                  * @property {flyteidl.core.ILiteralMap|null} [outputData] TaskExecutionClosure outputData
+                 * @property {flyteidl.core.IOutputData|null} [fullOutputs] TaskExecutionClosure fullOutputs
                  * @property {flyteidl.core.TaskExecution.Phase|null} [phase] TaskExecutionClosure phase
                  * @property {Array.|null} [logs] TaskExecutionClosure logs
                  * @property {google.protobuf.ITimestamp|null} [startedAt] TaskExecutionClosure startedAt
@@ -41111,6 +41177,14 @@
                  */
                 TaskExecutionClosure.prototype.outputData = null;
     
+                /**
+                 * TaskExecutionClosure fullOutputs.
+                 * @member {flyteidl.core.IOutputData|null|undefined} fullOutputs
+                 * @memberof flyteidl.admin.TaskExecutionClosure
+                 * @instance
+                 */
+                TaskExecutionClosure.prototype.fullOutputs = null;
+    
                 /**
                  * TaskExecutionClosure phase.
                  * @member {flyteidl.core.TaskExecution.Phase} phase
@@ -41212,12 +41286,12 @@
     
                 /**
                  * TaskExecutionClosure outputResult.
-                 * @member {"outputUri"|"error"|"outputData"|undefined} outputResult
+                 * @member {"outputUri"|"error"|"outputData"|"fullOutputs"|undefined} outputResult
                  * @memberof flyteidl.admin.TaskExecutionClosure
                  * @instance
                  */
                 Object.defineProperty(TaskExecutionClosure.prototype, "outputResult", {
-                    get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "outputData"]),
+                    get: $util.oneOfGetter($oneOfFields = ["outputUri", "error", "outputData", "fullOutputs"]),
                     set: $util.oneOfSetter($oneOfFields)
                 });
     
@@ -41277,6 +41351,8 @@
                     if (message.reasons != null && message.reasons.length)
                         for (var i = 0; i < message.reasons.length; ++i)
                             $root.flyteidl.admin.Reason.encode(message.reasons[i], writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
+                    if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs"))
+                        $root.flyteidl.core.OutputData.encode(message.fullOutputs, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
                     return writer;
                 };
     
@@ -41307,6 +41383,9 @@
                         case 12:
                             message.outputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32());
                             break;
+                        case 19:
+                            message.fullOutputs = $root.flyteidl.core.OutputData.decode(reader, reader.uint32());
+                            break;
                         case 3:
                             message.phase = reader.int32();
                             break;
@@ -41392,6 +41471,16 @@
                                 return "outputData." + error;
                         }
                     }
+                    if (message.fullOutputs != null && message.hasOwnProperty("fullOutputs")) {
+                        if (properties.outputResult === 1)
+                            return "outputResult: multiple values";
+                        properties.outputResult = 1;
+                        {
+                            var error = $root.flyteidl.core.OutputData.verify(message.fullOutputs);
+                            if (error)
+                                return "fullOutputs." + error;
+                        }
+                    }
                     if (message.phase != null && message.hasOwnProperty("phase"))
                         switch (message.phase) {
                         default:
diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py
index 35b68f7846..462135d1e4 100644
--- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py
+++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py
@@ -23,7 +23,7 @@
 from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x81\x02\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x35\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12\x37\n\ninput_data\x18\x06 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\x98\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xba\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x85\x03\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x81\x02\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x35\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12\x37\n\ninput_data\x18\x06 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\xd8\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12>\n\x0c\x66ull_outputs\x18\x0f \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\x0b\x66ullOutputs\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xba\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x85\x03\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3')
 
 _globals = globals()
 _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -56,8 +56,8 @@
   _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._serialized_options = b'\030\001'
   _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._options = None
   _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._serialized_options = b'\030\001'
-  _globals['_EXECUTIONSTATE']._serialized_start=5482
-  _globals['_EXECUTIONSTATE']._serialized_end=5544
+  _globals['_EXECUTIONSTATE']._serialized_start=5546
+  _globals['_EXECUTIONSTATE']._serialized_end=5608
   _globals['_EXECUTIONCREATEREQUEST']._serialized_start=370
   _globals['_EXECUTIONCREATEREQUEST']._serialized_end=627
   _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_start=630
@@ -77,33 +77,33 @@
   _globals['_ABORTMETADATA']._serialized_start=1520
   _globals['_ABORTMETADATA']._serialized_end=1587
   _globals['_EXECUTIONCLOSURE']._serialized_start=1590
-  _globals['_EXECUTIONCLOSURE']._serialized_end=2510
-  _globals['_SYSTEMMETADATA']._serialized_start=2512
-  _globals['_SYSTEMMETADATA']._serialized_end=2603
-  _globals['_EXECUTIONMETADATA']._serialized_start=2606
-  _globals['_EXECUTIONMETADATA']._serialized_end=3176
-  _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_start=3073
-  _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_end=3176
-  _globals['_NOTIFICATIONLIST']._serialized_start=3178
-  _globals['_NOTIFICATIONLIST']._serialized_end=3264
-  _globals['_EXECUTIONSPEC']._serialized_start=3267
-  _globals['_EXECUTIONSPEC']._serialized_end=4307
-  _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4309
-  _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4418
-  _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4420
-  _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4448
-  _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4450
-  _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4543
-  _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4546
-  _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=4935
-  _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=4938
-  _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=5076
-  _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=5079
-  _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5253
-  _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5255
-  _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5280
-  _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5282
-  _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5400
-  _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5402
-  _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5480
+  _globals['_EXECUTIONCLOSURE']._serialized_end=2574
+  _globals['_SYSTEMMETADATA']._serialized_start=2576
+  _globals['_SYSTEMMETADATA']._serialized_end=2667
+  _globals['_EXECUTIONMETADATA']._serialized_start=2670
+  _globals['_EXECUTIONMETADATA']._serialized_end=3240
+  _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_start=3137
+  _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_end=3240
+  _globals['_NOTIFICATIONLIST']._serialized_start=3242
+  _globals['_NOTIFICATIONLIST']._serialized_end=3328
+  _globals['_EXECUTIONSPEC']._serialized_start=3331
+  _globals['_EXECUTIONSPEC']._serialized_end=4371
+  _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4373
+  _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4482
+  _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4484
+  _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4512
+  _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4514
+  _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4607
+  _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4610
+  _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=4999
+  _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=5002
+  _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=5140
+  _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=5143
+  _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5317
+  _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5319
+  _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5344
+  _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5346
+  _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5464
+  _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5466
+  _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5544
 # @@protoc_insertion_point(module_scope)
diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi
index fb218486af..59b4cfb0f7 100644
--- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi
+++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi
@@ -106,12 +106,13 @@ class AbortMetadata(_message.Message):
     def __init__(self, cause: _Optional[str] = ..., principal: _Optional[str] = ...) -> None: ...
 
 class ExecutionClosure(_message.Message):
-    __slots__ = ["outputs", "error", "abort_cause", "abort_metadata", "output_data", "computed_inputs", "phase", "started_at", "duration", "created_at", "updated_at", "notifications", "workflow_id", "state_change_details"]
+    __slots__ = ["outputs", "error", "abort_cause", "abort_metadata", "output_data", "full_outputs", "computed_inputs", "phase", "started_at", "duration", "created_at", "updated_at", "notifications", "workflow_id", "state_change_details"]
     OUTPUTS_FIELD_NUMBER: _ClassVar[int]
     ERROR_FIELD_NUMBER: _ClassVar[int]
     ABORT_CAUSE_FIELD_NUMBER: _ClassVar[int]
     ABORT_METADATA_FIELD_NUMBER: _ClassVar[int]
     OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int]
+    FULL_OUTPUTS_FIELD_NUMBER: _ClassVar[int]
     COMPUTED_INPUTS_FIELD_NUMBER: _ClassVar[int]
     PHASE_FIELD_NUMBER: _ClassVar[int]
     STARTED_AT_FIELD_NUMBER: _ClassVar[int]
@@ -126,6 +127,7 @@ class ExecutionClosure(_message.Message):
     abort_cause: str
     abort_metadata: AbortMetadata
     output_data: _literals_pb2.LiteralMap
+    full_outputs: _literals_pb2.OutputData
     computed_inputs: _literals_pb2.LiteralMap
     phase: _execution_pb2.WorkflowExecution.Phase
     started_at: _timestamp_pb2.Timestamp
@@ -135,7 +137,7 @@ class ExecutionClosure(_message.Message):
     notifications: _containers.RepeatedCompositeFieldContainer[_common_pb2.Notification]
     workflow_id: _identifier_pb2.Identifier
     state_change_details: ExecutionStateChangeDetails
-    def __init__(self, outputs: _Optional[_Union[LiteralMapBlob, _Mapping]] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., abort_cause: _Optional[str] = ..., abort_metadata: _Optional[_Union[AbortMetadata, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., computed_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., phase: _Optional[_Union[_execution_pb2.WorkflowExecution.Phase, str]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., notifications: _Optional[_Iterable[_Union[_common_pb2.Notification, _Mapping]]] = ..., workflow_id: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., state_change_details: _Optional[_Union[ExecutionStateChangeDetails, _Mapping]] = ...) -> None: ...
+    def __init__(self, outputs: _Optional[_Union[LiteralMapBlob, _Mapping]] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., abort_cause: _Optional[str] = ..., abort_metadata: _Optional[_Union[AbortMetadata, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., computed_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., phase: _Optional[_Union[_execution_pb2.WorkflowExecution.Phase, str]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., notifications: _Optional[_Iterable[_Union[_common_pb2.Notification, _Mapping]]] = ..., workflow_id: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., state_change_details: _Optional[_Union[ExecutionStateChangeDetails, _Mapping]] = ...) -> None: ...
 
 class SystemMetadata(_message.Message):
     __slots__ = ["execution_cluster", "namespace"]
diff --git a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py
index ef295e0deb..0fbef32ce2 100644
--- a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py
+++ b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.py
@@ -21,7 +21,7 @@
 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/node_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"Q\n\x17NodeExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x99\x02\n\x18NodeExecutionListRequest\x12^\n\x15workflow_execution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x13workflowExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12(\n\x10unique_parent_id\x18\x06 \x01(\tR\x0euniqueParentId\"\xea\x01\n\x1fNodeExecutionForTaskListRequest\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xe7\x01\n\rNodeExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.NodeExecutionClosureR\x07\x63losure\x12\x41\n\x08metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.NodeExecutionMetaDataR\x08metadata\"\xba\x01\n\x15NodeExecutionMetaData\x12\x1f\n\x0bretry_group\x18\x01 \x01(\tR\nretryGroup\x12$\n\x0eis_parent_node\x18\x02 \x01(\x08R\x0cisParentNode\x12 \n\x0cspec_node_id\x18\x03 \x01(\tR\nspecNodeId\x12\x1d\n\nis_dynamic\x18\x04 \x01(\x08R\tisDynamic\x12\x19\n\x08is_array\x18\x05 \x01(\x08R\x07isArray\"q\n\x11NodeExecutionList\x12\x46\n\x0fnode_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.NodeExecutionR\x0enodeExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xf6\x05\n\x14NodeExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\n \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.admin.WorkflowNodeMetadataH\x01R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\t \x01(\x0b\x32 .flyteidl.admin.TaskNodeMetadataH\x01R\x10taskNodeMetadata\x12\x19\n\x08\x64\x65\x63k_uri\x18\x0b \x01(\tR\x07\x64\x65\x63kUri\x12/\n\x14\x64ynamic_job_spec_uri\x18\x0c \x01(\tR\x11\x64ynamicJobSpecUriB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"d\n\x14WorkflowNodeMetadata\x12L\n\x0b\x65xecutionId\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xc0\x01\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bNodeExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x93\x04\n\x1cNodeExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.admin.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\x12\x38\n\nflyte_urls\x18\x11 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12NodeExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/node_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"Q\n\x17NodeExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x99\x02\n\x18NodeExecutionListRequest\x12^\n\x15workflow_execution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x13workflowExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12(\n\x10unique_parent_id\x18\x06 \x01(\tR\x0euniqueParentId\"\xea\x01\n\x1fNodeExecutionForTaskListRequest\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xe7\x01\n\rNodeExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.NodeExecutionClosureR\x07\x63losure\x12\x41\n\x08metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.NodeExecutionMetaDataR\x08metadata\"\xba\x01\n\x15NodeExecutionMetaData\x12\x1f\n\x0bretry_group\x18\x01 \x01(\tR\nretryGroup\x12$\n\x0eis_parent_node\x18\x02 \x01(\x08R\x0cisParentNode\x12 \n\x0cspec_node_id\x18\x03 \x01(\tR\nspecNodeId\x12\x1d\n\nis_dynamic\x18\x04 \x01(\x08R\tisDynamic\x12\x19\n\x08is_array\x18\x05 \x01(\x08R\x07isArray\"q\n\x11NodeExecutionList\x12\x46\n\x0fnode_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.NodeExecutionR\x0enodeExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xb6\x06\n\x14NodeExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\n \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12>\n\x0c\x66ull_outputs\x18\r \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\x0b\x66ullOutputs\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.admin.WorkflowNodeMetadataH\x01R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\t \x01(\x0b\x32 .flyteidl.admin.TaskNodeMetadataH\x01R\x10taskNodeMetadata\x12\x19\n\x08\x64\x65\x63k_uri\x18\x0b \x01(\tR\x07\x64\x65\x63kUri\x12/\n\x14\x64ynamic_job_spec_uri\x18\x0c \x01(\tR\x11\x64ynamicJobSpecUriB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"d\n\x14WorkflowNodeMetadata\x12L\n\x0b\x65xecutionId\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xc0\x01\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bNodeExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\"\x93\x04\n\x1cNodeExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.admin.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\x12\x38\n\nflyte_urls\x18\x11 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12NodeExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3')
 
 _globals = globals()
 _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -55,15 +55,15 @@
   _globals['_NODEEXECUTIONLIST']._serialized_start=1328
   _globals['_NODEEXECUTIONLIST']._serialized_end=1441
   _globals['_NODEEXECUTIONCLOSURE']._serialized_start=1444
-  _globals['_NODEEXECUTIONCLOSURE']._serialized_end=2202
-  _globals['_WORKFLOWNODEMETADATA']._serialized_start=2204
-  _globals['_WORKFLOWNODEMETADATA']._serialized_end=2304
-  _globals['_TASKNODEMETADATA']._serialized_start=2307
-  _globals['_TASKNODEMETADATA']._serialized_end=2499
-  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_start=2502
-  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_end=2708
-  _globals['_NODEEXECUTIONGETDATAREQUEST']._serialized_start=2710
-  _globals['_NODEEXECUTIONGETDATAREQUEST']._serialized_end=2795
-  _globals['_NODEEXECUTIONGETDATARESPONSE']._serialized_start=2798
-  _globals['_NODEEXECUTIONGETDATARESPONSE']._serialized_end=3329
+  _globals['_NODEEXECUTIONCLOSURE']._serialized_end=2266
+  _globals['_WORKFLOWNODEMETADATA']._serialized_start=2268
+  _globals['_WORKFLOWNODEMETADATA']._serialized_end=2368
+  _globals['_TASKNODEMETADATA']._serialized_start=2371
+  _globals['_TASKNODEMETADATA']._serialized_end=2563
+  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_start=2566
+  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_end=2772
+  _globals['_NODEEXECUTIONGETDATAREQUEST']._serialized_start=2774
+  _globals['_NODEEXECUTIONGETDATAREQUEST']._serialized_end=2859
+  _globals['_NODEEXECUTIONGETDATARESPONSE']._serialized_start=2862
+  _globals['_NODEEXECUTIONGETDATARESPONSE']._serialized_end=3393
 # @@protoc_insertion_point(module_scope)
diff --git a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi
index c8c4f3e0ed..e5319a9e7c 100644
--- a/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi
+++ b/flyteidl/gen/pb_python/flyteidl/admin/node_execution_pb2.pyi
@@ -84,10 +84,11 @@ class NodeExecutionList(_message.Message):
     def __init__(self, node_executions: _Optional[_Iterable[_Union[NodeExecution, _Mapping]]] = ..., token: _Optional[str] = ...) -> None: ...
 
 class NodeExecutionClosure(_message.Message):
-    __slots__ = ["output_uri", "error", "output_data", "phase", "started_at", "duration", "created_at", "updated_at", "workflow_node_metadata", "task_node_metadata", "deck_uri", "dynamic_job_spec_uri"]
+    __slots__ = ["output_uri", "error", "output_data", "full_outputs", "phase", "started_at", "duration", "created_at", "updated_at", "workflow_node_metadata", "task_node_metadata", "deck_uri", "dynamic_job_spec_uri"]
     OUTPUT_URI_FIELD_NUMBER: _ClassVar[int]
     ERROR_FIELD_NUMBER: _ClassVar[int]
     OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int]
+    FULL_OUTPUTS_FIELD_NUMBER: _ClassVar[int]
     PHASE_FIELD_NUMBER: _ClassVar[int]
     STARTED_AT_FIELD_NUMBER: _ClassVar[int]
     DURATION_FIELD_NUMBER: _ClassVar[int]
@@ -100,6 +101,7 @@ class NodeExecutionClosure(_message.Message):
     output_uri: str
     error: _execution_pb2.ExecutionError
     output_data: _literals_pb2.LiteralMap
+    full_outputs: _literals_pb2.OutputData
     phase: _execution_pb2.NodeExecution.Phase
     started_at: _timestamp_pb2.Timestamp
     duration: _duration_pb2.Duration
@@ -109,7 +111,7 @@ class NodeExecutionClosure(_message.Message):
     task_node_metadata: TaskNodeMetadata
     deck_uri: str
     dynamic_job_spec_uri: str
-    def __init__(self, output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., phase: _Optional[_Union[_execution_pb2.NodeExecution.Phase, str]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., workflow_node_metadata: _Optional[_Union[WorkflowNodeMetadata, _Mapping]] = ..., task_node_metadata: _Optional[_Union[TaskNodeMetadata, _Mapping]] = ..., deck_uri: _Optional[str] = ..., dynamic_job_spec_uri: _Optional[str] = ...) -> None: ...
+    def __init__(self, output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., phase: _Optional[_Union[_execution_pb2.NodeExecution.Phase, str]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., workflow_node_metadata: _Optional[_Union[WorkflowNodeMetadata, _Mapping]] = ..., task_node_metadata: _Optional[_Union[TaskNodeMetadata, _Mapping]] = ..., deck_uri: _Optional[str] = ..., dynamic_job_spec_uri: _Optional[str] = ...) -> None: ...
 
 class WorkflowNodeMetadata(_message.Message):
     __slots__ = ["executionId"]
diff --git a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py
index 58f8c1a66f..c0f0227d04 100644
--- a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py
+++ b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.py
@@ -21,7 +21,7 @@
 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/task_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1a\x66lyteidl/event/event.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"Q\n\x17TaskExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xe3\x01\n\x18TaskExecutionListRequest\x12R\n\x11node_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x0fnodeExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xc1\x01\n\rTaskExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.TaskExecutionClosureR\x07\x63losure\x12\x1b\n\tis_parent\x18\x04 \x01(\x08R\x08isParent\"q\n\x11TaskExecutionList\x12\x46\n\x0ftask_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.TaskExecutionR\x0etaskExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x9c\x06\n\x14TaskExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\x0c \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12*\n\x04logs\x18\x04 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x38\n\x0b\x63ustom_info\x18\t \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12\x16\n\x06reason\x18\n \x01(\tR\x06reason\x12\x1b\n\ttask_type\x18\x0b \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x11 \x01(\x05R\x0c\x65ventVersion\x12\x30\n\x07reasons\x18\x12 \x03(\x0b\x32\x16.flyteidl.admin.ReasonR\x07reasonsB\x0f\n\routput_result\"_\n\x06Reason\x12;\n\x0boccurred_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"U\n\x1bTaskExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xbb\x03\n\x1cTaskExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x06 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x07 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\x12\x38\n\nflyte_urls\x18\x05 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12TaskExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#flyteidl/admin/task_execution.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1a\x66lyteidl/event/event.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"Q\n\x17TaskExecutionGetRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xe3\x01\n\x18TaskExecutionListRequest\x12R\n\x11node_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x0fnodeExecutionId\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"\xc1\x01\n\rTaskExecution\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\x12\x1b\n\tinput_uri\x18\x02 \x01(\tR\x08inputUri\x12>\n\x07\x63losure\x18\x03 \x01(\x0b\x32$.flyteidl.admin.TaskExecutionClosureR\x07\x63losure\x12\x1b\n\tis_parent\x18\x04 \x01(\x08R\x08isParent\"q\n\x11TaskExecutionList\x12\x46\n\x0ftask_executions\x18\x01 \x03(\x0b\x32\x1d.flyteidl.admin.TaskExecutionR\x0etaskExecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xdc\x06\n\x14TaskExecutionClosure\x12#\n\noutput_uri\x18\x01 \x01(\tB\x02\x18\x01H\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12@\n\x0boutput_data\x18\x0c \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12>\n\x0c\x66ull_outputs\x18\x13 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\x0b\x66ullOutputs\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12*\n\x04logs\x18\x04 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x38\n\x0b\x63ustom_info\x18\t \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12\x16\n\x06reason\x18\n \x01(\tR\x06reason\x12\x1b\n\ttask_type\x18\x0b \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x11 \x01(\x05R\x0c\x65ventVersion\x12\x30\n\x07reasons\x18\x12 \x03(\x0b\x32\x16.flyteidl.admin.ReasonR\x07reasonsB\x0f\n\routput_result\"_\n\x06Reason\x12;\n\x0boccurred_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"U\n\x1bTaskExecutionGetDataRequest\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"\xbb\x03\n\x1cTaskExecutionGetDataResponse\x12\x33\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x06 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x07 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\x12\x38\n\nflyte_urls\x18\x05 \x01(\x0b\x32\x19.flyteidl.admin.FlyteURLsR\tflyteUrlsB\xbe\x01\n\x12\x63om.flyteidl.adminB\x12TaskExecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3')
 
 _globals = globals()
 _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -51,11 +51,11 @@
   _globals['_TASKEXECUTIONLIST']._serialized_start=809
   _globals['_TASKEXECUTIONLIST']._serialized_end=922
   _globals['_TASKEXECUTIONCLOSURE']._serialized_start=925
-  _globals['_TASKEXECUTIONCLOSURE']._serialized_end=1721
-  _globals['_REASON']._serialized_start=1723
-  _globals['_REASON']._serialized_end=1818
-  _globals['_TASKEXECUTIONGETDATAREQUEST']._serialized_start=1820
-  _globals['_TASKEXECUTIONGETDATAREQUEST']._serialized_end=1905
-  _globals['_TASKEXECUTIONGETDATARESPONSE']._serialized_start=1908
-  _globals['_TASKEXECUTIONGETDATARESPONSE']._serialized_end=2351
+  _globals['_TASKEXECUTIONCLOSURE']._serialized_end=1785
+  _globals['_REASON']._serialized_start=1787
+  _globals['_REASON']._serialized_end=1882
+  _globals['_TASKEXECUTIONGETDATAREQUEST']._serialized_start=1884
+  _globals['_TASKEXECUTIONGETDATAREQUEST']._serialized_end=1969
+  _globals['_TASKEXECUTIONGETDATARESPONSE']._serialized_start=1972
+  _globals['_TASKEXECUTIONGETDATARESPONSE']._serialized_end=2415
 # @@protoc_insertion_point(module_scope)
diff --git a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi
index 282cf2d95d..1def39e02c 100644
--- a/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi
+++ b/flyteidl/gen/pb_python/flyteidl/admin/task_execution_pb2.pyi
@@ -54,10 +54,11 @@ class TaskExecutionList(_message.Message):
     def __init__(self, task_executions: _Optional[_Iterable[_Union[TaskExecution, _Mapping]]] = ..., token: _Optional[str] = ...) -> None: ...
 
 class TaskExecutionClosure(_message.Message):
-    __slots__ = ["output_uri", "error", "output_data", "phase", "logs", "started_at", "duration", "created_at", "updated_at", "custom_info", "reason", "task_type", "metadata", "event_version", "reasons"]
+    __slots__ = ["output_uri", "error", "output_data", "full_outputs", "phase", "logs", "started_at", "duration", "created_at", "updated_at", "custom_info", "reason", "task_type", "metadata", "event_version", "reasons"]
     OUTPUT_URI_FIELD_NUMBER: _ClassVar[int]
     ERROR_FIELD_NUMBER: _ClassVar[int]
     OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int]
+    FULL_OUTPUTS_FIELD_NUMBER: _ClassVar[int]
     PHASE_FIELD_NUMBER: _ClassVar[int]
     LOGS_FIELD_NUMBER: _ClassVar[int]
     STARTED_AT_FIELD_NUMBER: _ClassVar[int]
@@ -73,6 +74,7 @@ class TaskExecutionClosure(_message.Message):
     output_uri: str
     error: _execution_pb2.ExecutionError
     output_data: _literals_pb2.LiteralMap
+    full_outputs: _literals_pb2.OutputData
     phase: _execution_pb2.TaskExecution.Phase
     logs: _containers.RepeatedCompositeFieldContainer[_execution_pb2.TaskLog]
     started_at: _timestamp_pb2.Timestamp
@@ -85,7 +87,7 @@ class TaskExecutionClosure(_message.Message):
     metadata: _event_pb2.TaskExecutionMetadata
     event_version: int
     reasons: _containers.RepeatedCompositeFieldContainer[Reason]
-    def __init__(self, output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., phase: _Optional[_Union[_execution_pb2.TaskExecution.Phase, str]] = ..., logs: _Optional[_Iterable[_Union[_execution_pb2.TaskLog, _Mapping]]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., custom_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., reason: _Optional[str] = ..., task_type: _Optional[str] = ..., metadata: _Optional[_Union[_event_pb2.TaskExecutionMetadata, _Mapping]] = ..., event_version: _Optional[int] = ..., reasons: _Optional[_Iterable[_Union[Reason, _Mapping]]] = ...) -> None: ...
+    def __init__(self, output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., phase: _Optional[_Union[_execution_pb2.TaskExecution.Phase, str]] = ..., logs: _Optional[_Iterable[_Union[_execution_pb2.TaskLog, _Mapping]]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., custom_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., reason: _Optional[str] = ..., task_type: _Optional[str] = ..., metadata: _Optional[_Union[_event_pb2.TaskExecutionMetadata, _Mapping]] = ..., event_version: _Optional[int] = ..., reasons: _Optional[_Iterable[_Union[Reason, _Mapping]]] = ...) -> None: ...
 
 class Reason(_message.Message):
     __slots__ = ["occurred_at", "message"]
diff --git a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py
index 0bdcca0c98..877fbe85ff 100644
--- a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py
+++ b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.py
@@ -20,7 +20,7 @@
 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/event/event.proto\x12\x0e\x66lyteidl.event\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x81\x04\n\x16WorkflowExecutionEvent\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12<\n\x05phase\x18\x03 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1f\n\noutput_uri\x18\x05 \x01(\tH\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x07 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x08 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\noutputDataB\x0f\n\routput_result\"\xd5\n\n\x12NodeExecutionEvent\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x05 \x01(\tH\x00R\x08inputUri\x12S\n\x15\x64\x65precated_input_data\x18\x14 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x13\x64\x65precatedInputData\x12\x39\n\ninput_data\x18\x18 \x01(\x0b\x32\x18.flyteidl.core.InputDataH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\x06 \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\x07 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x0f \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x01R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x17 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x01R\noutputData\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.event.WorkflowNodeMetadataH\x02R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\x0e \x01(\x0b\x32 .flyteidl.event.TaskNodeMetadataH\x02R\x10taskNodeMetadata\x12]\n\x14parent_task_metadata\x18\t \x01(\x0b\x32+.flyteidl.event.ParentTaskExecutionMetadataR\x12parentTaskMetadata\x12]\n\x14parent_node_metadata\x18\n \x01(\x0b\x32+.flyteidl.event.ParentNodeExecutionMetadataR\x12parentNodeMetadata\x12\x1f\n\x0bretry_group\x18\x0b \x01(\tR\nretryGroup\x12 \n\x0cspec_node_id\x18\x0c \x01(\tR\nspecNodeId\x12\x1b\n\tnode_name\x18\r \x01(\tR\x08nodeName\x12#\n\revent_version\x18\x10 \x01(\x05R\x0c\x65ventVersion\x12\x1b\n\tis_parent\x18\x11 \x01(\x08R\x08isParent\x12\x1d\n\nis_dynamic\x18\x12 \x01(\x08R\tisDynamic\x12\x19\n\x08\x64\x65\x63k_uri\x18\x13 \x01(\tR\x07\x64\x65\x63kUri\x12;\n\x0breported_at\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAt\x12\x19\n\x08is_array\x18\x16 \x01(\x08R\x07isArrayB\r\n\x0binput_valueB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"e\n\x14WorkflowNodeMetadata\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xf1\x02\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12W\n\x12reservation_status\x18\x03 \x01(\x0e\x32(.flyteidl.core.CatalogReservation.StatusR\x11reservationStatus\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.event.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bParentTaskExecutionMetadata\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"6\n\x1bParentNodeExecutionMetadata\x12\x17\n\x07node_id\x18\x01 \x01(\tR\x06nodeId\"b\n\x0b\x45ventReason\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\"\xc2\t\n\x12TaskExecutionEvent\x12\x32\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12_\n\x18parent_node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x15parentNodeExecutionId\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x1f\n\x0bproducer_id\x18\x05 \x01(\tR\nproducerId\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12;\n\x0boccurred_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x08 \x01(\tH\x00R\x08inputUri\x12S\n\x15\x64\x65precated_input_data\x18\x13 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x13\x64\x65precatedInputData\x12\x39\n\ninput_data\x18\x17 \x01(\x0b\x32\x18.flyteidl.core.InputDataH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\t \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\n \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x11 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x01R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x16 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x01R\noutputData\x12\x38\n\x0b\x63ustom_info\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12#\n\rphase_version\x18\x0c \x01(\rR\x0cphaseVersion\x12\x1a\n\x06reason\x18\r \x01(\tB\x02\x18\x01R\x06reason\x12\x35\n\x07reasons\x18\x15 \x03(\x0b\x32\x1b.flyteidl.event.EventReasonR\x07reasons\x12\x1b\n\ttask_type\x18\x0e \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x12 \x01(\x05R\x0c\x65ventVersion\x12;\n\x0breported_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAtB\r\n\x0binput_valueB\x0f\n\routput_result\"\x9e\x02\n\x14\x45xternalResourceInfo\x12\x1f\n\x0b\x65xternal_id\x18\x01 \x01(\tR\nexternalId\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x44\n\x0c\x63\x61\x63he_status\x18\x05 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\"[\n\x10ResourcePoolInfo\x12)\n\x10\x61llocation_token\x18\x01 \x01(\tR\x0f\x61llocationToken\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\x9d\x03\n\x15TaskExecutionMetadata\x12%\n\x0egenerated_name\x18\x01 \x01(\tR\rgeneratedName\x12S\n\x12\x65xternal_resources\x18\x02 \x03(\x0b\x32$.flyteidl.event.ExternalResourceInfoR\x11\x65xternalResources\x12N\n\x12resource_pool_info\x18\x03 \x03(\x0b\x32 .flyteidl.event.ResourcePoolInfoR\x10resourcePoolInfo\x12+\n\x11plugin_identifier\x18\x04 \x01(\tR\x10pluginIdentifier\x12Z\n\x0einstance_class\x18\x10 \x01(\x0e\x32\x33.flyteidl.event.TaskExecutionMetadata.InstanceClassR\rinstanceClass\"/\n\rInstanceClass\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x11\n\rINTERRUPTIBLE\x10\x01\x42\xb6\x01\n\x12\x63om.flyteidl.eventB\nEventProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event\xa2\x02\x03\x46\x45X\xaa\x02\x0e\x46lyteidl.Event\xca\x02\x0e\x46lyteidl\\Event\xe2\x02\x1a\x46lyteidl\\Event\\GPBMetadata\xea\x02\x0f\x46lyteidl::Eventb\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/event/event.proto\x12\x0e\x66lyteidl.event\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1c\x66lyteidl/core/compiler.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/catalog.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xa6\x04\n\x16WorkflowExecutionEvent\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12<\n\x05phase\x18\x03 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1f\n\noutput_uri\x18\x05 \x01(\tH\x00R\toutputUri\x12\x35\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x07 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x08 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\noutputData\x12#\n\revent_version\x18\t \x01(\x05R\x0c\x65ventVersionB\x0f\n\routput_result\"\xd5\n\n\x12NodeExecutionEvent\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x02id\x12\x1f\n\x0bproducer_id\x18\x02 \x01(\tR\nproducerId\x12\x38\n\x05phase\x18\x03 \x01(\x0e\x32\".flyteidl.core.NodeExecution.PhaseR\x05phase\x12;\n\x0boccurred_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x05 \x01(\tH\x00R\x08inputUri\x12S\n\x15\x64\x65precated_input_data\x18\x14 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x13\x64\x65precatedInputData\x12\x39\n\ninput_data\x18\x18 \x01(\x0b\x32\x18.flyteidl.core.InputDataH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\x06 \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\x07 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x0f \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x01R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x17 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x01R\noutputData\x12\\\n\x16workflow_node_metadata\x18\x08 \x01(\x0b\x32$.flyteidl.event.WorkflowNodeMetadataH\x02R\x14workflowNodeMetadata\x12P\n\x12task_node_metadata\x18\x0e \x01(\x0b\x32 .flyteidl.event.TaskNodeMetadataH\x02R\x10taskNodeMetadata\x12]\n\x14parent_task_metadata\x18\t \x01(\x0b\x32+.flyteidl.event.ParentTaskExecutionMetadataR\x12parentTaskMetadata\x12]\n\x14parent_node_metadata\x18\n \x01(\x0b\x32+.flyteidl.event.ParentNodeExecutionMetadataR\x12parentNodeMetadata\x12\x1f\n\x0bretry_group\x18\x0b \x01(\tR\nretryGroup\x12 \n\x0cspec_node_id\x18\x0c \x01(\tR\nspecNodeId\x12\x1b\n\tnode_name\x18\r \x01(\tR\x08nodeName\x12#\n\revent_version\x18\x10 \x01(\x05R\x0c\x65ventVersion\x12\x1b\n\tis_parent\x18\x11 \x01(\x08R\x08isParent\x12\x1d\n\nis_dynamic\x18\x12 \x01(\x08R\tisDynamic\x12\x19\n\x08\x64\x65\x63k_uri\x18\x13 \x01(\tR\x07\x64\x65\x63kUri\x12;\n\x0breported_at\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAt\x12\x19\n\x08is_array\x18\x16 \x01(\x08R\x07isArrayB\r\n\x0binput_valueB\x0f\n\routput_resultB\x11\n\x0ftarget_metadata\"e\n\x14WorkflowNodeMetadata\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xf1\x02\n\x10TaskNodeMetadata\x12\x44\n\x0c\x63\x61\x63he_status\x18\x01 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12?\n\x0b\x63\x61talog_key\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.CatalogMetadataR\ncatalogKey\x12W\n\x12reservation_status\x18\x03 \x01(\x0e\x32(.flyteidl.core.CatalogReservation.StatusR\x11reservationStatus\x12%\n\x0e\x63heckpoint_uri\x18\x04 \x01(\tR\rcheckpointUri\x12V\n\x10\x64ynamic_workflow\x18\x10 \x01(\x0b\x32+.flyteidl.event.DynamicWorkflowNodeMetadataR\x0f\x64ynamicWorkflow\"\xce\x01\n\x1b\x44ynamicWorkflowNodeMetadata\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12S\n\x11\x63ompiled_workflow\x18\x02 \x01(\x0b\x32&.flyteidl.core.CompiledWorkflowClosureR\x10\x63ompiledWorkflow\x12/\n\x14\x64ynamic_job_spec_uri\x18\x03 \x01(\tR\x11\x64ynamicJobSpecUri\"U\n\x1bParentTaskExecutionMetadata\x12\x36\n\x02id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x02id\"6\n\x1bParentNodeExecutionMetadata\x12\x17\n\x07node_id\x18\x01 \x01(\tR\x06nodeId\"b\n\x0b\x45ventReason\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\"\xc2\t\n\x12TaskExecutionEvent\x12\x32\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12_\n\x18parent_node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x15parentNodeExecutionId\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x1f\n\x0bproducer_id\x18\x05 \x01(\tR\nproducerId\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\x12;\n\x0boccurred_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1d\n\tinput_uri\x18\x08 \x01(\tH\x00R\x08inputUri\x12S\n\x15\x64\x65precated_input_data\x18\x13 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x13\x64\x65precatedInputData\x12\x39\n\ninput_data\x18\x17 \x01(\x0b\x32\x18.flyteidl.core.InputDataH\x00R\tinputData\x12\x1f\n\noutput_uri\x18\t \x01(\tH\x01R\toutputUri\x12\x35\n\x05\x65rror\x18\n \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x01R\x05\x65rror\x12U\n\x16\x64\x65precated_output_data\x18\x11 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x01R\x14\x64\x65precatedOutputData\x12<\n\x0boutput_data\x18\x16 \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x01R\noutputData\x12\x38\n\x0b\x63ustom_info\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\x12#\n\rphase_version\x18\x0c \x01(\rR\x0cphaseVersion\x12\x1a\n\x06reason\x18\r \x01(\tB\x02\x18\x01R\x06reason\x12\x35\n\x07reasons\x18\x15 \x03(\x0b\x32\x1b.flyteidl.event.EventReasonR\x07reasons\x12\x1b\n\ttask_type\x18\x0e \x01(\tR\x08taskType\x12\x41\n\x08metadata\x18\x10 \x01(\x0b\x32%.flyteidl.event.TaskExecutionMetadataR\x08metadata\x12#\n\revent_version\x18\x12 \x01(\x05R\x0c\x65ventVersion\x12;\n\x0breported_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreportedAtB\r\n\x0binput_valueB\x0f\n\routput_result\"\x9e\x02\n\x14\x45xternalResourceInfo\x12\x1f\n\x0b\x65xternal_id\x18\x01 \x01(\tR\nexternalId\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\x12\x38\n\x05phase\x18\x04 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x44\n\x0c\x63\x61\x63he_status\x18\x05 \x01(\x0e\x32!.flyteidl.core.CatalogCacheStatusR\x0b\x63\x61\x63heStatus\x12*\n\x04logs\x18\x06 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x04logs\"[\n\x10ResourcePoolInfo\x12)\n\x10\x61llocation_token\x18\x01 \x01(\tR\x0f\x61llocationToken\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\x9d\x03\n\x15TaskExecutionMetadata\x12%\n\x0egenerated_name\x18\x01 \x01(\tR\rgeneratedName\x12S\n\x12\x65xternal_resources\x18\x02 \x03(\x0b\x32$.flyteidl.event.ExternalResourceInfoR\x11\x65xternalResources\x12N\n\x12resource_pool_info\x18\x03 \x03(\x0b\x32 .flyteidl.event.ResourcePoolInfoR\x10resourcePoolInfo\x12+\n\x11plugin_identifier\x18\x04 \x01(\tR\x10pluginIdentifier\x12Z\n\x0einstance_class\x18\x10 \x01(\x0e\x32\x33.flyteidl.event.TaskExecutionMetadata.InstanceClassR\rinstanceClass\"/\n\rInstanceClass\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x11\n\rINTERRUPTIBLE\x10\x01\x42\xb6\x01\n\x12\x63om.flyteidl.eventB\nEventProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event\xa2\x02\x03\x46\x45X\xaa\x02\x0e\x46lyteidl.Event\xca\x02\x0e\x46lyteidl\\Event\xe2\x02\x1a\x46lyteidl\\Event\\GPBMetadata\xea\x02\x0f\x46lyteidl::Eventb\x06proto3')
 
 _globals = globals()
 _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -42,29 +42,29 @@
   _TASKEXECUTIONEVENT.fields_by_name['reason']._options = None
   _TASKEXECUTIONEVENT.fields_by_name['reason']._serialized_options = b'\030\001'
   _globals['_WORKFLOWEXECUTIONEVENT']._serialized_start=262
-  _globals['_WORKFLOWEXECUTIONEVENT']._serialized_end=775
-  _globals['_NODEEXECUTIONEVENT']._serialized_start=778
-  _globals['_NODEEXECUTIONEVENT']._serialized_end=2143
-  _globals['_WORKFLOWNODEMETADATA']._serialized_start=2145
-  _globals['_WORKFLOWNODEMETADATA']._serialized_end=2246
-  _globals['_TASKNODEMETADATA']._serialized_start=2249
-  _globals['_TASKNODEMETADATA']._serialized_end=2618
-  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_start=2621
-  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_end=2827
-  _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_start=2829
-  _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_end=2914
-  _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_start=2916
-  _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_end=2970
-  _globals['_EVENTREASON']._serialized_start=2972
-  _globals['_EVENTREASON']._serialized_end=3070
-  _globals['_TASKEXECUTIONEVENT']._serialized_start=3073
-  _globals['_TASKEXECUTIONEVENT']._serialized_end=4291
-  _globals['_EXTERNALRESOURCEINFO']._serialized_start=4294
-  _globals['_EXTERNALRESOURCEINFO']._serialized_end=4580
-  _globals['_RESOURCEPOOLINFO']._serialized_start=4582
-  _globals['_RESOURCEPOOLINFO']._serialized_end=4673
-  _globals['_TASKEXECUTIONMETADATA']._serialized_start=4676
-  _globals['_TASKEXECUTIONMETADATA']._serialized_end=5089
-  _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_start=5042
-  _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_end=5089
+  _globals['_WORKFLOWEXECUTIONEVENT']._serialized_end=812
+  _globals['_NODEEXECUTIONEVENT']._serialized_start=815
+  _globals['_NODEEXECUTIONEVENT']._serialized_end=2180
+  _globals['_WORKFLOWNODEMETADATA']._serialized_start=2182
+  _globals['_WORKFLOWNODEMETADATA']._serialized_end=2283
+  _globals['_TASKNODEMETADATA']._serialized_start=2286
+  _globals['_TASKNODEMETADATA']._serialized_end=2655
+  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_start=2658
+  _globals['_DYNAMICWORKFLOWNODEMETADATA']._serialized_end=2864
+  _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_start=2866
+  _globals['_PARENTTASKEXECUTIONMETADATA']._serialized_end=2951
+  _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_start=2953
+  _globals['_PARENTNODEEXECUTIONMETADATA']._serialized_end=3007
+  _globals['_EVENTREASON']._serialized_start=3009
+  _globals['_EVENTREASON']._serialized_end=3107
+  _globals['_TASKEXECUTIONEVENT']._serialized_start=3110
+  _globals['_TASKEXECUTIONEVENT']._serialized_end=4328
+  _globals['_EXTERNALRESOURCEINFO']._serialized_start=4331
+  _globals['_EXTERNALRESOURCEINFO']._serialized_end=4617
+  _globals['_RESOURCEPOOLINFO']._serialized_start=4619
+  _globals['_RESOURCEPOOLINFO']._serialized_end=4710
+  _globals['_TASKEXECUTIONMETADATA']._serialized_start=4713
+  _globals['_TASKEXECUTIONMETADATA']._serialized_end=5126
+  _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_start=5079
+  _globals['_TASKEXECUTIONMETADATA_INSTANCECLASS']._serialized_end=5126
 # @@protoc_insertion_point(module_scope)
diff --git a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi
index b917bc00a4..c4095b0dc8 100644
--- a/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi
+++ b/flyteidl/gen/pb_python/flyteidl/event/event_pb2.pyi
@@ -14,7 +14,7 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
 DESCRIPTOR: _descriptor.FileDescriptor
 
 class WorkflowExecutionEvent(_message.Message):
-    __slots__ = ["execution_id", "producer_id", "phase", "occurred_at", "output_uri", "error", "deprecated_output_data", "output_data"]
+    __slots__ = ["execution_id", "producer_id", "phase", "occurred_at", "output_uri", "error", "deprecated_output_data", "output_data", "event_version"]
     EXECUTION_ID_FIELD_NUMBER: _ClassVar[int]
     PRODUCER_ID_FIELD_NUMBER: _ClassVar[int]
     PHASE_FIELD_NUMBER: _ClassVar[int]
@@ -23,6 +23,7 @@ class WorkflowExecutionEvent(_message.Message):
     ERROR_FIELD_NUMBER: _ClassVar[int]
     DEPRECATED_OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int]
     OUTPUT_DATA_FIELD_NUMBER: _ClassVar[int]
+    EVENT_VERSION_FIELD_NUMBER: _ClassVar[int]
     execution_id: _identifier_pb2.WorkflowExecutionIdentifier
     producer_id: str
     phase: _execution_pb2.WorkflowExecution.Phase
@@ -31,7 +32,8 @@ class WorkflowExecutionEvent(_message.Message):
     error: _execution_pb2.ExecutionError
     deprecated_output_data: _literals_pb2.LiteralMap
     output_data: _literals_pb2.OutputData
-    def __init__(self, execution_id: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ..., producer_id: _Optional[str] = ..., phase: _Optional[_Union[_execution_pb2.WorkflowExecution.Phase, str]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., deprecated_output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ...) -> None: ...
+    event_version: int
+    def __init__(self, execution_id: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ..., producer_id: _Optional[str] = ..., phase: _Optional[_Union[_execution_pb2.WorkflowExecution.Phase, str]] = ..., occurred_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., output_uri: _Optional[str] = ..., error: _Optional[_Union[_execution_pb2.ExecutionError, _Mapping]] = ..., deprecated_output_data: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., output_data: _Optional[_Union[_literals_pb2.OutputData, _Mapping]] = ..., event_version: _Optional[int] = ...) -> None: ...
 
 class NodeExecutionEvent(_message.Message):
     __slots__ = ["id", "producer_id", "phase", "occurred_at", "input_uri", "deprecated_input_data", "input_data", "output_uri", "error", "deprecated_output_data", "output_data", "workflow_node_metadata", "task_node_metadata", "parent_task_metadata", "parent_node_metadata", "retry_group", "spec_node_id", "node_name", "event_version", "is_parent", "is_dynamic", "deck_uri", "reported_at", "is_array"]
diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_closure.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_closure.py
index a08f3ca1d8..94ff207162 100644
--- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_closure.py
+++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_closure.py
@@ -23,6 +23,7 @@
 from flyteadmin.models.core_execution_error import CoreExecutionError  # noqa: F401,E501
 from flyteadmin.models.core_identifier import CoreIdentifier  # noqa: F401,E501
 from flyteadmin.models.core_literal_map import CoreLiteralMap  # noqa: F401,E501
+from flyteadmin.models.core_output_data import CoreOutputData  # noqa: F401,E501
 from flyteadmin.models.core_workflow_execution_phase import CoreWorkflowExecutionPhase  # noqa: F401,E501
 
 
@@ -45,6 +46,7 @@ class AdminExecutionClosure(object):
         'abort_cause': 'str',
         'abort_metadata': 'AdminAbortMetadata',
         'output_data': 'CoreLiteralMap',
+        'full_outputs': 'CoreOutputData',
         'computed_inputs': 'CoreLiteralMap',
         'phase': 'CoreWorkflowExecutionPhase',
         'started_at': 'datetime',
@@ -62,6 +64,7 @@ class AdminExecutionClosure(object):
         'abort_cause': 'abort_cause',
         'abort_metadata': 'abort_metadata',
         'output_data': 'output_data',
+        'full_outputs': 'full_outputs',
         'computed_inputs': 'computed_inputs',
         'phase': 'phase',
         'started_at': 'started_at',
@@ -73,7 +76,7 @@ class AdminExecutionClosure(object):
         'state_change_details': 'state_change_details'
     }
 
-    def __init__(self, outputs=None, error=None, abort_cause=None, abort_metadata=None, output_data=None, computed_inputs=None, phase=None, started_at=None, duration=None, created_at=None, updated_at=None, notifications=None, workflow_id=None, state_change_details=None):  # noqa: E501
+    def __init__(self, outputs=None, error=None, abort_cause=None, abort_metadata=None, output_data=None, full_outputs=None, computed_inputs=None, phase=None, started_at=None, duration=None, created_at=None, updated_at=None, notifications=None, workflow_id=None, state_change_details=None):  # noqa: E501
         """AdminExecutionClosure - a model defined in Swagger"""  # noqa: E501
 
         self._outputs = None
@@ -81,6 +84,7 @@ def __init__(self, outputs=None, error=None, abort_cause=None, abort_metadata=No
         self._abort_cause = None
         self._abort_metadata = None
         self._output_data = None
+        self._full_outputs = None
         self._computed_inputs = None
         self._phase = None
         self._started_at = None
@@ -102,6 +106,8 @@ def __init__(self, outputs=None, error=None, abort_cause=None, abort_metadata=No
             self.abort_metadata = abort_metadata
         if output_data is not None:
             self.output_data = output_data
+        if full_outputs is not None:
+            self.full_outputs = full_outputs
         if computed_inputs is not None:
             self.computed_inputs = computed_inputs
         if phase is not None:
@@ -236,6 +242,29 @@ def output_data(self, output_data):
 
         self._output_data = output_data
 
+    @property
+    def full_outputs(self):
+        """Gets the full_outputs of this AdminExecutionClosure.  # noqa: E501
+
+        Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead.  # noqa: E501
+
+        :return: The full_outputs of this AdminExecutionClosure.  # noqa: E501
+        :rtype: CoreOutputData
+        """
+        return self._full_outputs
+
+    @full_outputs.setter
+    def full_outputs(self, full_outputs):
+        """Sets the full_outputs of this AdminExecutionClosure.
+
+        Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead.  # noqa: E501
+
+        :param full_outputs: The full_outputs of this AdminExecutionClosure.  # noqa: E501
+        :type: CoreOutputData
+        """
+
+        self._full_outputs = full_outputs
+
     @property
     def computed_inputs(self):
         """Gets the computed_inputs of this AdminExecutionClosure.  # noqa: E501
diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_closure.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_closure.py
index 67eb4c68b8..04a3fae3fa 100644
--- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_closure.py
+++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_node_execution_closure.py
@@ -19,6 +19,7 @@
 from flyteadmin.models.core_execution_error import CoreExecutionError  # noqa: F401,E501
 from flyteadmin.models.core_literal_map import CoreLiteralMap  # noqa: F401,E501
 from flyteadmin.models.core_node_execution_phase import CoreNodeExecutionPhase  # noqa: F401,E501
+from flyteadmin.models.core_output_data import CoreOutputData  # noqa: F401,E501
 from flyteadmin.models.flyteidladmin_task_node_metadata import FlyteidladminTaskNodeMetadata  # noqa: F401,E501
 from flyteadmin.models.flyteidladmin_workflow_node_metadata import FlyteidladminWorkflowNodeMetadata  # noqa: F401,E501
 
@@ -40,6 +41,7 @@ class AdminNodeExecutionClosure(object):
         'output_uri': 'str',
         'error': 'CoreExecutionError',
         'output_data': 'CoreLiteralMap',
+        'full_outputs': 'CoreOutputData',
         'phase': 'CoreNodeExecutionPhase',
         'started_at': 'datetime',
         'duration': 'str',
@@ -55,6 +57,7 @@ class AdminNodeExecutionClosure(object):
         'output_uri': 'output_uri',
         'error': 'error',
         'output_data': 'output_data',
+        'full_outputs': 'full_outputs',
         'phase': 'phase',
         'started_at': 'started_at',
         'duration': 'duration',
@@ -66,12 +69,13 @@ class AdminNodeExecutionClosure(object):
         'dynamic_job_spec_uri': 'dynamic_job_spec_uri'
     }
 
-    def __init__(self, output_uri=None, error=None, output_data=None, phase=None, started_at=None, duration=None, created_at=None, updated_at=None, workflow_node_metadata=None, task_node_metadata=None, deck_uri=None, dynamic_job_spec_uri=None):  # noqa: E501
+    def __init__(self, output_uri=None, error=None, output_data=None, full_outputs=None, phase=None, started_at=None, duration=None, created_at=None, updated_at=None, workflow_node_metadata=None, task_node_metadata=None, deck_uri=None, dynamic_job_spec_uri=None):  # noqa: E501
         """AdminNodeExecutionClosure - a model defined in Swagger"""  # noqa: E501
 
         self._output_uri = None
         self._error = None
         self._output_data = None
+        self._full_outputs = None
         self._phase = None
         self._started_at = None
         self._duration = None
@@ -89,6 +93,8 @@ def __init__(self, output_uri=None, error=None, output_data=None, phase=None, st
             self.error = error
         if output_data is not None:
             self.output_data = output_data
+        if full_outputs is not None:
+            self.full_outputs = full_outputs
         if phase is not None:
             self.phase = phase
         if started_at is not None:
@@ -175,6 +181,29 @@ def output_data(self, output_data):
 
         self._output_data = output_data
 
+    @property
+    def full_outputs(self):
+        """Gets the full_outputs of this AdminNodeExecutionClosure.  # noqa: E501
+
+        Raw output data produced by this node execution.  # noqa: E501
+
+        :return: The full_outputs of this AdminNodeExecutionClosure.  # noqa: E501
+        :rtype: CoreOutputData
+        """
+        return self._full_outputs
+
+    @full_outputs.setter
+    def full_outputs(self, full_outputs):
+        """Sets the full_outputs of this AdminNodeExecutionClosure.
+
+        Raw output data produced by this node execution.  # noqa: E501
+
+        :param full_outputs: The full_outputs of this AdminNodeExecutionClosure.  # noqa: E501
+        :type: CoreOutputData
+        """
+
+        self._full_outputs = full_outputs
+
     @property
     def phase(self):
         """Gets the phase of this AdminNodeExecutionClosure.  # noqa: E501
diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_closure.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_closure.py
index f008dc64b4..95cb4988fe 100644
--- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_closure.py
+++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_task_execution_closure.py
@@ -19,6 +19,7 @@
 from flyteadmin.models.admin_reason import AdminReason  # noqa: F401,E501
 from flyteadmin.models.core_execution_error import CoreExecutionError  # noqa: F401,E501
 from flyteadmin.models.core_literal_map import CoreLiteralMap  # noqa: F401,E501
+from flyteadmin.models.core_output_data import CoreOutputData  # noqa: F401,E501
 from flyteadmin.models.core_task_execution_phase import CoreTaskExecutionPhase  # noqa: F401,E501
 from flyteadmin.models.core_task_log import CoreTaskLog  # noqa: F401,E501
 from flyteadmin.models.flyteidlevent_task_execution_metadata import FlyteidleventTaskExecutionMetadata  # noqa: F401,E501
@@ -42,6 +43,7 @@ class AdminTaskExecutionClosure(object):
         'output_uri': 'str',
         'error': 'CoreExecutionError',
         'output_data': 'CoreLiteralMap',
+        'full_outputs': 'CoreOutputData',
         'phase': 'CoreTaskExecutionPhase',
         'logs': 'list[CoreTaskLog]',
         'started_at': 'datetime',
@@ -60,6 +62,7 @@ class AdminTaskExecutionClosure(object):
         'output_uri': 'output_uri',
         'error': 'error',
         'output_data': 'output_data',
+        'full_outputs': 'full_outputs',
         'phase': 'phase',
         'logs': 'logs',
         'started_at': 'started_at',
@@ -74,12 +77,13 @@ class AdminTaskExecutionClosure(object):
         'reasons': 'reasons'
     }
 
-    def __init__(self, output_uri=None, error=None, output_data=None, phase=None, logs=None, started_at=None, duration=None, created_at=None, updated_at=None, custom_info=None, reason=None, task_type=None, metadata=None, event_version=None, reasons=None):  # noqa: E501
+    def __init__(self, output_uri=None, error=None, output_data=None, full_outputs=None, phase=None, logs=None, started_at=None, duration=None, created_at=None, updated_at=None, custom_info=None, reason=None, task_type=None, metadata=None, event_version=None, reasons=None):  # noqa: E501
         """AdminTaskExecutionClosure - a model defined in Swagger"""  # noqa: E501
 
         self._output_uri = None
         self._error = None
         self._output_data = None
+        self._full_outputs = None
         self._phase = None
         self._logs = None
         self._started_at = None
@@ -100,6 +104,8 @@ def __init__(self, output_uri=None, error=None, output_data=None, phase=None, lo
             self.error = error
         if output_data is not None:
             self.output_data = output_data
+        if full_outputs is not None:
+            self.full_outputs = full_outputs
         if phase is not None:
             self.phase = phase
         if logs is not None:
@@ -194,6 +200,29 @@ def output_data(self, output_data):
 
         self._output_data = output_data
 
+    @property
+    def full_outputs(self):
+        """Gets the full_outputs of this AdminTaskExecutionClosure.  # noqa: E501
+
+        Raw output data produced by this task execution.  # noqa: E501
+
+        :return: The full_outputs of this AdminTaskExecutionClosure.  # noqa: E501
+        :rtype: CoreOutputData
+        """
+        return self._full_outputs
+
+    @full_outputs.setter
+    def full_outputs(self, full_outputs):
+        """Sets the full_outputs of this AdminTaskExecutionClosure.
+
+        Raw output data produced by this task execution.  # noqa: E501
+
+        :param full_outputs: The full_outputs of this AdminTaskExecutionClosure.  # noqa: E501
+        :type: CoreOutputData
+        """
+
+        self._full_outputs = full_outputs
+
     @property
     def phase(self):
         """Gets the phase of this AdminTaskExecutionClosure.  # noqa: E501
diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py
index 54075acd7a..e9f7eadfd5 100644
--- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py
+++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/event_workflow_execution_event.py
@@ -44,7 +44,8 @@ class EventWorkflowExecutionEvent(object):
         'output_uri': 'str',
         'error': 'CoreExecutionError',
         'deprecated_output_data': 'CoreLiteralMap',
-        'output_data': 'CoreOutputData'
+        'output_data': 'CoreOutputData',
+        'event_version': 'int'
     }
 
     attribute_map = {
@@ -55,10 +56,11 @@ class EventWorkflowExecutionEvent(object):
         'output_uri': 'output_uri',
         'error': 'error',
         'deprecated_output_data': 'deprecated_output_data',
-        'output_data': 'output_data'
+        'output_data': 'output_data',
+        'event_version': 'event_version'
     }
 
-    def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at=None, output_uri=None, error=None, deprecated_output_data=None, output_data=None):  # noqa: E501
+    def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at=None, output_uri=None, error=None, deprecated_output_data=None, output_data=None, event_version=None):  # noqa: E501
         """EventWorkflowExecutionEvent - a model defined in Swagger"""  # noqa: E501
 
         self._execution_id = None
@@ -69,6 +71,7 @@ def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at=
         self._error = None
         self._deprecated_output_data = None
         self._output_data = None
+        self._event_version = None
         self.discriminator = None
 
         if execution_id is not None:
@@ -87,6 +90,8 @@ def __init__(self, execution_id=None, producer_id=None, phase=None, occurred_at=
             self.deprecated_output_data = deprecated_output_data
         if output_data is not None:
             self.output_data = output_data
+        if event_version is not None:
+            self.event_version = event_version
 
     @property
     def execution_id(self):
@@ -262,6 +267,27 @@ def output_data(self, output_data):
 
         self._output_data = output_data
 
+    @property
+    def event_version(self):
+        """Gets the event_version of this EventWorkflowExecutionEvent.  # noqa: E501
+
+
+        :return: The event_version of this EventWorkflowExecutionEvent.  # noqa: E501
+        :rtype: int
+        """
+        return self._event_version
+
+    @event_version.setter
+    def event_version(self, event_version):
+        """Sets the event_version of this EventWorkflowExecutionEvent.
+
+
+        :param event_version: The event_version of this EventWorkflowExecutionEvent.  # noqa: E501
+        :type: int
+        """
+
+        self._event_version = event_version
+
     def to_dict(self):
         """Returns the model properties as a dict"""
         result = {}
diff --git a/flyteidl/gen/pb_rust/flyteidl.admin.rs b/flyteidl/gen/pb_rust/flyteidl.admin.rs
index ab6e092519..4b871856b5 100644
--- a/flyteidl/gen/pb_rust/flyteidl.admin.rs
+++ b/flyteidl/gen/pb_rust/flyteidl.admin.rs
@@ -977,7 +977,7 @@ pub struct ExecutionClosure {
     pub state_change_details: ::core::option::Option,
     /// A result produced by a terminated execution.
     /// A pending (non-terminal) execution will not have any output result.
-    #[prost(oneof="execution_closure::OutputResult", tags="1, 2, 10, 12, 13")]
+    #[prost(oneof="execution_closure::OutputResult", tags="1, 2, 10, 12, 13, 15")]
     pub output_result: ::core::option::Option,
 }
 /// Nested message and enum types in `ExecutionClosure`.
@@ -1004,6 +1004,10 @@ pub mod execution_closure {
         /// DEPRECATED. Use GetExecutionData to fetch output data instead.
         #[prost(message, tag="13")]
         OutputData(super::super::core::LiteralMap),
+        /// Raw output data produced by this execution.
+        /// DEPRECATED. Use GetExecutionData to fetch output data instead.
+        #[prost(message, tag="15")]
+        FullOutputs(super::super::core::OutputData),
     }
 }
 /// Represents system, rather than user-facing, metadata about an execution.
@@ -2057,7 +2061,7 @@ pub struct NodeExecutionClosure {
     #[prost(string, tag="12")]
     pub dynamic_job_spec_uri: ::prost::alloc::string::String,
     /// Only a node in a terminal state will have a non-empty output_result.
-    #[prost(oneof="node_execution_closure::OutputResult", tags="1, 2, 10")]
+    #[prost(oneof="node_execution_closure::OutputResult", tags="1, 2, 10, 13")]
     pub output_result: ::core::option::Option,
     /// Store metadata for what the node launched.
     /// for ex: if this is a workflow node, we store information for the launched workflow.
@@ -2081,6 +2085,9 @@ pub mod node_execution_closure {
         /// DEPRECATED. Use GetNodeExecutionData to fetch output data instead.
         #[prost(message, tag="10")]
         OutputData(super::super::core::LiteralMap),
+        /// Raw output data produced by this node execution.
+        #[prost(message, tag="13")]
+        FullOutputs(super::super::core::OutputData),
     }
     /// Store metadata for what the node launched.
     /// for ex: if this is a workflow node, we store information for the launched workflow.
@@ -2741,7 +2748,7 @@ pub struct TaskExecutionClosure {
     /// as previously done, is much more valuable in visualizing and understanding historical evaluations.
     #[prost(message, repeated, tag="18")]
     pub reasons: ::prost::alloc::vec::Vec,
-    #[prost(oneof="task_execution_closure::OutputResult", tags="1, 2, 12")]
+    #[prost(oneof="task_execution_closure::OutputResult", tags="1, 2, 12, 19")]
     pub output_result: ::core::option::Option,
 }
 /// Nested message and enum types in `TaskExecutionClosure`.
@@ -2760,6 +2767,9 @@ pub mod task_execution_closure {
         /// DEPRECATED. Use GetTaskExecutionData to fetch output data instead.
         #[prost(message, tag="12")]
         OutputData(super::super::core::LiteralMap),
+        /// Raw output data produced by this task execution.
+        #[prost(message, tag="19")]
+        FullOutputs(super::super::core::OutputData),
     }
 }
 /// Reason is a single message annotated with a timestamp to indicate the instant the reason occurred.
diff --git a/flyteidl/gen/pb_rust/flyteidl.event.rs b/flyteidl/gen/pb_rust/flyteidl.event.rs
index 959ec0b214..0505acf49c 100644
--- a/flyteidl/gen/pb_rust/flyteidl.event.rs
+++ b/flyteidl/gen/pb_rust/flyteidl.event.rs
@@ -14,6 +14,8 @@ pub struct WorkflowExecutionEvent {
     /// by the executor of the workflow.
     #[prost(message, optional, tag="4")]
     pub occurred_at: ::core::option::Option<::prost_types::Timestamp>,
+    #[prost(int32, tag="9")]
+    pub event_version: i32,
     #[prost(oneof="workflow_execution_event::OutputResult", tags="5, 6, 7, 8")]
     pub output_result: ::core::option::Option,
 }
diff --git a/flyteidl/protos/flyteidl/admin/execution.proto b/flyteidl/protos/flyteidl/admin/execution.proto
index e918c8ebcd..2ceec6c9f7 100644
--- a/flyteidl/protos/flyteidl/admin/execution.proto
+++ b/flyteidl/protos/flyteidl/admin/execution.proto
@@ -158,6 +158,10 @@ message ExecutionClosure {
         // Raw output data produced by this execution.
         // DEPRECATED. Use GetExecutionData to fetch output data instead.
         core.LiteralMap output_data = 13 [deprecated = true];
+
+        // Raw output data produced by this execution.
+        // DEPRECATED. Use GetExecutionData to fetch output data instead.
+        core.OutputData full_outputs = 15;
     }
 
     // Inputs computed and passed for execution.
diff --git a/flyteidl/protos/flyteidl/admin/node_execution.proto b/flyteidl/protos/flyteidl/admin/node_execution.proto
index a43edb5db7..2c3ec52239 100644
--- a/flyteidl/protos/flyteidl/admin/node_execution.proto
+++ b/flyteidl/protos/flyteidl/admin/node_execution.proto
@@ -144,6 +144,9 @@ message NodeExecutionClosure {
         // Raw output data produced by this node execution.
         // DEPRECATED. Use GetNodeExecutionData to fetch output data instead.
         core.LiteralMap output_data        = 10 [deprecated = true];
+
+        // Raw output data produced by this node execution.
+        core.OutputData full_outputs       = 13;
     }
 
     // The last recorded phase for this node execution.
diff --git a/flyteidl/protos/flyteidl/admin/task_execution.proto b/flyteidl/protos/flyteidl/admin/task_execution.proto
index 431e2aee01..1f6a563eb2 100644
--- a/flyteidl/protos/flyteidl/admin/task_execution.proto
+++ b/flyteidl/protos/flyteidl/admin/task_execution.proto
@@ -86,6 +86,9 @@ message TaskExecutionClosure {
         // Raw output data produced by this task execution.
         // DEPRECATED. Use GetTaskExecutionData to fetch output data instead.
         core.LiteralMap output_data        = 12 [deprecated = true];
+
+        // Raw output data produced by this task execution.
+        core.OutputData full_outputs = 19;
     }
 
     // The last recorded phase for this task execution.
diff --git a/flyteidl/protos/flyteidl/event/event.proto b/flyteidl/protos/flyteidl/event/event.proto
index b52ef6dd6a..303a229e86 100644
--- a/flyteidl/protos/flyteidl/event/event.proto
+++ b/flyteidl/protos/flyteidl/event/event.proto
@@ -40,6 +40,8 @@ message WorkflowExecutionEvent {
         // Raw output data produced by this workflow execution.
         core.OutputData output_data = 8;
     }
+
+    int32 event_version = 9;
 }
 
 message NodeExecutionEvent {
diff --git a/flytepropeller/events/node_event_recorder.go b/flytepropeller/events/node_event_recorder.go
index cb856fcbac..ea2bfaa93d 100644
--- a/flytepropeller/events/node_event_recorder.go
+++ b/flytepropeller/events/node_event_recorder.go
@@ -11,7 +11,6 @@ import (
 	"github.com/flyteorg/flyte/flytepropeller/pkg/controller/config"
 	"github.com/flyteorg/flyte/flytestdlib/promutils"
 	"github.com/flyteorg/flyte/flytestdlib/storage"
-	"github.com/golang/protobuf/proto"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 )
@@ -50,14 +49,30 @@ func (r *nodeEventRecorder) RecordNodeEvent(ctx context.Context, ev *event.NodeE
 	var origEvent = ev
 	var rawOutputPolicy = eventConfig.RawOutputPolicy
 	if rawOutputPolicy == config.RawOutputPolicyInline && len(ev.GetOutputUri()) > 0 {
-		outputs := &core.LiteralMap{}
-		err := r.store.ReadProtobuf(ctx, storage.DataReference(ev.GetOutputUri()), outputs)
+		outputLit := &core.LiteralMap{}
+		outputs := &core.OutputData{}
+		i, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputLit)
 		if err != nil {
 			// Fall back to forwarding along outputs by reference when we can't fetch them.
 			logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err)
 			rawOutputPolicy = config.RawOutputPolicyReference
+		} else if ev.GetEventVersion() < 3 {
+			// Set literal maps
+			if i == 0 {
+				outputLit = outputs.Outputs
+			}
+
+			ev.OutputResult = &event.NodeExecutionEvent_DeprecatedOutputData{
+				DeprecatedOutputData: outputLit,
+			}
 		} else {
-			origEvent = proto.Clone(ev).(*event.NodeExecutionEvent)
+			// Use OutputData
+			if i == 1 {
+				outputs = &core.OutputData{
+					Outputs: outputLit,
+				}
+			}
+
 			ev.OutputResult = &event.NodeExecutionEvent_OutputData{
 				OutputData: outputs,
 			}
diff --git a/flytepropeller/events/task_event_recorder.go b/flytepropeller/events/task_event_recorder.go
index f2ca2dc666..bd32296e51 100644
--- a/flytepropeller/events/task_event_recorder.go
+++ b/flytepropeller/events/task_event_recorder.go
@@ -11,7 +11,6 @@ import (
 	"github.com/flyteorg/flyte/flytepropeller/pkg/controller/config"
 	"github.com/flyteorg/flyte/flytestdlib/promutils"
 	"github.com/flyteorg/flyte/flytestdlib/storage"
-	"github.com/golang/protobuf/proto"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 )
@@ -50,14 +49,28 @@ func (r *taskEventRecorder) RecordTaskEvent(ctx context.Context, ev *event.TaskE
 	var origEvent = ev
 	var rawOutputPolicy = eventConfig.RawOutputPolicy
 	if rawOutputPolicy == config.RawOutputPolicyInline && len(ev.GetOutputUri()) > 0 {
-		outputs := &core.LiteralMap{}
-		err := r.store.ReadProtobuf(ctx, storage.DataReference(ev.GetOutputUri()), outputs)
+		outputsLit := &core.LiteralMap{}
+		outputs := &core.OutputData{}
+		i, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputsLit)
 		if err != nil {
 			// Fall back to forwarding along outputs by reference when we can't fetch them.
 			logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err)
 			rawOutputPolicy = config.RawOutputPolicyReference
+		} else if ev.EventVersion < 3 {
+			if i == 0 {
+				outputsLit = outputs.Outputs
+			}
+
+			ev.OutputResult = &event.TaskExecutionEvent_DeprecatedOutputData{
+				DeprecatedOutputData: outputsLit,
+			}
 		} else {
-			origEvent = proto.Clone(ev).(*event.TaskExecutionEvent)
+			if i == 1 {
+				outputs = &core.OutputData{
+					Outputs: outputsLit,
+				}
+			}
+
 			ev.OutputResult = &event.TaskExecutionEvent_OutputData{
 				OutputData: outputs,
 			}
diff --git a/flytepropeller/events/workflow_event_recorder.go b/flytepropeller/events/workflow_event_recorder.go
index b898dc9b98..8321d47e88 100644
--- a/flytepropeller/events/workflow_event_recorder.go
+++ b/flytepropeller/events/workflow_event_recorder.go
@@ -11,7 +11,6 @@ import (
 	"github.com/flyteorg/flyte/flytepropeller/pkg/controller/config"
 	"github.com/flyteorg/flyte/flytestdlib/promutils"
 	"github.com/flyteorg/flyte/flytestdlib/storage"
-	"github.com/golang/protobuf/proto"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 )
@@ -50,14 +49,28 @@ func (r *workflowEventRecorder) RecordWorkflowEvent(ctx context.Context, ev *eve
 	var origEvent = ev
 	var rawOutputPolicy = eventConfig.RawOutputPolicy
 	if rawOutputPolicy == config.RawOutputPolicyInline && len(ev.GetOutputUri()) > 0 {
-		outputs := &core.LiteralMap{}
-		err := r.store.ReadProtobuf(ctx, storage.DataReference(ev.GetOutputUri()), outputs)
+		outputsLit := &core.LiteralMap{}
+		outputs := &core.OutputData{}
+		i, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputsLit)
 		if err != nil {
 			// Fall back to forwarding along outputs by reference when we can't fetch them.
 			logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err)
 			rawOutputPolicy = config.RawOutputPolicyReference
+		} else if ev.EventVersion < 3 {
+			if i == 0 {
+				outputsLit = outputs.Outputs
+			}
+
+			ev.OutputResult = &event.WorkflowExecutionEvent_DeprecatedOutputData{
+				DeprecatedOutputData: outputsLit,
+			}
 		} else {
-			origEvent = proto.Clone(ev).(*event.WorkflowExecutionEvent)
+			if i == 0 {
+				outputs = &core.OutputData{
+					Outputs: outputsLit,
+				}
+			}
+
 			ev.OutputResult = &event.WorkflowExecutionEvent_OutputData{
 				OutputData: outputs,
 			}
diff --git a/flytepropeller/pkg/controller/nodes/end/handler_test.go b/flytepropeller/pkg/controller/nodes/end/handler_test.go
index 502265585a..4cfd09ee99 100644
--- a/flytepropeller/pkg/controller/nodes/end/handler_test.go
+++ b/flytepropeller/pkg/controller/nodes/end/handler_test.go
@@ -50,6 +50,10 @@ func (t TestProtoDataStore) ReadProtobuf(ctx context.Context, reference storage.
 	return t.ReadProtobufCb(ctx, reference, msg)
 }
 
+func (t TestProtoDataStore) ReadProtobufAny(ctx context.Context, reference storage.DataReference, msg ...proto.Message) (int, error) {
+	return 0, t.ReadProtobufCb(ctx, reference, msg[0])
+}
+
 func (t TestProtoDataStore) WriteProtobuf(ctx context.Context, reference storage.DataReference, opts storage.Options, msg proto.Message) error {
 	return t.WriteProtobufCb(ctx, reference, opts, msg)
 }
diff --git a/flytestdlib/storage/protobuf_store.go b/flytestdlib/storage/protobuf_store.go
index 30701d729f..7b8d482c6d 100644
--- a/flytestdlib/storage/protobuf_store.go
+++ b/flytestdlib/storage/protobuf_store.go
@@ -31,12 +31,12 @@ type DefaultProtobufStore struct {
 	metrics *protoMetrics
 }
 
-func (s DefaultProtobufStore) ReadProtobuf(ctx context.Context, reference DataReference, msg proto.Message) error {
+func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference DataReference, msg ...proto.Message) (int, error) {
 	rc, err := s.ReadRaw(ctx, reference)
 	if err != nil && !IsFailedWriteToCache(err) {
 		logger.Errorf(ctx, "Failed to read from the raw store [%s] Error: %v", reference, err)
 		s.metrics.ReadFailureUnrelatedToCache.Inc()
-		return errs.Wrap(err, fmt.Sprintf("path:%v", reference))
+		return -1, errs.Wrap(err, fmt.Sprintf("path:%v", reference))
 	}
 
 	defer func() {
@@ -48,18 +48,29 @@ func (s DefaultProtobufStore) ReadProtobuf(ctx context.Context, reference DataRe
 
 	docContents, err := ioutils.ReadAll(rc, s.metrics.FetchLatency.Start())
 	if err != nil {
-		return errs.Wrap(err, fmt.Sprintf("readAll: %v", reference))
+		return -1, errs.Wrap(err, fmt.Sprintf("readAll: %v", reference))
 	}
 
-	t := s.metrics.UnmarshalTime.Start()
-	err = proto.Unmarshal(docContents, msg)
-	t.Stop()
-	if err != nil {
-		s.metrics.UnmarshalFailure.Inc()
-		return errs.Wrap(err, fmt.Sprintf("unmarshall: %v", reference))
+	var lastErr error
+	for i, m := range msg {
+		t := s.metrics.UnmarshalTime.Start()
+		err = proto.Unmarshal(docContents, m)
+		t.Stop()
+		if err != nil {
+			s.metrics.UnmarshalFailure.Inc()
+			lastErr = errs.Wrap(err, fmt.Sprintf("unmarshall: %v", reference))
+			continue
+		}
+
+		return i, nil
 	}
 
-	return nil
+	return -1, lastErr
+}
+
+func (s DefaultProtobufStore) ReadProtobuf(ctx context.Context, reference DataReference, msg proto.Message) error {
+	_, err := s.ReadProtobufAny(ctx, reference, msg)
+	return err
 }
 
 func (s DefaultProtobufStore) WriteProtobuf(ctx context.Context, reference DataReference, opts Options, msg proto.Message) error {
diff --git a/flytestdlib/storage/storage.go b/flytestdlib/storage/storage.go
index 34d75917cf..66d1f68584 100644
--- a/flytestdlib/storage/storage.go
+++ b/flytestdlib/storage/storage.go
@@ -101,6 +101,9 @@ type ProtobufStore interface {
 	// ReadProtobuf retrieves the entire blob from blobstore and unmarshals it to the passed protobuf
 	ReadProtobuf(ctx context.Context, reference DataReference, msg proto.Message) error
 
+	// ReadProtobufAny retrieves the entire blob from blobstore and unmarshals it to the passed protobuf
+	ReadProtobufAny(ctx context.Context, reference DataReference, msg ...proto.Message) (int, error)
+
 	// WriteProtobuf serializes and stores the protobuf.
 	WriteProtobuf(ctx context.Context, reference DataReference, opts Options, msg proto.Message) error
 }

From c9aa26dd25ae710826b83e217d270b7e62f0eb6e Mon Sep 17 00:00:00 2001
From: Haytham Abuelfutuh 
Date: Fri, 27 Oct 2023 10:26:34 -0700
Subject: [PATCH 05/25] ignore bin dirs

Signed-off-by: Haytham Abuelfutuh 
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 81d776231a..4479fcbc5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,3 +34,4 @@ dist
 vendor/
 /docker/sandbox-bundled/images/tar
 rsts/_tags/
+bin/

From e6ad943218380dfc8b31eb0b8ffe062d7bb8eefd Mon Sep 17 00:00:00 2001
From: Haytham Abuelfutuh 
Date: Thu, 14 Dec 2023 09:08:45 -0800
Subject: [PATCH 06/25] Use the right error type for parsing connection errors

Signed-off-by: Haytham Abuelfutuh 
---
 datacatalog/pkg/repositories/initialize.go | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/datacatalog/pkg/repositories/initialize.go b/datacatalog/pkg/repositories/initialize.go
index e020f5dc04..cd3933a4ec 100644
--- a/datacatalog/pkg/repositories/initialize.go
+++ b/datacatalog/pkg/repositories/initialize.go
@@ -3,6 +3,7 @@ package repositories
 import (
 	"context"
 	"errors"
+	"net"
 	"reflect"
 
 	"github.com/jackc/pgconn"
@@ -37,8 +38,10 @@ func Migrate(ctx context.Context) error {
 				err)
 			panic(err)
 		}
-		pqError := cErr.Unwrap().(*pgconn.PgError)
-		if pqError.Code == pqInvalidDBCode {
+
+		conError := &net.OpError{}
+		pqError := &pgconn.PgError{}
+		if errors.As(cErr.Unwrap(), &pqError) && pqError.Code == pqInvalidDBCode {
 			logger.Warningf(ctx, "Database [%v] does not exist, trying to create it now", dbName)
 
 			dbConfigValues.Postgres.DbName = defaultDB
@@ -62,6 +65,8 @@ func Migrate(ctx context.Context) error {
 				logger.Errorf(ctx, "Failed to connect DB err %v", err)
 				panic(err)
 			}
+		} else if errors.As(cErr.Unwrap(), &conError) {
+			logger.Errorf(ctx, "Failing to connect to DB %v, err %v", dbName, conError)
 		} else {
 			logger.Errorf(ctx, "Failed to connect DB err %v", err)
 			panic(err)

From 8961f19cb7c1a7de09f696adac9425c72ec65ae9 Mon Sep 17 00:00:00 2001
From: Haytham Abuelfutuh 
Date: Fri, 15 Dec 2023 14:26:08 -0800
Subject: [PATCH 07/25] wip

Signed-off-by: Haytham Abuelfutuh 
---
 .../pkg/manager/impl/execution_manager.go     | 24 +++++----
 .../manager/impl/testutils/mock_requests.go   | 14 +++++
 .../impl/validation/execution_validator.go    | 36 ++++++++++---
 .../validation/execution_validator_test.go    | 30 +++++++----
 .../validation/node_execution_validator.go    |  4 +-
 .../validation/task_execution_validator.go    |  4 +-
 .../repositories/transformers/execution.go    | 12 +++--
 .../pkg/workflowengine/impl/k8s_executor.go   |  2 +-
 .../workflowengine/impl/k8s_executor_test.go  | 28 +++++-----
 .../workflowengine/impl/workflow_builder.go   |  2 +-
 .../pkg/workflowengine/interfaces/builder.go  |  2 +-
 .../pkg/workflowengine/interfaces/executor.go |  2 +-
 .../mocks/flyte_workflow_builder.go           |  8 +--
 flyteidl/protos/flyteidl/core/literals.proto  |  6 +++
 .../pluginmachinery/core/template/template.go |  3 +-
 .../go/tasks/pluginmachinery/io/iface.go      |  6 ++-
 .../go/tasks/pluginmachinery/ioutils/paths.go |  2 +
 .../ioutils/remote_file_input_reader.go       | 17 +++---
 flyteplugins/go/tasks/plugins/array/inputs.go |  5 ++
 flytepropeller/events/node_event_recorder.go  | 14 ++---
 flytepropeller/events/task_event_recorder.go  | 11 ++--
 .../events/workflow_event_recorder.go         | 11 ++--
 .../pkg/apis/flyteworkflow/v1alpha1/iface.go  |  4 ++
 .../apis/flyteworkflow/v1alpha1/workflow.go   |  1 +
 .../pkg/compiler/transformers/k8s/inputs.go   |  4 +-
 .../pkg/compiler/transformers/k8s/workflow.go |  5 +-
 .../nodes/dynamic/dynamic_workflow.go         |  3 +-
 .../pkg/controller/nodes/executor.go          | 52 ++++++++++---------
 flytestdlib/storage/protobuf_store.go         |  2 +-
 29 files changed, 203 insertions(+), 111 deletions(-)

diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go
index 0ff506b5b9..89b2adf806 100644
--- a/flyteadmin/pkg/manager/impl/execution_manager.go
+++ b/flyteadmin/pkg/manager/impl/execution_manager.go
@@ -482,9 +482,11 @@ func (m *ExecutionManager) launchSingleTaskExecution(
 	}
 
 	executionInputs, err := validation.CheckAndFetchInputsForExecution(
-		request.Inputs,
-		launchPlan.Spec.FixedInputs,
-		launchPlan.Closure.ExpectedInputs,
+		request.GetInputData(),
+		request.GetInputs(),
+		launchPlan.Spec.GetFixedInputData(),
+		launchPlan.Spec.GetFixedInputs(),
+		launchPlan.Spec.GetDefaultInputs(),
 	)
 	if err != nil {
 		logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with request.Inputs: %+v"+
@@ -565,13 +567,13 @@ func (m *ExecutionManager) launchSingleTaskExecution(
 	}
 
 	executionParameters := workflowengineInterfaces.ExecutionParameters{
-		Inputs:              executionInputs,
+		InputData:           executionInputs,
 		AcceptedAt:          requestedAt,
 		Labels:              labels,
 		Annotations:         annotations,
 		ExecutionConfig:     executionConfig,
 		TaskResources:       &platformTaskResources,
-		EventVersion:        m.config.ApplicationConfiguration().GetTopLevelConfig().EventVersion,
+		EventVersion:        m.config.ApplicationConfiguration().GetTopLevelConfig().GetEventVersion(),
 		RoleNameKey:         m.config.ApplicationConfiguration().GetTopLevelConfig().RoleNameKey,
 		RawOutputDataConfig: rawOutputDataConfig,
 		ClusterAssignment:   clusterAssignment,
@@ -719,10 +721,13 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel(
 		logger.Debugf(ctx, "Failed to transform launch plan model %+v with err %v", launchPlanModel, err)
 		return nil, nil, err
 	}
+
 	executionInputs, err := validation.CheckAndFetchInputsForExecution(
-		request.Inputs,
-		launchPlan.Spec.FixedInputs,
-		launchPlan.Closure.ExpectedInputs,
+		request.GetInputData(),
+		request.GetInputs(),
+		launchPlan.GetSpec().GetFixedInputData(),
+		launchPlan.GetSpec().GetFixedInputs(),
+		launchPlan.GetClosure().GetExpectedInputs(),
 	)
 
 	if err != nil {
@@ -784,6 +789,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel(
 	if err != nil {
 		return nil, nil, err
 	}
+
 	userInputsURI, err := common.OffloadData(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs)
 	if err != nil {
 		return nil, nil, err
@@ -820,7 +826,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel(
 	}
 
 	executionParameters := workflowengineInterfaces.ExecutionParameters{
-		Inputs:              executionInputs,
+		InputData:           executionInputs,
 		AcceptedAt:          requestedAt,
 		Labels:              labels,
 		Annotations:         annotations,
diff --git a/flyteadmin/pkg/manager/impl/testutils/mock_requests.go b/flyteadmin/pkg/manager/impl/testutils/mock_requests.go
index e6ff69eab8..92d64dae26 100644
--- a/flyteadmin/pkg/manager/impl/testutils/mock_requests.go
+++ b/flyteadmin/pkg/manager/impl/testutils/mock_requests.go
@@ -160,6 +160,13 @@ func GetLaunchPlanRequest() admin.LaunchPlanCreateRequest {
 					"bar": coreutils.MustMakeLiteral("bar-value"),
 				},
 			},
+			FixedInputData: &core.InputData{
+				Inputs: &core.LiteralMap{
+					Literals: map[string]*core.Literal{
+						"bar": coreutils.MustMakeLiteral("bar-value"),
+					},
+				},
+			},
 		},
 	}
 }
@@ -243,6 +250,13 @@ func GetExecutionRequest() admin.ExecutionCreateRequest {
 				"foo": coreutils.MustMakeLiteral("foo-value-1"),
 			},
 		},
+		InputData: &core.InputData{
+			Inputs: &core.LiteralMap{
+				Literals: map[string]*core.Literal{
+					"foo": coreutils.MustMakeLiteral("foo-value-1"),
+				},
+			},
+		},
 	}
 }
 
diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator.go b/flyteadmin/pkg/manager/impl/validation/execution_validator.go
index 8f0a2cbb0c..99093599b8 100644
--- a/flyteadmin/pkg/manager/impl/validation/execution_validator.go
+++ b/flyteadmin/pkg/manager/impl/validation/execution_validator.go
@@ -77,7 +77,9 @@ func ValidateExecutionRequest(ctx context.Context, request admin.ExecutionCreate
 }
 
 func CheckAndFetchInputsForExecution(
-	userInputs *core.LiteralMap, fixedInputs *core.LiteralMap, expectedInputs *core.ParameterMap) (*core.LiteralMap, error) {
+	userInputsData *core.InputData, userInputs *core.LiteralMap,
+	fixedInputsData *core.InputData, fixedInputs *core.LiteralMap,
+	expectedInputs *core.ParameterMap) (*core.InputData, error) {
 
 	executionInputMap := map[string]*core.Literal{}
 	expectedInputMap := map[string]*core.Parameter{}
@@ -86,11 +88,21 @@ func CheckAndFetchInputsForExecution(
 		expectedInputMap = expectedInputs.GetParameters()
 	}
 
-	if userInputs != nil && len(userInputs.GetLiterals()) > 0 {
+	if literals := userInputsData.GetInputs().GetLiterals(); len(literals) > 0 {
+		for name, value := range literals {
+			if _, ok := expectedInputMap[name]; !ok {
+				return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input %s", name)
+			}
+
+			executionInputMap[name] = value
+		}
+		// DEPRECATED: Remove this block once the deprecated field is removed from the API.
+	} else if userInputs != nil && len(userInputs.GetLiterals()) > 0 {
 		for name, value := range userInputs.GetLiterals() {
 			if _, ok := expectedInputMap[name]; !ok {
 				return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input %s", name)
 			}
+
 			executionInputMap[name] = value
 		}
 	}
@@ -109,7 +121,15 @@ func CheckAndFetchInputsForExecution(
 		}
 	}
 
-	if fixedInputs != nil && len(fixedInputs.GetLiterals()) > 0 {
+	if literals := fixedInputsData.GetInputs().GetLiterals(); len(literals) > 0 {
+		for name, fixedInput := range literals {
+			if _, ok := executionInputMap[name]; ok {
+				return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s cannot be overridden", shared.FixedInputs, name)
+			}
+			executionInputMap[name] = fixedInput
+		}
+		// DEPRECATED: Remove this block once the deprecated field is removed from the API.
+	} else if fixedInputs != nil && len(fixedInputs.GetLiterals()) > 0 {
 		for name, fixedInput := range fixedInputs.GetLiterals() {
 			if _, ok := executionInputMap[name]; ok {
 				return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s cannot be overridden", shared.FixedInputs, name)
@@ -118,8 +138,10 @@ func CheckAndFetchInputsForExecution(
 		}
 	}
 
-	return &core.LiteralMap{
-		Literals: executionInputMap,
+	return &core.InputData{
+		Inputs: &core.LiteralMap{
+			Literals: executionInputMap,
+		},
 	}, nil
 }
 
@@ -146,10 +168,10 @@ func ValidateCreateWorkflowEventRequest(request admin.WorkflowExecutionEventRequ
 			"Workflow event handler request event doesn't have an execution id - %v", request.Event)
 	}
 
-	outputData := request.Event.GetOutputData()
+	outputData := request.GetEvent().GetOutputData()
 	if outputData == nil {
 		outputData = &core.OutputData{
-			Outputs: request.Event.GetDeprecatedOutputData(),
+			Outputs: request.GetEvent().GetDeprecatedOutputData(),
 		}
 	}
 
diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go b/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go
index 80aee0dfc2..cf5590d6b5 100644
--- a/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go
+++ b/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go
@@ -70,8 +70,10 @@ func TestGetExecutionInputs(t *testing.T) {
 	lpRequest := testutils.GetLaunchPlanRequest()
 
 	actualInputs, err := CheckAndFetchInputsForExecution(
-		executionRequest.Inputs,
-		lpRequest.Spec.FixedInputs,
+		executionRequest.GetInputData(),
+		executionRequest.GetInputs(),
+		lpRequest.Spec.GetFixedInputData(),
+		lpRequest.Spec.GetFixedInputs(),
 		lpRequest.Spec.DefaultInputs,
 	)
 	expectedMap := core.LiteralMap{
@@ -94,8 +96,10 @@ func TestValidateExecInputsWrongType(t *testing.T) {
 		},
 	}
 	_, err := CheckAndFetchInputsForExecution(
-		executionRequest.Inputs,
-		lpRequest.Spec.FixedInputs,
+		executionRequest.GetInputData(),
+		executionRequest.GetInputs(),
+		lpRequest.Spec.GetFixedInputData(),
+		lpRequest.Spec.GetFixedInputs(),
 		lpRequest.Spec.DefaultInputs,
 	)
 	assert.EqualError(t, err, "invalid foo input wrong type. Expected simple:STRING , but got simple:INTEGER ")
@@ -111,8 +115,10 @@ func TestValidateExecInputsExtraInputs(t *testing.T) {
 		},
 	}
 	_, err := CheckAndFetchInputsForExecution(
-		executionRequest.Inputs,
-		lpRequest.Spec.FixedInputs,
+		executionRequest.GetInputData(),
+		executionRequest.GetInputs(),
+		lpRequest.Spec.GetFixedInputData(),
+		lpRequest.Spec.GetFixedInputs(),
 		lpRequest.Spec.DefaultInputs,
 	)
 	assert.EqualError(t, err, "invalid input foo-extra")
@@ -128,8 +134,10 @@ func TestValidateExecInputsOverrideFixed(t *testing.T) {
 		},
 	}
 	_, err := CheckAndFetchInputsForExecution(
-		executionRequest.Inputs,
-		lpRequest.Spec.FixedInputs,
+		executionRequest.GetInputData(),
+		executionRequest.GetInputs(),
+		lpRequest.Spec.GetFixedInputData(),
+		lpRequest.Spec.GetFixedInputs(),
 		lpRequest.Spec.DefaultInputs,
 	)
 	assert.EqualError(t, err, "invalid input bar")
@@ -140,8 +148,10 @@ func TestValidateExecEmptyInputs(t *testing.T) {
 	lpRequest := testutils.GetLaunchPlanRequest()
 	executionRequest.Inputs = nil
 	actualInputs, err := CheckAndFetchInputsForExecution(
-		executionRequest.Inputs,
-		lpRequest.Spec.FixedInputs,
+		executionRequest.GetInputData(),
+		executionRequest.GetInputs(),
+		lpRequest.Spec.GetFixedInputData(),
+		lpRequest.Spec.GetFixedInputs(),
 		lpRequest.Spec.DefaultInputs,
 	)
 	expectedMap := core.LiteralMap{
diff --git a/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go b/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go
index facbe722bd..eee25ca582 100644
--- a/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go
+++ b/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go
@@ -51,10 +51,10 @@ func ValidateNodeExecutionEventRequest(request *admin.NodeExecutionEventRequest,
 		}
 	}
 
-	outputData := request.Event.GetOutputData()
+	outputData := request.GetEvent().GetOutputData()
 	if outputData == nil {
 		outputData = &core.OutputData{
-			Outputs: request.Event.GetDeprecatedOutputData(),
+			Outputs: request.GetEvent().GetDeprecatedOutputData(),
 		}
 	}
 
diff --git a/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go b/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go
index 2fcd4c479a..ebd25d6289 100644
--- a/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go
+++ b/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go
@@ -15,10 +15,10 @@ func ValidateTaskExecutionRequest(request admin.TaskExecutionEventRequest, maxOu
 		return shared.GetMissingArgumentError(shared.OccurredAt)
 	}
 
-	outputData := request.Event.GetOutputData()
+	outputData := request.GetEvent().GetOutputData()
 	if outputData == nil {
 		outputData = &core.OutputData{
-			Outputs: request.Event.GetDeprecatedOutputData(),
+			Outputs: request.GetEvent().GetDeprecatedOutputData(),
 		}
 	}
 
diff --git a/flyteadmin/pkg/repositories/transformers/execution.go b/flyteadmin/pkg/repositories/transformers/execution.go
index 720b5b8f75..5a4fcf2614 100644
--- a/flyteadmin/pkg/repositories/transformers/execution.go
+++ b/flyteadmin/pkg/repositories/transformers/execution.go
@@ -248,7 +248,8 @@ func UpdateExecutionModelState(
 		default:
 			logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy")
 			uri, err := common.OffloadData(ctx, storageClient, outputData,
-				request.Event.ExecutionId.Project, request.Event.ExecutionId.Domain, request.Event.ExecutionId.Name, OutputsObjectSuffix)
+				request.GetEvent().GetExecutionId().GetProject(), request.GetEvent().GetExecutionId().GetDomain(),
+				request.GetEvent().GetExecutionId().GetName(), OutputsObjectSuffix)
 			if err != nil {
 				return err
 			}
@@ -260,18 +261,19 @@ func UpdateExecutionModelState(
 				},
 			}
 		}
-	} else if request.Event.GetDeprecatedOutputData() != nil {
+	} else if deprecatedOutputData := request.GetEvent().GetDeprecatedOutputData(); deprecatedOutputData != nil {
 		switch inlineEventDataPolicy {
 		case interfaces.InlineEventDataPolicyStoreInline:
 			executionClosure.OutputResult = &admin.ExecutionClosure_FullOutputs{
 				FullOutputs: &core.OutputData{
-					Outputs: request.Event.GetDeprecatedOutputData(),
+					Outputs: deprecatedOutputData,
 				},
 			}
 		default:
 			logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy")
-			uri, err := common.OffloadData(ctx, storageClient, &core.OutputData{Outputs: request.Event.GetDeprecatedOutputData()},
-				request.Event.ExecutionId.Project, request.Event.ExecutionId.Domain, request.Event.ExecutionId.Name, OutputsObjectSuffix)
+			uri, err := common.OffloadData(ctx, storageClient, &core.OutputData{Outputs: deprecatedOutputData},
+				request.GetEvent().GetExecutionId().GetProject(), request.GetEvent().GetExecutionId().GetDomain(),
+				request.GetEvent().GetExecutionId().GetName(), OutputsObjectSuffix)
 			if err != nil {
 				return err
 			}
diff --git a/flyteadmin/pkg/workflowengine/impl/k8s_executor.go b/flyteadmin/pkg/workflowengine/impl/k8s_executor.go
index a141b14de9..67fde017aa 100644
--- a/flyteadmin/pkg/workflowengine/impl/k8s_executor.go
+++ b/flyteadmin/pkg/workflowengine/impl/k8s_executor.go
@@ -34,7 +34,7 @@ func (e K8sWorkflowExecutor) ID() string {
 }
 
 func (e K8sWorkflowExecutor) Execute(ctx context.Context, data interfaces.ExecutionData) (interfaces.ExecutionResponse, error) {
-	flyteWf, err := e.workflowBuilder.Build(data.WorkflowClosure, data.ExecutionParameters.Inputs, data.ExecutionID, data.Namespace)
+	flyteWf, err := e.workflowBuilder.Build(data.WorkflowClosure, data.ExecutionParameters.InputData, data.ExecutionID, data.Namespace)
 	if err != nil {
 		logger.Infof(ctx, "failed to build the workflow [%+v] %v",
 			data.WorkflowClosure.Primary.Template.Id, err)
diff --git a/flyteadmin/pkg/workflowengine/impl/k8s_executor_test.go b/flyteadmin/pkg/workflowengine/impl/k8s_executor_test.go
index b11b4e8bd8..e3fe5c49ef 100644
--- a/flyteadmin/pkg/workflowengine/impl/k8s_executor_test.go
+++ b/flyteadmin/pkg/workflowengine/impl/k8s_executor_test.go
@@ -89,15 +89,17 @@ var flyteWf = &v1alpha1.FlyteWorkflow{
 	},
 }
 
-var testInputs = &core.LiteralMap{
-	Literals: map[string]*core.Literal{
-		"foo": {
-			Value: &core.Literal_Scalar{
-				Scalar: &core.Scalar{
-					Value: &core.Scalar_Primitive{
-						Primitive: &core.Primitive{
-							Value: &core.Primitive_Integer{
-								Integer: 4,
+var testInputs = &core.InputData{
+	Inputs: &core.LiteralMap{
+		Literals: map[string]*core.Literal{
+			"foo": {
+				Value: &core.Literal_Scalar{
+					Scalar: &core.Scalar{
+						Value: &core.Scalar_Primitive{
+							Primitive: &core.Primitive{
+								Value: &core.Primitive_Integer{
+									Integer: 4,
+								},
 							},
 						},
 					},
@@ -156,7 +158,7 @@ func TestExecute(t *testing.T) {
 	}
 	mockBuilder.OnBuildMatch(mock.MatchedBy(func(wfClosure *core.CompiledWorkflowClosure) bool {
 		return proto.Equal(wfClosure, &workflowClosure)
-	}), mock.MatchedBy(func(inputs *core.LiteralMap) bool {
+	}), mock.MatchedBy(func(inputs *core.InputData) bool {
 		return proto.Equal(inputs, testInputs)
 	}), mock.MatchedBy(func(executionID *core.WorkflowExecutionIdentifier) bool {
 		return proto.Equal(executionID, execID)
@@ -174,7 +176,7 @@ func TestExecute(t *testing.T) {
 		ReferenceLaunchPlanName: "ref_lp_name",
 		WorkflowClosure:         &workflowClosure,
 		ExecutionParameters: interfaces.ExecutionParameters{
-			Inputs: testInputs,
+			InputData: testInputs,
 			ExecutionConfig: &admin.WorkflowExecutionConfig{
 				SecurityContext: &core.SecurityContext{
 					RunAs: &core.Identity{
@@ -374,7 +376,7 @@ func TestExecute_OffloadWorkflowClosure(t *testing.T) {
 	}
 	mockBuilder.OnBuildMatch(mock.MatchedBy(func(wfClosure *core.CompiledWorkflowClosure) bool {
 		return proto.Equal(wfClosure, &workflowClosure)
-	}), mock.MatchedBy(func(inputs *core.LiteralMap) bool {
+	}), mock.MatchedBy(func(inputs *core.InputData) bool {
 		return proto.Equal(inputs, testInputs)
 	}), mock.MatchedBy(func(executionID *core.WorkflowExecutionIdentifier) bool {
 		return proto.Equal(executionID, execID)
@@ -396,7 +398,7 @@ func TestExecute_OffloadWorkflowClosure(t *testing.T) {
 		ReferenceLaunchPlanName: "ref_lp_name",
 		WorkflowClosure:         &workflowClosure,
 		ExecutionParameters: interfaces.ExecutionParameters{
-			Inputs: testInputs,
+			InputData: testInputs,
 			ExecutionConfig: &admin.WorkflowExecutionConfig{
 				SecurityContext: &core.SecurityContext{
 					RunAs: &core.Identity{
diff --git a/flyteadmin/pkg/workflowengine/impl/workflow_builder.go b/flyteadmin/pkg/workflowengine/impl/workflow_builder.go
index 536ed07620..f75a199405 100644
--- a/flyteadmin/pkg/workflowengine/impl/workflow_builder.go
+++ b/flyteadmin/pkg/workflowengine/impl/workflow_builder.go
@@ -22,7 +22,7 @@ type flyteWorkflowBuilder struct {
 }
 
 func (b *flyteWorkflowBuilder) Build(
-	wfClosure *core.CompiledWorkflowClosure, inputs *core.LiteralMap, executionID *core.WorkflowExecutionIdentifier,
+	wfClosure *core.CompiledWorkflowClosure, inputs *core.InputData, executionID *core.WorkflowExecutionIdentifier,
 	namespace string) (*v1alpha1.FlyteWorkflow, error) {
 	flyteWorkflow, err := k8s.BuildFlyteWorkflow(wfClosure, inputs, executionID, namespace)
 	if err != nil {
diff --git a/flyteadmin/pkg/workflowengine/interfaces/builder.go b/flyteadmin/pkg/workflowengine/interfaces/builder.go
index 7fee0ba131..9f1a97bbbc 100644
--- a/flyteadmin/pkg/workflowengine/interfaces/builder.go
+++ b/flyteadmin/pkg/workflowengine/interfaces/builder.go
@@ -10,6 +10,6 @@ import (
 // FlyteWorkflowBuilder produces a v1alpha1.FlyteWorkflow definition from a compiled workflow closure and execution inputs
 type FlyteWorkflowBuilder interface {
 	Build(
-		wfClosure *core.CompiledWorkflowClosure, inputs *core.LiteralMap, executionID *core.WorkflowExecutionIdentifier,
+		wfClosure *core.CompiledWorkflowClosure, inputs *core.InputData, executionID *core.WorkflowExecutionIdentifier,
 		namespace string) (*v1alpha1.FlyteWorkflow, error)
 }
diff --git a/flyteadmin/pkg/workflowengine/interfaces/executor.go b/flyteadmin/pkg/workflowengine/interfaces/executor.go
index 726423c333..f9bbb5a2ea 100644
--- a/flyteadmin/pkg/workflowengine/interfaces/executor.go
+++ b/flyteadmin/pkg/workflowengine/interfaces/executor.go
@@ -18,7 +18,7 @@ type TaskResources struct {
 }
 
 type ExecutionParameters struct {
-	Inputs              *core.LiteralMap
+	InputData           *core.InputData
 	AcceptedAt          time.Time
 	Labels              map[string]string
 	Annotations         map[string]string
diff --git a/flyteadmin/pkg/workflowengine/mocks/flyte_workflow_builder.go b/flyteadmin/pkg/workflowengine/mocks/flyte_workflow_builder.go
index 5738f0f774..a8392a9b1a 100644
--- a/flyteadmin/pkg/workflowengine/mocks/flyte_workflow_builder.go
+++ b/flyteadmin/pkg/workflowengine/mocks/flyte_workflow_builder.go
@@ -23,7 +23,7 @@ func (_m FlyteWorkflowBuilder_Build) Return(_a0 *v1alpha1.FlyteWorkflow, _a1 err
 	return &FlyteWorkflowBuilder_Build{Call: _m.Call.Return(_a0, _a1)}
 }
 
-func (_m *FlyteWorkflowBuilder) OnBuild(wfClosure *core.CompiledWorkflowClosure, inputs *core.LiteralMap, executionID *core.WorkflowExecutionIdentifier, namespace string) *FlyteWorkflowBuilder_Build {
+func (_m *FlyteWorkflowBuilder) OnBuild(wfClosure *core.CompiledWorkflowClosure, inputs *core.InputData, executionID *core.WorkflowExecutionIdentifier, namespace string) *FlyteWorkflowBuilder_Build {
 	c_call := _m.On("Build", wfClosure, inputs, executionID, namespace)
 	return &FlyteWorkflowBuilder_Build{Call: c_call}
 }
@@ -34,11 +34,11 @@ func (_m *FlyteWorkflowBuilder) OnBuildMatch(matchers ...interface{}) *FlyteWork
 }
 
 // Build provides a mock function with given fields: wfClosure, inputs, executionID, namespace
-func (_m *FlyteWorkflowBuilder) Build(wfClosure *core.CompiledWorkflowClosure, inputs *core.LiteralMap, executionID *core.WorkflowExecutionIdentifier, namespace string) (*v1alpha1.FlyteWorkflow, error) {
+func (_m *FlyteWorkflowBuilder) Build(wfClosure *core.CompiledWorkflowClosure, inputs *core.InputData, executionID *core.WorkflowExecutionIdentifier, namespace string) (*v1alpha1.FlyteWorkflow, error) {
 	ret := _m.Called(wfClosure, inputs, executionID, namespace)
 
 	var r0 *v1alpha1.FlyteWorkflow
-	if rf, ok := ret.Get(0).(func(*core.CompiledWorkflowClosure, *core.LiteralMap, *core.WorkflowExecutionIdentifier, string) *v1alpha1.FlyteWorkflow); ok {
+	if rf, ok := ret.Get(0).(func(*core.CompiledWorkflowClosure, *core.InputData, *core.WorkflowExecutionIdentifier, string) *v1alpha1.FlyteWorkflow); ok {
 		r0 = rf(wfClosure, inputs, executionID, namespace)
 	} else {
 		if ret.Get(0) != nil {
@@ -47,7 +47,7 @@ func (_m *FlyteWorkflowBuilder) Build(wfClosure *core.CompiledWorkflowClosure, i
 	}
 
 	var r1 error
-	if rf, ok := ret.Get(1).(func(*core.CompiledWorkflowClosure, *core.LiteralMap, *core.WorkflowExecutionIdentifier, string) error); ok {
+	if rf, ok := ret.Get(1).(func(*core.CompiledWorkflowClosure, *core.InputData, *core.WorkflowExecutionIdentifier, string) error); ok {
 		r1 = rf(wfClosure, inputs, executionID, namespace)
 	} else {
 		r1 = ret.Error(1)
diff --git a/flyteidl/protos/flyteidl/core/literals.proto b/flyteidl/protos/flyteidl/core/literals.proto
index 63e16064f3..85c415ae09 100644
--- a/flyteidl/protos/flyteidl/core/literals.proto
+++ b/flyteidl/protos/flyteidl/core/literals.proto
@@ -120,11 +120,17 @@ message LiteralMap {
     map literals = 1;
 }
 
+// InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to
+// their values.
 message InputData {
+    // A map of input variables to their values.
     LiteralMap inputs = 1;
 }
 
+// OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to
+// their values.
 message OutputData {
+    // A map of output variables to their values.
     LiteralMap outputs = 1;
 }
 
diff --git a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go
index c2d3339adb..fc6ab69454 100644
--- a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go
+++ b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go
@@ -40,6 +40,7 @@ var startsWithAlpha = regexp.MustCompile("^[^a-zA-Z_]+")
 // Regexes for Supported templates
 var inputFileRegex = regexp.MustCompile(`(?i){{\s*[\.$]Input\s*}}`)
 var inputPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]InputPrefix\s*}}`)
+var inputDataFileRegex = regexp.MustCompile(`(?i){{\s*[\.$]InputData\s*}}`)
 var outputRegex = regexp.MustCompile(`(?i){{\s*[\.$]OutputPrefix\s*}}`)
 var inputVarRegex = regexp.MustCompile(`(?i){{\s*[\.$]Inputs\.(?P[^}\s]+)\s*}}`)
 var rawOutputDataPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]RawOutputDataPrefix\s*}}`)
@@ -103,8 +104,8 @@ func Render(ctx context.Context, inputTemplate []string, params Parameters) ([]s
 }
 
 func render(ctx context.Context, inputTemplate string, params Parameters, perRetryKey string) (string, error) {
-
 	val := inputFileRegex.ReplaceAllString(inputTemplate, params.Inputs.GetInputPath().String())
+	val = inputDataFileRegex.ReplaceAllString(val, params.Inputs.GetInputDataPath().String())
 	val = outputRegex.ReplaceAllString(val, params.OutputPath.GetOutputPrefixPath().String())
 	val = inputPrefixRegex.ReplaceAllString(val, params.Inputs.GetInputPrefixPath().String())
 	val = rawOutputDataPrefixRegex.ReplaceAllString(val, params.OutputPath.GetRawOutputPrefix().String())
diff --git a/flyteplugins/go/tasks/pluginmachinery/io/iface.go b/flyteplugins/go/tasks/pluginmachinery/io/iface.go
index 4c2c612766..12d2ea6fff 100644
--- a/flyteplugins/go/tasks/pluginmachinery/io/iface.go
+++ b/flyteplugins/go/tasks/pluginmachinery/io/iface.go
@@ -15,8 +15,12 @@ import (
 type InputFilePaths interface {
 	// GetInputPrefixPath returns the inputs file path, minus the protobuf file name.
 	GetInputPrefixPath() storage.DataReference
-	// GetInputPath returns a path for where the protobuf encoded inputs of type `core.LiteralMap` can be found. The returned value is an URN in the configured storage backend
+	// GetInputPath returns a path for where the protobuf encoded inputs of type `core.LiteralMap` can be found.
+	// The returned value is a URN in the configured storage backend
 	GetInputPath() storage.DataReference
+	// GetInputDataPath returns a path for where the protobuf encoded inputs of type `core.InputData` can be found.
+	// The returned value is a URN in the configured storage backend
+	GetInputDataPath() storage.DataReference
 }
 
 // InputReader provides a method to access the inputs for a task execution within the plugin's Task Context
diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go
index 28bacceaed..5d087a7ea2 100644
--- a/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go
+++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go
@@ -10,6 +10,8 @@ import (
 const (
 	// InputsSuffix specifies the name of the file that contains the task inputs in the form core.LiteralMap
 	InputsSuffix = "inputs.pb"
+	// InputDataSuffix specifies the name of the file that contains the task inputs in the form core.LiteralMap
+	InputDataSuffix = "input_data.pb"
 	// TaskTemplateSuffix In case a task requests for a task template, it is passed into the task using this filename.
 	// The format is of type core.TaskTemplate
 	TaskTemplateSuffix = "task.pb"
diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go
index 279a207689..625ebf1709 100644
--- a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go
+++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go
@@ -2,7 +2,6 @@ package ioutils
 
 import (
 	"context"
-
 	"github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core"
 	"github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/io"
 	"github.com/flyteorg/flyte/flytestdlib/errors"
@@ -15,7 +14,7 @@ const (
 
 var (
 	// Ensure we get an early build break if interface changes and these classes do not conform.
-	_ io.InputFilePaths = SimpleInputFilePath{}
+	_ io.InputFilePaths = &SimpleInputFilePath{}
 	_ io.InputReader    = RemoteFileInputReader{}
 )
 
@@ -49,19 +48,23 @@ func NewRemoteFileInputReader(_ context.Context, store storage.ProtobufStore, in
 
 type SimpleInputFilePath struct {
 	pathPrefix storage.DataReference
-	store      storage.ReferenceConstructor
+	store      *storage.DataStore
 }
 
-func (s SimpleInputFilePath) GetInputPrefixPath() storage.DataReference {
+func (s *SimpleInputFilePath) GetInputPrefixPath() storage.DataReference {
 	return s.pathPrefix
 }
 
-func (s SimpleInputFilePath) GetInputPath() storage.DataReference {
+func (s *SimpleInputFilePath) GetInputPath() storage.DataReference {
 	return constructPath(s.store, s.pathPrefix, InputsSuffix)
 }
 
-func NewInputFilePaths(_ context.Context, store storage.ReferenceConstructor, inputPathPrefix storage.DataReference) SimpleInputFilePath {
-	return SimpleInputFilePath{
+func (s *SimpleInputFilePath) GetInputDataPath() storage.DataReference {
+	return constructPath(s.store, s.pathPrefix, InputDataSuffix)
+}
+
+func NewInputFilePaths(_ context.Context, store *storage.DataStore, inputPathPrefix storage.DataReference) *SimpleInputFilePath {
+	return &SimpleInputFilePath{
 		store:      store,
 		pathPrefix: inputPathPrefix,
 	}
diff --git a/flyteplugins/go/tasks/plugins/array/inputs.go b/flyteplugins/go/tasks/plugins/array/inputs.go
index ddf1e2dc9d..129b69a1eb 100644
--- a/flyteplugins/go/tasks/plugins/array/inputs.go
+++ b/flyteplugins/go/tasks/plugins/array/inputs.go
@@ -19,6 +19,11 @@ func (i arrayJobInputReader) GetInputPath() storage.DataReference {
 	return i.GetInputPrefixPath()
 }
 
+// GetInputDataPath overrides the inputpath to return the prefix path for array jobs
+func (i arrayJobInputReader) GetInputDataPath() storage.DataReference {
+	return i.GetInputPrefixPath()
+}
+
 func GetInputReader(tCtx core.TaskExecutionContext, taskTemplate *idlCore.TaskTemplate) io.InputReader {
 	if taskTemplate.GetTaskTypeVersion() == 0 && taskTemplate.Type != AwsBatchTaskType {
 		// Prior to task type version == 1, dynamic type tasks (including array tasks) would write input files for each
diff --git a/flytepropeller/events/node_event_recorder.go b/flytepropeller/events/node_event_recorder.go
index ad40277dde..f60ae234b7 100644
--- a/flytepropeller/events/node_event_recorder.go
+++ b/flytepropeller/events/node_event_recorder.go
@@ -2,6 +2,7 @@ package events
 
 import (
 	"context"
+	"github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1"
 	"strings"
 
 	"google.golang.org/grpc/codes"
@@ -49,16 +50,17 @@ func (r *nodeEventRecorder) RecordNodeEvent(ctx context.Context, ev *event.NodeE
 	var origEvent = ev
 	var rawOutputPolicy = eventConfig.RawOutputPolicy
 	if rawOutputPolicy == config.RawOutputPolicyInline && len(ev.GetOutputUri()) > 0 {
-		outputLit := &core.LiteralMap{}
 		outputs := &core.OutputData{}
-		i, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputLit)
+		outputLit := &core.LiteralMap{}
+		msgIndex, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputLit)
 		if err != nil {
 			// Fall back to forwarding along outputs by reference when we can't fetch them.
 			logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err)
 			rawOutputPolicy = config.RawOutputPolicyReference
-		} else if ev.GetEventVersion() < 3 {
-			// Set literal maps
-			if i == 0 {
+		} else if ev.GetEventVersion() < int32(v1alpha1.EventVersion3) {
+			// Admin is not updated yet, send the old format. Set literal maps.
+
+			if msgIndex == 0 { // OutputData
 				outputLit = outputs.Outputs
 			}
 
@@ -67,7 +69,7 @@ func (r *nodeEventRecorder) RecordNodeEvent(ctx context.Context, ev *event.NodeE
 			}
 		} else {
 			// Use OutputData
-			if i == 1 {
+			if msgIndex == 1 { // LiteralMap
 				outputs = &core.OutputData{
 					Outputs: outputLit,
 				}
diff --git a/flytepropeller/events/task_event_recorder.go b/flytepropeller/events/task_event_recorder.go
index 5de4863196..a39841ab91 100644
--- a/flytepropeller/events/task_event_recorder.go
+++ b/flytepropeller/events/task_event_recorder.go
@@ -2,6 +2,7 @@ package events
 
 import (
 	"context"
+	"github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1"
 	"strings"
 
 	"google.golang.org/grpc/codes"
@@ -49,15 +50,15 @@ func (r *taskEventRecorder) RecordTaskEvent(ctx context.Context, ev *event.TaskE
 	var origEvent = ev
 	var rawOutputPolicy = eventConfig.RawOutputPolicy
 	if rawOutputPolicy == config.RawOutputPolicyInline && len(ev.GetOutputUri()) > 0 {
-		outputsLit := &core.LiteralMap{}
 		outputs := &core.OutputData{}
-		i, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputsLit)
+		outputsLit := &core.LiteralMap{}
+		msgIndex, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputsLit)
 		if err != nil {
 			// Fall back to forwarding along outputs by reference when we can't fetch them.
 			logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err)
 			rawOutputPolicy = config.RawOutputPolicyReference
-		} else if ev.EventVersion < 3 {
-			if i == 0 {
+		} else if ev.EventVersion < int32(v1alpha1.EventVersion3) {
+			if msgIndex == 0 { // OutputData
 				outputsLit = outputs.Outputs
 			}
 
@@ -65,7 +66,7 @@ func (r *taskEventRecorder) RecordTaskEvent(ctx context.Context, ev *event.TaskE
 				DeprecatedOutputData: outputsLit,
 			}
 		} else {
-			if i == 1 {
+			if msgIndex == 1 { // LiteralMap
 				outputs = &core.OutputData{
 					Outputs: outputsLit,
 				}
diff --git a/flytepropeller/events/workflow_event_recorder.go b/flytepropeller/events/workflow_event_recorder.go
index e290b49d1c..b57946896a 100644
--- a/flytepropeller/events/workflow_event_recorder.go
+++ b/flytepropeller/events/workflow_event_recorder.go
@@ -2,6 +2,7 @@ package events
 
 import (
 	"context"
+	"github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1"
 	"strings"
 
 	"google.golang.org/grpc/codes"
@@ -49,15 +50,15 @@ func (r *workflowEventRecorder) RecordWorkflowEvent(ctx context.Context, ev *eve
 	var origEvent = ev
 	var rawOutputPolicy = eventConfig.RawOutputPolicy
 	if rawOutputPolicy == config.RawOutputPolicyInline && len(ev.GetOutputUri()) > 0 {
-		outputsLit := &core.LiteralMap{}
 		outputs := &core.OutputData{}
-		i, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputsLit)
+		outputsLit := &core.LiteralMap{}
+		msgIndex, err := r.store.ReadProtobufAny(ctx, storage.DataReference(ev.GetOutputUri()), outputs, outputsLit)
 		if err != nil {
 			// Fall back to forwarding along outputs by reference when we can't fetch them.
 			logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err)
 			rawOutputPolicy = config.RawOutputPolicyReference
-		} else if ev.EventVersion < 3 {
-			if i == 0 {
+		} else if ev.EventVersion < int32(v1alpha1.EventVersion3) {
+			if msgIndex == 0 {
 				outputsLit = outputs.Outputs
 			}
 
@@ -65,7 +66,7 @@ func (r *workflowEventRecorder) RecordWorkflowEvent(ctx context.Context, ev *eve
 				DeprecatedOutputData: outputsLit,
 			}
 		} else {
-			if i == 0 {
+			if msgIndex == 0 {
 				outputs = &core.OutputData{
 					Outputs: outputsLit,
 				}
diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go
index b3d744bd77..a085ebaf0a 100644
--- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go
+++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go
@@ -558,6 +558,10 @@ func GetInputsFile(inputDir DataReference) DataReference {
 	return inputDir + "/inputs.pb"
 }
 
+func GetInputDataFile(inputDir DataReference) DataReference {
+	return inputDir + "/inputs_data.pb"
+}
+
 func GetDeckFile(inputDir DataReference) DataReference {
 	return inputDir + "/deck.html"
 }
diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/workflow.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/workflow.go
index e26bf9511e..878ae398ac 100644
--- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/workflow.go
+++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/workflow.go
@@ -113,6 +113,7 @@ const (
 	EventVersion0 EventVersion = iota
 	EventVersion1
 	EventVersion2
+	EventVersion3
 )
 
 type NodeDefaults struct {
diff --git a/flytepropeller/pkg/compiler/transformers/k8s/inputs.go b/flytepropeller/pkg/compiler/transformers/k8s/inputs.go
index 2d967c560e..f8b040864e 100644
--- a/flytepropeller/pkg/compiler/transformers/k8s/inputs.go
+++ b/flytepropeller/pkg/compiler/transformers/k8s/inputs.go
@@ -9,7 +9,7 @@ import (
 	"github.com/flyteorg/flyte/flytepropeller/pkg/compiler/validators"
 )
 
-func validateInputs(nodeID common.NodeID, iface *core.TypedInterface, inputs core.LiteralMap, errs errors.CompileErrors) (ok bool) {
+func validateInputs(nodeID common.NodeID, iface *core.TypedInterface, inputs core.InputData, errs errors.CompileErrors) (ok bool) {
 	if iface == nil {
 		errs.Collect(errors.NewValueRequiredErr(nodeID, "interface"))
 		return false
@@ -28,7 +28,7 @@ func validateInputs(nodeID common.NodeID, iface *core.TypedInterface, inputs cor
 	}
 
 	boundInputsSet := sets.String{}
-	for inputVar, inputVal := range inputs.Literals {
+	for inputVar, inputVal := range inputs.GetInputs().GetLiterals() {
 		v, exists := varMap[inputVar]
 		if !exists {
 			errs.Collect(errors.NewVariableNameNotFoundErr(nodeID, "", inputVar))
diff --git a/flytepropeller/pkg/compiler/transformers/k8s/workflow.go b/flytepropeller/pkg/compiler/transformers/k8s/workflow.go
index 2421ddf9bb..0f935c08dd 100644
--- a/flytepropeller/pkg/compiler/transformers/k8s/workflow.go
+++ b/flytepropeller/pkg/compiler/transformers/k8s/workflow.go
@@ -160,7 +160,7 @@ func generateName(wfID *core.Identifier, execID *core.WorkflowExecutionIdentifie
 }
 
 // BuildFlyteWorkflow builds v1alpha1.FlyteWorkflow resource. Returned error, if not nil, is of type errors.CompilerErrors.
-func BuildFlyteWorkflow(wfClosure *core.CompiledWorkflowClosure, inputs *core.LiteralMap,
+func BuildFlyteWorkflow(wfClosure *core.CompiledWorkflowClosure, inputs *core.InputData,
 	executionID *core.WorkflowExecutionIdentifier, namespace string) (*v1alpha1.FlyteWorkflow, error) {
 
 	errs := errors.NewCompileErrors()
@@ -219,7 +219,8 @@ func BuildFlyteWorkflow(wfClosure *core.CompiledWorkflowClosure, inputs *core.Li
 			Namespace: namespace,
 			Labels:    map[string]string{},
 		},
-		Inputs:       &v1alpha1.Inputs{LiteralMap: inputs},
+		Inputs:       &v1alpha1.Inputs{LiteralMap: inputs.GetInputs()},
+		InputData:    &v1alpha1.InputData{InputData: inputs},
 		WorkflowSpec: primarySpec,
 		SubWorkflows: subwfs,
 		Tasks:        buildTasks(tasks, errs.NewScope()),
diff --git a/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow.go b/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow.go
index cbc5414e11..0f925f07dd 100644
--- a/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow.go
+++ b/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow.go
@@ -113,6 +113,7 @@ func (d dynamicNodeTaskNodeHandler) buildDynamicWorkflowTemplate(ctx context.Con
 			}
 		}
 	}
+
 	return &core.WorkflowTemplate{
 		Id: &core.Identifier{
 			Project:      nCtx.NodeExecutionMetadata().GetNodeExecutionID().GetExecutionId().Project,
@@ -256,7 +257,7 @@ func (d dynamicNodeTaskNodeHandler) buildDynamicWorkflow(ctx context.Context, nC
 		return nil, nil, errors.Wrapf(utils.ErrorCodeUser, err, "malformed dynamic workflow")
 	}
 
-	dynamicWf, err := k8s.BuildFlyteWorkflow(closure, &core.LiteralMap{}, nil, "")
+	dynamicWf, err := k8s.BuildFlyteWorkflow(closure, &core.InputData{Inputs: &core.LiteralMap{}}, nil, "")
 	if err != nil {
 		return nil, nil, errors.Wrapf(utils.ErrorCodeSystem, err, "failed to build workflow")
 	}
diff --git a/flytepropeller/pkg/controller/nodes/executor.go b/flytepropeller/pkg/controller/nodes/executor.go
index 57d56cd0b4..d9cd516061 100644
--- a/flytepropeller/pkg/controller/nodes/executor.go
+++ b/flytepropeller/pkg/controller/nodes/executor.go
@@ -119,6 +119,7 @@ func (c *recursiveNodeExecutor) SetInputsForStartNode(ctx context.Context, execC
 	if len(nodeStatus.GetDataDir()) == 0 {
 		return interfaces.NodeStatusUndefined, errors.Errorf(errors.IllegalStateError, startNode.GetID(), "no data-dir set, cannot store inputs")
 	}
+
 	outputFile := v1alpha1.GetOutputsFile(nodeStatus.GetOutputDir())
 
 	so := storage.Options{}
@@ -513,40 +514,35 @@ func (c *nodeExecutor) recoverInputs(ctx context.Context, nCtx interfaces.NodeEx
 
 	nodeInputs := recoveredData.InputData
 	if nodeInputs != nil {
-		if err := c.store.WriteProtobuf(ctx, nCtx.InputReader().GetInputPath(), storage.Options{}, nodeInputs); err != nil {
-			c.metrics.InputsWriteFailure.Inc(ctx)
-			logger.Errorf(ctx, "Failed to move recovered inputs for Node. Error [%v]. InputsFile [%s]", err, nCtx.InputReader().GetInputPath())
-			return nil, errors.Wrapf(errors.StorageError, nCtx.NodeID(), err, "Failed to store inputs for Node. InputsFile [%s]", nCtx.InputReader().GetInputPath())
-		}
 	} else if recoveredData.FullInputs != nil {
 		nodeInputs = &core.InputData{
 			Inputs: recoveredData.FullInputs,
 		}
-
-		if err := c.store.WriteProtobuf(ctx, nCtx.InputReader().GetInputPath(), storage.Options{}, nodeInputs); err != nil {
-			c.metrics.InputsWriteFailure.Inc(ctx)
-			logger.Errorf(ctx, "Failed to move recovered inputs for Node. Error [%v]. InputsFile [%s]", err, nCtx.InputReader().GetInputPath())
-			return nil, errors.Wrapf(errors.StorageError, nCtx.NodeID(), err, "Failed to store inputs for Node. InputsFile [%s]", nCtx.InputReader().GetInputPath())
-		}
 	} else if len(recovered.InputUri) > 0 {
 		// If the inputs are too large they won't be returned inline in the RecoverData call. We must fetch them before copying them.
 		nodeInputs = &core.InputData{}
-		if err := c.store.ReadProtobuf(ctx, storage.DataReference(recovered.InputUri), nodeInputs); err != nil {
-			oldInputsFormat := &core.LiteralMap{}
-			if err := c.store.ReadProtobuf(ctx, storage.DataReference(recovered.InputUri), oldInputsFormat); err != nil {
-				return nil, errors.Wrapf(errors.InputsNotFoundError, nCtx.NodeID(), err, "failed to read data from dataDir [%v].", recovered.InputUri)
-			}
-
+		oldNodeInputs := &core.LiteralMap{}
+		if msgIndex, err := c.store.ReadProtobufAny(ctx, storage.DataReference(recovered.InputUri), nodeInputs, oldNodeInputs); err != nil {
+			return nil, errors.Wrapf(errors.InputsNotFoundError, nCtx.NodeID(), err, "failed to read data from dataDir [%v].", recovered.InputUri)
+		} else if msgIndex == 1 { // LiteralMap
 			nodeInputs = &core.InputData{
-				Inputs: oldInputsFormat,
+				Inputs: oldNodeInputs,
 			}
 		}
+	}
 
-		if err := c.store.WriteProtobuf(ctx, nCtx.InputReader().GetInputPath(), storage.Options{}, nodeInputs); err != nil {
-			c.metrics.InputsWriteFailure.Inc(ctx)
-			logger.Errorf(ctx, "Failed to move recovered inputs for Node. Error [%v]. InputsFile [%s]", err, nCtx.InputReader().GetInputPath())
-			return nil, errors.Wrapf(errors.StorageError, nCtx.NodeID(), err, "Failed to store inputs for Node. InputsFile [%s]", nCtx.InputReader().GetInputPath())
-		}
+	// Write old inputs format
+	if err := c.store.WriteProtobuf(ctx, nCtx.InputReader().GetInputPath(), storage.Options{}, nodeInputs.GetInputs()); err != nil {
+		c.metrics.InputsWriteFailure.Inc(ctx)
+		logger.Errorf(ctx, "Failed to move recovered inputs for Node. Error [%v]. InputsFile [%s]", err, nCtx.InputReader().GetInputPath())
+		return nil, errors.Wrapf(errors.StorageError, nCtx.NodeID(), err, "Failed to store inputs for Node. InputsFile [%s]", nCtx.InputReader().GetInputPath())
+	}
+
+	// Write new inputs format
+	if err := c.store.WriteProtobuf(ctx, nCtx.InputReader().GetInputDataPath(), storage.Options{}, nodeInputs); err != nil {
+		c.metrics.InputsWriteFailure.Inc(ctx)
+		logger.Errorf(ctx, "Failed to move recovered inputs for Node. Error [%v]. InputsFile [%s]", err, nCtx.InputReader().GetInputDataPath())
+		return nil, errors.Wrapf(errors.StorageError, nCtx.NodeID(), err, "Failed to store inputs for Node. InputsFile [%s]", nCtx.InputReader().GetInputDataPath())
 	}
 
 	return nodeInputs, nil
@@ -774,7 +770,15 @@ func (c *nodeExecutor) preExecute(ctx context.Context, dag executors.DAGStructur
 				}
 
 				inputsFile := v1alpha1.GetInputsFile(dataDir)
-				if err := c.store.WriteProtobuf(ctx, inputsFile, storage.Options{}, nodeInputs); err != nil {
+				if err := c.store.WriteProtobuf(ctx, inputsFile, storage.Options{}, nodeInputs.GetInputs()); err != nil {
+					c.metrics.InputsWriteFailure.Inc(ctx)
+					logger.Errorf(ctx, "Failed to store inputs for Node. Error [%v]. InputsFile [%s]", err, inputsFile)
+					return handler.PhaseInfoUndefined, errors.Wrapf(
+						errors.StorageError, node.GetID(), err, "Failed to store inputs for Node. InputsFile [%s]", inputsFile)
+				}
+
+				inputDataFile := v1alpha1.GetInputDataFile(dataDir)
+				if err := c.store.WriteProtobuf(ctx, inputDataFile, storage.Options{}, nodeInputs); err != nil {
 					c.metrics.InputsWriteFailure.Inc(ctx)
 					logger.Errorf(ctx, "Failed to store inputs for Node. Error [%v]. InputsFile [%s]", err, inputsFile)
 					return handler.PhaseInfoUndefined, errors.Wrapf(
diff --git a/flytestdlib/storage/protobuf_store.go b/flytestdlib/storage/protobuf_store.go
index b41bb261f1..e22c35ddfd 100644
--- a/flytestdlib/storage/protobuf_store.go
+++ b/flytestdlib/storage/protobuf_store.go
@@ -32,7 +32,7 @@ type DefaultProtobufStore struct {
 	metrics *protoMetrics
 }
 
-func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference DataReference, msg ...proto.Message) (int, error) {
+func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference DataReference, msg ...proto.Message) (msgIndex int, err error) {
 	ctx, span := otelutils.NewSpan(ctx, otelutils.BlobstoreClientTracer, "flytestdlib.storage.DefaultProtobufStore/ReadProtobuf")
 	defer span.End()
 

From 57fa63d16c0fa187d537c6c98471f7e839fab468 Mon Sep 17 00:00:00 2001
From: Haytham Abuelfutuh 
Date: Fri, 15 Dec 2023 14:30:07 -0800
Subject: [PATCH 08/25] regen

Signed-off-by: Haytham Abuelfutuh 
---
 .../gen/pb-go/flyteidl/core/literals.pb.go    |   6 +
 .../pb-go/flyteidl/service/admin.swagger.json |  12 +-
 .../pb-go/flyteidl/service/agent.swagger.json |  12 +-
 .../flyteidl/service/dataproxy.swagger.json   |  12 +-
 .../external_plugin_service.swagger.json      |  12 +-
 .../service/flyteadmin/api/swagger.yaml       |   6 +
 .../flyteadmin/model_core_input_data.go       |   2 +
 .../flyteadmin/model_core_output_data.go      |   2 +
 .../gen/pb-go/flyteidl/service/openapi.go     |   4 +-
 .../gen/pb-java/flyteidl/core/Literals.java   | 140 ++++++++++++++++++
 .../flyteadmin/models/core_input_data.py      |   2 +
 .../flyteadmin/models/core_output_data.py     |   2 +
 flyteidl/gen/pb_rust/flyteidl.core.rs         |   6 +
 .../io/mocks/input_file_paths.go              |  32 ++++
 .../pluginmachinery/io/mocks/input_reader.go  |  32 ++++
 15 files changed, 264 insertions(+), 18 deletions(-)

diff --git a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go
index da7bf0e62a..f116fb43e2 100644
--- a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go
+++ b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go
@@ -900,7 +900,10 @@ func (m *LiteralMap) GetLiterals() map[string]*Literal {
 	return nil
 }
 
+// InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to
+// their values.
 type InputData struct {
+	// A map of input variables to their values.
 	Inputs               *LiteralMap `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
 	XXX_unrecognized     []byte      `json:"-"`
@@ -939,7 +942,10 @@ func (m *InputData) GetInputs() *LiteralMap {
 	return nil
 }
 
+// OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to
+// their values.
 type OutputData struct {
+	// A map of output variables to their values.
 	Outputs              *LiteralMap `protobuf:"bytes,1,opt,name=outputs,proto3" json:"outputs,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
 	XXX_unrecognized     []byte      `json:"-"`
diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json
index 8f393abc8c..b7fcd3ed95 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json
+++ b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json
@@ -6224,9 +6224,11 @@
       "type": "object",
       "properties": {
         "inputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of input variables to their values."
         }
-      }
+      },
+      "description": "InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to\ntheir values."
     },
     "coreK8sObjectMetadata": {
       "type": "object",
@@ -6552,9 +6554,11 @@
       "type": "object",
       "properties": {
         "outputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of output variables to their values."
         }
-      }
+      },
+      "description": "OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to\ntheir values."
     },
     "coreOutputReference": {
       "type": "object",
diff --git a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json
index 83f2bd2d83..1216081a54 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json
+++ b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json
@@ -483,9 +483,11 @@
       "type": "object",
       "properties": {
         "inputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of input variables to their values."
         }
-      }
+      },
+      "description": "InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to\ntheir values."
     },
     "coreK8sObjectMetadata": {
       "type": "object",
@@ -699,9 +701,11 @@
       "type": "object",
       "properties": {
         "outputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of output variables to their values."
         }
-      }
+      },
+      "description": "OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to\ntheir values."
     },
     "corePrimitive": {
       "type": "object",
diff --git a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json
index e492917a20..065b0d7200 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json
+++ b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json
@@ -250,9 +250,11 @@
       "type": "object",
       "properties": {
         "inputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of input variables to their values."
         }
-      }
+      },
+      "description": "InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to\ntheir values."
     },
     "coreLiteral": {
       "type": "object",
@@ -366,9 +368,11 @@
       "type": "object",
       "properties": {
         "outputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of output variables to their values."
         }
-      }
+      },
+      "description": "OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to\ntheir values."
     },
     "corePrimitive": {
       "type": "object",
diff --git a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json
index 0186172695..9836ea1318 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json
+++ b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json
@@ -422,9 +422,11 @@
       "type": "object",
       "properties": {
         "inputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of input variables to their values."
         }
-      }
+      },
+      "description": "InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to\ntheir values."
     },
     "coreK8sObjectMetadata": {
       "type": "object",
@@ -626,9 +628,11 @@
       "type": "object",
       "properties": {
         "outputs": {
-          "$ref": "#/definitions/coreLiteralMap"
+          "$ref": "#/definitions/coreLiteralMap",
+          "description": "A map of output variables to their values."
         }
-      }
+      },
+      "description": "OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to\ntheir values."
     },
     "corePrimitive": {
       "type": "object",
diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml
index 24b46a0cae..f256b7e050 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml
+++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml
@@ -92981,7 +92981,10 @@ definitions:
     type: "object"
     properties:
       inputs:
+        description: "A map of input variables to their values."
         $ref: "#/definitions/coreLiteralMap"
+    description: "InputData represents the inputs to a task or workflow. It's an envelope\
+      \ that contains a map of input variables to\ntheir values."
     example:
       inputs:
         literals: {}
@@ -94773,7 +94776,10 @@ definitions:
     type: "object"
     properties:
       outputs:
+        description: "A map of output variables to their values."
         $ref: "#/definitions/coreLiteralMap"
+    description: "OutputData represents the outputs of a task or workflow. It's an\
+      \ envelope that contains a map of output variables to\ntheir values."
     example:
       outputs:
         literals: {}
diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go
index 3da22f0b60..c30ad76d00 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go
+++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_input_data.go
@@ -9,6 +9,8 @@
 
 package flyteadmin
 
+// InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to their values.
 type CoreInputData struct {
+	// A map of input variables to their values.
 	Inputs *CoreLiteralMap `json:"inputs,omitempty"`
 }
diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go
index d4662e8b25..abd6c38948 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go
+++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_data.go
@@ -9,6 +9,8 @@
 
 package flyteadmin
 
+// OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to their values.
 type CoreOutputData struct {
+	// A map of output variables to their values.
 	Outputs *CoreLiteralMap `json:"outputs,omitempty"`
 }
diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go
index 6cc8029a36..95b24e6392 100644
--- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go
+++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go
@@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} {
 	return nil
 }
 
-var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfb\x73\xeb\xb8\x95\x2f\x8e\xfe\x3e\x7f\x05\xbe\x7b\x4e\x55\x77\x27\xb2\xdd\x49\x66\x72\x53\x9e\x3a\x75\xaf\xda\xd6\xde\xed\xd3\xde\xb6\xe3\x47\xf7\xe4\x1e\x4d\x29\x10\x09\x49\x88\x49\x80\x01\x40\x7b\x2b\xa9\xfc\xef\xdf\xc2\xc2\x83\xe0\x4b\xa2\x1e\xb6\xe5\xdd\x9c\xa9\x4a\x7b\x8b\x24\x9e\x0b\x0b\xeb\xf9\x59\xff\xfc\x37\x84\x3e\xc8\x67\x3c\x9f\x13\xf1\xe1\x14\x7d\xf8\xfd\xf1\xf7\x1f\x06\xfa\x37\xca\x66\xfc\xc3\x29\xd2\xcf\x11\xfa\xa0\xa8\x4a\x88\x7e\x3e\x4b\x96\x8a\xd0\x38\x39\x91\x44\x3c\xd1\x88\x9c\xe0\x38\xa5\xec\x38\x13\x5c\x71\xf8\x10\xa1\x0f\x4f\x44\x48\xca\x99\x7e\xdd\xfe\x89\x18\x57\x48\x12\xf5\xe1\xdf\x10\xfa\x17\x34\x2f\xa3\x05\x49\x89\xfc\x70\x8a\xfe\xaf\xf9\x68\xa1\x54\xe6\x1a\xd0\x7f\x4b\xfd\xee\xff\xc0\xbb\x11\x67\x32\x2f\xbd\x8c\xb3\x2c\xa1\x11\x56\x94\xb3\x93\xbf\x49\xce\x8a\x77\x33\xc1\xe3\x3c\xea\xf8\x2e\x56\x0b\x59\xcc\xf1\x04\x67\xf4\xe4\xe9\x77\x27\x38\x52\xf4\x89\x4c\x12\x9c\xb3\x68\x31\xc9\x12\xcc\xe4\xc9\x3f\x69\xac\xe7\xf8\x37\x12\xa9\x7f\xc1\x3f\x62\x9e\x62\xca\xcc\xdf\x0c\xa7\xe4\x5f\xbe\x1d\x84\x3e\xcc\x89\x0a\xfe\xa9\x67\x9b\xa7\x29\x16\x4b\xbd\x22\x1f\x89\x8a\x16\x48\x2d\x08\x32\xfd\x20\xb7\x44\x7c\x86\x30\x3a\x15\x64\x76\xfa\x57\x41\x66\x13\xb7\xd0\xc7\x66\x81\x2f\x61\x34\x37\x09\x66\x7f\x3d\xb6\xcb\x04\x2d\xf3\x8c\x08\x98\xdb\x45\xac\x5b\xff\x44\xd4\x10\x9a\x2d\xde\x0f\xdf\x16\x44\x66\x9c\x49\x22\x4b\xc3\x43\xe8\xc3\xef\xbf\xff\xbe\xf2\x13\x42\x1f\x62\x22\x23\x41\x33\x65\xf7\x72\x88\x64\x1e\x45\x44\xca\x59\x9e\x20\xd7\x52\x38\x18\x33\x55\xbd\xb1\xb8\xd6\x18\x42\x1f\xfe\x97\x20\x33\xdd\xce\xbf\x9f\xc4\x64\x46\x19\xd5\xed\x4a\x43\x3f\xc1\x68\x4b\x5f\xfd\xeb\xdf\x9a\xfe\xfe\x57\x30\xa3\x0c\x0b\x9c\x12\x45\x44\xb1\xe3\xe6\xff\x2a\x73\xd1\x7b\xa4\x3b\x2f\xf6\xb1\x3a\xf0\xca\x6c\xaf\x70\x4a\xf4\x9e\xe8\x9d\xb2\x5f\xc0\xdf\x82\x48\x9e\x8b\x88\xa0\x29\x49\x38\x9b\x4b\xa4\x78\x6d\x0d\x28\xb4\xa0\xc9\xab\xfa\x44\x90\xbf\xe7\x54\x10\xbd\x57\x4a\xe4\xa4\xf2\x54\x2d\x33\x18\xa4\x54\x82\xb2\x79\xb8\x14\xff\x1a\x74\x9a\x9a\xa1\xca\x0d\x66\x66\x3e\x68\x9d\xd8\x98\x0d\xdd\x2b\x11\x66\x68\x4a\x90\x3e\x8b\x34\x26\x82\xc4\x08\x4b\x84\x91\xcc\xa7\x92\x28\xf4\x4c\xd5\x82\x32\xfd\xef\x8c\x44\x74\x46\x23\xb7\x66\x87\xb3\x36\xf0\xe7\xea\x95\x79\x90\x44\xe8\x81\x3f\xd1\x98\xc4\xe8\x09\x27\x39\x41\x33\x2e\x4a\xcb\x73\x3c\x66\xf7\x0b\xbd\x0e\xe9\x94\x32\x38\x79\x7a\x2d\x1d\x85\xfc\xd6\x2d\xd7\x6f\x91\xee\x0f\xe5\x8c\xfe\x3d\x27\xc9\x12\xd1\x98\x30\x45\x67\x94\xc8\x6a\x6b\xbf\xe5\xd0\x3f\x4e\xd0\x11\xd2\xeb\x4c\x84\x82\xf5\xe6\x4c\x91\x2f\x4a\xa2\x23\x94\xd0\x47\x82\xbe\xb9\xa4\x52\xa1\xe1\xcd\xc5\x37\x03\xf4\x8d\x39\x2f\x08\x78\xd3\x37\xaf\xb0\xc2\xfe\xef\xff\x09\x8e\x9e\xc2\xf3\xea\xa1\xfb\x30\xd4\xa7\xf9\xce\x5c\x0d\x45\x0b\xff\xf3\x6f\x61\x3b\x76\xbf\x56\xf3\xdb\x82\xd9\x5a\x4e\xdb\x95\xbf\xc2\x32\x95\x59\xab\xd4\x3b\xb4\x2b\x67\xd5\xed\x56\x59\xab\x7c\x5f\xbc\x55\x4f\xe1\xa5\xf9\xeb\x2e\xcc\x15\x2b\xa0\x7a\x4c\x99\x39\x24\xfe\xcc\x08\xa9\xcf\x89\xa3\xde\x03\x61\x29\xbb\xf0\xda\x60\x66\x01\xbb\x75\x5c\x34\x58\x95\x03\x9c\x77\x42\x53\xba\x6e\x7f\x2f\x58\xac\x45\x2e\xcb\xec\x58\x9e\x4e\x89\xd0\xcb\xe0\xd8\x1e\xcc\x76\xaa\xd9\xa0\xca\x05\x23\x71\x87\x69\xfe\x3d\x27\x62\xb9\x62\x9e\x33\x9c\xc8\xb6\x89\x52\xa6\x88\x96\x6f\x2b\x8f\x67\x5c\xa4\x58\xd9\x17\xfe\xf8\x1f\x9b\x2e\x84\xe2\x8f\x64\xdd\xfe\x5f\x98\xdd\x8c\xb0\x04\x32\x48\xf3\x44\xd1\x2c\x21\x28\xc3\x73\x22\xed\x8a\xe4\x89\x92\x03\x78\x4d\xcb\xd4\x44\x1c\xf9\x1b\x08\x7a\x70\x37\x6f\x2e\xe1\x17\x34\xf3\x02\x24\x23\x5f\x14\xb4\x34\x66\x70\xf7\xc2\x12\x85\x37\xca\x0b\x2c\xe5\x76\x34\x23\xb9\x50\x93\xe9\xf2\xf8\x91\xd4\xfa\x6d\xa5\x1c\xcc\x10\x56\x4a\xd0\x69\xae\x88\x9e\xb7\x6e\xc3\xdd\x9d\xc0\x1e\xcd\x05\xdd\x85\x35\xbc\xdd\x84\x63\x2a\x48\x04\x73\xdb\xe4\xc0\xf8\xaf\xf4\xbc\xb5\xfe\xb2\x34\xb3\x7f\x24\x4b\x90\x47\x1a\x56\xc0\x6f\xf9\x98\x8d\x19\x3a\x42\xe7\xa3\xbb\xb3\xd1\xd5\xf9\xc5\xd5\xa7\x53\xf4\xc3\x12\xc5\x64\x86\xf3\x44\x0d\xd0\x8c\x92\x24\x96\x08\x0b\x02\x4d\x92\x58\xcb\x1c\x7a\x30\x84\xc5\x94\xcd\x11\x17\x31\x11\x2f\xb7\x8c\x95\xa7\x84\xe5\x69\xe5\x5e\x81\xdf\x8b\xd1\x57\xbe\xd0\x22\x86\x7f\x54\x7a\xf2\x3f\xb5\x05\x86\x19\xeb\xbe\x83\xd6\x5e\x4d\xa8\x89\x16\x34\x89\x05\x61\x27\x0a\xcb\xc7\x09\xf9\x42\xa2\xdc\xdc\xc9\xff\x2c\xff\x30\xd1\x92\x29\x8f\x49\xf9\x97\xd2\x3f\x0a\x51\x68\xe3\x4f\xbd\x96\xba\xf1\x97\xa0\xd3\x76\xfb\x0e\x7e\xa1\x71\xe3\xdb\xf0\xcb\x9a\x39\xb8\x77\x56\x0c\xd6\xbd\xd2\x3a\x2a\xf7\x82\x95\xf8\x1a\xdf\x11\x44\x89\xe5\x04\x2b\x45\xd2\x4c\x6d\xa8\xaf\x63\x94\x68\xb9\x72\x95\x1c\x79\xc5\x63\x32\x72\xfd\xfd\x15\x19\x71\x96\xc4\x68\xba\xb4\x5c\x6b\x46\x04\x61\x11\x69\x6f\xe1\x1e\xcb\xc7\xa2\x85\x75\xc2\x68\xa9\x3f\xf9\x91\x0b\xfd\xf9\x7b\x10\x48\x4b\x03\x7f\x0d\x99\x74\xdb\x13\xf7\xd5\x59\x08\xb6\xe4\x1f\xbd\x3d\x61\xf7\x95\xec\x6a\x7d\xe0\x02\xc9\xa5\x54\x24\x5d\x6b\x87\x78\x3f\x0b\x61\x2f\x88\x43\x1d\x70\xe5\x8e\xfa\x15\x9c\xfa\xf2\x8d\xdb\x1f\xef\x0d\x96\x6c\x5f\x56\xc4\x43\x9f\xa7\xf3\xe1\xac\x9e\xea\x9d\xdb\xbe\xc0\x89\xf1\x2e\xa6\x59\x92\x05\xf7\x3d\xc8\x17\x32\x37\xb4\xee\x95\x5b\xed\x09\x0c\x60\x8d\xa2\x59\xb6\x43\xfb\xf3\xa7\x3f\x0d\x2d\x34\xc6\x1c\xa7\x16\x54\x06\xc6\x2a\x14\x71\x61\x64\xc1\xd8\x9e\x77\xa3\x6b\x0e\xef\x87\x77\xa3\xfb\x53\x34\x44\x31\x56\x58\x1f\x70\x41\x32\x41\x24\x61\x0a\xf4\x78\xfd\xbd\x5a\xa2\x94\xc7\x24\x31\x1a\xe7\x47\x2d\xf9\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\x84\x7f\xea\x8f\xa9\x44\x38\x91\x1c\x61\x47\x56\x24\x76\x4d\x60\x16\x3b\xd6\x82\x51\xc4\xd3\x8c\x26\xde\x06\xef\x8d\x2b\x94\xc5\xf4\x89\xc6\x39\x4e\x10\x9f\x6a\xae\xa2\x35\xe4\xd1\x13\x61\x2a\xc7\x49\xb2\x44\x38\x49\x90\xed\xd6\xbd\x80\xe4\x82\xe7\x49\xac\xdb\x75\xa3\x94\x34\xa5\x09\x16\x5a\x05\x37\xa3\xbd\xb6\x6d\xa1\xfb\x05\xf1\x63\x85\x71\xe9\xd5\x4c\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x34\x29\xce\xfc\xc3\x05\x82\x71\x9f\x5d\x5e\x80\x3e\x1f\x29\xc4\x0d\x0f\x75\x9d\x5b\xfb\x8d\xeb\x31\xc5\x8c\x11\xe8\x98\xab\x05\x11\xb6\x7b\xfb\xf2\x5b\xab\xe6\x0f\x57\x77\x37\xa3\xb3\x8b\x8f\x17\xa3\xf3\xba\x6e\x7e\x3f\xbc\xfb\xa9\xfe\xeb\x2f\xd7\xb7\x3f\x7d\xbc\xbc\xfe\xa5\xfe\xe4\x72\xf8\x70\x75\xf6\xe3\xe4\xe6\x72\x78\x55\x7f\x68\xc9\xaa\xb3\x9a\x1f\x8e\x6c\xc3\xb3\xd5\xdb\x34\x5f\xca\xa6\x39\xf8\x7a\x8d\x9a\x33\x9a\x80\x0e\xda\xd9\xa0\xe9\x6d\x08\xf6\x4b\x94\x61\x29\x8d\x64\x64\x46\x70\x3c\x66\x9f\xb9\xd0\x0c\x6c\xc6\x35\x8f\xd0\xd2\x93\x12\x79\xa4\x28\x9b\xfb\x8f\x4e\xd1\x38\xff\xfe\xfb\x3f\x44\x97\x94\x3d\xc2\x5f\xe4\x10\x17\xa7\xb7\xf8\xf6\x16\xdf\x5f\x97\xc5\x57\x8b\x3e\x27\xa1\xa1\x77\xbf\x21\x43\x5a\xb8\x60\x59\xae\x40\x94\xe0\xb9\xd2\x7f\xea\x2e\x81\x3c\x56\x04\x0e\x75\x33\x28\x7e\x22\xca\xbf\xa8\x45\x9b\xf7\x60\x47\xfc\x85\x8b\xc7\x59\xc2\x9f\xfd\xc0\x3f\x11\xa5\xc7\x7e\x6b\x7b\xe9\x43\x89\xfa\x50\xa2\xb7\x0d\x25\x3a\x28\x63\xde\xcb\x33\xbf\xb2\xe5\xcf\x70\xc0\x16\x4f\x56\xab\xa3\xaa\xc5\x0f\x15\xb8\x99\x5e\x85\x6b\x96\x9d\x39\x6b\x38\x67\xe9\xe5\xf7\xc2\x3d\x4b\x83\x7e\x7d\xce\xf9\xab\xf0\xb7\xf4\xee\x94\x2d\x17\xea\x5d\x32\xd8\x8e\x77\xc7\xab\x39\x43\x5e\x9e\xe1\xd7\x62\x1b\x36\x09\x66\xd8\x20\x7a\xa1\x73\xb8\xc2\x9a\xf8\x84\xc6\x80\x84\xa6\x08\x84\x7a\xc8\x41\x63\x8c\xc1\x6e\x41\x05\xdb\xde\x4d\xdd\xc3\x04\x3e\x11\x55\x7a\xf9\xbd\xdc\x4d\xa5\x41\xbf\xfe\xdd\xf4\x2b\x8d\x0e\xe8\xc3\x01\x5e\x70\xe9\xbe\xf6\x1b\xed\x70\x1d\xfe\xbf\x02\x0f\x7f\xef\xd2\xdf\x68\x8d\xbe\x2e\x1f\xfe\xd7\xea\xb4\x7f\x9f\x5e\xfa\xde\x2d\xdf\xbb\xe5\xdf\xc2\x7f\xf2\xfe\xdc\xf2\x2f\xab\x9e\x16\xc7\x6b\xe2\x68\xc1\xea\x6b\xc1\xa1\xfc\x57\x07\x27\x0d\xfc\xe5\x54\xbe\x4d\x83\xc6\x5b\x75\xb8\xf3\x62\x7c\x23\x38\x42\x7f\xb5\x84\xb4\x46\x9d\xab\x7d\xf7\x1e\xd4\xb9\xfa\xa0\x5f\x5e\x87\x7b\x33\xe6\xfb\x42\x97\xe7\x3b\x61\x03\x9b\xdf\x96\x5f\xb1\x4c\xde\xcb\xe2\x2f\x9f\x8d\x7f\x30\x13\x7a\x3f\xb2\xf7\x1b\x5c\xbc\x1d\x6f\xdd\xbd\xe7\x64\x35\x5c\xb3\xc1\xed\xb4\x2e\xc3\xaa\xfa\x35\x25\xf2\xf7\xef\xf2\xbe\x7d\x8d\x24\xab\xfe\xc2\xed\x2f\x5c\xdb\x54\x7f\xe1\x7e\xc5\x17\xee\xc1\xc1\xdf\x1c\x4c\x04\x68\x1f\x44\xde\x03\x63\xf4\x31\xe4\x7b\x5c\x9c\x3e\x86\xbc\x8f\x21\xff\x95\xc5\x90\xef\xa2\x3d\x6d\x8b\x45\xf9\x16\x7a\x54\xaf\x46\xf5\x6a\x54\xf8\x7b\xaf\x46\xf5\x6a\x54\xaf\x46\x7d\xe5\x28\xa2\xbd\x0e\xd5\x7d\x21\x7a\x1d\xaa\xf3\x52\xf5\x3a\xd4\x8a\xc5\xe9\x75\xa8\x5e\x87\xfa\x75\xe9\x50\xe4\x89\x30\x25\x21\x19\x2d\xd4\x28\x3e\x64\x5c\xb6\x6b\x42\x21\x77\x68\xd0\x82\xa0\xcd\x72\x52\x18\x04\x2e\xfd\x15\x2d\xb0\x44\x3c\x8a\x72\x51\x39\x03\x55\x3d\xe8\x4c\x10\xac\x08\xb4\xa0\x3f\x7c\x0f\xfa\x4f\x7d\xba\xaf\x15\x83\x3f\xe5\x71\x8d\xda\xcd\x41\x68\x7a\xb2\x5a\x1e\xd9\xdb\xd4\xff\x9e\x93\x6e\xea\xdf\x0b\x12\xb5\xc2\xf2\x71\xcf\x44\x5d\xca\xb5\xd8\x8a\xa8\xa1\x85\xf7\x42\xd4\xf5\xe9\xfe\x6a\x88\xba\x69\xea\x87\x40\xd4\xcf\x36\x8f\x7f\xcf\x84\x5d\x83\x07\xd8\x8a\xb8\x7d\x2b\xef\x85\xc0\x9b\xa7\xfd\xab\x21\xf2\xb6\xe9\xbf\x2d\xa1\xfb\x14\xc9\xce\x24\x7e\x2f\xe8\x7c\xae\xd5\x0c\xd0\xf0\x34\x29\xae\xaf\x11\x54\x24\x05\xae\x25\x6b\xff\xea\x7b\x20\x69\x3f\x58\x33\xf6\x5f\x0d\x2d\xd7\xe6\x7d\x20\x44\x7c\x22\x48\xc4\x9f\xa0\x5e\x58\x37\x62\xbe\x25\x40\xc1\xc0\xaf\x33\x41\x9e\x28\xcf\x65\xb2\x3c\x12\x39\x43\x8e\xf9\x23\xdf\xbc\xb1\x56\x3f\xd3\x24\x41\x9c\x69\xfd\x4b\x61\xa1\xdc\x63\xad\x7f\x0b\x9e\xc2\xa9\x48\xb0\x54\xe8\x91\xf1\x67\x86\x66\x98\x26\xb9\x20\x28\xe3\x94\xa9\xe3\x31\xbb\x60\xe8\xd6\x8c\x11\xf2\x06\x06\x28\x97\xfa\x2c\x45\x98\x31\xae\x50\xb4\xc0\x6c\x4e\x10\x66\x4b\x9b\x80\x5b\x50\x06\xe2\x02\xe5\x59\x8c\xb5\xe2\xbb\x20\xd5\x28\x3d\x3f\x46\x30\xdf\x51\x89\xa8\x44\xe4\x8b\x12\x24\x25\xc9\x52\xf7\xa1\x69\x5f\x71\x64\xd7\xc7\x0c\xd5\xa6\xf3\x11\x21\xb8\x90\x90\x71\x30\x5d\xfe\x03\x33\x45\x19\x41\xa0\x28\x49\x63\x9a\x3b\x42\x97\x5c\x82\xd9\xe6\xa7\x3f\x49\x14\x25\xb9\x54\x44\x0c\xd0\x34\x9f\x4b\xad\x29\x66\x09\x56\x33\x2e\x52\x3d\x42\xca\xa4\xc2\x53\x9a\x50\xb5\x1c\xa0\x14\x47\x0b\xd3\x16\xac\x81\x1c\x8c\x59\xcc\x9f\x99\x54\x82\x60\xdf\xbb\x7b\x88\xbe\x0d\x9f\x19\x02\x90\xdf\x0d\x20\xed\x90\xa6\x5a\xdd\x0d\x86\x5f\xec\xb8\xd9\x13\xdd\x08\x89\xd1\x94\x44\x38\x97\xd6\xc3\xa0\xc4\x12\x91\x2f\x0b\x9c\x4b\xd8\x3b\x3d\x3d\x9b\xb3\x11\xf1\x34\x4b\x88\x22\x88\xce\x90\x12\x94\xc4\x08\xcf\x31\xd5\x4b\x77\x47\x56\x80\xa0\x7b\xa2\xb7\x1b\x68\xa9\xfe\xaf\xa0\x7e\xa7\x5c\x10\x14\x13\x85\x69\xb2\xd2\xeb\x64\xbf\xed\xb9\xdc\x7b\xe2\x72\xe5\x0d\x3f\x08\x36\x67\x40\xfc\xf7\x70\x69\x33\x6b\xba\x8f\x70\xb2\xe3\xfd\x7d\x6b\x07\xd5\xd3\xf6\xfb\xa2\x6d\xb3\x6b\x87\x43\xdc\xaf\x16\x83\xdd\xbd\xa2\x45\x51\xcd\xe2\x5d\xd1\xf4\x6b\x84\x05\xf4\x0e\xe7\xde\xe1\xdc\xba\x32\xef\xd3\xe1\x7c\x30\x1e\xa3\xde\xe7\xfc\x42\x3e\x67\x2a\x7b\xa7\x73\xef\x74\xee\xba\x40\xbd\xd3\xb9\x77\x3a\xbf\x5f\xa7\xf3\x4b\xe2\x3e\xef\x15\xdd\xf9\x5d\x89\xd6\xbd\x58\xdd\x8b\xd5\x3d\x84\xb3\x9f\xda\xbe\x58\x98\xfb\xfa\x43\x4c\x12\xa2\x48\xbb\x3d\x8b\x88\x54\x6b\x0b\xe6\x7a\xa6\x4c\xcb\x71\x73\x41\xa4\xdc\x95\x21\xf9\x86\xdf\x27\x5b\xf2\xc3\xef\xa1\xe6\x7b\x3e\xd5\xf3\xa9\x6d\xa6\x76\x38\xa6\xd9\xe0\x30\xbf\x96\x6d\xd6\xf3\xdf\x2c\x6f\x97\xfe\x1e\x8c\x1b\xb2\xf0\x8b\x1a\x0a\xd7\x52\xbb\xe2\xfe\x70\x5b\x3a\xdf\x91\x1f\x9b\xbe\xde\x27\x33\x36\x63\xef\x39\x71\xcf\x89\x7b\x4e\xfc\xbe\x39\xb1\x3b\xc9\x6f\xea\x22\x33\x7e\xba\x49\x96\x60\x36\xa1\xb1\x3c\xf9\x67\xa1\xcb\xbf\x94\x87\x4c\x1f\xa8\xd8\xa4\x98\xfa\x94\x4e\xf1\x57\xfd\x49\x52\x18\xcc\x3d\x66\xe6\x1a\x27\x9a\xb1\xb1\xdf\x24\x98\x5d\xc4\xef\xc2\x8f\xd6\x38\xfb\xd7\xf0\xa9\xed\xc2\xc7\xb1\x02\x4f\x07\xa6\xcc\x98\xf0\x8a\xbc\xda\x92\x81\xf2\x30\x4e\xf8\x2e\x5c\x3d\x98\x58\xc0\xd8\x1d\xbf\x0e\x16\xe5\xf0\xa6\xdd\xfb\x75\xfa\x5c\xc2\xde\x73\xd1\x71\xc2\xbd\xe7\xe2\x70\x3d\x17\x6f\xe5\x8e\x7c\xe5\xe3\xf9\x5a\x62\x5d\xf7\x20\x7c\x13\xad\x06\x41\xad\x79\x96\x70\x1c\xaf\x72\xc5\x14\x82\x57\x08\x8e\xb2\x36\x12\xbf\xf8\xec\x3d\x08\x6b\xc5\x68\x7f\x65\x91\x7c\xf5\x89\x1f\x8a\x96\xf2\x8a\xa1\x7c\xcd\x24\xbe\x81\x4a\xf2\x3e\xf0\x53\x8b\xf1\xf6\xa1\x7d\xbd\x45\xe9\xed\x2d\x4a\x7d\x68\x5f\xaf\x02\x1e\x98\x0a\xd8\x87\xf6\xf5\xa1\x7d\xbd\x82\xbc\x7a\xda\xbd\x82\xfc\x55\x84\xf6\x75\x12\xb5\x5f\x10\x7b\x73\x77\xa1\xbb\x97\xb9\xdd\x7b\xbd\xcc\xdd\xcb\xdc\x5f\xa9\xcc\x7d\x18\x2b\xdc\x0b\xdc\xbd\xc0\xdd\x0b\xdc\xbd\xc0\xdd\x0b\xdc\x7b\x5f\xc6\x5e\xe0\x7e\xcd\x02\x9d\xcd\x52\xf7\x9a\x24\x9b\xf7\xea\xcb\xe9\xc5\xed\x5e\xdc\x3e\x6c\x71\xfb\x60\x26\xf4\x7e\xca\x3c\x76\x9b\x4f\x5f\xa4\xbc\x2f\x52\xde\x17\x29\x7f\xf1\x22\xe5\xee\xeb\x0e\x19\x1f\xf6\x70\x29\xac\x72\x69\x00\x1f\x05\x99\x53\xa9\x80\xfd\x77\x91\x57\xd6\x27\x7a\xbc\x57\x39\xa5\x4f\xf5\xf0\x4f\x7b\xa9\xa5\x97\x5a\x7e\xa5\x52\xcb\x01\xc5\x82\x1d\x44\xc6\x4a\x8a\x55\xb4\xc0\xd3\x84\x4c\xbc\xd1\x47\x76\xd5\x83\x2f\xa9\x54\x12\x45\xb9\x54\x3c\x6d\xbf\x5c\x3e\xbb\x1e\x86\xbe\x83\x33\xce\x66\x74\x9e\x9b\xbb\xc5\x80\x73\x06\x27\xba\x90\x04\x97\x19\x59\xe7\xa9\x6a\x68\xfd\x5d\x5c\x4b\xcd\x43\x7f\xad\xdb\x69\x13\xc1\xbd\x30\xf2\x59\xa9\x5b\xcb\x5a\x93\xdb\xd1\xdd\xf5\xc3\xed\xd9\xe8\x14\x0d\xb3\x2c\xa1\xc6\xee\x6e\x48\x81\xfe\x43\x4f\x0a\x29\x2c\x1f\x8b\xbd\x14\x86\xcc\x0d\x86\x2d\x18\xfa\xb5\x6c\x8c\x8e\xd0\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xa5\x41\x4b\x28\x90\xb7\x4a\xd2\x2c\xc1\x8a\xc4\xe8\x31\x9f\x12\xc1\x88\x96\x76\x2c\xd2\x6d\x61\xfe\x37\x8d\x8e\xfe\x7b\x74\xf6\x70\x7f\x71\x7d\x35\xf9\xf3\xc3\xe8\x61\x74\x8a\x1c\xc5\xe9\x66\xf5\xb8\xf4\x28\xe2\x25\xc3\xa9\xd6\x40\xf4\x0f\x45\xa6\xec\xdf\x73\x92\x13\x84\xa5\xa4\x73\x96\x12\x40\x04\x2e\xb5\xe8\x06\x7c\x39\xfc\x61\x74\x59\x6e\x79\x41\x42\xf8\x5d\x94\xe0\x29\x49\xac\x3f\x02\x4c\xec\x9a\xd0\x03\xa8\x62\xe3\xa8\xc8\xcd\xaa\xfe\xf9\x61\x78\x79\x71\xff\x97\xc9\xf5\xc7\xc9\xdd\xe8\xf6\xe7\x8b\xb3\xd1\xc4\x4a\x95\x67\x43\xdd\x6f\xa9\x27\x2b\x7c\xa2\xbf\xe7\x38\xd1\xda\x09\x9f\x39\x3c\x5e\xf4\xbc\x20\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf9\xf0\xe9\xe2\x6a\x72\xfd\xf3\xe8\xf6\xf6\xe2\x7c\x74\x8a\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\xe7\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x02\x3f\x51\x2e\xec\xd1\x9d\xd3\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x09\x96\xee\xfa\xea\xe3\xc5\xa7\x53\x34\x8c\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x95\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xbc\xbb\xbb\xf8\x74\xf5\x79\x74\x75\x0f\x2b\xa6\x04\x4f\x24\x5a\xf0\x67\x30\x65\xc3\x0c\xc1\xc2\xfd\x84\x69\x02\x9d\xb9\xcd\xe2\x0c\x3d\x2f\x28\xb8\x3f\x00\x98\xd9\xf7\x6c\xf4\x33\x91\xb3\x37\xb7\xce\x96\x0e\x5e\x5d\x6d\xa9\x9e\xa4\xfa\x1b\x95\x63\xb1\xea\x85\x12\x95\xd7\x5f\x5c\x47\xad\xf5\x2f\x2a\xe4\xd6\xae\xac\xd5\xe8\xa5\x7d\xa6\xc5\x5e\x77\xd6\xd5\xca\x6b\xf8\x7a\xd7\x2c\x51\x82\x46\xf2\x65\xa1\x9e\x44\xce\x14\x4d\x09\xb2\x9d\xd9\xc3\xb9\x47\xf8\xa7\xcf\xa6\xe1\xf7\x70\xc1\xd6\x4a\x39\x7c\x22\xca\x0e\xbf\x57\x01\x7b\x15\xf0\x30\x54\xc0\xf7\x96\xed\x1f\x93\xac\xde\x61\x65\x62\xf0\x8e\xf1\x7a\xd5\x82\x34\x8c\x3d\xd1\x5a\x54\x13\xf2\x44\x12\x90\xf2\x94\xc0\x5a\x69\xb4\xb2\xcb\x54\x10\xfc\xa8\x05\xbe\x98\x3f\x87\x92\x4b\x03\x72\x3f\xda\xcf\x2d\xdc\x25\x88\xe3\x0f\xbf\x7f\xbd\xcb\x42\x2f\x77\xfc\x1a\x25\xbc\x6f\x21\x48\x66\x25\x46\x60\x90\x60\xff\x57\x6b\x09\x5e\x73\x5b\x04\x5f\xbc\x87\x8b\x22\x1c\xee\x01\x69\x5d\xb7\xa1\x12\xec\x58\x68\x4a\x14\x8e\xb1\xc2\xfa\xd0\xcc\x89\x3a\x46\xd7\x0c\x9e\xdd\x63\xf9\x38\x40\xee\xca\xd3\x6c\xa5\xb0\x32\xbc\x42\x6a\xfd\x3b\x31\xe0\x6f\xce\xc7\xfb\xeb\xbb\xbf\xbe\x9b\x57\xa6\x0f\xf3\x6c\x59\xe1\x7d\x5d\x8c\x1b\xf9\xbc\xf6\x77\x7f\x99\x16\xdf\xef\x15\xf6\xba\x4e\xae\xbd\x5e\x68\xa6\x72\x56\x7f\x5b\x99\xff\xeb\x6f\xab\xfe\xb6\xea\x6f\xab\x03\x58\xe1\x37\x77\x18\x36\x70\xf7\x37\xf5\x18\xae\xd3\x4e\xb7\x86\xbc\x2b\xb4\xd1\x4d\x40\xef\xfe\xda\x15\xdb\xae\xf8\x86\xbe\x0f\x1f\x61\x30\xc9\xd7\x48\x6b\xdb\xeb\x65\x6e\xf2\x45\x7a\xfd\xf4\x05\x6f\xfc\x1e\x81\x70\xaf\x08\x84\x87\x31\xd7\x17\x49\x81\x7b\x1b\x8b\xe9\xdb\xa7\xbd\xf5\x50\x83\x7d\x62\x57\x9f\xd8\x05\xbf\xf7\x50\x83\xfb\xa3\xd6\x97\x95\xae\x79\x4c\x26\x95\x28\x01\xff\xcf\x49\xd5\xf3\x53\x7a\x12\xba\x81\x4a\x0f\x8a\x4c\x37\x68\x9d\xc6\xfb\x2c\x22\x75\xc5\x63\xd2\x39\x92\xa0\xf4\xf2\x81\xcb\xe0\x6e\x9e\x46\x16\x2f\x0d\xfc\x85\x25\xf1\x96\x2d\xff\x1a\x0d\x3b\x0d\x04\xdc\x5b\x79\xd6\x2e\xd4\xd7\x1a\x5f\x50\x70\xa8\x77\xe4\xa9\xe8\xc6\xc6\x5d\x4c\xe3\xa4\x85\x99\x37\x3f\xf7\x2c\xbd\xf9\xf1\xcb\x60\x06\x75\xe7\xe8\x60\x56\x09\xdf\x7e\x1f\x76\x95\x70\xc4\xaf\x61\x59\x59\xb9\xf7\x5f\x1d\x57\x5f\x45\xc9\x3d\x6f\xef\xb8\x5c\x5f\x2b\x87\xef\x21\x7e\x56\xd9\x3a\x7a\x0c\x9d\xde\xd4\x72\x38\x13\xee\x4d\x2d\xef\xda\xd4\x62\x5c\xb4\x93\x0c\x0b\xc2\x54\x83\x48\x5d\xbd\x4e\xe0\xf5\x10\x73\xc1\x49\x1d\xd0\x00\xd2\x12\x2d\xb2\x17\xb2\xbf\xaa\xbe\x2e\xdb\x8b\x15\x0c\x82\x4c\xc8\x93\x7f\x16\x7f\x7b\x61\xbd\x54\x01\x62\x45\x74\x92\xc1\xfa\x97\xfa\x8e\xce\x6d\xa0\xd2\xee\xb9\x92\x58\x95\x44\x41\x08\xa2\x5e\x1b\xcf\x74\x63\xde\x7e\x5f\x29\x92\xb5\x41\xbf\x6e\x6c\x53\x7d\xe3\xbb\x1d\x20\xb7\x33\xd4\xa4\xfb\x05\x39\x65\x5a\x1a\xe5\xb3\xe2\x62\x90\xe8\x99\x26\x09\x20\x8a\x40\xc6\x63\xdb\x0d\xf0\xab\x8b\x78\x68\xdd\xf9\x37\x8d\x7b\x68\xe2\x0e\x4d\x2c\xa1\x8b\x3d\x75\x5f\x39\xd3\x8e\xd8\x20\x9d\x15\xb4\xa1\x35\x06\xd8\xaf\x83\x13\x7c\x22\xea\xb5\xd8\xc0\xb6\x67\x7f\xe5\xb9\x17\x64\x46\x04\x61\x11\x39\x40\x6f\xfb\x26\x61\x20\xbf\x98\x49\xda\x18\x10\x0f\x25\x10\x4e\x55\x71\xab\xa7\x95\x44\xdd\x3e\x93\xbc\xcf\x24\xef\x33\xc9\xab\x47\xbd\xcf\x24\xef\x33\xc9\x1b\x73\x20\x62\x92\x10\x45\x5a\xa5\x8a\x73\x78\xfc\x56\x52\x85\xe9\xfd\xeb\x10\x2c\xcc\x5c\x7a\xd9\xe2\x57\xa3\x59\xb8\x0d\x3f\x08\xcd\xc2\x9c\xb5\x75\xe6\x87\xd2\x8f\x0d\x21\xd6\xaf\x6e\x92\xd8\x86\x69\x94\xec\x12\xe7\xf0\xfa\xbb\x64\x1d\xd5\xa1\xf7\x36\x0a\x14\x6c\xdd\xcb\x71\x92\xda\x11\xe8\x36\x71\xeb\x31\x7c\xbf\xf3\x3e\x14\x0e\xda\x46\xf7\x87\xca\x47\xb7\x4e\x4a\x39\x14\x8b\xcd\x57\xc4\x23\x7b\xeb\xcd\x1b\xe7\x4a\xd4\x98\xe1\xbb\x9d\x6e\x6f\xac\xea\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\x2a\xd4\x1b\xab\x36\x36\x56\x7d\x45\x32\x55\x6f\xb8\xea\xc5\xaa\xfd\x4d\xf7\x50\xb5\xcc\x43\xb2\xd6\x75\x46\x49\x2f\x72\xa8\xd6\x46\xde\xdb\x69\xff\x75\x4d\xc8\xfd\x8d\x1b\xc1\xfb\xe1\x57\xf2\xa5\x59\xd2\x2e\x81\xc5\x6e\x47\xbf\xda\xb8\xe2\xbe\x74\x68\xe3\x5a\xf5\x61\xcf\x2b\x16\xa7\x0f\x7b\xee\xc3\x9e\x0f\x2e\xec\x79\xef\xca\x4a\xc6\xe5\x2a\x40\x22\x53\x3a\x6b\x65\xfe\xb3\xbb\xb3\x21\xd1\x08\x48\xc1\xa0\x1c\xc7\x24\x4b\xf8\x12\x2c\x29\x2b\xae\x73\xd7\xc5\x4d\x4d\xa2\x3e\xf4\x1b\xdd\x8d\xfc\xb5\x74\x8e\x43\x91\x49\x8b\x79\x1f\x84\x14\x7a\xf2\xcf\x4a\x3a\x7f\x27\xbc\x4c\x86\xc8\x17\x2a\xe1\x56\x5a\x4f\xd8\x63\xd6\xfc\x24\x28\x5d\x68\xef\xc1\x69\xae\x82\xdc\x3d\xa9\x05\xab\x8c\x08\xb5\x0c\xde\x24\x69\xa6\x96\xff\x35\x66\x54\x79\x0f\x1b\x9d\x33\x2e\x0c\x57\xd3\x1f\x2f\x30\x8b\x13\x22\xf4\xa5\xea\xda\x89\x30\x63\x5c\x81\xb8\x01\x33\x88\xd1\x13\xc5\x46\x38\x19\xde\x5c\x74\xf6\x33\xbf\xa3\xd3\xf5\xda\xc5\xea\xd6\xdc\x75\x9f\x12\x3e\x85\x0a\x96\x79\x59\xa7\xd7\x0d\xf4\x9e\xd1\xd2\xce\xbd\x15\x43\x50\x58\x3e\x56\x81\x43\xca\x59\xe8\x93\x95\x50\x22\x6b\xde\x2d\x61\xcc\xaf\x7e\xb5\x02\x37\x52\x7e\x66\x01\x48\xe0\x31\x0c\xb9\x3a\x0e\xf7\x63\xd8\xa1\xfb\xad\x68\xd9\xfd\xe2\x4a\x77\xc3\x8f\x82\x28\xb1\x9c\x60\xa5\x34\x93\xd9\x27\xc6\xc9\x3d\x96\x8f\x9d\x31\x4e\x4a\x2f\x1f\x38\xcb\x29\x61\x9c\x94\x07\xfe\xe2\x2c\xa7\x23\x75\xae\xe1\x4c\xef\x2f\x3f\xbe\xeb\x59\xdb\x60\xe2\xbf\x96\x5c\xf9\x6e\xbc\x67\x9d\x99\xf6\x3d\xe6\xcd\xaf\x62\xa6\x07\x33\xc2\x0a\x3f\xff\x1a\x4f\x6e\xf9\x76\xea\x8f\xe8\xaa\x35\xfa\xea\x0a\xe1\x56\x84\x8e\x35\x73\x7b\x27\x05\x71\xab\x72\xd3\xbe\x47\xf5\x32\x66\xee\x60\x37\x36\x89\x01\xba\x28\xa3\x95\xfb\x33\xe4\xa2\x82\x8a\xd2\xb3\x0b\x48\xb4\xa6\x32\x4c\x88\x8f\xb8\x30\x92\x57\x6c\xcf\xac\x31\xdb\x19\x30\xdf\x53\x34\x44\xb1\xad\xcd\x2f\x48\x26\x88\x24\x4c\x19\x55\xdb\xd4\xbb\x72\xe5\xfd\x29\xb3\x16\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\xf4\x85\xfd\xa9\x44\x38\x91\x1c\x61\x47\x38\x24\x76\x4d\x60\x16\x3b\xf6\x80\x51\xc4\xd3\x8c\x26\x1e\xa9\xdd\x5b\xf1\x29\x8b\xe9\x13\x8d\x73\x9c\x78\x64\xec\x31\x1b\x3d\x11\xa6\x72\x50\xe1\x70\x92\x20\xdb\xad\x7b\x21\xd0\xcf\xdd\x28\x25\x4d\x69\x82\x05\x52\xdc\x8e\xf6\xda\xb6\x85\xee\x17\xc4\x8f\xd5\xa1\x80\xa3\x14\x3f\x12\x89\xa8\x42\x19\x97\x92\x4e\x93\xe2\x18\x3f\x5c\x20\x18\xf7\xd9\xe5\x05\x98\x46\x23\x85\xb8\xe1\x83\xae\x73\xeb\x27\x70\x3d\xa6\x98\x31\x02\x1d\x73\xb5\x20\xc2\x76\x6f\x5f\x7e\x6b\x2b\xe7\x5b\x63\x44\xb7\x5b\x4c\xc3\x91\xbd\x9d\xd2\xd9\x59\xe3\xec\xaa\x6e\x76\xd3\x35\xdb\x15\xcd\x17\xf0\xd2\x76\xd7\x06\x2f\xa9\x2c\xab\x83\xef\xc2\x65\x5b\x1a\xf1\x6b\xe0\xa3\xfd\x4a\x15\xc1\x5e\x0b\x7c\x91\x75\xfb\x5a\x55\xc0\x03\xd7\xff\x7a\x64\xb7\x1e\xc5\xbe\x0f\xc0\xd8\xe3\xe2\xf4\x01\x18\x7d\x00\xc6\x57\x1b\x80\xd1\xae\x4d\xd0\x78\xe7\x74\xbd\x0d\x2b\x48\x79\xa3\x80\xf8\x2b\x88\x52\x58\x3e\x76\xad\x29\xa5\x45\xe5\x8b\xf8\x5d\x48\xf5\x8d\x13\x7e\x0d\xe9\xbe\xaf\x53\xb4\xd7\x3a\x45\x07\x37\xed\x5e\xf0\xeb\x05\xbf\x5e\xb6\xe9\x38\xe1\x5e\xb6\x39\x5c\xd9\xe6\xad\x14\x96\xaf\x09\x42\x57\x0b\x4f\xa5\xcc\x98\x95\x01\xb6\x06\x8e\x06\xdc\x03\x79\x96\x70\x1c\xaf\x0b\xc2\xf9\x2b\x2a\xe4\x9a\x15\xa2\x99\x69\x57\x7f\x70\xe0\x92\x59\x2d\xfe\xc6\x8c\xfc\xd7\x10\x53\xdb\x3a\xf5\x37\x0d\xab\x05\xfa\x85\x60\xb2\x52\x50\xda\x4b\x69\x21\x55\x9a\xee\xa4\x70\xc8\xdf\x1f\x38\x55\xfb\x2d\x7d\x0d\xf5\xe2\x2b\x76\x10\xf4\x4e\x80\x5f\x67\xe1\xf3\x83\x91\x5a\x7b\xd5\xae\xcf\xaa\xec\x8d\xfa\xbd\xe2\xdb\x2b\xbe\x7b\x5f\xc6\x43\x52\x7c\xdf\x50\xa2\x36\x69\x22\x2f\x52\xc6\x70\x3b\xd9\xba\x17\xad\x7b\xd1\xba\x17\xad\xbf\x5a\xd1\xfa\x30\x56\xb8\x97\xab\x7b\xb9\xba\x97\xab\x7b\xb9\xba\x97\xab\xf7\xbe\x8c\xbd\x5c\x5d\x91\xab\xe1\x2f\x97\x26\xbd\xa9\x90\xdd\x59\xb8\xee\x90\x13\xfd\x5e\x24\xeb\x5e\xaa\xee\xa5\xea\xc3\x96\xaa\x0f\x66\x42\x5f\x5f\x22\x64\x9f\x4a\xd8\xa7\x12\xf6\xa9\x84\x6f\x91\x4a\xe8\x78\xc9\x2a\x09\xa5\x2e\x58\xfc\x5c\xe3\x40\x07\x2b\x5b\x14\xa3\xdd\x36\xbc\x63\x5f\x4b\xed\x80\xe6\xb7\xa9\x34\x55\xfa\xcd\x35\x74\x40\xf5\xa7\x06\x4e\x5a\xd0\x8c\xc2\x8d\x6f\x3d\x42\xd8\x2f\xf6\xcd\xf7\x05\x06\x5e\x1f\x75\x5f\x7f\x0a\x05\xbb\xd6\xd7\x9f\x7a\xc1\x79\xbb\xc3\xb5\x66\xe6\x8e\x46\x8d\x8d\xf7\x9d\x4e\xfb\xcd\xc1\xe5\xda\x4f\xfa\x9b\x86\xcb\x35\xde\x24\xb5\xe4\x9d\x93\x7f\x36\x5e\x14\x6f\x50\x76\x6b\xe3\xdb\xe1\x13\x51\x5f\xcb\xd5\xd0\x97\xdd\xea\xeb\x43\xec\x69\xba\x5b\xb1\xfe\x77\x3b\xdb\xbe\xc8\x58\x5f\x64\xac\x2f\x32\xd6\x17\x19\xeb\x8b\x8c\xa1\x5f\x79\x91\xb1\x8d\xc5\x47\x33\x8e\xaf\x45\x82\xec\x8b\x8c\xf5\x42\xe4\xfe\xa6\xfb\xeb\x12\x22\x0f\xd0\x82\x70\x10\xd5\xd4\xbc\x05\xe1\xcd\x71\x3f\xdc\x48\xba\x62\x7f\xb8\x05\xed\xf1\x3f\xec\xff\xf5\xf8\x1f\x3d\xfe\x47\xcb\xac\xfb\x60\xd6\x1e\xff\x03\xf5\xe1\x9a\x7d\xb8\xe6\x21\x87\x6b\x76\xd8\xc6\x1e\xff\xa3\xa3\x38\xf7\x42\x18\x20\x4e\xe6\xda\x08\x07\xe4\x97\xba\xa2\x71\xb0\x52\x9a\x1b\xeb\xaf\x07\x07\xa4\x71\xda\x07\xa1\x92\xbc\x22\x0e\x48\x13\x5d\x77\x56\x40\xde\x07\x1e\x88\x1b\x6d\x9f\xb8\xd8\x87\x58\x1f\x7e\x88\xf5\xc1\x25\x2e\x1e\x8c\x24\xdb\xab\x7b\x7d\xee\x62\x9f\xbb\xd8\x2b\xc3\xbd\x32\xbc\xf7\x65\x3c\x24\x65\xf8\x8d\x25\xec\x17\xc4\x05\xd9\x4d\xd6\xee\x45\x6d\xf3\x5e\x2f\x6a\xf7\xa2\xf6\x57\x2a\x6a\x1f\xc6\x0a\xf7\x72\x76\x2f\x67\xf7\x72\x76\x2f\x67\xf7\x72\xf6\xde\x97\xb1\x97\xb3\x5f\x0d\x27\xa4\x49\xd8\xee\x98\x6f\xf3\x9e\x24\xed\x5e\xca\xee\xa5\xec\xc3\x96\xb2\x0f\x66\x42\x3d\x66\x48\x8f\x19\xd2\x63\x86\xf4\x98\x21\x5b\xc9\x37\xff\x66\x8f\xe5\x87\xe0\x26\xf6\x57\xf6\x87\x1f\x12\x3e\xbd\x5f\x66\x44\xff\xf7\x9c\xa6\x84\x49\x90\x46\xa9\x5a\x86\xf2\x4c\xcb\xca\xd7\xd7\xfc\xc3\xdd\xc5\xd5\xa7\xcb\x30\x9b\xe6\xc3\xe7\x87\xcb\xfb\x8b\x9b\xe1\xad\x5f\x17\x3f\xab\x70\x2d\xec\x77\x25\x91\xcc\x92\xfc\x2d\xd1\xba\x27\x9c\x9a\x3b\x85\x55\x2e\xb7\x1b\xd9\xed\xe8\x6e\x74\xfb\x33\x64\x03\x4d\xce\x2f\xee\x86\x3f\x5c\x96\x08\xa2\xf4\x7c\x78\xf6\xe7\x87\x8b\xdb\xf6\xe7\xa3\xff\xbe\xb8\xbb\xbf\x6b\x7b\x7a\x3b\xba\x1c\x0d\xef\xda\xbf\xfe\x38\xbc\xb8\x7c\xb8\x1d\xad\x5c\x8f\x95\xa3\x5d\xad\x84\x48\x58\x24\x88\xf3\x47\x91\xe5\x1a\xa2\x58\x43\xe4\xc5\x47\xc7\x0e\x9b\xfa\x3a\x45\x0f\x56\xa7\xa7\xb6\x71\xc3\x60\x83\x86\x8c\x32\x12\x53\x89\xa7\x09\x89\x6b\x2d\xb9\x35\x6c\x6b\x09\x97\x06\xf5\xac\xb5\x67\x2f\x72\x6a\x9e\x17\x19\x5e\x80\x20\x47\x51\x11\x16\x37\xf4\x61\xf6\xa1\xb5\x07\xa6\x79\x17\x7d\x22\xa5\x9e\xa2\x5c\x08\xc2\x54\xb2\x44\xe4\x0b\x95\x4a\xd6\x1a\x75\xdb\xd7\xd6\xac\xbd\x53\x7d\x83\x0b\x2c\xd1\x94\x10\x56\x1e\xbf\x20\x09\xc1\xb2\x61\xcc\x76\xf7\xbb\x2d\x8b\xdf\x2b\x6b\x8d\x31\x97\xd1\x0c\xd3\x24\x17\xa4\x72\x5a\x78\x9a\x61\x41\x25\x67\xa3\x2f\xfa\x2e\xd3\x07\xf9\x1a\x3e\xe7\x62\xbb\x13\x33\xfa\x73\x48\xc1\x57\xe5\x7f\x7e\xba\x2f\xff\xab\x74\xe6\x2f\xef\xcb\xff\x5a\x4d\xeb\x41\xc3\x55\xca\x3e\x42\x9f\xee\x4f\xd1\x27\x08\x71\x12\xe8\x7e\x81\x0d\xc5\x5e\xde\x9f\xa2\x4b\x22\x25\xfc\x52\x7c\xac\xa8\x4a\x60\x6e\x3f\x50\x86\xc5\x12\xb9\xe9\x9b\x44\x57\x1c\x2d\x10\xf1\x4b\x53\x5d\x3c\xf6\xb7\x9c\x81\xea\x5e\xac\xde\x25\x9f\xd3\x08\x27\xbb\x2d\xe2\xf0\xaa\xc4\x07\xae\x6f\x57\x2e\x45\xf8\x76\x7d\x2d\x86\x57\xe7\x90\x44\xea\x86\xda\x30\xf3\x2b\x22\x35\x91\x44\x9c\xc5\xd6\x4b\xa3\x6f\xff\x65\x20\xd4\xff\x8d\x43\x22\x6e\x2e\x29\x9b\xeb\x16\xd1\x09\xba\xbe\x1d\xb3\x6b\x11\x1b\x43\x28\xd1\xd2\xb0\xa1\x39\x2a\x11\xe3\x0a\xd1\x34\xe3\x42\x61\xa6\xb4\x22\x00\x62\x80\x5d\x11\xc3\x01\xce\x78\x9a\xe6\x0a\xeb\x83\x56\x5b\x54\x66\xcc\x21\x77\x44\x5d\xc4\xe0\x5a\x69\x58\x43\x23\x27\x14\x73\xc9\x84\x6e\x5f\xcb\x28\x65\x1d\x9a\xc6\x35\x55\xd6\x35\x81\x85\xc0\x65\x69\xe2\x03\x55\x24\xad\xbe\xdf\x31\xc8\xf3\x5f\x8d\x06\x82\x33\x93\x54\x41\xc4\x50\x44\x0b\xaa\x48\xa4\xf4\x11\xdc\x8a\x26\x1e\xae\x7e\xba\xba\xfe\x25\x94\x20\x3e\x0c\x3f\x9f\xff\xf1\x3f\x4a\x3f\xdc\x7e\xae\xfd\x30\xf9\xf9\x8f\xb5\x5f\xfe\x3f\x2b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x04\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x9c\x20\x99\x67\x9a\x02\xe4\x71\x79\x7f\xb5\x48\x79\xc9\x71\x4c\xd9\xdc\x64\x80\x5e\x52\x45\x04\x4e\x3e\xe3\xec\xa3\xb3\x5f\x6f\xb1\x3a\xff\xe7\xae\x94\xaf\xfb\xe1\x2f\xc3\xcf\x61\xc6\xef\x87\x9b\xdb\xeb\xfb\xeb\x95\xb3\x2e\xb5\x50\x3f\x46\xfa\xf1\x29\xfc\x2f\x3a\x41\xba\x75\x2f\xf9\xa6\x44\x61\xad\x11\xa0\x6f\x4d\xd2\x9c\x4f\xa4\xa1\x2c\x81\x53\x93\x09\x9a\x52\xb8\x52\x8c\x05\xef\x3b\x23\x5c\x7b\xed\xc1\x9f\x1b\xf3\x01\x68\xcb\xee\x52\x66\x31\x16\x31\xfa\x9b\xac\xa6\x8f\x83\xe1\xd8\xfc\x40\x62\x74\x84\x16\x4a\x65\xf2\xf4\xe4\xe4\xf9\xf9\xf9\x58\xbf\x7d\xcc\xc5\xfc\x44\xff\x71\x44\xd8\xf1\x42\xa5\x89\x49\x97\xd7\xab\x70\x8a\x6e\x04\xd7\x57\x08\x28\xe8\x44\x50\x9c\xd0\x7f\x90\x18\x4d\x0d\xff\xe3\x33\xf4\xd7\x88\x0b\x72\x5c\x6c\x8c\x35\x2a\xd9\x7b\xc4\x1a\x9e\x4e\xf4\x4b\x0d\xcc\xa4\xba\x9f\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xf2\x68\x7c\x15\xba\x3d\x97\x69\xa8\x35\x9a\x2c\x57\xc5\x72\x06\xca\x0a\x8e\x49\x90\xed\xae\x78\x99\xe0\xb4\xe2\x73\x61\xd4\xd6\x5c\xab\xe8\xfa\x6e\xc5\x70\xab\xba\x57\x33\x3d\xe1\x88\x27\x68\x9a\xcf\x66\x44\x84\x0e\xe9\x81\xd6\x66\xa8\x44\x82\x44\x3c\x4d\x41\x62\xd0\x5f\xe5\xd2\x50\x35\xac\x98\x1d\xed\xf1\x98\xc1\xfe\x6b\x35\x07\x28\x20\xe6\xc0\xea\x18\x21\x31\xc2\x6c\x69\xba\x99\xe6\xb3\xb0\x7d\x03\x43\x81\x63\x44\xd5\x98\x0d\x93\x04\x09\x92\x72\x45\x82\x1c\x4a\x70\x9e\x95\x17\x1c\x58\xa4\x20\x59\x82\x23\x12\x1b\x7a\x48\x78\x84\x13\x34\xa3\x09\x91\x4b\xa9\x48\x1a\x36\xf0\x2d\xd8\x6a\xf4\x9a\x51\x89\x62\xfe\xcc\x12\x8e\xed\x3c\xaa\x9f\x7d\x57\x3e\x8d\x23\x07\x11\x30\x12\x82\x0b\xf8\x9f\x9f\x28\x8b\xf7\xc6\xa1\x1e\xee\x46\xb7\xe1\xbf\xef\xfe\x72\x77\x3f\xfa\xbc\x19\xf7\xf1\x94\x05\xc3\x03\x1d\xfe\x14\xdd\x99\x45\xe0\x42\x4b\x44\xa2\x65\x52\x9f\x2d\x29\x15\x3f\xf0\x78\x4b\xee\xfb\x79\x78\xf5\x30\x2c\x71\x94\xbb\xb3\x1f\x47\xe7\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xec\xc7\x8b\xcb\xf3\x49\x83\xc2\xf8\xe1\x76\x74\x76\xfd\xf3\xe8\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xc1\x63\x34\x5d\x36\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x05\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x81\x7d\x07\x90\x34\x8c\x71\xc5\x48\xcc\xcd\x0d\xeb\xde\x31\x0b\x0c\x15\x06\xe4\xc2\x2f\xdc\x29\x1a\x22\xa9\x5f\xcc\xf5\xa1\x16\x74\x3e\x07\xc3\x61\x65\xa8\xa6\x35\xfb\x29\x2c\x2f\x7c\x67\xf6\x3f\x13\x1c\xce\xb9\xee\xd6\x5a\x9c\xbd\x55\xc2\x7c\x08\xa8\x2b\xe5\x16\x05\x06\x83\x43\xc3\xd0\xdc\x66\xe9\x45\x68\x5d\x2f\x73\x1e\x8d\xbd\x48\x1f\x2e\x60\x5b\xd2\xd8\x3b\x33\x41\x9e\x28\xcf\x83\x4f\x2d\xb0\x47\x69\xc7\x1b\x9b\x2f\x16\x00\x96\xcd\x18\x45\x2a\xcd\x78\xf2\x68\x6c\x41\xb3\xb0\x27\x68\x61\x26\x78\xda\xd0\x46\xf9\x98\x5c\x5c\xdf\x29\x81\x15\x99\x2f\xcf\x2d\xcb\xd8\xfe\x78\x9c\x5f\xff\x72\x75\x79\x3d\x3c\x9f\x8c\x86\x9f\xca\x27\xde\x3f\xb9\xbb\xbf\x1d\x0d\x3f\x97\x1f\x4d\xae\xae\xef\x27\xee\x8d\x95\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x8a\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x25\x33\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x53\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb1\xf8\xe8\x7a\x76\x74\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x63\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd1\x25\x16\xf3\xc2\x0e\xf7\x2d\x9f\xcd\x4c\x63\xdf\x99\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\x76\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xea\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xa6\xb5\xcd\x06\x5a\x22\x5f\xa8\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x0c\x10\x67\x60\x70\xf0\x42\x44\x85\x22\x3b\xd0\x80\x69\xab\x46\x01\x37\x80\xb6\x74\x6d\x91\x8d\x3e\x53\xa9\x95\x46\xf3\xe3\x0f\x16\x72\x69\x3b\x82\xf8\x38\xbc\xb8\xac\x08\x17\x93\xf3\xd1\xc7\xe1\xc3\xe5\x6a\x33\x61\xe9\xbb\xea\x16\xa3\x23\xa4\x9f\x97\xfd\xe6\x74\x66\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x97\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\x67\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x23\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x5b\x9e\xb1\xe1\xd9\xfd\xc5\xcf\xa3\xb2\x7e\x78\xf6\xe3\xc5\xcf\x4d\x52\xcd\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x23\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x94\x02\x40\x98\xf5\x44\x3e\x5c\x00\x67\x7d\xc2\x09\x8d\xa9\x5a\x3a\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x14\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x13\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x73\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\xdf\x68\x99\x2b\x4b\x68\x44\x55\xb2\x44\x11\xd8\xb0\xc0\x9c\x99\x62\x86\xe7\x56\x38\x00\x35\xa7\x42\x12\x7f\x36\x28\x6a\xd7\x33\x6b\xda\xbf\xa7\x64\xcb\x63\xf6\x70\x75\x3e\xfa\x78\x71\x55\x26\x81\x1f\x2f\x3e\x95\x44\xd8\xcf\xa3\xf3\x8b\x87\xd2\x6d\xae\x25\xd9\xd5\x72\x7d\xb5\xd9\x86\xa3\xe8\x5f\x3a\x45\xe7\xe6\xd3\x53\xbd\xb8\x0d\x10\x71\x5e\xf9\xad\xac\xc3\xad\x0b\xc9\x73\x7f\x8c\x98\x12\x8d\x7e\x89\xae\x26\x24\xeb\x83\x2c\xd9\x90\x9a\x43\x15\x6a\x7d\x5f\x55\x9d\xca\xd5\x29\xbb\x17\x21\xe8\xf2\xb8\xb0\x2c\x85\x31\x0c\x60\x34\x68\x33\x62\x35\xb8\xb5\x0a\x86\xfd\x33\xb8\xa8\xd3\x5c\x2a\xe3\x4a\x04\xe2\x44\x8f\x7f\x92\x7a\x41\xc1\xd5\x78\x8c\xee\x08\x19\x33\x67\x3d\x98\x53\xb5\xc8\xa7\xc7\x11\x4f\x4f\x0a\x7c\xc2\x13\x9c\xd1\x14\x6b\x49\x9a\x88\xe5\xc9\x34\xe1\xd3\x93\x14\x4b\x45\xc4\x49\xf6\x38\x87\x08\x18\xe7\x4e\x3d\xf1\xcd\xce\xf9\xbf\x5f\xfe\xe1\xfb\xa3\xcb\x3f\x7d\xff\xa1\x6e\x21\x6b\xdb\xff\x11\x8b\x70\x26\xf3\xc4\x46\xcc\x89\x70\x6d\xdc\x91\xcf\xc9\xba\xfd\xbe\x2a\x6f\xd7\x6e\xfa\xeb\xd9\xcd\x43\xc9\x62\x5d\xfe\xe7\xe7\xd1\xe7\xeb\xdb\xbf\x94\x38\xe5\xfd\xf5\xed\xf0\x53\x89\xa1\x8e\x6e\x7e\x1c\x7d\x1e\xdd\x0e\x2f\x27\xee\xe1\x2e\xb6\xb7\x9f\x18\x7f\x66\xe5\xa5\x91\x8e\x03\xd6\x7a\x3a\x45\x1f\xb9\x40\x3f\xf9\x9d\x3c\x9a\x62\x09\x57\x8c\xbb\xb3\xe4\x00\x65\x3c\x06\xc6\x8b\x48\xb6\x20\x29\x11\x38\xb1\x36\x03\xa9\xb8\xc0\x73\x73\xd3\xcb\x48\x60\x15\x2d\x90\xcc\x70\x44\x06\x28\x02\x6a\x98\x0f\x60\x53\x40\xd5\xe2\xf3\xaa\x9d\xef\x36\x67\x8a\xa6\xc4\xa9\xe0\xf6\x9f\xf7\x66\x33\xb6\xd8\x9c\xeb\xfb\x1f\xcb\xc2\xde\xc7\xcb\xbf\xdc\x8f\x26\x77\xe7\x3f\xad\x5c\x4f\xf3\x59\x69\x64\x77\x10\x80\x74\xc6\x93\x3c\x65\xe1\xdf\xdb\x8f\xed\xe2\xea\x7e\xf4\xa9\x3a\xba\xeb\xe1\x7d\x99\x32\x6e\xcb\x01\x6e\x1f\x7e\xb8\xbe\xbe\x1c\x95\x5c\xc2\x1f\xce\x87\xf7\xa3\xfb\x8b\xcf\x25\xfa\x39\x7f\xb8\x35\x68\x84\xab\xa6\xe9\x46\xd0\x30\x51\x3d\xad\x70\x9a\xfb\x66\x85\x9d\x38\xd1\xd0\x06\x94\x9b\xb3\x7c\x14\xc0\xed\x98\x70\x30\xb0\xea\x1c\x79\x93\x6a\x64\x46\xda\xc8\x0e\x55\x79\x9b\x50\x3b\x3b\x5e\xb9\xd1\xab\xb8\xf2\xbd\x1f\x82\x81\x02\x35\xca\x36\x4e\x12\xfe\x6c\x42\x79\x53\xaa\x6f\x65\x0b\x8c\xa6\x5f\x91\x85\x87\xf0\xb8\x81\xe3\x95\xb7\x85\x44\x82\xa8\xcf\x3c\x67\x6a\x7b\x92\x1b\x5e\x95\xf8\xce\xe8\xea\xe7\xc9\xcf\xc3\x32\x05\x5e\x5c\xae\x66\x35\x61\x13\x0d\x57\xf1\xf0\xea\x2f\xfe\x12\x86\x80\xef\x81\xd7\x50\x8d\xec\x1a\x25\x54\x8b\xbd\x11\xd6\xda\x6b\x02\x12\x0d\x22\x14\x4c\x0e\xa9\x9e\x1c\x04\x98\x66\xc6\x9f\x64\xf8\x93\x19\xe4\xa9\xfb\xa3\xd2\x9e\x84\x75\x01\x6b\xaa\x8b\xa7\x87\x76\xac\x56\xcd\x10\x61\x4f\x54\x70\xc0\xb3\x45\x4f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\x4f\xe1\x7f\x37\x6b\x13\x0c\xa3\x15\xc6\x75\xc7\x85\x3a\xf7\x81\xbc\xdb\x59\x43\x9a\x02\x5a\xeb\xa1\xac\xcd\x86\x8e\xfa\xb7\x0d\x9b\xb3\x63\xc0\x6f\x79\xc2\x7f\x4f\xce\x29\x4e\x34\x03\xd8\x9f\xbc\x38\xbc\xba\xbb\x28\xcb\x8f\x65\x35\x23\xe0\xcb\x5b\xcb\x8b\x60\xa8\x34\x23\x77\xca\xc4\xdd\x9f\x2f\x8d\x76\x01\xa0\xc7\xe6\xdc\x06\x8a\x05\x08\x40\x0e\x05\x25\xc3\x42\x56\xbe\x90\x08\x80\xd0\x8a\x80\x2b\x7d\x67\x41\x38\xd3\x13\xa7\xf1\x98\x91\x2f\x19\x61\x12\x82\x03\xcc\x7d\x56\xf8\xda\xe5\x31\xba\x98\x01\x4b\xd0\xaf\x33\x94\x33\xeb\x00\xd3\x17\xae\x19\xe4\x40\x8b\xb2\x76\x08\x5e\x43\x04\xc3\x0b\x23\x2e\x58\xaa\x18\xfc\x98\xfd\xe2\x9d\x68\xf0\x68\xc6\x35\x03\xd2\xbb\x68\xdb\x3b\x45\x98\x49\x3a\x40\x5a\x61\xa9\xee\x29\xa4\x0e\x68\x85\xd2\x86\x70\x69\x4e\x63\xff\x7c\xfd\x6b\xa0\x16\x27\x1c\x5e\x06\xcd\x77\x41\xe5\x2a\x68\x11\x8d\x13\xe3\x31\x99\x74\xbf\x13\x22\x2e\x88\xf5\xb3\x6c\x7c\x0d\xac\x63\xec\xf7\x58\x3e\xd6\x7c\x0f\x17\x4c\x2a\xcc\x22\x72\x96\x60\xb9\x65\x10\x92\xb3\x71\x0c\xca\x12\xc7\xed\xed\xc3\xcd\xfd\xc5\x0f\x6b\xb8\x7c\xf5\xe3\x7a\x18\x50\x94\xe4\xce\x3d\x37\x15\x1c\xc7\x48\xb3\xcf\x39\x37\xae\x40\x2b\xf8\x17\xd0\xdf\x26\xaf\xc7\x07\x54\x96\x60\xc7\x8b\x74\x04\x6b\xe7\x08\x5d\x09\xd4\x2e\x04\x8a\xf4\x4a\xa0\xc0\xe4\xe1\xb6\x1a\x3c\x8b\xa6\x20\x89\xb5\x6e\x65\x09\x56\x33\x2e\x52\xc3\xe5\x4b\x93\x36\x8d\xaf\x6e\x94\x32\x45\x84\xc8\x33\x45\x1d\x96\x7b\x55\x4a\x85\x0a\xef\x7c\xfe\x99\x48\x89\xe7\x64\x17\x07\x74\x93\xf2\x70\xf7\x73\xf8\x4f\x70\x30\x77\x91\xfd\x4b\x23\x74\x91\xef\x8e\x9e\xae\xd9\x47\x13\xc8\x73\xc3\x13\x1a\x6d\x19\x70\xf7\x71\x78\x71\x39\xb9\xf8\xac\x95\xf8\xe1\xfd\xe8\xb2\x24\x4a\xc0\xb3\xe1\xc7\xfb\xd1\xad\x05\xb1\x1e\xfe\x70\x39\x9a\x5c\x5d\x9f\x8f\xee\x26\x67\xd7\x9f\x6f\x2e\x47\x6b\x22\x73\x5a\x1b\xaf\x5b\x57\xab\xaf\x9e\xd6\x7e\x81\x1d\xd6\xbc\x2c\xb4\x97\x41\xd6\x18\xa6\x09\x38\xc1\xb9\x71\x86\x63\xc4\x78\x4c\xe0\x67\xe9\xac\x33\x1e\x39\x1a\x5d\xa8\x6f\x92\x04\xe1\x5c\xf1\x14\x83\xd7\x26\x59\x8e\x19\x9e\x6a\xd6\x8a\x93\x24\x08\xef\x12\x39\x63\x9a\xc5\xea\xc6\x0c\x44\x7b\x94\x10\xcd\xce\xb3\x20\xd9\xcf\xfa\x0d\x66\x94\x41\xa4\x6d\x8a\xc5\xa3\x71\x33\x15\x5d\x16\x87\x42\x22\x2c\xc7\x4c\x8f\x8b\x58\xc3\x50\x97\x15\x3e\xed\xf4\x56\xeb\xea\xa4\xf8\x91\xe8\x55\x49\xf3\x68\x81\x32\xc1\xe7\x82\x48\x69\x6d\xcb\x11\x66\x26\x00\xc1\xbe\xae\xaf\xa1\x31\x63\x5c\x2f\x85\x33\x61\xc7\x24\x23\x2c\x26\x2c\xa2\x26\xad\x0f\x7c\xf7\xde\xb4\x39\x17\x38\x5b\x20\xc9\xc1\xe9\x0d\xcb\x0e\xf6\x2b\xf3\x91\xbb\xc9\xcc\x8c\xcd\xe3\xd0\x02\x2d\x72\xcd\x27\xae\x41\x4e\x34\xab\x0c\x1f\xbb\xcb\xd0\xb9\x5d\x8c\x1d\x30\xcd\x12\xa2\x0c\x58\x3f\x2c\x39\x6c\x86\x5e\xeb\xd2\x7e\xe8\x6d\x6a\xda\x04\x7d\x61\xbb\x31\x63\x69\x47\x74\xdc\x60\xd9\xb6\x47\x0a\xfd\x88\x59\x9c\xe8\x56\x9c\x0f\xa3\x7c\x16\x21\x15\x65\xa8\xa9\xc6\x9d\xc6\x5d\x6e\xd1\x08\xe7\x72\x97\x6b\xb4\x92\x8b\x69\xac\x82\x47\x45\x50\x08\x90\xb7\x4d\xc4\x84\xd5\xcd\x34\x8b\xc4\x09\xb7\xab\x64\x5e\xcf\x4d\xfd\x27\x04\xa3\x69\xb9\x66\x33\x41\x59\x44\x33\x9c\x6c\xa5\xfb\x55\x82\xf1\x6d\x8c\xfb\xb7\x74\xa6\xc9\xe7\xbb\x9a\xdb\x56\x11\x91\x42\x82\xb2\x1d\xa6\xdf\xc2\x0d\x2c\x49\x36\xab\x81\xc8\x22\x9a\x04\x0b\x9e\x1b\x7f\x1c\xac\x0b\x89\x1b\x8e\xea\x71\xd3\x76\xeb\x93\x81\xcb\x01\xd0\x5b\x6c\xb6\x89\xfc\x69\x5b\xbf\x4a\x2b\xb6\x77\x13\x8c\x87\x93\x9b\xe6\x36\x9b\x76\x20\x78\xf8\xaf\x55\xb4\xf3\x19\x67\x9a\x66\x2c\x6c\x3f\x2e\xe6\x68\x95\x24\x5b\x15\xcc\xc5\xcf\x04\xbe\x73\x9f\x17\xd2\x7d\x37\x8a\x25\xb4\x01\x50\xf5\x4e\x4a\x31\x04\x41\x8e\xb9\xa5\xf1\x59\xae\x65\x59\x84\x21\x0a\x01\x7d\x4b\x8e\xe7\xc7\xc8\x15\x61\x18\xa0\xe1\xcd\xcd\xe8\xea\x7c\x80\x88\x8a\xbe\x73\x31\x8b\x36\x60\x69\xcc\x14\xb7\xd2\xca\xd2\x15\xd0\x48\x89\x98\x93\xd2\x9c\x5d\x74\x13\x84\x2a\xcf\xa9\x54\x36\x7c\x56\xf3\x95\xa0\xd4\x09\x4d\xab\x62\xb6\xa1\x90\x5c\x2d\x76\x21\x0d\x2c\x65\x9e\x6a\x5d\x76\x42\x71\x3a\x11\x3c\xd9\x85\x29\x9c\xc3\x54\x40\x5d\xf6\xe9\xf9\x14\xa7\x48\x37\x6b\x43\x41\xbc\xcb\xd1\x8b\x74\x5a\x30\xd2\x7c\x59\xdf\x9b\xc1\xbd\xe5\xbc\x0f\x36\x1e\x8d\xba\x10\x08\x48\xdf\x6f\x61\x15\x85\xd9\x78\x62\x2d\xf5\x13\x1c\x45\x5a\xe5\xde\xf3\xa4\x82\xfa\x39\xce\x25\x60\x3b\x7a\xb1\x69\xae\xa3\x73\x37\xcc\x4c\x73\x30\x08\x06\xd6\x57\xae\xe4\x11\x2d\xda\x6f\xe8\x77\xba\xac\xf5\xea\x2a\xdc\x3c\x48\x6f\x52\x31\x97\xb0\x24\xb0\x93\xd2\x54\xc8\x51\x0b\xb2\x44\x0b\xfc\x44\x4a\x5d\xba\x84\x18\xdd\xf0\x92\xe7\xa2\x89\xd1\x8d\xd9\x39\xc9\x04\xd1\x92\x7e\xd5\x81\xe2\x69\xfa\xb6\x4c\x89\x3d\x5d\xf7\x74\xfd\xee\xe9\xfa\xcc\x14\x4a\x1a\xfa\xc2\x58\x3b\x09\x70\xa6\xb1\x49\xc6\x79\x32\xe9\x60\x13\xe9\xbe\xe2\x25\x4f\x58\xa5\x6c\x14\x40\x02\xf0\x1c\xe4\xa3\xd2\xb5\xc9\xf5\x5d\x17\xa4\xd8\xda\xe1\xad\x58\x06\xe7\x32\x0b\xea\xe5\xec\x72\xde\x9b\x5a\x59\xd5\x12\x7a\x71\x31\xe7\xcc\xc8\x37\xde\x5d\x16\xd6\x3f\x2d\x1d\x26\x27\x8a\x50\x56\xab\xc6\x66\xe8\x59\x2f\xb0\x91\x3b\xfe\x9e\x73\x85\xe5\x77\xc7\x63\xa6\x85\xa8\x47\xb2\x34\xe6\x56\x2d\xa6\xfc\x46\xcb\xe2\x47\x92\x30\x09\xe1\xde\xbf\x31\xee\x39\x4d\xe2\xce\x5c\x6d\x54\x53\x53\x04\x0e\x82\xae\x7d\x2f\x10\xa2\x6b\x1b\xb5\x52\x52\x11\x00\x0d\x72\xbe\x99\x8b\x7d\x66\x86\x3f\x27\x0a\x52\xac\x15\x55\xa0\x33\xc5\xa6\xca\x5c\x6d\xe8\x6b\x4d\x57\x86\x2a\x04\x07\x3f\x49\x9c\xef\xc6\xf8\x65\xbd\x8d\xb5\x9c\xd1\x6b\x0b\x77\x36\xe6\xfd\xc4\xd9\x8d\x22\xc1\x6b\xa5\xdb\xb0\x44\x66\xa7\xa7\x86\x1d\x38\xff\x35\x61\xc7\xcf\xf4\x91\x66\x24\xa6\x18\x22\xe0\xf5\xbf\x4e\xf4\xbc\xfe\xfd\xec\xf6\xfa\x6a\x52\x64\xf2\xfc\xd7\x98\x0d\x13\xc9\x7d\x96\x02\x62\x9c\xf9\x70\xfb\x4c\x10\x27\x12\xda\xb9\x80\xd5\xb5\x30\x23\x8e\x59\xdb\x08\x62\x1e\xc9\x63\xfc\x2c\x8f\x71\x8a\xff\xc1\x19\xb8\xd2\x87\xf0\xe7\x59\xc2\xf3\xf8\x17\xac\xa2\xc5\x09\x9c\x6b\x75\x42\x9e\x08\x53\xc6\x4d\xa5\x97\x2b\x86\xe4\x5d\x09\xd1\xfa\xff\xae\xc7\x5c\x24\x15\x49\xad\xc9\x46\x24\x53\xe8\xff\x27\xc8\x94\x73\xd5\x7c\x49\xf1\xd9\x4c\x92\x8d\x2e\xa4\x42\x49\xbb\xbb\x46\x7f\xfa\xe3\xf7\xbf\xd3\x24\xb4\xcd\x1a\x5f\xdc\x5d\x4f\xf4\xf7\xff\x7e\x6e\xbf\x97\x1b\xb0\xbb\xeb\xac\x60\x6d\x8e\x78\x4c\xe0\x7c\xce\xe0\xf6\x13\xe0\xbc\x00\xf6\x06\xe4\x50\xec\x63\x13\x77\x3b\x2f\xb5\xbe\x9b\xca\xb6\xd5\x62\x82\x8a\x1d\xcc\x11\x1d\x21\xc6\x51\x6a\x62\x4d\x31\x43\xff\xf1\xd3\x0f\xcd\x1b\x98\x0b\xba\x55\x87\xd4\xc2\x35\x04\x5d\x4a\xfa\x0f\x22\x91\xa6\x1a\x4d\xc5\x3c\xd5\x5d\x0b\x22\x17\x3c\x89\xd1\x33\x01\x35\xc9\xc6\x81\x7a\xad\x5c\x90\x31\x0b\x9b\x80\x90\x43\x84\x13\xc5\xe7\x04\xee\x6a\xa7\xa8\x29\x22\xb4\xa8\x62\xb2\x34\x14\x17\x64\x60\xa0\xbe\xee\xfe\xe0\x62\xab\x61\x9a\xf0\xc8\x25\xb5\x58\x93\x5c\x3c\x6d\x9e\xf9\xac\x6a\x7a\x45\xed\x36\xfc\xea\x26\x5b\xb3\x6d\xf3\xd2\xd8\x24\x14\x6b\xc3\xaa\xee\x4c\xf3\x60\x68\xc4\xd9\x24\xa1\xec\x71\xab\xcd\xb8\x76\xa2\x9c\x6e\xc1\xae\x99\x6e\xd1\xdb\xb9\x8d\x05\x64\x83\xf3\xf1\x31\x4f\x12\x93\xda\x12\x6e\x0f\xc8\x5d\x66\xdd\x40\x18\xc8\x4c\x0e\x28\x89\xad\xdf\xcb\x6a\xc2\x82\x30\x08\x78\x1b\xb3\xe9\xd2\xfa\x6c\xe5\x00\xc9\x3c\x5a\xb8\xcc\xbc\x88\x33\xa9\xc5\x68\x2e\x50\xc4\xd3\xd4\x14\x37\x65\x04\x29\xce\x13\x69\xa3\xdd\xd9\x91\xc2\x91\x1a\xb3\xa2\xbf\x35\x27\xcf\x54\x40\xda\x2d\x75\xaf\xbb\x4b\xa7\xa8\xb4\xb4\x52\xe0\xa6\x71\x88\xd9\x00\x46\x30\xe3\x89\x0a\xd0\x1f\x78\xfd\x2c\x99\x0d\x6b\xd1\x0c\xe4\x82\x0b\x35\x89\x1b\x79\xce\x5a\xa2\xa9\x32\x42\x46\x8e\x12\x08\x1a\xe6\x4f\x5a\xf8\x27\xcf\xde\xf8\xba\x6a\x08\x9a\xaa\x57\x8d\xa0\xdb\x31\x5a\x39\xb2\x4d\x49\xb0\x65\xad\x0c\x82\x47\x54\x8e\x09\x5f\x37\xc6\x3b\xf8\xea\x4c\x7f\xb4\x72\xf1\xaa\xe7\xce\x09\x41\x3c\x2e\xc0\xe6\xcc\xbd\x6e\x33\x42\x56\xad\xa9\x85\x4e\x78\xb9\xcc\xd1\x55\x53\x79\x28\x5b\x72\xf5\x58\xc0\x64\x2f\x09\xc8\x9a\x58\x4c\xa9\x12\x58\x94\x90\x42\xbc\x3e\x28\x09\x16\x10\x9f\x35\x66\x06\x37\xce\x68\x0a\x31\x8a\xa9\x84\x04\x11\xb8\x4b\x03\x67\x18\xea\xa6\x04\x56\x8e\x76\x91\xe7\x68\xe2\xcf\x21\xb0\xac\x20\x0d\xc7\xec\x74\x47\x1e\x1f\x4b\xeb\x67\x3c\xca\x0b\x41\x2e\x02\x09\xd7\x62\xea\x20\xca\x24\x9d\x2f\x14\xa2\xcc\xda\x1d\x71\x32\xe7\x82\xaa\x45\x2a\x07\x68\x9a\x4b\xad\x85\x9a\x60\x35\x13\x8f\x42\x54\xd4\x89\x0b\xed\x9a\x44\x1c\x57\x1a\xac\xab\x28\x5b\x90\x46\xb7\x43\x39\xaa\xdc\x15\x6b\x08\x67\xe8\x71\x06\xab\x6d\x50\xa8\xdb\x68\xe0\x29\x91\x89\x03\xe4\x0e\xd9\x09\xaa\x80\xb4\x9d\x03\x40\x85\xdc\x9b\x97\xe2\x35\x0a\x71\x21\x93\x0c\x2a\x88\x8b\xdd\x06\xc9\xab\x8c\x4c\x69\xd0\x9b\xbc\xd3\x29\xcd\x54\x63\xe0\x56\xdd\x55\x74\x1b\x60\xfe\x74\x5b\x6c\x48\xc6\x02\x6a\x06\xa4\xb6\x31\xbb\x23\xa4\x1d\xc8\xad\xb6\xf7\xa6\x34\x2e\x4c\xc1\x26\x7a\xac\x26\xf9\x5d\x9c\xd8\xe7\xa3\xbb\xb3\xdb\x8b\x1b\x03\x39\x71\x7d\xfb\x79\x78\x3f\x69\xf0\x6b\x37\xbc\xf5\x79\x78\xfb\xd3\xf9\xfa\xd7\x7e\xbc\x2f\x67\x65\x37\xbc\x72\x7b\xb7\x3a\x99\xa3\xc3\x10\x1b\x92\xc2\x1a\xfb\x39\x45\xd9\x52\x2d\x38\xf3\x21\x0a\x71\x89\x37\x1d\x21\x93\x11\xac\x20\x84\x48\x48\xd5\xe0\x38\xbc\x87\xb8\x9c\xf5\x12\x66\x79\xb3\x0c\x0c\xdb\x5e\x45\xa3\x0d\x4e\xe4\xa7\x84\x4f\xc1\x6f\x9d\x97\x4a\xdc\xae\x88\x40\xdf\x31\xde\xe7\x9c\xca\x2c\xc1\xcb\x5a\x0f\xeb\xae\x9c\x2b\x9c\x12\x88\x38\x2e\xf0\xe3\x5c\xb2\x88\xde\x19\x48\x60\xf2\xf7\x3a\x9d\x41\x26\x93\xa2\x58\x11\x34\x25\xea\x19\xf2\xe6\xdc\xaf\xde\x96\xea\x02\x46\xe4\xf1\x98\x81\x39\x67\xac\x17\x39\xce\x21\xda\x6f\xfc\x61\x80\xc6\x1f\x62\xf2\x44\x12\x9e\xe9\x9d\xd7\x3f\xb4\x5c\x32\xa3\x14\xd3\xe4\x8a\x2b\x6f\x99\xdb\x65\x3f\x05\x89\x68\x06\x92\xf9\x84\xe8\x76\x5f\x4f\xf0\x28\x51\xb2\x63\x67\x30\x06\x84\xe3\x58\x2b\xd9\xc0\xca\xdc\xf0\x8a\x10\x20\x16\x4c\xbd\x54\x2b\x73\x13\x91\xc2\x9b\xbf\x4d\x8f\x61\x9b\x65\xb3\x67\xe3\x0e\xb0\xa7\x17\x74\xc9\xee\x7a\x91\x6b\xad\xe4\x27\xb2\x84\x14\x8c\x1b\x4c\xc5\x96\xae\xd9\xa6\x98\xd7\x17\x71\xd2\x8e\x1a\x3a\x3a\x20\x77\x6d\xf3\x3a\xec\xe6\xb8\xf5\xb1\x7a\xaf\xa5\xa5\xba\x58\x2e\xdf\x71\x47\xb5\xf5\xa1\x4d\x49\x6d\x0d\x61\x40\x55\xc5\x2b\x23\xd1\x06\x1a\x97\x1f\xe0\x9d\xfe\x6e\xad\xa6\xe2\xc5\xb5\x28\xac\xe9\x0f\xbb\x60\x93\xe3\xab\xf9\xf8\x64\xed\x88\xa3\x84\xcb\x32\x56\x4e\xe7\x41\x9f\xd9\x4f\x57\x8d\x7b\x14\x92\xaf\x96\x0b\x37\x0a\x68\x68\x58\xf8\x0a\x18\xa4\xb9\x67\x94\xf5\x90\xd9\xb7\x07\x88\x42\xb4\x25\x28\x64\x49\x81\x1c\xc0\x62\x54\xb8\x41\xc6\xac\x88\x59\x91\xe8\x99\x24\x10\xe6\x16\xf1\x34\x03\x13\xbf\x1d\xae\x6d\x89\xc4\x26\x62\x78\x80\x78\xae\x74\x63\x26\x27\xc7\x19\x71\x6d\xc2\x4f\xe1\xf6\x30\xbe\x37\x1b\xfc\xee\x81\xa5\x0d\xad\x9b\xbb\x94\x32\xf4\x89\x28\x68\x05\x80\xfb\xc3\x09\x82\x9e\x50\x0d\xa1\x6c\x5e\xfb\x1d\x4e\x94\x9d\xc9\x06\x3b\x5f\x00\xa7\xfc\x90\xf0\xe9\x6a\x23\x01\x34\x8e\x1e\x6e\x2f\x9c\x45\xb2\x88\x9f\x0a\xd0\x8b\x4b\x1e\xc5\xd1\xcd\xed\xe8\x6c\x78\x3f\x3a\x3f\x46\x0f\x92\xe8\xe5\xf1\xd3\x85\xfc\x6a\xaf\x92\x98\x91\x5b\x24\x16\x26\x15\xc1\x6d\x86\x10\x22\x44\x29\x0b\x7a\x0d\xe3\x28\xc3\xb4\xac\x26\x6c\x00\x49\xa1\xd6\x50\x07\xc0\x42\xd5\x79\xda\xc8\xbc\x75\x27\x10\xe2\xa4\x26\xef\x27\x4a\xcd\x8c\x37\xad\x47\xe6\xad\x23\x9f\x72\x44\xdf\x4b\x4f\x06\x8e\x96\x5a\x10\x2a\x50\xa7\x69\x19\xa2\x9a\x74\x9f\x53\x10\xe2\xfe\x19\x67\xab\xd3\x4f\xf1\x73\x89\x68\x8d\x28\x1c\xf8\xee\x5f\xfa\x1c\xcc\xf2\x24\x99\x6c\x74\xe0\xf5\xec\xcc\x21\x3e\x5f\xb7\x5b\x6f\x3e\x3b\xc7\xb4\x27\x86\xd1\xef\xbe\x7d\x85\xbb\xce\xdc\x1c\xfe\x56\x30\xf9\x2c\xd2\x99\x00\xc3\x89\x55\x06\x61\xa3\x74\x25\x02\xce\x00\xbf\x50\x86\x4a\x17\xfe\x00\xcd\xe8\x17\xdb\x68\x11\xbd\xef\x5e\x0d\xc2\x39\x5a\xa2\x45\x17\xb8\xce\x31\x36\x10\x8a\x6e\xe0\xfb\x95\x22\x32\x97\x5a\xe0\x8b\xb4\x30\x28\x48\xc4\x85\xbe\x07\xa1\xdb\xc2\xc7\xb2\x4e\x20\x52\x58\xe8\x45\xa9\xfb\x9c\x56\xf1\xb6\xa2\xc2\x4a\x8c\x15\x39\xd2\x82\xe5\x9a\xf4\x6e\x9b\x01\x04\xb9\x42\x58\x05\x60\x67\xc5\xbd\x3a\x25\x73\xcc\x5c\xe0\x79\xcb\x70\xdd\x85\xbe\x03\x23\xd6\x0a\x1e\x86\xe4\x37\x90\x1e\x21\xb1\xa9\x34\x0e\x99\xc1\x7a\xae\x1c\x87\x8d\xed\x39\x84\x65\x7b\xc6\x3e\xd4\xa8\x65\xb0\x79\x16\x1f\xd2\x60\x13\x2c\x15\xb2\x63\x6a\x33\xb4\x04\x0a\xf0\xcb\x9a\x98\x4b\x96\x8b\xae\xaa\xa9\x26\xa1\xb2\x8e\x4e\xc0\xef\x23\x1d\x2a\x8c\xc1\xc0\xd1\x1a\x9b\x13\xf3\x4d\xa1\x69\x7f\xb6\x6d\xc5\x69\x77\x07\x86\xcc\x04\x52\x10\xea\x4d\x1f\xa3\x21\xab\xa1\x81\xb9\xa8\xb3\xd2\x7a\x99\x1b\x17\x27\xcf\x78\x29\x51\x26\x0c\x70\x8e\xc9\x4b\x70\x93\x07\xfd\xb2\xfc\x91\x0f\xf4\x50\x2e\x31\x04\x81\xa5\x69\x7d\x48\xa0\x93\xea\x27\x2f\xe0\xa8\xac\xc4\xcc\x7b\x75\xa3\x68\xae\xb0\xc4\x74\x60\x75\x8a\x4c\xa2\x05\x66\x73\x32\x71\x26\xe4\x6d\x74\x41\xdd\xce\x19\x34\x73\x6e\x5b\x69\xbe\x9c\x6e\x8c\x3a\x68\xab\xdb\x98\x57\xbd\x79\x54\x1f\x02\xa9\xf0\x9c\x20\x33\xa2\x4e\x46\xf7\x52\x3c\x9c\x85\x52\x06\x2d\xc8\xb6\x3a\x2a\xe7\x08\xb4\xa9\x26\x10\xd8\x75\x89\xa7\x24\x79\x9b\xb8\x10\xe8\xda\xba\x1e\xc0\x17\x69\x72\x1d\x08\x7a\x06\x6f\x45\x85\x65\x58\xdf\x84\xc8\x9b\x32\x1f\x56\xcd\xb3\x54\xdb\x7d\x87\x89\xba\x4a\x28\xdb\x4c\xb5\xad\x3e\x4a\x78\xed\x05\x75\x44\x9a\xcc\x87\xe1\xf5\x57\xb5\x98\x6f\x37\x90\xa0\x9c\x49\xcb\x38\x76\xae\x67\xb2\x76\x2a\x5b\x43\x28\x74\xac\xf1\x77\x31\x43\x8c\x33\x82\xa8\x2c\x5e\x56\xe5\x64\x2f\x0f\x40\xa4\x15\x18\x63\x5a\xf2\x35\xc8\x7c\x69\xa9\x97\xb6\x23\x15\xd0\x10\xde\xf2\xe1\xb2\xd7\x19\xd1\x6a\x38\x16\x4b\x00\x30\x35\x7c\xb8\x2c\xd3\xad\x1d\xe7\xbe\x04\xee\x86\x0b\xd0\x4a\xc2\x3e\x1a\x59\x71\x04\xc2\x64\x65\x88\xc8\x60\xbd\xda\x97\xec\x47\x16\x8a\x67\xcc\xbc\xf5\x06\xc8\x91\x4a\x94\xe2\x0c\xfc\x96\x8c\xab\xe2\x2b\x03\x2d\xa5\xfc\x46\x0e\x9c\x38\x2e\x4d\x9d\xb0\x70\x1d\xc2\xc8\xe7\x53\x74\x03\x38\xf2\x70\x27\x43\xd7\x93\x0e\xda\x4a\xf1\xe2\x06\xd7\x19\x6b\x54\xc4\x4a\x5e\x85\x03\x5d\xb0\x0d\xec\x7d\x4e\x6a\x29\xc8\xb1\x8c\x79\xea\xf0\x9a\xe7\xf4\x89\x30\xc7\x0a\x06\x8e\x95\xe8\x41\xb9\x4e\x93\xe5\x11\x86\xd8\x73\x12\x87\xee\xb0\xd5\x8c\xdc\x58\xe9\x0e\xc1\x48\xdd\x7d\xc9\xee\x1b\x63\xab\x0c\x72\x5e\xa9\xe4\x81\xcb\x16\x08\x0f\xb7\x05\x73\x36\xf0\x00\x58\xa2\xdf\x30\xae\x7e\x13\xc0\x5d\x3b\x8b\x16\x7c\xea\xec\x92\x83\x5a\x1d\x1f\xe0\x75\x96\x70\x10\x0e\x60\xd7\xd6\xae\xfc\xae\x01\x23\x45\x36\xc4\x8b\x0a\xf1\xa3\x7a\x6a\x64\x5b\x21\xb4\x3e\x8c\x03\x55\x6f\xd3\xaa\x15\xdc\xd4\x5a\x2c\x4e\x7a\xc9\xfa\x2d\xd7\xc5\x6d\xf8\xbd\xe8\x14\xaf\x51\x83\x89\xd8\x85\xda\xd2\xce\xe1\x74\x6b\x90\xb1\x9b\xcd\x39\xdb\x24\xff\xb6\xa9\x33\xa2\x1c\xcf\x68\x6b\xa3\xb4\x40\x3f\x1f\x8f\xd9\x47\x2e\xac\xe4\x22\x6d\xf1\x89\x29\x8e\x1e\x8f\x08\x8b\x11\xce\xd5\xc2\x40\x30\x5b\x67\xd3\xd2\x52\x83\x16\xd0\x80\x6c\x3c\xbe\x0a\x95\x11\x16\xb1\x2b\x83\xf2\xc4\xdd\x28\xc6\x2c\x68\x04\xca\x5b\x40\xf5\x2f\xa8\x5f\xdc\xa6\xa1\x13\xa9\xd5\xd2\xb6\xb5\x68\xaa\xcc\x5b\xab\xcb\xbb\xfa\x9c\x95\x2a\x0d\x43\x61\x0e\x88\x7a\xe3\xb3\xfa\xea\x5c\x38\x13\xb4\x53\x8b\x35\x3d\xd7\x5d\x53\x03\xab\x88\x19\x4b\x9e\x9d\x81\x16\x10\xbf\x77\xbc\xb6\x04\x25\x3d\xcb\x05\xc4\x70\x37\xb5\xf9\x6d\xb4\xa0\x49\xe1\xd0\xfa\x6e\xe0\x87\xa9\x9b\x4c\xc8\x13\x49\x4c\x21\x83\x48\x40\xba\x86\x31\xb6\x7e\x8f\xfe\xb7\xa9\x56\x8b\x7e\x37\x66\x9f\x80\x0d\x27\xc9\x12\x60\x56\x7d\xcb\x58\x55\x9a\x79\x6c\x1c\x80\xb2\xf9\x61\xa8\x3c\x10\xb3\xd7\x0b\xfc\x44\xc6\xcc\x35\xf3\xbf\xd1\x23\xfa\x2d\xfa\x5d\x9b\x56\xec\xb2\x2e\x5e\xd8\x3c\xf4\x31\xc8\x69\x08\x6e\x39\xcb\x28\x2d\xbf\x71\xd6\xa3\x92\xed\xb6\x01\x6e\xc5\xa3\xa5\x53\xf6\xc4\xa3\x5a\x6a\x4f\x78\x6a\xb1\x20\x4c\x4d\x18\x8f\xc9\x84\x34\xf8\xb9\x57\x30\x09\x2d\x04\x5c\xf1\x98\xac\xf5\x52\x7b\x66\xfa\x0b\x58\xbc\x64\x3e\xf5\xdb\x01\xa8\x0f\x3e\xc5\xdf\x1b\x6d\xca\x94\xd6\x3c\x72\x0f\x49\xbc\xcd\xb8\xb7\xf5\xb0\xbb\xd8\xe1\x01\x5c\x08\x76\x00\xcd\x5e\xde\x04\x2b\x17\x73\x51\x3d\x8e\x55\xef\x90\x7e\x59\xcf\xdc\x5e\x56\x01\xd8\x32\x14\xc4\x11\x74\x4e\xb5\xda\xd3\xdd\x8b\x0f\x9c\x70\x1b\x17\x97\x41\x9e\xed\xe4\xe3\x2a\x96\xc2\xa1\xef\x1c\x79\xfa\x2b\x3c\xd3\x53\x9e\x57\x05\x78\xbb\x00\x54\x86\x31\x20\x56\x56\x5f\x6a\x3e\x3c\x37\x69\xa1\x64\x41\x0d\x10\xc3\xf0\xec\x12\xe9\xd3\xc1\x53\x83\x56\x06\x8b\x96\xab\x05\x17\xf4\x1f\xad\x69\x6b\xed\x32\x7a\xe1\x7e\x2f\xb2\xfc\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\x52\x35\xd1\x34\x07\x60\x5e\xcd\x66\x67\x79\x62\xaa\x79\x44\x5c\xc4\xa6\x9c\xbe\x2c\xe5\x14\x42\x6c\xb6\x13\xef\xb1\xf2\x0d\x52\x8b\x5f\x6a\xeb\x85\x18\xc3\xd7\x4a\x01\xf4\xcf\x39\xc9\xf7\x94\x96\xf9\xa6\x81\xec\xf7\x78\x2e\x8b\xc8\x74\xb3\x36\x9a\x37\x17\xeb\xfb\x77\x3d\x53\x19\x24\x32\x3b\x83\xac\xc7\x05\x33\x96\x0c\x53\x2d\x76\x23\x43\xd8\xad\xa9\x87\xb0\x07\x4b\xd8\x6b\x04\xf9\xd4\x65\xa4\x06\xf6\x63\xc9\xef\xc9\xa7\xf5\x56\x59\xc4\x0b\x99\x97\x5c\x61\x89\x8a\xf4\xf1\x82\x96\xa6\x2d\x98\x5c\x5d\xa8\x5e\x19\x2a\x5f\xd8\x9d\x3c\x5b\x6b\xc8\xb0\x57\x1c\x72\x71\x9e\x05\x05\xd8\xc0\x65\xf1\xb2\x2f\x8c\xec\xae\x8b\x90\xc7\x68\x29\xc5\x88\xb5\x10\xec\xe3\x96\x70\xd9\xcc\xe3\x37\x30\x40\xd8\x86\xca\x5d\xd7\x83\x39\xda\x4e\x84\x61\x49\x87\x7a\x24\xea\x98\x41\x6b\x0f\x83\x2f\x0f\xf3\x36\x76\x57\x2f\xda\xbc\xde\xc9\xf0\xe4\x38\x89\x70\xb4\x68\x9d\xd4\x94\xf3\x84\x60\xd6\x26\xbd\x36\x3e\xae\x1e\x11\x83\x78\x0b\xac\x3b\x49\x00\xf6\xd9\x2d\x81\x2d\x15\x5a\x88\xef\x2c\x06\xb8\x7e\xc3\xc3\x4d\xc0\xa8\x1b\xa8\x22\xcc\x59\x7e\x28\x9b\x27\xa4\xba\x56\xb6\xae\xc2\xc0\x76\x92\x44\x79\x12\xd4\x0a\xcd\x88\xd0\xa3\xd6\x4b\xfc\x44\x98\xd6\x19\xec\x38\x9c\x0f\xe8\xd9\x65\xc9\xfb\x0a\x61\x03\xdf\xb5\x73\x43\x42\x2a\x6a\x3c\x66\x70\x70\x79\xf9\xb0\x6a\x5a\x95\x5a\xcd\x08\xed\x52\x5b\x9f\xce\x40\x88\xd8\xf8\x78\xde\x95\xad\xeb\x1b\x9f\x49\xd3\xf7\x04\x42\x33\x76\xf6\x48\x06\x5e\xab\x02\xbf\xc3\x6c\xac\xc3\x68\x7b\x59\xdb\x7b\x39\xd8\xa5\x1c\x8b\x1c\xc4\xba\xb4\x61\x84\xbd\xe8\x5d\x52\xd4\x44\x71\xb7\x41\xc7\xa1\xac\xf4\xf0\x77\xf4\xd7\x83\x75\x72\xd5\xb9\xbd\xb4\x71\xfc\x65\x4f\xb7\x4f\xfa\x2a\x62\x5f\x6d\xd5\x5f\x25\x30\x40\x56\x00\xd0\xc0\x2f\x46\xc3\xa6\xd2\x58\xc0\x5c\xed\x93\x34\x53\x4b\x5b\x2a\x0f\xee\xc5\x30\xd1\xdb\xc0\x00\x36\x79\xd5\xab\x77\x64\x5c\xf2\xab\x37\x75\x06\x1d\x59\xb3\x42\x63\x93\x6e\xa1\x43\x58\x99\x0a\x8c\x47\x5b\x10\x8d\xa9\x3a\x3c\xc1\x49\xab\x2d\x6b\x0f\x4c\x13\x72\xaf\x0b\xe8\x0e\x8b\x08\xac\x44\x4e\x34\xef\xc2\x49\x52\x99\x17\x86\x1c\x79\xe5\x2b\x0f\x4e\x8b\xf2\xc8\xdd\x7d\xfc\x09\x9e\x92\x8d\xbc\xfa\x97\xe6\x83\x95\x54\x04\xaf\x40\xb8\x7f\x96\x25\xcb\x6e\x69\x06\x61\x3c\x66\x23\x72\xde\xba\x81\x85\x78\x7b\x2b\xef\xa6\x32\x66\xdd\x76\x43\x94\x24\xca\x05\x55\xcb\x89\x35\xfa\x75\x67\x5a\x77\xf6\xcb\x33\xfb\x61\x17\x8d\xfa\x14\xb9\xfe\x9c\x91\x11\xee\x29\x41\x4d\x59\x25\x3b\x85\x2e\xdb\xad\xb5\xe4\x46\x44\xad\x55\x0b\xeb\x20\xbd\xba\x0d\x55\x77\xb1\xed\xf0\x6c\xb9\x96\x09\x9f\x39\xb0\xac\xee\x0b\x5b\xad\x63\xb3\x81\xb5\xd4\x61\x72\x67\x82\x72\x61\xcb\xc5\x74\x89\x05\x4c\xf1\x97\x49\x86\x05\x4e\x12\x92\x50\x99\x6e\x6f\xdb\xfd\xc3\xef\x57\x8e\xf6\xcc\x94\x35\x92\xb6\x48\xd8\x17\x9a\xe6\x29\x62\x79\x3a\xb5\x52\x2e\x96\x8f\x21\x22\xaa\xc3\x6f\x30\xc0\x5e\x6e\x80\x25\x14\x09\x11\x60\xdc\x8e\x59\x80\x76\x6e\x4d\x15\x38\x5a\x50\xf2\x04\x58\xac\x82\x11\x29\x8f\xd1\x15\x57\xe4\x14\x7d\xc6\xd9\x3d\x08\x6a\xa6\xce\xe8\xdc\x58\xc7\xb1\x44\x5a\x6a\xcd\x19\x55\x83\x31\xb3\x10\xe9\x6e\x55\x4e\x22\xce\x0c\x4c\x6e\x04\x0b\xeb\x9b\x00\x73\xaf\xc3\x8b\x55\x2e\xdb\x95\xca\x96\xc5\x16\xf8\x79\x12\x84\x34\x4f\x4c\xca\xc8\x06\x74\x7c\x8b\x9f\x8b\xf8\x5f\x53\x42\x78\x95\xe4\x6e\xe3\xc8\x6c\x59\x29\x83\x0e\xed\xe2\x6d\xb8\x85\x28\xf1\x05\xf1\x4c\x50\xef\xb7\xf4\x98\x1c\xa3\x1f\x12\x3e\x95\x03\x24\x3d\x92\x3a\x3c\x94\x44\xc9\x81\x71\x50\xc1\xbf\x4d\x7e\xe0\x77\x6e\xf5\x0b\xbe\x0f\xb5\x20\x67\xf4\x8b\x41\x46\x91\x7f\x38\x3d\x39\x49\x97\x47\xd3\x3c\x7a\x24\x4a\xff\x05\x32\x45\xe3\x0a\x39\x58\x31\xdc\x04\x52\xb6\x6e\x75\xea\x00\x67\x9d\x28\xd2\xe6\x5a\x49\x02\x60\xfa\xfa\x4a\xf7\xd5\x76\x1d\x1e\x16\x67\xcd\xa5\x44\xed\x94\x45\xde\x76\xbc\x4a\x28\xdc\xaf\xa3\xad\x98\x6a\xc2\x21\xf8\xf7\x2c\xc1\xf3\x8a\xca\xb2\x81\x92\x72\x9d\x52\x4b\x45\x7a\xee\x10\xa6\xa2\x4f\x59\x39\x38\xef\x1b\xe7\x8e\x04\xb7\xa2\x75\xb7\x1c\x8f\xd9\x50\xa2\x67\x62\x8a\x04\x43\xa2\x2a\x78\x27\x72\x2a\x17\x3e\x4d\x15\xec\xa5\xd0\xa8\xc1\x48\x36\x50\x1a\x56\x71\x74\x9a\x95\xf3\xdf\x58\x0d\x14\x27\x92\x0c\x74\xc3\x80\x93\xe7\xe2\x2f\xd1\xb3\xc0\x59\x46\xc4\x98\x59\xbc\x5b\x40\x75\xe7\xdc\xc6\xd6\xb4\xa5\x18\xf4\x1a\xe5\xeb\x6a\x94\xc1\xda\x93\x72\x16\xeb\xba\xf3\x0d\x49\xaf\xab\x56\xb8\x29\x8f\xd3\x2d\x9f\x96\x45\xbb\x06\xc8\xbf\xbd\xd9\xb8\xe3\x98\xd7\x69\xe7\xc3\x4a\x76\x03\xd4\x20\x4f\x41\x81\x94\x45\xa9\x55\x67\xeb\xf3\xea\x7b\x49\xcc\x01\xb8\x74\xf8\x38\xe6\x44\x06\x46\x7c\xe4\x6d\x71\x09\x9d\x11\x2d\x7d\x8c\x99\x26\xe3\xd0\xe1\x60\x50\xd7\x1d\x08\xbb\xee\x34\x12\x5c\x4a\x9b\xb0\x60\xda\x59\x9d\x54\xb7\x43\x81\x47\x03\x1d\x7f\x71\x7d\x35\xa9\x97\x7a\x0c\x9e\xb9\xa2\x8f\xf6\x61\x23\xf2\x42\x6b\x53\x6b\x4b\x3c\x16\x6b\xb1\x41\x91\xc7\x93\xb3\xcb\x0b\x5f\xd9\xac\xd2\x75\xbd\xca\x63\x08\xb7\xdf\x5e\xe7\xb1\x3e\xe3\xa0\xe2\x63\xa5\x89\x15\x35\x1f\xd7\x6f\x56\x39\x4c\x7a\x17\x2c\xc5\xca\xd6\xaf\xe5\x0f\x65\x9a\x59\x17\xcc\xb8\xa7\x6d\x6a\xb9\x56\x22\x10\x18\x5f\xda\xc3\x0e\x82\x97\x7e\x4b\x2a\x9c\x66\x61\x1e\xae\x03\x93\xb5\xd3\x34\x47\xad\xed\x12\x7c\x55\x90\xfb\x08\x9b\x68\x96\xea\xe0\x6a\x5b\xb1\x99\xc7\xeb\xde\x62\xe7\xef\x23\xfa\xfb\xf5\x12\xdb\x93\x65\x11\xb5\x27\xad\xec\xe6\xea\xb2\xb7\xd8\xfd\xa7\xc4\xd7\x09\x68\xdd\xd0\x5d\x33\x57\x3d\x9e\x98\x20\x58\xda\x70\x0c\x48\xf0\xac\xa4\x47\x6d\x60\x1e\xf6\x63\x36\x29\xe2\x47\xbe\x32\x47\x70\xd5\xd8\x62\x73\x91\x3b\x88\x54\x08\xf2\x44\x04\xd0\x8e\x8d\xf9\x61\xe5\xa3\x8a\x13\x41\x70\xbc\x0c\x56\xc4\x07\x1c\x98\x9e\xc1\x3c\x26\x69\xaa\x15\x78\x50\x4d\x18\x3f\xe2\x99\xd3\x59\x4a\x6f\x41\x59\x15\x3a\xd3\x37\x56\x10\xae\xa0\xbf\x60\x47\xe4\x0b\x95\x4a\xcb\x15\x0d\xb1\x9a\xae\x11\x90\x78\xa0\xd8\xda\x82\xd8\x1b\x6e\xfc\x61\xf8\xc3\xf5\xed\xfd\xe8\x7c\xfc\xa1\x48\x6a\x70\x59\x7b\x1e\x26\xcc\x55\x7d\xe0\x6c\xcc\x7c\x40\xad\x47\xc5\x86\xbd\x44\x38\x8e\x0b\xb8\x0b\xab\x44\x1a\x99\x6d\x25\x47\x0e\x4e\xc5\xda\x50\xda\x15\xcd\x3c\x40\xea\xd6\xa1\x9e\xac\x15\xae\xb3\xd2\xc9\x31\x09\x68\x2b\x32\x85\xf6\x74\xd9\x84\x80\xbe\xca\xe8\xda\x44\x39\xc4\x49\x46\x9e\x9d\xae\x04\xb7\xf3\x09\x36\x97\xf0\x66\xdc\xce\x6d\xc8\x16\x9b\xfa\x91\x7e\x21\xf1\x6d\x8b\x54\xb5\x97\x44\xa0\x4e\x91\x80\x8d\xbb\x90\x33\xba\x89\xc6\xef\xa7\xf2\xa0\xbf\xeb\xce\x96\xae\x0b\x9c\xbe\x02\x73\x17\x00\x77\x15\xc2\x28\x22\x42\x61\xca\xd0\x0c\x0e\x36\x8b\x96\x08\x50\x5c\x08\xf8\xb0\x7f\x8f\x52\xca\x00\x4e\x62\xd5\xd2\x3e\x94\xe7\xb1\x81\xd0\xfa\xf9\xe2\xea\xe1\xbe\x24\xaa\xfe\x78\xfd\x50\xae\xf4\x3f\xfc\xcb\x4a\x59\xb5\xd2\xc2\xaa\x60\xa1\x60\x8a\x45\xf2\xa6\x85\x1e\xf6\x2b\xd3\x38\xd1\x64\xa9\xc8\xc3\xed\xe5\x4e\xf2\x5d\xb3\xb3\xac\x15\x38\x3e\x94\xae\x9a\xb3\xe6\xbb\x7c\x1a\x93\x68\x1d\xb4\x6d\x77\x3a\x32\x51\x50\x7a\x1d\xac\x35\xd1\xc2\xde\x61\x89\x32\x2c\xac\x1f\x2a\x36\x01\x50\xe5\x72\x71\x46\xf3\x5a\x05\x2b\xf2\x89\xa8\x9f\xf5\xd5\xc7\xd9\x3e\xb2\x20\xac\x28\x0b\xfe\x51\x32\x79\x32\x0d\x6f\x70\xd2\xec\x50\x56\xa4\xba\x38\x61\x19\x7a\x40\xb6\x87\x10\x8c\xe3\x18\x01\xd5\x0c\x75\x73\xb0\x22\x2e\x9e\x50\xab\xa4\x9c\x69\x8a\x34\x18\xbb\x0e\x98\x37\x68\x8e\xcf\xcc\xc7\x1d\x61\x0a\x83\xa8\x76\xdd\x56\xb1\x94\x68\x78\x73\xd1\xb0\xd6\x97\x55\x17\xd2\xd7\x55\xe3\x28\xf1\xde\xac\x7d\x23\x67\x05\x59\x9d\x07\x01\x95\x65\x67\xba\x1b\x36\x96\x71\xfa\xdf\x94\x23\x09\x0e\x01\xc2\xb9\x49\x65\x28\x65\x6b\xaf\x41\x6b\xde\x2c\x81\xb1\x58\x86\x0d\x91\xb0\xc2\x01\xd9\x34\x90\x10\xfd\xa9\x1e\x63\x3c\x08\xd1\xa0\xb8\xa9\xa2\x6c\x63\x0b\xf6\x86\x90\x55\xcc\xa6\x0b\x44\xd6\xcf\x86\xa2\x3d\xc6\x08\xa0\xa6\xb8\x2a\x9d\x2e\x36\xd8\xa6\xfc\x87\xd3\x0d\xa9\x6d\x33\x54\xad\x62\x7c\xce\xfc\x6d\x01\xca\x71\x86\xad\xdd\x01\x94\x28\x57\x3e\xa3\xa9\xda\xe2\xf1\x98\x05\x01\x2b\xd2\xa8\x3d\xfa\x8c\xb8\x8a\x35\x50\x06\x99\x01\xda\x39\x24\xe9\x78\xe1\xa7\xb4\x03\x55\x64\x01\xb5\x28\xd7\x9c\xa9\xf5\x63\x4f\xa7\x5c\x60\x97\x88\xe8\x2c\x28\x36\x0e\x30\xb4\x2f\x41\x7b\x41\x95\x09\xdb\x31\x98\xa3\xc1\x68\x81\x83\x1a\x86\x41\xce\x7f\xcc\x89\x64\xdf\x28\x9f\x21\x4b\x13\x5b\x27\x07\x57\xdd\x03\x5a\xaa\xc3\xd4\xb6\xbc\xfa\x80\xef\x01\xb2\x6b\x53\xc5\x21\x38\x56\x6b\xcd\x54\xce\xc7\x0b\x94\x10\xc6\x22\x41\xa7\x6d\x56\xf5\x2f\x19\x89\xb6\x41\xde\xb9\xc1\x02\xa7\x44\x11\xb1\x2a\x1c\xa9\x5c\x61\x1c\x44\x1c\xb7\x83\xb6\x5f\xb3\x8b\xa6\xfc\x4a\xb5\x4e\x8f\xd7\x6e\x2f\xd7\x21\xe9\xf8\x59\x6c\x8c\x90\xf4\xb3\xb5\xfc\x6f\x38\x0b\xdb\x4f\x31\x0d\x1b\x6d\x15\x00\x27\xed\x3a\xa7\xd7\x41\x90\xb9\xaf\x61\xb1\x94\xc2\x85\x0e\x04\x3a\x66\xfd\x28\xdb\x30\x63\xd6\xf1\xd2\xbd\xf0\x6e\x97\xe1\xe0\x52\x68\x2b\x87\xaa\x94\x3b\x01\x54\x02\x2a\x95\x81\x4f\x69\xc6\x7d\x01\xa1\xa5\x29\x42\x32\x70\xfb\x59\xcc\xc3\xc2\xa0\x6b\x25\xab\x6a\xc5\xb1\xca\x72\xad\xe1\x71\xfb\xc2\xc4\xe8\x25\x9a\x7d\x4b\x34\xeb\x48\xb9\x14\x5d\xab\xa9\x93\x88\x0a\x3c\x8f\xad\x04\x6e\x01\x02\xca\x13\x84\xdc\x23\x7b\x45\xda\x72\xc2\x70\xf5\x53\xe6\xff\x55\xe6\xe0\x8e\xa8\x43\x52\x6d\x4a\xaa\x3c\x0e\x5c\x50\xe0\x81\x4a\x42\x69\xc0\xc6\xd5\xc0\x68\x4d\x18\xa4\xb1\xf2\x5f\x5c\x19\x07\x16\x24\x37\x2f\x79\x8e\x9e\xa9\x5c\x20\xc5\xc7\x0c\xe2\x04\xbd\x37\x40\x71\x64\x5e\x1c\xc0\x5b\x00\x83\x20\xf3\x69\x4a\x15\xc2\xc1\x0c\x4b\x26\xc9\x81\x3d\xcf\xfa\x03\x98\x71\x63\x9e\x7d\x13\xb2\xd1\x9a\x43\xb3\x85\x7d\xad\x68\x64\xd7\x54\xfa\x20\xa6\xf9\x65\x93\xe9\x03\x8d\x27\xd4\x30\x1b\xcf\x5c\x9f\x4d\x8f\x9a\xad\x0d\x16\x49\x16\xe0\x7e\xa9\x54\x95\xbb\xc5\x1a\x7a\xd6\x64\xd2\x17\x1b\xd1\x29\x95\xbe\x78\x7d\x1f\xb9\xf4\x6d\xb5\xeb\x56\xe5\x56\xba\x4f\x5a\xec\xdf\x2e\x67\x57\x71\x17\x38\x1f\x4a\x4a\x37\xad\x92\xd2\xa1\x81\xc1\x15\x09\x01\xdb\x87\x97\x6f\xa2\x0e\x16\xf9\x59\x21\x15\x05\xe9\x96\x65\x4c\x18\x52\xe5\xfc\x8c\x2b\xc8\xa9\x89\xa0\xae\x7f\x2d\xcf\x73\xcc\x9a\x25\x90\xd5\x3c\x71\xd7\x14\x8d\xbd\x82\xc6\x05\xe7\xcf\xcd\xc2\x5a\xb4\x7e\xf1\x41\x6e\x46\x59\xb6\x15\xfa\xab\x22\x66\xe1\xe2\x6b\x0b\x4e\xd2\x82\xc7\x36\x09\xc7\x0d\xa7\xb2\x79\xe8\xb5\x04\x8a\xb5\xe7\xc2\x5e\xba\x7b\x54\xed\x6a\xdc\xb9\x73\xbe\x89\x97\x91\x2d\x37\xb6\x01\xd3\xb1\xd7\xe3\x2b\xae\xda\x6d\x4a\x0f\x03\x18\xeb\xfe\x21\x64\xc1\x4f\x33\x00\xc7\xae\x1d\x35\x36\x41\x2e\x1e\xb0\xbd\xb2\x1b\xa5\xb9\x9a\x40\xc5\x1d\xe7\xdb\x8a\x59\xa5\xa7\x1c\x4d\xea\xc8\x55\x6b\x17\x68\x3f\xf0\x55\x55\x08\x87\xb7\x5f\xa9\x96\x58\xea\x0d\x6b\x6a\x07\x3e\x59\x61\x63\xa2\x69\x68\x5d\x81\x62\xda\x36\x94\xb4\x72\x5b\x79\x01\x38\x67\x31\x11\x8c\x60\xb5\x78\xbd\x4c\x94\xb3\x5d\x4d\xf8\xc1\xf8\x5e\x36\x2b\xc5\x8e\x14\x97\x93\x53\x76\x19\x6e\xae\x16\x1b\x26\x79\x6c\x90\x31\x51\x94\xd7\xae\xa9\xd7\x0d\xa6\xd5\x00\xa8\x67\x13\x2a\xdd\x29\x59\xa5\x59\xe5\x7d\x99\xb4\x9d\x06\xdb\x58\x2d\x61\x47\x9f\xf6\xb0\x28\xf9\x9a\x25\xf9\x2a\xf2\x63\x5e\x3e\x65\x63\x55\xf9\xf3\x3c\xc8\xe2\x80\x1a\xf4\x0a\x53\x66\xb9\xd7\xaa\xc4\x0d\x2d\x77\xa7\xb8\x29\x57\xe3\xe0\xb3\x80\xbe\xfa\x24\xa0\x3e\x25\xa4\x4f\x09\x69\xd8\xa3\x3e\x25\x04\xa1\x43\x4b\x09\x59\xa7\xa6\xaf\x32\x12\x7b\xbf\x25\x94\xa9\x2d\xd5\x86\x32\xfb\xbb\x46\xd7\xde\x3e\xed\xc1\xd9\x59\xc3\x98\x31\xfb\x8b\xfd\xa1\x31\x6c\xac\xf6\x59\x75\xb6\xa1\xcd\x97\x2d\xab\xae\x13\x2c\xe2\xc4\x62\xf5\xd9\xa0\xee\xb2\x8d\x6e\x95\x39\x79\xcc\x7e\xe4\xcf\xe4\x89\x88\x01\xc2\x0a\xa5\x5c\x2a\xe0\xc3\x2e\x86\x08\x0e\x42\x09\x2d\xdf\xc4\x8a\x60\x74\x85\x53\x12\x9b\x52\xa1\x41\xe8\xa7\x35\x6a\x5b\x77\x74\x13\x24\x2d\xa0\xab\x9a\x6d\x70\xb1\x25\x63\x66\xc2\x31\x4d\x08\x20\xc8\x0a\xd4\x4d\x0c\x08\xe6\x37\xde\x59\xfe\x9b\x63\x74\xaf\xef\x27\x2a\xcb\xe3\x0d\x10\xea\xda\xc6\x36\x66\x73\xc1\xf3\xcc\xdb\x19\xf9\xd4\xd4\x8c\x36\x11\x62\x75\x67\x39\x0c\xc6\x79\xca\x23\x1c\x13\x16\xad\x09\x59\x79\x93\x48\xdd\xad\x60\x9e\x42\x02\xd2\xc7\xd0\x87\x1f\xda\x74\x00\xe3\xe3\x0e\xc0\x6d\x56\x61\xfc\xbf\x90\x03\xfe\x9c\x48\xb0\x9c\x79\xcf\x44\x29\xd7\xbe\xac\xcf\x37\x8e\x73\x95\xdd\xd8\xfb\x76\x9c\xff\xa3\x19\x2a\xa2\xe8\xdc\xc6\xc5\x99\x44\x5e\x7b\x4f\xbc\x98\x45\xb9\x73\x84\x71\x1b\xbf\xb8\xc9\x45\xc6\x41\x12\x4b\x96\x0e\xda\xc2\xa2\xe1\x65\x3c\xcb\x4d\xec\x1f\x0d\x43\xc1\x1a\x29\x9b\x4a\xf5\x19\xab\x68\xa1\x39\x77\x81\x0a\xb7\xa7\x98\xc8\x82\x2b\xbf\xac\x95\xb9\x61\x06\x67\x61\xef\x2d\x6e\x97\x55\xd4\x13\xc4\x38\xfa\x40\x52\x2f\x49\xa4\xba\x3f\xe3\x9a\xb4\x95\xe0\x03\xdb\xb1\xfb\xc4\x3e\xd1\x13\x5d\x47\x45\xeb\xc6\xdf\x8d\xb6\xca\xa5\xea\xf6\x1e\x6d\xb9\x83\x41\xf0\xdc\x82\x9a\x15\x2f\xda\xd2\xc6\x2d\x21\x12\x82\x6e\x97\x29\x65\x0b\x30\x3c\x69\x71\xc4\x5b\xa5\x53\x9c\x69\x25\x42\x71\x7d\x4b\x8a\xb9\x91\x63\x4d\x2c\x31\xc2\x28\x17\xd4\x9d\xfd\x4a\xde\x7c\x3b\x75\x80\x6d\xef\x24\x2c\xd6\x15\xe1\xa0\x4a\xa3\x09\x8a\xc0\x91\xca\xb1\x0f\xde\x04\x9a\x48\x28\x7b\xd4\x9d\x19\x8c\x00\x17\x7c\x20\x9c\x78\xd7\xb0\xa7\x6b\x09\x7b\x87\x5d\xc6\x4d\x18\x90\x9d\x4e\x1a\x65\xf3\x00\x40\xb2\xd9\x92\xde\xa5\xac\x46\xe3\x97\xdd\x4a\x83\x34\x7e\xea\x64\x9f\x6d\xbe\x5d\x01\x70\xb5\x75\xfc\x7a\x29\x17\xc0\x06\x0b\x5b\xe9\x29\x84\xf6\xb4\xf6\x3b\x40\xe8\xa5\x10\xcc\x80\xad\x34\xf5\x5f\xfe\x2f\x53\x86\xcd\x2c\xcd\x7f\x21\x2e\xc6\xcc\xfc\x3e\xf0\x25\x50\xf4\x0b\x05\x48\x2e\x4e\x49\x01\x23\x2a\xca\x80\x83\x00\xbb\x62\x01\xe3\x0c\x20\xb2\x2f\x65\xa0\xc7\xf0\x98\x4f\x89\x60\x44\x0f\xcd\x01\x34\x78\x66\x96\x62\x86\xe7\x00\xbf\x3c\x80\xe8\x41\x10\x57\x0b\x55\xc4\x90\xb4\x29\x14\x0a\xdc\x4a\x33\x4b\x9b\x93\x5c\x14\xcc\x86\x3e\x8d\x28\x6b\xd1\x5f\x8b\x10\x94\x66\xea\xbf\xb5\xfd\x6f\x27\xb1\xdf\x0f\xef\x7e\x9a\xdc\x8e\xee\xae\x1f\x6e\xcf\x4a\x62\xfb\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xf1\x59\x91\xcf\xfb\xe7\x87\xd1\x43\xcb\x23\xd7\xc0\xe5\xf0\x87\x51\xa9\xfa\xfc\x9f\x1f\x86\x97\x17\xf7\x7f\x99\x5c\x7f\x9c\xdc\x8d\x6e\x7f\xbe\x38\x1b\x4d\xee\x6e\x46\x67\x17\x1f\x2f\xce\x86\xfa\xcb\xf0\xdd\x9b\xcb\x87\x4f\x17\x57\x13\x17\x9a\x1d\x3e\xfa\xe5\xfa\xf6\xa7\x8f\x97\xd7\xbf\x4c\x82\x2e\xaf\xaf\x3e\x5e\x7c\x6a\x9a\xc5\xf0\xee\xee\xe2\xd3\xd5\xe7\xd1\xd5\xea\x2a\xf7\xcd\xab\xd1\x5a\x40\x3b\xb8\xc8\x02\xa3\x51\x20\x26\x4d\x97\x96\xb4\xe9\x3f\xc0\x77\x71\x63\xe8\xf1\x68\xe0\xfe\x32\x35\xe9\x8f\x34\x0b\x74\xbe\xc3\x82\x7b\x8c\x99\x77\xee\xfa\x4b\x55\xe1\xb9\x74\xe9\xd9\xa5\xd1\x9e\xa2\x21\x9c\x15\x50\x18\x4a\x9d\x42\xf6\x87\x1f\xa9\x0b\x07\x00\x3a\x4c\x68\x4a\x21\x32\x00\x1d\xa1\xea\x86\x97\x1b\xb4\x73\x82\x21\x58\xdf\x66\xbc\xea\x34\xc8\x6a\xe6\x37\x50\xca\x29\x72\x1c\x9a\x18\x73\x82\xc1\xe7\x5d\x32\x9c\xd2\xa8\x9a\xa6\x02\x10\xb5\xa8\x80\x63\xa9\xb6\x58\x22\xb0\x72\xcb\x0b\x82\x7e\xfa\x53\x31\x28\xf0\x60\x58\xcd\x3b\xaf\x15\x6b\xb4\x0f\x44\x6e\x56\x75\x1d\x79\x96\x7a\x72\xc7\xdc\x9a\x96\xe1\xdc\xda\x92\xf7\xe0\x6e\xca\x59\x00\xc9\x56\xf2\x3d\xe9\xe3\x6d\x66\x54\xa1\xf1\x53\x74\x07\x70\x30\xb2\x50\xdd\xf5\x2e\x66\x49\x3e\xa7\x0c\xd1\x34\x4b\x80\xc7\x18\x7d\x7e\x4a\x16\xf8\x89\x72\x57\xe2\xc3\x54\x42\x81\x75\xb4\xa2\x15\x3a\x42\xad\x07\xe5\x14\x0d\xe3\x58\x96\x19\x5c\x89\x72\x1c\xcb\x3c\x2a\x0f\x3b\x44\x51\x63\xb1\x67\x9b\x15\x3a\x2a\x8e\x1c\xac\xd8\xfe\x01\x6f\xea\xec\xb0\x7c\xf7\xee\x70\xfd\xeb\x15\x9c\x38\x52\x9e\x6c\x25\x0c\xdc\x63\xf9\xe8\x58\xf3\x3a\x81\xc0\x41\x0f\xed\xd6\xa3\xc5\x20\xea\xda\xa9\x5f\xd9\x09\x1c\xb4\xed\xfa\x6c\x45\xce\x5e\xd3\xa5\x9b\x71\x52\xa9\x0a\xd7\xb9\xbf\x52\x55\xb9\xc6\xce\xf6\xea\xed\x69\x96\xc6\xe0\x48\x4e\x3c\xfd\x6f\x30\x8f\x1b\xf8\xf4\xda\x7f\xb9\x52\x64\x9b\x04\xeb\xb6\xa9\x0f\xa8\x96\xc8\x6c\xfd\x40\x2b\xe9\x70\x4f\x10\x58\xdd\x85\x41\x28\x4e\x41\x23\x70\xf7\x61\xca\x6c\xc9\x22\xe2\xfd\x51\xae\x72\xbb\x3e\xc7\xbe\xfa\x20\x9e\xf2\xa7\x92\x72\x99\x12\x29\x71\x0b\xa8\x4b\x60\x12\xdb\x85\x31\xf8\x13\x6a\x3f\xec\x48\x4f\xee\x4c\xde\xeb\xaf\x56\x19\x7d\x6e\x43\xcd\xd8\x4d\x54\x0b\xac\xb1\x8b\x46\x46\xd7\x26\x27\x51\xf3\x97\x41\x11\x70\xc4\x45\x10\x87\xd5\xe6\xfe\xe9\x68\x56\xab\x2e\x58\x63\x25\xaa\xd0\x85\xb7\x79\x9c\x52\xd0\xfa\xd6\xa8\xe1\xd6\xaf\x82\xcb\xeb\xb3\x01\xd5\x95\xfc\x9d\x61\xe9\xf6\x88\xa7\xa9\x91\x0b\x4a\xb6\xd4\x01\xc2\x26\x15\xb4\x90\xa6\x64\x1e\x2d\x8c\x97\x49\x5f\x19\x83\x31\x7b\x0e\x36\xa4\x14\x2c\x3d\x0c\x5b\x02\xc4\xd5\x2f\xfa\xb8\xd1\xa7\x52\x08\x3a\x88\x8c\x14\xe2\xa1\x03\x42\x30\x0e\xc1\xa2\xc4\xd6\x1a\x02\x0f\xf6\x6b\x07\x52\xdf\xa2\x0c\x65\x65\x7d\xdb\x8a\x51\xfa\xb9\x05\x35\x20\x77\xd0\x94\xbb\x0e\x21\x28\x43\xd9\x34\x82\x3d\x54\xa1\x7c\x55\x08\x74\x9f\xd2\x6a\x32\xa0\xd3\xa9\xc5\xf1\xd0\xd3\x75\xab\xfd\x5b\x37\xa3\xdf\x1a\xbf\x43\xde\x02\xfc\x12\xb4\xe6\x51\xd0\xd1\x91\x96\x59\x1d\x20\x81\x0d\xc4\x90\xe8\xc8\x20\x2b\x7e\x03\xd1\xa8\xc3\x9b\x8b\x6f\x06\xe8\x9b\x30\x23\xef\x9b\xad\x0e\xa0\x1d\xb7\xad\x44\x09\xda\x54\x29\x2d\xa3\x7c\xec\x60\xaf\x2a\x27\xd1\xee\x99\x3d\x88\xa8\xed\x1c\xea\x2f\x4b\xdf\x80\x73\x1a\x4a\x04\x1a\xff\xad\x0f\x0a\xb7\x2e\x20\x23\xe3\x52\xd9\xb0\x76\xf1\x98\x4d\x97\x55\x27\xcf\xc0\x7b\x79\x3a\x9f\xd2\x9d\xcb\xde\xe9\xf6\xea\x29\xdc\x7b\x0e\x56\x5e\x7d\x1f\xac\x49\x0a\x1f\x9a\xb8\x74\x3e\x0b\xb8\x58\x5b\x94\x42\x1f\xe5\xdf\x34\xab\x92\xbd\xcc\x2d\x66\xe3\xa6\xac\x93\x7f\xde\x1b\xb9\x75\x08\x8d\x1f\x36\xad\x88\xcd\x8a\x68\x11\xae\x7b\x2a\x7b\x59\x2a\xdb\x47\x56\x48\x79\x70\x9b\x5f\xa0\x67\x46\x8e\x0b\x9a\x71\x06\x57\xad\x4c\x78\x06\x5f\xaa\x8d\xb8\xbe\x16\xf3\x86\x3e\xdf\x60\x4d\xd6\x3b\x7d\xef\x4c\xe0\x80\x71\xbb\xd6\xc7\x5a\x1d\xea\x50\xd9\x42\x4d\x9c\x9a\x0c\x50\x45\x53\x32\x40\x9c\x25\xcb\x20\xd8\xc1\x9e\x57\x20\x37\x13\xa3\xb4\x20\x54\xb8\x4e\x2c\x0e\xe3\x46\x90\x01\x1b\x4a\xe3\x6d\x34\xb2\x43\xa4\xc9\xd5\xf0\xf3\xe8\x7c\x32\xba\xba\xbf\xb8\xff\x4b\x03\xc6\x66\xf9\xb1\x83\xd9\x0c\x5e\xb8\xfb\xcb\xdd\xfd\xe8\xf3\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x03\xc1\xb9\xaa\xb3\x36\x78\xc7\x5c\x36\xa9\x6f\x9b\x40\x3c\x3a\x33\x6f\x43\xef\x75\x20\xce\xa0\x13\x4a\x5a\xc0\x38\x0d\x3c\x02\x8b\x89\x40\x31\x79\x22\x09\xcf\x0a\xb3\x6a\xe3\x82\x05\x28\x9d\x0d\xed\xaf\x42\xea\x84\x36\xab\x6b\x7c\x8a\x4c\x3d\xbc\xa0\x24\xb0\x6f\x10\x44\x3e\x2c\x08\xfb\x46\x21\xf2\x25\x4b\x68\x44\x55\x90\x3e\xc9\x85\x75\xaf\x18\xf7\x21\x44\xa7\xae\x21\xae\xbd\x45\xa3\xec\x5d\xe7\x0f\x3d\xe9\x75\x6d\xdf\x9f\x28\x8f\x1a\xb7\xb6\xc8\xd2\x1e\x14\xfb\x16\xa7\x71\x0d\xd4\x6e\x8b\xd1\xbd\x84\x79\xa0\x9e\xc7\x64\x53\x20\x5b\x00\xef\x9a\x07\xb9\xfe\x36\x5c\x15\x27\x53\x3a\xd7\xab\x03\x65\xba\x51\xea\x1b\x87\xbb\x94\x8a\x8f\xee\x01\x9d\xc4\xc6\xae\x6f\x18\xb0\x50\xab\xa9\xc3\x4c\xcc\x29\x46\x82\xa4\x5c\x69\x05\xcc\x44\x04\x0c\xb4\x50\x45\x71\x42\xff\x01\x38\x5e\x82\x1c\x07\x11\x14\x0e\xfd\xac\x70\x1f\x58\x8c\x8d\xe3\x31\x3b\x1f\xdd\xdc\x8e\xce\x34\x43\x3a\x46\x0f\x12\x20\xba\x4a\x53\x3f\xb7\xe4\x6d\xc4\xb1\x30\x92\x61\x75\x21\x7f\x22\x04\x17\xdd\xf9\x83\xef\x6f\x04\xdf\x35\x93\x37\x3c\x2b\xd9\xa6\x9c\x01\xe0\xaa\xb5\x72\x74\x90\x33\xb0\x7b\x98\x4a\xf5\x44\xe0\xe7\xd2\x8a\x84\x10\x25\x20\x89\x94\x57\xfd\x05\x57\x5b\x13\xfb\xe6\x00\x2d\x45\x3e\xc4\x5e\xa7\xd9\xe2\x1f\x58\xe0\x3a\x12\x6e\xc7\xe2\xbf\x37\xf0\xed\xaa\x31\xde\x43\x14\xa0\x54\x05\xa8\xab\xc1\x7d\xf5\xc5\x8b\x3a\x8d\x51\x2a\x2c\xde\x02\x71\xa5\x72\x3a\xa7\x64\x8e\x19\x12\x39\x63\x15\x94\xdf\xd0\x18\x58\x8f\xeb\x59\x3b\xd0\x86\x35\xc3\x29\xcf\x19\xe8\x35\x10\x69\xdb\x30\x18\x99\x11\xa6\xd6\x0c\xe6\xad\xf0\x74\x2a\x43\x3d\x5c\x48\x9d\x86\x81\xb6\xa1\xea\x34\xb9\xbc\xa0\x82\xf6\x66\x92\x83\x8b\x1b\x2c\xf9\xbd\xf4\xa1\xf2\x22\x44\xb3\x21\x00\xcb\xc7\x9d\xbb\xbb\xc7\xf2\x71\x7d\x57\x31\x89\x1e\x37\xbd\x0f\xab\xc9\xa3\x89\x2d\x40\x5e\xb3\x47\x2e\xf5\x53\x5b\x61\x07\xea\xce\x47\x8f\xe8\xc7\xfb\xcf\x97\x68\x46\xb5\x68\xae\x6f\xbe\x2b\xac\xd5\x80\x07\x91\x38\xd3\xb5\x35\xff\xe6\x22\xf1\xe2\x01\x6c\xbc\x93\xf6\x02\x41\x46\x5f\xba\x78\x4e\x9c\x3d\x5a\x58\xd0\xc4\x4a\x85\x1d\x81\x59\xcc\x53\x33\x8f\x13\x99\xcf\x66\xf4\xcb\xb1\xc2\xe2\xbb\x96\xf5\x30\x81\x1f\x93\xbf\xf1\xe9\x44\x8f\x68\x47\x59\xa1\xa9\x39\x64\xeb\x62\xfb\x65\xb3\x33\x3b\x37\xef\xfe\x1f\x3e\x05\xd0\x82\x4c\x70\x00\x72\x04\x07\xa2\x0d\xa6\xb0\xaf\x38\x4a\x3a\x46\x2e\xc7\xab\x84\x55\x13\x71\x21\x88\xc5\x3a\x30\x25\x62\x33\x2c\x14\x05\x83\xb2\xc3\xba\x29\x15\x39\x28\xb6\x28\xac\xdc\xbe\xc0\x05\xa0\xf8\x94\x10\xf0\x41\x65\x34\xd9\x4c\x2f\x3f\x2b\xb9\x4f\x2b\x27\xd0\x06\xc7\x5a\xf8\x53\xb0\x19\xad\x95\x02\x47\x4f\x84\xa9\xbd\xa8\x50\xd0\x44\x03\xfa\x42\x37\x47\x88\xa9\xd4\x7a\x71\x5e\x5c\x6e\x2e\xea\x38\x0c\xbc\x52\x02\xc3\x1d\x6d\x73\xb9\xac\xd7\xbf\x2d\x16\xe1\xa9\xb3\x7b\x1b\x5e\xad\xaf\xcb\x9a\xe8\x7d\xbb\xda\x45\xc5\xf6\x22\xf2\xd6\x55\x68\xd8\x12\x8f\x49\x12\x63\x68\x09\x70\x40\xac\xfe\x5c\xdd\x73\xd3\xa7\xa6\xad\x4a\x97\x6b\xb7\x7c\x0b\xf0\xa1\x52\x33\x9f\x08\x48\x59\xfb\x88\x95\xdf\x04\x82\x01\x06\xf2\x20\x12\x88\xf2\x5e\x69\x68\x33\xd5\xe2\x35\xe7\xf3\xc2\x27\xee\xa0\x46\x98\xc1\xac\x80\x50\xd0\x62\xa9\x85\x28\x58\x2d\xc0\x6e\x24\xbb\xbe\xf8\xbc\x02\xf5\x68\xc5\xc4\x1c\x50\x61\x07\xd1\x7c\x5f\xc0\x19\x55\x50\x88\x60\x7d\xc1\xca\x0d\xb6\xce\xb2\xa2\x0b\x1c\x7e\x69\x42\x7b\xc1\xda\x85\x4b\x17\x19\xfd\x87\x66\xbf\x82\xc8\x05\x4f\xe2\xf6\x09\xd7\x61\x30\xf6\xaa\x89\x6c\x32\x5f\xb7\xec\x2f\x3b\xe1\x40\x6f\x5c\x33\xe3\x97\xc3\xfc\xf0\x6f\xed\x67\xae\x7b\x54\x90\x3b\x6a\x8e\xc5\x6b\x2f\x39\x03\x27\xe9\xb4\x05\xf5\x77\x90\x58\x2b\xd2\x4d\x49\x78\x5d\x39\x41\x17\x1e\xe0\x43\x8f\x2c\x20\xb2\x95\x9a\xec\xd0\x40\xfe\x29\xec\xbc\x21\x38\x61\xe1\x37\x2b\xd4\xd4\xa5\x71\xfc\xfb\xcf\x0b\xef\x45\x91\x8f\x42\x95\x2c\xca\x42\x22\x2d\x45\xb5\x1d\x48\x3d\xcf\x49\x2e\x36\xc2\x43\x29\xca\x0a\x6c\x72\x27\xdb\x4c\xa8\x62\x58\x7a\x11\x9a\x2f\x42\x5b\xed\x05\x14\x24\x1b\xe7\x26\x4b\x50\x8d\xf6\x90\x9b\x65\x6c\x54\xde\xdb\xaf\xdb\x5d\x7d\xba\xa0\xff\x14\x42\xea\x4b\xb9\x76\x4b\x14\x58\x9a\x40\x0f\xfe\xb7\x39\xf8\x9f\x2d\xfd\xe3\x69\x0f\xa0\x3a\x95\x00\xd4\x89\xc2\x7b\x5b\x15\x09\xad\xc7\x65\x5d\xda\x5d\x69\x77\x3a\xe5\xd8\x95\xbe\xd0\xbc\xe4\x7c\x47\xf7\xaf\x9e\xcc\x72\x02\x59\xcb\xbb\x84\x80\x95\xe6\x6f\x5c\x57\xd0\x26\x89\x91\x81\xce\x30\xd0\xe4\x76\xed\xbc\xdb\x2e\xc3\x82\x30\x35\x66\xb7\x7a\x14\xe6\x8b\x22\x0c\xc8\x05\x81\xb9\x72\x11\x50\x54\x7a\x86\xb0\xfd\x0a\x16\xbd\xed\xf2\x94\x13\xf3\x12\x18\x1d\x5e\x10\xe1\xe1\x07\xf3\x8e\x01\xdc\xb0\x80\x53\x7a\xaa\x74\x56\x18\x68\xb4\x6a\x10\x2d\x28\xe0\x5d\xc4\x44\xda\x0b\x89\x2a\x0b\x68\xe2\x15\xab\x9c\x38\x80\x74\xf8\xcc\xf3\xaf\x26\x86\xed\x4c\x40\xcc\x99\x4d\xe5\x98\x05\x7d\xac\xc0\xd3\x35\x66\x98\x2d\x95\x44\xd8\x67\x1a\x7b\xaf\x2b\xfc\xd3\xec\x10\x17\x74\x4e\x59\x50\xd5\xcc\x4e\x2f\xc5\x19\xf8\x16\xcc\x19\xe4\x33\x7f\xa7\xdd\xdb\x14\x97\x63\x18\xf1\xff\xfd\xef\xff\x39\xa6\x6d\xae\x37\x39\xb1\x2b\x70\x08\x3b\xb9\xd9\xb6\x84\x3b\x1f\x40\xd8\xb4\x40\xa3\x04\xd6\x0a\x59\x4a\xdb\x29\x7e\xb5\x97\x9b\x26\x1a\xae\x16\x26\xd6\xa0\x4c\xee\xe0\x98\x13\xf9\x8a\xb3\x61\xae\x98\xb7\x5d\x4b\x2a\x21\x35\x45\x8f\xc4\x9c\x64\x6f\xfa\xa1\x4c\x11\x66\xab\xa1\xd5\x0c\x70\x63\x56\x7c\x22\x0d\x18\x8f\xc1\x5f\x36\x3f\x14\xab\xd3\x71\x61\x56\xf1\xfe\x22\x4c\xa7\x88\xc5\x08\x42\xe1\x5d\x7d\x1b\x13\xc2\xac\xdb\xaf\xdc\xb4\x15\xce\x1d\x00\x91\xee\x12\x32\xbc\xc0\xf2\xe5\xe2\xc2\x1a\xeb\xb2\x19\x3f\x49\x28\x3c\xac\x8b\x10\x33\x83\x34\xa9\xc6\x7a\x43\x72\x49\x84\xe1\x74\x1e\x8b\xcd\x52\x42\x08\xb3\x0a\x01\xc2\x6b\x1c\xdd\x24\xc5\x74\xa3\x64\x16\xfd\x7e\x33\x08\x6c\xc9\x8d\x84\xe7\x44\x4c\xe2\x5c\xd5\x8e\xc5\xaa\x04\x13\xfd\xd1\x79\xae\x96\xeb\xdb\x97\x09\xae\xd7\xa5\x5a\x05\xbc\xab\xdf\x6f\x69\x76\xbd\xc4\x1c\xc4\x97\x95\xa5\xe6\x16\x58\x5b\x52\x81\xb5\xb5\x01\xcf\x25\xe3\x17\xdc\xc0\x4c\x01\x9e\x63\xa1\x49\xd9\x2b\xda\x80\xef\xc3\xc8\xd1\x34\x2f\x8c\x85\xbe\x9c\x89\x56\x89\x3f\x9a\x7a\x40\xa0\x93\x9b\x01\x44\x90\x6d\x46\xbe\x64\x5c\x92\x52\xfa\x63\x43\x89\x12\x9b\xbe\x6c\x87\xd1\x2c\xac\x17\x1f\xed\x2e\xab\xbf\x39\x40\x71\x7d\xc3\xeb\x53\x6e\xa6\xc0\x9d\xc4\xc1\x88\x66\x54\xd3\xce\xa4\xf1\xa4\xbd\x5c\x99\xec\x22\xa0\x10\x40\xd8\x54\xb2\x1c\x20\x3f\xbd\x0a\x41\x24\xe4\x89\x80\xa3\x04\xc6\x18\x16\xa2\x29\x5b\x6c\x5b\xd8\xc9\xba\x03\x54\xe4\x1e\x03\x5b\x40\x71\x75\x04\xe5\x0c\xcd\x26\x5a\x2c\xe7\x9e\xed\x9c\x26\xd9\x14\x15\xb5\x81\x78\x3e\x0c\x0b\xf2\x2c\x89\x42\xe4\x8b\x22\xb6\x64\xef\xbd\x4b\x64\xad\xe7\xbe\xa0\xe6\x5c\xbc\x76\xd9\xf1\xc5\x8b\xa7\x0f\x1d\x7c\x81\xcb\xd4\x8d\xdd\x95\x6f\x33\x57\x17\x98\xc5\x36\x1d\xdb\x2a\x19\x5a\xd8\x82\xd9\x19\x6b\x9b\x4f\x54\xb1\x49\xc5\x41\x25\x03\xd3\xa6\x29\xb9\x00\x17\x99\x53\x18\xb5\xca\x02\xb1\x3d\x5c\x68\xc9\x3d\x67\x8a\x26\x9a\x38\xec\x18\x24\x9a\x41\x58\xa6\x45\xc9\x84\xb4\x8a\x36\x20\x46\x2a\x25\x65\xf3\x89\x5d\x49\x97\x59\xdc\xed\x62\x28\xd3\xd4\x67\xd3\x94\xf9\xf1\x07\xd7\xd0\x6a\x77\x89\x21\x6b\x00\xc9\x73\x39\xcd\xa0\x71\x30\xee\x26\x63\xd1\x0d\x5d\x2a\xf4\x84\xc6\x66\x29\xa8\xa9\x0c\x0f\x13\xdd\xc4\xa3\x02\x32\x5d\x1d\x44\xa4\xb8\x42\xa4\xcd\x53\x36\xd9\x87\x90\x26\xa2\x5a\x12\xb1\x65\x6b\x02\xf6\x05\xf3\x22\x9a\xad\x4b\xe7\x61\x26\x2a\xb9\xdc\xd8\x75\x67\x73\x61\x70\x92\x4c\x71\xf4\xe8\xb5\x30\x6f\x8b\xe0\xc2\xd5\xf5\xd0\x72\x25\x14\x2e\x34\xc4\xa5\x07\x1a\x81\x74\x13\xfa\x81\x0d\x8c\x94\x1d\x76\xd1\xb9\x59\x35\x8b\xcf\x67\x70\xc3\xcc\xe8\x4d\x62\x4d\x4c\xb2\x84\x2f\xd3\x96\xfb\xac\x9a\xbf\xba\x4b\x98\x58\x5b\xfa\xec\x5e\xaf\xb2\x0a\xd3\xdb\xf8\x32\xab\x25\xc3\xed\x01\xd4\x6c\x03\x2e\xf9\x29\xe1\x53\x30\xa9\x5a\xf3\x83\x4b\xf0\x0a\xf2\x8c\xaa\xe7\x79\xd3\xb4\xb3\xea\x89\xa4\x32\x4b\xb4\x32\xd3\xde\x83\x49\x78\x7a\xd9\x7d\x33\x00\x19\xeb\xad\x83\xdd\x53\x05\x1a\x3f\x7f\x09\xf8\xec\x4b\x27\x09\x98\x77\x0d\xff\xaa\x58\xd9\x4c\xa6\xe9\xb1\x09\x3f\x50\x7c\xcc\x14\x9e\xbb\xcd\xb5\xc2\x25\x7f\x66\x44\xc8\x05\xcd\x4a\x05\x4d\x77\xce\x4d\xb0\x14\x6d\xff\x63\x22\xf1\x37\xe0\x9d\x3c\x3b\x32\xf0\x38\x9a\x3e\x64\x86\xa3\xc2\x2a\x1a\x25\x58\x4a\x3a\x5b\x06\xa8\x36\x3e\xcc\x1b\x72\x07\xcb\x66\x84\xa0\x86\x60\x13\xa3\x31\xe3\xdb\x0f\xac\xc3\xee\x29\xad\x0f\xe5\xe3\x47\xe3\x10\x3e\x50\xdf\x27\x75\x08\x23\x77\x53\x5b\x28\xa3\x56\x18\x64\x83\x5f\xb1\x1d\x0c\xc3\x4a\xe4\xa9\x76\x33\x42\x21\x4c\xda\x61\x5b\x45\xc6\xa3\xcd\x84\x48\x4c\xaa\x94\xc7\x0b\x9b\xaf\x15\x27\x67\x17\xd6\xc4\xe9\x91\x6a\x00\xd0\xa3\xf8\x78\x80\xe4\x4e\x08\x6f\x5d\xe8\xe2\x9c\x24\x64\x2f\xe1\xfe\x5b\x10\x49\x35\x50\x25\x20\x8f\x95\xa4\x51\xd4\x01\x59\x6f\x5c\xd8\x22\x0b\xa1\x05\x27\xaa\x79\xe8\xbf\x98\x81\xda\x44\x84\xa6\x5d\x04\xc3\x20\xac\x72\x57\xdd\xa5\x09\x70\xd2\xb4\x60\x49\xae\xe8\xa6\x44\x57\x45\xa7\x5e\x5e\x39\x44\x52\x7b\xe3\x78\xfd\xda\xb8\x3e\x91\x2e\x81\x3b\x6b\x0f\xc0\x56\x1c\xa8\xce\xa7\xbb\xd1\x85\x75\xa0\x2a\x8e\xe6\x04\x00\x81\x28\x8b\xe9\x13\x8d\x73\x9c\xbc\x2b\x9a\xd8\x5b\xb6\xd1\x9e\x56\xbf\xf9\x90\x6f\x76\x6a\xef\x88\x92\xee\x4a\xa8\x61\x78\xda\xcd\x39\xc0\x2d\x38\x8c\x63\x69\x04\xd7\xaf\x5e\x6e\xd9\x19\xa1\xc3\x8e\xcc\xe2\x54\xfc\x8a\x04\x2a\x33\xc7\xd8\x7e\xe1\x31\x29\x4a\x68\x6c\xb8\x84\x60\x69\xd6\xe8\xed\xb9\x5e\x95\xb4\xbf\x76\xd1\x6b\x73\x1a\xaf\x8e\xaa\xa0\xee\x5e\x1e\xdc\x4c\x1e\x74\x08\xaf\x07\x78\xf9\xb7\x1d\x83\xc3\xbc\x7f\x0e\x40\x38\xac\x5d\x89\xfb\x13\x11\xdf\x11\x99\x1c\x84\xa4\x58\xdb\x8a\xd7\x92\x17\x8f\x1c\xc4\x56\x01\x58\x75\xb8\x5b\x74\x18\x27\xf9\xd6\xba\x81\x5e\xee\x82\x5d\x4f\x2f\x7b\xa1\x0f\x40\x9b\xc5\x90\x94\x9f\xdb\xf2\x35\x70\x78\x83\x58\xba\x9a\xef\x61\x4d\x94\xa2\x1d\x5e\xa7\xf8\xc4\xda\x72\xbe\xc4\xf6\xda\xf4\xc6\xce\x9b\xfb\x92\xa4\xb6\xe9\x58\xf6\xa1\xa3\xbc\xb0\x17\xc7\x52\x63\xf0\x41\x1f\x2c\xdc\xed\x16\x6d\xc0\x75\x72\x5b\xb6\xcf\x43\xd6\x54\x73\x70\x77\x0c\x09\x97\xbd\x39\xc9\x04\x99\xd1\x2f\x5b\x89\xe2\x37\xf0\xa9\x55\x2f\xf5\x32\x57\xaa\x18\x82\x7b\x06\xaa\x1e\x06\x01\x8d\x76\xa5\x6d\xa5\xb3\x31\x2b\x72\x5e\x6d\xc2\xeb\x23\x59\x22\x2e\x4a\x3f\x6d\x8b\x40\xba\xff\x8a\x8b\x66\x5f\x17\x4a\x65\xf2\xf4\xe4\x64\x4e\xd5\x22\x9f\x1e\x47\x3c\x35\x71\xf8\x5c\xcc\xcd\x1f\x27\x54\xca\x9c\xc8\x93\xdf\xff\xee\x77\xc5\x16\x4f\x71\xf4\x38\x37\x98\x4e\x75\xbf\x53\x79\xcb\x09\x96\xbb\x45\xf6\xb8\xe4\xc4\x17\x4e\x52\x0f\xba\x71\x69\xc1\xfa\x1b\xa9\x70\x9a\x85\xa1\xa0\xa6\x66\xa1\x54\xb8\xa8\x94\x02\x19\xa7\x7a\x9a\x68\x81\xb3\x8c\xb0\x76\xb3\x83\x49\x21\xde\x81\xf5\xb8\x24\x64\x3b\x42\xf2\x25\x4b\x30\x2b\x63\x7f\x40\xd9\x2f\x41\x22\xc2\x94\x05\x7d\x28\x6a\xbd\x03\x35\x1a\xfc\x29\xc3\xff\x37\x4b\x32\x85\x39\x52\x59\xd4\xf3\x73\xc3\xb1\xb5\x75\x5d\xc5\x55\x1c\x2c\x5d\xb5\x9e\x71\xb1\x76\xc4\xad\xda\xaa\xf4\xd3\xbb\x7a\xed\xff\xcd\xeb\x29\x09\xce\x26\xe4\x8b\x66\x72\x72\x5b\xb4\xb8\x07\x49\x24\x1a\xfe\x72\x87\xe4\x92\x29\xfc\xe5\x14\x7d\xa6\x0c\x04\xd8\x1f\x79\x2e\x24\x3a\xc7\xcb\x23\x3e\x3b\x4a\x39\x53\x0b\xf4\x19\xfe\xd7\xfe\xf4\x4c\xc8\x23\xfa\x0b\xc1\xc2\xf2\x07\x5b\x0f\xd1\x95\x64\x03\x12\x12\x39\x93\x88\x3c\xe9\x13\xfa\xbb\xff\x44\xa9\x69\xf9\x14\x7d\x7f\xf2\xbb\xff\x44\xbf\x81\xff\xff\xff\xa2\xdf\xb4\x68\xfa\x9b\xe1\xcd\x41\xd9\xec\xdb\xb2\x3b\x77\x50\x59\x29\x59\x5f\xf2\x75\xcd\x9e\x09\x5e\xec\x54\x63\xcb\x8f\x34\x7a\xe4\xb3\xd9\x44\x13\x86\x2d\x0b\x8e\x45\x0d\xab\x7c\x4b\xf0\x5e\x6a\x8b\xc3\x9b\x32\x8a\x45\x01\x23\xdb\xa9\xc1\xf2\x70\xec\x5a\xe6\x45\xd9\x67\x08\x22\x2a\x95\xd2\xa6\x12\xbe\x22\xb1\xe6\xaa\x9b\x9c\x0e\x67\xdd\x73\x69\xfd\xce\x82\x13\xc2\xf3\x38\x81\xb8\x14\xf8\x17\x46\xb1\x9a\x40\x1f\xbb\x90\x8d\xc7\xa1\x16\x5e\xfb\xd5\xc4\x4c\xc2\xd4\xde\x2a\x5e\x52\xd6\x3a\x5f\x1f\x2a\x79\xc7\xc5\x4e\xfa\xd6\x23\x69\x4d\x65\x58\x53\xac\xcb\x15\x90\xc6\xa1\x51\x43\x71\x24\xb9\xf0\x20\xda\xc6\x2e\x62\x4b\x7a\xae\xb7\x62\x52\x61\x82\xcb\xba\x1d\x7a\x3d\xf5\x73\xff\xc9\xba\x61\x42\xa4\x99\x7b\xbb\x28\x56\x08\xa3\xd5\x22\x92\x66\x89\x0d\x23\x6e\x40\xda\x5c\xb7\xa1\x77\x1e\xb9\x04\x1a\x87\xb0\x47\xc8\xdf\x60\x4e\xb2\xb5\xd0\x10\xcd\xfb\x99\x8b\x88\x9c\xf1\xdd\xc2\x5e\x13\xca\x6a\xf1\xf2\xdd\xeb\x60\xf9\xd5\xbb\xb4\x15\xcf\x1c\x18\x35\x8f\x0b\x65\xc1\xb8\x05\x6c\x09\x94\x00\x05\xb7\x3c\x1b\x40\x53\xdc\x07\xd0\x6a\xad\x30\xc7\x0e\x5c\xdb\x18\x8e\x0b\x86\xe7\xea\xba\x54\xca\xb9\x08\xac\x79\xe1\x8a\xd8\x35\x08\x2a\xda\x79\x1c\x41\x89\xa2\x22\x52\xa9\x54\x75\x17\x46\x02\x79\x6f\x5b\x02\xe5\x9a\x6a\x61\x03\x24\x30\x04\x65\xaa\x85\x6e\x4f\x12\x71\x34\xc3\x11\x65\xf3\x41\x80\x91\x0a\x60\x20\xe1\x75\xd0\x44\xa4\xf7\x58\x3e\xee\x37\xd0\x70\xe7\xea\xa9\x34\x2e\x2a\xf8\x59\xc8\x20\xe3\xd8\xa0\x35\x80\x48\x85\xe5\x63\x1b\x66\x56\x0d\x53\x70\xc5\xe8\xfc\x52\x38\x24\xc2\x55\xe3\x73\x29\xe8\x24\xd4\xa7\xa0\x60\x88\xab\xe7\x6d\x11\x46\x5d\xc6\x1f\xf6\xf8\x3a\x55\x68\xdd\x15\xe3\x97\x0b\x2e\xd4\x64\x4b\x50\xe2\x6a\x1a\x3d\x23\x47\x09\x40\xf5\xf0\x27\x22\x9e\x28\x79\x2e\x63\xfb\x6e\x42\x8b\xc6\x68\x16\x44\xd5\x01\xf8\x6b\x9a\x71\x48\xa1\x99\xa1\x14\xb3\xa5\x61\x94\x9a\xb9\x60\xf9\x28\x7d\x15\x61\x24\x53\x9c\x24\x03\x24\x48\x2e\x4d\x75\x6d\x49\x92\xd9\x91\xab\xc3\x12\xa3\x84\xcf\x69\x84\x13\x34\x4d\x78\xf4\x28\x4d\x86\x1b\x9b\x1b\x26\x95\x09\x1e\x11\x29\x03\xc9\xaa\xc8\x66\xb7\x39\x86\x50\x42\x58\x11\x91\x52\x46\xa5\xa2\x91\x13\x99\x0a\xb8\x11\x53\xc8\x3e\xc2\x60\x12\x86\x8c\x4d\x18\xae\x96\xf4\x88\x41\x86\xcd\x99\xad\xd8\x05\xd7\xb5\x05\x7c\x74\x41\xe2\x6d\x07\x68\x0f\xf8\x95\x8e\x42\x26\xaa\x7c\x20\xd7\x1c\xa9\x33\xfb\x19\x1c\xe3\x55\x24\x70\x5b\x3e\x51\x9e\x20\xfd\x49\x2b\x01\x56\x41\x4c\xb9\x0f\x81\x2f\x49\x2e\x3e\x32\xfc\xc0\xb0\xea\x60\xc8\x2d\x08\x75\xeb\x68\x5a\xaf\x22\x88\x3c\x50\x24\xae\xea\x35\xa7\x2c\x4a\xf2\xd8\x97\x09\xd5\x22\xc0\x93\x26\x12\xb7\x3c\x7a\xed\xb5\xa0\x30\x40\x58\xa2\x67\x92\x24\xfa\xbf\x26\x02\xfe\xc8\x57\xed\xd0\x2c\xd9\x54\x56\x81\x4e\x1c\x97\x6e\xa3\xa8\x83\x83\x46\xbd\xc1\x6a\x61\x72\xfe\x53\xae\x4c\x85\x56\x03\x8d\xea\xec\x5b\x06\xc0\x72\x9a\xf0\x29\x9c\x74\x40\x4d\x75\x79\xae\x41\x5a\x5d\x1e\x45\x84\xc4\x24\x46\xdf\x06\x07\xd7\xe3\x51\x7c\xd7\x8c\xe1\x59\x5a\x91\x03\x40\x4c\xad\x1a\xd6\x5a\x71\x53\xcb\x45\x06\x8f\xd1\x4d\x05\x98\x25\x58\x99\x19\xae\x02\xb0\x0d\x6a\x5b\xf8\x36\x28\xab\x95\x49\xbc\xdc\x0e\xbd\x2d\xca\x6a\x65\x9a\x7b\x41\x59\x2d\x2d\xcb\x1e\x50\x56\x3b\x8d\x31\xe1\xf3\x17\x4d\x8b\xd6\x93\xba\xe4\xdd\x73\xd5\x0c\x3a\x9d\xb9\xde\x4b\xa7\xc4\xf1\x8c\x65\xd3\x59\x39\x2c\x04\xd9\x4a\xb5\xd0\xb7\x45\x90\xad\x0c\xe6\x90\x11\x64\x2b\x43\x3d\x5c\x04\xd9\x86\x81\x76\x40\x90\x35\xf1\x07\x13\x4d\xd4\xdd\x98\x02\xe4\xde\x4c\xf3\xd9\x1d\x64\xa3\xaf\x1c\xe3\x99\x89\x6d\x30\x37\xad\x13\x23\x2c\xe6\x3b\x8c\xd6\xa6\x69\xb6\x45\x6c\x55\xfc\x24\x9b\xd2\x9e\x77\x10\x1a\x7c\x8a\x4d\x3d\x03\x83\xd0\x20\x0f\xa6\xd2\x08\x67\x36\xed\xbd\xad\x14\xd3\xe1\x24\xf8\x6e\x07\xce\x0b\x00\x98\x25\x96\xdf\x09\xe4\xec\x73\xa5\xaa\xc9\x82\x3f\xdb\xca\x62\x40\x86\x86\x28\x5b\x49\x10\x3a\x9d\x58\xbd\xb2\x6d\xe5\x28\x53\x64\x5e\x55\xbb\x8b\x43\x43\x99\xfa\xc3\xef\xd7\x72\x22\x83\xef\xe9\x34\xd8\xa0\xb6\x88\xf7\xc7\xd8\x67\x24\x46\xd1\x42\x2b\x6e\x52\x6b\x58\x7a\x3a\xe6\xf2\x97\x28\xc5\xd4\xe9\x7a\xb9\x34\xde\x2f\x2a\xc7\xac\x04\x88\x7b\x8c\x3e\x42\xc1\x64\x9c\x66\x5a\x45\xf4\xf3\xa3\x9a\x92\xc6\xf9\xf7\xdf\xff\x81\xa0\xef\x51\x4a\x30\x2b\xa9\xd9\xa0\xd9\xe9\xab\x0f\xe0\x05\xd5\x82\x8c\x59\xe3\x56\xa0\xd1\x17\x53\x83\xcd\x85\x24\x5e\xb0\x19\x77\x6a\x3b\x14\x02\xc5\xd1\x02\xc9\x7c\x6a\x2a\x59\x07\x66\x16\x27\xeb\x5f\xf2\x39\xf8\xd2\xe1\x46\x76\x83\x5e\x75\x0a\x5f\x36\x4c\xc1\x7a\x44\xbb\xde\xc6\x43\xb8\x47\x8e\x24\x29\xc1\x4f\x35\xf8\xf5\x0c\xe7\x0b\x0f\xbe\x34\xd0\x34\x03\xe3\xe6\xd0\x2a\x24\xb6\xce\x07\x2d\xee\x43\xc4\x31\x38\xf2\xf2\x04\x0b\x7b\xf4\xc7\x4c\xeb\x42\x82\x3c\x51\x9e\xcb\x64\x89\x62\xce\xc8\x00\x28\x21\x8f\x16\xc6\xf7\xab\xd5\x2a\x6c\x0b\xba\x3c\x51\x99\x6b\x9d\x1b\xda\x72\xf5\x63\xa4\xc2\x06\x36\x6b\x41\xa1\x9f\x08\x27\x88\xc0\x57\x61\x22\x1f\xea\xa6\xe8\x85\x98\xc5\x15\x9e\xdf\x11\xb3\xb8\x44\x55\x3d\x66\xb1\xc7\x2c\xae\xaf\xcb\x21\x62\x16\x57\xf6\xbc\x1b\x66\x71\xd3\x96\x6f\x81\x59\x5c\x6a\xe6\xab\xc1\x2c\xae\xac\xe8\x57\x83\x59\x5c\x99\x57\x8f\x59\xdc\x63\x16\xf7\x98\xc5\xef\x05\xb3\x78\x47\x54\xde\xe6\x5b\xd6\x80\x7b\x29\xca\x96\x1b\xb3\x8f\x6f\x24\xba\xb8\xd6\x84\x15\x3d\x96\x23\x2a\xbd\x20\xb2\x3b\x12\x70\xf3\xf5\xb2\x19\x12\x70\xa3\x11\xa6\xfd\x12\xdb\x15\x5d\x0c\x54\xbe\x57\x46\x02\x2e\x4d\xa0\x0f\xee\xdd\x3c\xb8\xb7\x91\xf8\x6c\xdf\x7a\x78\x2e\xe2\xb7\x2a\x6a\x75\xc4\x02\x2e\xed\x4f\xa7\x30\x60\x50\xca\xf6\x40\x89\x2f\xab\xa7\xdd\x97\x0e\xf9\x5a\x2d\x2d\x5c\x45\x69\x51\xc9\xb5\xec\xee\xa0\x0a\x8d\x79\x25\x0c\x3e\xe9\x29\x77\x8b\xb0\xf4\xca\xf2\x7a\xa7\x9e\xa1\xc5\x0e\xa4\xda\x99\x42\x9d\xbd\x61\x3f\x59\xda\x2e\x73\x77\xc3\xf8\x06\x37\x88\xbb\x8c\x44\x2d\xde\x03\x9a\xd2\x7d\x35\xbb\xee\x22\xf3\x40\x6c\x60\x6a\xa9\x25\x25\xeb\xeb\xc9\x0c\xc7\x68\x6f\x95\x5c\x6c\x40\x89\x31\x5f\xce\xa9\x54\xa2\x35\xb0\xae\x36\xc2\x5d\xfc\xf4\x59\xde\x39\x1a\x2b\x58\xd5\xf9\x76\x9f\xa5\x24\xe5\x62\x5d\x54\x5f\xe3\x97\xb6\x82\xd6\x36\x9f\x92\x6c\x41\x52\x2d\xc9\x4c\x36\x6d\xa4\xeb\x7e\xfb\x8c\x75\x9b\x38\x69\xa2\x6c\x4b\x44\x10\x78\xe1\xf5\xbb\xb1\x81\x43\xed\xbc\xdd\xbb\x6e\xb3\x05\x6c\xdd\xd0\xd5\xe7\x90\xbc\x57\x9b\x52\xed\x4b\xa5\x58\x0b\xa0\xef\xc6\x80\x22\x1f\xcf\xb5\x3e\x64\x68\x45\xb0\xd0\x2a\xd0\xb3\xe2\x2b\x5b\x02\x7f\x83\x38\x92\x72\x68\x88\xe6\x84\x61\xfd\xf3\xcd\xa3\x8b\x5a\x20\x7b\xeb\xcb\x03\x61\x61\x92\x88\xa3\x50\x33\x28\x0d\xa6\xbe\x5e\x25\x2a\x71\xb6\x82\x1d\x88\x24\x17\xad\x21\xce\x5d\x5c\x15\x91\xca\x71\x02\x9a\x44\x58\xb7\xb7\xba\xa9\xd3\x65\x43\xce\x6d\x37\x5f\x18\x65\xea\x8f\xff\xb1\xd1\x6e\x6a\xd5\xca\xae\x1b\x14\xf2\xc3\x51\x44\xa4\xf1\x9e\xd8\x10\x78\x3c\xe5\x4f\x50\xc3\x6f\x97\x5d\xd5\x47\x59\xcf\x5b\x33\x78\x8f\x83\x1d\x17\xa4\x6e\xc4\x85\x85\xe0\xf9\x7c\xe1\xac\x83\xfa\xcc\xe8\xa9\x35\xed\xe5\xcf\x35\xef\xc7\xc6\x7b\xf9\x43\x4e\x93\xed\x6c\xaf\x77\xa5\xea\x86\x9f\x2e\xee\x91\x5c\xf8\xd3\x3a\x85\x66\x1b\x37\xb6\x3e\xe8\xee\x7d\xda\x6f\xbd\x27\x0e\xba\x19\x38\xec\xd7\x19\x4f\x12\xf0\x21\x49\x92\x3e\x11\xd1\xdc\x3d\x4c\xf8\x9e\x6e\x06\xdb\xe8\x07\x00\x5f\x17\x59\x39\x9d\xe4\xaf\x1b\x23\x1a\x4a\xe4\x46\x5f\x8d\x98\x31\x71\x92\x9c\x11\xd6\x64\x3d\xfd\xa5\x5e\x7e\xe8\x9d\x45\xab\xba\xd0\xc5\xbd\x45\xac\xba\x25\x79\xe5\xa8\xd5\x35\xf3\x38\xd4\xc8\xd5\x0a\xb3\xf3\x81\xa4\xc5\x35\xe3\xa2\xd6\x8c\xe2\x33\xd4\x4b\x3c\x66\xc3\x52\x32\x8f\x8d\x5e\x40\xd3\x65\x91\x0d\x60\x74\x88\x90\x99\x41\x91\x17\x6b\x58\x01\x07\xa9\xfe\x0b\x34\x1d\x83\x9c\x6c\xe2\x59\x5d\xcc\x2a\xa4\x32\x90\xf8\x08\x47\xcb\x28\xa1\x51\xa0\x33\xcf\x05\xce\x16\x4d\x1c\xcf\xed\x7c\x0f\xf9\xf4\x56\x90\x4f\x6d\xd5\xd0\x36\x49\x1a\x70\x74\xc5\x70\x4a\x7a\x28\xaa\x26\x28\xaa\x81\x07\x5b\x61\x45\x5d\xb7\x37\xc4\xf0\xa8\x9f\xbb\x1e\x8f\xea\x0d\xf0\xa8\xb6\x39\x7c\x05\xd8\x54\xe9\xd8\xf5\x18\x59\x1f\x3a\x61\x64\xf9\x4b\xf0\xa0\x60\x8f\xda\xcf\xe3\x1b\xc3\xe9\xd4\x07\xf6\x96\x98\x58\x0d\xe2\xc2\x26\x72\xd3\x2a\x50\xac\x55\x74\xd1\x69\x5d\xde\x16\xa2\x6a\xb3\x95\xd9\x08\x7d\xaa\xf1\xee\x3a\x10\x2c\xaa\xf6\x6d\x38\x90\x73\xb3\xcf\x94\xaa\xcd\x0a\xd7\x86\x69\x55\x9b\x28\x58\x9b\x65\x58\x79\x7a\x78\x5f\x59\x56\x45\x85\xbf\xed\x32\xad\x86\xce\x07\x4d\x04\x5a\xf0\x24\x76\x08\x28\x7e\xb5\x7c\x07\x3e\x3f\xc3\x2f\x90\xdb\x8c\xbb\x8c\x44\x46\xdb\x2a\xaa\xd1\xad\xca\xa7\xf2\x9b\x08\xc3\xdd\x03\xa3\xd9\x87\x15\xc1\x73\x92\x6d\xec\x07\x6b\x65\x11\x59\x36\x7f\xaf\x18\x63\x69\x85\xc0\x6a\xde\x3c\xcc\xb5\x76\xdf\x35\x83\x5b\x25\x7a\x04\xc6\x41\xd1\x54\x67\xd6\xd0\x19\x3c\x7d\xa2\xce\x10\x81\xc3\x1e\x57\x7a\xe9\xdc\xec\x3a\x79\xea\xaa\xc4\xb2\x45\x98\x5f\xad\x6c\xe0\xee\xc8\x54\x29\xfe\x32\xc9\xb0\xc0\x49\x42\x12\x2a\xd3\x17\x0b\xf3\x3e\x2b\xbb\x6b\xf5\x59\x15\xdc\x98\x88\x58\x9e\x4e\x0d\x29\xba\x81\xd8\x4a\x93\x8a\x23\x91\xb3\x10\x57\xcf\x6f\x8c\xaf\x64\x99\xc3\xbd\x00\x56\xa5\x68\x01\x25\x83\x67\x98\x0a\x46\x64\x6b\x81\x56\x12\xe5\x82\xaa\xe5\xc4\xd6\xbb\xed\x7e\xe0\xee\xec\x97\x67\xf6\xc3\xd5\x1e\x6e\x07\x29\xe1\xfa\xf3\xf5\x75\x33\x22\xa0\x46\x95\xab\xb6\x14\xd4\xf4\xb5\x90\x21\xc4\x17\xba\x82\xc0\xf6\xda\xb5\xdd\x16\x12\x8e\x9f\x27\x41\x7c\xd5\x24\xaa\x12\xc7\xba\xc3\xda\x04\x7a\xb6\x6a\x92\x2f\x0c\xfb\xd5\xe2\x45\x7e\x81\x12\x37\x36\x21\xc6\x34\xad\x07\x1c\xb8\x82\xc1\x5e\x59\x6c\x4c\x80\xb7\x60\x95\xaa\x96\x71\x5a\xa0\xa9\xa6\xe0\xa3\x15\x83\x1d\x06\x5f\x75\x18\x71\xd0\xc9\x9e\x86\xad\x0f\xba\x10\x79\xa6\xe8\xb4\x8e\xab\xa4\xf6\x57\xbf\x76\x98\x40\x8e\xbf\x73\x33\x94\xba\x35\x45\x6d\x4b\x9c\xd8\xce\x4e\xcb\xff\x16\xc4\xce\xc1\x53\x19\x78\xaf\x30\x89\xf4\x3a\xa5\x4a\xb9\x14\x10\x63\x80\xd6\xd4\x59\xb6\xcd\x7e\xe3\xc2\x3d\x30\x94\x19\x36\x26\xa2\xe3\x31\x1b\x4a\xf4\x4c\x10\x23\x16\xbf\xa4\xa1\x80\xb0\xb7\x6a\x43\xe1\xb1\x29\xd1\x3d\xf9\xd8\x14\x2d\x3c\x50\x25\x7d\xed\x3b\xd3\xc7\x0c\x27\x92\x0c\x74\xc3\x50\x32\x57\x71\x08\xfa\xc4\xe8\x59\xe0\x2c\x23\x62\xcc\x6c\x7e\x0e\x38\x5c\x38\x4f\x4c\xfb\x6d\x21\x94\x76\x0d\xc8\x24\xc2\xd1\xe2\x95\xf6\x08\x43\x9a\x55\xb4\x20\xb1\x4b\x56\x2f\x6f\x8f\x9b\xb7\x31\x58\x6f\xb0\x59\x17\x33\x57\xbb\x6d\x60\x3b\x49\x22\xcd\x51\x7c\x8d\xf3\x8c\x08\x3d\x6a\x4d\xc3\x4f\x84\x21\x3a\x73\xe3\xb0\xb1\x3b\xe8\x19\x3c\x53\x9a\xf4\x9f\x30\x4d\x0c\xfa\x83\xeb\xda\x09\x81\xc6\xfc\x3e\x66\xc6\xdd\xcd\xa2\x52\x7a\x34\x65\x54\x2e\x34\xa7\xce\xc1\x27\x09\x6a\x46\x5b\x4a\x14\x7b\xda\xe4\x34\x8f\xf4\xeb\xab\x39\xe8\x13\x15\x9c\xa5\x90\xfe\x64\x41\xc1\xdc\xf2\x49\xa2\xfc\xf1\x68\x4c\x5e\x5d\x2b\x11\xc7\xb1\x2c\x1b\x3f\x8d\x5a\x49\xff\x51\x32\xbb\x1c\x95\xf2\x3d\xa3\x00\xd3\x0a\x82\x38\x5d\x59\xbb\x55\xf2\x6f\x9f\xb4\x52\x4f\x5a\x69\x5e\x9b\x43\x4c\x5c\xf1\x87\x78\xd3\xe4\x95\xb6\xed\xdf\x87\x64\xbb\xc7\x24\x96\x37\xce\xf6\x78\x99\x44\x8f\xb7\xcd\xcc\x79\x89\xa4\x9c\x3e\x75\x65\xcf\xf3\xed\x53\x57\xfa\xd4\x95\xad\x53\x3e\xda\x19\xf2\x46\x69\x1f\x6b\x30\xe2\x9a\x7a\xf9\x4c\x94\xa0\x91\xdc\x07\xe7\x97\x19\xee\x18\xaf\x08\xfa\x7d\xb6\x46\x1e\xd6\x2f\x78\xf7\x32\x44\x00\xfa\xf2\xa1\x53\x41\xf0\x63\xcc\x9f\x6b\x56\x58\x19\x82\xf4\x7c\xe6\x5a\xa0\x15\x24\xa2\x92\x94\x62\x94\xa8\x44\x8c\x48\x6b\xc6\xc6\x63\xb6\xa0\x44\x60\x11\x2d\x20\x23\xb9\xd8\x18\x93\xd9\x6e\x70\xd2\x4c\x94\x4a\xe8\x47\xdc\x60\xd3\x3b\xac\x7b\xd5\x76\xe8\x61\x2f\xed\x9e\xeb\x91\xa4\xe6\x13\x2f\xa6\x5a\xf9\x31\x34\xb6\x76\xda\xfe\x5d\x53\x2c\xfc\x62\xbf\x68\x9a\x85\x0f\x13\x0b\xbe\xe8\x98\x6a\x51\x50\x43\x9f\x6e\xf1\x42\xe9\x16\x0d\x4b\xbc\x59\xca\xc5\x56\xc6\xdc\xd7\x8f\x06\x77\x3d\xbf\x46\x44\xf8\xba\x70\xbc\x7c\x3a\x79\xf1\xa3\xd7\x38\xe7\xae\x27\xf0\x17\x4f\x14\x46\xd7\x11\x9a\xce\xa6\x24\x8e\x81\xd3\x2a\x6e\x0b\xd0\x17\xb4\xe3\x0c\x3f\xfa\xee\xc5\x52\x13\x3b\x4e\x38\x9b\x4b\x1a\x1b\x80\xa4\x0c\x43\x21\xe8\xd0\x2c\x05\x80\x20\xb0\xbf\x49\x42\x84\xf3\x37\x09\xf4\xad\xa4\xcc\x82\xb4\xfa\xdf\x62\x4e\x24\xfb\x46\x19\x33\x10\x66\x4b\xf4\xc8\xf8\x73\x42\xe2\x39\xec\x50\x75\x30\x47\x88\x92\x01\xa2\xca\x7f\x26\x00\x41\x84\xe7\x6a\xac\xc7\x0e\x51\x84\x46\xb7\x23\xf6\x5b\x61\x8b\xc2\x04\x1c\x58\x7e\x77\x8c\xd0\x05\x43\x33\x1c\xa9\x01\x92\xf9\xb4\x68\x3f\xe6\xa6\x76\xfe\x13\x61\xe1\xc4\x8b\x46\xfa\x6c\x80\x86\xce\x9b\xcf\x86\xe3\x0e\x9a\x5c\x87\x09\xc5\x3b\x45\x4d\x3e\xe1\x5d\x90\x8b\x3f\xe7\xd2\x86\xd7\x20\xce\xfc\xd1\xb7\x90\x68\x1e\x7a\x1e\x60\x84\x0d\x8c\x3b\xe3\x71\xab\x15\xbb\x32\x95\x4d\xc7\x52\x84\xb8\x5a\x41\xc9\xba\x20\xa1\x5d\xb3\xdc\x5a\x6a\x92\x4a\x10\x9c\x5a\xb7\x8f\xbe\x6a\x40\xac\x31\x01\xae\x7a\xf4\x54\x18\x09\x73\x93\x2d\xbe\xa4\xec\x51\xef\x6e\x01\xb6\xcf\x01\x86\x5c\xf7\xdc\xb4\x69\x99\xbe\xf1\xc8\x19\x67\xc6\xf5\xbb\x93\xdc\x49\xe7\x0c\x27\x1b\x5a\xaf\x6a\x2b\x57\xf7\xd6\x3a\x39\xcb\x8a\x0b\x5a\x8a\x30\x66\x5c\x64\x7a\xdc\xc8\x3a\x58\x99\x6f\x28\xef\x61\x14\x93\x8c\xb0\x98\xb0\x68\x09\x24\xc2\x00\xed\x4a\x30\x9c\x20\x0c\xdf\xe1\xe4\x18\x9d\x9b\xcc\x29\x2f\xe1\xd9\x6b\x1d\x2e\xf4\x14\x33\x3a\xd3\x7a\x02\x98\xd7\xed\x28\xc7\xcc\x0c\xd3\x79\xb7\x48\x61\x37\xf7\x2b\xd6\xb4\x33\xfa\x06\xb9\xda\x11\xec\x9c\x95\xbf\x47\xab\x2f\x1c\xe8\x6d\xd5\xee\xe8\xe6\x5c\x69\x13\x99\x4f\x8f\xe0\xdf\xa5\x54\x42\x07\xae\x55\x20\x3f\x91\x84\x80\xa1\xd7\xfa\x32\xe1\x62\x6c\x03\x83\xdc\x87\x47\x76\x4d\x86\x4e\xd0\x47\x49\xa9\x49\x29\xa3\x69\x9e\x06\x6e\x59\x53\x08\x25\xb2\x96\x69\x93\x63\x93\x69\x3d\x20\x72\x35\x11\x90\xbe\x5c\xd9\x12\xcd\xe9\x13\x61\x63\x96\x71\xca\xd4\x31\xba\xe2\x8a\x04\x95\x67\x0c\xdc\x1b\xcf\x14\x4d\x0d\x88\xb2\x20\xfa\x1c\x18\xac\x7d\xc0\xaf\x5d\x60\x35\x40\x71\x0e\x47\x95\x11\xa5\x59\x87\xbe\x71\x15\xec\x0c\x44\xbe\x8b\x31\x33\x37\xdd\x0c\xd3\x24\x17\xc4\xca\xac\xd8\x64\x3c\x15\x43\x2e\x46\x66\xd1\x0b\x83\x49\xa4\x74\xbe\x50\x7a\x8b\xb4\x8c\x67\x3d\xc9\x0b\xcd\x8d\xf8\x98\x4d\x09\xc2\x28\xe3\x92\x2a\xfa\xe4\x3d\xd3\x74\x86\xb0\x94\x60\x1b\x3b\x46\xe7\x25\xcf\x0e\x95\xa0\x7a\xb7\x45\x4c\x53\x36\xb1\x5e\x85\xf6\x4c\xab\x9d\x37\xb2\xd4\x8b\x5d\x65\x3c\x95\x3c\xc9\x55\xe8\x5c\x6f\xde\xdb\xc2\xe9\xe1\xea\x81\x80\xe9\x9f\xcf\xc6\xcc\xd1\xb5\x3c\x46\x43\x89\x24\xd7\xbb\x24\xcd\x56\x46\x82\x2a\x22\xa8\x41\x5e\x23\xca\x6c\x82\x3f\xa7\xfe\x0c\xa4\x58\x3c\x6a\x11\x2a\xf4\xad\x18\xa8\xe2\x92\x6d\x6a\x6a\x24\x24\x80\xa2\x0b\xb7\x03\x9c\x3a\x88\x71\x76\xc4\xc8\x1c\xaf\xdb\x91\x31\x2b\x6d\x09\xfa\x96\xce\x0a\x85\xb4\xcd\x9b\x1c\xac\xdd\x04\x62\xda\xda\x76\xc9\x74\xdc\xb6\x49\xb3\x84\xe3\x35\x01\x01\xb3\xe2\xd0\xa3\xbf\xf1\xa9\x19\xa3\xd6\xfb\xb9\x02\x29\x50\xab\x57\x33\x2e\xc8\x02\xb3\x78\xe0\x36\xab\x3c\x36\xb8\x19\xad\x8d\xcd\x29\x63\x20\x09\x3a\x6c\x72\x62\xf0\xd3\x30\x0b\xf6\xc2\x2a\x6e\x76\x2b\x8a\x7d\xd8\xe8\xae\xf0\xad\x41\x49\x25\x63\x80\x30\x2c\x6f\x99\xd9\x23\x2e\x69\x9a\x25\x45\xb6\x5a\x60\xf5\x9e\x69\x11\xcb\xf1\x48\xfe\x04\xa6\x2b\xa7\xb5\xc1\xad\x6e\x77\x4e\xd3\x59\xc3\xc8\x3d\x23\x85\x5b\xc3\xd9\xbc\x4c\x75\xdd\x80\x85\x7d\x2b\x89\xfe\xa7\x22\x85\xda\x67\x84\xf5\x31\x73\x22\xc8\x77\xc0\x65\x6c\xb3\x81\xf1\x4c\x8b\xd0\x06\x3d\xda\xae\x1f\x8a\x4c\xf8\x42\xe9\x9c\xd8\xc3\xe0\x5e\x6d\xb8\xa8\x7e\xa0\x0c\x97\x72\xaa\xb7\x10\xfc\x92\x7c\xa3\xb4\xb9\xc0\xa1\xbb\x6c\x2b\x95\xa4\xf0\xba\xea\x45\x1b\x50\x82\xd9\x67\x82\x74\x77\x96\x9a\x5d\x21\x2d\x0c\xb1\x1e\x0b\x92\x64\x28\xa6\x33\x30\x4b\x29\x60\xdf\x1e\x0c\xd0\x94\x98\xd0\x87\x3d\xcd\x99\x01\x76\x34\xbe\xae\x67\x0b\xe3\x6f\xaf\xc6\xa2\xf1\xe3\x31\xbb\x50\xdf\x48\x2d\xa2\x73\x36\xd7\x17\x4d\xfc\x44\x65\x51\x3b\x29\xe2\x4c\xe6\x29\x11\xb6\x0b\x7d\x23\x6b\x8a\xb4\x75\x47\xb0\x93\xa1\xf4\xd8\xf4\xde\x3f\xe1\x84\xc6\xae\xbe\x97\xfe\xd1\x9c\x39\x3d\x4a\xe9\x7c\xc5\x0d\xc1\x7e\x76\x73\x63\xbd\x56\x6f\x26\xd6\xff\x1c\x4a\xee\x28\x2d\x84\x7c\x6c\xbd\x30\x27\x55\x11\xdf\xae\xfa\x0a\xf1\x7e\x5a\x9b\x14\x5a\x2d\x18\xd9\x55\x58\x6b\xd0\x76\x40\xdd\xb9\x09\xee\xd6\xfd\x38\xa3\x8f\x19\xdc\x46\xec\xa7\x32\x41\x3b\x6a\xc3\x59\x42\xf1\x9e\x50\x90\x0d\xa4\xc2\x5a\xbc\x30\xd7\x01\x17\x56\xc3\xb1\x77\x4e\xfb\xd6\x9e\xef\x58\x7d\x46\x46\x38\xa9\xef\xf0\x0a\x7b\xb3\x79\x7f\xb5\x12\x60\x8f\x9b\x69\x7b\x65\x3a\x77\xc4\x93\x64\x93\xca\x48\x95\x99\x9f\x15\x9f\xaf\x1e\x51\xd1\x8f\xde\x00\xb7\x17\x70\x6a\xcc\xe5\x8d\x13\x6b\x4a\x91\xca\xee\x52\xf8\x92\x51\xc3\x96\x96\xb5\x8e\x19\x9f\x41\xed\xac\xa4\x2d\x5e\x2f\x13\x3c\xa5\x9b\x20\xa3\x1b\x5f\xca\xad\xb3\x8b\xaf\xb1\x32\x38\xeb\x39\x88\xa6\x86\xbc\x6c\x8f\x90\x89\x89\xad\xb8\xb9\xe2\x0c\xa5\x38\xdb\x6a\xc1\xd7\xf9\xf0\x86\x28\x35\xce\x56\xbb\x7a\x80\x91\x4a\xa0\x0c\x15\x2c\xf2\x33\x5e\x16\x49\xef\x6d\x98\xd7\x6c\x23\x72\x78\xd0\xaf\x5f\xb0\x19\xdf\xe0\x70\x16\x49\xea\xf6\xf4\x61\x47\xb3\xc1\xf9\xf3\x5e\x0a\xb3\xfb\x66\x4d\xbb\x9c\xc7\xb3\x26\xa2\xde\xf8\x64\xba\x15\x7c\x49\x1b\x65\xc8\x44\x42\xf3\xe4\x26\x77\x6b\xf9\x68\x05\x2d\x22\x18\xce\xea\xa5\xfa\x5c\xa2\xc3\xbd\xaf\x51\xa5\x1d\x64\x4c\xe1\x2e\x4c\xfe\xa6\xb9\xd5\x57\x58\x33\x7b\x48\x3a\x2d\xd6\x8e\xa8\x1c\x9b\x61\x77\xbb\x1e\x3d\x52\x77\xf3\x09\x5d\x5b\x3b\xa5\xfb\x62\x00\x37\x93\xd6\xce\x55\xc4\xdc\xda\xe4\xc3\x19\x4d\xb4\x88\x7d\xd1\x60\xe0\x74\xa9\x7f\x3e\x54\xce\x24\x41\x38\xe9\x29\x17\x34\xa8\x37\xec\x64\x24\x44\xa1\xee\x51\xe8\xe4\x09\x14\x7a\x30\x2d\x2e\xf8\xb3\xc9\x3b\x10\x54\xf3\x2c\x23\xac\x2a\x30\xf7\x68\x5e\x40\xad\xb5\xc4\x18\x9b\xfc\x07\xdc\x44\x83\x62\x5b\x52\xbd\x18\x55\xcb\x96\xee\xa3\x72\x5c\xf7\xcc\x4a\xd7\xeb\xbd\xfe\xa2\xbe\x37\x8d\x23\xbc\x2f\xb7\xbe\xf1\xe8\xbc\x94\xbf\x79\x28\xdc\x47\xf8\xd4\x29\x3d\x18\xcd\x04\x01\x07\x7f\xea\xd1\x52\x0c\x10\x36\xe7\x70\xdf\xdd\x9d\xff\x74\xf2\x70\x81\x88\x8a\x50\x42\x1f\xc9\x98\x45\xf2\x69\xa0\xc5\xe3\xbf\xe7\x44\xe9\x9f\x5b\x3c\x02\x34\x25\x4c\x02\x27\xa0\xaa\x86\x2a\xd5\xbc\x90\x6e\x61\xf4\x7f\xcf\xcb\xdf\xaf\x20\xf9\x5a\x62\x38\xd0\xae\x2b\xa3\x05\x64\x0a\x95\x82\xcc\xd2\xca\x06\x8a\x31\xb6\xc8\x51\x53\x91\xdd\x2d\x12\xc1\xd8\xdf\x72\xb6\xa1\xd0\x75\x56\x7c\x14\x8c\xa2\x45\xa6\x4b\x33\x0c\xf8\xf4\x9b\x65\x98\x99\x6f\x1a\x5b\x5f\xc7\x44\x8a\x84\x7b\x67\x5b\x2e\xea\x11\x23\x25\x08\x01\x16\xe2\xe9\xc9\xde\xf5\x16\x63\xc5\x4f\x2c\xf8\xe8\x78\xcc\x3e\x3b\x8f\x73\xf1\xab\x2c\xf4\xf0\x74\x1a\xc0\xf6\x97\x5b\x81\x66\x63\x2a\xfd\x0f\x50\x27\x4a\xe6\x89\x32\x85\x32\x67\x94\xe1\xc4\x0f\xd4\x3c\x69\xe2\x12\x02\xb3\x68\xb1\xab\x09\x99\xce\x26\x24\xd9\x44\x12\xbd\x98\x8d\x12\xa9\xe9\x3b\x7a\x6c\x39\x9d\xdb\x94\x82\x2d\x26\x63\x0b\x5c\x9b\x72\x72\xa8\x30\x41\xe3\xc4\x14\xaa\x24\x08\x7c\x94\xd5\xbc\x40\x03\xfd\xa1\x77\xd1\x4a\xea\xc6\x45\x69\x12\x72\x7c\xb0\x3d\xf4\x82\xb0\x1a\x33\x91\x33\x28\x10\xe3\x23\x16\x30\x2a\x30\xfe\x23\xe7\x3f\xb0\xde\x9c\xb9\x66\x13\x06\x42\xdf\xbc\xac\xf5\x33\x9e\x4b\xb0\xd5\xa4\x44\xe9\x0b\xea\x5b\x28\x2f\x6d\x42\x86\x06\x28\x13\x34\x05\x73\xab\xfc\xae\x61\xeb\xce\xb0\xc2\x09\x9f\x0f\x85\xa2\x33\x1c\xa9\x7b\xbc\x93\x06\x8e\x6d\x33\xdb\x06\x16\xbb\x61\xa0\x8b\x73\xbd\xf8\x73\xc2\x88\x80\x89\x6a\x9d\xbc\xf9\x08\xc3\x93\xad\x38\x37\x58\xd9\xac\x61\x54\x7a\x8b\x05\xce\x15\x4f\xb5\x7e\x8b\x93\x64\x39\x30\x16\x59\x82\x16\x58\x2e\xdc\x46\x1b\x63\x5a\x97\xbb\xc9\x2e\xee\x19\x8e\x16\xe4\x0e\x8a\xad\x37\x2d\x6e\x65\x94\x1f\x08\xcb\xd3\x0f\xa7\xe8\xff\x16\x73\x3c\x1b\x9e\xfd\x38\x9a\x9c\x5f\xdc\x0d\x7f\xb8\x1c\x9d\x07\xf3\xb1\x4f\x3e\x5f\xdc\xdd\xd5\x7f\xfd\xf1\xe2\xbe\xfe\xe3\xcd\xf5\xcd\xc3\xe5\xf0\xbe\xa9\x95\xcb\xeb\xeb\x9f\x1e\x6e\x26\x1f\x87\x17\x97\x0f\xb7\xa3\x86\x4f\x1f\xee\xdb\x1f\xde\xfd\x74\x71\x73\x33\x3a\x77\xab\xf2\x3f\xc1\xe9\x02\xeb\xb1\x9e\x68\xcb\x34\xaa\x07\xf0\x08\x95\x5f\x3c\x45\x0f\xd5\x72\x25\x36\xca\xdc\x20\x94\x3c\x63\xa9\x79\x18\x24\x39\x8c\x19\x72\x9f\xeb\x45\x69\xfb\xd4\x84\xeb\x44\x0b\x82\x12\xce\x1f\xf3\xcc\xb2\x36\x13\x1f\xc6\xb8\x31\xfc\x10\x19\xb4\xf6\xe3\xc5\xfd\x69\xbd\x6c\x8a\x6f\x2c\xc0\x42\x73\x67\x00\xc6\x85\x1d\x3b\x05\x5b\x8a\x2b\xa7\x51\x58\x6f\x83\x1e\xfc\xce\xac\xea\xc7\xb4\x86\x99\xaa\x74\x13\xc7\xb6\x96\xb8\x9b\x58\xd0\x70\x79\x5f\x57\xad\xa6\x5f\x0e\x53\xd2\x0e\x4d\x49\x84\x73\x13\xd4\xa4\xef\x29\x21\xb8\x08\x07\x5c\xd0\xc3\xfe\x1a\xb5\x74\xd4\xd8\x60\x65\xcf\xf4\xc4\xe5\x23\xcd\x32\x12\x7f\xa8\xcb\x2f\xe5\xa2\xd3\x12\x4e\x9f\xee\x33\x38\x93\x5a\xaf\x07\x9d\xdf\x15\x3b\x5a\x2c\xbd\x27\x0d\x02\x37\x8a\x50\x16\x80\xe8\xd6\x77\x82\x2f\x46\x43\xc1\x35\x86\x15\x7a\x26\x90\x2c\x9f\xdb\x6a\x6f\x46\xf7\xd6\x67\x1b\xba\x33\x36\x6d\x57\x5e\xb2\x94\x44\xdf\xca\x8c\xf7\x21\x70\xeb\xef\x25\x69\x62\xc4\x3b\x64\x3c\x9f\x9b\x46\x81\x3b\xbb\x98\x37\x18\x71\x4b\x70\x83\xbb\x0d\x1a\x2c\xe4\x2b\xe4\xab\xfa\x8d\xb4\xe6\xb2\xd0\x6c\xbb\xcb\x78\x1c\xca\x4b\x09\xba\xbc\xfb\xc0\x4a\xf0\xd6\x6b\xd7\xea\x9e\xc7\x78\xa9\x89\x03\x62\x8d\x65\x9e\x65\x5c\x28\xd4\xd2\x86\x71\xe3\x9b\xf1\xc1\x9d\x63\xe7\xe1\x79\x1c\x34\xa2\x25\x0c\xd9\x50\xff\xa6\x1b\xf0\x85\x5d\xd7\x82\x71\x84\x01\xb2\xa0\x08\xfa\x5a\x65\x69\x49\xa5\x2e\x51\x68\x93\xf0\xbb\x4b\xee\x48\xa6\x2f\xf8\xae\xd5\x3d\x9b\x7a\xbf\x76\x2d\x34\x6e\x79\x42\x66\x6a\xd2\xe8\xf5\x59\x61\xe0\xd4\x2d\xb2\x36\xac\x20\x3a\x5f\xec\xa1\xc5\xee\x5a\xc2\xef\x6d\x60\x8f\x56\x0d\x02\x0b\x81\xe0\x5c\x19\xf9\xb4\xd0\x61\x90\x5b\x4d\x30\x2f\xd8\x4e\x6d\x96\x9f\x17\x02\xb5\xcc\x6f\xfc\xa1\x3e\x21\xee\x78\xcc\x46\x10\x40\x51\x28\x22\x2e\xf9\x0f\xb4\x80\xb5\xf2\x7f\xa9\x96\xf1\xab\x46\x6b\xb6\x63\xf7\x16\x74\x6f\xdc\xee\x24\x59\xa2\xa2\x5e\x75\xe9\xbb\x2e\xa7\xc7\x58\xbd\x9d\x08\x68\x26\x6c\x8e\x8e\x54\x24\xb3\x96\x79\x33\xcf\x22\xd2\x07\xe2\xc3\x74\x57\xc7\xe8\x17\x67\xf9\x81\xc0\xd7\xa2\xd4\xbb\x8d\xdd\x48\xf0\xd2\xc1\x7d\x36\x2d\xec\x3e\x10\x34\xf7\x1d\x0a\xbb\x7a\x81\x3d\x54\x57\xc3\x2a\x97\x14\x70\xc6\x8c\x45\x76\x83\x24\x9d\x33\xff\xd1\x1d\x59\x1d\x15\xf0\x11\xaa\xfb\xda\xc8\x2a\x10\x3a\x58\xb2\xfc\x7f\xcc\x66\x99\x1c\x63\x57\x0c\xcf\x96\x32\xb5\x1e\x54\x7d\x7e\xc0\x03\x68\x52\x90\xd1\x8c\x26\x09\xc8\x01\xc7\x68\x08\x55\xc7\x21\x45\x57\x5f\x85\x2e\xc0\x82\xce\x19\x5f\x97\x3d\xd8\x42\x4c\x51\x40\x4c\x77\xed\xc4\x24\x81\x9a\x0a\x84\x86\xfd\x50\xd4\x1e\xd0\x7a\x34\x6f\xc1\x75\xac\xf3\xee\x18\x3d\x1b\x28\xef\x6f\x11\x1d\x5d\x1b\x6e\xf0\xe1\xbf\x9a\x87\xfe\x29\xc7\x02\x33\x05\x31\xbf\x56\x74\x17\x24\x48\x3d\x22\x5f\x20\x3e\x83\x19\x43\x30\xfc\x14\x6e\xae\x73\xf9\x43\xb8\x17\xa2\xf1\x00\xd1\x63\x72\x0c\x15\x15\x85\x96\x25\xa6\xc5\x9b\x0b\x2d\x39\x8c\x59\x2d\x96\xf1\x18\x0d\x13\xc9\xed\x17\x84\x45\x09\x54\xf9\x0f\xc2\x93\x3d\xe5\x5b\xb7\xd2\x74\x09\x0a\x0a\x6c\x65\xd1\x3c\xb7\x0f\x82\x0f\xa1\x30\x20\xf8\xc4\x13\x38\xe9\xc5\xef\xbf\xe5\x99\xf1\x56\xb4\xc5\x49\xbc\x60\xa1\x8e\xda\x35\xf4\x62\x9b\x64\xca\x7b\xae\xda\x20\x78\x03\x36\xa6\x88\x31\x0d\xb0\x75\xd0\xb7\x58\xa1\x84\x60\xa9\xd0\xef\xbe\xdb\x28\x36\xc4\x4d\xb0\xe0\xae\xf6\xf8\x16\x89\x62\x2e\xd5\x20\x14\xee\x7c\xc7\x50\xef\x11\x0b\x85\x30\x62\xe4\x39\x8c\x2c\xe5\x10\x0c\xec\x8a\x38\x92\x20\x6b\xd9\xc4\x93\x19\xcc\x05\xc8\xd6\x30\x2a\x53\x0b\x1f\x71\x40\xd6\xd6\x7d\x6a\x87\xd5\x40\x59\x56\x79\xb2\x21\x9e\x00\xb6\x56\x04\xfd\x2f\xb0\x1a\x33\xcb\x59\x5d\xd8\x48\x90\xe6\x35\x4c\x92\x72\xa0\x3d\x86\x5c\x12\xa6\x27\xac\x47\x1f\x1f\xfb\x05\xba\x02\xf5\xcb\x47\x3b\x97\xec\x74\xc5\x61\x31\xf1\x78\x1e\xc9\x2a\x6c\xbb\x51\xda\x69\xb2\x2f\xbf\xa2\x10\xdc\xd0\xfd\x25\x9f\xd3\x08\x27\x1d\x84\x61\xd2\x34\xe4\x35\x07\xab\x6e\xd3\x5f\x21\x1b\xef\xbb\x83\xee\xa2\x72\xb3\x7d\x1c\xae\xd9\x67\xde\x60\x6e\x6f\xd9\xdc\x40\xb6\xd8\x45\x01\xf7\x61\xf7\xaf\xe5\xf1\x2d\x0d\xfd\x22\x86\xa4\xbf\xf5\x5c\xb0\x48\xa2\x73\xac\xc3\xc4\x5e\xc7\x41\x4e\x4f\x90\x42\x00\xc1\x7f\x8e\xf1\xd9\x37\x5b\x3c\xaf\xd9\xfb\x9e\xfe\xa0\x98\xbf\x9b\x8a\x0f\x82\xab\x4f\xbc\x5d\xd8\x1b\xc6\x7f\xc3\x11\x44\xfa\x43\x4f\x2e\xc7\xa0\x0e\xb5\xe5\x00\xca\x31\x18\xf3\x1b\xc5\xc3\x4c\xf0\x88\x48\x79\x8c\x46\x70\xd1\xd8\x7f\x22\x3c\x73\x0e\x89\xe0\xe5\x31\xd3\x9a\x89\x43\xe6\x09\xda\x2f\x93\x78\xd3\x09\x30\x30\x7f\x3b\xf9\x72\xd2\xf5\xd5\x67\xda\xb4\x09\x87\x32\x08\x6d\x40\xc1\x0a\x34\x9a\x9f\xa2\x98\x47\x8f\x44\x9c\x08\x12\x53\x79\x0a\xbe\x75\xd5\xea\xd4\x4b\xb5\xb6\xbd\xb3\xa4\xd1\x16\x28\xb0\x26\x29\xee\xcc\xf4\x6f\x03\xac\x5d\x78\xed\x00\xd1\x19\xa8\x13\x2e\x27\xc3\x04\x21\x3b\x20\x23\xc2\x94\x58\x42\x5c\xbf\x37\x65\x55\x16\xc2\x69\x1a\x5a\x68\x6b\xcb\x26\x12\xfb\x88\xc1\xd9\x72\xda\xf7\x0b\x22\x89\x0b\x38\x30\x93\x52\xdc\xc6\x32\x1b\x76\x91\x61\xb5\x90\x90\xba\x5a\x5e\x03\xab\x74\xc1\xa7\x7a\x85\x70\x06\xf1\x0a\xc6\x4a\x51\x7c\xe4\x13\x2c\xa5\xa2\x49\x32\x66\x8c\x90\x58\x22\xc8\x32\xfd\xa6\x31\x43\x5e\x7f\x3a\x40\x38\x8e\xd1\xff\xfa\xf6\xe3\xe5\x5f\xee\x47\x93\x8b\x2b\x30\x5a\x5f\x5c\x8e\xbe\x1b\xf8\x1f\xaf\x1f\xee\xfd\xaf\xc6\xc2\xf2\x44\x04\x4a\xf1\x23\xa8\x78\x4c\x12\x9b\x3c\x41\xc6\x2c\x1c\xa9\xc3\x0e\xd0\x4f\x24\x71\x91\xae\x56\x4c\xf1\xe0\x98\x76\x0f\x5b\xab\x8c\x1b\x9b\xdf\x06\xca\xef\xad\xff\x64\x35\x0d\x3a\xe2\xf1\x5d\x38\x31\x10\x72\x64\xb0\x0c\x92\xc9\xad\xee\x5b\x10\x1c\x61\x73\xca\xda\xe2\xf1\x08\x7b\x7a\x49\x21\xfe\x27\xb2\xfc\x59\xab\xd7\x37\x98\x8a\xce\xb4\xd7\x8c\xf3\xe4\x4e\x8c\xd6\xd3\xb1\xac\x1e\x2a\x69\x64\x61\x93\x6d\xd3\x1a\xf3\xd9\x04\xf1\xf7\xe6\xd3\xb5\xc0\x61\xe4\x8b\x12\x0e\xa5\xc2\xe7\x73\x38\x90\x2e\x7f\xd1\x14\x34\x38\x66\xf7\xd7\xe7\xd7\xa7\x88\x24\x78\xca\x21\x94\xdf\x86\x04\xb9\x26\xec\x82\x45\x3c\x0d\x1a\x2a\x41\x93\x0c\x50\x56\x40\x93\x84\x46\xb4\x63\xd3\xc6\x1a\x88\x92\x8c\x8b\x3a\x1a\xcb\x7e\x55\x40\x3b\xd9\x1b\x2e\xba\x5c\xff\xfa\x35\x58\x3a\x9e\x69\x45\xae\xc2\x79\xed\xdd\x3c\x23\x18\xb2\x57\xad\x5b\xc8\xda\xf2\x6d\x00\x6b\x92\x94\x2a\x65\xea\x83\x23\x8f\xad\x0b\xbe\x78\x93\x33\xf4\xd3\x9f\x24\x9a\xe6\x6a\xcc\xca\x6d\x70\x86\x86\xbf\xdc\xa1\x1f\xb0\x8a\x16\xdf\x8d\xd9\xb5\x56\x33\x7f\xfa\x53\x0b\x48\xd6\xc6\xb8\x93\x7a\x4d\xce\xb1\xc2\x97\x1c\xc7\x94\xcd\x9b\x40\x27\x8b\xca\x40\xa3\xfb\xe1\x29\xba\xb6\x3a\x7c\x91\x09\xe2\x53\x82\x83\x86\x80\x21\xc3\x44\x1c\x17\x01\x56\xce\xca\xc0\x7c\x46\x33\x83\x0b\x6b\xcc\xee\x0d\xda\xa6\xe6\xaa\x54\xa1\x8c\xdb\xea\x54\x5a\x2b\x33\x38\xa4\xd8\x65\x48\x91\x64\x89\xf4\xea\x00\x19\xfb\xcd\xb0\xf2\x18\xc8\x33\x75\x66\x3f\x66\xa0\xa0\xfb\xdc\x94\x84\x47\x38\x81\x98\xbc\xa3\xc0\xa6\xa7\xd5\x76\x9e\x43\x7e\x38\x04\xc3\xb0\x65\x39\x74\xd6\x43\x16\x78\xa1\x2c\xdc\x28\x30\x00\xc0\x3e\x5a\x6f\x6c\xca\x35\xc7\x31\x28\x7b\x60\x7c\x4b\xcc\xea\xe8\x0f\x3d\xea\x9e\x59\x16\x0f\x3d\x03\x79\x71\x39\x73\x58\x24\x11\x98\xef\xd9\x12\xc2\xb7\xa1\x9c\x0c\x87\xd0\x8f\x82\x3b\x5b\xa2\xac\xed\xa2\xbf\x13\x83\xcf\xc6\xcc\x44\x0a\x96\xf6\x25\xc4\x65\x0a\x7a\xe7\x0c\x02\x19\xeb\xb9\x62\x79\x66\x03\x1b\xad\xac\x9f\x09\x72\xe4\x33\xa0\xe2\xd2\x9a\xea\x1b\xf6\x18\xdd\x86\xea\x75\xcc\xa3\x3c\x75\x98\xd9\x90\x3d\x65\x23\xe0\xec\x25\xea\x29\xc4\x5c\xec\xeb\x28\x1e\x50\x5a\x14\x81\xf4\xf1\xce\xfa\xb1\x21\x98\x61\xf8\x69\x5d\x52\x6f\x17\x7c\x81\x77\xec\x16\xb5\x66\x1a\x9a\x64\xe5\x96\x4a\xad\xed\x9c\x97\x78\x55\xe0\xfa\x72\x01\xc2\x16\xf9\x92\x71\x30\x72\x9b\xf4\x2c\x1e\x7f\x23\xd1\xc5\x8d\x96\x80\xb4\xc6\xeb\xcf\x60\x2e\x95\x09\x2e\x83\x74\x1d\xf3\xb5\x49\x17\x18\xa0\xef\xd1\x38\xff\xfe\xfb\x3f\x44\xe8\x8b\xfb\xe3\x8f\xff\xf9\x9f\x7f\xf8\xe3\x26\xe9\x24\x4e\x21\x87\x76\x8b\x35\xf2\x85\xc2\xca\x22\x51\xb8\x03\x75\x4e\xb5\xc3\x2e\xd8\x03\xd8\xb6\xfc\xdb\xe0\x77\x06\xb1\x43\x78\x6e\x4f\xb8\x0c\x4f\x26\x2a\x1d\xcd\x22\x92\x40\x12\x35\x28\x73\x08\x2f\xec\x5a\x89\xfe\xff\x59\x85\xe9\xa5\x8f\xca\x76\x31\x4e\x34\xf1\xe2\xb5\x6e\x04\x7d\x6b\xed\x7f\x0a\x1c\x88\xdf\xb9\x0b\x8e\x27\x31\x11\x66\x4c\xde\x64\xe7\x0d\x89\xc0\x1c\xc8\x97\x2c\xe1\xb1\x03\xbe\x2d\x72\x01\x29\x08\x08\xa3\x2f\x58\x73\xee\x81\x85\xd1\x32\x1f\x19\xcf\xcb\x0c\x47\x06\xef\x55\xa2\x6f\xbf\x9c\xea\xdf\x06\x68\x79\x0a\x41\xa4\x03\xf4\x8f\x53\x8b\x96\x83\x85\x9a\xe8\x9f\xbe\x73\xb2\xb6\x6d\x02\x06\x4d\x25\xfa\xe6\xe4\x09\x0b\x53\x0d\xfc\xc4\x8c\xe8\x1b\xcb\x59\x7d\xc5\xc3\x50\x36\x4f\x38\x7f\xb4\x01\xb6\xb5\x0f\x4f\x1c\xa4\x1e\x90\xb7\xf7\x9b\x98\xad\xf7\x89\xf9\x0a\x1d\xc1\x0b\x04\x1d\x67\x53\x74\xfc\x37\xc9\x19\x3a\x5e\xe2\x34\xb1\xbf\xba\xa7\x36\xfe\x17\x4b\x9b\x13\x17\xfb\x20\x9f\x64\x69\x2c\xa5\x3f\x24\x7c\x0a\xb3\xfa\xec\x66\x6a\x22\x68\x61\xa0\xc5\xed\x53\x5c\x58\x76\x22\x2e\x11\x15\xf0\x83\x52\xae\xcc\x2b\xc0\xe3\x9a\x66\xf5\xc5\x0f\xe9\xbf\x8d\x5f\x18\x16\xc5\x25\xf1\x19\xe3\xb0\x8f\x5e\xd3\x8d\x7e\x41\xdf\x5a\x16\xf4\x9d\xbe\x63\x6c\xb8\xb2\x59\x86\xa6\x0e\x96\xbe\x83\xbf\x04\x1d\x50\x86\x4c\x5a\xe6\x8a\x2f\xff\x71\x72\x7c\x7c\xec\xbf\x86\xac\xf5\xff\x3f\xa2\x4a\x92\x64\x66\x5a\x72\x37\xd8\x72\xcc\x3e\xbb\x92\x1a\xce\x78\x5d\x80\x75\x66\x82\x2b\x1e\xf1\x04\x1d\x15\x06\xdd\x98\x47\x12\xfd\xbb\x16\x6b\x83\xa5\x84\x1f\xb5\x1e\xb7\x12\x68\xee\x95\x0e\x95\x35\x88\x57\x8f\x55\x88\xe2\xe6\x15\x5b\x2c\xc3\xfa\x2c\x40\x0b\x9a\x72\x4e\x2c\xd2\x9b\x10\xfa\x65\xf2\x45\xc1\xa3\x16\xd8\xc3\xc6\x50\xf6\xe6\x9b\xb2\xc6\x6e\x0b\xf4\x43\x43\xd6\x2d\x0b\x60\xf1\xae\x2c\x67\x30\xf3\x1c\x84\xee\x13\x7d\xb9\xb0\xb0\xc8\x83\xcc\xd3\x14\x8b\xe5\x49\x71\xda\xea\xc4\x59\x20\xad\x01\x8f\x49\xdc\x02\x80\x0b\x37\xb1\x47\xcb\x46\x31\x58\xf1\xd2\xdd\x68\xfe\xec\x46\x50\xa5\x32\x40\x2c\x20\x2c\xe2\xb1\xa5\xeb\x22\xfb\xb4\x2c\xb1\xf8\x77\xea\xb2\x8a\x8b\x88\x91\x85\x31\x8e\x29\x03\xe1\x61\xdf\x70\x1f\xb7\xb0\x6f\x3e\x81\x7a\xc7\x64\xbe\x81\x7b\xf4\xe2\xfa\xce\x7d\xd3\xfd\xd2\x85\x75\x28\x8b\xec\x38\x09\xf1\xf1\xd8\x1c\x09\xfc\x5c\x5c\xbf\x10\xdb\x61\xac\x33\xb9\xcf\xcd\x35\xff\x3e\xe3\x37\x34\xd1\xb7\x16\xd0\xf8\xf1\x98\x95\x7e\x1e\x20\x92\xd0\x94\x32\x1f\x5b\x67\x98\x3b\x9f\x19\xe9\xf9\x91\x2a\xbd\x65\x32\x7e\xd4\x1c\xcc\xe1\x3a\x05\x2a\xd5\x90\x2d\x1d\xe9\x78\xc7\x94\xb5\x40\xe4\x52\x8f\xab\xd0\xd1\xb5\x30\xab\x9b\x38\xb2\x02\x29\x0d\x08\x0f\xce\xef\x98\xe9\xd6\xdc\x59\x2a\xc2\x85\x83\xf6\x82\xe6\x8e\x5c\xa9\x83\x80\x03\x40\x1f\xa5\x98\x5f\x2f\xff\x36\x08\x28\x23\x96\xa7\xbb\x26\x9b\xd8\xf0\xe1\xb7\x32\xd3\xdd\x08\xe2\x6e\x2a\x9b\xb8\x44\x58\x9e\xba\x03\xb5\x01\xc5\x8d\xac\xf8\x13\x93\x28\xc1\x06\xa9\x46\x37\x04\x91\x8f\x03\xe3\x20\xcd\x82\xbe\xcc\xf5\x62\xba\x31\xd5\x93\x12\xc2\xbe\x35\xff\xfe\x0e\xd9\xbb\xe1\xfb\x81\xbd\xcf\x85\xf4\x08\x20\x66\xcf\xa1\xfa\x26\x89\x8d\x0d\x1d\xf0\xa6\xe7\x58\xc4\xc6\x5a\x1e\x6a\x15\x26\x83\x57\xcb\x5f\x4b\x9e\xa3\x67\x2a\x17\x63\x76\xcf\x9d\xc1\x11\x31\xee\x11\xbb\x07\xa0\x8c\xd6\xfa\xc3\x12\x98\x00\x8c\xba\x89\x02\x34\x13\xde\x29\xd7\x08\xa2\x60\x27\x8c\xc7\x64\x37\x00\xa3\xfb\xc2\x57\xe1\xfc\xd7\x82\x98\x7c\x30\xb8\x29\xda\xd2\x69\x89\x94\x1b\xda\xe6\xab\x1b\x0f\xf7\x90\x6d\x07\x8a\x3d\x3f\x6f\x84\x9b\x1e\x62\x83\xf9\x5b\x0d\x5a\x71\x1a\x67\x90\x0d\x5c\x5a\x7b\x8f\x83\xbd\xeb\x26\x44\x0d\x68\x45\x9d\xee\x7e\x33\xf7\x08\x96\xdd\x07\x18\x63\x34\x17\x3c\xcf\x7c\xca\xbc\x4b\xf7\x33\xdb\x60\x65\x9a\x0b\x36\xe3\xa7\x56\xa7\xba\xa4\xec\xd1\x50\xfc\x4b\xed\x91\x81\x3a\x27\x71\x09\xc6\xcd\xd5\xdf\x85\x39\x1c\x21\xca\xa2\x24\x87\x8b\x4f\x2a\x1c\x3d\x1a\xb8\xf6\x36\xa3\xaf\xfe\x66\xb2\x3e\x99\xb2\x45\x62\xca\x93\xc4\x76\x5b\x5c\xa0\x45\x81\xf2\x27\x8a\x11\x46\x0f\xb7\x17\xcd\x7d\x3f\xd2\xba\x33\xa7\xf9\xf6\x2c\x13\x08\xfc\xcf\x4f\x74\xa3\xb8\xcb\x0a\x2c\x1e\x29\x91\xba\x37\x2e\xb5\x81\xae\x1a\x22\x55\x5a\x81\xf8\x7f\xd9\x7b\xb7\xe6\x36\x92\xe4\x6c\xf8\x7e\x7f\x45\x45\xf8\x42\xa3\xef\x03\xc1\xd1\xec\x6b\xc7\x58\x11\xbe\x80\x28\x6a\x86\x3b\x12\xa9\xe5\x61\x66\xfd\x1a\x0e\xa8\xd0\x5d\x00\xca\x6c\x54\xb5\xfa\x40\x0e\xec\xdd\xff\xfe\x46\x65\x66\x1d\xfa\x88\x6e\x80\x94\x66\xd7\x73\x61\xef\x88\x00\xea\x7c\xc8\xca\x7c\xf2\x79\xe2\xeb\x16\xd7\xfe\xe8\x75\xba\x4e\xcb\x85\x19\xa8\x64\x0c\x40\xc0\xb4\xe2\x87\x8f\x77\xb3\xe0\x77\x7d\x4b\xe5\x87\x8f\x77\x2c\xa8\x03\x09\x0f\x13\x11\x15\x0e\x69\x3c\x65\x67\x9e\x87\xb8\x6e\x99\xc7\xe2\x41\x46\x98\xe2\x3a\x31\x56\xd1\x5c\x01\xbd\xa7\x79\xeb\x9c\x58\x4e\x28\xf6\xc3\xc7\x3b\x62\x92\x72\x74\x53\x44\xa9\x0c\x14\x16\xe3\xae\x9d\x1a\xb1\xa6\xd2\xea\x04\x2c\x36\x9e\xc5\x3e\xda\x31\x81\xc7\x75\xc4\xd3\xa2\x24\x03\xe3\xe1\xd5\xd4\xce\xc9\xb5\x8f\x84\x98\x66\xe9\xb9\x32\xb6\x12\x66\x19\x80\xae\x8b\xe9\x74\x73\x6a\x6b\x83\x7a\x0c\x38\x00\x06\xed\xa8\xc3\x5f\xba\x0c\x3f\xae\x76\x8c\x67\x4b\x59\x64\xe6\x19\x86\x3f\x86\xa9\xb0\x6f\x8f\xa5\x7d\x51\x79\xcb\x88\xa4\x78\x60\x82\xa5\x2a\xf2\xb9\x0a\x32\x58\x5c\x56\x30\x26\x2f\x48\xc5\x80\x0e\x0f\xb0\x37\x96\x9e\x2b\x4a\x74\x19\xdb\x6b\x35\x73\xd2\x3e\xbb\x14\x8d\xa8\xb9\x02\x66\x12\x73\xb7\x82\xa4\xbd\xbf\xfb\x5f\xb3\x4f\xea\x41\xc6\x92\x9f\x14\x22\x4f\xf8\x49\xf1\x7f\x3e\x4d\x6a\x7f\xe2\xaf\xbe\xfd\xf6\x13\xaa\x14\x75\xd1\x2e\xb8\x65\x74\xb4\x83\xa7\x3d\x4e\x61\x8b\x5f\x98\x55\x7a\xc4\x3c\xbd\x97\xf7\x82\x7d\xc2\xe9\xfe\x44\x04\x7e\x87\x4d\xdb\x5c\xb5\xcd\x1b\x3b\x64\xda\x80\x4e\xb5\x7d\xde\x58\xcf\xb4\xbd\x5a\x4f\xff\x79\xbd\x34\xb3\xf5\xdd\x7a\xfa\xea\x5b\xf8\xcf\xda\x1c\xed\xdb\xbc\x2e\x7b\xa6\xad\xd9\x2d\x07\x51\xcb\xb6\x74\x67\xd1\x5c\xed\x3f\x8c\xd8\xb8\xb3\x08\x56\x6d\xdb\xc6\xe7\x85\x38\x36\xbb\x15\x79\x1d\x47\xa0\xaf\x1b\x84\x99\xbd\x11\xc1\x23\xd9\x26\x3d\x53\x24\xc0\x3d\xbb\x69\x2f\x43\x00\x2e\x7c\x38\x82\x8f\x07\xbe\x3f\xac\x3f\xb5\xef\xee\xe9\x4e\x7f\x33\x13\x21\x46\x30\xc8\xdc\x98\xaf\x0f\x6c\x64\xe5\xab\x7d\x6d\x7c\xe4\xa8\x95\xd4\x24\x72\x8f\xe9\xb5\x3e\x66\x17\xd9\xe5\x88\x2e\x93\xdc\xe5\xfd\xb9\x96\x58\x68\xa5\x7b\x5f\xdb\x7a\xd7\xb4\x97\x42\x29\x26\x17\x75\x6b\x59\xf8\x81\x2b\xe2\x48\x28\x9c\x79\x52\x2f\xb6\x83\x49\x42\x7d\xc5\x6f\xe9\xc7\x1f\x1a\x94\xa1\xce\xbc\xfc\x00\x99\xd9\x8e\x0c\x6b\xcb\x95\xb1\xd6\x6c\xad\x1d\x81\x25\x7c\xe5\x1f\xd4\xa4\xbb\xf4\xa0\x06\x61\x8d\x03\x55\x8a\xa9\x2a\x5b\xca\x23\xc6\x56\x79\x82\xb1\x83\x62\x03\x6e\x65\xaf\xee\x67\x8f\x39\xef\x5e\x46\x25\xc0\x84\x67\x6b\x74\x7a\xe5\xa2\xc8\x5f\xb6\xcc\xb0\xcf\x63\x3b\x62\x86\x0f\x50\x50\x0f\xb1\x2c\xe0\x52\xe9\xdb\x69\xae\x95\x55\xc2\x68\xf7\xd2\xb2\xf5\x87\x6c\xa8\x3e\xb9\x2e\xd2\x19\xaa\x2b\xc4\x66\xaf\x74\xf3\x60\x8d\x15\xf1\xaf\xc7\xe3\xf8\xd6\xb1\xbc\x58\x3d\x7f\xca\xd9\xc5\xc6\x2d\x05\x70\x9d\x77\xb7\x61\xbc\x62\x7f\x4f\x13\x48\xc2\xba\xab\x05\x73\x35\xb3\x5f\xf1\x8c\x8d\xb9\x44\x2f\x0b\xa6\x23\x96\x4b\xcc\x70\x01\x9f\x19\xf7\xa3\x4e\x9d\xeb\xe8\xc4\xd8\x84\xfc\x5a\x17\xee\x72\x91\xf9\xdb\x88\xf4\xfd\x1c\x2f\x73\xaf\xb6\xe2\x83\xc8\xda\x60\xc7\x23\x2a\xbf\xb1\x5d\xa4\xa2\xec\x58\xb6\x55\x3c\xfc\xa1\x42\x05\x41\xc2\x11\xa1\x6a\x31\x2f\x20\xd9\xf9\x65\xea\x89\x3f\x6b\x95\x35\x77\x6b\x71\xd4\x69\x2c\xf9\x76\x91\xe9\x6e\xf1\xc9\x01\xc3\x64\x8b\xa8\xf8\xec\x37\x28\x46\xb5\x63\x9f\x4b\x9e\xe0\xe5\xa6\x68\x39\xda\x66\x83\xfb\xe3\xbb\x7f\x61\x33\xb8\x7d\xd8\x07\x38\x17\x01\xb4\x05\xa5\x15\x9a\xc9\x6d\x2a\xb2\x5c\x2b\xde\xa9\xc2\x7a\xff\x7d\xbe\x20\x25\x39\xf3\x34\xd6\x65\x53\x35\x6e\x44\x4f\x5a\x4a\x0b\x3b\xc5\xd9\x7d\xb9\x14\x99\x12\xa8\x34\x0b\xdf\x63\xf6\x7b\x83\x9a\xab\x79\x59\x6c\xbe\x5b\x44\x89\x1c\x2c\x6f\x07\x19\xa3\x33\xf3\xb3\x33\xfc\x55\x5f\x07\x2a\xe5\x57\x9a\xae\x18\x7e\xc6\xf0\xb3\x29\x7b\xc3\xa3\x7b\xa1\x62\x96\x26\xe5\x5a\x12\x41\x0c\x9a\xfb\xb2\xfa\xb0\xaf\x76\x0c\x6d\x0b\x2c\xdf\x5c\x43\x73\xb5\xe5\xf7\x48\x4c\x4e\x46\xa4\x79\x39\x74\xd1\x0b\x3a\x57\xc9\x42\x36\xd7\xee\xde\xd9\x72\xf7\x61\xb3\x98\xfa\xda\xcb\x4b\xcc\x97\x7b\xdc\x68\x42\x19\x55\x3c\x35\x23\x36\xae\x5b\xad\x0d\x1e\x2f\xcb\xb5\xe2\x34\x87\xa9\x31\xb8\x7b\x21\x84\x07\xe4\xfa\xa5\x62\x1c\xa8\xc0\x5e\xe4\xac\x4c\xad\x7d\x06\xb1\xa5\x04\x90\x3e\x38\x05\xe6\x83\x54\x46\xf7\x88\x2d\x85\xec\x09\xe6\xba\xd7\x90\xa6\x64\xc2\x83\x1c\xdb\x8e\x86\x15\x12\xe1\x1c\x87\x5b\x69\x70\xf3\xef\x59\xa7\x03\x33\x43\x8a\x8d\x50\x8b\x03\x28\xe2\x87\x4f\x5a\x25\x0b\x84\xcc\x60\x17\xa3\x73\x43\x58\x2a\x49\x72\x8f\xfe\x8d\xed\xf8\x8f\xe5\xaa\x66\x46\xcb\x9c\xe5\xbc\x90\xb9\x39\xcb\x5a\x47\xdc\xd3\x0f\x1d\x33\xea\x7c\x1c\xe7\x51\x0b\xdf\x51\x6d\x2c\x5c\xa6\xd9\x94\xbd\x83\xc8\x46\xf0\x32\xd0\x8e\x3d\xa8\xeb\xc0\x2a\x36\xa2\x93\x46\xf7\x29\x20\x9a\xb6\x07\xc1\xf7\x7b\x03\x56\x2e\xab\x70\xca\x66\x3e\xa2\x8c\xfc\x49\x18\x2b\xde\xd3\x23\x91\xe4\xe2\x90\xc5\x37\x28\xf8\x02\xa8\x2b\x58\x40\x0c\x2c\xa9\xdc\xfc\xdd\xab\x82\xb8\x66\x3e\x42\xe2\x3e\xbf\x17\xaa\xcf\xc3\x3e\xbc\x85\x18\x02\xe9\x75\x09\xb8\xd8\x8a\xc6\xf0\xca\x21\x0d\x1c\xbe\xed\x3c\x65\x95\x5c\x9d\x9a\x21\x37\xcf\x90\xe8\x9e\xd2\x05\x31\xc2\x46\xa4\x57\x8f\x1b\x9d\x87\xfb\xcc\xce\x1f\xbe\x64\xb3\xd2\x29\x3f\x40\xba\xa5\x1b\x60\xc4\x59\x2a\x1d\x72\x62\x41\xab\xdd\x26\x45\xb7\x8e\x9b\x6f\x66\x8f\x50\x18\x06\x40\x26\xd8\xa2\x5a\x76\xb3\x53\x42\x3c\xc6\xb6\x3a\x5c\x5e\xb3\x39\xe6\x8d\x26\xfe\xf4\x7d\x7e\x05\x0d\x79\x0a\x82\x98\x76\x9d\xf7\xe3\x93\xb3\x0e\x0c\x4b\x3b\xd8\xb1\x17\x89\xe7\xb1\xa3\x34\x4a\x75\xcc\xfc\xd8\x8d\x57\x84\xff\xfa\xdd\xaa\x29\xc9\x0f\xea\xdb\xbe\xcd\xf7\x21\xc0\xae\xb1\x65\x29\x93\x18\x19\xfe\x02\x9b\x55\x5b\xa3\x08\x68\xf7\xc1\x42\x91\xb9\xbb\xf2\x5a\xb6\xc1\x4f\xdf\xe7\x1f\x75\x7c\xcc\xc2\x1a\xcf\xe2\xda\x5c\xd7\x03\x52\x5b\xf2\x10\x5f\xb4\xdd\x3f\x12\xa9\xee\x4e\x4a\x88\x17\x79\x55\x67\xae\xa7\xc1\x80\x42\x5b\x96\xab\x1b\x10\xb5\xea\x22\x4a\x0a\xf4\x5e\x6c\xe6\xb3\x99\x67\x53\x8d\xcb\xc3\xeb\x9a\x14\x02\x35\x79\x0b\x85\xb3\x3f\xdd\x5c\x5d\x9e\x6c\x79\x96\x6f\x38\x10\x51\xd8\xb2\x26\x56\x27\x14\x5f\xf0\x16\x6c\x21\xd5\x5c\x9d\xb0\xb5\x9e\x20\xb4\xe7\x35\xdb\x14\x45\x9a\xbf\x3e\x3d\x5d\xcb\x62\x53\x2e\xa7\x91\xde\x9e\xfa\xa1\x39\xe5\xa9\x3c\x5d\x26\x7a\x79\x9a\x09\x48\xee\x38\x79\x35\xfd\xee\x15\xcc\xcc\xe9\xc3\xab\x53\x00\x74\x4c\xd7\xfa\x9f\xde\x7f\xf7\xaf\x7f\xfc\x17\x53\x70\xba\x2b\x36\x5a\xbd\x26\xdc\x50\x6f\xd9\x27\xf8\x70\x38\xc5\x9f\xd4\x6a\xf9\xd7\xe9\xb7\x61\x33\xe8\xab\x5b\x1d\x8b\x24\x3f\x7d\x78\xb5\xb0\x13\x33\x4d\x77\xbf\xa7\x43\x7c\xb5\x74\x88\x7b\x59\xfc\x9e\x0e\xf1\x55\xd3\x21\x86\x1b\x61\xee\x8c\x01\x7e\x69\x7f\x3e\x9a\xbf\xbb\x33\xd2\x46\x07\xf6\x9d\x43\x2d\x97\x43\x98\xac\x76\xc4\x15\x71\x2f\x46\x79\x01\x6a\xdd\x75\xaf\x9b\x0e\x2f\xe0\x58\x8d\x97\xce\xf7\xc6\x28\x6e\x0e\x00\x1f\xca\x08\xf4\x03\xd0\x6b\x99\x72\xd9\x96\xe4\x40\x36\xdf\x31\xe3\xf7\x9c\x4a\x18\x4f\x2d\x81\x41\xdd\x3d\x50\xfe\x22\xc1\x5f\x5b\x48\xb0\x7e\xb4\xb2\x17\x4f\x21\x16\x31\x50\xec\xdd\x71\xe0\xe3\xe2\x81\xb6\xd8\x76\x75\x34\x63\xc3\xf3\xc3\xb0\xe5\x33\x64\x9a\x75\xa1\x44\x04\xe6\xca\xdc\x56\x68\x2f\x0e\x4b\xde\x63\xee\x21\xcb\x11\x98\x96\x59\xaa\x73\x91\x4f\xd9\xbb\x9a\xc0\xae\xc7\xcb\x5f\xbf\x3b\x63\xaf\xbe\xff\xd7\x3f\xce\xd5\x37\x2d\xf7\x36\x9c\xf7\x3a\x5b\x13\x7c\x1f\x6e\xeb\x2d\xcf\x0b\x91\x9d\x66\xab\xe8\x14\x4f\xb9\x53\xf3\xfb\x13\xaa\xf4\x44\xaf\x4e\x1c\x13\xfe\x09\x91\x82\x4f\xb7\xf1\x38\x5e\x9b\xca\xd2\xc3\xbb\x86\x2e\x9a\x1c\x2e\x25\x64\xc0\xd3\x2b\xa7\x79\x82\xe9\x95\x28\x8f\xa4\x57\x2d\xff\xf1\x26\xd1\xcb\xfc\xa5\xe3\xdd\xe4\xb9\xad\xc3\x13\xe1\x75\x6f\xcd\xa7\x11\xc5\xb0\x4b\xe4\x39\x7d\x29\xf6\x2c\x09\x9f\x23\x63\x06\xbe\x7d\xb3\xf9\xeb\x1e\x69\x80\x78\xa6\x4b\x65\x45\x05\xb4\x12\x7a\x05\xe8\x12\xb0\x84\x2d\x38\x0e\xdc\xc9\x00\xb9\x72\x94\x3f\x99\x48\xf1\x82\x81\xc0\x47\xf7\x70\x1f\x29\xac\xb1\x6f\x9c\x9f\x43\x58\xe3\xd8\x71\xa7\x03\xe5\x2b\x0d\xf8\xb1\x08\x76\xdc\x4a\x63\x80\x1f\xe6\xfb\x7b\x83\xbc\xee\x1c\xf0\xa2\x77\x9e\xc3\x3e\xe5\x19\x18\x69\xe2\xa4\xd0\x27\xc0\x95\x06\x0c\x5c\x28\x75\xd3\x85\xfc\x80\xe0\xf8\x98\x6b\xd2\x7c\x7f\x40\x3b\xd1\x30\xff\x35\x68\x28\xd9\x24\x39\x32\x47\x13\x12\x58\x2a\x25\x32\x0a\xfb\xed\xbd\x51\x47\x86\xce\xc3\xa9\xec\x07\x02\xfb\x97\x68\x28\x43\xe2\xd2\xc0\x78\x70\x08\x4c\x19\x58\x9f\x1b\xbd\xd5\xc6\x9c\xd1\x65\x1e\x7c\x88\xaf\x17\xb8\x84\x3b\x6d\xaf\x2d\x4f\x91\x1b\xf5\xeb\xf5\xc6\x6c\x2d\xf3\x11\xfa\x1d\xc3\x2f\x8d\x52\x76\x5a\x56\xb5\x6c\xf6\xb4\xdf\x89\x90\xf4\xaf\x1b\x00\x66\xa0\x3c\x2a\x28\x94\x93\xb4\x80\xfc\x6f\xf3\xae\x31\x4b\xca\xbd\x14\xdc\xcd\x8d\x38\x22\xa4\x00\x0e\x51\x73\xd6\x9a\xef\x24\xe9\x28\xb7\x23\xe7\xc0\xe5\xb6\x0c\x99\x00\xae\x30\xdb\xc3\xa6\x79\x9c\xb4\xe6\x79\x74\xed\x4b\xab\x07\x1e\x2f\x2c\x4d\xf5\xb8\xa6\xde\xb8\x02\x88\x91\xba\xd9\x6e\xcf\xf2\x07\x49\x41\x38\xc6\x78\x20\x58\xdb\xa2\x0b\x5b\x3a\x7e\x33\x82\xae\xd7\x98\xb1\x83\x4a\x70\x71\x36\x46\x30\xd8\x0b\x5d\x03\x38\xce\xc5\xd6\xe7\xb1\x6a\x83\x15\x23\x31\xaa\x4f\x1a\x35\xad\x6c\x3c\x1e\xdd\x0f\x1f\xdc\xfe\x42\xd4\xe5\xb2\x84\xcf\x2f\xaf\x6e\x43\x40\x89\xc4\xde\x9e\x44\x1b\x11\xdd\x83\xc3\x04\xaf\x3c\xa7\x15\x4c\x24\xac\x73\xe5\x15\x27\x0b\x6d\xd1\x11\x3b\x27\xc2\xe1\x84\x68\x74\xc6\x62\x99\xa7\x09\xdf\x41\x1c\x5a\x61\x7a\x98\x8f\x61\xbb\xbc\x4a\x73\x14\xec\xf3\x17\x0f\x9f\x69\x33\x2b\x33\xff\xbb\xb1\x63\xe9\xf1\xbe\x7e\x30\x9b\xe7\x01\xcb\xc5\x96\xab\x42\x46\x73\xb5\x15\x5c\x85\xc0\x41\x8a\xc3\x9b\x41\x8e\xb5\x20\x9a\xfa\xd5\x4a\x44\x85\xe7\xb9\x05\xe3\xdd\x8d\xd4\xbe\x3d\x38\xae\xef\x6e\xe7\xf5\x76\xfd\x47\x80\x26\x23\x8c\x20\xd3\x0f\x74\x0c\xdb\xab\xf1\xc0\xf8\x12\x28\x94\xd2\x95\x6b\x1f\x83\xf0\x2f\xbb\xa6\xd8\x52\x14\x8f\x02\x68\x5c\x28\xef\xbc\xcd\xc6\x3f\x5a\xa5\xe6\x38\xd1\xf9\x76\xb9\xfe\x00\xac\x86\x1b\x2c\xc4\xbb\x39\xbe\x39\x55\x23\x8e\x7b\x41\x99\xf0\xe0\xed\x79\x41\x7e\xab\x17\x70\x4d\x9b\xd7\x63\xf6\x20\xe2\xb9\xaa\xb2\xf9\x91\xcd\xe8\x37\x1c\xf3\xfa\x8b\x4f\x73\xda\xd8\x31\x1e\xe4\xcb\x3f\x07\x06\x23\xcf\x5d\xec\x72\xbd\x7b\xf4\x20\xdb\x63\x6c\xcf\x20\x35\x38\x38\xc8\xe3\x25\x1a\x49\x5f\x8d\xe4\x58\x2b\x90\x0f\xb7\x28\x1d\x57\x19\x12\x99\x3a\x8c\x2e\xf9\x25\x1b\x9e\xce\xb6\x32\xe6\xca\x92\x78\xac\xca\x04\xc9\xa9\xbb\x52\x25\x88\xba\xd0\x26\x1c\x7e\xbd\xc4\x53\xe7\x57\x63\x81\xa4\xa5\x43\x66\x04\x78\x69\x3c\xeb\xec\xaa\x17\x2a\x2f\xc1\xa4\xb0\x6a\x76\xe0\x78\x5e\x8b\x02\x6e\xf3\xb8\x4c\x90\x93\x02\x3c\xe6\x40\x83\xc8\x93\x84\xc9\x22\x9f\x2b\xc7\xda\x88\xf9\x10\x70\xc2\x5a\x97\xba\x15\x42\x57\x4e\x4e\x1d\x3e\xe6\x0a\xec\x30\x19\xc9\xa2\x81\x32\xdf\x85\x0a\x50\x69\x2a\x38\xa6\x50\xe3\xb4\xcd\x55\xf8\xe6\xaa\x4f\x02\xe5\x1b\xf3\x44\xf2\x1e\xa1\xfa\xa7\x58\xba\x33\x53\xc5\x41\xd0\x0a\xec\x9d\x79\x70\x59\x71\x67\x6c\x2d\xd1\xb6\x10\x18\xd4\xbc\x6a\x8a\xdc\xfa\xc8\xfd\xbb\x15\x52\x29\xa2\x32\xe1\x19\xe6\x90\xac\xca\x84\xc9\x55\xa0\x53\x0d\x73\x80\x9c\x7d\x66\xba\x22\x0d\x77\xb5\xf5\x92\xe7\x7c\x2b\x02\xba\x10\x72\xef\x24\x01\xcc\x03\x85\x08\x10\x3f\x60\xca\x7a\x39\x65\x6f\x3d\x2b\x29\xce\x30\xec\x89\x80\xeb\x57\xe6\x78\xfc\xb9\xf6\x06\x99\xee\xd0\x3b\xd3\x44\xad\xcc\x8e\x74\xbb\xae\x63\x06\x41\x33\x64\x1c\x86\xc4\x2a\xc6\xf4\x03\x9b\x5b\x99\x2e\xcc\x4f\x6b\xc8\x12\xb7\x21\x3a\x1a\x68\x6f\x85\x91\x8d\x0c\x79\x92\x0f\x68\xa8\xe3\xa1\x6e\x69\xec\xb6\x47\x16\x1b\xe6\x71\x64\x53\x03\x91\xb9\xf1\x0d\x0d\x56\x4e\x88\x18\x1a\x32\xb2\x6b\x5e\x8c\x85\x0f\xb9\x7c\xa1\xf1\x0d\x6d\x85\x6a\x0d\x69\x26\x9c\x1e\x23\xdb\x39\x33\xbf\x39\xb0\xa1\x56\xb0\x3f\x90\xa1\x81\xa3\x42\xf0\x68\x53\x4d\xdd\xb7\x04\xbb\xae\x07\x90\xba\x05\xfb\x71\x3c\xeb\xc0\xcc\xaf\x39\xd0\xd9\x63\xa6\xf9\x53\x76\xa5\x04\x82\xfb\xf4\x2a\xb8\x54\xa8\x01\x24\xc8\x07\x1a\x27\xee\x94\x5b\x9a\x86\xa9\x7b\xcb\x68\x64\xb6\xdc\x84\x71\x5f\x3a\x9c\x7a\xb8\x6c\xf0\x14\xe9\xb0\x25\xdb\x14\x81\x8e\x30\x2f\x87\xf1\x02\xb4\xbf\xf9\x03\x8c\xec\xf8\x13\xa0\xad\x1f\xc3\xa7\xa5\x17\xec\xee\x5e\x71\x16\xe1\x5e\x5d\x37\x0c\x11\xaf\xfb\xc6\xf7\xe3\xa6\x0a\x94\x1c\xa1\x9f\x77\x77\xf9\xf6\xfc\xdd\xc5\x65\x55\xf4\xee\xcf\x77\xe7\x77\xd5\xbf\x5c\xdf\x5d\x5e\x5e\x5c\xfe\x10\xfe\xe9\xe6\xee\xec\xec\xfc\xfc\x6d\xf5\x7b\xef\x66\x17\xef\x6b\xdf\x33\x7f\xaa\x7e\x69\xf6\xe6\xea\xba\x26\xb3\x67\x35\xf2\x82\x3f\xdd\x5e\x7c\x38\x7f\xbb\xb8\xba\xab\x28\xf5\xbd\xfd\xf7\xcb\xd9\x87\x8b\xb3\x45\x4b\x7b\xae\xcf\xcf\xae\x7e\x3e\xbf\xde\x23\xb4\xe7\xfb\xdb\x3a\xa4\x4f\x01\x1f\x3b\x58\x76\x71\xc6\x56\x99\x14\x2a\x4e\x76\x98\x1e\x60\x5f\xb6\x35\xbc\x6f\x78\xf7\xca\xad\xd0\xe5\x31\x28\xff\xdb\x8d\x60\xfa\x41\x64\x40\xbe\x84\xa5\x11\x53\x83\x4f\xf4\xae\xd7\x9a\x89\x22\x6b\x46\x05\x7a\x93\x99\x8a\x6c\xe7\xd2\xe5\xfa\x9a\xe3\x89\xfb\xa8\x12\x96\x8a\xac\xaf\x2d\x60\x19\x65\x65\x5a\xc8\x65\x77\xde\xc6\xe8\x7c\xe7\xa1\x6f\x6f\xa4\x99\x6d\xe7\xe4\xba\x6c\x3f\x18\x2b\xe9\x0b\xc7\x60\xa3\xa1\x84\x43\xd5\x44\xdd\xaf\x2d\x9e\x34\x2d\x97\x89\x8c\x98\x8c\xeb\xfe\x14\xa2\x21\x00\x97\x71\x9d\x8d\x3a\x15\x19\x98\xaa\xe6\x05\x90\x66\xe2\x84\x97\xc5\x06\x99\x13\x29\x5b\x82\xb4\x43\xe6\x2a\x17\x51\x26\x30\x16\x20\x72\x70\xd2\xa2\x8c\x64\x50\x13\x34\x86\x88\x43\x62\xe0\x28\x9b\x06\xca\x20\x1d\x31\x02\xfc\x25\x96\x3e\xc2\x49\x8a\xdf\xef\x1d\x1a\x6a\xb1\x44\xa1\xca\x00\xf9\x03\x37\x3c\x7e\x68\xc5\x28\x4d\xbf\xcd\x49\xed\xc4\x18\x71\x92\x6d\x7a\x49\x7b\x37\xf6\xad\xb1\x70\xa1\x54\xf3\x2d\xa8\x74\xfa\xe8\x2c\x13\x70\x89\x10\x14\xc0\xfa\x2f\x00\xba\x42\xe9\x28\x90\x85\x62\x9e\x6a\x4b\xb1\xe1\xc9\x0a\x2d\x0e\x33\x35\xed\x64\x0e\x58\xfe\xad\xbe\x17\xea\x1a\x27\xec\xab\x1c\x87\x0a\x5f\x3e\x9e\x4a\xc6\x79\x84\xbc\x0b\xd3\xb4\xd1\xae\x2a\x9b\x8e\x07\xc6\x54\x81\xef\x84\xe0\x63\xcc\x3a\xf1\x44\xf1\x36\x93\x6f\xb5\x92\xbf\x9a\x02\xe7\x4a\xb4\x52\x65\x03\x5e\xc8\x92\xfa\xb9\x73\x19\xb0\x51\xc8\x8c\x76\x2f\x14\xc8\x58\xa2\xca\xfd\xde\x35\x3b\xce\x7f\xde\x9c\x8b\x1e\x87\x3e\xf8\xfc\x64\x45\xdd\x33\x8c\xf2\xd8\x71\x2a\x30\x0d\xc8\x51\x1f\xc0\xba\x39\x7b\x7f\x71\x7e\x79\xbb\x38\xbb\x3e\x7f\x7b\x7e\x79\x7b\x31\x7b\x7f\x33\x74\xfb\x3d\x45\xea\x56\x6d\xf7\xd5\x33\x98\xdc\x09\x71\x4a\x3b\xcf\x67\x10\xbb\x4e\xf9\x6d\x07\x53\xb2\xbf\xf5\x32\x4e\x17\xb1\xcc\x23\x73\xfd\xed\x16\x42\xc5\xa0\x31\x70\xd0\x52\x6d\x2f\xaa\xde\x0b\xf7\x0d\xe6\xbe\x61\x4f\x10\xbc\xed\x1e\xec\x8a\x76\x9f\x03\xea\x0e\xdc\x90\x99\x30\x9b\x3f\xae\x50\x3b\x4c\xf7\x0b\x4b\x99\xe2\x8e\xeb\x5b\xb5\x88\x7a\x9f\xb0\xbd\x32\xcf\x4b\x60\x90\xb0\x5f\x03\xc8\x61\xc7\xa8\x10\xf1\x6b\x28\x74\x20\x03\x91\x6e\x26\xf3\xb9\xda\x72\x15\xf3\x42\x67\xbb\x8e\x2e\x0e\x3b\x3c\xc3\x6d\x53\x3d\x42\xc3\x2b\x5b\x09\x11\xdb\x59\xc0\xaf\x72\x55\x5f\x4a\x28\x87\x70\x7b\xf5\xd3\xf9\xe5\xcd\xe2\xfc\xf2\xe7\xc5\xc7\xeb\xf3\x77\x17\x7f\x71\x48\xc8\x94\xe7\x6d\xa2\xbc\x69\x26\xcc\xe9\x62\xd9\xa5\x5a\xcf\x17\x54\xca\xb5\xe5\x90\x3a\xa2\x5c\xcd\x95\x3d\x59\x32\x5f\xfc\x26\xd3\xe5\x7a\xd3\x5e\x50\xbd\x95\x1f\x67\xb7\x3f\x1e\xd4\x4c\xe0\xfe\x43\x39\x4d\xdc\x6d\x4d\x44\xa8\x5c\xd1\xb9\x87\x30\xd2\x5a\xf3\x80\xc1\x12\xbe\xda\x16\x65\xe8\x38\xd1\x0e\x7a\xbd\x34\x0f\xad\x5e\xe3\xbf\xe5\xeb\x5d\x0b\xe8\x36\x38\x37\x2b\xd7\x08\x20\x94\x51\x95\xb9\x51\xda\xeb\x96\xbf\x55\x6e\xb0\xef\x4e\x12\xb1\x5e\x8b\x18\x97\x57\xbd\x60\xf2\xc1\xd1\x11\x18\xf9\x7b\xbd\x6d\x14\x49\x37\xf5\x88\x8b\xd9\xe1\xbd\x86\x1f\xe0\x1f\xdd\x4f\xda\xcf\x8a\x33\xe2\xef\x81\xf8\x66\xc1\x55\x47\x20\xf9\xa1\x89\xd0\x1c\x74\x14\x5d\x65\xcc\xe5\x67\x91\xc3\xc4\x86\x0c\xfc\x3e\xe8\x02\xbc\x1c\x8f\x0b\x75\xed\xb8\x16\x69\xc2\x23\xe1\x72\x18\x90\x78\x15\xde\xf5\x87\x04\xf0\x48\x9d\x56\x91\xbf\x25\x50\xad\xf5\x82\x5c\x6d\x4b\x00\x3c\xb7\xc7\xe6\x65\x91\xff\xf7\xb9\x12\xb3\xb0\x91\xd7\xf6\xd2\x78\x7e\xff\x4f\xef\xeb\x92\x38\x21\xc1\x1b\x8e\x1a\x86\x84\xcf\x47\x87\x19\x08\x83\x76\x62\xa7\x47\xad\xd9\x5a\xcd\x3f\xd3\xea\xc4\x87\x7d\xd5\x1b\xcf\x2d\xeb\xaa\x5b\xc3\xce\xbe\xed\x73\x6a\x16\x45\xd6\x4b\xd4\xfc\x14\x31\x93\x8f\x99\xde\xca\x5c\xcc\x8a\x22\x93\xcb\x32\x54\xaa\x1d\x89\xea\xab\xbc\xa0\x7c\x87\xd3\x4c\xc7\x65\x64\xa9\x95\xa0\xb7\x1e\x9b\x44\xae\x48\x6b\x1a\xc5\xec\xc4\x6c\x11\x7a\x5e\x8a\xf8\x04\xb2\x0e\x90\xfb\xab\x2d\x10\x68\x4f\xef\x0e\x07\xe5\x47\x6b\x6f\x1c\xb3\x24\x5b\x16\x45\xf7\x60\xda\x35\x30\x2c\x41\x99\xd9\xaf\x83\x99\xde\x01\xed\xa2\xe5\xb2\xe4\x18\xe5\xaf\x1a\x52\x5d\x4c\x2a\xee\x3e\x1c\xb7\xe1\x87\x01\x78\xaa\x69\x3d\x68\xdc\x6c\x78\x8e\x6f\x8e\x22\xda\x54\x1b\x0e\xbd\xa9\x32\xca\xd6\x9b\xeb\x6c\xf8\xe3\x7c\x3b\x83\x62\x7d\x13\xf4\x86\x48\xf2\xbe\x57\xd4\x41\x9d\xd4\xf1\x38\x97\x7c\x68\xd6\xba\x67\x27\xde\x58\x70\xd8\x27\xbc\x54\xd1\x86\xa5\x09\xc7\xa4\xfc\x0d\xcf\x71\x49\x5b\xc0\x0b\x5f\xca\x44\x16\xc0\x76\x84\x71\xd8\xda\x08\x9b\xb7\x28\xcf\xee\x2d\x69\x3c\xf7\xd4\x56\x7d\x8b\xfe\x48\x60\xb1\xeb\xd5\x17\x85\x16\xfb\x2d\x1b\x1e\x43\xc3\x96\x25\xc1\x8a\xfd\x74\x98\x83\x18\x96\xa5\xef\xcb\xb8\x99\xa5\x12\x3f\xd6\x7f\x5e\x19\xef\x16\x13\xeb\x80\xcc\x69\x54\x43\x19\x71\xfb\xd4\xb5\x52\x5a\x77\xd6\x2a\xd1\xbc\x43\xaf\xdf\x96\x8d\xd2\x27\x5d\x65\xc7\xba\x5c\x76\x91\xed\x63\xab\xfa\x4b\xef\x8b\xd8\xd8\x7d\xfb\x54\x1e\xdd\xf0\x00\xe4\x85\x28\xe4\x38\xa7\x54\xd0\x69\x5e\x88\x13\xf8\x79\x7b\xe1\x94\x06\x39\xb8\xcf\x8d\x85\xe6\x05\xb8\x9c\x65\x09\x80\xc7\xb6\xd5\x55\xbb\x9d\x8f\x01\xae\x1f\x39\x5f\x52\xed\x59\x4a\xfb\x35\x7d\xfe\xf8\xdd\x10\x83\xf2\xcf\x25\x37\xe7\xe1\xd5\xea\x06\x39\x87\x8e\xe9\x74\x21\x9b\xdb\xaa\xfd\xf8\xa9\xd7\x7a\x5b\x8d\x01\x86\x0b\x7f\x70\xba\x74\x5b\x6f\x6e\xcc\xaf\x87\x9f\x42\x17\x15\x5f\x5f\x9a\x49\x0d\xdc\x3b\x7a\x85\x4c\x96\xdd\x54\xcc\xad\xf5\x1e\x31\x92\x9f\x4b\x51\x0a\xb3\x80\x96\x65\xbc\x6e\xba\xe2\x47\x58\xca\xbe\x4b\x1b\xfd\xc8\xb6\x65\xb4\x61\xb6\x70\x16\x8b\x84\xef\x2a\x5d\x03\x23\xb1\xd0\xc0\x8b\x3a\x8a\x82\x2c\x60\xb3\x8e\xca\xbc\xd0\x5b\x40\x41\xfb\x72\xb3\x52\xc1\x2e\x67\xdc\xee\xae\xb6\xf3\xbd\xc2\xd2\x77\x60\xfc\xf5\xe6\xe3\xf9\xd9\xc5\xbb\x8b\x5a\xf0\x73\x76\xf3\x53\xf8\xef\x5f\xae\xae\x7f\x7a\xf7\xfe\xea\x97\xf0\x6f\xef\x67\x77\x97\x67\x3f\x2e\x3e\xbe\x9f\x5d\x56\x42\xa4\xb3\xdb\xd9\xcd\xf9\xed\x9e\x28\x68\xb3\xd6\xee\x89\xe0\x01\x89\xa0\xc5\x65\x5b\x85\x0c\xeb\x0c\xa1\x5a\x5f\xb3\x99\xa5\x54\xac\x90\x7e\xda\x48\x36\x40\x5f\x12\x44\xf0\x61\xc0\xdb\xbc\x5f\xcf\x78\xc1\x13\xbd\x9e\xb2\x19\x23\xd4\x3a\x66\x23\xe4\xc6\x42\x22\xbe\x39\x33\x3b\x58\x84\x31\x93\x22\xef\x68\xf0\x12\xc0\x7a\x45\x4c\x8f\x89\x08\xc5\x62\x6c\xea\xdd\x5c\x9d\x3f\x08\x55\x94\x40\xe6\xcb\x93\x84\x51\xb5\xf6\x0b\x01\xad\x80\x6d\x65\x2e\xb7\x32\xe1\x99\x57\x6b\xbd\xa2\xb2\xe0\x95\x62\xdb\xea\x88\xae\x9a\x39\xeb\xf6\x21\x77\x77\xc1\xa0\xdd\x67\xef\x2f\xc0\xee\x8b\x0a\x2b\x45\x66\x2b\x9f\x2b\x64\x12\xa4\x1a\xb7\x1c\x32\x64\x0a\x4d\xee\x5f\xac\x9e\xbe\xdc\xbd\x10\x8f\xa2\x54\xb7\x81\x92\xe7\x7a\x51\xba\x46\xda\xff\x38\x57\x45\xb6\x1b\x6c\xcc\xdd\x42\x4a\x78\x0e\x06\x39\x01\xee\xaa\x0a\xae\xe8\x9d\x63\xb6\xf4\x4b\xb0\xf0\x2c\x1a\x94\x82\x47\x2e\x46\x84\xe0\x9b\x8e\x47\x47\x62\x6e\xde\xdf\xea\x38\x84\xc4\x42\x30\x0a\x4b\x5d\xaa\x38\x27\x68\xe0\x56\xaa\xd3\x2d\xff\xf5\xa5\xed\x29\xb2\x60\x38\x1d\x25\x20\x61\x13\x89\x79\x7e\xed\xcc\x21\xd7\x3f\x5c\x73\xd5\x33\x5e\xfb\x4d\x64\x7b\xb2\xc2\x5b\xcf\x3f\xcc\x11\xe4\xf8\x20\x76\x6d\xf3\xd7\xd0\xc2\x63\x21\xa1\x3b\x14\x92\x66\xc2\x7c\xd1\x21\x28\x13\x04\xc6\xba\x7f\x43\xa6\x44\x45\xaf\xb7\xfd\xec\x0e\x41\x09\x47\x6d\x9b\x56\x38\xc4\x70\xc3\x67\xb0\x98\x21\xd5\x64\xe6\x0c\xc1\x11\xd6\x2f\x4f\x99\x21\x14\xf5\x35\x93\xf5\x5f\x7a\xc9\x56\x90\x26\x85\xd9\x80\x2c\x13\x10\x87\x81\xa9\xb0\xea\x1b\x40\xd5\xd5\x40\x5c\xd8\x25\x90\x88\x1c\xa2\x13\xca\xbc\x31\xc5\xe7\x92\x02\xcc\xaf\xbe\x1d\x77\xcf\x16\x48\xe1\x8e\x9c\xbd\x75\x72\x73\x77\x97\x43\xbb\x4a\x25\xdb\xf8\xfb\xae\x4b\x65\xae\xe2\xa7\xc0\xe6\x0c\x0f\xbe\xd6\x2a\xa5\x7f\xee\xcd\x64\xb2\x71\x83\x0c\xbf\xff\x6c\x74\xac\x3f\xd7\x58\x58\xa9\x3a\xc0\xcd\x53\xe9\xe1\x85\xb6\xe4\xd1\xfd\x23\xcf\x62\x74\x2e\x03\x58\x66\xca\x7e\xd4\x8f\xe2\x41\x64\x13\x16\x89\xac\xe0\x44\x81\x96\x03\x5a\x00\x36\x14\x95\x33\x57\x90\x46\x82\x7c\x72\x2a\x2f\x33\xc1\x0a\xb9\xde\x98\x47\x74\x80\xf5\xd0\x99\x39\x8e\x0a\x64\xbf\x4c\x45\x44\x8c\x4e\x1d\x03\xb0\x4a\xf8\x43\x93\xd3\xed\x10\x2a\x0a\x76\xe1\x72\x61\x6d\x30\xd5\x2a\x1a\xf5\xa1\x73\x68\xc0\xe8\xd0\x44\x0e\x9e\x09\x5b\xeb\x84\xab\xf5\x74\x3a\x05\xf6\xfe\x97\xa3\x16\x3a\x15\x18\x86\x67\x1d\x06\x3c\xd1\x3a\x17\xc9\xce\xb1\x10\xb9\x2c\x1d\x80\x85\xfe\x5a\x08\x95\x4b\xf4\xf3\xb4\x2c\xff\x9b\x7a\xe8\xe2\xcb\x46\x7a\xda\x9f\xe7\xa3\x73\x40\x3b\xca\x01\x81\xc4\x11\x25\xe1\xf7\xdb\x5f\x5e\x07\xe5\x34\xb7\x97\xa5\xb4\x1a\x9b\xa8\xfb\xb3\x96\x1d\x40\x83\x83\xf8\x0b\x5b\x4b\x22\x26\x95\x83\x92\x1b\xdb\xc7\xac\x91\x6f\x7a\x44\xaa\x69\x4f\xd6\xe8\xc8\x84\xd1\x21\x8e\x80\x9b\xfa\x74\x8f\xde\x16\xfb\x35\x9b\x5a\x3b\x34\x32\x21\xd7\x67\xce\x8f\x31\x9d\x30\xa7\x2f\xd9\xc1\x8b\xcb\xa5\xe7\x82\x3b\x3d\x0e\xc2\x01\x95\x68\x07\x24\x8a\xf9\x70\x89\x63\xb8\x0a\xa2\x23\x79\xa1\x33\xbe\x16\x6c\x2b\x62\x59\x6e\x5b\x0f\x1b\xd7\xdc\x63\xc0\x89\x3a\x29\xb7\xdd\x5c\x83\xc7\x1a\xd0\xbe\x91\xf8\x5f\x67\x50\xdd\x60\x03\x7a\xe6\x70\xf7\x56\x3a\x8f\xda\x8b\xbe\x7f\x1a\x6b\x73\x53\x66\x32\x07\xe2\xce\x43\xf2\x32\x5d\x31\x58\x34\x84\x77\x77\x29\xfa\x9c\x2b\xb3\x7b\x62\x43\x5a\xf4\x93\x1c\x67\x15\x62\xc2\xdd\x97\x42\x1d\xf2\x38\x5e\x40\x2b\xd3\x65\x83\x11\x68\x50\x18\x1e\xcc\xc6\x80\x4e\x9f\x30\x59\x50\x20\x01\x47\x0a\xcd\x56\x36\xd3\xef\x5e\x04\xdc\x69\x31\x10\xed\x3f\x22\x11\xcf\x4f\xdf\xe7\x16\x62\x42\x28\x20\x6f\xb1\x14\xbe\x12\x0c\x88\x3c\xbc\xb2\xe0\x2f\xec\x21\x16\x01\x0c\x67\x31\x57\x45\x6b\x01\x1e\x1b\x09\x65\xe1\x4f\x7e\xe6\x65\xd2\xfe\x75\x2a\x1f\xbe\x8a\x42\x8c\xb3\x5f\x6e\x18\x0e\x35\x51\xb2\x67\x7d\x0d\x0d\x0a\xd9\x0f\x3f\x83\xe1\x5a\x1c\x60\x09\x56\xe6\x01\x07\xdd\x72\xf2\x9b\x61\x17\x45\xb4\xf1\x96\x07\x30\xbc\x39\x66\x3a\x52\xd9\xa5\x7e\x6e\x3d\xc9\x3c\x22\x7b\x43\x88\xa4\x5c\x2b\x1d\xea\xa3\x68\x25\x20\x32\x65\x0e\x20\x1d\x16\xcb\x64\xb1\x1f\x87\x36\x92\xd6\x6c\xdf\x52\x2b\x34\xe2\x8b\xa8\x9f\x95\x00\x23\x3c\x29\x24\x92\x21\x59\x10\x2f\xbe\x89\x48\xb4\xb5\x4e\x3e\x5e\xa5\x97\x98\xab\x6a\x55\x8d\x41\xb2\x40\x31\x99\x09\xe4\x0c\xce\x8d\xf5\x56\xc8\x07\xb3\x51\x9b\xcb\xda\x2d\x50\x38\x01\x9a\x6b\x6f\xae\xb0\xd9\x01\xf1\xf0\xbd\xd8\xe5\xa1\x42\x2c\xad\x28\xd6\xb5\x20\xa5\xe9\x0f\xcd\xd7\xfe\xa9\x80\x81\x5b\x64\x5e\xe7\x6d\xd8\x5d\x86\x95\x7e\x30\x3f\xee\x41\xa0\x36\x0a\x37\x6b\xd0\xa7\x52\x7a\x9f\x22\x1d\x13\x7e\x9c\x69\x0e\x3d\xc8\x0c\x20\x84\x21\x48\x30\xcc\x8b\x81\x87\xaf\x79\xdf\xce\x15\x71\x93\x07\x97\x9c\x39\x70\x9a\xd3\x46\xf9\xdd\xc8\x88\xbc\xab\x70\xd3\x00\x37\xa3\xe5\xa9\xac\x56\x69\x83\xad\x56\x60\x7c\xae\xa0\x6a\xcc\x80\xb5\x3e\xbc\xd6\x0a\x0f\x44\x2e\xd2\xe4\x76\xa2\x15\x83\x34\x33\xfc\x26\xd1\x13\xa2\xd4\x30\xbe\x7e\x22\x61\x86\x6f\xa6\x5a\x81\x82\x16\x26\x78\x73\x7e\x76\x7d\x7e\xfb\xc5\xd0\x8c\x16\x4a\x38\x1a\xce\x68\xdb\xf9\xf6\xfc\xdd\xec\xee\xfd\xed\xe2\xed\xc5\xf5\x73\xe0\x19\xe9\xa3\x03\x00\x8d\x37\x24\x79\x70\xa6\x55\x21\x7e\x3d\xea\x4e\xce\x4a\xb5\xe0\x23\xb0\x58\x4e\xf4\xa4\xcf\xdc\xc1\x42\x9b\x92\x0d\x4e\x4f\x81\xc8\x31\xf1\x46\x73\x0a\x0d\x2b\xef\x34\x5c\xc9\x24\x81\x3c\x63\xe7\x5e\xa7\x1c\x36\x33\xa8\x70\xfe\x58\x3e\x50\x3a\x53\xe7\x6a\x59\x51\xd4\x00\x97\xdf\xc6\x3c\x82\x31\xc3\x38\x35\x03\x90\x49\xc8\xdf\xec\x53\x75\x58\x4b\x25\x7c\x33\x60\xd6\x4c\xfb\x3a\x79\xae\x69\x12\x9f\x13\x12\x45\x86\xd7\x50\x5b\xd3\xae\xb8\xca\xfa\xb4\xe6\xa7\xfd\xd0\xf5\x10\x37\xb1\x54\x68\x98\x56\x76\xf3\x4d\xfb\xd2\x3d\xf5\x5b\x00\xc6\xdd\xcc\x24\x87\x18\x04\x28\xef\xfb\x89\xa4\x89\x40\xb5\x27\x1f\x9c\xb8\x97\x08\x1d\xd2\xab\xda\x38\x9b\xa3\xd0\x8c\xb5\x84\x48\x05\x27\xea\x94\x28\x29\xf3\x42\x64\xe4\x36\x99\xfd\x72\x33\x57\x6f\xcc\xf5\xf5\x92\x6e\x21\x52\x04\xc2\x2a\x10\xb8\xa2\x2b\xf5\x5b\x0b\x25\x3c\xc1\xbe\x41\x1f\xf5\x56\x70\x95\x33\xd8\x1a\x49\x22\x32\xbf\x32\xb0\x3d\x42\xc4\xa4\x8c\x0b\x5c\xb1\xfe\xf7\x2f\x19\x41\x27\xcd\x50\x98\xf6\xd2\xa7\x99\xd8\xea\xa2\xb9\x9e\xba\xd2\xd8\x01\xcf\xfc\x9c\x2b\xa7\x25\xad\x66\xe8\x2a\x22\x28\x78\xeb\x22\xaa\x26\xb9\x0c\x5a\x4b\xb7\x58\xdc\xef\x4b\xe9\x09\x97\xd2\x80\x7b\x3d\xbc\x25\xd8\x46\x9b\x03\xd4\xc9\xe5\xf8\x30\xb3\xa3\xd1\x48\x00\xf4\x65\x86\xb1\xf5\xd6\xa9\x49\x46\x1e\x83\xfd\x80\xa2\x8e\x83\xd6\xce\x5a\xf8\x7a\xbc\x36\x99\x8d\xed\xf4\xaa\x51\x3e\x0f\x2f\xde\xcc\x82\x0c\x95\x2e\x2c\xc3\x85\xc3\xf5\x11\x48\xd1\x7c\xc1\x51\xab\xf4\xb6\x91\xe8\x4a\xac\x95\xb2\x38\x52\xd1\xed\x36\x04\x43\x56\x72\x7e\xb1\x15\x21\x5b\x80\x65\x08\x70\x0c\x23\x63\x16\xdf\xe1\x9a\xa1\xd5\x35\xe7\xd8\x2a\x0f\x02\x3b\x5c\x5e\x5d\x9e\x87\x50\x85\x8b\xcb\xdb\xf3\x1f\xce\xaf\x2b\xd9\xe2\xef\xaf\x66\x95\x8c\xef\x9b\xdb\xeb\x5a\xa2\xf7\x9b\xab\xab\xf7\xe7\x0d\xcc\xc3\xf9\xed\xc5\x87\x4a\xe1\x6f\xef\xae\x67\xb7\x17\x57\x95\xef\xbd\xb9\xb8\x9c\x5d\xff\x7b\xf8\x97\xf3\xeb\xeb\xab\xeb\x5a\x7d\x77\x67\xfd\xe8\x89\x4a\x37\xda\xdd\x3f\x3e\x38\x1b\x10\x77\xb6\x6e\xe3\xaa\xa6\xea\x11\xbb\x78\x20\xf2\x6c\xdf\x72\xb4\xc9\xe0\x71\xc8\xe7\x8f\x1b\xc3\x34\x75\xd4\xaa\x7b\x7a\x11\xd8\xca\xd0\xa5\xfc\xb8\x63\xcf\xdc\x6a\x8b\xa7\x40\x02\xf6\x1a\x80\xae\x96\x9a\xe3\x96\x34\x97\x71\x68\x53\x88\x60\xad\x79\xa7\x04\x92\x8a\x9f\xbd\xa5\xb6\x8e\x7d\xed\xf4\x44\x51\x7b\xf8\x76\x9e\x8a\x6b\xa3\xaf\xd1\x41\x65\x36\x95\x5d\xc6\xd6\x50\xb0\x1f\x06\x17\x37\x74\xc3\xac\x9c\x60\x39\x76\xa9\x75\xb6\xe7\x9b\xf4\x73\xbb\x8d\x6d\x3f\x55\xd2\x6c\x7b\x8d\x08\x64\x44\xbb\x81\x90\x69\x4c\xbb\x6f\x79\x7e\x3f\xb6\xdd\x54\x49\xb3\xdd\x60\xf6\x1d\xd4\x6e\x70\x78\x17\xed\x24\x2d\x23\x0e\xb1\xb0\x98\x6a\xf3\x5c\x06\xb9\xfb\x4a\x20\x8a\x3b\xac\x8d\x66\x03\x3c\xef\xf3\x32\xe5\xc3\x03\x19\xd0\x1a\xb7\x5d\x79\x8d\xb3\xfc\x06\x3e\x85\x1e\x2e\x33\xc1\xef\x63\xfd\x48\xf3\x51\x47\x86\xb2\x41\xa7\x79\x75\x80\xcc\x19\x6e\xaf\x88\x22\xa3\x08\x14\xa2\xd4\x7c\xf1\x00\x93\x93\xc4\xba\x8d\x36\x58\xa0\xe6\x5a\xa7\xb9\x01\x62\x21\xe5\x67\x67\xae\xd0\x9a\x6f\x53\x84\x35\xb3\x6a\x5a\x44\xc4\x14\xd0\x55\x67\x43\x63\x70\x3d\x0f\x26\x96\x12\x38\xca\x0c\xc0\x74\xcb\x0c\xde\x4c\x30\x20\x52\x81\x33\x39\x33\x0f\x9e\x4c\x44\x32\x17\x81\xe4\x54\xeb\x8d\xfd\xf9\x38\x81\x8a\x82\x17\xad\x6e\xd7\xc1\xfe\x70\x1e\x15\x25\x4f\xd8\xe7\x52\x64\x3b\xe2\xf7\x43\x5f\x25\xfe\x25\xe2\x0a\x33\x45\x0a\xb1\x4d\x21\x67\x3c\x4c\x71\x98\xab\x5f\x00\x28\x81\x53\xf0\x22\x67\x3f\x00\xe4\xc1\x7e\x99\x2e\xe1\x2d\x2f\xe0\x2e\xfe\x33\xd6\xe1\x3e\x9b\xce\x55\x45\xc2\x25\xf8\x55\x45\xcd\x65\x3a\x57\x56\x43\x21\xd6\x51\x3e\x85\x17\xdf\x54\x67\xeb\x53\x12\x48\x36\x8b\x5d\xdf\x2f\xb5\xbe\x3f\x15\xea\x14\x7c\x52\xc5\x29\x2f\x0b\x7d\x0a\x70\x29\x9c\xff\xfc\xd4\xea\xa8\x5a\x21\xda\xfc\x74\x23\x1f\x04\xfc\xbf\xe9\xa6\xd8\x26\xff\x94\xa7\x9b\x5f\x4f\xd6\x49\x76\x62\x7e\x7b\x12\xfe\xf6\xc4\xfe\xf6\xc4\xfe\xf6\xc4\xfc\x0c\xff\x5f\xba\xc3\xf0\x8e\xf8\x95\x9b\xbb\x6c\x32\x57\x52\xe5\x22\x2b\xc0\xfa\x79\xcc\x64\xe1\xb5\x72\x76\xec\xc5\xff\xfc\x0f\x9b\x66\xfc\xd1\xe7\x5b\x7e\x44\xff\xe2\xdf\xfe\xf6\x02\x02\xaa\x98\xd4\x93\xf2\xec\x73\x29\x8a\xb9\xca\x85\xd9\x84\xec\xff\x9b\x2b\x88\xc0\x6e\x77\x8b\x02\xfd\xae\xe8\x83\x8c\x73\xf6\x6f\x58\xe6\x05\x72\x5d\xc6\xb9\x29\xa9\x23\x9d\x40\xf2\xa4\x45\x7a\xbb\xc3\x45\xff\x39\x79\x4b\xdf\x1f\xb1\xad\x3f\x27\xd5\x5d\x6d\xd5\x5a\xf2\xcf\x09\x5c\xa0\x89\xe6\x16\xac\xc5\xdc\xe2\x85\x77\x32\x35\xae\x6d\x8f\x34\xa0\x01\xcf\x1a\xa6\x6f\xdf\x2b\x37\xc8\xb7\x6d\x3d\xf7\x8d\x63\x04\x62\x05\x3e\x0e\x01\xd1\x73\x69\x76\xc8\x0d\x7a\x42\xc1\x72\xc3\x9e\x83\x4d\x4a\xa1\x73\x57\x1e\x3a\x2e\xf2\x3f\xbe\x3e\x3d\x9d\xb0\x75\x0e\xff\xb3\xfc\x0c\xff\x03\xe8\xa1\xa7\xa2\x8c\x6d\x0c\xa6\x03\xc2\x35\x67\x79\xff\x4c\x3c\x05\x8a\xee\x4b\xb0\x94\xd7\x96\xe9\x9b\x52\xc5\x89\xf0\x29\x90\x95\x90\x48\xa2\xad\xf4\x3f\x3a\xc6\xea\x7a\x30\x30\xc7\x4b\x11\x71\x73\xf0\x35\xea\x46\x70\xa9\x5e\x15\x42\xa1\x37\x2c\xf3\x72\x71\x1c\x3d\x57\x60\x16\x03\x14\x92\x17\x04\x39\x17\xf0\x47\xa8\x04\x68\xbf\x27\xf5\x8f\xd8\x4e\x97\xc4\x60\x0d\xbc\xac\xb1\x88\x12\x90\x09\xb0\xdc\x34\x2c\x13\x45\x99\x29\xc6\x59\xca\x55\xcc\x73\x58\x81\xab\x0c\xa2\x9d\x19\xe3\xcd\x86\x4e\x10\x8e\xab\xcb\x02\x18\x97\x10\x59\x10\x8e\x04\x52\x8c\x07\x6d\x9e\x04\x8d\xc0\x3b\x01\x98\x8e\x1b\x3f\x9c\xce\x95\x15\x34\x23\x2c\x1c\x7a\xca\x22\x9d\xee\x88\x4f\xa7\x3e\xe8\xd2\x7a\xce\x68\xb8\x27\x1e\x6f\x52\xff\xee\x84\xc9\x6a\x68\x0d\xd8\xcc\x8b\x40\x35\xda\xea\x6e\x7f\x23\x54\xa4\x63\x91\xe5\x2f\xcd\x36\x94\xee\xdd\x81\xf6\x83\xcc\xfd\x64\xc0\x29\x65\x2e\x37\xf2\x16\x9a\xe2\x9d\xec\x8f\x19\x9d\x0a\xff\x75\x9b\x9d\xb3\x7f\xab\xfc\xd6\x51\x30\x6d\xed\xa5\xff\xfc\xa2\x88\x98\x10\xd7\x69\xdf\x9c\x87\xbb\x20\x70\xcb\x86\x27\x2e\x16\x8a\x36\x0e\x19\x27\x56\xa2\x57\x16\x20\xb1\x97\x89\xbc\x98\x2b\xba\x81\x27\x6c\x25\xb8\xb1\xf3\x26\x2c\xca\x1f\xf0\x30\xc6\xeb\xbe\x78\xd4\x1e\x83\x63\xc5\x53\x00\x0c\x5b\x29\xdc\x3b\x89\xf1\x6b\x80\x28\xe0\x51\x81\x00\x83\x4e\x35\x77\x6b\xaa\xc0\x60\xb5\x1e\x88\x07\x8c\x83\xd5\xe2\xa8\xeb\x5e\x85\x52\x30\x30\x12\x3b\x0c\x14\xb3\x7a\x3b\xf0\x03\x73\xf0\x60\xef\x10\x06\x12\x1c\x8e\x60\x71\x13\x96\x16\xf7\x99\x8f\xe1\x86\x84\xe8\xe0\x9b\xe9\xda\x54\x3d\x03\x01\x0d\x38\xcc\x6f\x61\x7e\xba\xd7\x61\x95\x8b\xcc\x0a\x85\x60\x5f\x91\xbe\x70\x23\xb3\xf8\x24\xe5\x59\xb1\xb3\xcb\x37\x91\x4b\xd0\x17\x48\xe4\xbd\x60\xb3\x2c\xd3\x8f\x4f\x3d\x0a\x9d\x47\x4b\xd7\x0b\xfb\x18\x24\xfb\xd8\x57\x7e\x2b\x79\x69\xdd\xdd\x71\x18\x51\x6a\x97\xe3\xa3\xb5\x9e\x4c\x14\xd9\x6e\x61\x16\xe2\x36\xed\x3c\x29\x06\x25\x4d\x0c\x37\x72\xc7\x71\xb0\xd6\x5c\x18\x9d\x1c\xac\x95\x59\xfd\xed\x70\xb0\xb6\xd0\xab\x36\x39\x58\x2f\x2e\x2f\x6e\x2f\x66\xef\x2f\xfe\x6f\xad\xc4\x5f\x66\x17\xb7\x17\x97\x3f\x2c\xde\x5d\x5d\x2f\xae\xcf\x6f\xae\xee\xae\xcf\xce\xfb\x49\x95\x9a\xad\xf7\x26\xf8\x09\x0b\xeb\x79\xcd\x6e\x03\xa0\x06\x26\x1b\x90\xfd\x4d\x02\x9b\xb0\xaa\xcc\x66\x96\x6a\x3d\x81\x8d\xfa\x9a\x9d\x67\xd9\xc5\x96\xaf\xc5\xc7\x32\x49\x00\x4e\x85\x99\x3d\x67\x99\x80\x87\xe7\x84\x7d\xd4\xf1\x45\xf0\x3b\x48\x47\x6c\xed\x06\xd4\xcf\xe3\x38\x13\x79\x8e\xd5\x4f\xa8\xfe\x00\x3c\xe4\x52\x1d\x09\x3c\xc7\x1f\xb8\x4c\xcc\xfb\xed\x35\x7b\xc3\xa3\x7b\xbd\x5a\x61\xfa\xcc\xc4\x25\x4e\xb1\xcf\xa5\x2e\x38\x13\xbf\x46\x40\x24\xd6\xbe\x4e\xde\xeb\xf5\x57\x80\x2a\x0f\x08\x4f\x75\x3c\x52\x40\x48\x6d\xd1\x7e\x9d\xb7\x1f\x04\xd4\xcb\x0f\xf8\xd3\x77\xf8\xcb\x76\x07\x65\x91\x3c\x41\x7a\xfc\x7b\xbd\x6e\x97\xb5\x01\xeb\x9a\xb4\x78\x28\x90\x10\x11\xd9\x86\x5e\xb3\x5c\xaa\xfb\xb9\xfa\x65\x23\x14\xd3\x65\x86\x7f\x82\x67\xbe\x31\x33\x93\x32\xdf\x08\xd0\xb9\x9d\xb0\x47\xc1\xb6\x7c\x87\x66\x33\xbc\x09\x9c\x16\x07\x2c\x19\xb8\x45\xcc\xaf\x13\xa9\xcc\x69\x91\x4a\x9b\x97\x50\x9f\xfa\xa7\x78\x71\x59\x1a\x3d\x7e\x3c\xcb\x6d\xdf\x7d\x5a\xc1\xe7\x81\xab\xcc\xe3\x26\x2d\x40\x88\x4e\x6e\x90\xfa\xd4\xfa\xbe\x4c\x3d\xe1\xe6\x0b\x1b\x9c\x84\xe1\x7e\xd0\x32\x66\x71\x99\x26\x32\x72\xe7\xee\xa3\xce\x3a\x59\x85\x31\x81\x66\xf8\xad\x53\x4f\x0b\xeb\xeb\x58\x4b\x76\x4e\x80\xa4\xeb\xe1\x17\x7e\x66\x86\x65\x26\x55\x94\x94\x20\x62\x56\xe6\x22\x3b\x29\x32\xb9\x5e\x83\x01\x6e\x73\xfd\x7e\xfb\x14\xcc\x9e\xe2\xf1\xf8\xb4\xb6\x30\xe9\x3c\xd1\x6b\x19\xf1\x24\x04\x37\x7b\x54\x84\xe3\x78\xb5\xdb\x9e\x24\x5e\x21\x0f\xc2\x36\xa8\x93\x01\x29\xcd\x04\xd0\x0c\x2f\xe0\x28\x5f\xd0\x71\x77\x4c\xbb\x57\xcc\x3c\xd0\xb1\x5d\x21\x03\xab\x0d\x2f\xd8\x1b\xce\xd7\x6d\x75\xbe\xc0\xc4\x44\x0d\x70\xa6\x1f\x95\xc8\xc0\x82\x05\xd8\x87\xe9\xa9\xd2\x60\x9b\x38\xed\x2f\x87\x4f\xb6\xda\x77\x2b\x07\xc4\xc6\xcc\xd9\xb5\x7c\x10\xea\xcb\x53\x66\x07\x15\x44\x3c\xda\x88\x85\xb5\xcb\x9f\xfa\xc8\x72\x17\xc0\xc8\xc3\xca\x8a\x70\x84\x47\xa9\x0b\x6f\xc2\xd3\x09\x5b\xdc\x3c\xbb\x30\x90\xd8\x93\x91\x65\x1a\xb1\x88\x45\x74\xff\xc5\x8f\x66\x0f\xb2\xb2\x0d\x61\x9c\xbd\x15\xd1\x3d\xbb\xbb\xbe\xc0\x6c\x60\x59\x30\x73\x14\xe4\x1b\x2f\x2a\xd4\xf9\x76\x2b\xf8\xfa\x19\x18\x9d\x86\xaa\x22\x79\x22\x7c\xa7\x05\x67\x1a\x44\x80\x28\xc8\x97\x34\x87\x24\xe5\xd2\x00\x10\x8c\x17\x56\x2b\x07\x1c\xf1\x2c\xdf\x82\x34\x4e\x59\x04\x7a\x72\x09\x5f\x8a\xa4\x83\x16\x32\xd5\xf1\xc2\xc6\x49\x8e\x05\xf3\x34\xca\xb2\x7e\x0c\x8a\x3a\xda\x3c\x06\x6e\x2c\xd6\x5b\xfa\x22\xbb\xff\x3e\x0f\xe8\x35\x74\xc8\x4e\x0d\xef\x7a\x9e\x43\x7a\xf7\x4a\xae\x6d\xb4\x4d\xae\x48\xc0\x07\x13\xfa\x41\xaa\xde\x9c\x97\xa6\xa4\x8f\x3a\x26\x98\x9e\x23\x31\x33\x56\x90\x20\xef\x89\xc7\x55\x84\x4d\x70\x72\xfe\x39\xf8\x06\xf2\x42\xf0\x98\xe9\x15\x79\x13\xd3\x34\x91\xc0\x3b\x1c\x23\xc5\x39\xb0\x67\xe4\x55\x74\x7c\x58\x9a\x6d\x6c\x40\xf2\xf1\xd1\x02\xf1\x7a\xe3\x8d\x3e\xc8\x65\xfa\x55\x75\x72\xd7\x6d\xaa\x63\xa5\xea\x5c\x3e\xd2\xa1\x4f\xe8\x7e\x6f\xda\x3a\xd1\x4b\x18\xa8\x6e\x50\x5c\xcf\x01\x6d\x4e\xa7\x4c\xc6\x63\xae\x77\x3b\x26\x57\xee\xa7\x7d\x0d\xbc\xb2\x9e\x0e\x57\x93\x9d\x66\x46\xac\xf0\x61\x04\xbf\x96\xc6\xbe\xef\xad\x0d\x01\xc2\xdc\x45\x08\x9d\x35\x5e\x90\x26\x02\xec\x0a\x77\x1c\x77\x3c\xab\xab\x7d\x39\x6a\xa2\x9b\xc4\x28\x7b\xc6\xd2\x73\xa9\xf4\x4f\xf2\x11\xec\x16\xb8\x73\x1d\xc5\x45\xb7\x23\x4d\xc5\x22\x5e\x1c\xd0\x87\x73\xfa\xed\xb0\xbe\xb8\x91\xc6\xe6\x81\xcb\x4b\x9d\x98\x9b\x31\xe6\x59\xec\xfb\x31\x81\x17\x71\xc4\x53\xf0\x3a\x83\x17\xff\xe1\xd5\xd4\xd6\x71\xed\x93\x69\xcc\xf1\x80\x29\xee\x08\x57\xd6\x2d\x82\x22\xfb\xd6\x91\x5b\xa4\x88\x66\x36\x2b\xc7\x2f\xd7\x4a\x9a\xc9\xa0\xb5\x5b\x5f\x61\xf6\xbc\x3a\x66\x71\x3d\xc7\xd9\x51\x16\xda\x07\x37\xa0\x3f\x17\x40\x8f\x1a\x26\xb0\xc1\x01\x79\x11\x77\x00\x23\xac\xb5\x69\x0f\xa1\x11\x70\xdb\x51\x80\xdf\x34\x13\x36\x4c\xb6\x13\x85\xa3\x31\x48\xac\x48\x1b\x44\x81\x5c\xaf\xab\x3c\x2e\x96\xaa\xc1\x71\x6f\x41\xcc\x86\x2c\xdb\x48\x6f\x53\xad\x00\x85\x83\x49\x59\x73\x45\x85\x5b\xa9\x6d\x17\x48\xaa\x64\xf6\x4d\xc8\x7f\x87\x79\x22\x22\xd7\xc9\x03\x45\x0c\x03\x45\x08\x10\xe9\x33\x0d\x3c\x33\x4f\x21\xf3\xf0\x87\x50\x36\x5d\x64\x00\x7c\xaf\xe9\x4d\x67\x62\x2d\xf3\x42\x84\xc9\x90\xe1\xef\x9f\x4c\x1a\xb4\xe2\x2b\xe8\x1b\xfa\x4e\x69\xd0\x7d\x46\xbf\x39\x9f\x46\xb4\x67\x97\x8a\xf8\xc2\xfd\xae\x7f\x31\xd4\xf2\xd5\xfd\x71\x58\xb9\xef\x70\x0d\xe0\x63\x27\x47\x66\xab\xdc\x69\x39\xb8\x49\x22\xce\x21\xee\xf1\x7b\x66\x8a\xd6\x25\xcf\xb8\x2a\x84\xc8\xe7\x8a\xe2\xac\xc8\xd0\x16\x92\x90\xd4\x70\x7f\xce\x94\x8f\x74\x5e\x20\xe1\x11\xfc\x64\xc5\x65\x52\x66\x9d\xaf\x6b\x5c\x95\x07\xb1\x2c\xf4\x8d\xd2\x19\x14\xcb\xda\x26\xcd\xe5\xeb\x06\xbb\xc8\x91\x84\xd4\xa3\xa4\xd5\x74\xd6\x8e\x2e\xd8\xcb\x65\xf8\x7c\x3b\xd7\x6a\x47\x0a\xef\xf7\xf9\x22\xd5\x23\x4e\xbc\x9f\xbe\xcf\x3f\xea\x8e\xe4\xe7\xfc\x73\xc3\x05\xd8\x83\x16\xf8\xdc\xa5\x6e\xc1\xf3\x7b\x08\xb4\xed\xf3\x3c\x0c\x22\x9f\xdc\x1b\x8e\xeb\x3c\xbb\x60\xd5\x6e\xb8\x8a\x13\xf3\x22\xe7\x45\xed\x06\xf2\xb0\x66\xf3\x02\x28\xec\xe1\xd8\x9d\xc3\x06\x29\x21\x8b\xa8\x91\x4f\xb8\x6f\x9c\x6a\x89\x88\xbd\xd0\xc1\x5a\x2d\xd5\xf4\xc0\xb6\xb4\x14\x6f\xc3\x90\xa6\xac\xdb\xb0\x5f\xdd\x7e\x39\x0f\xdb\xfe\x85\xcc\x97\xea\x5e\x5b\xc9\xf5\x6f\xe0\xdd\xfc\xa1\x79\x25\x44\x74\xe6\xd0\x45\xed\xc0\xfc\x47\x9e\x3a\x90\x37\x65\x4e\xed\x90\x6f\x7a\xae\x48\x5b\x1b\x83\xe9\x10\x45\x45\x7a\xb1\x9c\xbd\x72\xc9\xb4\xaf\xfe\xd9\x92\x4b\xed\xd8\x0a\x16\x15\x30\xb8\xe9\x28\x2a\x33\x88\x74\x93\x37\x8e\x09\xbc\x84\xf3\x51\xbc\x29\x60\x7a\x38\x7c\x12\xda\x89\x6d\x66\x92\x73\xbf\x56\x3a\x75\x0b\x5e\x37\x54\x09\x77\x97\x3e\x89\x3f\x65\x79\xc1\xf2\x42\xa4\xad\xc7\x6f\xc5\xba\xac\x0a\xe1\x1f\x61\x5f\x7a\x19\xfe\x81\x5b\x67\xc4\x65\x34\x0b\x3c\x24\x7f\xba\xb9\xba\x64\x29\xdf\x01\xd4\xaf\xd0\x0c\xbf\x0a\xfc\x9a\xf5\x83\x6a\xdf\x0c\x54\x3b\x5f\x3d\x55\x70\x4c\x2d\x66\xb8\xdd\x1d\x4f\x35\x36\x8d\x45\x58\x33\xb4\x24\xcd\x99\x95\xe9\xe4\x24\x4d\xb8\x0a\xd0\xdc\xf9\x94\xd5\xaa\x0f\xc3\xf7\x2e\x90\x47\x00\x29\x68\x00\x78\xc8\x68\x2d\x64\x65\x2b\xde\xb7\xaa\xed\x7f\x54\xc4\xbe\xf3\x8c\xe8\xc5\x31\x7e\x40\xb5\x0a\x1e\x99\x6d\x82\x64\x11\x16\x85\xe0\x80\x2c\x3c\x07\x8c\x69\x27\xe1\x35\x8f\x12\x9e\xe7\xbd\xa0\x94\xe7\x60\x6c\x0f\x93\xf4\xf6\x1f\x5f\xd5\x76\x22\x6a\x0e\xa8\x3c\xf0\x5d\xea\x3e\x06\x72\x00\x7b\x74\x79\x05\xad\xc0\xde\x0f\x44\x12\x28\xd2\x4f\xf4\x48\xf0\x7b\x24\x3e\xbc\x17\x3b\xeb\xa0\xa3\xa3\x8a\x6f\xc5\xc4\xf9\x16\x9d\xf3\x2c\xc0\xb8\x35\x0b\x9e\x2b\x00\x81\xbe\x0b\x9b\xc7\xde\x69\x3d\x41\x38\x22\x55\xce\xb1\x58\x1e\x02\x7a\xe6\xea\x9d\xd6\x53\xee\x1e\xb1\xd4\x7e\x3a\x6e\xea\x15\x12\x08\x08\x20\x76\xb5\xe9\x1c\xbe\x37\x7f\x94\x0a\xb5\xde\xe4\xd6\x3c\xa0\x68\x9c\x60\x45\x41\x83\xac\xb4\xb8\x7e\xcc\x59\x8c\x0c\x2a\xa5\xcc\x37\x10\x65\xc0\xb0\x1e\xd4\x4f\x57\x0a\xe2\x8f\x32\xae\x72\xb3\x87\x21\x32\x21\x1e\x04\xb9\x27\x2b\x21\xf5\x8b\xb7\xef\x1d\x4a\x07\xf7\x25\xa9\x3f\x76\xec\xb6\xe0\xd1\x71\xcc\xe3\x5c\x8d\xd3\xb5\xb1\x7a\x1b\x55\x61\x9b\xd0\x2d\x37\x56\x29\xa7\xbd\xc4\x7d\xb3\xe4\xf8\xa3\xea\x2f\x2a\x90\x85\x06\x41\xb8\x4a\x02\x68\x38\x7a\x77\xea\xc8\x1b\xa7\x95\xc2\x7d\xbf\x34\xc8\x60\x07\xc3\xc8\xa3\x62\xff\x75\x13\x50\x39\x3a\x84\x9c\x7b\x0b\x9a\x83\x1d\xe4\xb6\x80\x83\x0e\xb7\xf4\x94\xdd\x08\xc1\x3e\xc1\x48\x99\xca\x3e\x91\x9c\x23\x80\x7e\x0b\x2e\x5b\xd5\xb6\xe0\xdb\x17\x6a\xa5\x8f\x3b\xff\xb3\x75\x03\x54\x7a\xd4\xa8\xb4\xb7\xf3\x58\xd8\x2a\x24\x24\xab\xe7\x65\xd1\x18\x74\x31\xd4\xe6\xfa\xa3\xf7\x37\x51\x6e\xad\x6d\xa9\x31\xc9\x60\x8a\x0f\xe1\x69\xab\x2d\x12\xd3\xcb\x09\x72\x8f\xdf\x2b\xfd\xa8\xf0\x3c\xa6\x9a\xd8\x37\x66\xff\x81\xcd\x82\x61\x10\xb4\x04\x4b\x3c\x0d\x5f\x02\x19\xfa\xcc\xfd\x9b\xdd\x60\xc4\x17\xdb\x0c\x12\x47\x39\xd8\xbb\x24\x4e\x04\x17\xf8\x37\xb3\x09\x7b\x33\x61\x67\x13\x36\x9d\x4e\x5f\x4e\x50\x24\x9e\x5a\x84\x3f\xc1\xa3\xbf\xe0\x6b\x53\x36\x89\xbe\xac\x82\x0a\x40\x6b\xcd\xd8\x27\x96\xf3\x8f\xfb\x6f\x05\x5e\x35\xdb\x05\xcc\x44\xa6\xb4\x29\x42\xc7\x44\x1b\x2d\x7d\xa3\x00\x68\x2d\x22\x9d\x59\xa8\x76\x5e\xe8\xcc\xc2\x4e\x1f\x78\xc6\xa5\x02\x82\x06\xde\x04\xdd\x53\xcd\x01\x45\xbb\xf8\x95\x6f\xa1\xff\x52\x39\x96\x5a\x33\x4c\xb7\xae\xfd\xc5\x2e\xa5\xb0\xd2\x63\x26\x8b\xc2\x18\x64\xf9\x5c\xdd\xb0\xd7\xff\xc6\x66\x69\x9a\x08\x36\x63\x7f\x65\x6f\xb8\xe2\x8a\xb3\x37\xec\xaf\xec\x8c\xab\x82\x27\xba\x4c\x05\x3b\x63\x7f\x35\xc3\x66\xca\xbb\xd4\xc6\x02\xda\x4d\x18\x67\xaa\x4c\xd0\xd0\xfb\xc6\x42\x3a\x5f\xba\x7e\x71\x3f\x3b\x4b\x51\x3c\x0a\xa1\x58\xae\xb7\x74\x15\xfe\xc5\xdd\xfe\xb9\x54\xeb\x44\x14\xb4\x1e\xaa\xe0\x5b\xac\xe0\x04\x7a\xfa\x7a\xae\x9c\x9f\xfa\x2f\xa6\xc5\x7f\x61\x7f\x65\x97\x65\x92\x98\x26\x99\x83\xc6\x2c\xa4\xd7\xcc\x26\x43\x09\x35\x7d\x94\xf7\x32\x15\xb1\xe4\x90\x0e\x65\xfe\x75\x7a\x0b\xb3\xbd\x28\x3d\xf3\x65\xb8\xa7\x9d\x6c\xd4\x31\x47\xcf\xb3\x50\x2b\x38\x51\xb3\xd0\x5a\xe9\xc4\x5c\x84\x3f\x1d\x6f\x04\x7b\xbe\x5f\xda\x0f\xf4\x46\x41\xc9\xaf\x50\x3c\xed\xa0\x23\xa0\x76\xd9\xda\xb2\x5a\xae\x82\xf0\x52\x3f\xf6\x90\x05\xb9\xc2\x2f\x68\x8e\xff\xdc\x18\xa2\xc1\x54\xf3\xa4\x76\x54\x21\xab\x00\x5b\xd2\x13\x76\x0d\x8a\xed\x3a\xdd\xa4\x9f\xab\x7a\x8d\x95\x21\xd6\x72\x90\xb0\x65\xad\xb1\x77\xf4\x12\xc0\x34\x53\xb3\x4d\x65\x72\x6a\xb6\xea\xe9\xa5\x56\x82\xf1\x3c\x97\x6b\x24\x19\x03\x87\x0e\x2a\x42\x5a\xa3\xe0\xb6\x6a\xb2\x06\x5b\x00\xec\x03\xd3\x24\x04\xa8\x16\xe6\x14\x30\x53\x90\xec\xe6\xca\xfc\x82\x6e\x24\x48\x56\x91\x8e\x8b\x1a\x6b\x23\xaa\x67\x5b\x17\x1d\xc8\x41\xe1\x2d\x0b\xac\x2f\x13\xfe\x88\x05\x47\x89\x97\x47\x44\x7c\x2e\x03\x1e\x46\x2a\xcd\x92\xf4\x20\x7a\x61\x29\x12\xad\xd6\x66\x55\x74\x1d\x02\x7a\xcb\xe5\x31\xf0\xb0\xb0\x09\x58\x58\x67\x0b\xcc\x65\x49\x5f\xa1\x29\x31\xf7\xa4\x8c\xbd\x4b\x27\x2f\x97\xc6\x8e\x70\xd1\x06\x77\x1b\x52\xe7\xba\x68\x01\x8e\x43\x89\xdc\xe5\x22\x03\xb2\x74\xc4\x29\xb9\x48\x16\x5e\x9c\x9e\x32\x07\x7b\x34\x6c\x53\xf5\xc2\xdb\xdb\xbd\x5f\x14\x29\x6b\x10\x24\x0c\x58\x8f\x5f\x13\xe9\x3e\x04\xff\xfe\x6e\x76\xf1\xbe\xf6\xbd\x26\xfe\xbd\x05\x24\x7f\x7b\xf1\xe1\xfc\xed\xe2\xea\xee\xb6\xf1\x3d\x53\x1a\xfd\x69\x0f\x04\xbe\x73\xf4\x9e\x02\x04\xfc\x19\x45\x9b\x16\x7a\x65\xf3\xa1\x87\xdf\xe9\x0d\xd9\xac\x61\x58\xb3\x90\x2a\x3f\x94\x97\x6a\x2e\x9c\x4e\x56\x07\xb5\xa0\x68\xdb\xb0\xc6\xd6\x07\xec\x4a\xbd\xc3\x9f\x7f\xd4\x89\x8c\xfa\xa1\xab\xf6\xba\xda\xe8\xc7\x16\x2c\xe0\x52\x00\x96\x9b\x5c\x7e\xd4\x28\xb4\xd0\x0b\x11\x15\x3e\x9a\xdc\xec\xdc\xff\x6a\xb8\xdc\xfe\x37\x38\x7a\xe2\xdc\xb0\x81\x8c\xae\x8b\x4f\xc3\xdd\x0a\x34\xb9\xa0\x0e\x81\xee\x75\xf0\xed\x01\x6e\x23\xe2\x14\x75\xa8\x8c\x3c\x1c\xd0\x8f\x1b\x9d\x90\x47\x0e\x29\x87\xe7\x2a\x15\x59\xa4\x01\x66\x86\x6c\x16\x9a\x45\x1b\x99\xc4\x5e\x82\xe9\x1b\xc0\xe5\x03\x7a\xf6\x25\x89\x6b\x0a\x87\x9f\xb0\xc5\xf7\xdc\xba\x76\xd9\xbd\xc5\xdd\x7d\x14\xf6\xe8\x29\x81\xb6\x7d\xcb\xfe\x17\x02\x84\xe2\x50\x10\x49\x58\x2d\x12\x6e\x06\xbd\xd2\x9e\x51\x4e\x7d\x73\xdd\x92\xba\x4e\xe4\x1f\x4e\x45\x6d\x5e\x69\x99\xd5\x87\x12\xa8\xa3\xd1\x93\x8a\x30\xb0\x5c\x40\x73\xb6\x82\xa3\x2d\xe6\x89\x5c\x69\x52\xe7\xca\xc7\xfe\x5f\xe4\xa1\x5d\xd6\x3a\xcf\xe8\x7f\xb5\x50\xde\x09\x7b\x51\xe9\xe8\x0b\xa0\x16\x56\x1a\xea\xa3\xf8\x6c\x65\x68\x60\xb9\x4e\x98\x2c\xe6\x4a\xe6\xb8\x32\x33\x91\x88\x07\xd3\xba\x30\x3e\x40\x88\x35\xfb\x76\xb6\xdd\x86\x6c\x10\x6e\x49\x04\x68\xd9\xd0\x26\xcc\x42\x8a\x5a\x0c\x4c\xc6\x22\x37\x76\x23\x88\xeb\x88\x5f\xcd\x06\x90\x10\xfe\x42\x68\x53\x2c\x94\x6d\x1f\x20\x9e\x50\x91\x7a\xae\x2e\x56\x90\xc9\x0d\xf9\xe3\x71\x8c\xaf\x50\x2b\xb7\xe2\xf8\x02\x25\xc5\x03\x34\xbd\xc9\xed\x44\x90\x36\x2c\xee\x24\xf1\x20\xb2\x5d\x01\x4e\x5d\x18\x57\x25\x78\xb1\x61\xb2\x98\x00\xd1\xa3\x3d\x29\xe7\x8a\xc7\x31\x25\xc0\x62\x71\x66\x68\x60\xdd\xf7\xcc\x33\x7d\xbe\xd4\x0f\x7d\x86\xed\xb1\xd8\x4d\xdc\xd5\x69\xc2\xd5\x02\x6f\x90\xaf\x80\xde\x0c\x64\x7b\xbb\xc2\xf8\xe5\x72\xe1\xc8\xa9\x9e\xa4\x9d\x81\xfc\x7c\x28\xa6\x6d\xec\x58\x5b\xd1\x04\x17\x83\x27\xa7\xb7\xcf\x13\xe7\xa7\x21\xe4\x4c\xc6\x2c\xba\x60\xf8\x29\xe0\x81\x9d\xbc\x86\xb2\xb1\xab\x75\x1f\xb2\xd3\xae\x80\xdf\x2a\xf6\x6e\xc8\xcc\xd7\xee\x90\xfa\xb4\x8f\x87\x7d\x35\x2c\xc4\x83\xa0\x5f\x7b\x9a\xf5\xbc\xf0\xaf\x4e\x3f\x4a\x13\x06\x66\x7b\x1b\x44\x78\x31\x05\x4a\xa0\x1f\xce\xb9\x79\xda\x65\x99\xc3\x77\x98\x6e\x41\x48\x3f\xa5\x8f\x1a\xce\xa9\xa1\x9e\x12\xcf\xa0\x00\xed\x9a\xb2\x0b\xc5\xac\xb9\x37\x61\x2f\x70\x61\xe5\x2f\xc8\x05\x49\xda\xde\x04\x97\x88\x69\xf7\x50\xce\x79\x1d\x66\x84\x99\x3f\x7e\xbb\x61\x24\xa8\x97\xa0\xf4\x59\xc7\xe5\x8d\x84\xcc\xa3\x43\xc8\x25\x30\x8a\xb8\xc4\x02\xe8\x92\xc4\x67\xf7\x0e\x8d\x76\xed\xbd\xd9\xbe\xc3\x36\xde\xc5\xde\xd8\x1f\x9a\x21\x4a\x4b\xba\x4f\xed\xe7\x4c\x67\x73\x65\x4b\x23\x97\x64\x8e\x8a\x68\xf5\xa2\x82\x44\x08\xb2\xf9\x83\x95\x0a\xc1\x60\x2b\x82\x07\xda\x8a\x9e\x45\xb9\x7e\x0a\x00\x0e\x66\xe9\x30\x88\x40\xbb\xef\x6b\x33\x86\x87\x59\xe0\x5b\xbc\xe6\xeb\x4c\xab\x49\x62\x06\x45\x16\x96\xd8\x35\x48\x52\xca\x4b\xa0\x27\x5e\x95\xe6\x30\x0a\x38\x9c\xe7\xca\x0c\x1e\x5b\x49\x40\xef\xd3\xb8\xcc\xd5\x07\x9d\x5b\x4e\x8c\xdc\x8f\x87\x0d\x2d\xd3\xb0\xbd\x70\x5a\x80\xf4\x87\xb7\x70\x69\x93\xcf\x1f\xd9\xad\xdc\xd5\x02\xd9\x69\x44\x6c\xb3\xd3\x65\xe6\x3b\x15\x71\x35\x57\xff\x65\x86\x07\xf5\xe8\x95\x9d\x56\xbd\xc2\x2d\x0c\x33\x08\xc1\x92\x4f\x58\xe8\x37\xff\xfc\xf2\xd3\x4b\xcc\x26\x29\x73\x90\x5f\x9d\x54\x2f\x10\x47\xe7\x5f\x26\x09\x44\xa2\x6d\x0f\x1c\xa5\x8c\xaf\xa2\x17\x89\x45\x8f\xba\x85\xaa\x9a\x18\x43\x36\x7a\xdf\x0a\xf6\xce\xe7\x19\x8b\x78\x11\x6d\x4e\xac\x2d\x47\xc7\x98\xbd\xfd\x68\xfa\x50\x87\xd1\x58\x5a\xed\x8c\xf6\xe6\xc1\x99\x6d\x1d\xc7\x66\x65\xbd\x98\x2e\x00\x96\xea\xb6\x2e\xef\xe4\x28\x80\x71\x71\x22\x12\xa4\x6a\xe7\xb9\xaf\x5b\x71\x45\xff\xe2\x24\x2f\xb9\xe2\x5b\x11\xb3\x17\x90\xf7\xf8\xc2\x4e\xfe\x5c\xa5\xcb\x69\xb2\x5b\x15\x44\xd4\x66\x06\x65\x0a\x32\x64\x7b\x6e\xb9\x45\xdc\x7c\x26\xed\x19\xec\xce\x87\x56\xbb\xad\xe3\xc6\xc6\xd5\x34\xdc\x60\x41\x1f\x97\x1b\x9d\x9b\x2a\x2a\xac\xaa\x87\xc0\xf3\xfb\x09\x5b\x66\x5c\x81\x82\x4c\x1c\x1a\x55\x7e\x77\xc2\xe3\x19\x59\xd0\x6c\x22\x94\xe2\xc9\x0e\x32\x40\x26\x73\x85\x94\x71\xc0\x2d\xbe\x8b\x12\x19\xb1\x75\xc6\xd3\x4d\xcd\x0e\x12\x0f\x42\x15\x20\x44\x7c\x2d\x78\x7e\x5c\xb4\x3e\xab\x97\xc0\x06\xc7\x53\x66\x0a\x5e\x1f\x5c\xd5\x48\x7e\xa1\x79\x1d\x57\x0b\x20\xf4\x44\xbc\x18\x47\xf0\xb3\x97\x86\xb6\x42\x6e\x48\x4c\x5b\x10\x81\x34\x9d\x63\xb6\xd6\x7d\xe1\x6f\x1c\x57\xe2\x9e\xb1\x98\xce\x63\x43\xf6\x8e\xcb\xe6\x28\x46\xd2\x8b\xaa\x15\xc9\x3d\x49\x8f\xf7\x5c\x63\x1a\x1f\x79\x2a\x2c\x10\xde\x1d\x1c\x13\x12\x8a\x04\xb6\x42\xf6\xe7\x72\xa9\x13\x4b\xf7\x78\xf1\x96\xe9\x0c\x94\x56\x0a\x4d\x7f\x92\x71\x97\x75\x20\x55\x2c\x7e\x3d\x8a\x73\xa5\xff\xa2\xb7\x66\xb3\xa9\x26\x10\xf4\xa8\x77\x16\x4e\xa7\x4c\x98\x4b\xb8\xb0\x2f\xe3\xc6\xb7\xf2\x3a\x58\x75\x96\x14\x1b\x40\x90\x62\x92\x86\x1f\xd4\x2d\xdf\xb1\x68\xc3\xd5\x3a\x70\x4d\x00\xa0\x4f\xa4\x3a\x43\x45\xd2\x07\x20\x37\xd4\x99\xcd\x69\xa7\x4c\x6d\xca\x14\x71\x81\x04\x04\x68\x6b\x9b\x8e\xcd\xd7\xeb\x4c\xac\x81\x66\x64\xae\x2a\x5c\x13\x40\xec\x68\xc5\x50\xb0\x9e\xbe\x54\xfd\xa7\xe1\xbb\xe9\x7a\x0d\x16\xd9\xce\x25\x3a\x93\x9c\xaf\xdf\xcf\xf5\x61\x9d\x30\x29\xa6\x13\xf6\x9d\x07\xa5\x8b\x48\x2b\x97\x29\xdd\x91\x26\x5b\x73\xf9\xb3\x3d\x4f\x87\x26\x31\x4e\x7b\xdb\xe1\xb3\x86\x28\x70\xeb\xa2\xe9\x4d\x35\x2f\x78\x51\x8e\xb8\x83\x48\xf8\xfd\xcc\xfc\xf8\x06\x7f\xdb\xb7\xae\xcf\x10\x31\x6e\x49\xc9\xcc\xf7\xcd\xcd\x69\xea\xf6\xa4\xe5\x6d\x63\xbd\xd7\x81\x9c\xe8\x6e\x07\xf2\x53\x98\xea\x96\x79\x66\xbf\x0f\x39\xe9\x60\x53\xe9\xe9\xd3\x58\x17\xb1\xc5\x75\x53\x6a\x4a\x5e\x7f\xc6\xb6\x9c\x00\x69\xa6\xe3\x32\x12\xb1\xd9\xb9\xf0\x1e\x42\x44\x8c\x23\x75\xa9\x1c\x92\x6d\x17\x6d\x85\x99\x0a\x6e\xdd\x2f\xe5\x73\x18\x44\x06\xee\x86\xff\xae\xc3\xdf\x60\x2d\xbe\xb6\x41\x0f\xf7\x27\x8e\x53\x36\xf2\x9e\x72\xd5\x57\x29\xbc\x75\x26\xd7\x52\xf1\x42\x67\xec\x1b\x97\xba\xfd\xd2\xe9\x7e\x75\x5b\x08\x23\x8f\x89\xca\x10\xe1\x31\xf1\x45\x0d\x8f\xb6\x45\x6a\xbe\x95\x17\x7c\x9b\x86\xa4\xb8\x4e\x55\x9d\x46\x26\xc1\x41\x70\xb6\x09\xf8\x4e\x65\xee\xf3\x36\xe7\x8a\x22\x0e\x38\x6f\x3a\x0b\x59\xdd\x3b\xef\xe6\xb4\x2c\x16\x07\x12\x3d\x05\x94\x26\x58\xce\x38\x1f\x14\x21\x12\x3e\xf0\xb4\xeb\x92\xe1\xe4\x77\xc0\xec\x35\xa7\x37\x6f\xcd\x95\xea\x22\x9d\xce\xd5\x5b\xd7\xa0\xd7\x2c\x4d\x84\x39\xe6\xcb\x5c\x30\xdf\x38\x4b\x34\xd0\x37\x18\xe3\x3a\x01\x74\xca\x6f\xf7\x32\x01\x8d\xeb\x49\x9f\x97\x65\xc0\x64\xf5\x22\x01\xae\xdf\xdb\xb8\x97\x7f\xde\x56\xde\x8b\xb0\xae\x90\x12\x15\xf3\x9a\xd0\x53\xe1\x4e\x69\x63\x94\x58\xfa\xa0\xb3\x44\x97\x31\xa3\x33\x9a\x50\x05\xd9\x14\x2f\x7b\xe0\x28\x9e\x4e\xbb\xf2\xb4\x46\xca\x53\xbb\xe3\x14\x7e\xd7\xbe\x5e\xe0\xb3\x8e\x0b\xa5\xf7\x24\x0b\x16\x32\x0d\xf2\x33\xac\x64\x1a\x6e\x58\x00\xee\x8a\xb1\x0b\xa0\x25\xfa\xdb\xb9\x9c\x83\x26\xf6\xaf\xe7\x83\xfa\xe2\x09\xc7\xf7\xae\xe8\xb1\x3d\x6a\x6f\xa5\x8b\x57\x00\x17\xe4\x38\x57\x36\x78\x0e\x64\x9c\xc0\xc9\x18\x86\x7a\x5a\xd8\xaa\x2b\x21\xf4\xfc\xfe\xe8\xea\x2c\x63\x44\x7f\x55\x29\xcf\x84\x2a\x16\x50\xe3\xb8\xca\xa0\x92\x8f\xf0\xf3\x8a\x69\x3b\xc8\x65\xff\x1f\xb7\x1a\x23\x31\x76\x05\xfd\x27\xbb\x21\xef\xa3\xb9\x59\x24\xc0\x7d\xf3\x7b\xf6\x8d\x04\x74\x58\x10\xb5\x76\xe7\x51\xc7\x74\x51\x87\x0e\x18\xbd\xa0\x43\x95\x4b\x78\x50\x87\x7c\xeb\x01\x54\x00\xa5\x90\x23\x96\xf2\xf7\xcd\xa5\x68\xff\x16\x88\x41\x5c\x56\xfe\x0d\xc4\xbd\x66\xfe\x12\xf6\xdf\x22\xd3\x3e\x57\x0b\xdd\x8a\x61\xc1\xbd\x2f\xab\xc3\x75\xac\xf1\xe5\x84\x0a\xca\xa1\x84\x28\xfc\x85\xb8\xb5\xd0\xf7\xb3\xdc\xd9\x87\x63\x47\xb0\x2f\x15\xd1\xa2\x43\x2f\x66\x50\x53\x02\x17\x41\xa8\xff\x22\x6b\x66\x87\xdd\xa0\xa7\xe0\x59\xa2\x24\xa8\x2d\x4f\x09\x89\x49\xa0\xef\x7a\x98\x6d\x0a\x9d\xf8\x8f\xbf\xfc\xe7\x54\x76\x1c\x4f\xd0\xf4\xb1\xc0\x36\xd7\xf8\x77\x99\x14\x2a\x86\xb0\x39\x8f\x9b\x52\x66\xaa\x12\x47\xa9\xdc\x3c\x66\x19\x3e\x49\xee\x76\xbb\x11\x91\x2f\x70\x11\x7d\x01\xec\x85\xb7\x1d\xdc\xf6\xad\x44\x66\xbb\x8c\xbe\x7c\x11\xef\x14\xdf\xca\xe8\x8b\xb6\x71\x27\x45\x12\x43\x13\xa9\xf6\x7d\xf1\xc3\x58\x44\xf7\x63\xcd\x9d\x83\x85\x18\x44\x74\xcf\x7e\xbc\xfd\xf0\x1e\x75\x77\x65\x3e\x57\x97\xbc\x90\x0f\xe2\x2e\x4b\x5c\xe0\x86\x98\xb5\xb2\xc4\xee\x91\x2a\x31\x78\x40\x42\x65\x59\xc4\xad\x4d\x14\xea\x36\x6c\x77\x27\xcb\x32\xba\x17\xc5\x69\xc6\x55\xac\xb7\xd8\x8d\xd3\xbc\x5c\xad\xe4\xaf\xd3\x82\x67\x1d\x22\x0e\xe8\xf1\xf9\x8a\x2f\x12\x2f\xcd\x55\xf8\xd7\x09\x3e\x4a\x1e\x21\x25\x9b\x04\xdf\x2b\xcf\x10\xcc\x20\xe4\x5b\x01\x2c\x9c\xac\x2a\x80\x02\xa5\x60\x96\x33\xe8\x84\xe6\x39\xe5\x3a\x68\x52\x21\xff\x14\x3c\xc3\x3e\x05\xad\xaa\x2a\xe1\xdb\x46\x79\xed\xcd\x2d\xbf\xc7\x97\xfc\x3a\x13\x79\x3e\x61\xb9\x86\x16\xcf\x95\xcd\x1a\xb0\x99\x6d\x80\x50\x02\x1e\xdf\x64\xc7\x22\x9d\x4a\x90\x2a\x75\xfd\xda\xe8\x47\x88\xa8\x84\x39\xbd\xa0\x2e\x5d\xaa\x42\x26\x8c\xaf\x0a\x0a\xb7\x80\x68\x81\x15\x29\xcb\xa7\x73\x05\x41\xf3\x08\xba\x0f\x60\x16\x17\x28\x73\x9d\xc8\xd9\x8a\x47\x32\x91\x05\x51\xa9\x41\x3a\x18\x37\xfd\x35\xf7\x81\x19\xcb\x8c\xef\x78\xe2\x9f\xc0\x3c\x29\x7d\x1a\xf3\x49\x2e\x7a\xa8\x3a\x65\xbe\x40\x57\xce\x97\xe0\x06\x94\x61\x98\x08\x69\xcd\x67\xa6\xf2\xcb\xda\x2d\xfa\x87\xf0\x7f\x2b\x1e\x93\x3e\xab\xe0\x08\xd7\xc9\x31\x97\x63\xd3\x39\xe2\x94\xbd\xbd\x9d\x21\x63\x8b\xe4\xae\xbc\x32\x7c\xa2\xb0\xbb\x1e\x21\xba\xd5\xe1\x9e\x99\x5a\x3d\xb6\x66\x0d\x23\x46\xaf\xdd\x48\xfc\x42\x8e\xa7\x2e\xae\xf9\x21\xcd\xb7\x71\x93\x8f\x5a\x27\xc7\xc6\x4e\x88\x3e\x43\x6a\xb5\x00\x89\xe2\x63\x5e\xca\xb8\x00\x9c\x0b\xf2\xe2\xad\x43\x47\x38\xf2\xf6\xaa\xb0\x19\x01\xf7\xa8\x09\x70\x90\x41\x23\x7a\x30\xfd\x79\xda\x02\x8f\x19\x99\x9b\x00\x65\x20\xae\xce\x9a\xf6\xcd\x60\x4e\xc0\xa4\xc2\x7d\x1b\x81\xe0\xb6\xd6\xc2\x3f\xd4\x5a\xda\xeb\x56\x45\x41\xe1\x5a\x55\xce\xc5\x1a\x12\x61\xbb\x71\x0c\xea\xb6\xe3\xb9\xe5\x8a\x7c\xb4\x64\xc5\xcf\x55\x60\xb1\x23\x7b\x9d\x4d\xfe\x70\xa3\xd6\xe6\x79\xad\x2c\xc3\xa3\x3d\xaf\xc7\xa8\x1d\xf4\x9e\x9c\x6f\x43\xdd\x42\x40\xed\x44\x7a\xbb\x94\xca\xf2\x47\x50\x38\x02\x9e\x1a\x33\x4b\x26\xeb\x42\x47\xf6\xc9\x80\x6a\x36\xb5\xb1\x77\x66\x4e\xc8\xcb\x1b\x1e\x59\xfb\x9e\xe3\xe1\xfb\xee\x69\x85\x19\x3a\x62\xc2\xf5\x1e\x98\x0b\x24\x79\xe4\xbb\x1c\xb4\xbd\x85\x39\x15\x57\xe8\x82\xaf\xb6\x7f\x12\x98\x1f\x96\xa8\x78\xae\x60\x84\x4a\x92\xfc\xa7\xbe\x48\xe2\x6a\x48\xac\x8a\xb9\x67\x65\x7b\x91\xb7\x0f\xce\xd7\x89\xaa\x65\xbd\x51\x35\x84\x0b\xfc\x7d\x04\xd2\x7a\xdc\xf5\x47\x46\x0d\x82\x6b\x12\x2d\x46\x02\x74\x41\x8a\x9d\x03\x13\x4c\xd8\x96\x4b\x45\xdb\x00\x95\x22\x63\xb1\x2c\xd7\xeb\x4e\x67\xf6\x6f\x3f\x2a\x56\xdd\x27\xff\xf0\x51\x8b\x5e\x5e\xc1\xa7\x70\x84\x5f\xd8\x9a\xd0\x33\x6f\xde\x7d\x5f\xc6\xf7\xfd\x7b\xdc\xe4\xef\x31\x6e\x72\x31\x24\x6e\x62\x41\x85\x90\xdb\x49\xde\x01\x0b\xfc\xfa\x3d\xa0\xf2\x7b\x40\xa5\x7f\xa9\x3f\x4d\x40\x05\xa9\x92\x16\xb2\xfa\x94\xea\x69\xe5\x81\x6c\xa2\x8e\x60\x1b\x2e\x26\x64\xec\x33\xf7\x70\x9c\xb3\x25\x8f\x9e\x81\x5e\x14\xec\x98\xe3\x3d\xb7\x7b\x00\x65\x37\x7a\x2b\x18\x54\x95\xa3\x1a\x14\xa3\xcc\xe0\x09\x20\xc0\x4d\x07\x3d\x0a\x8b\x30\x5e\x60\xf8\x20\x1a\x2c\xf6\xcf\x9f\x6f\x94\x78\x64\xc6\xae\x98\x84\x90\xd8\x60\x7a\x40\x26\xf0\xa5\xb1\xe3\x2b\xf9\x33\x8e\x06\x25\x13\x6b\x9e\xc5\x90\xb5\x45\xa7\x4d\xc2\xa3\x7b\xf3\xdf\xd0\x3e\xaa\x91\x60\xbb\x56\xb1\x04\xa1\xe4\xbe\x34\xa9\x22\x24\x98\x24\x84\xb0\x6f\x1f\xfe\x3c\x67\x3c\xca\x74\x8e\xee\x3d\xa7\xae\x0d\xac\x01\xf0\xd4\x78\x90\x71\xc9\x13\xac\xb1\x33\x26\x32\x16\x12\x5a\x07\xf1\x05\x42\x78\x4d\x84\x28\x4d\x07\xf2\x7e\xc9\x96\xbd\x7c\x97\x0b\x42\x6e\xe6\x76\x03\xf7\xb6\xf4\xd9\x0c\xbd\x06\xce\xb6\xd3\xda\xeb\x19\x00\x9b\xb8\x10\x0c\x44\xde\x3d\x12\x7b\x48\x6a\x8f\x99\x94\xd1\x64\xdb\x17\x81\x1a\xbf\x1f\x16\x7c\xd1\x65\x82\xc7\xbb\x90\xe1\x52\x2a\x06\xf1\x54\xc6\xe3\xad\x54\x66\x13\x58\xc5\x57\x77\x89\x5a\xf1\x07\x84\xf1\x83\x30\x5a\x92\xd4\xec\xe0\x9c\x29\x61\x9e\x01\x3c\x93\xc9\x0e\x8e\xf3\x34\x13\x27\x41\x3d\xc1\xfc\x50\x16\x21\xc8\x58\x10\x35\x4f\x99\x8b\x55\x99\xe0\xfb\x10\x3c\x28\xae\x03\x74\x22\xdd\x5d\x4c\x8c\x69\x58\x90\x1c\x51\x50\x31\x8a\x7c\x3e\x45\x46\x56\x23\xae\x3c\x2e\x36\xea\x19\x58\x33\x48\x1c\xd9\xe8\x47\x9b\x3e\xfa\xc8\x7d\x7e\x40\x97\xe1\xf0\x64\xf1\xb0\xfe\x17\x83\x7d\xab\xdb\x73\x2a\xa0\x51\x74\x41\x50\xfa\x4c\xc4\xee\x6c\x92\x0a\xba\x43\x3a\xd9\x3e\xc6\x50\xe6\x98\x85\x6a\xe6\x12\xee\x2f\xeb\x92\xaa\x86\x18\x98\xeb\x9d\xcc\xb5\x62\xf3\xf2\xdb\x6f\xff\x28\xd8\xb7\x90\x96\x4b\x2f\x47\x8c\x64\x02\x07\x2b\x96\x0e\x47\xb6\xab\x40\x20\x41\x6b\x63\x46\x58\x1b\xec\xdb\x72\x60\x00\x70\x9a\x47\x1b\x96\x97\x4b\x44\x05\x73\x0a\x86\x71\xe5\xb8\xdc\xdf\x6b\x00\xf8\xe2\xed\x6e\x5b\xff\xbf\x24\xf4\x83\xca\x31\x73\x95\x6a\x94\x1b\x00\x38\xf5\x52\xb0\x2d\xcf\xee\x41\x08\x18\x03\x29\x20\xaf\xf0\x8d\x14\xd3\x6a\x20\xe8\x65\xa5\x3d\x14\x7a\x43\x1a\x71\x96\x95\x4a\x59\x65\x33\x66\x6c\x6e\x1f\x95\x99\xcc\xd5\xb2\x0c\xbd\x04\x95\xb0\x8e\x5f\x5a\x10\xda\x81\xc3\x56\x03\xff\x0e\x35\x8a\xe7\xbe\x5d\x53\x36\x20\xbe\x33\x57\x4f\x1c\xe0\xd9\xe7\x9a\xfd\x48\x36\x98\x75\xbb\x06\x39\x40\xd0\xdd\x50\x7c\x1b\xa6\x03\x97\x3d\x18\x39\x1f\x41\x81\x7b\xc2\x7e\x94\x0f\x62\xc2\x6e\x52\x9e\xdd\x4f\xd8\x5b\x0c\xd4\xfe\x49\x2f\xdb\xbc\xad\x0d\x92\x96\xa3\x3d\xae\x87\x39\x1c\xfb\xc8\x8b\xda\x9f\x0f\xbf\x34\x6c\x69\xd6\x85\x52\xf8\xfb\x44\xb9\x76\xf0\xe7\xfc\xa3\xfb\x8c\xf6\x00\x0a\x7e\x47\x50\xfe\xfe\xe0\xff\x07\x7c\xf0\x3f\x07\xa2\xe9\x0f\xe1\xff\xda\x53\xdf\xda\xa9\x60\xb1\xd3\xdd\xd0\x8a\xba\xfc\x6d\x51\x2c\xc8\xb8\x6e\xca\x34\x99\x16\x86\x1d\x20\x44\x64\x11\x3b\x92\x8d\x11\xe9\x3f\xf4\x53\x3b\x5e\x67\x89\xce\xcb\xac\xff\xc8\xbc\xae\xb6\xda\xd6\xde\x42\x3a\x0c\x5b\x74\xbb\x14\xc0\x9f\x32\x14\x5e\x85\x5f\x5b\xfc\x97\x5e\x2e\x00\x4b\x78\xdc\xb9\xd8\x56\x9c\xa3\x32\xd7\x51\xa5\xa9\xde\xae\xb8\x49\x05\x70\xdf\x79\x03\xde\x07\xbc\x6a\x2b\xcc\x39\x94\xe6\xca\xaa\x3f\x60\xee\x7e\x96\x09\xa0\xa9\xcf\x04\x68\x6c\xb2\x94\x67\x0e\xd0\x63\xed\xc8\xe0\xbd\xe8\x41\x5f\x61\xbe\x2d\xa4\xcd\xd3\x2b\x75\x29\x84\x72\xa3\x3d\xc6\x00\x03\x4a\xf6\xda\xe8\x13\x9a\xf3\x51\x58\x11\x90\x0e\x3d\xe0\xc6\xef\x82\x17\x34\x3c\x54\xd6\xa2\x08\xee\xc0\x9a\x41\x56\xd9\x9a\x95\x08\xec\x6f\x2a\xf7\xa8\x15\x63\x51\xa3\x09\xac\xb8\x9d\x06\x79\xf8\x9f\x22\x1e\xf4\x91\x17\x1b\x74\x03\x6c\x75\x21\xf0\x48\x46\xbe\x32\x5c\x2f\x18\x86\x58\x26\x7a\x09\xe2\x96\xe6\x93\xae\x17\x75\x44\x5b\x7b\xd0\xd0\x35\x27\x6c\xc8\xc9\x60\x4e\x13\xc8\xf9\xcf\x44\x0e\xd4\x4f\xcd\x28\xec\xd0\xf0\xc8\x38\x57\x45\xb3\xb9\xe6\xd0\x6f\x5e\x76\x4d\x79\x18\xb3\xad\x01\x8c\x7d\x7e\x40\x2e\x5f\x43\x6c\x87\x68\xd3\x09\xe6\x80\xcc\xc9\xb5\xfe\x22\x6f\xd7\x0e\x48\x39\xe1\x93\xe0\x12\xe0\x5e\xef\xcd\xe1\x9d\x49\x2e\xdb\xed\x3f\x4c\xa4\x67\xb3\x10\x61\x4b\x7e\x95\x89\xf7\x00\xc3\x13\x6a\x02\xf9\xd5\xaa\x90\x99\x60\x0a\x50\x36\x73\x95\x97\xcb\x13\x4f\x91\x64\xde\xbe\x0f\x40\xeb\x95\x8b\x94\xc3\x03\x10\x98\xd3\x4e\x5a\xed\x96\xdb\x8a\x6e\x93\xa5\x12\xe5\x09\x1d\xfe\x90\xb5\x8d\x1c\x1d\xae\xef\xae\x1c\xf3\xc4\x05\xdf\x83\x85\xe3\xe1\x65\xd7\x77\x5e\x80\xb2\x1c\xe4\x82\x5f\x23\x4a\xe8\x6b\x5f\xe0\x61\xb4\x7f\xe8\xd5\x0d\xf1\xe2\xb9\xfa\xff\xed\xdd\xd0\x0d\x9a\x1f\xb1\xd2\xcd\xc8\x98\x2b\xaa\x13\xcc\x5f\x69\x9b\x7d\x78\x07\xa6\x73\x77\xa3\x1a\x4b\xbe\xad\x54\x6e\x71\x5b\xa1\xbc\x90\xa6\xc4\x7d\xf8\xf4\x41\xe6\x81\xf0\x00\xd4\x76\x23\x04\x7b\x9d\x89\xd5\xeb\x4f\x99\x58\x2d\xec\x4c\x4f\xa1\x43\x53\xd3\xa3\xa6\xfc\xc0\xc0\xc5\x91\xa7\x5a\xb5\xd3\xb0\xee\xa1\x49\xae\x75\x09\xcb\x09\xfa\x24\x57\xcc\x0b\x0b\x9b\xfe\x00\x17\x8d\x88\xeb\xba\x08\x8d\x96\x7d\xf1\x6b\xae\x0b\xe9\x38\x00\x4a\xd8\x21\xc8\xfb\x8f\x7f\xbd\x55\xc6\x6c\xc8\xf5\x76\x5b\x85\x84\xd9\xc3\x9e\x2b\x77\xe1\x75\xe3\x9e\xbf\x6c\xf6\x05\x4c\x60\x9e\xf2\x47\x45\x8c\x5a\xa3\x1c\x76\xc3\xae\xb5\x1a\x40\x2e\xb8\xd6\x1a\x18\x4f\xbf\xcb\x94\xf5\x8f\x4a\xa7\xe9\x3a\x61\xde\xef\xc0\x93\x24\x54\x77\xf1\xf1\xc9\xb9\xf2\x19\xf2\xc6\x6a\x4d\x12\xeb\xf8\xac\xd8\x1b\xc4\x9f\x16\x03\x35\x81\x98\x58\xfa\x27\x22\x4e\xa5\x28\xe2\xc9\x92\x83\xaa\xb8\xd3\xf3\xdb\xb7\x9b\x9f\xea\x11\xf9\x1b\x63\x68\xd8\x13\xaf\xc7\x6a\x17\xf7\xa2\x01\xd7\xdf\xdb\xd6\xf6\xf8\x50\x40\x6e\x03\x9b\xd9\x9e\xb2\x11\xcf\x32\x9b\xc5\x42\xb5\x32\xf3\x56\x5a\xf1\xa8\xe2\x1c\xee\x68\xe7\x46\x44\xf7\xa9\x96\x6a\xf4\x59\x54\x21\xdb\x81\xc5\x5e\x30\x5f\x9a\x7b\x1d\x0e\xba\x1c\x2b\xf6\x24\x76\x04\xa0\x4a\x0e\xfa\xec\x69\x21\x39\x73\xaa\xed\xdd\xcb\xee\xa9\xfd\x17\xc2\xdf\x0d\xcf\xe0\xc1\x6e\x89\xaa\xd5\x6e\x15\xde\xe2\x37\xaa\x70\x12\xf3\x46\x76\xe3\xc0\xc1\xe6\xac\x42\xa6\xda\x3a\xa4\xe0\x8a\xfa\xdd\x33\xf4\xbb\x67\xe8\xef\xdc\x33\xf4\x25\xdd\x42\x80\x28\x7a\x4e\x9f\x50\x0f\xac\xe0\x88\xed\xe8\x6a\x1d\x9d\xc3\xdb\x6a\x1d\x4f\x02\x01\xfa\x20\x93\xb7\x99\xc8\x62\x29\x79\xcc\xf8\x2c\x79\x74\x2f\x54\x27\xb2\xc1\x12\xa9\x75\x6a\x01\x3f\x2d\xee\xa7\x8d\x07\x2e\xf8\x75\x3f\x00\xc8\x03\xc4\x88\xbe\xbc\x8d\x9a\xc8\xec\x13\xb0\x3d\x4d\xc7\x4f\x00\x6a\xa7\x33\x47\xb1\x9f\x53\x96\x29\x86\x70\x91\xb0\x0d\x21\x66\x35\x52\xfa\xc6\xa0\x76\xc2\x0e\xb0\xe2\x45\xaa\x75\xd2\x0a\x28\x7c\xd2\x01\x6c\x24\x82\x0d\x1d\xbc\x0b\x34\x46\xf3\x10\x66\x67\x47\xd1\x27\x15\xf9\x14\x24\xcc\x37\x02\x55\x1e\x58\x4d\x71\x09\xb9\xc2\x7e\x38\x02\xa9\x4f\xee\x1c\x2e\x84\xac\x5b\x8a\x88\x83\x08\xb1\x85\x3c\x46\xdc\x65\x57\x85\xf4\x6c\x8d\x74\xa7\xbc\x59\x4f\x47\xac\x17\xca\x5d\xc8\x36\x09\x9e\xb1\x9b\xab\x66\x21\xd8\xd4\x09\x6c\xb9\xc5\xdf\x58\x02\xd8\x7d\xe2\xda\x96\xed\x7e\x01\x4a\xa0\xc3\x6e\xb8\xd6\x73\xe7\x82\x0a\x3a\x83\x72\x86\x1f\xa4\x3f\x42\xba\xd9\x76\x20\xde\x69\xae\x66\x4e\x73\xd9\x23\xe6\x1c\xde\x11\x83\xcc\x88\xf4\x6c\x4c\x0d\xb2\xca\xfa\x97\xcb\x84\xe5\x65\xb4\x01\xde\xdc\xea\x39\x15\x9e\x5b\xcd\x1d\x3b\x99\x2b\xf3\x20\x02\x57\xcb\x96\x03\xef\xc3\xa3\x31\x56\x73\xf9\xdf\xc2\x81\xda\x88\x46\x30\xc4\xb1\xe1\xc3\x49\xab\x56\xcc\x9f\xa5\x30\x46\x58\x8a\x47\xe2\x94\x69\xcc\x0b\x31\x9d\x7b\x8c\x92\x44\x4f\xa7\xc5\xc6\x90\xc9\x9c\x87\x1d\x0b\xd1\x9f\xb5\x93\x36\x91\x2b\x11\xed\xa2\x86\x22\x59\x3f\x0d\xca\xef\xcf\xb6\xdf\xd6\xb3\x0d\xf9\xbe\x31\x27\x76\xcc\xd0\x52\x53\xaf\xfd\xcf\x8f\x1b\x5c\xc1\x82\x96\xe4\x23\xc6\xf9\x0b\x3e\x3b\x5b\x6c\xe0\x71\xf6\xfc\xe0\x77\x50\xff\x75\xe6\x1f\xb6\xfe\xb2\x0e\x28\x3e\x1a\x66\x61\x18\x5c\x2c\xc2\xa5\x63\x0c\xda\xbd\x29\xf8\xfb\x59\x94\x7e\x53\x90\xae\x21\x0f\x57\x63\x71\x3b\x90\xd7\xa5\xb5\xb4\x95\xc0\xfb\xae\xc7\xe2\x0e\xf4\x25\x78\xf1\x22\x77\xa3\x5e\x3d\x01\x6d\xc6\xc4\x7b\x99\x17\x3f\xd7\xd4\x8b\x0f\x93\x3f\x7e\x36\xd3\xd4\x36\x15\x9b\x39\xd4\xa2\xba\xae\xda\x3c\x7a\x65\xd7\x1c\x3c\x9e\xac\x5e\xa5\x69\xf7\x98\x77\xd0\x27\x37\x5e\x9f\xf0\x6a\x7a\xcc\x78\x9a\x8a\xcc\x5e\xe4\x0d\x5b\x0b\xc4\x1f\xa1\x16\x50\x6f\xdd\x08\xf6\xa7\x9b\xab\xcb\xfa\x2b\xd7\x1c\x25\xb5\xa2\xe1\x6b\x30\x74\xd3\xf6\x99\xbb\x2c\x93\xa4\x73\xe6\xf6\x6b\xca\x5d\xde\xbd\x7f\xbf\xf8\x79\xf6\xfe\xee\xdc\x76\xbf\x55\xa3\x2d\xf8\x5a\xe7\x98\xb8\x96\xd0\x98\x78\x15\x58\x53\xad\xc8\x6c\x9a\xbe\xef\x35\x3a\xb9\xca\x24\xa9\xea\xf7\xcd\xd5\x27\x2a\x07\xc0\xed\xa8\x4d\x6c\xc6\x8d\xf5\x0e\x5c\xb5\x7e\xf8\xda\x27\x53\xf8\x27\xfc\xed\x09\xf3\x9d\x78\x0d\x2a\xb3\xa4\x5e\xd9\x3e\xae\x94\x43\x74\xc4\x76\x40\x08\x75\xd7\x76\x78\x6a\x85\xd2\xc3\xb6\xc7\x9d\x02\x6d\x04\x11\x5b\x61\xd1\x27\xd9\x1d\x38\x76\x9f\xaa\x71\x6a\x77\x96\xc7\xf8\xa4\x81\x72\x27\xa8\x2b\x09\x6a\xf9\x5e\x7a\x71\xae\xd0\x07\x6a\xda\x54\xe8\xee\x36\xb1\x0b\x32\x6f\x13\xae\xd6\x25\x5f\x1b\xeb\xd6\x56\x3e\x57\x5b\xb9\xde\x20\xcf\x4d\x99\x7a\x54\x37\x67\x0a\xe8\x90\x6a\x4b\xa8\x86\xea\x96\x6a\xae\xa8\x4f\x6a\xed\x8b\x47\x84\xf1\x9f\x6e\x5c\x77\x08\xca\x8f\x05\x91\x34\xa6\x9a\x2b\x9c\x5c\xe4\xdf\xb1\x91\x10\x78\xb1\xf0\xa2\xbe\x74\x39\xc4\x2e\x41\x8d\x17\xce\xf4\x35\xc4\x64\xe6\xca\xa5\xa0\xa3\xe7\x88\xfa\x10\x48\x28\x61\x93\xf6\x9f\x27\x76\x32\xec\x9e\xa0\xb6\xb5\xaf\xfa\xa3\xef\x00\xb3\xe1\x16\x23\x74\xf0\x9b\xc7\xd8\x40\x6f\x21\x0f\x0e\x8e\x2e\x5e\x12\xe0\x1d\x68\x6f\x8d\xed\x17\x7e\xa7\x13\x10\xac\xcb\x65\x32\xa2\x49\xf8\xfd\xde\x46\xe1\x91\xdc\xdf\xa8\x01\xcf\xe1\xeb\xda\xd6\x32\xcb\xb4\xaf\xda\xa5\xd6\x1d\xf3\xf2\x84\x01\xc5\x4a\xa3\xe8\x07\xfb\x06\xa3\x8c\x8a\x43\xd6\xcb\x80\x14\xcf\xfa\x10\xd9\xd3\xa7\xaf\x41\x89\xcc\x0f\x6a\x8e\xb7\x9f\x06\xb7\xc8\x59\x08\x74\xd9\x8d\x3a\x61\xe9\x9e\xab\x1c\xb0\x1d\xc7\x24\xc5\x93\xac\xa0\xbc\xc4\xe3\xc5\x6c\x1e\x54\x7b\x37\xeb\x7f\xe2\x16\xd1\xc4\xcf\xdc\x04\x1a\x19\x95\x59\x6e\x8e\x4b\x3a\xef\xe8\xd4\xd6\x19\xe3\x73\x65\x13\xfc\xec\x71\x3c\xb3\xd8\xdf\xcc\xfd\x15\xd3\x66\x53\x54\xf6\x00\x8b\xb5\x60\x5a\x09\x7b\x1a\xce\x15\x09\xeb\xe7\x13\xc6\x97\xb9\x15\xf7\xe7\x6a\xe7\x14\xf7\xa5\xa3\xe7\xe2\x8a\x01\x56\x7c\xff\x99\x57\x33\x03\x2a\xf7\xfc\x1f\xcc\xff\xfd\xed\x0f\xff\x2f\x00\x00\xff\xff\xcf\x10\x8d\x76\x5c\xc7\x04\x00")
+var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfb\x73\xeb\xb8\x95\x2f\x8e\xfe\x3e\x7f\x05\xbe\x7b\x4e\x55\x77\x27\xb2\xdd\x49\x66\x72\x53\x9e\x3a\x75\xaf\xda\xd6\xde\xed\xd3\xde\xb6\xe3\x47\xf7\xe4\x1e\x4d\x29\x10\x09\x49\x88\x49\x80\x01\x40\x7b\x2b\xa9\xfc\xef\xdf\xc2\xc2\x83\xe0\x4b\xa2\x1e\xb6\xe5\xdd\x9c\xa9\x4a\x7b\x8b\x24\x9e\x0b\x0b\xeb\xf9\x59\xff\xfc\x37\x84\x3e\xc8\x67\x3c\x9f\x13\xf1\xe1\x14\x7d\xf8\xfd\xf1\xf7\x1f\x06\xfa\x37\xca\x66\xfc\xc3\x29\xd2\xcf\x11\xfa\xa0\xa8\x4a\x88\x7e\x3e\x4b\x96\x8a\xd0\x38\x39\x91\x44\x3c\xd1\x88\x9c\xe0\x38\xa5\xec\x38\x13\x5c\x71\xf8\x10\xa1\x0f\x4f\x44\x48\xca\x99\x7e\xdd\xfe\x89\x18\x57\x48\x12\xf5\xe1\xdf\x10\xfa\x17\x34\x2f\xa3\x05\x49\x89\xfc\x70\x8a\xfe\xaf\xf9\x68\xa1\x54\xe6\x1a\xd0\x7f\x4b\xfd\xee\xff\xc0\xbb\x11\x67\x32\x2f\xbd\x8c\xb3\x2c\xa1\x11\x56\x94\xb3\x93\xbf\x49\xce\x8a\x77\x33\xc1\xe3\x3c\xea\xf8\x2e\x56\x0b\x59\xcc\xf1\x04\x67\xf4\xe4\xe9\x77\x27\x38\x52\xf4\x89\x4c\x12\x9c\xb3\x68\x31\xc9\x12\xcc\xe4\xc9\x3f\x69\xac\xe7\xf8\x37\x12\xa9\x7f\xc1\x3f\x62\x9e\x62\xca\xcc\xdf\x0c\xa7\xe4\x5f\xbe\x1d\x84\x3e\xcc\x89\x0a\xfe\xa9\x67\x9b\xa7\x29\x16\x4b\xbd\x22\x1f\x89\x8a\x16\x48\x2d\x08\x32\xfd\x20\xb7\x44\x7c\x86\x30\x3a\x15\x64\x76\xfa\x57\x41\x66\x13\xb7\xd0\xc7\x66\x81\x2f\x61\x34\x37\x09\x66\x7f\x3d\xb6\xcb\x04\x2d\xf3\x8c\x08\x98\xdb\x45\xac\x5b\xff\x44\xd4\x10\x9a\x2d\xde\x0f\xdf\x16\x44\x66\x9c\x49\x22\x4b\xc3\x43\xe8\xc3\xef\xbf\xff\xbe\xf2\x13\x42\x1f\x62\x22\x23\x41\x33\x65\xf7\x72\x88\x64\x1e\x45\x44\xca\x59\x9e\x20\xd7\x52\x38\x18\x33\x55\xbd\xb1\xb8\xd6\x18\x42\x1f\xfe\x97\x20\x33\xdd\xce\xbf\x9f\xc4\x64\x46\x19\xd5\xed\x4a\x43\x3f\xc1\x68\x4b\x5f\xfd\xeb\xdf\x9a\xfe\xfe\x57\x30\xa3\x0c\x0b\x9c\x12\x45\x44\xb1\xe3\xe6\xff\x2a\x73\xd1\x7b\xa4\x3b\x2f\xf6\xb1\x3a\xf0\xca\x6c\xaf\x70\x4a\xf4\x9e\xe8\x9d\xb2\x5f\xc0\xdf\x82\x48\x9e\x8b\x88\xa0\x29\x49\x38\x9b\x4b\xa4\x78\x6d\x0d\x28\xb4\xa0\xc9\xab\xfa\x44\x90\xbf\xe7\x54\x10\xbd\x57\x4a\xe4\xa4\xf2\x54\x2d\x33\x18\xa4\x54\x82\xb2\x79\xb8\x14\xff\x1a\x74\x9a\x9a\xa1\xca\x0d\x66\x66\x3e\x68\x9d\xd8\x98\x0d\xdd\x2b\x11\x66\x68\x4a\x90\x3e\x8b\x34\x26\x82\xc4\x08\x4b\x84\x91\xcc\xa7\x92\x28\xf4\x4c\xd5\x82\x32\xfd\xef\x8c\x44\x74\x46\x23\xb7\x66\x87\xb3\x36\xf0\xe7\xea\x95\x79\x90\x44\xe8\x81\x3f\xd1\x98\xc4\xe8\x09\x27\x39\x41\x33\x2e\x4a\xcb\x73\x3c\x66\xf7\x0b\xbd\x0e\xe9\x94\x32\x38\x79\x7a\x2d\x1d\x85\xfc\xd6\x2d\xd7\x6f\x91\xee\x0f\xe5\x8c\xfe\x3d\x27\xc9\x12\xd1\x98\x30\x45\x67\x94\xc8\x6a\x6b\xbf\xe5\xd0\x3f\x4e\xd0\x11\xd2\xeb\x4c\x84\x82\xf5\xe6\x4c\x91\x2f\x4a\xa2\x23\x94\xd0\x47\x82\xbe\xb9\xa4\x52\xa1\xe1\xcd\xc5\x37\x03\xf4\x8d\x39\x2f\x08\x78\xd3\x37\xaf\xb0\xc2\xfe\xef\xff\x09\x8e\x9e\xc2\xf3\xea\xa1\xfb\x30\xd4\xa7\xf9\xce\x5c\x0d\x45\x0b\xff\xf3\x6f\x61\x3b\x76\xbf\x56\xf3\xdb\x82\xd9\x5a\x4e\xdb\x95\xbf\xc2\x32\x95\x59\xab\xd4\x3b\xb4\x2b\x67\xd5\xed\x56\x59\xab\x7c\x5f\xbc\x55\x4f\xe1\xa5\xf9\xeb\x2e\xcc\x15\x2b\xa0\x7a\x4c\x99\x39\x24\xfe\xcc\x08\xa9\xcf\x89\xa3\xde\x03\x61\x29\xbb\xf0\xda\x60\x66\x01\xbb\x75\x5c\x34\x58\x95\x03\x9c\x77\x42\x53\xba\x6e\x7f\x2f\x58\xac\x45\x2e\xcb\xec\x58\x9e\x4e\x89\xd0\xcb\xe0\xd8\x1e\xcc\x76\xaa\xd9\xa0\xca\x05\x23\x71\x87\x69\xfe\x3d\x27\x62\xb9\x62\x9e\x33\x9c\xc8\xb6\x89\x52\xa6\x88\x96\x6f\x2b\x8f\x67\x5c\xa4\x58\xd9\x17\xfe\xf8\x1f\x9b\x2e\x84\xe2\x8f\x64\xdd\xfe\x5f\x98\xdd\x8c\xb0\x04\x32\x48\xf3\x44\xd1\x2c\x21\x28\xc3\x73\x22\xed\x8a\xe4\x89\x92\x03\x78\x4d\xcb\xd4\x44\x1c\xf9\x1b\x08\x7a\x70\x37\x6f\x2e\xe1\x17\x34\xf3\x02\x24\x23\x5f\x14\xb4\x34\x66\x70\xf7\xc2\x12\x85\x37\xca\x0b\x2c\xe5\x76\x34\x23\xb9\x50\x93\xe9\xf2\xf8\x91\xd4\xfa\x6d\xa5\x1c\xcc\x10\x56\x4a\xd0\x69\xae\x88\x9e\xb7\x6e\xc3\xdd\x9d\xc0\x1e\xcd\x05\xdd\x85\x35\xbc\xdd\x84\x63\x2a\x48\x04\x73\xdb\xe4\xc0\xf8\xaf\xf4\xbc\xb5\xfe\xb2\x34\xb3\x7f\x24\x4b\x90\x47\x1a\x56\xc0\x6f\xf9\x98\x8d\x19\x3a\x42\xe7\xa3\xbb\xb3\xd1\xd5\xf9\xc5\xd5\xa7\x53\xf4\xc3\x12\xc5\x64\x86\xf3\x44\x0d\xd0\x8c\x92\x24\x96\x08\x0b\x02\x4d\x92\x58\xcb\x1c\x7a\x30\x84\xc5\x94\xcd\x11\x17\x31\x11\x2f\xb7\x8c\x95\xa7\x84\xe5\x69\xe5\x5e\x81\xdf\x8b\xd1\x57\xbe\xd0\x22\x86\x7f\x54\x7a\xf2\x3f\xb5\x05\x86\x19\xeb\xbe\x83\xd6\x5e\x4d\xa8\x89\x16\x34\x89\x05\x61\x27\x0a\xcb\xc7\x09\xf9\x42\xa2\xdc\xdc\xc9\xff\x2c\xff\x30\xd1\x92\x29\x8f\x49\xf9\x97\xd2\x3f\x0a\x51\x68\xe3\x4f\xbd\x96\xba\xf1\x97\xa0\xd3\x76\xfb\x0e\x7e\xa1\x71\xe3\xdb\xf0\xcb\x9a\x39\xb8\x77\x56\x0c\xd6\xbd\xd2\x3a\x2a\xf7\x82\x95\xf8\x1a\xdf\x11\x44\x89\xe5\x04\x2b\x45\xd2\x4c\x6d\xa8\xaf\x63\x94\x68\xb9\x72\x95\x1c\x79\xc5\x63\x32\x72\xfd\xfd\x15\x19\x71\x96\xc4\x68\xba\xb4\x5c\x6b\x46\x04\x61\x11\x69\x6f\xe1\x1e\xcb\xc7\xa2\x85\x75\xc2\x68\xa9\x3f\xf9\x91\x0b\xfd\xf9\x7b\x10\x48\x4b\x03\x7f\x0d\x99\x74\xdb\x13\xf7\xd5\x59\x08\xb6\xe4\x1f\xbd\x3d\x61\xf7\x95\xec\x6a\x7d\xe0\x02\xc9\xa5\x54\x24\x5d\x6b\x87\x78\x3f\x0b\x61\x2f\x88\x43\x1d\x70\xe5\x8e\xfa\x15\x9c\xfa\xf2\x8d\xdb\x1f\xef\x0d\x96\x6c\x5f\x56\xc4\x43\x9f\xa7\xf3\xe1\xac\x9e\xea\x9d\xdb\xbe\xc0\x89\xf1\x2e\xa6\x59\x92\x05\xf7\x3d\xc8\x17\x32\x37\xb4\xee\x95\x5b\xed\x09\x0c\x60\x8d\xa2\x59\xb6\x43\xfb\xf3\xa7\x3f\x0d\x2d\x34\xc6\x1c\xa7\x16\x54\x06\xc6\x2a\x14\x71\x61\x64\xc1\xd8\x9e\x77\xa3\x6b\x0e\xef\x87\x77\xa3\xfb\x53\x34\x44\x31\x56\x58\x1f\x70\x41\x32\x41\x24\x61\x0a\xf4\x78\xfd\xbd\x5a\xa2\x94\xc7\x24\x31\x1a\xe7\x47\x2d\xf9\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\x84\x7f\xea\x8f\xa9\x44\x38\x91\x1c\x61\x47\x56\x24\x76\x4d\x60\x16\x3b\xd6\x82\x51\xc4\xd3\x8c\x26\xde\x06\xef\x8d\x2b\x94\xc5\xf4\x89\xc6\x39\x4e\x10\x9f\x6a\xae\xa2\x35\xe4\xd1\x13\x61\x2a\xc7\x49\xb2\x44\x38\x49\x90\xed\xd6\xbd\x80\xe4\x82\xe7\x49\xac\xdb\x75\xa3\x94\x34\xa5\x09\x16\x5a\x05\x37\xa3\xbd\xb6\x6d\xa1\xfb\x05\xf1\x63\x85\x71\xe9\xd5\x4c\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x34\x29\xce\xfc\xc3\x05\x82\x71\x9f\x5d\x5e\x80\x3e\x1f\x29\xc4\x0d\x0f\x75\x9d\x5b\xfb\x8d\xeb\x31\xc5\x8c\x11\xe8\x98\xab\x05\x11\xb6\x7b\xfb\xf2\x5b\xab\xe6\x0f\x57\x77\x37\xa3\xb3\x8b\x8f\x17\xa3\xf3\xba\x6e\x7e\x3f\xbc\xfb\xa9\xfe\xeb\x2f\xd7\xb7\x3f\x7d\xbc\xbc\xfe\xa5\xfe\xe4\x72\xf8\x70\x75\xf6\xe3\xe4\xe6\x72\x78\x55\x7f\x68\xc9\xaa\xb3\x9a\x1f\x8e\x6c\xc3\xb3\xd5\xdb\x34\x5f\xca\xa6\x39\xf8\x7a\x8d\x9a\x33\x9a\x80\x0e\xda\xd9\xa0\xe9\x6d\x08\xf6\x4b\x94\x61\x29\x8d\x64\x64\x46\x70\x3c\x66\x9f\xb9\xd0\x0c\x6c\xc6\x35\x8f\xd0\xd2\x93\x12\x79\xa4\x28\x9b\xfb\x8f\x4e\xd1\x38\xff\xfe\xfb\x3f\x44\x97\x94\x3d\xc2\x5f\xe4\x10\x17\xa7\xb7\xf8\xf6\x16\xdf\x5f\x97\xc5\x57\x8b\x3e\x27\xa1\xa1\x77\xbf\x21\x43\x5a\xb8\x60\x59\xae\x40\x94\xe0\xb9\xd2\x7f\xea\x2e\x81\x3c\x56\x04\x0e\x75\x33\x28\x7e\x22\xca\xbf\xa8\x45\x9b\xf7\x60\x47\xfc\x85\x8b\xc7\x59\xc2\x9f\xfd\xc0\x3f\x11\xa5\xc7\x7e\x6b\x7b\xe9\x43\x89\xfa\x50\xa2\xb7\x0d\x25\x3a\x28\x63\xde\xcb\x33\xbf\xb2\xe5\xcf\x70\xc0\x16\x4f\x56\xab\xa3\xaa\xc5\x0f\x15\xb8\x99\x5e\x85\x6b\x96\x9d\x39\x6b\x38\x67\xe9\xe5\xf7\xc2\x3d\x4b\x83\x7e\x7d\xce\xf9\xab\xf0\xb7\xf4\xee\x94\x2d\x17\xea\x5d\x32\xd8\x8e\x77\xc7\xab\x39\x43\x5e\x9e\xe1\xd7\x62\x1b\x36\x09\x66\xd8\x20\x7a\xa1\x73\xb8\xc2\x9a\xf8\x84\xc6\x80\x84\xa6\x08\x84\x7a\xc8\x41\x63\x8c\xc1\x6e\x41\x05\xdb\xde\x4d\xdd\xc3\x04\x3e\x11\x55\x7a\xf9\xbd\xdc\x4d\xa5\x41\xbf\xfe\xdd\xf4\x2b\x8d\x0e\xe8\xc3\x01\x5e\x70\xe9\xbe\xf6\x1b\xed\x70\x1d\xfe\xbf\x02\x0f\x7f\xef\xd2\xdf\x68\x8d\xbe\x2e\x1f\xfe\xd7\xea\xb4\x7f\x9f\x5e\xfa\xde\x2d\xdf\xbb\xe5\xdf\xc2\x7f\xf2\xfe\xdc\xf2\x2f\xab\x9e\x16\xc7\x6b\xe2\x68\xc1\xea\x6b\xc1\xa1\xfc\x57\x07\x27\x0d\xfc\xe5\x54\xbe\x4d\x83\xc6\x5b\x75\xb8\xf3\x62\x7c\x23\x38\x42\x7f\xb5\x84\xb4\x46\x9d\xab\x7d\xf7\x1e\xd4\xb9\xfa\xa0\x5f\x5e\x87\x7b\x33\xe6\xfb\x42\x97\xe7\x3b\x61\x03\x9b\xdf\x96\x5f\xb1\x4c\xde\xcb\xe2\x2f\x9f\x8d\x7f\x30\x13\x7a\x3f\xb2\xf7\x1b\x5c\xbc\x1d\x6f\xdd\xbd\xe7\x64\x35\x5c\xb3\xc1\xed\xb4\x2e\xc3\xaa\xfa\x35\x25\xf2\xf7\xef\xf2\xbe\x7d\x8d\x24\xab\xfe\xc2\xed\x2f\x5c\xdb\x54\x7f\xe1\x7e\xc5\x17\xee\xc1\xc1\xdf\x1c\x4c\x04\x68\x1f\x44\xde\x03\x63\xf4\x31\xe4\x7b\x5c\x9c\x3e\x86\xbc\x8f\x21\xff\x95\xc5\x90\xef\xa2\x3d\x6d\x8b\x45\xf9\x16\x7a\x54\xaf\x46\xf5\x6a\x54\xf8\x7b\xaf\x46\xf5\x6a\x54\xaf\x46\x7d\xe5\x28\xa2\xbd\x0e\xd5\x7d\x21\x7a\x1d\xaa\xf3\x52\xf5\x3a\xd4\x8a\xc5\xe9\x75\xa8\x5e\x87\xfa\x75\xe9\x50\xe4\x89\x30\x25\x21\x19\x2d\xd4\x28\x3e\x64\x5c\xb6\x6b\x42\x21\x77\x68\xd0\x82\xa0\xcd\x72\x52\x18\x04\x2e\xfd\x15\x2d\xb0\x44\x3c\x8a\x72\x51\x39\x03\x55\x3d\xe8\x4c\x10\xac\x08\xb4\xa0\x3f\x7c\x0f\xfa\x4f\x7d\xba\xaf\x15\x83\x3f\xe5\x71\x8d\xda\xcd\x41\x68\x7a\xb2\x5a\x1e\xd9\xdb\xd4\xff\x9e\x93\x6e\xea\xdf\x0b\x12\xb5\xc2\xf2\x71\xcf\x44\x5d\xca\xb5\xd8\x8a\xa8\xa1\x85\xf7\x42\xd4\xf5\xe9\xfe\x6a\x88\xba\x69\xea\x87\x40\xd4\xcf\x36\x8f\x7f\xcf\x84\x5d\x83\x07\xd8\x8a\xb8\x7d\x2b\xef\x85\xc0\x9b\xa7\xfd\xab\x21\xf2\xb6\xe9\xbf\x2d\xa1\xfb\x14\xc9\xce\x24\x7e\x2f\xe8\x7c\xae\xd5\x0c\xd0\xf0\x34\x29\xae\xaf\x11\x54\x24\x05\xae\x25\x6b\xff\xea\x7b\x20\x69\x3f\x58\x33\xf6\x5f\x0d\x2d\xd7\xe6\x7d\x20\x44\x7c\x22\x48\xc4\x9f\xa0\x5e\x58\x37\x62\xbe\x25\x40\xc1\xc0\xaf\x33\x41\x9e\x28\xcf\x65\xb2\x3c\x12\x39\x43\x8e\xf9\x23\xdf\xbc\xb1\x56\x3f\xd3\x24\x41\x9c\x69\xfd\x4b\x61\xa1\xdc\x63\xad\x7f\x0b\x9e\xc2\xa9\x48\xb0\x54\xe8\x91\xf1\x67\x86\x66\x98\x26\xb9\x20\x28\xe3\x94\xa9\xe3\x31\xbb\x60\xe8\xd6\x8c\x11\xf2\x06\x06\x28\x97\xfa\x2c\x45\x98\x31\xae\x50\xb4\xc0\x6c\x4e\x10\x66\x4b\x9b\x80\x5b\x50\x06\xe2\x02\xe5\x59\x8c\xb5\xe2\xbb\x20\xd5\x28\x3d\x3f\x46\x30\xdf\x51\x89\xa8\x44\xe4\x8b\x12\x24\x25\xc9\x52\xf7\xa1\x69\x5f\x71\x64\xd7\xc7\x0c\xd5\xa6\xf3\x11\x21\xb8\x90\x90\x71\x30\x5d\xfe\x03\x33\x45\x19\x41\xa0\x28\x49\x63\x9a\x3b\x42\x97\x5c\x82\xd9\xe6\xa7\x3f\x49\x14\x25\xb9\x54\x44\x0c\xd0\x34\x9f\x4b\xad\x29\x66\x09\x56\x33\x2e\x52\x3d\x42\xca\xa4\xc2\x53\x9a\x50\xb5\x1c\xa0\x14\x47\x0b\xd3\x16\xac\x81\x1c\x8c\x59\xcc\x9f\x99\x54\x82\x60\xdf\xbb\x7b\x88\xbe\x0d\x9f\x19\x02\x90\xdf\x0d\x20\xed\x90\xa6\x5a\xdd\x0d\x86\x5f\xec\xb8\xd9\x13\xdd\x08\x89\xd1\x94\x44\x38\x97\xd6\xc3\xa0\xc4\x12\x91\x2f\x0b\x9c\x4b\xd8\x3b\x3d\x3d\x9b\xb3\x11\xf1\x34\x4b\x88\x22\x88\xce\x90\x12\x94\xc4\x08\xcf\x31\xd5\x4b\x77\x47\x56\x80\xa0\x7b\xa2\xb7\x1b\x68\xa9\xfe\xaf\xa0\x7e\xa7\x5c\x10\x14\x13\x85\x69\xb2\xd2\xeb\x64\xbf\xed\xb9\xdc\x7b\xe2\x72\xe5\x0d\x3f\x08\x36\x67\x40\xfc\xf7\x70\x69\x33\x6b\xba\x8f\x70\xb2\xe3\xfd\x7d\x6b\x07\xd5\xd3\xf6\xfb\xa2\x6d\xb3\x6b\x87\x43\xdc\xaf\x16\x83\xdd\xbd\xa2\x45\x51\xcd\xe2\x5d\xd1\xf4\x6b\x84\x05\xf4\x0e\xe7\xde\xe1\xdc\xba\x32\xef\xd3\xe1\x7c\x30\x1e\xa3\xde\xe7\xfc\x42\x3e\x67\x2a\x7b\xa7\x73\xef\x74\xee\xba\x40\xbd\xd3\xb9\x77\x3a\xbf\x5f\xa7\xf3\x4b\xe2\x3e\xef\x15\xdd\xf9\x5d\x89\xd6\xbd\x58\xdd\x8b\xd5\x3d\x84\xb3\x9f\xda\xbe\x58\x98\xfb\xfa\x43\x4c\x12\xa2\x48\xbb\x3d\x8b\x88\x54\x6b\x0b\xe6\x7a\xa6\x4c\xcb\x71\x73\x41\xa4\xdc\x95\x21\xf9\x86\xdf\x27\x5b\xf2\xc3\xef\xa1\xe6\x7b\x3e\xd5\xf3\xa9\x6d\xa6\x76\x38\xa6\xd9\xe0\x30\xbf\x96\x6d\xd6\xf3\xdf\x2c\x6f\x97\xfe\x1e\x8c\x1b\xb2\xf0\x8b\x1a\x0a\xd7\x52\xbb\xe2\xfe\x70\x5b\x3a\xdf\x91\x1f\x9b\xbe\xde\x27\x33\x36\x63\xef\x39\x71\xcf\x89\x7b\x4e\xfc\xbe\x39\xb1\x3b\xc9\x6f\xea\x22\x33\x7e\xba\x49\x96\x60\x36\xa1\xb1\x3c\xf9\x67\xa1\xcb\xbf\x94\x87\x4c\x1f\xa8\xd8\xa4\x98\xfa\x94\x4e\xf1\x57\xfd\x49\x52\x18\xcc\x3d\x66\xe6\x1a\x27\x9a\xb1\xb1\xdf\x24\x98\x5d\xc4\xef\xc2\x8f\xd6\x38\xfb\xd7\xf0\xa9\xed\xc2\xc7\xb1\x02\x4f\x07\xa6\xcc\x98\xf0\x8a\xbc\xda\x92\x81\xf2\x30\x4e\xf8\x2e\x5c\x3d\x98\x58\xc0\xd8\x1d\xbf\x0e\x16\xe5\xf0\xa6\xdd\xfb\x75\xfa\x5c\xc2\xde\x73\xd1\x71\xc2\xbd\xe7\xe2\x70\x3d\x17\x6f\xe5\x8e\x7c\xe5\xe3\xf9\x5a\x62\x5d\xf7\x20\x7c\x13\xad\x06\x41\xad\x79\x96\x70\x1c\xaf\x72\xc5\x14\x82\x57\x08\x8e\xb2\x36\x12\xbf\xf8\xec\x3d\x08\x6b\xc5\x68\x7f\x65\x91\x7c\xf5\x89\x1f\x8a\x96\xf2\x8a\xa1\x7c\xcd\x24\xbe\x81\x4a\xf2\x3e\xf0\x53\x8b\xf1\xf6\xa1\x7d\xbd\x45\xe9\xed\x2d\x4a\x7d\x68\x5f\xaf\x02\x1e\x98\x0a\xd8\x87\xf6\xf5\xa1\x7d\xbd\x82\xbc\x7a\xda\xbd\x82\xfc\x55\x84\xf6\x75\x12\xb5\x5f\x10\x7b\x73\x77\xa1\xbb\x97\xb9\xdd\x7b\xbd\xcc\xdd\xcb\xdc\x5f\xa9\xcc\x7d\x18\x2b\xdc\x0b\xdc\xbd\xc0\xdd\x0b\xdc\xbd\xc0\xdd\x0b\xdc\x7b\x5f\xc6\x5e\xe0\x7e\xcd\x02\x9d\xcd\x52\xf7\x9a\x24\x9b\xf7\xea\xcb\xe9\xc5\xed\x5e\xdc\x3e\x6c\x71\xfb\x60\x26\xf4\x7e\xca\x3c\x76\x9b\x4f\x5f\xa4\xbc\x2f\x52\xde\x17\x29\x7f\xf1\x22\xe5\xee\xeb\x0e\x19\x1f\xf6\x70\x29\xac\x72\x69\x00\x1f\x05\x99\x53\xa9\x80\xfd\x77\x91\x57\xd6\x27\x7a\xbc\x57\x39\xa5\x4f\xf5\xf0\x4f\x7b\xa9\xa5\x97\x5a\x7e\xa5\x52\xcb\x01\xc5\x82\x1d\x44\xc6\x4a\x8a\x55\xb4\xc0\xd3\x84\x4c\xbc\xd1\x47\x76\xd5\x83\x2f\xa9\x54\x12\x45\xb9\x54\x3c\x6d\xbf\x5c\x3e\xbb\x1e\x86\xbe\x83\x33\xce\x66\x74\x9e\x9b\xbb\xc5\x80\x73\x06\x27\xba\x90\x04\x97\x19\x59\xe7\xa9\x6a\x68\xfd\x5d\x5c\x4b\xcd\x43\x7f\xad\xdb\x69\x13\xc1\xbd\x30\xf2\x59\xa9\x5b\xcb\x5a\x93\xdb\xd1\xdd\xf5\xc3\xed\xd9\xe8\x14\x0d\xb3\x2c\xa1\xc6\xee\x6e\x48\x81\xfe\x43\x4f\x0a\x29\x2c\x1f\x8b\xbd\x14\x86\xcc\x0d\x86\x2d\x18\xfa\xb5\x6c\x8c\x8e\xd0\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xa5\x41\x4b\x28\x90\xb7\x4a\xd2\x2c\xc1\x8a\xc4\xe8\x31\x9f\x12\xc1\x88\x96\x76\x2c\xd2\x6d\x61\xfe\x37\x8d\x8e\xfe\x7b\x74\xf6\x70\x7f\x71\x7d\x35\xf9\xf3\xc3\xe8\x61\x74\x8a\x1c\xc5\xe9\x66\xf5\xb8\xf4\x28\xe2\x25\xc3\xa9\xd6\x40\xf4\x0f\x45\xa6\xec\xdf\x73\x92\x13\x84\xa5\xa4\x73\x96\x12\x40\x04\x2e\xb5\xe8\x06\x7c\x39\xfc\x61\x74\x59\x6e\x79\x41\x42\xf8\x5d\x94\xe0\x29\x49\xac\x3f\x02\x4c\xec\x9a\xd0\x03\xa8\x62\xe3\xa8\xc8\xcd\xaa\xfe\xf9\x61\x78\x79\x71\xff\x97\xc9\xf5\xc7\xc9\xdd\xe8\xf6\xe7\x8b\xb3\xd1\xc4\x4a\x95\x67\x43\xdd\x6f\xa9\x27\x2b\x7c\xa2\xbf\xe7\x38\xd1\xda\x09\x9f\x39\x3c\x5e\xf4\xbc\x20\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf9\xf0\xe9\xe2\x6a\x72\xfd\xf3\xe8\xf6\xf6\xe2\x7c\x74\x8a\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\xe7\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x02\x3f\x51\x2e\xec\xd1\x9d\xd3\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x09\x96\xee\xfa\xea\xe3\xc5\xa7\x53\x34\x8c\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x95\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xbc\xbb\xbb\xf8\x74\xf5\x79\x74\x75\x0f\x2b\xa6\x04\x4f\x24\x5a\xf0\x67\x30\x65\xc3\x0c\xc1\xc2\xfd\x84\x69\x02\x9d\xb9\xcd\xe2\x0c\x3d\x2f\x28\xb8\x3f\x00\x98\xd9\xf7\x6c\xf4\x33\x91\xb3\x37\xb7\xce\x96\x0e\x5e\x5d\x6d\xa9\x9e\xa4\xfa\x1b\x95\x63\xb1\xea\x85\x12\x95\xd7\x5f\x5c\x47\xad\xf5\x2f\x2a\xe4\xd6\xae\xac\xd5\xe8\xa5\x7d\xa6\xc5\x5e\x77\xd6\xd5\xca\x6b\xf8\x7a\xd7\x2c\x51\x82\x46\xf2\x65\xa1\x9e\x44\xce\x14\x4d\x09\xb2\x9d\xd9\xc3\xb9\x47\xf8\xa7\xcf\xa6\xe1\xf7\x70\xc1\xd6\x4a\x39\x7c\x22\xca\x0e\xbf\x57\x01\x7b\x15\xf0\x30\x54\xc0\xf7\x96\xed\x1f\x93\xac\xde\x61\x65\x62\xf0\x8e\xf1\x7a\xd5\x82\x34\x8c\x3d\xd1\x5a\x54\x13\xf2\x44\x12\x90\xf2\x94\xc0\x5a\x69\xb4\xb2\xcb\x54\x10\xfc\xa8\x05\xbe\x98\x3f\x87\x92\x4b\x03\x72\x3f\xda\xcf\x2d\xdc\x25\x88\xe3\x0f\xbf\x7f\xbd\xcb\x42\x2f\x77\xfc\x1a\x25\xbc\x6f\x21\x48\x66\x25\x46\x60\x90\x60\xff\x57\x6b\x09\x5e\x73\x5b\x04\x5f\xbc\x87\x8b\x22\x1c\xee\x01\x69\x5d\xb7\xa1\x12\xec\x58\x68\x4a\x14\x8e\xb1\xc2\xfa\xd0\xcc\x89\x3a\x46\xd7\x0c\x9e\xdd\x63\xf9\x38\x40\xee\xca\xd3\x6c\xa5\xb0\x32\xbc\x42\x6a\xfd\x3b\x31\xe0\x6f\xce\xc7\xfb\xeb\xbb\xbf\xbe\x9b\x57\xa6\x0f\xf3\x6c\x59\xe1\x7d\x5d\x8c\x1b\xf9\xbc\xf6\x77\x7f\x99\x16\xdf\xef\x15\xf6\xba\x4e\xae\xbd\x5e\x68\xa6\x72\x56\x7f\x5b\x99\xff\xeb\x6f\xab\xfe\xb6\xea\x6f\xab\x03\x58\xe1\x37\x77\x18\x36\x70\xf7\x37\xf5\x18\xae\xd3\x4e\xb7\x86\xbc\x2b\xb4\xd1\x4d\x40\xef\xfe\xda\x15\xdb\xae\xf8\x86\xbe\x0f\x1f\x61\x30\xc9\xd7\x48\x6b\xdb\xeb\x65\x6e\xf2\x45\x7a\xfd\xf4\x05\x6f\xfc\x1e\x81\x70\xaf\x08\x84\x87\x31\xd7\x17\x49\x81\x7b\x1b\x8b\xe9\xdb\xa7\xbd\xf5\x50\x83\x7d\x62\x57\x9f\xd8\x05\xbf\xf7\x50\x83\xfb\xa3\xd6\x97\x95\xae\x79\x4c\x26\x95\x28\x01\xff\xcf\x49\xd5\xf3\x53\x7a\x12\xba\x81\x4a\x0f\x8a\x4c\x37\x68\x9d\xc6\xfb\x2c\x22\x75\xc5\x63\xd2\x39\x92\xa0\xf4\xf2\x81\xcb\xe0\x6e\x9e\x46\x16\x2f\x0d\xfc\x85\x25\xf1\x96\x2d\xff\x1a\x0d\x3b\x0d\x04\xdc\x5b\x79\xd6\x2e\xd4\xd7\x1a\x5f\x50\x70\xa8\x77\xe4\xa9\xe8\xc6\xc6\x5d\x4c\xe3\xa4\x85\x99\x37\x3f\xf7\x2c\xbd\xf9\xf1\xcb\x60\x06\x75\xe7\xe8\x60\x56\x09\xdf\x7e\x1f\x76\x95\x70\xc4\xaf\x61\x59\x59\xb9\xf7\x5f\x1d\x57\x5f\x45\xc9\x3d\x6f\xef\xb8\x5c\x5f\x2b\x87\xef\x21\x7e\x56\xd9\x3a\x7a\x0c\x9d\xde\xd4\x72\x38\x13\xee\x4d\x2d\xef\xda\xd4\x62\x5c\xb4\x93\x0c\x0b\xc2\x54\x83\x48\x5d\xbd\x4e\xe0\xf5\x10\x73\xc1\x49\x1d\xd0\x00\xd2\x12\x2d\xb2\x17\xb2\xbf\xaa\xbe\x2e\xdb\x8b\x15\x0c\x82\x4c\xc8\x93\x7f\x16\x7f\x7b\x61\xbd\x54\x01\x62\x45\x74\x92\xc1\xfa\x97\xfa\x8e\xce\x6d\xa0\xd2\xee\xb9\x92\x58\x95\x44\x41\x08\xa2\x5e\x1b\xcf\x74\x63\xde\x7e\x5f\x29\x92\xb5\x41\xbf\x6e\x6c\x53\x7d\xe3\xbb\x1d\x20\xb7\x33\xd4\xa4\xfb\x05\x39\x65\x5a\x1a\xe5\xb3\xe2\x62\x90\xe8\x99\x26\x09\x20\x8a\x40\xc6\x63\xdb\x0d\xf0\xab\x8b\x78\x68\xdd\xf9\x37\x8d\x7b\x68\xe2\x0e\x4d\x2c\xa1\x8b\x3d\x75\x5f\x39\xd3\x8e\xd8\x20\x9d\x15\xb4\xa1\x35\x06\xd8\xaf\x83\x13\x7c\x22\xea\xb5\xd8\xc0\xb6\x67\x7f\xe5\xb9\x17\x64\x46\x04\x61\x11\x39\x40\x6f\xfb\x26\x61\x20\xbf\x98\x49\xda\x18\x10\x0f\x25\x10\x4e\x55\x71\xab\xa7\x95\x44\xdd\x3e\x93\xbc\xcf\x24\xef\x33\xc9\xab\x47\xbd\xcf\x24\xef\x33\xc9\x1b\x73\x20\x62\x92\x10\x45\x5a\xa5\x8a\x73\x78\xfc\x56\x52\x85\xe9\xfd\xeb\x10\x2c\xcc\x5c\x7a\xd9\xe2\x57\xa3\x59\xb8\x0d\x3f\x08\xcd\xc2\x9c\xb5\x75\xe6\x87\xd2\x8f\x0d\x21\xd6\xaf\x6e\x92\xd8\x86\x69\x94\xec\x12\xe7\xf0\xfa\xbb\x64\x1d\xd5\xa1\xf7\x36\x0a\x14\x6c\xdd\xcb\x71\x92\xda\x11\xe8\x36\x71\xeb\x31\x7c\xbf\xf3\x3e\x14\x0e\xda\x46\xf7\x87\xca\x47\xb7\x4e\x4a\x39\x14\x8b\xcd\x57\xc4\x23\x7b\xeb\xcd\x1b\xe7\x4a\xd4\x98\xe1\xbb\x9d\x6e\x6f\xac\xea\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\x2a\xd4\x1b\xab\x36\x36\x56\x7d\x45\x32\x55\x6f\xb8\xea\xc5\xaa\xfd\x4d\xf7\x50\xb5\xcc\x43\xb2\xd6\x75\x46\x49\x2f\x72\xa8\xd6\x46\xde\xdb\x69\xff\x75\x4d\xc8\xfd\x8d\x1b\xc1\xfb\xe1\x57\xf2\xa5\x59\xd2\x2e\x81\xc5\x6e\x47\xbf\xda\xb8\xe2\xbe\x74\x68\xe3\x5a\xf5\x61\xcf\x2b\x16\xa7\x0f\x7b\xee\xc3\x9e\x0f\x2e\xec\x79\xef\xca\x4a\xc6\xe5\x2a\x40\x22\x53\x3a\x6b\x65\xfe\xb3\xbb\xb3\x21\xd1\x08\x48\xc1\xa0\x1c\xc7\x24\x4b\xf8\x12\x2c\x29\x2b\xae\x73\xd7\xc5\x4d\x4d\xa2\x3e\xf4\x1b\xdd\x8d\xfc\xb5\x74\x8e\x43\x91\x49\x8b\x79\x1f\x84\x14\x7a\xf2\xcf\x4a\x3a\x7f\x27\xbc\x4c\x86\xc8\x17\x2a\xe1\x56\x5a\x4f\xd8\x63\xd6\xfc\x24\x28\x5d\x68\xef\xc1\x69\xae\x82\xdc\x3d\xa9\x05\xab\x8c\x08\xb5\x0c\xde\x24\x69\xa6\x96\xff\x35\x66\x54\x79\x0f\x1b\x9d\x33\x2e\x0c\x57\xd3\x1f\x2f\x30\x8b\x13\x22\xf4\xa5\xea\xda\x89\x30\x63\x5c\x81\xb8\x01\x33\x88\xd1\x13\xc5\x46\x38\x19\xde\x5c\x74\xf6\x33\xbf\xa3\xd3\xf5\xda\xc5\xea\xd6\xdc\x75\x9f\x12\x3e\x85\x0a\x96\x79\x59\xa7\xd7\x0d\xf4\x9e\xd1\xd2\xce\xbd\x15\x43\x50\x58\x3e\x56\x81\x43\xca\x59\xe8\x93\x95\x50\x22\x6b\xde\x2d\x61\xcc\xaf\x7e\xb5\x02\x37\x52\x7e\x66\x01\x48\xe0\x31\x0c\xb9\x3a\x0e\xf7\x63\xd8\xa1\xfb\xad\x68\xd9\xfd\xe2\x4a\x77\xc3\x8f\x82\x28\xb1\x9c\x60\xa5\x34\x93\xd9\x27\xc6\xc9\x3d\x96\x8f\x9d\x31\x4e\x4a\x2f\x1f\x38\xcb\x29\x61\x9c\x94\x07\xfe\xe2\x2c\xa7\x23\x75\xae\xe1\x4c\xef\x2f\x3f\xbe\xeb\x59\xdb\x60\xe2\xbf\x96\x5c\xf9\x6e\xbc\x67\x9d\x99\xf6\x3d\xe6\xcd\xaf\x62\xa6\x07\x33\xc2\x0a\x3f\xff\x1a\x4f\x6e\xf9\x76\xea\x8f\xe8\xaa\x35\xfa\xea\x0a\xe1\x56\x84\x8e\x35\x73\x7b\x27\x05\x71\xab\x72\xd3\xbe\x47\xf5\x32\x66\xee\x60\x37\x36\x89\x01\xba\x28\xa3\x95\xfb\x33\xe4\xa2\x82\x8a\xd2\xb3\x0b\x48\xb4\xa6\x32\x4c\x88\x8f\xb8\x30\x92\x57\x6c\xcf\xac\x31\xdb\x19\x30\xdf\x53\x34\x44\xb1\xad\xcd\x2f\x48\x26\x88\x24\x4c\x19\x55\xdb\xd4\xbb\x72\xe5\xfd\x29\xb3\x16\xa2\x73\xac\xf0\x19\x56\x38\xe1\xf3\x63\x34\xf4\x85\xfd\xa9\x44\x38\x91\x1c\x61\x47\x38\x24\x76\x4d\x60\x16\x3b\xf6\x80\x51\xc4\xd3\x8c\x26\x1e\xa9\xdd\x5b\xf1\x29\x8b\xe9\x13\x8d\x73\x9c\x78\x64\xec\x31\x1b\x3d\x11\xa6\x72\x50\xe1\x70\x92\x20\xdb\xad\x7b\x21\xd0\xcf\xdd\x28\x25\x4d\x69\x82\x05\x52\xdc\x8e\xf6\xda\xb6\x85\xee\x17\xc4\x8f\xd5\xa1\x80\xa3\x14\x3f\x12\x89\xa8\x42\x19\x97\x92\x4e\x93\xe2\x18\x3f\x5c\x20\x18\xf7\xd9\xe5\x05\x98\x46\x23\x85\xb8\xe1\x83\xae\x73\xeb\x27\x70\x3d\xa6\x98\x31\x02\x1d\x73\xb5\x20\xc2\x76\x6f\x5f\x7e\x6b\x2b\xe7\x5b\x63\x44\xb7\x5b\x4c\xc3\x91\xbd\x9d\xd2\xd9\x59\xe3\xec\xaa\x6e\x76\xd3\x35\xdb\x15\xcd\x17\xf0\xd2\x76\xd7\x06\x2f\xa9\x2c\xab\x83\xef\xc2\x65\x5b\x1a\xf1\x6b\xe0\xa3\xfd\x4a\x15\xc1\x5e\x0b\x7c\x91\x75\xfb\x5a\x55\xc0\x03\xd7\xff\x7a\x64\xb7\x1e\xc5\xbe\x0f\xc0\xd8\xe3\xe2\xf4\x01\x18\x7d\x00\xc6\x57\x1b\x80\xd1\xae\x4d\xd0\x78\xe7\x74\xbd\x0d\x2b\x48\x79\xa3\x80\xf8\x2b\x88\x52\x58\x3e\x76\xad\x29\xa5\x45\xe5\x8b\xf8\x5d\x48\xf5\x8d\x13\x7e\x0d\xe9\xbe\xaf\x53\xb4\xd7\x3a\x45\x07\x37\xed\x5e\xf0\xeb\x05\xbf\x5e\xb6\xe9\x38\xe1\x5e\xb6\x39\x5c\xd9\xe6\xad\x14\x96\xaf\x09\x42\x57\x0b\x4f\xa5\xcc\x98\x95\x01\xb6\x06\x8e\x06\xdc\x03\x79\x96\x70\x1c\xaf\x0b\xc2\xf9\x2b\x2a\xe4\x9a\x15\xa2\x99\x69\x57\x7f\x70\xe0\x92\x59\x2d\xfe\xc6\x8c\xfc\xd7\x10\x53\xdb\x3a\xf5\x37\x0d\xab\x05\xfa\x85\x60\xb2\x52\x50\xda\x4b\x69\x21\x55\x9a\xee\xa4\x70\xc8\xdf\x1f\x38\x55\xfb\x2d\x7d\x0d\xf5\xe2\x2b\x76\x10\xf4\x4e\x80\x5f\x67\xe1\xf3\x83\x91\x5a\x7b\xd5\xae\xcf\xaa\xec\x8d\xfa\xbd\xe2\xdb\x2b\xbe\x7b\x5f\xc6\x43\x52\x7c\xdf\x50\xa2\x36\x69\x22\x2f\x52\xc6\x70\x3b\xd9\xba\x17\xad\x7b\xd1\xba\x17\xad\xbf\x5a\xd1\xfa\x30\x56\xb8\x97\xab\x7b\xb9\xba\x97\xab\x7b\xb9\xba\x97\xab\xf7\xbe\x8c\xbd\x5c\x5d\x91\xab\xe1\x2f\x97\x26\xbd\xa9\x90\xdd\x59\xb8\xee\x90\x13\xfd\x5e\x24\xeb\x5e\xaa\xee\xa5\xea\xc3\x96\xaa\x0f\x66\x42\x5f\x5f\x22\x64\x9f\x4a\xd8\xa7\x12\xf6\xa9\x84\x6f\x91\x4a\xe8\x78\xc9\x2a\x09\xa5\x2e\x58\xfc\x5c\xe3\x40\x07\x2b\x5b\x14\xa3\xdd\x36\xbc\x63\x5f\x4b\xed\x80\xe6\xb7\xa9\x34\x55\xfa\xcd\x35\x74\x40\xf5\xa7\x06\x4e\x5a\xd0\x8c\xc2\x8d\x6f\x3d\x42\xd8\x2f\xf6\xcd\xf7\x05\x06\x5e\x1f\x75\x5f\x7f\x0a\x05\xbb\xd6\xd7\x9f\x7a\xc1\x79\xbb\xc3\xb5\x66\xe6\x8e\x46\x8d\x8d\xf7\x9d\x4e\xfb\xcd\xc1\xe5\xda\x4f\xfa\x9b\x86\xcb\x35\xde\x24\xb5\xe4\x9d\x93\x7f\x36\x5e\x14\x6f\x50\x76\x6b\xe3\xdb\xe1\x13\x51\x5f\xcb\xd5\xd0\x97\xdd\xea\xeb\x43\xec\x69\xba\x5b\xb1\xfe\x77\x3b\xdb\xbe\xc8\x58\x5f\x64\xac\x2f\x32\xd6\x17\x19\xeb\x8b\x8c\xa1\x5f\x79\x91\xb1\x8d\xc5\x47\x33\x8e\xaf\x45\x82\xec\x8b\x8c\xf5\x42\xe4\xfe\xa6\xfb\xeb\x12\x22\x0f\xd0\x82\x70\x10\xd5\xd4\xbc\x05\xe1\xcd\x71\x3f\xdc\x48\xba\x62\x7f\xb8\x05\xed\xf1\x3f\xec\xff\xf5\xf8\x1f\x3d\xfe\x47\xcb\xac\xfb\x60\xd6\x1e\xff\x03\xf5\xe1\x9a\x7d\xb8\xe6\x21\x87\x6b\x76\xd8\xc6\x1e\xff\xa3\xa3\x38\xf7\x42\x18\x20\x4e\xe6\xda\x08\x07\xe4\x97\xba\xa2\x71\xb0\x52\x9a\x1b\xeb\xaf\x07\x07\xa4\x71\xda\x07\xa1\x92\xbc\x22\x0e\x48\x13\x5d\x77\x56\x40\xde\x07\x1e\x88\x1b\x6d\x9f\xb8\xd8\x87\x58\x1f\x7e\x88\xf5\xc1\x25\x2e\x1e\x8c\x24\xdb\xab\x7b\x7d\xee\x62\x9f\xbb\xd8\x2b\xc3\xbd\x32\xbc\xf7\x65\x3c\x24\x65\xf8\x8d\x25\xec\x17\xc4\x05\xd9\x4d\xd6\xee\x45\x6d\xf3\x5e\x2f\x6a\xf7\xa2\xf6\x57\x2a\x6a\x1f\xc6\x0a\xf7\x72\x76\x2f\x67\xf7\x72\x76\x2f\x67\xf7\x72\xf6\xde\x97\xb1\x97\xb3\x5f\x0d\x27\xa4\x49\xd8\xee\x98\x6f\xf3\x9e\x24\xed\x5e\xca\xee\xa5\xec\xc3\x96\xb2\x0f\x66\x42\x3d\x66\x48\x8f\x19\xd2\x63\x86\xf4\x98\x21\x5b\xc9\x37\xff\x66\x8f\xe5\x87\xe0\x26\xf6\x57\xf6\x87\x1f\x12\x3e\xbd\x5f\x66\x44\xff\xf7\x9c\xa6\x84\x49\x90\x46\xa9\x5a\x86\xf2\x4c\xcb\xca\xd7\xd7\xfc\xc3\xdd\xc5\xd5\xa7\xcb\x30\x9b\xe6\xc3\xe7\x87\xcb\xfb\x8b\x9b\xe1\xad\x5f\x17\x3f\xab\x70\x2d\xec\x77\x25\x91\xcc\x92\xfc\x2d\xd1\xba\x27\x9c\x9a\x3b\x85\x55\x2e\xb7\x1b\xd9\xed\xe8\x6e\x74\xfb\x33\x64\x03\x4d\xce\x2f\xee\x86\x3f\x5c\x96\x08\xa2\xf4\x7c\x78\xf6\xe7\x87\x8b\xdb\xf6\xe7\xa3\xff\xbe\xb8\xbb\xbf\x6b\x7b\x7a\x3b\xba\x1c\x0d\xef\xda\xbf\xfe\x38\xbc\xb8\x7c\xb8\x1d\xad\x5c\x8f\x95\xa3\x5d\xad\x84\x48\x58\x24\x88\xf3\x47\x91\xe5\x1a\xa2\x58\x43\xe4\xc5\x47\xc7\x0e\x9b\xfa\x3a\x45\x0f\x56\xa7\xa7\xb6\x71\xc3\x60\x83\x86\x8c\x32\x12\x53\x89\xa7\x09\x89\x6b\x2d\xb9\x35\x6c\x6b\x09\x97\x06\xf5\xac\xb5\x67\x2f\x72\x6a\x9e\x17\x19\x5e\x80\x20\x47\x51\x11\x16\x37\xf4\x61\xf6\xa1\xb5\x07\xa6\x79\x17\x7d\x22\xa5\x9e\xa2\x5c\x08\xc2\x54\xb2\x44\xe4\x0b\x95\x4a\xd6\x1a\x75\xdb\xd7\xd6\xac\xbd\x53\x7d\x83\x0b\x2c\xd1\x94\x10\x56\x1e\xbf\x20\x09\xc1\xb2\x61\xcc\x76\xf7\xbb\x2d\x8b\xdf\x2b\x6b\x8d\x31\x97\xd1\x0c\xd3\x24\x17\xa4\x72\x5a\x78\x9a\x61\x41\x25\x67\xa3\x2f\xfa\x2e\xd3\x07\xf9\x1a\x3e\xe7\x62\xbb\x13\x33\xfa\x73\x48\xc1\x57\xe5\x7f\x7e\xba\x2f\xff\xab\x74\xe6\x2f\xef\xcb\xff\x5a\x4d\xeb\x41\xc3\x55\xca\x3e\x42\x9f\xee\x4f\xd1\x27\x08\x71\x12\xe8\x7e\x81\x0d\xc5\x5e\xde\x9f\xa2\x4b\x22\x25\xfc\x52\x7c\xac\xa8\x4a\x60\x6e\x3f\x50\x86\xc5\x12\xb9\xe9\x9b\x44\x57\x1c\x2d\x10\xf1\x4b\x53\x5d\x3c\xf6\xb7\x9c\x81\xea\x5e\xac\xde\x25\x9f\xd3\x08\x27\xbb\x2d\xe2\xf0\xaa\xc4\x07\xae\x6f\x57\x2e\x45\xf8\x76\x7d\x2d\x86\x57\xe7\x90\x44\xea\x86\xda\x30\xf3\x2b\x22\x35\x91\x44\x9c\xc5\xd6\x4b\xa3\x6f\xff\x65\x20\xd4\xff\x8d\x43\x22\x6e\x2e\x29\x9b\xeb\x16\xd1\x09\xba\xbe\x1d\xb3\x6b\x11\x1b\x43\x28\xd1\xd2\xb0\xa1\x39\x2a\x11\xe3\x0a\xd1\x34\xe3\x42\x61\xa6\xb4\x22\x00\x62\x80\x5d\x11\xc3\x01\xce\x78\x9a\xe6\x0a\xeb\x83\x56\x5b\x54\x66\xcc\x21\x77\x44\x5d\xc4\xe0\x5a\x69\x58\x43\x23\x27\x14\x73\xc9\x84\x6e\x5f\xcb\x28\x65\x1d\x9a\xc6\x35\x55\xd6\x35\x81\x85\xc0\x65\x69\xe2\x03\x55\x24\xad\xbe\xdf\x31\xc8\xf3\x5f\x8d\x06\x82\x33\x93\x54\x41\xc4\x50\x44\x0b\xaa\x48\xa4\xf4\x11\xdc\x8a\x26\x1e\xae\x7e\xba\xba\xfe\x25\x94\x20\x3e\x0c\x3f\x9f\xff\xf1\x3f\x4a\x3f\xdc\x7e\xae\xfd\x30\xf9\xf9\x8f\xb5\x5f\xfe\x3f\x2b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x04\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x9c\x20\x99\x67\x9a\x02\xe4\x71\x79\x7f\xb5\x48\x79\xc9\x71\x4c\xd9\xdc\x64\x80\x5e\x52\x45\x04\x4e\x3e\xe3\xec\xa3\xb3\x5f\x6f\xb1\x3a\xff\xe7\xae\x94\xaf\xfb\xe1\x2f\xc3\xcf\x61\xc6\xef\x87\x9b\xdb\xeb\xfb\xeb\x95\xb3\x2e\xb5\x50\x3f\x46\xfa\xf1\x29\xfc\x2f\x3a\x41\xba\x75\x2f\xf9\xa6\x44\x61\xad\x11\xa0\x6f\x4d\xd2\x9c\x4f\xa4\xa1\x2c\x81\x53\x93\x09\x9a\x52\xb8\x52\x8c\x05\xef\x3b\x23\x5c\x7b\xed\xc1\x9f\x1b\xf3\x01\x68\xcb\xee\x52\x66\x31\x16\x31\xfa\x9b\xac\xa6\x8f\x83\xe1\xd8\xfc\x40\x62\x74\x84\x16\x4a\x65\xf2\xf4\xe4\xe4\xf9\xf9\xf9\x58\xbf\x7d\xcc\xc5\xfc\x44\xff\x71\x44\xd8\xf1\x42\xa5\x89\x49\x97\xd7\xab\x70\x8a\x6e\x04\xd7\x57\x08\x28\xe8\x44\x50\x9c\xd0\x7f\x90\x18\x4d\x0d\xff\xe3\x33\xf4\xd7\x88\x0b\x72\x5c\x6c\x8c\x35\x2a\xd9\x7b\xc4\x1a\x9e\x4e\xf4\x4b\x0d\xcc\xa4\xba\x9f\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xf2\x68\x7c\x15\xba\x3d\x97\x69\xa8\x35\x9a\x2c\x57\xc5\x72\x06\xca\x0a\x8e\x49\x90\xed\xae\x78\x99\xe0\xb4\xe2\x73\x61\xd4\xd6\x5c\xab\xe8\xfa\x6e\xc5\x70\xab\xba\x57\x33\x3d\xe1\x88\x27\x68\x9a\xcf\x66\x44\x84\x0e\xe9\x81\xd6\x66\xa8\x44\x82\x44\x3c\x4d\x41\x62\xd0\x5f\xe5\xd2\x50\x35\xac\x98\x1d\xed\xf1\x98\xc1\xfe\x6b\x35\x07\x28\x20\xe6\xc0\xea\x18\x21\x31\xc2\x6c\x69\xba\x99\xe6\xb3\xb0\x7d\x03\x43\x81\x63\x44\xd5\x98\x0d\x93\x04\x09\x92\x72\x45\x82\x1c\x4a\x70\x9e\x95\x17\x1c\x58\xa4\x20\x59\x82\x23\x12\x1b\x7a\x48\x78\x84\x13\x34\xa3\x09\x91\x4b\xa9\x48\x1a\x36\xf0\x2d\xd8\x6a\xf4\x9a\x51\x89\x62\xfe\xcc\x12\x8e\xed\x3c\xaa\x9f\x7d\x57\x3e\x8d\x23\x07\x11\x30\x12\x82\x0b\xf8\x9f\x9f\x28\x8b\xf7\xc6\xa1\x1e\xee\x46\xb7\xe1\xbf\xef\xfe\x72\x77\x3f\xfa\xbc\x19\xf7\xf1\x94\x05\xc3\x03\x1d\xfe\x14\xdd\x99\x45\xe0\x42\x4b\x44\xa2\x65\x52\x9f\x2d\x29\x15\x3f\xf0\x78\x4b\xee\xfb\x79\x78\xf5\x30\x2c\x71\x94\xbb\xb3\x1f\x47\xe7\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xec\xc7\x8b\xcb\xf3\x49\x83\xc2\xf8\xe1\x76\x74\x76\xfd\xf3\xe8\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xc1\x63\x34\x5d\x36\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x05\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x81\x7d\x07\x90\x34\x8c\x71\xc5\x48\xcc\xcd\x0d\xeb\xde\x31\x0b\x0c\x15\x06\xe4\xc2\x2f\xdc\x29\x1a\x22\xa9\x5f\xcc\xf5\xa1\x16\x74\x3e\x07\xc3\x61\x65\xa8\xa6\x35\xfb\x29\x2c\x2f\x7c\x67\xf6\x3f\x13\x1c\xce\xb9\xee\xd6\x5a\x9c\xbd\x55\xc2\x7c\x08\xa8\x2b\xe5\x16\x05\x06\x83\x43\xc3\xd0\xdc\x66\xe9\x45\x68\x5d\x2f\x73\x1e\x8d\xbd\x48\x1f\x2e\x60\x5b\xd2\xd8\x3b\x33\x41\x9e\x28\xcf\x83\x4f\x2d\xb0\x47\x69\xc7\x1b\x9b\x2f\x16\x00\x96\xcd\x18\x45\x2a\xcd\x78\xf2\x68\x6c\x41\xb3\xb0\x27\x68\x61\x26\x78\xda\xd0\x46\xf9\x98\x5c\x5c\xdf\x29\x81\x15\x99\x2f\xcf\x2d\xcb\xd8\xfe\x78\x9c\x5f\xff\x72\x75\x79\x3d\x3c\x9f\x8c\x86\x9f\xca\x27\xde\x3f\xb9\xbb\xbf\x1d\x0d\x3f\x97\x1f\x4d\xae\xae\xef\x27\xee\x8d\x95\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x8a\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x25\x33\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x53\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb1\xf8\xe8\x7a\x76\x74\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x63\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd1\x25\x16\xf3\xc2\x0e\xf7\x2d\x9f\xcd\x4c\x63\xdf\x99\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\x76\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xea\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xa6\xb5\xcd\x06\x5a\x22\x5f\xa8\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x0c\x10\x67\x60\x70\xf0\x42\x44\x85\x22\x3b\xd0\x80\x69\xab\x46\x01\x37\x80\xb6\x74\x6d\x91\x8d\x3e\x53\xa9\x95\x46\xf3\xe3\x0f\x16\x72\x69\x3b\x82\xf8\x38\xbc\xb8\xac\x08\x17\x93\xf3\xd1\xc7\xe1\xc3\xe5\x6a\x33\x61\xe9\xbb\xea\x16\xa3\x23\xa4\x9f\x97\xfd\xe6\x74\x66\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x97\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\x67\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x23\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x5b\x9e\xb1\xe1\xd9\xfd\xc5\xcf\xa3\xb2\x7e\x78\xf6\xe3\xc5\xcf\x4d\x52\xcd\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x23\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x94\x02\x40\x98\xf5\x44\x3e\x5c\x00\x67\x7d\xc2\x09\x8d\xa9\x5a\x3a\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x14\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x13\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x73\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\xdf\x68\x99\x2b\x4b\x68\x44\x55\xb2\x44\x11\xd8\xb0\xc0\x9c\x99\x62\x86\xe7\x56\x38\x00\x35\xa7\x42\x12\x7f\x36\x28\x6a\xd7\x33\x6b\xda\xbf\xa7\x64\xcb\x63\xf6\x70\x75\x3e\xfa\x78\x71\x55\x26\x81\x1f\x2f\x3e\x95\x44\xd8\xcf\xa3\xf3\x8b\x87\xd2\x6d\xae\x25\xd9\xd5\x72\x7d\xb5\xd9\x86\xa3\xe8\x5f\x3a\x45\xe7\xe6\xd3\x53\xbd\xb8\x0d\x10\x71\x5e\xf9\xad\xac\xc3\xad\x0b\xc9\x73\x7f\x8c\x98\x12\x8d\x7e\x89\xae\x26\x24\xeb\x83\x2c\xd9\x90\x9a\x43\x15\x6a\x7d\x5f\x55\x9d\xca\xd5\x29\xbb\x17\x21\xe8\xf2\xb8\xb0\x2c\x85\x31\x0c\x60\x34\x68\x33\x62\x35\xb8\xb5\x0a\x86\xfd\x33\xb8\xa8\xd3\x5c\x2a\xe3\x4a\x04\xe2\x44\x8f\x7f\x92\x7a\x41\xc1\xd5\x78\x8c\xee\x08\x19\x33\x67\x3d\x98\x53\xb5\xc8\xa7\xc7\x11\x4f\x4f\x0a\x7c\xc2\x13\x9c\xd1\x14\x6b\x49\x9a\x88\xe5\xc9\x34\xe1\xd3\x93\x14\x4b\x45\xc4\x49\xf6\x38\x87\x08\x18\xe7\x4e\x3d\xf1\xcd\xce\xf9\xbf\x5f\xfe\xe1\xfb\xa3\xcb\x3f\x7d\xff\xa1\x6e\x21\x6b\xdb\xff\x11\x8b\x70\x26\xf3\xc4\x46\xcc\x89\x70\x6d\xdc\x91\xcf\xc9\xba\xfd\xbe\x2a\x6f\xd7\x6e\xfa\xeb\xd9\xcd\x43\xc9\x62\x5d\xfe\xe7\xe7\xd1\xe7\xeb\xdb\xbf\x94\x38\xe5\xfd\xf5\xed\xf0\x53\x89\xa1\x8e\x6e\x7e\x1c\x7d\x1e\xdd\x0e\x2f\x27\xee\xe1\x2e\xb6\xb7\x9f\x18\x7f\x66\xe5\xa5\x91\x8e\x03\xd6\x7a\x3a\x45\x1f\xb9\x40\x3f\xf9\x9d\x3c\x9a\x62\x09\x57\x8c\xbb\xb3\xe4\x00\x65\x3c\x06\xc6\x8b\x48\xb6\x20\x29\x11\x38\xb1\x36\x03\xa9\xb8\xc0\x73\x73\xd3\xcb\x48\x60\x15\x2d\x90\xcc\x70\x44\x06\x28\x02\x6a\x98\x0f\x60\x53\x40\xd5\xe2\xf3\xaa\x9d\xef\x36\x67\x8a\xa6\xc4\xa9\xe0\xf6\x9f\xf7\x66\x33\xb6\xd8\x9c\xeb\xfb\x1f\xcb\xc2\xde\xc7\xcb\xbf\xdc\x8f\x26\x77\xe7\x3f\xad\x5c\x4f\xf3\x59\x69\x64\x77\x10\x80\x74\xc6\x93\x3c\x65\xe1\xdf\xdb\x8f\xed\xe2\xea\x7e\xf4\xa9\x3a\xba\xeb\xe1\x7d\x99\x32\x6e\xcb\x01\x6e\x1f\x7e\xb8\xbe\xbe\x1c\x95\x5c\xc2\x1f\xce\x87\xf7\xa3\xfb\x8b\xcf\x25\xfa\x39\x7f\xb8\x35\x68\x84\xab\xa6\xe9\x46\xd0\x30\x51\x3d\xad\x70\x9a\xfb\x66\x85\x9d\x38\xd1\xd0\x06\x94\x9b\xb3\x7c\x14\xc0\xed\x98\x70\x30\xb0\xea\x1c\x79\x93\x6a\x64\x46\xda\xc8\x0e\x55\x79\x9b\x50\x3b\x3b\x5e\xb9\xd1\xab\xb8\xf2\xbd\x1f\x82\x81\x02\x35\xca\x36\x4e\x12\xfe\x6c\x42\x79\x53\xaa\x6f\x65\x0b\x8c\xa6\x5f\x91\x85\x87\xf0\xb8\x81\xe3\x95\xb7\x85\x44\x82\xa8\xcf\x3c\x67\x6a\x7b\x92\x1b\x5e\x95\xf8\xce\xe8\xea\xe7\xc9\xcf\xc3\x32\x05\x5e\x5c\xae\x66\x35\x61\x13\x0d\x57\xf1\xf0\xea\x2f\xfe\x12\x86\x80\xef\x81\xd7\x50\x8d\xec\x1a\x25\x54\x8b\xbd\x11\xd6\xda\x6b\x02\x12\x0d\x22\x14\x4c\x0e\xa9\x9e\x1c\x04\x98\x66\xc6\x9f\x64\xf8\x93\x19\xe4\xa9\xfb\xa3\xd2\x9e\x84\x75\x01\x6b\xaa\x8b\xa7\x87\x76\xac\x56\xcd\x10\x61\x4f\x54\x70\xc0\xb3\x45\x4f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\x4f\xe1\x7f\x37\x6b\x13\x0c\xa3\x15\xc6\x75\xc7\x85\x3a\xf7\x81\xbc\xdb\x59\x43\x9a\x02\x5a\xeb\xa1\xac\xcd\x86\x8e\xfa\xb7\x0d\x9b\xb3\x63\xc0\x6f\x79\xc2\x7f\x4f\xce\x29\x4e\x34\x03\xd8\x9f\xbc\x38\xbc\xba\xbb\x28\xcb\x8f\x65\x35\x23\xe0\xcb\x5b\xcb\x8b\x60\xa8\x34\x23\x77\xca\xc4\xdd\x9f\x2f\x8d\x76\x01\xa0\xc7\xe6\xdc\x06\x8a\x05\x08\x40\x0e\x05\x25\xc3\x42\x56\xbe\x90\x08\x80\xd0\x8a\x80\x2b\x7d\x67\x41\x38\xd3\x13\xa7\xf1\x98\x91\x2f\x19\x61\x12\x82\x03\xcc\x7d\x56\xf8\xda\xe5\x31\xba\x98\x01\x4b\xd0\xaf\x33\x94\x33\xeb\x00\xd3\x17\xae\x19\xe4\x40\x8b\xb2\x76\x08\x5e\x43\x04\xc3\x0b\x23\x2e\x58\xaa\x18\xfc\x98\xfd\xe2\x9d\x68\xf0\x68\xc6\x35\x03\xd2\xbb\x68\xdb\x3b\x45\x98\x49\x3a\x40\x5a\x61\xa9\xee\x29\xa4\x0e\x68\x85\xd2\x86\x70\x69\x4e\x63\xff\x7c\xfd\x6b\xa0\x16\x27\x1c\x5e\x06\xcd\x77\x41\xe5\x2a\x68\x11\x8d\x13\xe3\x31\x99\x74\xbf\x13\x22\x2e\x88\xf5\xb3\x6c\x7c\x0d\xac\x63\xec\xf7\x58\x3e\xd6\x7c\x0f\x17\x4c\x2a\xcc\x22\x72\x96\x60\xb9\x65\x10\x92\xb3\x71\x0c\xca\x12\xc7\xed\xed\xc3\xcd\xfd\xc5\x0f\x6b\xb8\x7c\xf5\xe3\x7a\x18\x50\x94\xe4\xce\x3d\x37\x15\x1c\xc7\x48\xb3\xcf\x39\x37\xae\x40\x2b\xf8\x17\xd0\xdf\x26\xaf\xc7\x07\x54\x96\x60\xc7\x8b\x74\x04\x6b\xe7\x08\x5d\x09\xd4\x2e\x04\x8a\xf4\x4a\xa0\xc0\xe4\xe1\xb6\x1a\x3c\x8b\xa6\x20\x89\xb5\x6e\x65\x09\x56\x33\x2e\x52\xc3\xe5\x4b\x93\x36\x8d\xaf\x6e\x94\x32\x45\x84\xc8\x33\x45\x1d\x96\x7b\x55\x4a\x85\x0a\xef\x7c\xfe\x99\x48\x89\xe7\x64\x17\x07\x74\x93\xf2\x70\xf7\x73\xf8\x4f\x70\x30\x77\x91\xfd\x4b\x23\x74\x91\xef\x8e\x9e\xae\xd9\x47\x13\xc8\x73\xc3\x13\x1a\x6d\x19\x70\xf7\x71\x78\x71\x39\xb9\xf8\xac\x95\xf8\xe1\xfd\xe8\xb2\x24\x4a\xc0\xb3\xe1\xc7\xfb\xd1\xad\x05\xb1\x1e\xfe\x70\x39\x9a\x5c\x5d\x9f\x8f\xee\x26\x67\xd7\x9f\x6f\x2e\x47\x6b\x22\x73\x5a\x1b\xaf\x5b\x57\xab\xaf\x9e\xd6\x7e\x81\x1d\xd6\xbc\x2c\xb4\x97\x41\xd6\x18\xa6\x09\x38\xc1\xb9\x71\x86\x63\xc4\x78\x4c\xe0\x67\xe9\xac\x33\x1e\x39\x1a\x5d\xa8\x6f\x92\x04\xe1\x5c\xf1\x14\x83\xd7\x26\x59\x8e\x19\x9e\x6a\xd6\x8a\x93\x24\x08\xef\x12\x39\x63\x9a\xc5\xea\xc6\x0c\x44\x7b\x94\x10\xcd\xce\xb3\x20\xd9\xcf\xfa\x0d\x66\x94\x41\xa4\x6d\x8a\xc5\xa3\x71\x33\x15\x5d\x16\x87\x42\x22\x2c\xc7\x4c\x8f\x8b\x58\xc3\x50\x97\x15\x3e\xed\xf4\x56\xeb\xea\xa4\xf8\x91\xe8\x55\x49\xf3\x68\x81\x32\xc1\xe7\x82\x48\x69\x6d\xcb\x11\x66\x26\x00\xc1\xbe\xae\xaf\xa1\x31\x63\x5c\x2f\x85\x33\x61\xc7\x24\x23\x2c\x26\x2c\xa2\x26\xad\x0f\x7c\xf7\xde\xb4\x39\x17\x38\x5b\x20\xc9\xc1\xe9\x0d\xcb\x0e\xf6\x2b\xf3\x91\xbb\xc9\xcc\x8c\xcd\xe3\xd0\x02\x2d\x72\xcd\x27\xae\x41\x4e\x34\xab\x0c\x1f\xbb\xcb\xd0\xb9\x5d\x8c\x1d\x30\xcd\x12\xa2\x0c\x58\x3f\x2c\x39\x6c\x86\x5e\xeb\xd2\x7e\xe8\x6d\x6a\xda\x04\x7d\x61\xbb\x31\x63\x69\x47\x74\xdc\x60\xd9\xb6\x47\x0a\xfd\x88\x59\x9c\xe8\x56\x9c\x0f\xa3\x7c\x16\x21\x15\x65\xa8\xa9\xc6\x9d\xc6\x5d\x6e\xd1\x08\xe7\x72\x97\x6b\xb4\x92\x8b\x69\xac\x82\x47\x45\x50\x08\x90\xb7\x4d\xc4\x84\xd5\xcd\x34\x8b\xc4\x09\xb7\xab\x64\x5e\xcf\x4d\xfd\x27\x04\xa3\x69\xb9\x66\x33\x41\x59\x44\x33\x9c\x6c\xa5\xfb\x55\x82\xf1\x6d\x8c\xfb\xb7\x74\xa6\xc9\xe7\xbb\x9a\xdb\x56\x11\x91\x42\x82\xb2\x1d\xa6\xdf\xc2\x0d\x2c\x49\x36\xab\x81\xc8\x22\x9a\x04\x0b\x9e\x1b\x7f\x1c\xac\x0b\x89\x1b\x8e\xea\x71\xd3\x76\xeb\x93\x81\xcb\x01\xd0\x5b\x6c\xb6\x89\xfc\x69\x5b\xbf\x4a\x2b\xb6\x77\x13\x8c\x87\x93\x9b\xe6\x36\x9b\x76\x20\x78\xf8\xaf\x55\xb4\xf3\x19\x67\x9a\x66\x2c\x6c\x3f\x2e\xe6\x68\x95\x24\x5b\x15\xcc\xc5\xcf\x04\xbe\x73\x9f\x17\xd2\x7d\x37\x8a\x25\xb4\x01\x50\xf5\x4e\x4a\x31\x04\x41\x8e\xb9\xa5\xf1\x59\xae\x65\x59\x84\x21\x0a\x01\x7d\x4b\x8e\xe7\xc7\xc8\x15\x61\x18\xa0\xe1\xcd\xcd\xe8\xea\x7c\x80\x88\x8a\xbe\x73\x31\x8b\x36\x60\x69\xcc\x14\xb7\xd2\xca\xd2\x15\xd0\x48\x89\x98\x93\xd2\x9c\x5d\x74\x13\x84\x2a\xcf\xa9\x54\x36\x7c\x56\xf3\x95\xa0\xd4\x09\x4d\xab\x62\xb6\xa1\x90\x5c\x2d\x76\x21\x0d\x2c\x65\x9e\x6a\x5d\x76\x42\x71\x3a\x11\x3c\xd9\x85\x29\x9c\xc3\x54\x40\x5d\xf6\xe9\xf9\x14\xa7\x48\x37\x6b\x43\x41\xbc\xcb\xd1\x8b\x74\x5a\x30\xd2\x7c\x59\xdf\x9b\xc1\xbd\xe5\xbc\x0f\x36\x1e\x8d\xba\x10\x08\x48\xdf\x6f\x61\x15\x85\xd9\x78\x62\x2d\xf5\x13\x1c\x45\x5a\xe5\xde\xf3\xa4\x82\xfa\x39\xce\x25\x60\x3b\x7a\xb1\x69\xae\xa3\x73\x37\xcc\x4c\x73\x30\x08\x06\xd6\x57\xae\xe4\x11\x2d\xda\x6f\xe8\x77\xba\xac\xf5\xea\x2a\xdc\x3c\x48\x6f\x52\x31\x97\xb0\x24\xb0\x93\xd2\x54\xc8\x51\x0b\xb2\x44\x0b\xfc\x44\x4a\x5d\xba\x84\x18\xdd\xf0\x92\xe7\xa2\x89\xd1\x8d\xd9\x39\xc9\x04\xd1\x92\x7e\xd5\x81\xe2\x69\xfa\xb6\x4c\x89\x3d\x5d\xf7\x74\xfd\xee\xe9\xfa\xcc\x14\x4a\x1a\xfa\xc2\x58\x3b\x09\x70\xa6\xb1\x49\xc6\x79\x32\xe9\x60\x13\xe9\xbe\xe2\x25\x4f\x58\xa5\x6c\x14\x40\x02\xf0\x1c\xe4\xa3\xd2\xb5\xc9\xf5\x5d\x17\xa4\xd8\xda\xe1\xad\x58\x06\xe7\x32\x0b\xea\xe5\xec\x72\xde\x9b\x5a\x59\xd5\x12\x7a\x71\x31\xe7\xcc\xc8\x37\xde\x5d\x16\xd6\x3f\x2d\x1d\x26\x27\x8a\x50\x56\xab\xc6\x66\xe8\x59\x2f\xb0\x91\x3b\xfe\x9e\x73\x85\xe5\x77\xc7\x63\xa6\x85\xa8\x47\xb2\x34\xe6\x56\x2d\xa6\xfc\x46\xcb\xe2\x47\x92\x30\x09\xe1\xde\xbf\x31\xee\x39\x4d\xe2\xce\x5c\x6d\x54\x53\x53\x04\x0e\x82\xae\x7d\x2f\x10\xa2\x6b\x1b\xb5\x52\x52\x11\x00\x0d\x72\xbe\x99\x8b\x7d\x66\x86\x3f\x27\x0a\x52\xac\x15\x55\xa0\x33\xc5\xa6\xca\x5c\x6d\xe8\x6b\x4d\x57\x86\x2a\x04\x07\x3f\x49\x9c\xef\xc6\xf8\x65\xbd\x8d\xb5\x9c\xd1\x6b\x0b\x77\x36\xe6\xfd\xc4\xd9\x8d\x22\xc1\x6b\xa5\xdb\xb0\x44\x66\xa7\xa7\x86\x1d\x38\xff\x35\x61\xc7\xcf\xf4\x91\x66\x24\xa6\x18\x22\xe0\xf5\xbf\x4e\xf4\xbc\xfe\xfd\xec\xf6\xfa\x6a\x52\x64\xf2\xfc\xd7\x98\x0d\x13\xc9\x7d\x96\x02\x62\x9c\xf9\x70\xfb\x4c\x10\x27\x12\xda\xb9\x80\xd5\xb5\x30\x23\x8e\x59\xdb\x08\x62\x1e\xc9\x63\xfc\x2c\x8f\x71\x8a\xff\xc1\x19\xb8\xd2\x87\xf0\xe7\x59\xc2\xf3\xf8\x17\xac\xa2\xc5\x09\x9c\x6b\x75\x42\x9e\x08\x53\xc6\x4d\xa5\x97\x2b\x86\xe4\x5d\x09\xd1\xfa\xff\xae\xc7\x5c\x24\x15\x49\xad\xc9\x46\x24\x53\xe8\xff\x27\xc8\x94\x73\xd5\x7c\x49\xf1\xd9\x4c\x92\x8d\x2e\xa4\x42\x49\xbb\xbb\x46\x7f\xfa\xe3\xf7\xbf\xd3\x24\xb4\xcd\x1a\x5f\xdc\x5d\x4f\xf4\xf7\xff\x7e\x6e\xbf\x97\x1b\xb0\xbb\xeb\xac\x60\x6d\x8e\x78\x4c\xe0\x7c\xce\xe0\xf6\x13\xe0\xbc\x00\xf6\x06\xe4\x50\xec\x63\x13\x77\x3b\x2f\xb5\xbe\x9b\xca\xb6\xd5\x62\x82\x8a\x1d\xcc\x11\x1d\x21\xc6\x51\x6a\x62\x4d\x31\x43\xff\xf1\xd3\x0f\xcd\x1b\x98\x0b\xba\x55\x87\xd4\xc2\x35\x04\x5d\x4a\xfa\x0f\x22\x91\xa6\x1a\x4d\xc5\x3c\xd5\x5d\x0b\x22\x17\x3c\x89\xd1\x33\x01\x35\xc9\xc6\x81\x7a\xad\x5c\x90\x31\x0b\x9b\x80\x90\x43\x84\x13\xc5\xe7\x04\xee\x6a\xa7\xa8\x29\x22\xb4\xa8\x62\xb2\x34\x14\x17\x64\x60\xa0\xbe\xee\xfe\xe0\x62\xab\x61\x9a\xf0\xc8\x25\xb5\x58\x93\x5c\x3c\x6d\x9e\xf9\xac\x6a\x7a\x45\xed\x36\xfc\xea\x26\x5b\xb3\x6d\xf3\xd2\xd8\x24\x14\x6b\xc3\xaa\xee\x4c\xf3\x60\x68\xc4\xd9\x24\xa1\xec\x71\xab\xcd\xb8\x76\xa2\x9c\x6e\xc1\xae\x99\x6e\xd1\xdb\xb9\x8d\x05\x64\x83\xf3\xf1\x31\x4f\x12\x93\xda\x12\x6e\x0f\xc8\x5d\x66\xdd\x40\x18\xc8\x4c\x0e\x28\x89\xad\xdf\xcb\x6a\xc2\x82\x30\x08\x78\x1b\xb3\xe9\xd2\xfa\x6c\xe5\x00\xc9\x3c\x5a\xb8\xcc\xbc\x88\x33\xa9\xc5\x68\x2e\x50\xc4\xd3\xd4\x14\x37\x65\x04\x29\xce\x13\x69\xa3\xdd\xd9\x91\xc2\x91\x1a\xb3\xa2\xbf\x35\x27\xcf\x54\x40\xda\x2d\x75\xaf\xbb\x4b\xa7\xa8\xb4\xb4\x52\xe0\xa6\x71\x88\xd9\x00\x46\x30\xe3\x89\x0a\xd0\x1f\x78\xfd\x2c\x99\x0d\x6b\xd1\x0c\xe4\x82\x0b\x35\x89\x1b\x79\xce\x5a\xa2\xa9\x32\x42\x46\x8e\x12\x08\x1a\xe6\x4f\x5a\xf8\x27\xcf\xde\xf8\xba\x6a\x08\x9a\xaa\x57\x8d\xa0\xdb\x31\x5a\x39\xb2\x4d\x49\xb0\x65\xad\x0c\x82\x47\x54\x8e\x09\x5f\x37\xc6\x3b\xf8\xea\x4c\x7f\xb4\x72\xf1\xaa\xe7\xce\x09\x41\x3c\x2e\xc0\xe6\xcc\xbd\x6e\x33\x42\x56\xad\xa9\x85\x4e\x78\xb9\xcc\xd1\x55\x53\x79\x28\x5b\x72\xf5\x58\xc0\x64\x2f\x09\xc8\x9a\x58\x4c\xa9\x12\x58\x94\x90\x42\xbc\x3e\x28\x09\x16\x10\x9f\x35\x66\x06\x37\xce\x68\x0a\x31\x8a\xa9\x84\x04\x11\xb8\x4b\x03\x67\x18\xea\xa6\x04\x56\x8e\x76\x91\xe7\x68\xe2\xcf\x21\xb0\xac\x20\x0d\xc7\xec\x74\x47\x1e\x1f\x4b\xeb\x67\x3c\xca\x0b\x41\x2e\x02\x09\xd7\x62\xea\x20\xca\x24\x9d\x2f\x14\xa2\xcc\xda\x1d\x71\x32\xe7\x82\xaa\x45\x2a\x07\x68\x9a\x4b\xad\x85\x9a\x60\x35\x13\x8f\x42\x54\xd4\x89\x0b\xed\x9a\x44\x1c\x57\x1a\xac\xab\x28\x5b\x90\x46\xb7\x43\x39\xaa\xdc\x15\x6b\x08\x67\xe8\x71\x06\xab\x6d\x50\xa8\xdb\x68\xe0\x29\x91\x89\x03\xe4\x0e\xd9\x09\xaa\x80\xb4\x9d\x03\x40\x85\xdc\x9b\x97\xe2\x35\x0a\x71\x21\x93\x0c\x2a\x88\x8b\xdd\x06\xc9\xab\x8c\x4c\x69\xd0\x9b\xbc\xd3\x29\xcd\x54\x63\xe0\x56\xdd\x55\x74\x1b\x60\xfe\x74\x5b\x6c\x48\xc6\x02\x6a\x06\xa4\xb6\x31\xbb\x23\xa4\x1d\xc8\xad\xb6\xf7\xa6\x34\x2e\x4c\xc1\x26\x7a\xac\x26\xf9\x5d\x9c\xd8\xe7\xa3\xbb\xb3\xdb\x8b\x1b\x03\x39\x71\x7d\xfb\x79\x78\x3f\x69\xf0\x6b\x37\xbc\xf5\x79\x78\xfb\xd3\xf9\xfa\xd7\x7e\xbc\x2f\x67\x65\x37\xbc\x72\x7b\xb7\x3a\x99\xa3\xc3\x10\x1b\x92\xc2\x1a\xfb\x39\x45\xd9\x52\x2d\x38\xf3\x21\x0a\x71\x89\x37\x1d\x21\x93\x11\xac\x20\x84\x48\x48\xd5\xe0\x38\xbc\x87\xb8\x9c\xf5\x12\x66\x79\xb3\x0c\x0c\xdb\x5e\x45\xa3\x0d\x4e\xe4\xa7\x84\x4f\xc1\x6f\x9d\x97\x4a\xdc\xae\x88\x40\xdf\x31\xde\xe7\x9c\xca\x2c\xc1\xcb\x5a\x0f\xeb\xae\x9c\x2b\x9c\x12\x88\x38\x2e\xf0\xe3\x5c\xb2\x88\xde\x19\x48\x60\xf2\xf7\x3a\x9d\x41\x26\x93\xa2\x58\x11\x34\x25\xea\x19\xf2\xe6\xdc\xaf\xde\x96\xea\x02\x46\xe4\xf1\x98\x81\x39\x67\xac\x17\x39\xce\x21\xda\x6f\xfc\x61\x80\xc6\x1f\x62\xf2\x44\x12\x9e\xe9\x9d\xd7\x3f\xb4\x5c\x32\xa3\x14\xd3\xe4\x8a\x2b\x6f\x99\xdb\x65\x3f\x05\x89\x68\x06\x92\xf9\x84\xe8\x76\x5f\x4f\xf0\x28\x51\xb2\x63\x67\x30\x06\x84\xe3\x58\x2b\xd9\xc0\xca\xdc\xf0\x8a\x10\x20\x16\x4c\xbd\x54\x2b\x73\x13\x91\xc2\x9b\xbf\x4d\x8f\x61\x9b\x65\xb3\x67\xe3\x0e\xb0\xa7\x17\x74\xc9\xee\x7a\x91\x6b\xad\xe4\x27\xb2\x84\x14\x8c\x1b\x4c\xc5\x96\xae\xd9\xa6\x98\xd7\x17\x71\xd2\x8e\x1a\x3a\x3a\x20\x77\x6d\xf3\x3a\xec\xe6\xb8\xf5\xb1\x7a\xaf\xa5\xa5\xba\x58\x2e\xdf\x71\x47\xb5\xf5\xa1\x4d\x49\x6d\x0d\x61\x40\x55\xc5\x2b\x23\xd1\x06\x1a\x97\x1f\xe0\x9d\xfe\x6e\xad\xa6\xe2\xc5\xb5\x28\xac\xe9\x0f\xbb\x60\x93\xe3\xab\xf9\xf8\x64\xed\x88\xa3\x84\xcb\x32\x56\x4e\xe7\x41\x9f\xd9\x4f\x57\x8d\x7b\x14\x92\xaf\x96\x0b\x37\x0a\x68\x68\x58\xf8\x0a\x18\xa4\xb9\x67\x94\xf5\x90\xd9\xb7\x07\x88\x42\xb4\x25\x28\x64\x49\x81\x1c\xc0\x62\x54\xb8\x41\xc6\xac\x88\x59\x91\xe8\x99\x24\x10\xe6\x16\xf1\x34\x03\x13\xbf\x1d\xae\x6d\x89\xc4\x26\x62\x78\x80\x78\xae\x74\x63\x26\x27\xc7\x19\x71\x6d\xc2\x4f\xe1\xf6\x30\xbe\x37\x1b\xfc\xee\x81\xa5\x0d\xad\x9b\xbb\x94\x32\xf4\x89\x28\x68\x05\x80\xfb\xc3\x09\x82\x9e\x50\x0d\xa1\x6c\x5e\xfb\x1d\x4e\x94\x9d\xc9\x06\x3b\x5f\x00\xa7\xfc\x90\xf0\xe9\x6a\x23\x01\x34\x8e\x1e\x6e\x2f\x9c\x45\xb2\x88\x9f\x0a\xd0\x8b\x4b\x1e\xc5\xd1\xcd\xed\xe8\x6c\x78\x3f\x3a\x3f\x46\x0f\x92\xe8\xe5\xf1\xd3\x85\xfc\x6a\xaf\x92\x98\x91\x5b\x24\x16\x26\x15\xc1\x6d\x86\x10\x22\x44\x29\x0b\x7a\x0d\xe3\x28\xc3\xb4\xac\x26\x6c\x00\x49\xa1\xd6\x50\x07\xc0\x42\xd5\x79\xda\xc8\xbc\x75\x27\x10\xe2\xa4\x26\xef\x27\x4a\xcd\x8c\x37\xad\x47\xe6\xad\x23\x9f\x72\x44\xdf\x4b\x4f\x06\x8e\x96\x5a\x10\x2a\x50\xa7\x69\x19\xa2\x9a\x74\x9f\x53\x10\xe2\xfe\x19\x67\xab\xd3\x4f\xf1\x73\x89\x68\x8d\x28\x1c\xf8\xee\x5f\xfa\x1c\xcc\xf2\x24\x99\x6c\x74\xe0\xf5\xec\xcc\x21\x3e\x5f\xb7\x5b\x6f\x3e\x3b\xc7\xb4\x27\x86\xd1\xef\xbe\x7d\x85\xbb\xce\xdc\x1c\xfe\x56\x30\xf9\x2c\xd2\x99\x00\xc3\x89\x55\x06\x61\xa3\x74\x25\x02\xce\x00\xbf\x50\x86\x4a\x17\xfe\x00\xcd\xe8\x17\xdb\x68\x11\xbd\xef\x5e\x0d\xc2\x39\x5a\xa2\x45\x17\xb8\xce\x31\x36\x10\x8a\x6e\xe0\xfb\x95\x22\x32\x97\x5a\xe0\x8b\xb4\x30\x28\x48\xc4\x85\xbe\x07\xa1\xdb\xc2\xc7\xb2\x4e\x20\x52\x58\xe8\x45\xa9\xfb\x9c\x56\xf1\xb6\xa2\xc2\x4a\x8c\x15\x39\xd2\x82\xe5\x9a\xf4\x6e\x9b\x01\x04\xb9\x42\x58\x05\x60\x67\xc5\xbd\x3a\x25\x73\xcc\x5c\xe0\x79\xcb\x70\xdd\x85\xbe\x03\x23\xd6\x0a\x1e\x86\xe4\x37\x90\x1e\x21\xb1\xa9\x34\x0e\x99\xc1\x7a\xae\x1c\x87\x8d\xed\x39\x84\x65\x7b\xc6\x3e\xd4\xa8\x65\xb0\x79\x16\x1f\xd2\x60\x13\x2c\x15\xb2\x63\x6a\x33\xb4\x04\x0a\xf0\xcb\x9a\x98\x4b\x96\x8b\xae\xaa\xa9\x26\xa1\xb2\x8e\x4e\xc0\xef\x23\x1d\x2a\x8c\xc1\xc0\xd1\x1a\x9b\x13\xf3\x4d\xa1\x69\x7f\xb6\x6d\xc5\x69\x77\x07\x86\xcc\x04\x52\x10\xea\x4d\x1f\xa3\x21\xab\xa1\x81\xb9\xa8\xb3\xd2\x7a\x99\x1b\x17\x27\xcf\x78\x29\x51\x26\x0c\x70\x8e\xc9\x4b\x70\x93\x07\xfd\xb2\xfc\x91\x0f\xf4\x50\x2e\x31\x04\x81\xa5\x69\x7d\x48\xa0\x93\xea\x27\x2f\xe0\xa8\xac\xc4\xcc\x7b\x75\xa3\x68\xae\xb0\xc4\x74\x60\x75\x8a\x4c\xa2\x05\x66\x73\x32\x71\x26\xe4\x6d\x74\x41\xdd\xce\x19\x34\x73\x6e\x5b\x69\xbe\x9c\x6e\x8c\x3a\x68\xab\xdb\x98\x57\xbd\x79\x54\x1f\x02\xa9\xf0\x9c\x20\x33\xa2\x4e\x46\xf7\x52\x3c\x9c\x85\x52\x06\x2d\xc8\xb6\x3a\x2a\xe7\x08\xb4\xa9\x26\x10\xd8\x75\x89\xa7\x24\x79\x9b\xb8\x10\xe8\xda\xba\x1e\xc0\x17\x69\x72\x1d\x08\x7a\x06\x6f\x45\x85\x65\x58\xdf\x84\xc8\x9b\x32\x1f\x56\xcd\xb3\x54\xdb\x7d\x87\x89\xba\x4a\x28\xdb\x4c\xb5\xad\x3e\x4a\x78\xed\x05\x75\x44\x9a\xcc\x87\xe1\xf5\x57\xb5\x98\x6f\x37\x90\xa0\x9c\x49\xcb\x38\x76\xae\x67\xb2\x76\x2a\x5b\x43\x28\x74\xac\xf1\x77\x31\x43\x8c\x33\x82\xa8\x2c\x5e\x56\xe5\x64\x2f\x0f\x40\xa4\x15\x18\x63\x5a\xf2\x35\xc8\x7c\x69\xa9\x97\xb6\x23\x15\xd0\x10\xde\xf2\xe1\xb2\xd7\x19\xd1\x6a\x38\x16\x4b\x00\x30\x35\x7c\xb8\x2c\xd3\xad\x1d\xe7\xbe\x04\xee\x86\x0b\xd0\x4a\xc2\x3e\x1a\x59\x71\x04\xc2\x64\x65\x88\xc8\x60\xbd\xda\x97\xec\x47\x16\x8a\x67\xcc\xbc\xf5\x06\xc8\x91\x4a\x94\xe2\x0c\xfc\x96\x8c\xab\xe2\x2b\x03\x2d\xa5\xfc\x46\x0e\x9c\x38\x2e\x4d\x9d\xb0\x70\x1d\xc2\xc8\xe7\x53\x74\x03\x38\xf2\x70\x27\x43\xd7\x93\x0e\xda\x4a\xf1\xe2\x06\xd7\x19\x6b\x54\xc4\x4a\x5e\x85\x03\x5d\xb0\x0d\xec\x7d\x4e\x6a\x29\xc8\xb1\x8c\x79\xea\xf0\x9a\xe7\xf4\x89\x30\xc7\x0a\x06\x8e\x95\xe8\x41\xb9\x4e\x93\xe5\x11\x86\xd8\x73\x12\x87\xee\xb0\xd5\x8c\xdc\x58\xe9\x0e\xc1\x48\xdd\x7d\xc9\xee\x1b\x63\xab\x0c\x72\x5e\xa9\xe4\x81\xcb\x16\x08\x0f\xb7\x05\x73\x36\xf0\x00\x58\xa2\xdf\x30\xae\x7e\x13\xc0\x5d\x3b\x8b\x16\x7c\xea\xec\x92\x83\x5a\x1d\x1f\xe0\x75\x96\x70\x10\x0e\x60\xd7\xd6\xae\xfc\xae\x01\x23\x45\x36\xc4\x8b\x0a\xf1\xa3\x7a\x6a\x64\x5b\x21\xb4\x3e\x8c\x03\x55\x6f\xd3\xaa\x15\xdc\xd4\x5a\x2c\x4e\x7a\xc9\xfa\x2d\xd7\xc5\x6d\xf8\xbd\xe8\x14\xaf\x51\x83\x89\xd8\x85\xda\xd2\xce\xe1\x74\x6b\x90\xb1\x9b\xcd\x39\xdb\x24\xff\xb6\xa9\x33\xa2\x1c\xcf\x68\x6b\xa3\xb4\x40\x3f\x1f\x8f\xd9\x47\x2e\xac\xe4\x22\x6d\xf1\x89\x29\x8e\x1e\x8f\x08\x8b\x11\xce\xd5\xc2\x40\x30\x5b\x67\xd3\xd2\x52\x83\x16\xd0\x80\x6c\x3c\xbe\x0a\x95\x11\x16\xb1\x2b\x83\xf2\xc4\xdd\x28\xc6\x2c\x68\x04\xca\x5b\x40\xf5\x2f\xa8\x5f\xdc\xa6\xa1\x13\xa9\xd5\xd2\xb6\xb5\x68\xaa\xcc\x5b\xab\xcb\xbb\xfa\x9c\x95\x2a\x0d\x43\x61\x0e\x88\x7a\xe3\xb3\xfa\xea\x5c\x38\x13\xb4\x53\x8b\x35\x3d\xd7\x5d\x53\x03\xab\x88\x19\x4b\x9e\x9d\x81\x16\x10\xbf\x77\xbc\xb6\x04\x25\x3d\xcb\x05\xc4\x70\x37\xb5\xf9\x6d\xb4\xa0\x49\xe1\xd0\xfa\x6e\xe0\x87\xa9\x9b\x4c\xc8\x13\x49\x4c\x21\x83\x48\x40\xba\x86\x31\xb6\x7e\x8f\xfe\xb7\xa9\x56\x8b\x7e\x37\x66\x9f\x80\x0d\x27\xc9\x12\x60\x56\x7d\xcb\x58\x55\x9a\x79\x6c\x1c\x80\xb2\xf9\x61\xa8\x3c\x10\xb3\xd7\x0b\xfc\x44\xc6\xcc\x35\xf3\xbf\xd1\x23\xfa\x2d\xfa\x5d\x9b\x56\xec\xb2\x2e\x5e\xd8\x3c\xf4\x31\xc8\x69\x08\x6e\x39\xcb\x28\x2d\xbf\x71\xd6\xa3\x92\xed\xb6\x01\x6e\xc5\xa3\xa5\x53\xf6\xc4\xa3\x5a\x6a\x4f\x78\x6a\xb1\x20\x4c\x4d\x18\x8f\xc9\x84\x34\xf8\xb9\x57\x30\x09\x2d\x04\x5c\xf1\x98\xac\xf5\x52\x7b\x66\xfa\x0b\x58\xbc\x64\x3e\xf5\xdb\x01\xa8\x0f\x3e\xc5\xdf\x1b\x6d\xca\x94\xd6\x3c\x72\x0f\x49\xbc\xcd\xb8\xb7\xf5\xb0\xbb\xd8\xe1\x01\x5c\x08\x76\x00\xcd\x5e\xde\x04\x2b\x17\x73\x51\x3d\x8e\x55\xef\x90\x7e\x59\xcf\xdc\x5e\x56\x01\xd8\x32\x14\xc4\x11\x74\x4e\xb5\xda\xd3\xdd\x8b\x0f\x9c\x70\x1b\x17\x97\x41\x9e\xed\xe4\xe3\x2a\x96\xc2\xa1\xef\x1c\x79\xfa\x2b\x3c\xd3\x53\x9e\x57\x05\x78\xbb\x00\x54\x86\x31\x20\x56\x56\x5f\x6a\x3e\x3c\x37\x69\xa1\x64\x41\x0d\x10\xc3\xf0\xec\x12\xe9\xd3\xc1\x53\x83\x56\x06\x8b\x96\xab\x05\x17\xf4\x1f\xad\x69\x6b\xed\x32\x7a\xe1\x7e\x2f\xb2\xfc\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\x52\x35\xd1\x34\x07\x60\x5e\xcd\x66\x67\x79\x62\xaa\x79\x44\x5c\xc4\xa6\x9c\xbe\x2c\xe5\x14\x42\x6c\xb6\x13\xef\xb1\xf2\x0d\x52\x8b\x5f\x6a\xeb\x85\x18\xc3\xd7\x4a\x01\xf4\xcf\x39\xc9\xf7\x94\x96\xf9\xa6\x81\xec\xf7\x78\x2e\x8b\xc8\x74\xb3\x36\x9a\x37\x17\xeb\xfb\x77\x3d\x53\x19\x24\x32\x3b\x83\xac\xc7\x05\x33\x96\x0c\x53\x2d\x76\x23\x43\xd8\xad\xa9\x87\xb0\x07\x4b\xd8\x6b\x04\xf9\xd4\x65\xa4\x06\xf6\x63\xc9\xef\xc9\xa7\xf5\x56\x59\xc4\x0b\x99\x97\x5c\x61\x89\x8a\xf4\xf1\x82\x96\xa6\x2d\x98\x5c\x5d\xa8\x5e\x19\x2a\x5f\xd8\x9d\x3c\x5b\x6b\xc8\xb0\x57\x1c\x72\x71\x9e\x05\x05\xd8\xc0\x65\xf1\xb2\x2f\x8c\xec\xae\x8b\x90\xc7\x68\x29\xc5\x88\xb5\x10\xec\xe3\x96\x70\xd9\xcc\xe3\x37\x30\x40\xd8\x86\xca\x5d\xd7\x83\x39\xda\x4e\x84\x61\x49\x87\x7a\x24\xea\x98\x41\x6b\x0f\x83\x2f\x0f\xf3\x36\x76\x57\x2f\xda\xbc\xde\xc9\xf0\xe4\x38\x89\x70\xb4\x68\x9d\xd4\x94\xf3\x84\x60\xd6\x26\xbd\x36\x3e\xae\x1e\x11\x83\x78\x0b\xac\x3b\x49\x00\xf6\xd9\x2d\x81\x2d\x15\x5a\x88\xef\x2c\x06\xb8\x7e\xc3\xc3\x4d\xc0\xa8\x1b\xa8\x22\xcc\x59\x7e\x28\x9b\x27\xa4\xba\x56\xb6\xae\xc2\xc0\x76\x92\x44\x79\x12\xd4\x0a\xcd\x88\xd0\xa3\xd6\x4b\xfc\x44\x98\xd6\x19\xec\x38\x9c\x0f\xe8\xd9\x65\xc9\xfb\x0a\x61\x03\xdf\xb5\x73\x43\x42\x2a\x6a\x3c\x66\x70\x70\x79\xf9\xb0\x6a\x5a\x95\x5a\xcd\x08\xed\x52\x5b\x9f\xce\x40\x88\xd8\xf8\x78\xde\x95\xad\xeb\x1b\x9f\x49\xd3\xf7\x04\x42\x33\x76\xf6\x48\x06\x5e\xab\x02\xbf\xc3\x6c\xac\xc3\x68\x7b\x59\xdb\x7b\x39\xd8\xa5\x1c\x8b\x1c\xc4\xba\xb4\x61\x84\xbd\xe8\x5d\x52\xd4\x44\x71\xb7\x41\xc7\xa1\xac\xf4\xf0\x77\xf4\xd7\x83\x75\x72\xd5\xb9\xbd\xb4\x71\xfc\x65\x4f\xb7\x4f\xfa\x2a\x62\x5f\x6d\xd5\x5f\x25\x30\x40\x56\x00\xd0\xc0\x2f\x46\xc3\xa6\xd2\x58\xc0\x5c\xed\x93\x34\x53\x4b\x5b\x2a\x0f\xee\xc5\x30\xd1\xdb\xc0\x00\x36\x79\xd5\xab\x77\x64\x5c\xf2\xab\x37\x75\x06\x1d\x59\xb3\x42\x63\x93\x6e\xa1\x43\x58\x99\x0a\x8c\x47\x5b\x10\x8d\xa9\x3a\x3c\xc1\x49\xab\x2d\x6b\x0f\x4c\x13\x72\xaf\x0b\xe8\x0e\x8b\x08\xac\x44\x4e\x34\xef\xc2\x49\x52\x99\x17\x86\x1c\x79\xe5\x2b\x0f\x4e\x8b\xf2\xc8\xdd\x7d\xfc\x09\x9e\x92\x8d\xbc\xfa\x97\xe6\x83\x95\x54\x04\xaf\x40\xb8\x7f\x96\x25\xcb\x6e\x69\x06\x61\x3c\x66\x23\x72\xde\xba\x81\x85\x78\x7b\x2b\xef\xa6\x32\x66\xdd\x76\x43\x94\x24\xca\x05\x55\xcb\x89\x35\xfa\x75\x67\x5a\x77\xf6\xcb\x33\xfb\x61\x17\x8d\xfa\x14\xb9\xfe\x9c\x91\x11\xee\x29\x41\x4d\x59\x25\x3b\x85\x2e\xdb\xad\xb5\xe4\x46\x44\xad\x55\x0b\xeb\x20\xbd\xba\x0d\x55\x77\xb1\xed\xf0\x6c\xb9\x96\x09\x9f\x39\xb0\xac\xee\x0b\x5b\xad\x63\xb3\x81\xb5\xd4\x61\x72\x67\x82\x72\x61\xcb\xc5\x74\x89\x05\x4c\xf1\x97\x49\x86\x05\x4e\x12\x92\x50\x99\x6e\x6f\xdb\xfd\xc3\xef\x57\x8e\xf6\xcc\x94\x35\x92\xb6\x48\xd8\x17\x9a\xe6\x29\x62\x79\x3a\xb5\x52\x2e\x96\x8f\x21\x22\xaa\xc3\x6f\x30\xc0\x5e\x6e\x80\x25\x14\x09\x11\x60\xdc\x8e\x59\x80\x76\x6e\x4d\x15\x38\x5a\x50\xf2\x04\x58\xac\x82\x11\x29\x8f\xd1\x15\x57\xe4\x14\x7d\xc6\xd9\x3d\x08\x6a\xa6\xce\xe8\xdc\x58\xc7\xb1\x44\x5a\x6a\xcd\x19\x55\x83\x31\xb3\x10\xe9\x6e\x55\x4e\x22\xce\x0c\x4c\x6e\x04\x0b\xeb\x9b\x00\x73\xaf\xc3\x8b\x55\x2e\xdb\x95\xca\x96\xc5\x16\xf8\x79\x12\x84\x34\x4f\x4c\xca\xc8\x06\x74\x7c\x8b\x9f\x8b\xf8\x5f\x53\x42\x78\x95\xe4\x6e\xe3\xc8\x6c\x59\x29\x83\x0e\xed\xe2\x6d\xb8\x85\x28\xf1\x05\xf1\x4c\x50\xef\xb7\xf4\x98\x1c\xa3\x1f\x12\x3e\x95\x03\x24\x3d\x92\x3a\x3c\x94\x44\xc9\x81\x71\x50\xc1\xbf\x4d\x7e\xe0\x77\x6e\xf5\x0b\xbe\x0f\xb5\x20\x67\xf4\x8b\x41\x46\x91\x7f\x38\x3d\x39\x49\x97\x47\xd3\x3c\x7a\x24\x4a\xff\x05\x32\x45\xe3\x0a\x39\x58\x31\xdc\x04\x52\xb6\x6e\x75\xea\x00\x67\x9d\x28\xd2\xe6\x5a\x49\x02\x60\xfa\xfa\x4a\xf7\xd5\x76\x1d\x1e\x16\x67\xcd\xa5\x44\xed\x94\x45\xde\x76\xbc\x4a\x28\xdc\xaf\xa3\xad\x98\x6a\xc2\x21\xf8\xf7\x2c\xc1\xf3\x8a\xca\xb2\x81\x92\x72\x9d\x52\x4b\x45\x7a\xee\x10\xa6\xa2\x4f\x59\x39\x38\xef\x1b\xe7\x8e\x04\xb7\xa2\x75\xb7\x1c\x8f\xd9\x50\xa2\x67\x62\x8a\x04\x43\xa2\x2a\x78\x27\x72\x2a\x17\x3e\x4d\x15\xec\xa5\xd0\xa8\xc1\x48\x36\x50\x1a\x56\x71\x74\x9a\x95\xf3\xdf\x58\x0d\x14\x27\x92\x0c\x74\xc3\x80\x93\xe7\xe2\x2f\xd1\xb3\xc0\x59\x46\xc4\x98\x59\xbc\x5b\x40\x75\xe7\xdc\xc6\xd6\xb4\xa5\x18\xf4\x1a\xe5\xeb\x6a\x94\xc1\xda\x93\x72\x16\xeb\xba\xf3\x0d\x49\xaf\xab\x56\xb8\x29\x8f\xd3\x2d\x9f\x96\x45\xbb\x06\xc8\xbf\xbd\xd9\xb8\xe3\x98\xd7\x69\xe7\xc3\x4a\x76\x03\xd4\x20\x4f\x41\x81\x94\x45\xa9\x55\x67\xeb\xf3\xea\x7b\x49\xcc\x01\xb8\x74\xf8\x38\xe6\x44\x06\x46\x7c\xe4\x6d\x71\x09\x9d\x11\x2d\x7d\x8c\x99\x26\xe3\xd0\xe1\x60\x50\xd7\x1d\x08\xbb\xee\x34\x12\x5c\x4a\x9b\xb0\x60\xda\x59\x9d\x54\xb7\x43\x81\x47\x03\x1d\x7f\x71\x7d\x35\xa9\x97\x7a\x0c\x9e\xb9\xa2\x8f\xf6\x61\x23\xf2\x42\x6b\x53\x6b\x4b\x3c\x16\x6b\xb1\x41\x91\xc7\x93\xb3\xcb\x0b\x5f\xd9\xac\xd2\x75\xbd\xca\x63\x08\xb7\xdf\x5e\xe7\xb1\x3e\xe3\xa0\xe2\x63\xa5\x89\x15\x35\x1f\xd7\x6f\x56\x39\x4c\x7a\x17\x2c\xc5\xca\xd6\xaf\xe5\x0f\x65\x9a\x59\x17\xcc\xb8\xa7\x6d\x6a\xb9\x56\x22\x10\x18\x5f\xda\xc3\x0e\x82\x97\x7e\x4b\x2a\x9c\x66\x61\x1e\xae\x03\x93\xb5\xd3\x34\x47\xad\xed\x12\x7c\x55\x90\xfb\x08\x9b\x68\x96\xea\xe0\x6a\x5b\xb1\x99\xc7\xeb\xde\x62\xe7\xef\x23\xfa\xfb\xf5\x12\xdb\x93\x65\x11\xb5\x27\xad\xec\xe6\xea\xb2\xb7\xd8\xfd\xa7\xc4\xd7\x09\x68\xdd\xd0\x5d\x33\x57\x3d\x9e\x98\x20\x58\xda\x70\x0c\x48\xf0\xac\xa4\x47\x6d\x60\x1e\xf6\x63\x36\x29\xe2\x47\xbe\x32\x47\x70\xd5\xd8\x62\x73\x91\x3b\x88\x54\x08\xf2\x44\x04\xd0\x8e\x8d\xf9\x61\xe5\xa3\x8a\x13\x41\x70\xbc\x0c\x56\xc4\x07\x1c\x98\x9e\xc1\x3c\x26\x69\xaa\x15\x78\x50\x4d\x18\x3f\xe2\x99\xd3\x59\x4a\x6f\x41\x59\x15\x3a\xd3\x37\x56\x10\xae\xa0\xbf\x60\x47\xe4\x0b\x95\x4a\xcb\x15\x0d\xb1\x9a\xae\x11\x90\x78\xa0\xd8\xda\x82\xd8\x1b\x6e\xfc\x61\xf8\xc3\xf5\xed\xfd\xe8\x7c\xfc\xa1\x48\x6a\x70\x59\x7b\x1e\x26\xcc\x55\x7d\xe0\x6c\xcc\x7c\x40\xad\x47\xc5\x86\xbd\x44\x38\x8e\x0b\xb8\x0b\xab\x44\x1a\x99\x6d\x25\x47\x0e\x4e\xc5\xda\x50\xda\x15\xcd\x3c\x40\xea\xd6\xa1\x9e\xac\x15\xae\xb3\xd2\xc9\x31\x09\x68\x2b\x32\x85\xf6\x74\xd9\x84\x80\xbe\xca\xe8\xda\x44\x39\xc4\x49\x46\x9e\x9d\xae\x04\xb7\xf3\x09\x36\x97\xf0\x66\xdc\xce\x6d\xc8\x16\x9b\xfa\x91\x7e\x21\xf1\x6d\x8b\x54\xb5\x97\x44\xa0\x4e\x91\x80\x8d\xbb\x90\x33\xba\x89\xc6\xef\xa7\xf2\xa0\xbf\xeb\xce\x96\xae\x0b\x9c\xbe\x02\x73\x17\x00\x77\x15\xc2\x28\x22\x42\x61\xca\xd0\x0c\x0e\x36\x8b\x96\x08\x50\x5c\x08\xf8\xb0\x7f\x8f\x52\xca\x00\x4e\x62\xd5\xd2\x3e\x94\xe7\xb1\x81\xd0\xfa\xf9\xe2\xea\xe1\xbe\x24\xaa\xfe\x78\xfd\x50\xae\xf4\x3f\xfc\xcb\x4a\x59\xb5\xd2\xc2\xaa\x60\xa1\x60\x8a\x45\xf2\xa6\x85\x1e\xf6\x2b\xd3\x38\xd1\x64\xa9\xc8\xc3\xed\xe5\x4e\xf2\x5d\xb3\xb3\xac\x15\x38\x3e\x94\xae\x9a\xb3\xe6\xbb\x7c\x1a\x93\x68\x1d\xb4\x6d\x77\x3a\x32\x51\x50\x7a\x1d\xac\x35\xd1\xc2\xde\x61\x89\x32\x2c\xac\x1f\x2a\x36\x01\x50\xe5\x72\x71\x46\xf3\x5a\x05\x2b\xf2\x89\xa8\x9f\xf5\xd5\xc7\xd9\x3e\xb2\x20\xac\x28\x0b\xfe\x51\x32\x79\x32\x0d\x6f\x70\xd2\xec\x50\x56\xa4\xba\x38\x61\x19\x7a\x40\xb6\x87\x10\x8c\xe3\x18\x01\xd5\x0c\x75\x73\xb0\x22\x2e\x9e\x50\xab\xa4\x9c\x69\x8a\x34\x18\xbb\x0e\x98\x37\x68\x8e\xcf\xcc\xc7\x1d\x61\x0a\x83\xa8\x76\xdd\x56\xb1\x94\x68\x78\x73\xd1\xb0\xd6\x97\x55\x17\xd2\xd7\x55\xe3\x28\xf1\xde\xac\x7d\x23\x67\x05\x59\x9d\x07\x01\x95\x65\x67\xba\x1b\x36\x96\x71\xfa\xdf\x94\x23\x09\x0e\x01\xc2\xb9\x49\x65\x28\x65\x6b\xaf\x41\x6b\xde\x2c\x81\xb1\x58\x86\x0d\x91\xb0\xc2\x01\xd9\x34\x90\x10\xfd\xa9\x1e\x63\x3c\x08\xd1\xa0\xb8\xa9\xa2\x6c\x63\x0b\xf6\x86\x90\x55\xcc\xa6\x0b\x44\xd6\xcf\x86\xa2\x3d\xc6\x08\xa0\xa6\xb8\x2a\x9d\x2e\x36\xd8\xa6\xfc\x87\xd3\x0d\xa9\x6d\x33\x54\xad\x62\x7c\xce\xfc\x6d\x01\xca\x71\x86\xad\xdd\x01\x94\x28\x57\x3e\xa3\xa9\xda\xe2\xf1\x98\x05\x01\x2b\xd2\xa8\x3d\xfa\x8c\xb8\x8a\x35\x50\x06\x99\x01\xda\x39\x24\xe9\x78\xe1\xa7\xb4\x03\x55\x64\x01\xb5\x28\xd7\x9c\xa9\xf5\x63\x4f\xa7\x5c\x60\x97\x88\xe8\x2c\x28\x36\x0e\x30\xb4\x2f\x41\x7b\x41\x95\x09\xdb\x31\x98\xa3\xc1\x68\x81\x83\x1a\x86\x41\xce\x7f\xcc\x89\x64\xdf\x28\x9f\x21\x4b\x13\x5b\x27\x07\x57\xdd\x03\x5a\xaa\xc3\xd4\xb6\xbc\xfa\x80\xef\x01\xb2\x6b\x53\xc5\x21\x38\x56\x6b\xcd\x54\xce\xc7\x0b\x94\x10\xc6\x22\x41\xa7\x6d\x56\xf5\x2f\x19\x89\xb6\x41\xde\xb9\xc1\x02\xa7\x44\x11\xb1\x2a\x1c\xa9\x5c\x61\x1c\x44\x1c\xb7\x83\xb6\x5f\xb3\x8b\xa6\xfc\x4a\xb5\x4e\x8f\xd7\x6e\x2f\xd7\x21\xe9\xf8\x59\x6c\x8c\x90\xf4\xb3\xb5\xfc\x6f\x38\x0b\xdb\x4f\x31\x0d\x1b\x6d\x15\x00\x27\xed\x3a\xa7\xd7\x41\x90\xb9\xaf\x61\xb1\x94\xc2\x85\x0e\x04\x3a\x66\xfd\x28\xdb\x30\x63\xd6\xf1\xd2\xbd\xf0\x6e\x97\xe1\xe0\x52\x68\x2b\x87\xaa\x94\x3b\x01\x54\x02\x2a\x95\x81\x4f\x69\xc6\x7d\x01\xa1\xa5\x29\x42\x32\x70\xfb\x59\xcc\xc3\xc2\xa0\x6b\x25\xab\x6a\xc5\xb1\xca\x72\xad\xe1\x71\xfb\xc2\xc4\xe8\x25\x9a\x7d\x4b\x34\xeb\x48\xb9\x14\x5d\xab\xa9\x93\x88\x0a\x3c\x8f\xad\x04\x6e\x01\x02\xca\x13\x84\xdc\x23\x7b\x45\xda\x72\xc2\x70\xf5\x53\xe6\xff\x55\xe6\xe0\x8e\xa8\x43\x52\x6d\x4a\xaa\x3c\x0e\x5c\x50\xe0\x81\x4a\x42\x69\xc0\xc6\xd5\xc0\x68\x4d\x18\xa4\xb1\xf2\x5f\x5c\x19\x07\x16\x24\x37\x2f\x79\x8e\x9e\xa9\x5c\x20\xc5\xc7\x0c\xe2\x04\xbd\x37\x40\x71\x64\x5e\x1c\xc0\x5b\x00\x83\x20\xf3\x69\x4a\x15\xc2\xc1\x0c\x4b\x26\xc9\x81\x3d\xcf\xfa\x03\x98\x71\x63\x9e\x7d\x13\xb2\xd1\x9a\x43\xb3\x85\x7d\xad\x68\x64\xd7\x54\xfa\x20\xa6\xf9\x65\x93\xe9\x03\x8d\x27\xd4\x30\x1b\xcf\x5c\x9f\x4d\x8f\x9a\xad\x0d\x16\x49\x16\xe0\x7e\xa9\x54\x95\xbb\xc5\x1a\x7a\xd6\x64\xd2\x17\x1b\xd1\x29\x95\xbe\x78\x7d\x1f\xb9\xf4\x6d\xb5\xeb\x56\xe5\x56\xba\x4f\x5a\xec\xdf\x2e\x67\x57\x71\x17\x38\x1f\x4a\x4a\x37\xad\x92\xd2\xa1\x81\xc1\x15\x09\x01\xdb\x87\x97\x6f\xa2\x0e\x16\xf9\x59\x21\x15\x05\xe9\x96\x65\x4c\x18\x52\xe5\xfc\x8c\x2b\xc8\xa9\x89\xa0\xae\x7f\x2d\xcf\x73\xcc\x9a\x25\x90\xd5\x3c\x71\xd7\x14\x8d\xbd\x82\xc6\x05\xe7\xcf\xcd\xc2\x5a\xb4\x7e\xf1\x41\x6e\x46\x59\xb6\x15\xfa\xab\x22\x66\xe1\xe2\x6b\x0b\x4e\xd2\x82\xc7\x36\x09\xc7\x0d\xa7\xb2\x79\xe8\xb5\x04\x8a\xb5\xe7\xc2\x5e\xba\x7b\x54\xed\x6a\xdc\xb9\x73\xbe\x89\x97\x91\x2d\x37\xb6\x01\xd3\xb1\xd7\xe3\x2b\xae\xda\x6d\x4a\x0f\x03\x18\xeb\xfe\x21\x64\xc1\x4f\x33\x00\xc7\xae\x1d\x35\x36\x41\x2e\x1e\xb0\xbd\xb2\x1b\xa5\xb9\x9a\x40\xc5\x1d\xe7\xdb\x8a\x59\xa5\xa7\x1c\x4d\xea\xc8\x55\x6b\x17\x68\x3f\xf0\x55\x55\x08\x87\xb7\x5f\xa9\x96\x58\xea\x0d\x6b\x6a\x07\x3e\x59\x61\x63\xa2\x69\x68\x5d\x81\x62\xda\x36\x94\xb4\x72\x5b\x79\x01\x38\x67\x31\x11\x8c\x60\xb5\x78\xbd\x4c\x94\xb3\x5d\x4d\xf8\xc1\xf8\x5e\x36\x2b\xc5\x8e\x14\x97\x93\x53\x76\x19\x6e\xae\x16\x1b\x26\x79\x6c\x90\x31\x51\x94\xd7\xae\xa9\xd7\x0d\xa6\xd5\x00\xa8\x67\x13\x2a\xdd\x29\x59\xa5\x59\xe5\x7d\x99\xb4\x9d\x06\xdb\x58\x2d\x61\x47\x9f\xf6\xb0\x28\xf9\x9a\x25\xf9\x2a\xf2\x63\x5e\x3e\x65\x63\x55\xf9\xf3\x3c\xc8\xe2\x80\x1a\xf4\x0a\x53\x66\xb9\xd7\xaa\xc4\x0d\x2d\x77\xa7\xb8\x29\x57\xe3\xe0\xb3\x80\xbe\xfa\x24\xa0\x3e\x25\xa4\x4f\x09\x69\xd8\xa3\x3e\x25\x04\xa1\x43\x4b\x09\x59\xa7\xa6\xaf\x32\x12\x7b\xbf\x25\x94\xa9\x2d\xd5\x86\x32\xfb\xbb\x46\xd7\xde\x3e\xed\xc1\xd9\x59\xc3\x98\x31\xfb\x8b\xfd\xa1\x31\x6c\xac\xf6\x59\x75\xb6\xa1\xcd\x97\x2d\xab\xae\x13\x2c\xe2\xc4\x62\xf5\xd9\xa0\xee\xb2\x8d\x6e\x95\x39\x79\xcc\x7e\xe4\xcf\xe4\x89\x88\x01\xc2\x0a\xa5\x5c\x2a\xe0\xc3\x2e\x86\x08\x0e\x42\x09\x2d\xdf\xc4\x8a\x60\x74\x85\x53\x12\x9b\x52\xa1\x41\xe8\xa7\x35\x6a\x5b\x77\x74\x13\x24\x2d\xa0\xab\x9a\x6d\x70\xb1\x25\x63\x66\xc2\x31\x4d\x08\x20\xc8\x0a\xd4\x4d\x0c\x08\xe6\x37\xde\x59\xfe\x9b\x63\x74\xaf\xef\x27\x2a\xcb\xe3\x0d\x10\xea\xda\xc6\x36\x66\x73\xc1\xf3\xcc\xdb\x19\xf9\xd4\xd4\x8c\x36\x11\x62\x75\x67\x39\x0c\xc6\x79\xca\x23\x1c\x13\x16\xad\x09\x59\x79\x93\x48\xdd\xad\x60\x9e\x42\x02\xd2\xc7\xd0\x87\x1f\xda\x74\x00\xe3\xe3\x0e\xc0\x6d\x56\x61\xfc\xbf\x90\x03\xfe\x9c\x48\xb0\x9c\x79\xcf\x44\x29\xd7\xbe\xac\xcf\x37\x8e\x73\x95\xdd\xd8\xfb\x76\x9c\xff\xa3\x19\x2a\xa2\xe8\xdc\xc6\xc5\x99\x44\x5e\x7b\x4f\xbc\x98\x45\xb9\x73\x84\x71\x1b\xbf\xb8\xc9\x45\xc6\x41\x12\x4b\x96\x0e\xda\xc2\xa2\xe1\x65\x3c\xcb\x4d\xec\x1f\x0d\x43\xc1\x1a\x29\x9b\x4a\xf5\x19\xab\x68\xa1\x39\x77\x81\x0a\xb7\xa7\x98\xc8\x82\x2b\xbf\xac\x95\xb9\x61\x06\x67\x61\xef\x2d\x6e\x97\x55\xd4\x13\xc4\x38\xfa\x40\x52\x2f\x49\xa4\xba\x3f\xe3\x9a\xb4\x95\xe0\x03\xdb\xb1\xfb\xc4\x3e\xd1\x13\x5d\x47\x45\xeb\xc6\xdf\x8d\xb6\xca\xa5\xea\xf6\x1e\x6d\xb9\x83\x41\xf0\xdc\x82\x9a\x15\x2f\xda\xd2\xc6\x2d\x21\x12\x82\x6e\x97\x29\x65\x0b\x30\x3c\x69\x71\xc4\x5b\xa5\x53\x9c\x69\x25\x42\x71\x7d\x4b\x8a\xb9\x91\x63\x4d\x2c\x31\xc2\x28\x17\xd4\x9d\xfd\x4a\xde\x7c\x3b\x75\x80\x6d\xef\x24\x2c\xd6\x15\xe1\xa0\x4a\xa3\x09\x8a\xc0\x91\xca\xb1\x0f\xde\x04\x9a\x48\x28\x7b\xd4\x9d\x19\x8c\x00\x17\x7c\x20\x9c\x78\xd7\xb0\xa7\x6b\x09\x7b\x87\x5d\xc6\x4d\x18\x90\x9d\x4e\x1a\x65\xf3\x00\x40\xb2\xd9\x92\xde\xa5\xac\x46\xe3\x97\xdd\x4a\x83\x34\x7e\xea\x64\x9f\x6d\xbe\x5d\x01\x70\xb5\x75\xfc\x7a\x29\x17\xc0\x06\x0b\x5b\xe9\x29\x84\xf6\xb4\xf6\x3b\x40\xe8\xa5\x10\xcc\x80\xad\x34\xf5\x5f\xfe\x2f\x53\x86\xcd\x2c\xcd\x7f\x21\x2e\xc6\xcc\xfc\x3e\xf0\x25\x50\xf4\x0b\x05\x48\x2e\x4e\x49\x01\x23\x2a\xca\x80\x83\x00\xbb\x62\x01\xe3\x0c\x20\xb2\x2f\x65\xa0\xc7\xf0\x98\x4f\x89\x60\x44\x0f\xcd\x01\x34\x78\x66\x96\x62\x86\xe7\x00\xbf\x3c\x80\xe8\x41\x10\x57\x0b\x55\xc4\x90\xb4\x29\x14\x0a\xdc\x4a\x33\x4b\x9b\x93\x5c\x14\xcc\x86\x3e\x8d\x28\x6b\xd1\x5f\x8b\x10\x94\x66\xea\xbf\xb5\xfd\x6f\x27\xb1\xdf\x0f\xef\x7e\x9a\xdc\x8e\xee\xae\x1f\x6e\xcf\x4a\x62\xfb\xd9\xe5\xc3\xdd\xfd\xe8\xb6\xf1\x59\x91\xcf\xfb\xe7\x87\xd1\x43\xcb\x23\xd7\xc0\xe5\xf0\x87\x51\xa9\xfa\xfc\x9f\x1f\x86\x97\x17\xf7\x7f\x99\x5c\x7f\x9c\xdc\x8d\x6e\x7f\xbe\x38\x1b\x4d\xee\x6e\x46\x67\x17\x1f\x2f\xce\x86\xfa\xcb\xf0\xdd\x9b\xcb\x87\x4f\x17\x57\x13\x17\x9a\x1d\x3e\xfa\xe5\xfa\xf6\xa7\x8f\x97\xd7\xbf\x4c\x82\x2e\xaf\xaf\x3e\x5e\x7c\x6a\x9a\xc5\xf0\xee\xee\xe2\xd3\xd5\xe7\xd1\xd5\xea\x2a\xf7\xcd\xab\xd1\x5a\x40\x3b\xb8\xc8\x02\xa3\x51\x20\x26\x4d\x97\x96\xb4\xe9\x3f\xc0\x77\x71\x63\xe8\xf1\x68\xe0\xfe\x32\x35\xe9\x8f\x34\x0b\x74\xbe\xc3\x82\x7b\x8c\x99\x77\xee\xfa\x4b\x55\xe1\xb9\x74\xe9\xd9\xa5\xd1\x9e\xa2\x21\x9c\x15\x50\x18\x4a\x9d\x42\xf6\x87\x1f\xa9\x0b\x07\x00\x3a\x4c\x68\x4a\x21\x32\x00\x1d\xa1\xea\x86\x97\x1b\xb4\x73\x82\x21\x58\xdf\x66\xbc\xea\x34\xc8\x6a\xe6\x37\x50\xca\x29\x72\x1c\x9a\x18\x73\x82\xc1\xe7\x5d\x32\x9c\xd2\xa8\x9a\xa6\x02\x10\xb5\xa8\x80\x63\xa9\xb6\x58\x22\xb0\x72\xcb\x0b\x82\x7e\xfa\x53\x31\x28\xf0\x60\x58\xcd\x3b\xaf\x15\x6b\xb4\x0f\x44\x6e\x56\x75\x1d\x79\x96\x7a\x72\xc7\xdc\x9a\x96\xe1\xdc\xda\x92\xf7\xe0\x6e\xca\x59\x00\xc9\x56\xf2\x3d\xe9\xe3\x6d\x66\x54\xa1\xf1\x53\x74\x07\x70\x30\xb2\x50\xdd\xf5\x2e\x66\x49\x3e\xa7\x0c\xd1\x34\x4b\x80\xc7\x18\x7d\x7e\x4a\x16\xf8\x89\x72\x57\xe2\xc3\x54\x42\x81\x75\xb4\xa2\x15\x3a\x42\xad\x07\xe5\x14\x0d\xe3\x58\x96\x19\x5c\x89\x72\x1c\xcb\x3c\x2a\x0f\x3b\x44\x51\x63\xb1\x67\x9b\x15\x3a\x2a\x8e\x1c\xac\xd8\xfe\x01\x6f\xea\xec\xb0\x7c\xf7\xee\x70\xfd\xeb\x15\x9c\x38\x52\x9e\x6c\x25\x0c\xdc\x63\xf9\xe8\x58\xf3\x3a\x81\xc0\x41\x0f\xed\xd6\xa3\xc5\x20\xea\xda\xa9\x5f\xd9\x09\x1c\xb4\xed\xfa\x6c\x45\xce\x5e\xd3\xa5\x9b\x71\x52\xa9\x0a\xd7\xb9\xbf\x52\x55\xb9\xc6\xce\xf6\xea\xed\x69\x96\xc6\xe0\x48\x4e\x3c\xfd\x6f\x30\x8f\x1b\xf8\xf4\xda\x7f\xb9\x52\x64\x9b\x04\xeb\xb6\xa9\x0f\xa8\x96\xc8\x6c\xfd\x40\x2b\xe9\x70\x4f\x10\x58\xdd\x85\x41\x28\x4e\x41\x23\x70\xf7\x61\xca\x6c\xc9\x22\xe2\xfd\x51\xae\x72\xbb\x3e\xc7\xbe\xfa\x20\x9e\xf2\xa7\x92\x72\x99\x12\x29\x71\x0b\xa8\x4b\x60\x12\xdb\x85\x31\xf8\x13\x6a\x3f\xec\x48\x4f\xee\x4c\xde\xeb\xaf\x56\x19\x7d\x6e\x43\xcd\xd8\x4d\x54\x0b\xac\xb1\x8b\x46\x46\xd7\x26\x27\x51\xf3\x97\x41\x11\x70\xc4\x45\x10\x87\xd5\xe6\xfe\xe9\x68\x56\xab\x2e\x58\x63\x25\xaa\xd0\x85\xb7\x79\x9c\x52\xd0\xfa\xd6\xa8\xe1\xd6\xaf\x82\xcb\xeb\xb3\x01\xd5\x95\xfc\x9d\x61\xe9\xf6\x88\xa7\xa9\x91\x0b\x4a\xb6\xd4\x01\xc2\x26\x15\xb4\x90\xa6\x64\x1e\x2d\x8c\x97\x49\x5f\x19\x83\x31\x7b\x0e\x36\xa4\x14\x2c\x3d\x0c\x5b\x02\xc4\xd5\x2f\xfa\xb8\xd1\xa7\x52\x08\x3a\x88\x8c\x14\xe2\xa1\x03\x42\x30\x0e\xc1\xa2\xc4\xd6\x1a\x02\x0f\xf6\x6b\x07\x52\xdf\xa2\x0c\x65\x65\x7d\xdb\x8a\x51\xfa\xb9\x05\x35\x20\x77\xd0\x94\xbb\x0e\x21\x28\x43\xd9\x34\x82\x3d\x54\xa1\x7c\x55\x08\x74\x9f\xd2\x6a\x32\xa0\xd3\xa9\xc5\xf1\xd0\xd3\x75\xab\xfd\x5b\x37\xa3\xdf\x1a\xbf\x43\xde\x02\xfc\x12\xb4\xe6\x51\xd0\xd1\x91\x96\x59\x1d\x20\x81\x0d\xc4\x90\xe8\xc8\x20\x2b\x7e\x03\xd1\xa8\xc3\x9b\x8b\x6f\x06\xe8\x9b\x30\x23\xef\x9b\xad\x0e\xa0\x1d\xb7\xad\x44\x09\xda\x54\x29\x2d\xa3\x7c\xec\x60\xaf\x2a\x27\xd1\xee\x99\x3d\x88\xa8\xed\x1c\xea\x2f\x4b\xdf\x80\x73\x1a\x4a\x04\x1a\xff\xad\x0f\x0a\xb7\x2e\x20\x23\xe3\x52\xd9\xb0\x76\xf1\x98\x4d\x97\x55\x27\xcf\xc0\x7b\x79\x3a\x9f\xd2\x9d\xcb\xde\xe9\xf6\xea\x29\xdc\x7b\x0e\x56\x5e\x7d\x1f\xac\x49\x0a\x1f\x9a\xb8\x74\x3e\x0b\xb8\x58\x5b\x94\x42\x1f\xe5\xdf\x34\xab\x92\xbd\xcc\x2d\x66\xe3\xa6\xac\x93\x7f\xde\x1b\xb9\x75\x08\x8d\x1f\x36\xad\x88\xcd\x8a\x68\x11\xae\x7b\x2a\x7b\x59\x2a\xdb\x47\x56\x48\x79\x70\x9b\x5f\xa0\x67\x46\x8e\x0b\x9a\x71\x06\x57\xad\x4c\x78\x06\x5f\xaa\x8d\xb8\xbe\x16\xf3\x86\x3e\xdf\x60\x4d\xd6\x3b\x7d\xef\x4c\xe0\x80\x71\xbb\xd6\xc7\x5a\x1d\xea\x50\xd9\x42\x4d\x9c\x9a\x0c\x50\x45\x53\x32\x40\x9c\x25\xcb\x20\xd8\xc1\x9e\x57\x20\x37\x13\xa3\xb4\x20\x54\xb8\x4e\x2c\x0e\xe3\x46\x90\x01\x1b\x4a\xe3\x6d\x34\xb2\x43\xa4\xc9\xd5\xf0\xf3\xe8\x7c\x32\xba\xba\xbf\xb8\xff\x4b\x03\xc6\x66\xf9\xb1\x83\xd9\x0c\x5e\xb8\xfb\xcb\xdd\xfd\xe8\xf3\xe4\xd3\xe8\x6a\x74\x3b\xbc\x5f\x03\xc1\xb9\xaa\xb3\x36\x78\xc7\x5c\x36\xa9\x6f\x9b\x40\x3c\x3a\x33\x6f\x43\xef\x75\x20\xce\xa0\x13\x4a\x5a\xc0\x38\x0d\x3c\x02\x8b\x89\x40\x31\x79\x22\x09\xcf\x0a\xb3\x6a\xe3\x82\x05\x28\x9d\x0d\xed\xaf\x42\xea\x84\x36\xab\x6b\x7c\x8a\x4c\x3d\xbc\xa0\x24\xb0\x6f\x10\x44\x3e\x2c\x08\xfb\x46\x21\xf2\x25\x4b\x68\x44\x55\x90\x3e\xc9\x85\x75\xaf\x18\xf7\x21\x44\xa7\xae\x21\xae\xbd\x45\xa3\xec\x5d\xe7\x0f\x3d\xe9\x75\x6d\xdf\x9f\x28\x8f\x1a\xb7\xb6\xc8\xd2\x1e\x14\xfb\x16\xa7\x71\x0d\xd4\x6e\x8b\xd1\xbd\x84\x79\xa0\x9e\xc7\x64\x53\x20\x5b\x00\xef\x9a\x07\xb9\xfe\x36\x5c\x15\x27\x53\x3a\xd7\xab\x03\x65\xba\x51\xea\x1b\x87\xbb\x94\x8a\x8f\xee\x01\x9d\xc4\xc6\xae\x6f\x18\xb0\x50\xab\xa9\xc3\x4c\xcc\x29\x46\x82\xa4\x5c\x69\x05\xcc\x44\x04\x0c\xb4\x50\x45\x71\x42\xff\x01\x38\x5e\x82\x1c\x07\x11\x14\x0e\xfd\xac\x70\x1f\x58\x8c\x8d\xe3\x31\x3b\x1f\xdd\xdc\x8e\xce\x34\x43\x3a\x46\x0f\x12\x20\xba\x4a\x53\x3f\xb7\xe4\x6d\xc4\xb1\x30\x92\x61\x75\x21\x7f\x22\x04\x17\xdd\xf9\x83\xef\x6f\x04\xdf\x35\x93\x37\x3c\x2b\xd9\xa6\x9c\x01\xe0\xaa\xb5\x72\x74\x90\x33\xb0\x7b\x98\x4a\xf5\x44\xe0\xe7\xd2\x8a\x84\x10\x25\x20\x89\x94\x57\xfd\x05\x57\x5b\x13\xfb\xe6\x00\x2d\x45\x3e\xc4\x5e\xa7\xd9\xe2\x1f\x58\xe0\x3a\x12\x6e\xc7\xe2\xbf\x37\xf0\xed\xaa\x31\xde\x43\x14\xa0\x54\x05\xa8\xab\xc1\x7d\xf5\xc5\x8b\x3a\x8d\x51\x2a\x2c\xde\x02\x71\xa5\x72\x3a\xa7\x64\x8e\x19\x12\x39\x63\x15\x94\xdf\xd0\x18\x58\x8f\xeb\x59\x3b\xd0\x86\x35\xc3\x29\xcf\x19\xe8\x35\x10\x69\xdb\x30\x18\x99\x11\xa6\xd6\x0c\xe6\xad\xf0\x74\x2a\x43\x3d\x5c\x48\x9d\x86\x81\xb6\xa1\xea\x34\xb9\xbc\xa0\x82\xf6\x66\x92\x83\x8b\x1b\x2c\xf9\xbd\xf4\xa1\xf2\x22\x44\xb3\x21\x00\xcb\xc7\x9d\xbb\xbb\xc7\xf2\x71\x7d\x57\x31\x89\x1e\x37\xbd\x0f\xab\xc9\xa3\x89\x2d\x40\x5e\xb3\x47\x2e\xf5\x53\x5b\x61\x07\xea\xce\x47\x8f\xe8\xc7\xfb\xcf\x97\x68\x46\xb5\x68\xae\x6f\xbe\x2b\xac\xd5\x80\x07\x91\x38\xd3\xb5\x35\xff\xe6\x22\xf1\xe2\x01\x6c\xbc\x93\xf6\x02\x41\x46\x5f\xba\x78\x4e\x9c\x3d\x5a\x58\xd0\xc4\x4a\x85\x1d\x81\x59\xcc\x53\x33\x8f\x13\x99\xcf\x66\xf4\xcb\xb1\xc2\xe2\xbb\x96\xf5\x30\x81\x1f\x93\xbf\xf1\xe9\x44\x8f\x68\x47\x59\xa1\xa9\x39\x64\xeb\x62\xfb\x65\xb3\x33\x3b\x37\xef\xfe\x1f\x3e\x05\xd0\x82\x4c\x70\x00\x72\x04\x07\xa2\x0d\xa6\xb0\xaf\x38\x4a\x3a\x46\x2e\xc7\xab\x84\x55\x13\x71\x21\x88\xc5\x3a\x30\x25\x62\x33\x2c\x14\x05\x83\xb2\xc3\xba\x29\x15\x39\x28\xb6\x28\xac\xdc\xbe\xc0\x05\xa0\xf8\x94\x10\xf0\x41\x65\x34\xd9\x4c\x2f\x3f\x2b\xb9\x4f\x2b\x27\xd0\x06\xc7\x5a\xf8\x53\xb0\x19\xad\x95\x02\x47\x4f\x84\xa9\xbd\xa8\x50\xd0\x44\x03\xfa\x42\x37\x47\x88\xa9\xd4\x7a\x71\x5e\x5c\x6e\x2e\xea\x38\x0c\xbc\x52\x02\xc3\x1d\x6d\x73\xb9\xac\xd7\xbf\x2d\x16\xe1\xa9\xb3\x7b\x1b\x5e\xad\xaf\xcb\x9a\xe8\x7d\xbb\xda\x45\xc5\xf6\x22\xf2\xd6\x55\x68\xd8\x12\x8f\x49\x12\x63\x68\x09\x70\x40\xac\xfe\x5c\xdd\x73\xd3\xa7\xa6\xad\x4a\x97\x6b\xb7\x7c\x0b\xf0\xa1\x52\x33\x9f\x08\x48\x59\xfb\x88\x95\xdf\x04\x82\x01\x06\xf2\x20\x12\x88\xf2\x5e\x69\x68\x33\xd5\xe2\x35\xe7\xf3\xc2\x27\xee\xa0\x46\x98\xc1\xac\x80\x50\xd0\x62\xa9\x85\x28\x58\x2d\xc0\x6e\x24\xbb\xbe\xf8\xbc\x02\xf5\x68\xc5\xc4\x1c\x50\x61\x07\xd1\x7c\x5f\xc0\x19\x55\x50\x88\x60\x7d\xc1\xca\x0d\xb6\xce\xb2\xa2\x0b\x1c\x7e\x69\x42\x7b\xc1\xda\x85\x4b\x17\x19\xfd\x87\x66\xbf\x82\xc8\x05\x4f\xe2\xf6\x09\xd7\x61\x30\xf6\xaa\x89\x6c\x32\x5f\xb7\xec\x2f\x3b\xe1\x40\x6f\x5c\x33\xe3\x97\xc3\xfc\xf0\x6f\xed\x67\xae\x7b\x54\x90\x3b\x6a\x8e\xc5\x6b\x2f\x39\x03\x27\xe9\xb4\x05\xf5\x77\x90\x58\x2b\xd2\x4d\x49\x78\x5d\x39\x41\x17\x1e\xe0\x43\x8f\x2c\x20\xb2\x95\x9a\xec\xd0\x40\xfe\x29\xec\xbc\x21\x38\x61\xe1\x37\x2b\xd4\xd4\xa5\x71\xfc\xfb\xcf\x0b\xef\x45\x91\x8f\x42\x95\x2c\xca\x42\x22\x2d\x45\xb5\x1d\x48\x3d\xcf\x49\x2e\x36\xc2\x43\x29\xca\x0a\x6c\x72\x27\xdb\x4c\xa8\x62\x58\x7a\x11\x9a\x2f\x42\x5b\xed\x05\x14\x24\x1b\xe7\x26\x4b\x50\x8d\xf6\x90\x9b\x65\x6c\x54\xde\xdb\xaf\xdb\x5d\x7d\xba\xa0\xff\x14\x42\xea\x4b\xb9\x76\x4b\x14\x58\x9a\x40\x0f\xfe\xb7\x39\xf8\x9f\x2d\xfd\xe3\x69\x0f\xa0\x3a\x95\x00\xd4\x89\xc2\x7b\x5b\x15\x09\xad\xc7\x65\x5d\xda\x5d\x69\x77\x3a\xe5\xd8\x95\xbe\xd0\xbc\xe4\x7c\x47\xf7\xaf\x9e\xcc\x72\x02\x59\xcb\xbb\x84\x80\x95\xe6\x6f\x5c\x57\xd0\x26\x89\x91\x81\xce\x30\xd0\xe4\x76\xed\xbc\xdb\x2e\xc3\x82\x30\x35\x66\xb7\x7a\x14\xe6\x8b\x22\x0c\xc8\x05\x81\xb9\x72\x11\x50\x54\x7a\x86\xb0\xfd\x0a\x16\xbd\xed\xf2\x94\x13\xf3\x12\x18\x1d\x5e\x10\xe1\xe1\x07\xf3\x8e\x01\xdc\xb0\x80\x53\x7a\xaa\x74\x56\x18\x68\xb4\x6a\x10\x2d\x28\xe0\x5d\xc4\x44\xda\x0b\x89\x2a\x0b\x68\xe2\x15\xab\x9c\x38\x80\x74\xf8\xcc\xf3\xaf\x26\x86\xed\x4c\x40\xcc\x99\x4d\xe5\x98\x05\x7d\xac\xc0\xd3\x35\x66\x98\x2d\x95\x44\xd8\x67\x1a\x7b\xaf\x2b\xfc\xd3\xec\x10\x17\x74\x4e\x59\x50\xd5\xcc\x4e\x2f\xc5\x19\xf8\x16\xcc\x19\xe4\x33\x7f\xa7\xdd\xdb\x14\x97\x63\x18\xf1\xff\xfd\xef\xff\x39\xa6\x6d\xae\x37\x39\xb1\x2b\x70\x08\x3b\xb9\xd9\xb6\x84\x3b\x1f\x40\xd8\xb4\x40\xa3\x04\xd6\x0a\x59\x4a\xdb\x29\x7e\xb5\x97\x9b\x26\x1a\xae\x16\x26\xd6\xa0\x4c\xee\xe0\x98\x13\xf9\x8a\xb3\x61\xae\x98\xb7\x5d\x4b\x2a\x21\x35\x45\x8f\xc4\x9c\x64\x6f\xfa\xa1\x4c\x11\x66\xab\xa1\xd5\x0c\x70\x63\x56\x7c\x22\x0d\x18\x8f\xc1\x5f\x36\x3f\x14\xab\xd3\x71\x61\x56\xf1\xfe\x22\x4c\xa7\x88\xc5\x08\x42\xe1\x5d\x7d\x1b\x13\xc2\xac\xdb\xaf\xdc\xb4\x15\xce\x1d\x00\x91\xee\x12\x32\xbc\xc0\xf2\xe5\xe2\xc2\x1a\xeb\xb2\x19\x3f\x49\x28\x3c\xac\x8b\x10\x33\x83\x34\xa9\xc6\x7a\x43\x72\x49\x84\xe1\x74\x1e\x8b\xcd\x52\x42\x08\xb3\x0a\x01\xc2\x6b\x1c\xdd\x24\xc5\x74\xa3\x64\x16\xfd\x7e\x33\x08\x6c\xc9\x8d\x84\xe7\x44\x4c\xe2\x5c\xd5\x8e\xc5\xaa\x04\x13\xfd\xd1\x79\xae\x96\xeb\xdb\x97\x09\xae\xd7\xa5\x5a\x05\xbc\xab\xdf\x6f\x69\x76\xbd\xc4\x1c\xc4\x97\x95\xa5\xe6\x16\x58\x5b\x52\x81\xb5\xb5\x01\xcf\x25\xe3\x17\xdc\xc0\x4c\x01\x9e\x63\xa1\x49\xd9\x2b\xda\x80\xef\xc3\xc8\xd1\x34\x2f\x8c\x85\xbe\x9c\x89\x56\x89\x3f\x9a\x7a\x40\xa0\x93\x9b\x01\x44\x90\x6d\x46\xbe\x64\x5c\x92\x52\xfa\x63\x43\x89\x12\x9b\xbe\x6c\x87\xd1\x2c\xac\x17\x1f\xed\x2e\xab\xbf\x39\x40\x71\x7d\xc3\xeb\x53\x6e\xa6\xc0\x9d\xc4\xc1\x88\x66\x54\xd3\xce\xa4\xf1\xa4\xbd\x5c\x99\xec\x22\xa0\x10\x40\xd8\x54\xb2\x1c\x20\x3f\xbd\x0a\x41\x24\xe4\x89\x80\xa3\x04\xc6\x18\x16\xa2\x29\x5b\x6c\x5b\xd8\xc9\xba\x03\x54\xe4\x1e\x03\x5b\x40\x71\x75\x04\xe5\x0c\xcd\x26\x5a\x2c\xe7\x9e\xed\x9c\x26\xd9\x14\x15\xb5\x81\x78\x3e\x0c\x0b\xf2\x2c\x89\x42\xe4\x8b\x22\xb6\x64\xef\xbd\x4b\x64\xad\xe7\xbe\xa0\xe6\x5c\xbc\x76\xd9\xf1\xc5\x8b\xa7\x0f\x1d\x7c\x81\xcb\xd4\x8d\xdd\x95\x6f\x33\x57\x17\x98\xc5\x36\x1d\xdb\x2a\x19\x5a\xd8\x82\xd9\x19\x6b\x9b\x4f\x54\xb1\x49\xc5\x41\x25\x03\xd3\xa6\x29\xb9\x00\x17\x99\x53\x18\xb5\xca\x02\xb1\x3d\x5c\x68\xc9\x3d\x67\x8a\x26\x9a\x38\xec\x18\x24\x9a\x41\x58\xa6\x45\xc9\x84\xb4\x8a\x36\x20\x46\x2a\x25\x65\xf3\x89\x5d\x49\x97\x59\xdc\xed\x62\x28\xd3\xd4\x67\xd3\x94\xf9\xf1\x07\xd7\xd0\x6a\x77\x89\x21\x6b\x00\xc9\x73\x39\xcd\xa0\x71\x30\xee\x26\x63\xd1\x0d\x5d\x2a\xf4\x84\xc6\x66\x29\xa8\xa9\x0c\x0f\x13\xdd\xc4\xa3\x02\x32\x5d\x1d\x44\xa4\xb8\x42\xa4\xcd\x53\x36\xd9\x87\x90\x26\xa2\x5a\x12\xb1\x65\x6b\x02\xf6\x05\xf3\x22\x9a\xad\x4b\xe7\x61\x26\x2a\xb9\xdc\xd8\x75\x67\x73\x61\x70\x92\x4c\x71\xf4\xe8\xb5\x30\x6f\x8b\xe0\xc2\xd5\xf5\xd0\x72\x25\x14\x2e\x34\xc4\xa5\x07\x1a\x81\x74\x13\xfa\x81\x0d\x8c\x94\x1d\x76\xd1\xb9\x59\x35\x8b\xcf\x67\x70\xc3\xcc\xe8\x4d\x62\x4d\x4c\xb2\x84\x2f\xd3\x96\xfb\xac\x9a\xbf\xba\x4b\x98\x58\x5b\xfa\xec\x5e\xaf\xb2\x0a\xd3\xdb\xf8\x32\xab\x25\xc3\xed\x01\xd4\x6c\x03\x2e\xf9\x29\xe1\x53\x30\xa9\x5a\xf3\x83\x4b\xf0\x0a\xf2\x8c\xaa\xe7\x79\xd3\xb4\xb3\xea\x89\xa4\x32\x4b\xb4\x32\xd3\xde\x83\x49\x78\x7a\xd9\x7d\x33\x00\x19\xeb\xad\x83\xdd\x53\x05\x1a\x3f\x7f\x09\xf8\xec\x4b\x27\x09\x98\x77\x0d\xff\xaa\x58\xd9\x4c\xa6\xe9\xb1\x09\x3f\x50\x7c\xcc\x14\x9e\xbb\xcd\xb5\xc2\x25\x7f\x66\x44\xc8\x05\xcd\x4a\x05\x4d\x77\xce\x4d\xb0\x14\x6d\xff\x63\x22\xf1\x37\xe0\x9d\x3c\x3b\x32\xf0\x38\x9a\x3e\x64\x86\xa3\xc2\x2a\x1a\x25\x58\x4a\x3a\x5b\x06\xa8\x36\x3e\xcc\x1b\x72\x07\xcb\x66\x84\xa0\x86\x60\x13\xa3\x31\xe3\xdb\x0f\xac\xc3\xee\x29\xad\x0f\xe5\xe3\x47\xe3\x10\x3e\x50\xdf\x27\x75\x08\x23\x77\x53\x5b\x28\xa3\x56\x18\x64\x83\x5f\xb1\x1d\x0c\xc3\x4a\xe4\xa9\x76\x33\x42\x21\x4c\xda\x61\x5b\x45\xc6\xa3\xcd\x84\x48\x4c\xaa\x94\xc7\x0b\x9b\xaf\x15\x27\x67\x17\xd6\xc4\xe9\x91\x6a\x00\xd0\xa3\xf8\x78\x80\xe4\x4e\x08\x6f\x5d\xe8\xe2\x9c\x24\x64\x2f\xe1\xfe\x5b\x10\x49\x35\x50\x25\x20\x8f\x95\xa4\x51\xd4\x01\x59\x6f\x5c\xd8\x22\x0b\xa1\x05\x27\xaa\x79\xe8\xbf\x98\x81\xda\x44\x84\xa6\x5d\x04\xc3\x20\xac\x72\x57\xdd\xa5\x09\x70\xd2\xb4\x60\x49\xae\xe8\xa6\x44\x57\x45\xa7\x5e\x5e\x39\x44\x52\x7b\xe3\x78\xfd\xda\xb8\x3e\x91\x2e\x81\x3b\x6b\x0f\xc0\x56\x1c\xa8\xce\xa7\xbb\xd1\x85\x75\xa0\x2a\x8e\xe6\x04\x00\x81\x28\x8b\xe9\x13\x8d\x73\x9c\xbc\x2b\x9a\xd8\x5b\xb6\xd1\x9e\x56\xbf\xf9\x90\x6f\x76\x6a\xef\x88\x92\xee\x4a\xa8\x61\x78\xda\xcd\x39\xc0\x2d\x38\x8c\x63\x69\x04\xd7\xaf\x5e\x6e\xd9\x19\xa1\xc3\x8e\xcc\xe2\x54\xfc\x8a\x04\x2a\x33\xc7\xd8\x7e\xe1\x31\x29\x4a\x68\x6c\xb8\x84\x60\x69\xd6\xe8\xed\xb9\x5e\x95\xb4\xbf\x76\xd1\x6b\x73\x1a\xaf\x8e\xaa\xa0\xee\x5e\x1e\xdc\x4c\x1e\x74\x08\xaf\x07\x78\xf9\xb7\x1d\x83\xc3\xbc\x7f\x0e\x40\x38\xac\x5d\x89\xfb\x13\x11\xdf\x11\x99\x1c\x84\xa4\x58\xdb\x8a\xd7\x92\x17\x8f\x1c\xc4\x56\x01\x58\x75\xb8\x5b\x74\x18\x27\xf9\xd6\xba\x81\x5e\xee\x82\x5d\x4f\x2f\x7b\xa1\x0f\x40\x9b\xc5\x90\x94\x9f\xdb\xf2\x35\x70\x78\x83\x58\xba\x9a\xef\x61\x4d\x94\xa2\x1d\x5e\xa7\xf8\xc4\xda\x72\xbe\xc4\xf6\xda\xf4\xc6\xce\x9b\xfb\x92\xa4\xb6\xe9\x58\xf6\xa1\xa3\xbc\xb0\x17\xc7\x52\x63\xf0\x41\x1f\x2c\xdc\xed\x16\x6d\xc0\x75\x72\x5b\xb6\xcf\x43\xd6\x54\x73\x70\x77\x0c\x09\x97\xbd\x39\xc9\x04\x99\xd1\x2f\x5b\x89\xe2\x37\xf0\xa9\x55\x2f\xf5\x32\x57\xaa\x18\x82\x7b\x06\xaa\x1e\x06\x01\x8d\x76\xa5\x6d\xa5\xb3\x31\x2b\x72\x5e\x6d\xc2\xeb\x23\x59\x22\x2e\x4a\x3f\x6d\x8b\x40\xba\xff\x8a\x8b\x66\x5f\x17\x4a\x65\xf2\xf4\xe4\x64\x4e\xd5\x22\x9f\x1e\x47\x3c\x35\x71\xf8\x5c\xcc\xcd\x1f\x27\x54\xca\x9c\xc8\x93\xdf\xff\xee\x77\xc5\x16\x4f\x71\xf4\x38\x37\x98\x4e\x75\xbf\x53\x79\xcb\x09\x96\xbb\x45\xf6\xb8\xe4\xc4\x17\x4e\x52\x0f\xba\x71\x69\xc1\xfa\x1b\xa9\x70\x9a\x85\xa1\xa0\xa6\x66\xa1\x54\xb8\xa8\x94\x02\x19\xa7\x7a\x9a\x68\x81\xb3\x8c\xb0\x76\xb3\x83\x49\x21\xde\x81\xf5\xb8\x24\x64\x3b\x42\xf2\x25\x4b\x30\x2b\x63\x7f\x40\xd9\x2f\x41\x22\xc2\x94\x05\x7d\x28\x6a\xbd\x03\x35\x1a\xfc\x29\xc3\xff\x37\x4b\x32\x85\x39\x52\x59\xd4\xf3\x73\xc3\xb1\xb5\x75\x5d\xc5\x55\x1c\x2c\x5d\xb5\x9e\x71\xb1\x76\xc4\xad\xda\xaa\xf4\xd3\xbb\x7a\xed\xff\xcd\xeb\x29\x09\xce\x26\xe4\x8b\x66\x72\x72\x5b\xb4\xb8\x07\x49\x24\x1a\xfe\x72\x87\xe4\x92\x29\xfc\xe5\x14\x7d\xa6\x0c\x04\xd8\x1f\x79\x2e\x24\x3a\xc7\xcb\x23\x3e\x3b\x4a\x39\x53\x0b\xf4\x19\xfe\xd7\xfe\xf4\x4c\xc8\x23\xfa\x0b\xc1\xc2\xf2\x07\x5b\x0f\xd1\x95\x64\x03\x12\x12\x39\x93\x88\x3c\xe9\x13\xfa\xbb\xff\x44\xa9\x69\xf9\x14\x7d\x7f\xf2\xbb\xff\x44\xbf\x81\xff\xff\xff\xa2\xdf\xb4\x68\xfa\x9b\xe1\xcd\x41\xd9\xec\xdb\xb2\x3b\x77\x50\x59\x29\x59\x5f\xf2\x75\xcd\x9e\x09\x5e\xec\x54\x63\xcb\x8f\x34\x7a\xe4\xb3\xd9\x44\x13\x86\x2d\x0b\x8e\x45\x0d\xab\x7c\x4b\xf0\x5e\x6a\x8b\xc3\x9b\x32\x8a\x45\x01\x23\xdb\xa9\xc1\xf2\x70\xec\x5a\xe6\x45\xd9\x67\x08\x22\x2a\x95\xd2\xa6\x12\xbe\x22\xb1\xe6\xaa\x9b\x9c\x0e\x67\xdd\x73\x69\xfd\xce\x82\x13\xc2\xf3\x38\x81\xb8\x14\xf8\x17\x46\xb1\x9a\x40\x1f\xbb\x90\x8d\xc7\xa1\x16\x5e\xfb\xd5\xc4\x4c\xc2\xd4\xde\x2a\x5e\x52\xd6\x3a\x5f\x1f\x2a\x79\xc7\xc5\x4e\xfa\xd6\x23\x69\x4d\x65\x58\x53\xac\xcb\x15\x90\xc6\xa1\x51\x43\x71\x24\xb9\xf0\x20\xda\xc6\x2e\x62\x4b\x7a\xae\xb7\x62\x52\x61\x82\xcb\xba\x1d\x7a\x3d\xf5\x73\xff\xc9\xba\x61\x42\xa4\x99\x7b\xbb\x28\x56\x08\xa3\xd5\x22\x92\x66\x89\x0d\x23\x6e\x40\xda\x5c\xb7\xa1\x77\x1e\xb9\x04\x1a\x87\xb0\x47\xc8\xdf\x60\x4e\xb2\xb5\xd0\x10\xcd\xfb\x99\x8b\x88\x9c\xf1\xdd\xc2\x5e\x13\xca\x6a\xf1\xf2\xdd\xeb\x60\xf9\xd5\xbb\xb4\x15\xcf\x1c\x18\x35\x8f\x0b\x65\xc1\xb8\x05\x6c\x09\x94\x00\x05\xb7\x3c\x1b\x40\x53\xdc\x07\xd0\x6a\xad\x30\xc7\x0e\x5c\xdb\x18\x8e\x0b\x86\xe7\xea\xba\x54\xca\xb9\x08\xac\x79\xe1\x8a\xd8\x35\x08\x2a\xda\x79\x1c\x41\x89\xa2\x22\x52\xa9\x54\x75\x17\x46\x02\x79\x6f\x5b\x02\xe5\x9a\x6a\x61\x03\x24\x30\x04\x65\xaa\x85\x6e\x4f\x12\x71\x34\xc3\x11\x65\xf3\x41\x80\x91\x0a\x60\x20\xe1\x75\xd0\x44\xa4\xf7\x58\x3e\xee\x37\xd0\x70\xe7\xea\xa9\x34\x2e\x2a\xf8\x59\xc8\x20\xe3\xd8\xa0\x35\x80\x48\x85\xe5\x63\x1b\x66\x56\x0d\x53\x70\xc5\xe8\xfc\x52\x38\x24\xc2\x55\xe3\x73\x29\xe8\x24\xd4\xa7\xa0\x60\x88\xab\xe7\x6d\x11\x46\x5d\xc6\x1f\xf6\xf8\x3a\x55\x68\xdd\x15\xe3\x97\x0b\x2e\xd4\x64\x4b\x50\xe2\x6a\x1a\x3d\x23\x47\x09\x40\xf5\xf0\x27\x22\x9e\x28\x79\x2e\x63\xfb\x6e\x42\x8b\xc6\x68\x16\x44\xd5\x01\xf8\x6b\x9a\x71\x48\xa1\x99\xa1\x14\xb3\xa5\x61\x94\x9a\xb9\x60\xf9\x28\x7d\x15\x61\x24\x53\x9c\x24\x03\x24\x48\x2e\x4d\x75\x6d\x49\x92\xd9\x91\xab\xc3\x12\xa3\x84\xcf\x69\x84\x13\x34\x4d\x78\xf4\x28\x4d\x86\x1b\x9b\x1b\x26\x95\x09\x1e\x11\x29\x03\xc9\xaa\xc8\x66\xb7\x39\x86\x50\x42\x58\x11\x91\x52\x46\xa5\xa2\x91\x13\x99\x0a\xb8\x11\x53\xc8\x3e\xc2\x60\x12\x86\x8c\x4d\x18\xae\x96\xf4\x88\x41\x86\xcd\x99\xad\xd8\x05\xd7\xb5\x05\x7c\x74\x41\xe2\x6d\x07\x68\x0f\xf8\x95\x8e\x42\x26\xaa\x7c\x20\xd7\x1c\xa9\x33\xfb\x19\x1c\xe3\x55\x24\x70\x5b\x3e\x51\x9e\x20\xfd\x49\x2b\x01\x56\x41\x4c\xb9\x0f\x81\x2f\x49\x2e\x3e\x32\xfc\xc0\xb0\xea\x60\xc8\x2d\x08\x75\xeb\x68\x5a\xaf\x22\x88\x3c\x50\x24\xae\xea\x35\xa7\x2c\x4a\xf2\xd8\x97\x09\xd5\x22\xc0\x93\x26\x12\xb7\x3c\x7a\xed\xb5\xa0\x30\x40\x58\xa2\x67\x92\x24\xfa\xbf\x26\x02\xfe\xc8\x57\xed\xd0\x2c\xd9\x54\x56\x81\x4e\x1c\x97\x6e\xa3\xa8\x83\x83\x46\xbd\xc1\x6a\x61\x72\xfe\x53\xae\x4c\x85\x56\x03\x8d\xea\xec\x5b\x06\xc0\x72\x9a\xf0\x29\x9c\x74\x40\x4d\x75\x79\xae\x41\x5a\x5d\x1e\x45\x84\xc4\x24\x46\xdf\x06\x07\xd7\xe3\x51\x7c\xd7\x8c\xe1\x59\x5a\x91\x03\x40\x4c\xad\x1a\xd6\x5a\x71\x53\xcb\x45\x06\x8f\xd1\x4d\x05\x98\x25\x58\x99\x19\xae\x02\xb0\x0d\x6a\x5b\xf8\x36\x28\xab\x95\x49\xbc\xdc\x0e\xbd\x2d\xca\x6a\x65\x9a\x7b\x41\x59\x2d\x2d\xcb\x1e\x50\x56\x3b\x8d\x31\xe1\xf3\x17\x4d\x8b\xd6\x93\xba\xe4\xdd\x73\xd5\x0c\x3a\x9d\xb9\xde\x4b\xa7\xc4\xf1\x8c\x65\xd3\x59\x39\x2c\x04\xd9\x4a\xb5\xd0\xb7\x45\x90\xad\x0c\xe6\x90\x11\x64\x2b\x43\x3d\x5c\x04\xd9\x86\x81\x76\x40\x90\x35\xf1\x07\x13\x4d\xd4\xdd\x98\x02\xe4\xde\x4c\xf3\xd9\x1d\x64\xa3\xaf\x1c\xe3\x99\x89\x6d\x30\x37\xad\x13\x23\x2c\xe6\x3b\x8c\xd6\xa6\x69\xb6\x45\x6c\x55\xfc\x24\x9b\xd2\x9e\x77\x10\x1a\x7c\x8a\x4d\x3d\x03\x83\xd0\x20\x0f\xa6\xd2\x08\x67\x36\xed\xbd\xad\x14\xd3\xe1\x24\xf8\x6e\x07\xce\x0b\x00\x98\x25\x96\xdf\x09\xe4\xec\x73\xa5\xaa\xc9\x82\x3f\xdb\xca\x62\x40\x86\x86\x28\x5b\x49\x10\x3a\x9d\x58\xbd\xb2\x6d\xe5\x28\x53\x64\x5e\x55\xbb\x8b\x43\x43\x99\xfa\xc3\xef\xd7\x72\x22\x83\xef\xe9\x34\xd8\xa0\xb6\x88\xf7\xc7\xd8\x67\x24\x46\xd1\x42\x2b\x6e\x52\x6b\x58\x7a\x3a\xe6\xf2\x97\x28\xc5\xd4\xe9\x7a\xb9\x34\xde\x2f\x2a\xc7\xac\x04\x88\x7b\x8c\x3e\x42\xc1\x64\x9c\x66\x5a\x45\xf4\xf3\xa3\x9a\x92\xc6\xf9\xf7\xdf\xff\x81\xa0\xef\x51\x4a\x30\x2b\xa9\xd9\xa0\xd9\xe9\xab\x0f\xe0\x05\xd5\x82\x8c\x59\xe3\x56\xa0\xd1\x17\x53\x83\xcd\x85\x24\x5e\xb0\x19\x77\x6a\x3b\x14\x02\xc5\xd1\x02\xc9\x7c\x6a\x2a\x59\x07\x66\x16\x27\xeb\x5f\xf2\x39\xf8\xd2\xe1\x46\x76\x83\x5e\x75\x0a\x5f\x36\x4c\xc1\x7a\x44\xbb\xde\xc6\x43\xb8\x47\x8e\x24\x29\xc1\x4f\x35\xf8\xf5\x0c\xe7\x0b\x0f\xbe\x34\xd0\x34\x03\xe3\xe6\xd0\x2a\x24\xb6\xce\x07\x2d\xee\x43\xc4\x31\x38\xf2\xf2\x04\x0b\x7b\xf4\xc7\x4c\xeb\x42\x82\x3c\x51\x9e\xcb\x64\x89\x62\xce\xc8\x00\x28\x21\x8f\x16\xc6\xf7\xab\xd5\x2a\x6c\x0b\xba\x3c\x51\x99\x6b\x9d\x1b\xda\x72\xf5\x63\xa4\xc2\x06\x36\x6b\x41\xa1\x9f\x08\x27\x88\xc0\x57\x61\x22\x1f\xea\xa6\xe8\x85\x98\xc5\x15\x9e\xdf\x11\xb3\xb8\x44\x55\x3d\x66\xb1\xc7\x2c\xae\xaf\xcb\x21\x62\x16\x57\xf6\xbc\x1b\x66\x71\xd3\x96\x6f\x81\x59\x5c\x6a\xe6\xab\xc1\x2c\xae\xac\xe8\x57\x83\x59\x5c\x99\x57\x8f\x59\xdc\x63\x16\xf7\x98\xc5\xef\x05\xb3\x78\x47\x54\xde\xe6\x5b\xd6\x80\x7b\x29\xca\x96\x1b\xb3\x8f\x6f\x24\xba\xb8\xd6\x84\x15\x3d\x96\x23\x2a\xbd\x20\xb2\x3b\x12\x70\xf3\xf5\xb2\x19\x12\x70\xa3\x11\xa6\xfd\x12\xdb\x15\x5d\x0c\x54\xbe\x57\x46\x02\x2e\x4d\xa0\x0f\xee\xdd\x3c\xb8\xb7\x91\xf8\x6c\xdf\x7a\x78\x2e\xe2\xb7\x2a\x6a\x75\xc4\x02\x2e\xed\x4f\xa7\x30\x60\x50\xca\xf6\x40\x89\x2f\xab\xa7\xdd\x97\x0e\xf9\x5a\x2d\x2d\x5c\x45\x69\x51\xc9\xb5\xec\xee\xa0\x0a\x8d\x79\x25\x0c\x3e\xe9\x29\x77\x8b\xb0\xf4\xca\xf2\x7a\xa7\x9e\xa1\xc5\x0e\xa4\xda\x99\x42\x9d\xbd\x61\x3f\x59\xda\x2e\x73\x77\xc3\xf8\x06\x37\x88\xbb\x8c\x44\x2d\xde\x03\x9a\xd2\x7d\x35\xbb\xee\x22\xf3\x40\x6c\x60\x6a\xa9\x25\x25\xeb\xeb\xc9\x0c\xc7\x68\x6f\x95\x5c\x6c\x40\x89\x31\x5f\xce\xa9\x54\xa2\x35\xb0\xae\x36\xc2\x5d\xfc\xf4\x59\xde\x39\x1a\x2b\x58\xd5\xf9\x76\x9f\xa5\x24\xe5\x62\x5d\x54\x5f\xe3\x97\xb6\x82\xd6\x36\x9f\x92\x6c\x41\x52\x2d\xc9\x4c\x36\x6d\xa4\xeb\x7e\xfb\x8c\x75\x9b\x38\x69\xa2\x6c\x4b\x44\x10\x78\xe1\xf5\xbb\xb1\x81\x43\xed\xbc\xdd\xbb\x6e\xb3\x05\x6c\xdd\xd0\xd5\xe7\x90\xbc\x57\x9b\x52\xed\x4b\xa5\x58\x0b\xa0\xef\xc6\x80\x22\x1f\xcf\xb5\x3e\x64\x68\x45\xb0\xd0\x2a\xd0\xb3\xe2\x2b\x5b\x02\x7f\x83\x38\x92\x72\x68\x88\xe6\x84\x61\xfd\xf3\xcd\xa3\x8b\x5a\x20\x7b\xeb\xcb\x03\x61\x61\x92\x88\xa3\x50\x33\x28\x0d\xa6\xbe\x5e\x25\x2a\x71\xb6\x82\x1d\x88\x24\x17\xad\x21\xce\x5d\x5c\x15\x91\xca\x71\x02\x9a\x44\x58\xb7\xb7\xba\xa9\xd3\x65\x43\xce\x6d\x37\x5f\x18\x65\xea\x8f\xff\xb1\xd1\x6e\x6a\xd5\xca\xae\x1b\x14\xf2\xc3\x51\x44\xa4\xf1\x9e\xd8\x10\x78\x3c\xe5\x4f\x50\xc3\x6f\x97\x5d\xd5\x47\x59\xcf\x5b\x33\x78\x8f\x83\x1d\x17\xa4\x6e\xc4\x85\x85\xe0\xf9\x7c\xe1\xac\x83\xfa\xcc\xe8\xa9\x35\xed\xe5\xcf\x35\xef\xc7\xc6\x7b\xf9\x43\x4e\x93\xed\x6c\xaf\x77\xa5\xea\x86\x9f\x2e\xee\x91\x5c\xf8\xd3\x3a\x85\x66\x1b\x37\xb6\x3e\xe8\xee\x7d\xda\x6f\xbd\x27\x0e\xba\x19\x38\xec\xd7\x19\x4f\x12\xf0\x21\x49\x92\x3e\x11\xd1\xdc\x3d\x4c\xf8\x9e\x6e\x06\xdb\xe8\x07\x00\x5f\x17\x59\x39\x9d\xe4\xaf\x1b\x23\x1a\x4a\xe4\x46\x5f\x8d\x98\x31\x71\x92\x9c\x11\xd6\x64\x3d\xfd\xa5\x5e\x7e\xe8\x9d\x45\xab\xba\xd0\xc5\xbd\x45\xac\xba\x25\x79\xe5\xa8\xd5\x35\xf3\x38\xd4\xc8\xd5\x0a\xb3\xf3\x81\xa4\xc5\x35\xe3\xa2\xd6\x8c\xe2\x33\xd4\x4b\x3c\x66\xc3\x52\x32\x8f\x8d\x5e\x40\xd3\x65\x91\x0d\x60\x74\x88\x90\x99\x41\x91\x17\x6b\x58\x01\x07\xa9\xfe\x0b\x34\x1d\x83\x9c\x6c\xe2\x59\x5d\xcc\x2a\xa4\x32\x90\xf8\x08\x47\xcb\x28\xa1\x51\xa0\x33\xcf\x05\xce\x16\x4d\x1c\xcf\xed\x7c\x0f\xf9\xf4\x56\x90\x4f\x6d\xd5\xd0\x36\x49\x1a\x70\x74\xc5\x70\x4a\x7a\x28\xaa\x26\x28\xaa\x81\x07\x5b\x61\x45\x5d\xb7\x37\xc4\xf0\xa8\x9f\xbb\x1e\x8f\xea\x0d\xf0\xa8\xb6\x39\x7c\x05\xd8\x54\xe9\xd8\xf5\x18\x59\x1f\x3a\x61\x64\xf9\x4b\xf0\xa0\x60\x8f\xda\xcf\xe3\x1b\xc3\xe9\xd4\x07\xf6\x96\x98\x58\x0d\xe2\xc2\x26\x72\xd3\x2a\x50\xac\x55\x74\xd1\x69\x5d\xde\x16\xa2\x6a\xb3\x95\xd9\x08\x7d\xaa\xf1\xee\x3a\x10\x2c\xaa\xf6\x6d\x38\x90\x73\xb3\xcf\x94\xaa\xcd\x0a\xd7\x86\x69\x55\x9b\x28\x58\x9b\x65\x58\x79\x7a\x78\x5f\x59\x56\x45\x85\xbf\xed\x32\xad\x86\xce\x07\x4d\x04\x5a\xf0\x24\x76\x08\x28\x7e\xb5\x7c\x07\x3e\x3f\xc3\x2f\x90\xdb\x8c\xbb\x8c\x44\x46\xdb\x2a\xaa\xd1\xad\xca\xa7\xf2\x9b\x08\xc3\xdd\x03\xa3\xd9\x87\x15\xc1\x73\x92\x6d\xec\x07\x6b\x65\x11\x59\x36\x7f\xaf\x18\x63\x69\x85\xc0\x6a\xde\x3c\xcc\xb5\x76\xdf\x35\x83\x5b\x25\x7a\x04\xc6\x41\xd1\x54\x67\xd6\xd0\x19\x3c\x7d\xa2\xce\x10\x81\xc3\x1e\x57\x7a\xe9\xdc\xec\x3a\x79\xea\xaa\xc4\xb2\x45\x98\x5f\xad\x6c\xe0\xee\xc8\x54\x29\xfe\x32\xc9\xb0\xc0\x49\x42\x12\x2a\xd3\x17\x0b\xf3\x3e\x2b\xbb\x6b\xf5\x59\x15\xdc\x98\x88\x58\x9e\x4e\x0d\x29\xba\x81\xd8\x4a\x93\x8a\x23\x91\xb3\x10\x57\xcf\x6f\x8c\xaf\x64\x99\xc3\xbd\x00\x56\xa5\x68\x01\x25\x83\x67\x98\x0a\x46\x64\x6b\x81\x56\x12\xe5\x82\xaa\xe5\xc4\xd6\xbb\xed\x7e\xe0\xee\xec\x97\x67\xf6\xc3\xd5\x1e\x6e\x07\x29\xe1\xfa\xf3\xf5\x75\x33\x22\xa0\x46\x95\xab\xb6\x14\xd4\xf4\xb5\x90\x21\xc4\x17\xba\x82\xc0\xf6\xda\xb5\xdd\x16\x12\x8e\x9f\x27\x41\x7c\xd5\x24\xaa\x12\xc7\xba\xc3\xda\x04\x7a\xb6\x6a\x92\x2f\x0c\xfb\xd5\xe2\x45\x7e\x81\x12\x37\x36\x21\xc6\x34\xad\x07\x1c\xb8\x82\xc1\x5e\x59\x6c\x4c\x80\xb7\x60\x95\xaa\x96\x71\x5a\xa0\xa9\xa6\xe0\xa3\x15\x83\x1d\x06\x5f\x75\x18\x71\xd0\xc9\x9e\x86\xad\x0f\xba\x10\x79\xa6\xe8\xb4\x8e\xab\xa4\xf6\x57\xbf\x76\x98\x40\x8e\xbf\x73\x33\x94\xba\x35\x45\x6d\x4b\x9c\xd8\xce\x4e\xcb\xff\x16\xc4\xce\xc1\x53\x19\x78\xaf\x30\x89\xf4\x3a\xa5\x4a\xb9\x14\x10\x63\x80\xd6\xd4\x59\xb6\xcd\x7e\xe3\xc2\x3d\x30\x94\x19\x36\x26\xa2\xe3\x31\x1b\x4a\xf4\x4c\x10\x23\x16\xbf\xa4\xa1\x80\xb0\xb7\x6a\x43\xe1\xb1\x29\xd1\x3d\xf9\xd8\x14\x2d\x3c\x50\x25\x7d\xed\x3b\xd3\xc7\x0c\x27\x92\x0c\x74\xc3\x50\x32\x57\x71\x08\xfa\xc4\xe8\x59\xe0\x2c\x23\x62\xcc\x6c\x7e\x0e\x38\x5c\x38\x4f\x4c\xfb\x6d\x21\x94\x76\x0d\xc8\x24\xc2\xd1\xe2\x95\xf6\x08\x43\x9a\x55\xb4\x20\xb1\x4b\x56\x2f\x6f\x8f\x9b\xb7\x31\x58\x6f\xb0\x59\x17\x33\x57\xbb\x6d\x60\x3b\x49\x22\xcd\x51\x7c\x8d\xf3\x8c\x08\x3d\x6a\x4d\xc3\x4f\x84\x21\x3a\x73\xe3\xb0\xb1\x3b\xe8\x19\x3c\x53\x9a\xf4\x9f\x30\x4d\x0c\xfa\x83\xeb\xda\x09\x81\xc6\xfc\x3e\x66\xc6\xdd\xcd\xa2\x52\x7a\x34\x65\x54\x2e\x34\xa7\xce\xc1\x27\x09\x6a\x46\x5b\x4a\x14\x7b\xda\xe4\x34\x8f\xf4\xeb\xab\x39\xe8\x13\x15\x9c\xa5\x90\xfe\x64\x41\xc1\xdc\xf2\x49\xa2\xfc\xf1\x68\x4c\x5e\x5d\x2b\x11\xc7\xb1\x2c\x1b\x3f\x8d\x5a\x49\xff\x51\x32\xbb\x1c\x95\xf2\x3d\xa3\x00\xd3\x0a\x82\x38\x5d\x59\xbb\x55\xf2\x6f\x9f\xb4\x52\x4f\x5a\x69\x5e\x9b\x43\x4c\x5c\xf1\x87\x78\xd3\xe4\x95\xb6\xed\xdf\x87\x64\xbb\xc7\x24\x96\x37\xce\xf6\x78\x99\x44\x8f\xb7\xcd\xcc\x79\x89\xa4\x9c\x3e\x75\x65\xcf\xf3\xed\x53\x57\xfa\xd4\x95\xad\x53\x3e\xda\x19\xf2\x46\x69\x1f\x6b\x30\xe2\x9a\x7a\xf9\x4c\x94\xa0\x91\xdc\x07\xe7\x97\x19\xee\x18\xaf\x08\xfa\x7d\xb6\x46\x1e\xd6\x2f\x78\xf7\x32\x44\x00\xfa\xf2\xa1\x53\x41\xf0\x63\xcc\x9f\x6b\x56\x58\x19\x82\xf4\x7c\xe6\x5a\xa0\x15\x24\xa2\x92\x94\x62\x94\xa8\x44\x8c\x48\x6b\xc6\xc6\x63\xb6\xa0\x44\x60\x11\x2d\x20\x23\xb9\xd8\x18\x93\xd9\x6e\x70\xd2\x4c\x94\x4a\xe8\x47\xdc\x60\xd3\x3b\xac\x7b\xd5\x76\xe8\x61\x2f\xed\x9e\xeb\x91\xa4\xe6\x13\x2f\xa6\x5a\xf9\x31\x34\xb6\x76\xda\xfe\x5d\x53\x2c\xfc\x62\xbf\x68\x9a\x85\x0f\x13\x0b\xbe\xe8\x98\x6a\x51\x50\x43\x9f\x6e\xf1\x42\xe9\x16\x0d\x4b\xbc\x59\xca\xc5\x56\xc6\xdc\xd7\x8f\x06\x77\x3d\xbf\x46\x44\xf8\xba\x70\xbc\x7c\x3a\x79\xf1\xa3\xd7\x38\xe7\xae\x27\xf0\x17\x4f\x14\x46\xd7\x11\x9a\xce\xa6\x24\x8e\x81\xd3\x2a\x6e\x0b\xd0\x17\xb4\xe3\x0c\x3f\xfa\xee\xc5\x52\x13\x3b\x4e\x38\x9b\x4b\x1a\x1b\x80\xa4\x0c\x43\x21\xe8\xd0\x2c\x05\x80\x20\xb0\xbf\x49\x42\x84\xf3\x37\x09\xf4\xad\xa4\xcc\x82\xb4\xfa\xdf\x62\x4e\x24\xfb\x46\x19\x33\x10\x66\x4b\xf4\xc8\xf8\x73\x42\xe2\x39\xec\x50\x75\x30\x47\x88\x92\x01\xa2\xca\x7f\x26\x00\x41\x84\xe7\x6a\xac\xc7\x0e\x51\x84\x46\xb7\x23\xf6\x5b\x61\x8b\xc2\x04\x1c\x58\x7e\x77\x8c\xd0\x05\x43\x33\x1c\xa9\x01\x92\xf9\xb4\x68\x3f\xe6\xa6\x76\xfe\x13\x61\xe1\xc4\x8b\x46\xfa\x6c\x80\x86\xce\x9b\xcf\x86\xe3\x0e\x9a\x5c\x87\x09\xc5\x3b\x45\x4d\x3e\xe1\x5d\x90\x8b\x3f\xe7\xd2\x86\xd7\x20\xce\xfc\xd1\xb7\x90\x68\x1e\x7a\x1e\x60\x84\x0d\x8c\x3b\xe3\x71\xab\x15\xbb\x32\x95\x4d\xc7\x52\x84\xb8\x5a\x41\xc9\xba\x20\xa1\x5d\xb3\xdc\x5a\x6a\x92\x4a\x10\x9c\x5a\xb7\x8f\xbe\x6a\x40\xac\x31\x01\xae\x7a\xf4\x54\x18\x09\x73\x93\x2d\xbe\xa4\xec\x51\xef\x6e\x01\xb6\xcf\x01\x86\x5c\xf7\xdc\xb4\x69\x99\xbe\xf1\xc8\x19\x67\xc6\xf5\xbb\x93\xdc\x49\xe7\x0c\x27\x1b\x5a\xaf\x6a\x2b\x57\xf7\xd6\x3a\x39\xcb\x8a\x0b\x5a\x8a\x30\x66\x5c\x64\x7a\xdc\xc8\x3a\x58\x99\x6f\x28\xef\x61\x14\x93\x8c\xb0\x98\xb0\x68\x09\x24\xc2\x00\xed\x4a\x30\x9c\x20\x0c\xdf\xe1\xe4\x18\x9d\x9b\xcc\x29\x2f\xe1\xd9\x6b\x1d\x2e\xf4\x14\x33\x3a\xd3\x7a\x02\x98\xd7\xed\x28\xc7\xcc\x0c\xd3\x79\xb7\x48\x61\x37\xf7\x2b\xd6\xb4\x33\xfa\x06\xb9\xda\x11\xec\x9c\x95\xbf\x47\xab\x2f\x1c\xe8\x6d\xd5\xee\xe8\xe6\x5c\x69\x13\x99\x4f\x8f\xe0\xdf\xa5\x54\x42\x07\xae\x55\x20\x3f\x91\x84\x80\xa1\xd7\xfa\x32\xe1\x62\x6c\x03\x83\xdc\x87\x47\x76\x4d\x86\x4e\xd0\x47\x49\xa9\x49\x29\xa3\x69\x9e\x06\x6e\x59\x53\x08\x25\xb2\x96\x69\x93\x63\x93\x69\x3d\x20\x72\x35\x11\x90\xbe\x5c\xd9\x12\xcd\xe9\x13\x61\x63\x96\x71\xca\xd4\x31\xba\xe2\x8a\x04\x95\x67\x0c\xdc\x1b\xcf\x14\x4d\x0d\x88\xb2\x20\xfa\x1c\x18\xac\x7d\xc0\xaf\x5d\x60\x35\x40\x71\x0e\x47\x95\x11\xa5\x59\x87\xbe\x71\x15\xec\x0c\x44\xbe\x8b\x31\x33\x37\xdd\x0c\xd3\x24\x17\xc4\xca\xac\xd8\x64\x3c\x15\x43\x2e\x46\x66\xd1\x0b\x83\x49\xa4\x74\xbe\x50\x7a\x8b\xb4\x8c\x67\x3d\xc9\x0b\xcd\x8d\xf8\x98\x4d\x09\xc2\x28\xe3\x92\x2a\xfa\xe4\x3d\xd3\x74\x86\xb0\x94\x60\x1b\x3b\x46\xe7\x25\xcf\x0e\x95\xa0\x7a\xb7\x45\x4c\x53\x36\xb1\x5e\x85\xf6\x4c\xab\x9d\x37\xb2\xd4\x8b\x5d\x65\x3c\x95\x3c\xc9\x55\xe8\x5c\x6f\xde\xdb\xc2\xe9\xe1\xea\x81\x80\xe9\x9f\xcf\xc6\xcc\xd1\xb5\x3c\x46\x43\x89\x24\xd7\xbb\x24\xcd\x56\x46\x82\x2a\x22\xa8\x41\x5e\x23\xca\x6c\x82\x3f\xa7\xfe\x0c\xa4\x58\x3c\x6a\x11\x2a\xf4\xad\x18\xa8\xe2\x92\x6d\x6a\x6a\x24\x24\x80\xa2\x0b\xb7\x03\x9c\x3a\x88\x71\x76\xc4\xc8\x1c\xaf\xdb\x91\x31\x2b\x6d\x09\xfa\x96\xce\x0a\x85\xb4\xcd\x9b\x1c\xac\xdd\x04\x62\xda\xda\x76\xc9\x74\xdc\xb6\x49\xb3\x84\xe3\x35\x01\x01\xb3\xe2\xd0\xa3\xbf\xf1\xa9\x19\xa3\xd6\xfb\xb9\x02\x29\x50\xab\x57\x33\x2e\xc8\x02\xb3\x78\xe0\x36\xab\x3c\x36\xb8\x19\xad\x8d\xcd\x29\x63\x20\x09\x3a\x6c\x72\x62\xf0\xd3\x30\x0b\xf6\xc2\x2a\x6e\x76\x2b\x8a\x7d\xd8\xe8\xae\xf0\xad\x41\x49\x25\x63\x80\x30\x2c\x6f\x99\xd9\x23\x2e\x69\x9a\x25\x45\xb6\x5a\x60\xf5\x9e\x69\x11\xcb\xf1\x48\xfe\x04\xa6\x2b\xa7\xb5\xc1\xad\x6e\x77\x4e\xd3\x59\xc3\xc8\x3d\x23\x85\x5b\xc3\xd9\xbc\x4c\x75\xdd\x80\x85\x7d\x2b\x89\xfe\xa7\x22\x85\xda\x67\x84\xf5\x31\x73\x22\xc8\x77\xc0\x65\x6c\xb3\x81\xf1\x4c\x8b\xd0\x06\x3d\xda\xae\x1f\x8a\x4c\xf8\x42\xe9\x9c\xd8\xc3\xe0\x5e\x6d\xb8\xa8\x7e\xa0\x0c\x97\x72\xaa\xb7\x10\xfc\x92\x7c\xa3\xb4\xb9\xc0\xa1\xbb\x6c\x2b\x95\xa4\xf0\xba\xea\x45\x1b\x50\x82\xd9\x67\x82\x74\x77\x96\x9a\x5d\x21\x2d\x0c\xb1\x1e\x0b\x92\x64\x28\xa6\x33\x30\x4b\x29\x60\xdf\x1e\x0c\xd0\x94\x98\xd0\x87\x3d\xcd\x99\x01\x76\x34\xbe\xae\x67\x0b\xe3\x6f\xaf\xc6\xa2\xf1\xe3\x31\xbb\x50\xdf\x48\x2d\xa2\x73\x36\xd7\x17\x4d\xfc\x44\x65\x51\x3b\x29\xe2\x4c\xe6\x29\x11\xb6\x0b\x7d\x23\x6b\x8a\xb4\x75\x47\xb0\x93\xa1\xf4\xd8\xf4\xde\x3f\xe1\x84\xc6\xae\xbe\x97\xfe\xd1\x9c\x39\x3d\x4a\xe9\x7c\xc5\x0d\xc1\x7e\x76\x73\x63\xbd\x56\x6f\x26\xd6\xff\x1c\x4a\xee\x28\x2d\x84\x7c\x6c\xbd\x30\x27\x55\x11\xdf\xae\xfa\x0a\xf1\x7e\x5a\x9b\x14\x5a\x2d\x18\xd9\x55\x58\x6b\xd0\x76\x40\xdd\xb9\x09\xee\xd6\xfd\x38\xa3\x8f\x19\xdc\x46\xec\xa7\x32\x41\x3b\x6a\xc3\x59\x42\xf1\x9e\x50\x90\x0d\xa4\xc2\x5a\xbc\x30\xd7\x01\x17\x56\xc3\xb1\x77\x4e\xfb\xd6\x9e\xef\x58\x7d\x46\x46\x38\xa9\xef\xf0\x0a\x7b\xb3\x79\x7f\xb5\x12\x60\x8f\x9b\x69\x7b\x65\x3a\x77\xc4\x93\x64\x93\xca\x48\x95\x99\x9f\x15\x9f\xaf\x1e\x51\xd1\x8f\xde\x00\xb7\x17\x70\x6a\xcc\xe5\x8d\x13\x6b\x4a\x91\xca\xee\x52\xf8\x92\x51\xc3\x96\x96\xb5\x8e\x19\x9f\x41\xed\xac\xa4\x2d\x5e\x2f\x13\x3c\xa5\x9b\x20\xa3\x1b\x5f\xca\xad\xb3\x8b\xaf\xb1\x32\x38\xeb\x39\x88\xa6\x86\xbc\x6c\x8f\x90\x89\x89\xad\xb8\xb9\xe2\x0c\xa5\x38\xdb\x6a\xc1\xd7\xf9\xf0\x86\x28\x35\xce\x56\xbb\x7a\x80\x91\x4a\xa0\x0c\x15\x2c\xf2\x33\x5e\x16\x49\xef\x6d\x98\xd7\x6c\x23\x72\x78\xd0\xaf\x5f\xb0\x19\xdf\xe0\x70\x16\x49\xea\xf6\xf4\x61\x47\xb3\xc1\xf9\xf3\x5e\x0a\xb3\xfb\x66\x4d\xbb\x9c\xc7\xb3\x26\xa2\xde\xf8\x64\xba\x15\x7c\x49\x1b\x65\xc8\x44\x42\xf3\xe4\x26\x77\x6b\xf9\x68\x05\x2d\x22\x18\xce\xea\xa5\xfa\x5c\xa2\xc3\xbd\xaf\x51\xa5\x1d\x64\x4c\xe1\x2e\x4c\xfe\xa6\xb9\xd5\x57\x58\x33\x7b\x48\x3a\x2d\xd6\x8e\xa8\x1c\x9b\x61\x77\xbb\x1e\x3d\x52\x77\xf3\x09\x5d\x5b\x3b\xa5\xfb\x62\x00\x37\x93\xd6\xce\x55\xc4\xdc\xda\xe4\xc3\x19\x4d\xb4\x88\x7d\xd1\x60\xe0\x74\xa9\x7f\x3e\x54\xce\x24\x41\x38\xe9\x29\x17\x34\xa8\x37\xec\x64\x24\x44\xa1\xee\x51\xe8\xe4\x09\x14\x7a\x30\x2d\x2e\xf8\xb3\xc9\x3b\x10\x54\xf3\x2c\x23\xac\x2a\x30\xf7\x68\x5e\x40\xad\xb5\xc4\x18\x9b\xfc\x07\xdc\x44\x83\x62\x5b\x52\xbd\x18\x55\xcb\x96\xee\xa3\x72\x5c\xf7\xcc\x4a\xd7\xeb\xbd\xfe\xa2\xbe\x37\x8d\x23\xbc\x2f\xb7\xbe\xf1\xe8\xbc\x94\xbf\x79\x28\xdc\x47\xf8\xd4\x29\x3d\x18\xcd\x04\x01\x07\x7f\xea\xd1\x52\x0c\x10\x36\xe7\x70\xdf\xdd\x9d\xff\x74\xf2\x70\x81\x88\x8a\x50\x42\x1f\xc9\x98\x45\xf2\x69\xa0\xc5\xe3\xbf\xe7\x44\xe9\x9f\x5b\x3c\x02\x34\x25\x4c\x02\x27\xa0\xaa\x86\x2a\xd5\xbc\x90\x6e\x61\xf4\x7f\xcf\xcb\xdf\xaf\x20\xf9\x5a\x62\x38\xd0\xae\x2b\xa3\x05\x64\x0a\x95\x82\xcc\xd2\xca\x06\x8a\x31\xb6\xc8\x51\x53\x91\xdd\x2d\x12\xc1\xd8\xdf\x72\xb6\xa1\xd0\x75\x56\x7c\x14\x8c\xa2\x45\xa6\x4b\x33\x0c\xf8\xf4\x9b\x65\x98\x99\x6f\x1a\x5b\x5f\xc7\x44\x8a\x84\x7b\x67\x5b\x2e\xea\x11\x23\x25\x08\x01\x16\xe2\xe9\xc9\xde\xf5\x16\x63\xc5\x4f\x2c\xf8\xe8\x78\xcc\x3e\x3b\x8f\x73\xf1\xab\x2c\xf4\xf0\x74\x1a\xc0\xf6\x97\x5b\x81\x66\x63\x2a\xfd\x0f\x50\x27\x4a\xe6\x89\x32\x85\x32\x67\x94\xe1\xc4\x0f\xd4\x3c\x69\xe2\x12\x02\xb3\x68\xb1\xab\x09\x99\xce\x26\x24\xd9\x44\x12\xbd\x98\x8d\x12\xa9\xe9\x3b\x7a\x6c\x39\x9d\xdb\x94\x82\x2d\x26\x63\x0b\x5c\x9b\x72\x72\xa8\x30\x41\xe3\xc4\x14\xaa\x24\x08\x7c\x94\xd5\xbc\x40\x03\xfd\xa1\x77\xd1\x4a\xea\xc6\x45\x69\x12\x72\x7c\xb0\x3d\xf4\x82\xb0\x1a\x33\x91\x33\x28\x10\xe3\x23\x16\x30\x2a\x30\xfe\x23\xe7\x3f\xb0\xde\x9c\xb9\x66\x13\x06\x42\xdf\xbc\xac\xf5\x33\x9e\x4b\xb0\xd5\xa4\x44\xe9\x0b\xea\x5b\x28\x2f\x6d\x42\x86\x06\x28\x13\x34\x05\x73\xab\xfc\xae\x61\xeb\xce\xb0\xc2\x09\x9f\x0f\x85\xa2\x33\x1c\xa9\x7b\xbc\x93\x06\x8e\x6d\x33\xdb\x06\x16\xbb\x61\xa0\x8b\x73\xbd\xf8\x73\xc2\x88\x80\x89\x6a\x9d\xbc\xf9\x08\xc3\x93\xad\x38\x37\x58\xd9\xac\x61\x54\x7a\x8b\x05\xce\x15\x4f\xb5\x7e\x8b\x93\x64\x39\x30\x16\x59\x82\x16\x58\x2e\xdc\x46\x1b\x63\x5a\x97\xbb\xc9\x2e\xee\x19\x8e\x16\xe4\x0e\x8a\xad\x37\x2d\x6e\x65\x94\x1f\x08\xcb\xd3\x0f\xa7\xe8\xff\x16\x73\x3c\x1b\x9e\xfd\x38\x9a\x9c\x5f\xdc\x0d\x7f\xb8\x1c\x9d\x07\xf3\xb1\x4f\x3e\x5f\xdc\xdd\xd5\x7f\xfd\xf1\xe2\xbe\xfe\xe3\xcd\xf5\xcd\xc3\xe5\xf0\xbe\xa9\x95\xcb\xeb\xeb\x9f\x1e\x6e\x26\x1f\x87\x17\x97\x0f\xb7\xa3\x86\x4f\x1f\xee\xdb\x1f\xde\xfd\x74\x71\x73\x33\x3a\x77\xab\xf2\x3f\xc1\xe9\x02\xeb\xb1\x9e\x68\xcb\x34\xaa\x07\xf0\x08\x95\x5f\x3c\x45\x0f\xd5\x72\x25\x36\xca\xdc\x20\x94\x3c\x63\xa9\x79\x18\x24\x39\x8c\x19\x72\x9f\xeb\x45\x69\xfb\xd4\x84\xeb\x44\x0b\x82\x12\xce\x1f\xf3\xcc\xb2\x36\x13\x1f\xc6\xb8\x31\xfc\x10\x19\xb4\xf6\xe3\xc5\xfd\x69\xbd\x6c\x8a\x6f\x2c\xc0\x42\x73\x67\x00\xc6\x85\x1d\x3b\x05\x5b\x8a\x2b\xa7\x51\x58\x6f\x83\x1e\xfc\xce\xac\xea\xc7\xb4\x86\x99\xaa\x74\x13\xc7\xb6\x96\xb8\x9b\x58\xd0\x70\x79\x5f\x57\xad\xa6\x5f\x0e\x53\xd2\x0e\x4d\x49\x84\x73\x13\xd4\xa4\xef\x29\x21\xb8\x08\x07\x5c\xd0\xc3\xfe\x1a\xb5\x74\xd4\xd8\x60\x65\xcf\xf4\xc4\xe5\x23\xcd\x32\x12\x7f\xa8\xcb\x2f\xe5\xa2\xd3\x12\x4e\x9f\xee\x33\x38\x93\x5a\xaf\x07\x9d\xdf\x15\x3b\x5a\x2c\xbd\x27\x0d\x02\x37\x8a\x50\x16\x80\xe8\xd6\x77\x82\x2f\x46\x43\xc1\x35\x86\x15\x7a\x26\x90\x2c\x9f\xdb\x6a\x6f\x46\xf7\xd6\x67\x1b\xba\x33\x36\x6d\x57\x5e\xb2\x94\x44\xdf\xca\x8c\xf7\x21\x70\xeb\xef\x25\x69\x62\xc4\x3b\x64\x3c\x9f\x9b\x46\x81\x3b\xbb\x98\x37\x18\x71\x4b\x70\x83\xbb\x0d\x1a\x2c\xe4\x2b\xe4\xab\xfa\x8d\xb4\xe6\xb2\xd0\x6c\xbb\xcb\x78\x1c\xca\x4b\x09\xba\xbc\xfb\xc0\x4a\xf0\xd6\x6b\xd7\xea\x9e\xc7\x78\xa9\x89\x03\x62\x8d\x65\x9e\x65\x5c\x28\xd4\xd2\x86\x71\xe3\x9b\xf1\xc1\x9d\x63\xe7\xe1\x79\x1c\x34\xa2\x25\x0c\xd9\x50\xff\xa6\x1b\xf0\x85\x5d\xd7\x82\x71\x84\x01\xb2\xa0\x08\xfa\x5a\x65\x69\x49\xa5\x2e\x51\x68\x93\xf0\xbb\x4b\xee\x48\xa6\x2f\xf8\xae\xd5\x3d\x9b\x7a\xbf\x76\x2d\x34\x6e\x79\x42\x66\x6a\xd2\xe8\xf5\x59\x61\xe0\xd4\x2d\xb2\x36\xac\x20\x3a\x5f\xec\xa1\xc5\xee\x5a\xc2\xef\x6d\x60\x8f\x56\x0d\x02\x0b\x81\xe0\x5c\x19\xf9\xb4\xd0\x61\x90\x5b\x4d\x30\x2f\xd8\x4e\x6d\x96\x9f\x17\x02\xb5\xcc\x6f\xfc\xa1\x3e\x21\xee\x78\xcc\x46\x10\x40\x51\x28\x22\x2e\xf9\x0f\xb4\x80\xb5\xf2\x7f\xa9\x96\xf1\xab\x46\x6b\xb6\x63\xf7\x16\x74\x6f\xdc\xee\x24\x59\xa2\xa2\x5e\x75\xe9\xbb\x2e\xa7\xc7\x58\xbd\x9d\x08\x68\x26\x6c\x8e\x8e\x54\x24\xb3\x96\x79\x33\xcf\x22\xd2\x07\xe2\xc3\x74\x57\xc7\xe8\x17\x67\xf9\x81\xc0\xd7\xa2\xd4\xbb\x8d\xdd\x48\xf0\xd2\xc1\x7d\x36\x2d\xec\x3e\x10\x34\xf7\x1d\x0a\xbb\x7a\x81\x3d\x54\x57\xc3\x2a\x97\x14\x70\xc6\x8c\x45\x76\x83\x24\x9d\x33\xff\xd1\x1d\x59\x1d\x15\xf0\x11\xaa\xfb\xda\xc8\x2a\x10\x3a\x58\xb2\xfc\x7f\xcc\x66\x99\x1c\x63\x57\x0c\xcf\x96\x32\xb5\x1e\x54\x7d\x7e\xc0\x03\x68\x52\x90\xd1\x8c\x26\x09\xc8\x01\xc7\x68\x08\x55\xc7\x21\x45\x57\x5f\x85\x2e\xc0\x82\xce\x19\x5f\x97\x3d\xd8\x42\x4c\x51\x40\x4c\x77\xed\xc4\x24\x81\x9a\x0a\x84\x86\xfd\x50\xd4\x1e\xd0\x7a\x34\x6f\xc1\x75\xac\xf3\xee\x18\x3d\x1b\x28\xef\x6f\x11\x1d\x5d\x1b\x6e\xf0\xe1\xbf\x9a\x87\xfe\x29\xc7\x02\x33\x05\x31\xbf\x56\x74\x17\x24\x48\x3d\x22\x5f\x20\x3e\x83\x19\x43\x30\xfc\x14\x6e\xae\x73\xf9\x43\xb8\x17\xa2\xf1\x00\xd1\x63\x72\x0c\x15\x15\x85\x96\x25\xa6\xc5\x9b\x0b\x2d\x39\x8c\x59\x2d\x96\xf1\x18\x0d\x13\xc9\xed\x17\x84\x45\x09\x54\xf9\x0f\xc2\x93\x3d\xe5\x5b\xb7\xd2\x74\x09\x0a\x0a\x6c\x65\xd1\x3c\xb7\x0f\x82\x0f\xa1\x30\x20\xf8\xc4\x13\x38\xe9\xc5\xef\xbf\xe5\x99\xf1\x56\xb4\xc5\x49\xbc\x60\xa1\x8e\xda\x35\xf4\x62\x9b\x64\xca\x7b\xae\xda\x20\x78\x03\x36\xa6\x88\x31\x0d\xb0\x75\xd0\xb7\x58\xa1\x84\x60\xa9\xd0\xef\xbe\xdb\x28\x36\xc4\x4d\xb0\xe0\xae\xf6\xf8\x16\x89\x62\x2e\xd5\x20\x14\xee\x7c\xc7\x50\xef\x11\x0b\x85\x30\x62\xe4\x39\x8c\x2c\xe5\x10\x0c\xec\x8a\x38\x92\x20\x6b\xd9\xc4\x93\x19\xcc\x05\xc8\xd6\x30\x2a\x53\x0b\x1f\x71\x40\xd6\xd6\x7d\x6a\x87\xd5\x40\x59\x56\x79\xb2\x21\x9e\x00\xb6\x56\x04\xfd\x2f\xb0\x1a\x33\xcb\x59\x5d\xd8\x48\x90\xe6\x35\x4c\x92\x72\xa0\x3d\x86\x5c\x12\xa6\x27\xac\x47\x1f\x1f\xfb\x05\xba\x02\xf5\xcb\x47\x3b\x97\xec\x74\xc5\x61\x31\xf1\x78\x1e\xc9\x2a\x6c\xbb\x51\xda\x69\xb2\x2f\xbf\xa2\x10\xdc\xd0\xfd\x25\x9f\xd3\x08\x27\x1d\x84\x61\xd2\x34\xe4\x35\x07\xab\x6e\xd3\x5f\x21\x1b\xef\xbb\x83\xee\xa2\x72\xb3\x7d\x1c\xae\xd9\x67\xde\x60\x6e\x6f\xd9\xdc\x40\xb6\xd8\x45\x01\xf7\x61\xf7\xaf\xe5\xf1\x2d\x0d\xfd\x22\x86\xa4\xbf\xf5\x5c\xb0\x48\xa2\x73\xac\xc3\xc4\x5e\xc7\x41\x4e\x4f\x90\x42\x00\xc1\x7f\x8e\xf1\xd9\x37\x5b\x3c\xaf\xd9\xfb\x9e\xfe\xa0\x98\xbf\x9b\x8a\x0f\x82\xab\x4f\xbc\x5d\xd8\x1b\xc6\x7f\xc3\x11\x44\xfa\x43\x4f\x2e\xc7\xa0\x0e\xb5\xe5\x00\xca\x31\x18\xf3\x1b\xc5\xc3\x4c\xf0\x88\x48\x79\x8c\x46\x70\xd1\xd8\x7f\x22\x3c\x73\x0e\x89\xe0\xe5\x31\xd3\x9a\x89\x43\xe6\x09\xda\x2f\x93\x78\xd3\x09\x30\x30\x7f\x3b\xf9\x72\xd2\xf5\xd5\x67\xda\xb4\x09\x87\x32\x08\x6d\x40\xc1\x0a\x34\x9a\x9f\xa2\x98\x47\x8f\x44\x9c\x08\x12\x53\x79\x0a\xbe\x75\xd5\xea\xd4\x4b\xb5\xb6\xbd\xb3\xa4\xd1\x16\x28\xb0\x26\x29\xee\xcc\xf4\x6f\x03\xac\x5d\x78\xed\x00\xd1\x19\xa8\x13\x2e\x27\xc3\x04\x21\x3b\x20\x23\xc2\x94\x58\x42\x5c\xbf\x37\x65\x55\x16\xc2\x69\x1a\x5a\x68\x6b\xcb\x26\x12\xfb\x88\xc1\xd9\x72\xda\xf7\x0b\x22\x89\x0b\x38\x30\x93\x52\xdc\xc6\x32\x1b\x76\x91\x61\xb5\x90\x90\xba\x5a\x5e\x03\xab\x74\xc1\xa7\x7a\x85\x70\x06\xf1\x0a\xc6\x4a\x51\x7c\xe4\x13\x2c\xa5\xa2\x49\x32\x66\x8c\x90\x58\x22\xc8\x32\xfd\xa6\x31\x43\x5e\x7f\x3a\x40\x38\x8e\xd1\xff\xfa\xf6\xe3\xe5\x5f\xee\x47\x93\x8b\x2b\x30\x5a\x5f\x5c\x8e\xbe\x1b\xf8\x1f\xaf\x1f\xee\xfd\xaf\xc6\xc2\xf2\x44\x04\x4a\xf1\x23\xa8\x78\x4c\x12\x9b\x3c\x41\xc6\x2c\x1c\xa9\xc3\x0e\xd0\x4f\x24\x71\x91\xae\x56\x4c\xf1\xe0\x98\x76\x0f\x5b\xab\x8c\x1b\x9b\xdf\x06\xca\xef\xad\xff\x64\x35\x0d\x3a\xe2\xf1\x5d\x38\x31\x10\x72\x64\xb0\x0c\x92\xc9\xad\xee\x5b\x10\x1c\x61\x73\xca\xda\xe2\xf1\x08\x7b\x7a\x49\x21\xfe\x27\xb2\xfc\x59\xab\xd7\x37\x98\x8a\xce\xb4\xd7\x8c\xf3\xe4\x4e\x8c\xd6\xd3\xb1\xac\x1e\x2a\x69\x64\x61\x93\x6d\xd3\x1a\xf3\xd9\x04\xf1\xf7\xe6\xd3\xb5\xc0\x61\xe4\x8b\x12\x0e\xa5\xc2\xe7\x73\x38\x90\x2e\x7f\xd1\x14\x34\x38\x66\xf7\xd7\xe7\xd7\xa7\x88\x24\x78\xca\x21\x94\xdf\x86\x04\xb9\x26\xec\x82\x45\x3c\x0d\x1a\x2a\x41\x93\x0c\x50\x56\x40\x93\x84\x46\xb4\x63\xd3\xc6\x1a\x88\x92\x8c\x8b\x3a\x1a\xcb\x7e\x55\x40\x3b\xd9\x1b\x2e\xba\x5c\xff\xfa\x35\x58\x3a\x9e\x69\x45\xae\xc2\x79\xed\xdd\x3c\x23\x18\xb2\x57\xad\x5b\xc8\xda\xf2\x6d\x00\x6b\x92\x94\x2a\x65\xea\x83\x23\x8f\xad\x0b\xbe\x78\x93\x33\xf4\xd3\x9f\x24\x9a\xe6\x6a\xcc\xca\x6d\x70\x86\x86\xbf\xdc\xa1\x1f\xb0\x8a\x16\xdf\x8d\xd9\xb5\x56\x33\x7f\xfa\x53\x0b\x48\xd6\xc6\xb8\x93\x7a\x4d\xce\xb1\xc2\x97\x1c\xc7\x94\xcd\x9b\x40\x27\x8b\xca\x40\xa3\xfb\xe1\x29\xba\xb6\x3a\x7c\x91\x09\xe2\x53\x82\x83\x86\x80\x21\xc3\x44\x1c\x17\x01\x56\xce\xca\xc0\x7c\x46\x33\x83\x0b\x6b\xcc\xee\x0d\xda\xa6\xe6\xaa\x54\xa1\x8c\xdb\xea\x54\x5a\x2b\x33\x38\xa4\xd8\x65\x48\x91\x64\x89\xf4\xea\x00\x19\xfb\xcd\xb0\xf2\x18\xc8\x33\x75\x66\x3f\x66\xa0\xa0\xfb\xdc\x94\x84\x47\x38\x81\x98\xbc\xa3\xc0\xa6\xa7\xd5\x76\x9e\x43\x7e\x38\x04\xc3\xb0\x65\x39\x74\xd6\x43\x16\x78\xa1\x2c\xdc\x28\x30\x00\xc0\x3e\x5a\x6f\x6c\xca\x35\xc7\x31\x28\x7b\x60\x7c\x4b\xcc\xea\xe8\x0f\x3d\xea\x9e\x59\x16\x0f\x3d\x03\x79\x71\x39\x73\x58\x24\x11\x98\xef\xd9\x12\xc2\xb7\xa1\x9c\x0c\x87\xd0\x8f\x82\x3b\x5b\xa2\xac\xed\xa2\xbf\x13\x83\xcf\xc6\xcc\x44\x0a\x96\xf6\x25\xc4\x65\x0a\x7a\xe7\x0c\x02\x19\xeb\xb9\x62\x79\x66\x03\x1b\xad\xac\x9f\x09\x72\xe4\x33\xa0\xe2\xd2\x9a\xea\x1b\xf6\x18\xdd\x86\xea\x75\xcc\xa3\x3c\x75\x98\xd9\x90\x3d\x65\x23\xe0\xec\x25\xea\x29\xc4\x5c\xec\xeb\x28\x1e\x50\x5a\x14\x81\xf4\xf1\xce\xfa\xb1\x21\x98\x61\xf8\x69\x5d\x52\x6f\x17\x7c\x81\x77\xec\x16\xb5\x66\x1a\x9a\x64\xe5\x96\x4a\xad\xed\x9c\x97\x78\x55\xe0\xfa\x72\x01\xc2\x16\xf9\x92\x71\x30\x72\x9b\xf4\x2c\x1e\x7f\x23\xd1\xc5\x8d\x96\x80\xb4\xc6\xeb\xcf\x60\x2e\x95\x09\x2e\x83\x74\x1d\xf3\xb5\x49\x17\x18\xa0\xef\xd1\x38\xff\xfe\xfb\x3f\x44\xe8\x8b\xfb\xe3\x8f\xff\xf9\x9f\x7f\xf8\xe3\x26\xe9\x24\x4e\x21\x87\x76\x8b\x35\xf2\x85\xc2\xca\x22\x51\xb8\x03\x75\x4e\xb5\xc3\x2e\xd8\x03\xd8\xb6\xfc\xdb\xe0\x77\x06\xb1\x43\x78\x6e\x4f\xb8\x0c\x4f\x26\x2a\x1d\xcd\x22\x92\x40\x12\x35\x28\x73\x08\x2f\xec\x5a\x89\xfe\xff\x59\x85\xe9\xa5\x8f\xca\x76\x31\x4e\x34\xf1\xe2\xb5\x6e\x04\x7d\x6b\xed\x7f\x0a\x1c\x88\xdf\xb9\x0b\x8e\x27\x31\x11\x66\x4c\xde\x64\xe7\x0d\x89\xc0\x1c\xc8\x97\x2c\xe1\xb1\x03\xbe\x2d\x72\x01\x29\x08\x08\xa3\x2f\x58\x73\xee\x81\x85\xd1\x32\x1f\x19\xcf\xcb\x0c\x47\x06\xef\x55\xa2\x6f\xbf\x9c\xea\xdf\x06\x68\x79\x0a\x41\xa4\x03\xf4\x8f\x53\x8b\x96\x83\x85\x9a\xe8\x9f\xbe\x73\xb2\xb6\x6d\x02\x06\x4d\x25\xfa\xe6\xe4\x09\x0b\x53\x0d\xfc\xc4\x8c\xe8\x1b\xcb\x59\x7d\xc5\xc3\x50\x36\x4f\x38\x7f\xb4\x01\xb6\xb5\x0f\x4f\x1c\xa4\x1e\x90\xb7\xf7\x9b\x98\xad\xf7\x89\xf9\x0a\x1d\xc1\x0b\x04\x1d\x67\x53\x74\xfc\x37\xc9\x19\x3a\x5e\xe2\x34\xb1\xbf\xba\xa7\x36\xfe\x17\x4b\x9b\x13\x17\xfb\x20\x9f\x64\x69\x2c\xa5\x3f\x24\x7c\x0a\xb3\xfa\xec\x66\x6a\x22\x68\x61\xa0\xc5\xed\x53\x5c\x58\x76\x22\x2e\x11\x15\xf0\x83\x52\xae\xcc\x2b\xc0\xe3\x9a\x66\xf5\xc5\x0f\xe9\xbf\x8d\x5f\x18\x16\xc5\x25\xf1\x19\xe3\xb0\x8f\x5e\xd3\x8d\x7e\x41\xdf\x5a\x16\xf4\x9d\xbe\x63\x6c\xb8\xb2\x59\x86\xa6\x0e\x96\xbe\x83\xbf\x04\x1d\x50\x86\x4c\x5a\xe6\x8a\x2f\xff\x71\x72\x7c\x7c\xec\xbf\x86\xac\xf5\xff\x3f\xa2\x4a\x92\x64\x66\x5a\x72\x37\xd8\x72\xcc\x3e\xbb\x92\x1a\xce\x78\x5d\x80\x75\x66\x82\x2b\x1e\xf1\x04\x1d\x15\x06\xdd\x98\x47\x12\xfd\xbb\x16\x6b\x83\xa5\x84\x1f\xb5\x1e\xb7\x12\x68\xee\x95\x0e\x95\x35\x88\x57\x8f\x55\x88\xe2\xe6\x15\x5b\x2c\xc3\xfa\x2c\x40\x0b\x9a\x72\x4e\x2c\xd2\x9b\x10\xfa\x65\xf2\x45\xc1\xa3\x16\xd8\xc3\xc6\x50\xf6\xe6\x9b\xb2\xc6\x6e\x0b\xf4\x43\x43\xd6\x2d\x0b\x60\xf1\xae\x2c\x67\x30\xf3\x1c\x84\xee\x13\x7d\xb9\xb0\xb0\xc8\x83\xcc\xd3\x14\x8b\xe5\x49\x71\xda\xea\xc4\x59\x20\xad\x01\x8f\x49\xdc\x02\x80\x0b\x37\xb1\x47\xcb\x46\x31\x58\xf1\xd2\xdd\x68\xfe\xec\x46\x50\xa5\x32\x40\x2c\x20\x2c\xe2\xb1\xa5\xeb\x22\xfb\xb4\x2c\xb1\xf8\x77\xea\xb2\x8a\x8b\x88\x91\x85\x31\x8e\x29\x03\xe1\x61\xdf\x70\x1f\xb7\xb0\x6f\x3e\x81\x7a\xc7\x64\xbe\x81\x7b\xf4\xe2\xfa\xce\x7d\xd3\xfd\xd2\x85\x75\x28\x8b\xec\x38\x09\xf1\xf1\xd8\x1c\x09\xfc\x5c\x5c\xbf\x10\xdb\x61\xac\x33\xb9\xcf\xcd\x35\xff\x3e\xe3\x37\x34\xd1\xb7\x16\xd0\xf8\xf1\x98\x95\x7e\x1e\x20\x92\xd0\x94\x32\x1f\x5b\x67\x98\x3b\x9f\x19\xe9\xf9\x91\x2a\xbd\x65\x32\x7e\xd4\x1c\xcc\xe1\x3a\x05\x2a\xd5\x90\x2d\x1d\xe9\x78\xc7\x94\xb5\x40\xe4\x52\x8f\xab\xd0\xd1\xb5\x30\xab\x9b\x38\xb2\x02\x29\x0d\x08\x0f\xce\xef\x98\xe9\xd6\xdc\x59\x2a\xc2\x85\x83\xf6\x82\xe6\x8e\x5c\xa9\x83\x80\x03\x40\x1f\xa5\x98\x5f\x2f\xff\x36\x08\x28\x23\x96\xa7\xbb\x26\x9b\xd8\xf0\xe1\xb7\x32\xd3\xdd\x08\xe2\x6e\x2a\x9b\xb8\x44\x58\x9e\xba\x03\xb5\x01\xc5\x8d\xac\xf8\x13\x93\x28\xc1\x06\xa9\x46\x37\x04\x91\x8f\x03\xe3\x20\xcd\x82\xbe\xcc\xf5\x62\xba\x31\xd5\x93\x12\xc2\xbe\x35\xff\xfe\x0e\xd9\xbb\xe1\xfb\x81\xbd\xcf\x85\xf4\x08\x20\x66\xcf\xa1\xfa\x26\x89\x8d\x0d\x1d\xf0\xa6\xe7\x58\xc4\xc6\x5a\x1e\x6a\x15\x26\x83\x57\xcb\x5f\x4b\x9e\xa3\x67\x2a\x17\x63\x76\xcf\x9d\xc1\x11\x31\xee\x11\xbb\x07\xa0\x8c\xd6\xfa\xc3\x12\x98\x00\x8c\xba\x89\x02\x34\x13\xde\x29\xd7\x08\xa2\x60\x27\x8c\xc7\x64\x37\x00\xa3\xfb\xc2\x57\xe1\xfc\xd7\x82\x98\x7c\x30\xb8\x29\xda\xd2\x69\x89\x94\x1b\xda\xe6\xab\x1b\x0f\xf7\x90\x6d\x07\x8a\x3d\x3f\x6f\x84\x9b\x1e\x62\x83\xf9\x5b\x0d\x5a\x71\x1a\x67\x90\x0d\x5c\x5a\x7b\x8f\x83\xbd\xeb\x26\x44\x0d\x68\x45\x9d\xee\x7e\x33\xf7\x08\x96\xdd\x07\x18\x63\x34\x17\x3c\xcf\x7c\xca\xbc\x4b\xf7\x33\xdb\x60\x65\x9a\x0b\x36\xe3\xa7\x56\xa7\xba\xa4\xec\xd1\x50\xfc\x4b\xed\x91\x81\x3a\x27\x71\x09\xc6\xcd\xd5\xdf\x85\x39\x1c\x21\xca\xa2\x24\x87\x8b\x4f\x2a\x1c\x3d\x1a\xb8\xf6\x36\xa3\xaf\xfe\x66\xb2\x3e\x99\xb2\x45\x62\xca\x93\xc4\x76\x5b\x5c\xa0\x45\x81\xf2\x27\x8a\x11\x46\x0f\xb7\x17\xcd\x7d\x3f\xd2\xba\x33\xa7\xf9\xf6\x2c\x13\x08\xfc\xcf\x4f\x74\xa3\xb8\xcb\x0a\x2c\x1e\x29\x91\xba\x37\x2e\xb5\x81\xae\x1a\x22\x55\x5a\x81\xf8\x7f\xd9\x7b\xb7\xe7\x46\x8e\xe4\x7c\xf4\x7d\xff\x8a\x8a\xf8\x3d\x8c\xe6\x1c\x10\xd4\x68\x8f\x1d\xf2\x44\xf8\x01\xe2\x70\x24\xee\xce\x90\x5c\x5e\xa4\xf5\x31\x1c\x98\x42\x77\x01\x28\xb3\x51\xd5\xd3\x17\x52\xb0\xd7\xff\xfb\x2f\x2a\x33\xeb\xd2\x57\x74\x03\xe4\x8c\x76\xad\x07\x7b\x35\x04\x50\xf7\x4b\x56\xe6\x97\xdf\x17\xdf\xb4\xb8\xf6\x47\xaf\xd3\x75\x5a\x2e\xcc\x40\x25\x63\x00\x02\xa6\x15\x3f\x5e\xdf\xcf\x82\xdf\xf5\x2d\x95\x1f\xaf\xef\x59\x50\x07\x12\x1e\x26\x22\x2a\x1c\xd2\x78\xca\xce\x3c\x0f\x71\xdd\x32\x8f\xc5\xa3\x8c\x30\xc5\x75\x62\xac\xa2\xb9\x02\x7a\x4f\xf3\xd6\x39\xb1\x9c\x50\xec\xc7\xeb\x7b\x62\x92\x72\x74\x53\x44\xa9\x0c\x14\x16\xe3\xae\x9d\x1a\xb1\xa6\xd2\xea\x04\x2c\x36\x9e\xc5\x3e\xda\x31\x81\xc7\x75\xc4\xd3\xa2\x24\x03\xe3\xf1\xcd\xd4\xce\xc9\x8d\x8f\x84\x98\x66\xe9\xb9\x32\xb6\x12\x66\x19\x80\xae\x8b\xe9\x74\x73\x6a\x6b\x83\x7a\x0c\x38\x00\x06\xed\xa8\xc3\x5f\xba\x0c\x3f\xae\x76\x8c\x67\x4b\x59\x64\xe6\x19\x86\x3f\x86\xa9\xb0\x6f\x8f\xa5\x7d\x51\x79\xcb\x88\xa4\x78\x60\x82\xa5\x2a\xf2\xb9\x0a\x32\x58\x5c\x56\x30\x26\x2f\x48\xc5\x80\x0e\x0f\xb0\x37\x96\x9e\x2b\x4a\x74\x19\xdb\x6b\x35\x73\xd2\x3e\xbb\x14\x8d\xa8\xb9\x02\x66\x12\x73\xb7\x82\xa4\xbd\xbf\xfb\xdf\xb2\x4f\xea\x51\xc6\x92\x9f\x14\x22\x4f\xf8\x49\xf1\xff\x7d\x9a\xd4\xfe\xc4\xdf\x7c\xfb\xed\x27\x54\x29\xea\xa2\x5d\x70\xcb\xe8\x68\x07\x4f\x7b\x9c\xc2\x16\xbf\x30\xab\xf4\x88\x79\xfa\x20\x1f\x04\xfb\x84\xd3\xfd\x89\x08\xfc\x0e\x9b\xb6\xb9\x6a\x9b\x37\x76\xc8\xb4\x01\x9d\x6a\xfb\xbc\xb1\x9e\x69\x7b\xb3\x9e\xfe\xd3\x7a\x69\x66\xeb\xbb\xf5\xf4\xcd\xb7\xf0\x9f\xb5\x39\xda\xb7\x79\x5d\xf6\x4c\x5b\xb3\x5b\x0e\xa2\x96\x6d\xe9\xce\xa2\xb9\xda\x7f\x18\xb1\x71\x67\x11\xac\xda\xb6\x8d\xcf\x0b\x71\x6c\x76\x2b\xf2\x3a\x8e\x40\x5f\x37\x08\x33\x7b\x23\x82\x47\xb2\x4d\x7a\xa6\x48\x80\x7b\x76\xd3\x5e\x86\x00\x5c\xf8\x70\x04\x1f\x0f\x7c\x7f\x58\x7f\x6a\xdf\xdd\xd3\x9d\xfe\x66\x26\x42\x8c\x60\x90\xb9\x35\x5f\x1f\xd8\xc8\xca\x57\xfb\xda\xf8\xc4\x51\x2b\xa9\x49\xe4\x1e\xd3\x6b\x7d\xcc\x2e\xb2\xcb\x11\x5d\x26\xb9\xcb\xfb\x73\x2d\xb1\xd0\x4a\xf7\xbe\xb6\xf5\xae\x69\x2f\x85\x52\x4c\x2e\xea\xd6\xb2\xf0\x03\x57\xc4\x91\x50\x38\xf3\xa4\x5e\x6c\x07\x93\x84\xfa\x8a\xdf\xd1\x8f\x3f\x36\x28\x43\x9d\x79\xf9\x11\x32\xb3\x1d\x19\xd6\x96\x2b\x63\xad\xd9\x5a\x3b\x02\x4b\xf8\xca\x3f\xa8\x49\xf7\xe9\x41\x0d\xc2\x1a\x07\xaa\x14\x53\x55\xb6\x94\x27\x8c\xad\xf2\x04\x63\x07\xc5\x06\xdc\xca\x5e\xdd\xcf\x1e\x73\xde\xbd\x8c\x4a\x80\x09\xcf\xd6\xe8\xf4\xca\x45\x91\xbf\x6e\x99\x61\x9f\xc7\x76\xc4\x0c\x1f\xa0\xa0\x1e\x62\x59\xc0\xa5\xd2\xb7\xd3\x5c\x2b\xab\x84\xd1\xee\xa5\x65\xeb\x0f\xd9\x50\x7d\x72\x5d\xa4\x33\x54\x57\x88\xcd\x5e\xe9\xe6\xc1\x1a\x2b\xe2\x5f\x8f\xc7\xf1\xad\x63\x79\xb1\x7a\xfe\x94\xb3\x8b\x8d\x5b\x0a\xe0\x3a\xef\x6e\xc3\x78\xc5\xfe\x9e\x26\x90\x84\x75\x57\x0b\xe6\x6a\x66\xbf\xe2\x19\x1b\x73\x89\x5e\x16\x4c\x47\x2c\x97\x98\xe1\x02\x3e\x33\xee\x47\x9d\x3a\xd7\xd1\x89\xb1\x09\xf9\xb5\x2e\xdc\xe7\x22\xf3\xb7\x11\xe9\xfb\x39\x5e\xe6\x5e\x6d\xc5\x47\x91\xb5\xc1\x8e\x47\x54\x7e\x6b\xbb\x48\x45\xd9\xb1\x6c\xab\x78\xf8\x43\x85\x0a\x82\x84\x23\x42\xd5\x62\x5e\x40\xb2\xf3\xcb\xd4\x13\x7f\xd6\x2a\x6b\xee\xd6\xe2\xa8\xd3\x58\xf2\xed\x22\xd3\xdd\xe2\x93\x03\x86\xc9\x16\x51\xf1\xd9\x6f\x50\x8c\x6a\xc7\x3e\x97\x3c\xc1\xcb\x4d\xd1\x72\xb4\xcd\x06\xf7\xc7\x77\xff\xcc\x66\x70\xfb\xb0\x8f\x70\x2e\x02\x68\x0b\x4a\x2b\x34\x93\xdb\x54\x64\xb9\x56\xbc\x53\x85\xf5\xe1\xfb\x7c\x41\x4a\x72\xe6\x69\xac\xcb\xa6\x6a\xdc\x88\x9e\xb4\x94\x16\x76\x8a\xb3\x87\x72\x29\x32\x25\x50\x69\x16\xbe\xc7\xec\xf7\x06\x35\x57\xf3\xb2\xd8\x7c\xb7\x88\x12\x39\x58\xde\x0e\x32\x46\x67\xe6\x67\x67\xf8\xab\xbe\x0e\x54\xca\xaf\x34\x5d\x31\xfc\x8c\xe1\x67\x53\xf6\x03\x8f\x1e\x84\x8a\x59\x9a\x94\x6b\x49\x04\x31\x68\xee\xcb\xea\xc3\xbe\xda\x31\xb4\x2d\xb0\x7c\x73\x0d\xcd\xd5\x96\x3f\x20\x31\x39\x19\x91\xe6\xe5\xd0\x45\x2f\xe8\x5c\x25\x0b\xd9\x5c\xbb\x7b\x67\xcb\xdd\x87\xcd\x62\xea\x6b\x2f\x2f\x31\x5f\xee\x69\xa3\x09\x65\x54\xf1\xd4\x8c\xd8\xb8\x6e\xb5\x36\x78\xbc\x2c\xd7\x8a\xd3\x1c\xa6\xc6\xe0\xee\x85\x10\x1e\x90\xeb\x97\x8a\x71\xa0\x02\x7b\x95\xb3\x32\xb5\xf6\x19\xc4\x96\x12\x40\xfa\xe0\x14\x98\x0f\x52\x19\x3d\x20\xb6\x14\xb2\x27\x98\xeb\x5e\x43\x9a\x92\x09\x0f\x72\x6c\x3b\x1a\x56\x48\x84\x73\x1c\x6e\xa5\xc1\xcd\xbf\x67\x9d\x0e\xcc\x0c\x29\x36\x42\x2d\x0e\xa0\x88\x1f\x3e\x69\x95\x2c\x10\x32\x83\x5d\x8c\xce\x0d\x61\xa9\x24\xc9\x3d\xfa\x37\xb6\xe3\x3f\x96\xab\x9a\x19\x2d\x73\x96\xf3\x42\xe6\xe6\x2c\x6b\x1d\x71\x4f\x3f\x74\xcc\xa8\xf3\x71\x9c\x47\x2d\x7c\x47\xb5\xb1\x70\x99\x66\x53\xf6\x1e\x22\x1b\xc1\xcb\x40\x3b\xf6\xa0\xae\x03\xab\xd8\x88\x4e\x1a\xdd\xe7\x80\x68\xda\x1e\x04\xdf\xef\x0d\x58\xb9\xac\xc2\x29\x9b\xf9\x88\x32\xf2\x27\x61\xac\x78\x4f\x8f\x44\x92\x8b\x43\x16\xdf\xa0\xe0\x0b\xa0\xae\x60\x01\x31\xb0\xa4\x72\xf3\x77\xaf\x0a\xe2\x9a\xf9\x04\x89\xfb\xfc\x41\xa8\x3e\x0f\xfb\xf0\x16\x62\x08\xa4\xd7\x25\xe0\x62\x2b\x1a\xc3\x2b\x87\x34\x70\xf8\xb6\xf3\x94\x55\x72\x75\x6a\x86\xdc\x3c\x43\xa2\x07\x4a\x17\xc4\x08\x1b\x91\x5e\x3d\x6d\x74\x1e\xee\x33\x3b\x7f\xf8\x92\xcd\x4a\xa7\xfc\x00\xe9\x96\x6e\x80\x11\x67\xa9\x74\xc8\x89\x05\xad\x76\x9b\x14\xdd\x3a\x6e\xbe\x99\x3d\x42\x61\x18\x00\x99\x60\x8b\x6a\xd9\xcd\x4e\x09\xf1\x18\xdb\xea\x65\xe4\x35\x1d\x0b\x27\x82\xa2\x2a\x4a\xc6\xa8\xde\x32\x3e\x7c\xeb\x35\x1d\x6b\x42\x74\x14\x9b\x77\x1e\x37\x33\x8a\x3e\x59\x09\xee\x34\x0e\x97\x91\x48\x74\x5a\x07\x71\xf0\xee\x96\x82\x03\xb3\xde\xd4\x70\x06\xfe\xfc\x7d\x7e\x05\xe3\xfc\x1c\xfc\x37\xed\x32\xf6\xc7\xe7\x9e\x1d\x18\x75\x77\xa8\x6a\xaf\x81\xcf\x63\xc7\xd8\x94\xea\x98\xf9\xa5\x31\x5e\xf0\xfe\xeb\x77\xab\x26\x94\x3f\xa8\x6f\xfb\x56\xe8\xc7\x00\x9a\xc7\x96\xa5\x4c\x62\x24\x30\x0c\x4c\x72\x6d\x6d\x3e\x50\x15\x80\xd5\x2a\x73\x77\xa3\xb7\xaf\xb1\x6b\x1d\x1f\xb3\xb0\xc6\x93\xd4\x36\xd7\xf5\x80\xcc\x9d\x3c\x84\x4f\x6d\xf7\x8f\x44\xaa\xbb\x73\x2e\xe2\x45\x5e\x95\xd1\xeb\x69\x30\x80\xec\x96\xe5\xea\x16\x34\xbb\xba\x78\xa0\x02\x39\x1b\x9b\xd8\x6d\xe6\xd9\x54\xe3\xd2\x0c\xbb\x26\x85\x30\x5b\xde\x00\xe3\xec\x4f\xb7\x57\x97\x27\x5b\x9e\xe5\x1b\x0e\x3c\x1b\xb6\xac\x89\x95\x41\x45\x07\x85\xc5\x92\x48\x35\x57\x27\x6c\xad\x27\x88\x5c\x7a\xcb\x36\x45\x91\xe6\x6f\x4f\x4f\xd7\xb2\xd8\x94\xcb\x69\xa4\xb7\xa7\x7e\x68\x4e\x79\x2a\x4f\x97\x89\x5e\x9e\x66\x02\x72\x57\x4e\xde\x4c\xbf\x7b\x03\x33\x73\xfa\xf8\xe6\x14\xf0\x2a\xd3\xb5\xfe\x3f\x1f\xbe\xfb\x97\x3f\xfe\xb3\x29\x38\xdd\x15\x1b\xad\xde\x12\x2c\xaa\xb7\xec\x13\x7c\x17\x9d\xe2\x4f\x6a\xb5\xfc\xcb\xf4\xdb\xb0\x19\xf4\xd5\xad\x8e\x45\x92\x9f\x3e\xbe\x59\xd8\x89\x99\xa6\xbb\xdf\xb3\x3d\xbe\x5a\xb6\xc7\x83\x2c\x7e\xcf\xf6\xf8\xaa\xd9\x1e\xc3\x6d\x4c\x77\xc6\x00\x7d\xb6\x3f\x1f\xcd\xdf\xdd\x19\x69\x83\x1f\xfb\xce\xa1\x96\xcb\x21\xcc\xc5\x3b\xe2\x8a\x78\x10\xa3\x9c\x1c\xb5\xee\xba\xc7\x5b\x87\x93\x73\xac\x84\x4d\xe7\x73\x6a\x14\xf5\x08\x60\x2b\x65\x04\xf2\x08\xe8\x94\x4d\xb9\x6c\xcb\xe1\x20\x93\xf6\x98\xf1\x7b\x49\xa1\x8f\xe7\x56\xf8\xa0\xee\x1e\xa8\xee\x91\xe0\xaf\x2d\xe2\x59\x3f\x59\x55\x8f\xe7\xd0\xc2\x18\xfb\xb8\xc0\xc5\x03\x6d\xb1\xed\xea\x68\xc6\x86\xe7\x87\x41\xe7\x67\x48\xa4\xeb\x5e\x1c\x88\x3b\x96\xb9\xad\xd0\x5e\x1c\x96\x9b\xc8\xdc\x43\x96\x02\x31\x2d\xb3\x54\xe7\x22\x9f\xb2\xf7\x35\xfd\x60\x9f\x0e\x70\xf3\xfe\x8c\xbd\xf9\xfe\x5f\xfe\x38\x57\xdf\xb4\xdc\xdb\x70\xde\xeb\x6c\x4d\xd9\x09\x70\x5b\x6f\x79\x5e\x88\xec\x34\x5b\x45\xa7\x78\xca\x9d\x9a\xdf\x9f\x50\xa5\x27\x7a\x75\xe2\x88\xfe\x4f\x88\xf3\x7c\xba\x8d\xc7\xd1\xf6\x54\x96\x1e\xde\x35\x74\xd1\xe4\x70\x29\x21\xc1\x9f\x5e\x39\x49\x17\xcc\x1e\x45\xf5\x27\xbd\x6a\xf9\x8f\x1f\x12\xbd\xcc\x5f\x3b\x5a\x51\x9e\xdb\x3a\x3c\xcf\x5f\xf7\xd6\x7c\x1e\xcd\x0f\xbb\x44\x5e\xd2\x55\x64\xcf\x92\xf0\x39\x32\x66\xe0\xdb\x37\x9b\xbf\xee\x91\xe5\x88\x67\xba\x54\x56\x33\x41\x2b\xa1\x57\x00\x9e\x01\x4b\xd8\x62\xff\xc0\x5b\x0e\x88\x32\xc7\x68\x94\x89\x14\x2f\x18\x88\xeb\x74\x0f\xf7\x91\xba\x21\xfb\xc6\xf9\x25\x74\x43\x8e\x1d\x77\x3a\x50\xbe\xd2\x80\x1f\x0b\xd0\xc7\xad\x34\x06\xd7\x62\xbe\xbf\x37\x86\xed\xce\x01\xaf\xe9\xe7\x29\xfa\x53\x9e\x81\x91\x26\x4e\x0a\x7d\x02\x54\x70\x40\x30\x86\x4a\x3e\x5d\xc0\x16\x88\xfd\x8f\xb9\x26\xcd\xf7\x07\xb4\x13\x0d\xf3\x5f\x83\x86\x92\x4d\x92\x23\x31\x36\x01\x9d\xa5\x52\x22\xa3\xa8\xe6\xde\x1b\x75\x24\x32\x20\x9c\xca\x7e\x9c\xb3\x7f\x89\x86\x2a\x2b\x2e\xcb\x8d\x07\x87\xc0\x94\x81\xf5\xb9\xd1\x5b\x6d\xcc\x19\x5d\xe6\xc1\x87\xf8\x7a\x81\x4b\xb8\xd3\xf6\xda\xf2\x14\xa9\x5f\xbf\x5e\x6f\xcc\xd6\x32\x1f\xa1\x5b\x35\xfc\xd2\x28\xe1\xaa\x65\x55\xaa\x67\x4f\xfb\x9d\xc6\x4a\xff\xba\x01\xdc\x09\xaa\xbf\x82\x00\x3b\x29\x27\xc8\xff\x32\xef\x1a\xb3\xa4\xdc\x4b\xc1\xdd\xdc\x08\x93\x42\x86\xe3\x10\x14\x68\xad\xf9\x4e\x0e\x92\x72\x3b\x72\x0e\x5c\xea\xce\x90\x09\x00\x07\x67\xb9\x75\x59\x2c\x27\xad\x69\x2c\x5d\xfb\xd2\xca\x9d\xc7\x0b\xcb\xc2\x3d\xae\xa9\xb7\xae\x00\x22\xdc\x6e\xb6\xdb\x93\x18\x42\xce\x13\x8e\x31\x1e\x08\xd6\xb6\xe8\x82\xce\x8e\xdf\x8c\x20\x5b\x36\x66\xec\xa0\x12\x5c\x9c\x8d\x11\x0c\xf6\x42\xd7\x00\x8e\x73\xb1\xf5\x79\xac\xda\x50\xd3\xc8\xfb\xea\x73\x62\x4d\x2b\x1b\x8f\x47\xf7\xc3\x47\xb7\xbf\x10\x54\xba\x2c\xe1\xf3\xcb\xab\xbb\x10\x2f\x23\xb1\xb7\x27\xd1\x46\x44\x0f\xe0\x30\xc1\x2b\xcf\x49\x21\x13\xc7\xec\x5c\x79\x41\xcd\x42\x5b\xf0\xc7\xce\x69\x8c\x38\x9d\x1d\x9d\xb1\x58\xe6\x69\xc2\x77\x10\x66\x57\x98\xfd\xe6\x43\xf4\x2e\x6d\xd4\x1c\x05\xfb\xfc\xc5\xc3\x67\xda\xcc\xca\xcc\xff\x6e\xec\x58\x7a\x38\xb3\x1f\xcc\xe6\x79\xc0\x72\xb1\xe5\xaa\x90\xd1\x5c\x6d\x05\x57\x21\x2e\x92\x60\x06\x66\x90\x63\x2d\x88\x85\x7f\xb5\x12\x51\xe1\x69\x7c\xc1\x78\x77\x23\xb5\x6f\x0f\x8e\xeb\xbb\xdb\x79\xbd\x5d\xff\x09\x90\xd7\x88\x92\xc8\xf4\x23\x1d\xc3\xf6\x6a\x3c\x30\x7c\x06\x02\xac\x74\xe5\xda\xc7\x20\xfc\xcb\xae\x29\xb6\x14\xc5\x93\x00\x96\x1a\x4a\xab\x6f\xb3\xf1\x8f\x16\xe1\x39\x4e\x53\xdf\x06\x8a\x88\xb4\xbc\x29\xb1\x8f\x1b\x2c\x84\xf3\x39\x3a\x3d\x55\xe3\xc5\x7b\x45\x89\xfe\xe0\xed\x79\x45\x7e\xab\x57\x70\x4d\x9b\xd7\x63\xf6\x28\xe2\xb9\xaa\x92\x15\x92\xcd\xe8\x37\x1c\xf3\xf2\x92\xcf\x73\xda\xd8\x31\x1e\xe4\xcb\x3f\x07\x82\x26\x4f\xcd\xec\x52\xd9\x7b\xe4\x2e\xdb\x43\x88\x2f\xa0\xa4\x38\x38\xc8\xe3\x15\x28\x49\x3e\x8e\xd4\x66\x2b\x88\x16\xb7\x28\x1d\x15\x1b\xf2\xb4\x3a\x08\x32\xf9\x25\x1b\x9e\xce\xb6\x32\xe6\xca\x72\x94\xac\xca\x04\xb9\xb7\xbb\x32\x41\x88\x99\xd1\xe6\x53\x7e\xbd\xbc\x5a\xe7\x57\x63\x81\x62\xa7\x03\x9e\x04\x70\x70\x3c\xeb\xec\xaa\x17\x2a\x2f\xc1\xa4\xb0\x62\x7d\xe0\x78\x5e\x8b\x02\x6e\xf3\xb8\x4c\x90\x72\x03\x3c\xe6\xc0\xf2\xc8\x93\x84\xc9\x22\x9f\x2b\x47\x4a\x89\xe9\x1e\x70\xc2\x5a\x97\xba\xd5\x79\x57\x4e\x2d\x1e\x3e\xe6\x0a\xec\x30\x19\xc9\xa2\x01\xa2\xdf\x85\x02\x57\x69\x2a\x38\x66\x88\xe3\xb4\xcd\x55\xf8\xe6\xaa\x4f\x02\xa5\x53\xf3\x44\xf2\x1e\x1d\xfe\xe7\x58\xba\x33\x53\xc5\x41\xc8\x11\xec\x9d\x79\x70\x59\xed\x6a\x6c\x2d\xb1\xd2\x10\xd6\xd5\xbc\x6a\x8a\xdc\xfa\xc8\xfd\xbb\x15\x32\x45\xa2\x32\xe1\x19\xa6\xc8\xac\xca\x84\xc9\x55\x20\xc3\x0d\x73\x80\x94\x84\x66\xba\x22\x0d\x77\xb5\xf5\x92\xe7\x7c\x2b\x02\x36\x14\x72\xef\x24\x01\x8a\x05\x75\x16\x10\x1e\x61\xca\x7a\x3d\x65\xef\x3c\xe9\x2a\xce\x30\xec\x89\x80\xca\x58\xe6\x78\xfc\xb9\xf6\x06\x89\xfc\xd0\x3b\xd3\x44\xad\xcc\x8e\x74\xbb\xae\x63\x06\x41\x12\x65\x1c\x44\xc6\x0a\xe2\xf4\xe3\xb6\x5b\x89\x3c\xcc\x4f\x6b\xc0\x19\xb7\x21\x3a\x1a\x68\x6f\x85\x91\x8d\x0c\x69\xa0\x0f\x68\xa8\xa3\xd9\x6e\x69\xec\xb6\x47\xf5\x1b\xe6\x71\x64\x53\x03\x0d\xbd\xf1\x0d\x0d\x56\x4e\x08\x88\x1a\x32\xb2\x6b\x5e\x8c\x45\x47\xb9\x74\xa8\xf1\x0d\x6d\x45\xa2\x0d\x69\x26\x9c\x1e\x23\xdb\x39\x33\xbf\x39\xb0\xa1\x79\xb9\x3c\xc1\x03\xda\xa9\xec\xc0\x51\x21\x78\xb4\xa9\x32\x13\x58\xfe\x60\xd7\x03\xc8\x4c\x83\xfd\x38\x1e\x95\x33\xf3\x6b\x0e\x64\x04\x99\x69\xfe\x94\x5d\x29\x81\xd8\x45\xbd\x0a\x2e\x15\x6a\x00\xe9\x0d\x82\x84\x8b\x3b\xe5\x96\xa6\x61\xea\xc1\x12\x36\x99\x2d\x37\x61\xdc\x97\x0e\xa7\x1e\x2e\x1b\x3c\x45\x3a\x6c\xc9\x36\xc1\xa3\x23\xcc\xcb\x61\xb4\x07\xed\x6f\xfe\x00\x02\x3c\xfe\x04\x68\xeb\xc7\xf0\x69\xe9\xc5\xf2\xbb\x57\x9c\x05\xf0\x57\xd7\x0d\x43\x40\xef\xbe\xf1\xbd\xde\x54\x71\xa0\x23\xe4\x01\xef\x2f\xdf\x9d\xbf\xbf\xb8\xac\x6a\xfa\xfd\xe5\xfe\xfc\xbe\xfa\x97\x9b\xfb\xcb\xcb\x8b\xcb\x1f\xc3\x3f\xdd\xde\x9f\x9d\x9d\x9f\xbf\xab\x7e\xef\xfd\xec\xe2\x43\xed\x7b\xe6\x4f\xd5\x2f\xcd\x7e\xb8\xba\xa9\xa9\x08\x5a\x09\xc0\xe0\x4f\x77\x17\x1f\xcf\xdf\x2d\xae\xee\x2b\x42\x84\xef\xfe\xed\x72\xf6\xf1\xe2\x6c\xd1\xd2\x9e\x9b\xf3\xb3\xab\x9f\xcf\x6f\xf6\xe8\x08\xfa\xfe\xb6\x0e\xe9\x73\xc0\xc7\x0e\x56\x95\x9c\xb1\x55\x26\x85\x8a\x93\x1d\x66\x3f\xd8\x97\x6d\x0d\xce\x1c\xde\xbd\x72\x2b\x74\x79\x4c\x12\xc3\xdd\x46\x30\xfd\x28\x32\xe0\x96\xc2\xd2\x88\x88\xc2\xe7\xb1\xd7\x6b\xcd\x44\x91\x35\xa3\x02\xbd\xb9\x5a\x45\xb6\x73\xd9\x80\x7d\xcd\xf1\xbc\x84\x54\x09\x4b\x45\xd6\xd7\x16\xb0\x8c\xb2\x32\x2d\xe4\xb2\x3b\x2d\x65\x74\x3a\xf7\xd0\xb7\x37\xb2\xe8\xb6\x53\x8e\x5d\xb6\x1f\x8c\x95\xec\x8c\x63\xa0\xdf\x50\xc2\xa1\x62\xa9\xee\xd7\x16\x2e\x9b\x96\xcb\x44\x46\x4c\xc6\x75\x7f\x0a\xb1\x2c\x80\xcb\xb8\x4e\xb6\x9d\x8a\x0c\x4c\x55\xf3\x02\x48\x33\x71\xc2\xcb\x62\x83\xc4\x90\x94\x0c\x42\xd2\x28\x73\x95\x8b\x28\x13\x18\x0b\x10\x39\x38\x69\x51\x25\x33\xa8\x09\x1a\x43\xbc\x28\x31\x50\xb0\x4d\x03\xe1\x93\x8e\x18\x01\xfe\x12\x4b\x1f\xe1\x24\xc5\xef\xf7\x0e\x0d\xb5\x58\xa2\x0e\x67\x80\xfc\x81\x1b\x1e\x3f\xb4\x5a\x9b\xa6\xdf\xe6\xa4\x76\x5a\x93\x38\xc9\x36\x7b\xa6\xbd\x1b\xfb\xd6\x58\xb8\x50\xaa\xe9\x24\x54\x3a\x7d\x74\x96\x09\xb8\x44\x08\x0a\x60\xfd\x17\x00\x5d\xa1\x6c\x1b\x48\xb2\x31\x4f\xb5\xa5\xd8\xf0\x64\x85\x16\x87\x99\x9a\x76\xae\x0a\x2c\xff\x4e\x3f\x08\x75\x83\x13\xf6\x55\x8e\x43\x85\x2f\x1f\xcf\x94\xe3\x3c\x42\xde\x85\x69\xda\x68\x57\x95\xcd\x36\x04\x63\xaa\xc0\x77\x42\xf0\x31\x26\xd5\x78\x1e\x7c\x9b\xa8\xb8\x5a\xc9\x5f\x4d\x81\x73\x25\x5a\x99\xc0\x01\x2f\x64\x39\x0b\xdd\xb9\x0c\xd8\x28\x24\x7e\x7b\x10\x0a\x54\x3a\x51\xc4\x7f\xef\x9a\x1d\xe7\x3f\x6f\xce\x45\x8f\x43\x1f\x7c\x7e\xb2\x22\x5e\x1a\x46\x79\xec\x38\x15\x98\xe5\xe4\x98\x1d\x60\xdd\x9c\x7d\xb8\x38\xbf\xbc\x5b\x9c\xdd\x9c\xbf\x3b\xbf\xbc\xbb\x98\x7d\xb8\x1d\xba\xfd\x9e\x23\x33\xad\xb6\xfb\xea\x09\x5a\xee\x84\x38\xa5\x9d\xe7\x13\xa4\x5d\xa7\xfc\xb6\x83\x29\xd9\xdf\x7a\x19\xa7\x8b\x58\xe6\x91\xb9\xfe\x76\x0b\xa1\x62\x90\x50\x38\x68\xa9\xb6\x17\x55\xef\x85\xfb\x06\x73\xdf\xb0\x27\x08\xde\x76\x8f\x76\x45\xbb\xcf\x01\x75\x07\x6e\xc8\x4c\x98\xcd\x1f\x57\x98\x2b\xa6\xfb\x75\xb3\x4c\x71\xc7\xf5\xad\x5a\x44\xbd\x4f\xd8\x5e\x99\xe7\x25\x10\x64\xd8\xaf\x01\xe4\xb0\x63\x54\x88\xd7\x36\xd4\x71\x90\x81\x06\x39\x93\xf9\x5c\x6d\xb9\x8a\x79\xa1\xb3\x5d\x47\x17\x87\x1d\x9e\xe1\xb6\xa9\x1e\xa1\xe1\x95\xad\x84\x88\xed\x2c\xe0\x57\xb9\xaa\x2f\x25\x54\x7b\xb8\xbb\xfa\xf3\xf9\xe5\xed\xe2\xfc\xf2\xe7\xc5\xf5\xcd\xf9\xfb\x8b\xbf\x3a\x24\x64\xca\xf3\x36\xcd\xe1\x34\x13\xe6\x74\xb1\xe4\x59\xad\xe7\x0b\x0a\x01\xdb\x72\x48\xfc\x51\xae\xe6\xca\x9e\x2c\x99\x2f\x7e\x93\xe9\x72\xbd\x69\x2f\xa8\xde\xca\xeb\xd9\xdd\x4f\x07\x35\x13\xa8\x0d\x51\x2d\x14\x77\x5b\x13\x11\x2a\x57\x74\xee\x21\x8c\xb4\xd6\x3c\x20\xe8\x84\xaf\xb6\x45\x19\x3a\x4e\xb4\x83\x5e\x2f\xcd\x43\xab\xd7\xf8\x6f\xf9\x7a\xd7\x02\xba\x0b\xce\xcd\xca\x35\x02\x08\x65\x14\x9d\x6e\x94\xf6\xb6\xe5\x6f\x95\x1b\xec\xbb\x93\x44\xac\xd7\x22\xc6\xe5\x55\x2f\x98\x7c\x70\x74\x04\x46\xfe\x5e\x6f\x1b\x45\x92\x85\x3d\xe2\x62\x76\x78\xaf\xe1\x07\xf8\xb5\xfb\x49\xfb\x59\x71\x46\xf4\x44\x10\xdf\x2c\xb8\xea\x08\x24\x3f\x36\x11\x9a\x83\x8e\xa2\xab\x8c\xb9\xf4\x33\x72\x98\xd8\x90\x81\xdf\x07\x5d\x80\x97\xe3\x71\xa1\xae\x1d\x37\x22\x4d\x78\x24\x5c\x0e\x03\xf2\xca\xc2\xbb\xfe\x90\x00\x1e\x89\xef\x2a\xf2\xb7\x04\xa2\xbc\x5e\x6f\xac\x6d\x09\x80\xe7\xf6\xd8\xb4\x33\xf2\xff\xbe\x1c\x34\x14\x2b\x78\x9e\xc4\x33\xdf\xe5\x7a\xe6\x99\x75\x63\xbb\xb7\xeb\x61\xa9\x67\x2d\x8d\xdd\x9b\x7b\x86\x8d\xba\xb1\xf7\xe2\xcb\xbb\xb8\x7a\x1f\xd0\xc4\xea\x09\x0e\x7f\x54\xa1\xa4\x14\x04\xf4\x09\x82\xb4\x6b\x27\x3c\x7c\xd4\xb6\xac\xd5\xfc\x33\x8d\x19\xfa\x2e\xaa\x01\x07\xae\xea\x23\xeb\x4c\xf8\x3e\xbf\x6d\x51\x64\xbd\x54\xdb\xcf\x11\x16\xba\xce\xf4\x56\xe6\x62\x56\x14\x99\x5c\x96\xa1\xd6\xf0\x48\xe0\x62\xe5\x91\xe8\x3b\x9c\x66\x3a\x2e\x23\x4b\x8e\x05\xbd\xf5\xf0\x2b\xf2\xb6\x5a\xeb\x2f\x66\x27\xe6\x14\xa0\x17\xb4\x88\x4f\x20\xb1\x02\xd9\xdb\xda\x62\x9d\xf6\x82\xea\xf0\xc1\x5e\x5b\x93\xea\x98\x25\xd9\xb2\x28\xba\x07\xd3\xae\x81\x61\x29\xe6\xcc\x7e\x1d\x5e\x22\x1d\xe8\x35\x5a\x2e\x4b\x8e\x40\x86\xaa\xad\xd8\xc5\x85\xe3\xae\xfc\x71\x67\xda\x30\x8c\x52\x35\x73\x09\x4f\x92\x0d\xcf\xf1\x59\x55\x44\x9b\x6a\xc3\xa1\x37\x55\x4e\xe0\x7a\x73\xdd\x33\xe5\x38\xf7\xd5\xa0\x70\xe6\x04\x1d\x3e\x92\x02\x0c\x15\x7d\x57\x27\x56\x3d\x2e\xea\x10\x5a\xee\xee\x65\x8d\x97\x32\xdc\x67\x09\x2f\x55\xb4\x61\x69\xc2\x91\x56\x61\xc3\x73\x5c\xd2\x16\xd3\xc3\x97\x32\x91\x05\xf0\x55\x61\xa8\xb9\x36\xc2\xe6\xb9\xcd\xb3\x07\x4b\xfb\xcf\x3d\x39\x59\xdf\xa2\x3f\x12\x3b\xed\x7a\xf5\x45\xd1\xd3\x7e\xcb\x86\xc7\xd0\xb0\x65\x49\x57\x98\x9f\x0e\x73\x10\xc3\xb2\xf4\x7d\x19\x37\xb3\x54\xe2\x75\xfd\xe7\x95\xf1\x6e\xb1\x22\x0f\xc8\x7d\x47\x3d\x9b\x11\xb7\x4f\x5d\xed\xa6\x75\x67\xad\x12\xcd\x8b\x45\x6f\xda\x13\x8a\xd7\x74\x95\x1d\xeb\x72\xd9\x25\x97\x80\xad\xea\x2f\xbd\x2f\x28\x65\xf7\xed\x73\x39\xad\xc3\x03\x90\x17\xa2\x90\xe3\xfc\x6e\x41\xa7\x79\x21\x4e\xe0\xe7\xed\x85\x53\xa6\xe7\xe0\x3e\x37\x16\x9a\x97\x50\x73\xc6\x33\x60\x3a\xdb\x56\x57\xed\x76\x3e\x06\x9b\x7f\xe4\x7c\x49\xb5\x67\x29\xed\x57\x65\xfa\xe3\x77\x2d\xc3\xd2\xe8\xf4\x5f\x4a\x6e\xce\xc3\xab\xd5\x2d\xb2\x46\x1d\xd3\xe9\x42\x36\xb7\x55\xfb\xf1\x53\xaf\xf5\xae\x1a\xe6\x0c\x17\xfe\xe0\x8c\xf0\xb6\xde\xdc\x9a\x5f\x0f\x3f\x85\x2e\x2a\xee\xcc\x34\x93\x1a\xd8\x93\x8c\x9d\xaf\x7a\xc9\xb4\x5b\xeb\x3d\x62\x24\x3f\x97\xa2\x14\x66\x01\x2d\xcb\x78\xdd\x8c\x36\x8c\xb0\x94\x7d\x97\x36\xfa\x89\x6d\xcb\x68\xc3\x6c\xe1\x2c\x16\x09\xdf\x55\xba\x06\x46\x62\xa1\x81\xd9\x76\x14\x89\x5c\xc0\x47\x1e\x95\x79\xa1\xb7\x00\xf4\xf6\xe5\x66\xa5\x82\x5d\xce\xb8\xdd\x5d\x6d\xe7\x7b\x85\x67\xf1\xc0\x10\xf3\xed\xf5\xf9\xd9\xc5\xfb\x8b\x5a\x7c\x77\x76\xfb\xe7\xf0\xdf\xbf\x5c\xdd\xfc\xf9\xfd\x87\xab\x5f\xc2\xbf\x7d\x98\xdd\x5f\x9e\xfd\xb4\xb8\xfe\x30\xbb\xac\x44\x81\x67\x77\xb3\xdb\xf3\xbb\x3d\x81\xde\x66\xad\xdd\x13\xc1\x03\x1a\x48\x0b\x3d\xb7\x1a\x27\xd6\xdf\x43\xb5\xbe\x65\x33\x4b\x8a\x59\xa1\x6d\xb5\xc1\x7a\x40\xf7\x24\x08\x52\xc4\x98\xbe\x79\xaf\x9e\xf1\x82\x27\x7a\x3d\x65\x33\x46\xc0\x7c\x4c\xb8\xc8\x8d\x85\x44\x8c\x81\x66\x76\xb0\x08\x63\x26\x45\xde\x97\xe2\x45\x9c\xf5\x8a\xb8\x3a\x13\x11\xca\xfd\xd8\xec\xc2\xb9\x3a\x7f\x14\xaa\x28\x81\x8e\x99\x27\x09\xa3\x6a\xed\x17\x02\xe6\x04\xdb\xca\x5c\x6e\x65\xc2\x33\xaf\xb7\x7b\x45\x65\xc1\x2b\xc5\xb6\xd5\x51\x95\x35\xd3\xf2\xed\x43\xee\xfe\x82\x41\xbb\xcf\x3e\x5c\x80\xdd\x17\x15\x56\x4c\xce\x56\x3e\x57\xc8\x05\x49\x35\x6e\x39\x24\x01\x15\x9a\x3c\xdc\x58\x3d\x7d\xb9\x7b\x21\x1e\x45\x8a\x6f\x63\x41\x2f\xf5\xa2\x74\x8d\xb4\xff\x71\xae\x8a\x6c\x37\xd8\x98\xbb\x83\xac\xf7\x1c\x0c\x72\xc2\x14\x56\x35\x78\xd1\x01\xc9\x6c\xe9\x97\x60\xe1\x59\xc0\x2b\xc5\xc7\x5c\x18\x0c\xf1\x45\x1d\x8f\x8e\xc4\xdc\xbc\xbf\xd5\x71\x08\xa9\xa1\x60\x14\x96\xba\x54\x71\x4e\xe8\xc7\xad\x54\xa7\x5b\xfe\xeb\x6b\xdb\x53\x24\xfa\x70\x4a\x58\x40\xa3\x27\x12\xf3\xfc\xda\x99\x43\xae\x7f\xb8\xe6\xaa\x67\xbc\xf6\x9b\xc8\xf6\x64\x85\xb7\x9e\x7f\x98\x23\x8e\xf3\x51\xec\xda\xe6\xaf\xa1\x66\xc8\x42\x4a\x7e\x28\x24\xcd\x84\xf9\xa2\x03\x89\x26\x88\xfd\x75\xff\x86\x64\x90\x8a\xe2\x72\xfb\xd9\x1d\xe2\x2e\x8e\xda\x36\xad\x88\x8f\xe1\x86\xcf\x60\x39\x4a\xaa\xc9\xcc\x19\xe2\x3f\x6c\xe8\x81\x92\x5f\x28\xb0\x6d\x26\xeb\x3f\xf5\x92\xad\x20\x13\x0c\x13\x1e\x59\x26\x20\xd4\x04\x53\x61\xf5\x53\x80\x6c\xad\x01\x2a\xb1\x4b\x20\x11\x39\x04\x60\x94\x79\x63\x8a\xcf\x25\xc5\xd0\xdf\x7c\x3b\xee\x9e\x2d\x90\x84\x1f\x59\x97\xeb\xf4\xf4\xee\x2e\x87\x76\x95\x4a\xb6\x31\x30\xde\x94\xca\x5c\xc5\xcf\x01\x3f\x1a\x1e\x5f\xae\x55\x4a\xff\xdc\x9b\xac\x65\x43\x23\x19\x7e\xff\xc5\x08\x75\x7f\xae\xf1\xe8\x52\x75\x90\x1a\x40\xa5\x87\x17\xda\x92\x47\x0f\x4f\x3c\x8b\xd1\x7f\x0e\x78\xa0\x29\xfb\x49\x3f\x89\x47\x91\x4d\x58\x24\xb2\x82\x13\x89\x5d\x0e\x80\x08\xd8\x50\x54\xce\x5c\x41\xa6\x0c\x32\x02\xaa\xbc\xcc\x04\x2b\xe4\x7a\x63\x1e\xd1\x01\x9c\x45\x67\xe6\x38\x2a\x90\xbf\x34\x15\x11\x91\x56\x75\x0c\xc0\x2a\xe1\x8f\x4d\x56\xbe\x43\xd8\x36\xd8\x85\x4b\xf7\xb5\xf1\x62\xab\x49\xd5\x07\x40\xa2\x01\xa3\x43\x13\x69\x86\x26\x6c\xad\x13\xae\xd6\xd3\xe9\x14\xf4\x17\x5e\x8f\x5a\xe8\x54\x60\x18\x81\x76\x30\xf7\x44\xeb\x5c\x24\x3b\x47\xb4\xe4\x12\x91\x00\xf9\xfa\x6b\x21\x54\x2e\xd1\xcf\xd3\xb2\xfc\x6f\xeb\xd1\x99\x2f\x1b\xcc\x6a\x7f\x9e\x8f\x4e\x73\xed\x28\x07\x24\x2e\x47\x94\x84\xdf\x6f\x7f\x79\x1d\x94\xb6\xdd\x5e\x96\xd2\x6a\x6c\x2e\xf2\xcf\x5a\x76\x60\x29\x0e\x62\xa0\x6c\x2d\x89\xc8\x62\x0e\xca\xdf\x6c\x1f\xb3\x46\x4a\xed\x11\xd9\xb4\x3d\x89\xb1\x23\x73\x62\x87\x38\x02\x6e\xeb\xd3\x3d\x7a\x5b\xec\x57\xdd\x6a\xed\xd0\xc8\x9c\x63\x4f\x0e\x30\xc6\x74\xc2\xb4\xc5\x64\x07\x2f\x2e\x97\x81\x0c\xee\xf4\x38\x08\x07\x54\xa2\x1d\x31\x86\xfe\x6c\xb8\xc4\x91\x78\x05\xd1\x91\xbc\xd0\x19\x5f\x0b\xb6\x15\xb1\x2c\xb7\xad\x87\x8d\x6b\xee\x31\xf8\x4b\x9d\x94\xdb\x6e\x3a\xc5\x63\x0d\x68\xdf\x48\xfc\xaf\x33\xa8\x6e\xb0\x01\x3d\x73\xa9\x05\x56\xfc\x90\xda\x8b\xbe\x7f\x1a\x6b\x73\x53\x66\x32\x07\xea\xd5\x43\x52\x4f\x5d\x31\x58\x34\x44\xb0\x77\x29\xfa\x9c\x2b\xb3\x7b\x62\x43\x5a\xf4\x93\x1c\x67\x15\xc2\xde\xdd\x97\x42\x1d\xd5\x39\x5e\x02\x2d\xd3\x65\x83\xf4\x68\x10\xd2\x00\xcc\xc6\x40\x10\x81\x60\x67\x50\x20\x61\x63\x0a\xcd\x56\x36\x99\xf1\x41\x04\xf4\x70\x31\x48\x25\x3c\x21\xd7\xd0\x9f\xbf\xcf\x2d\x8a\x86\x80\x4e\xde\x62\x29\x7c\x25\x18\x10\x79\x7c\x63\xf1\x6d\xd8\x43\x2c\x02\x48\xdc\x62\xae\x8a\xd6\x02\x3c\xfc\x13\xca\xc2\x9f\xfc\xcc\xcb\xa4\xfd\xeb\x54\x3e\x7c\x15\xa5\x34\x67\xbf\xdc\x32\x1c\x6a\x22\xd5\xcf\xfa\x1a\x1a\x14\xb2\x1f\x61\x07\xc3\xb5\x38\xc0\x12\xac\xcc\x03\x0e\xba\x55\x55\x30\xc3\x2e\x8a\x68\xe3\x2d\x0f\x20\xb1\x73\xe4\x7b\xa4\x93\x4c\xfd\xdc\x7a\x99\x00\x04\x2f\x87\x28\x50\xb9\x56\x3a\x54\xb8\xd1\x4a\x40\x64\xca\x1c\x40\x3a\x2c\x96\xc9\x62\x3f\xd4\x6e\x24\x73\xdb\xbe\xa5\x56\x68\x84\x50\x51\x3f\x2b\x01\x46\x78\x52\x48\xe4\x7b\xb2\x38\x65\x7c\x13\x91\xec\x6e\x9d\x3e\xbe\xca\xa0\x31\x57\xd5\xaa\x1a\x83\x64\xb1\x70\x32\x13\xc8\xfa\x9c\x1b\xeb\xad\x90\x8f\x66\xa3\x36\x97\xb5\x5b\xa0\x70\x02\x34\xd7\xde\x5c\x61\xb3\x03\xea\xe8\x07\xb1\xcb\x43\x8d\x5f\x5a\x51\xac\x6b\x41\x4a\xd3\x1f\x9a\xaf\xfd\x53\x01\x03\xb7\xc8\xbc\x52\xdf\xb0\xbb\x0c\x2b\xfd\x68\x7e\xdc\x03\xb2\x6d\x14\x6e\xd6\xa0\xcf\x16\xf5\x3e\x45\x3a\x26\xfc\x38\xd3\x1c\x7a\x1c\x1d\xa0\x24\x43\x1c\x64\x98\xfa\x03\x0f\x5f\xf3\xbe\x9d\x2b\x62\x97\x0f\x2e\x39\x73\xe0\x34\xa7\x8d\x52\xd8\x91\xd3\x7a\x57\xa1\xdf\x01\xfa\x49\x4b\xc5\x59\xad\xd2\x06\x5b\xad\x44\xfc\x5c\x41\xd5\x98\xe4\x6b\x7d\x78\xad\x15\x1e\x08\xce\xa4\xc9\xed\x04\x64\x06\x99\x74\xf8\x4d\x42\xf4\xa0\x58\x34\xbe\x7e\x22\x61\x86\x6f\xa6\x5a\xb1\x90\x16\x09\x79\x7b\x7e\x76\x73\x7e\xf7\xc5\x00\x9b\x16\x2d\x39\x1a\xb1\x69\xdb\xf9\xee\xfc\xfd\xec\xfe\xc3\xdd\xe2\xdd\xc5\xcd\x4b\x40\x36\xe9\xa3\x03\x30\x9b\xb7\x24\x5a\x71\xa6\x55\x21\x7e\x3d\xea\x4e\xce\x4a\xb5\xe0\x23\xe0\x66\x4e\xb6\xa6\xcf\xdc\xc1\x42\x9b\xa2\x1b\x4e\x11\x83\xf8\x3f\xf1\x46\x73\x1a\x1b\x2b\xef\x34\x5c\xc9\x24\x81\x54\x6a\xe7\x5e\xa7\x34\x3d\x33\xa8\x70\xfe\x58\xca\x53\x3a\x53\xe7\x6a\x59\xd1\x44\x01\x97\xdf\xc6\x3c\x82\x31\x89\x3a\x35\x03\x90\x49\x48\x51\xed\xd3\xe5\x58\x4b\x25\x7c\x33\x60\xd6\x4c\xfb\x3a\xa9\xbc\x69\x12\x5f\x12\x12\x45\x86\xd7\x50\x5b\xd3\xae\xb8\xca\xfa\xb4\xe6\xa7\xfd\xd0\xf5\x10\x37\xb1\x54\x68\x98\x56\x76\xf3\x6d\xfb\xd2\x3d\xf5\x5b\x00\xc6\xdd\xcc\x24\x87\x18\x44\x5e\xf0\xac\xf0\x13\x49\x13\x81\x7a\x5d\x3e\x38\xf1\x20\x11\x3a\xa4\x57\xb5\x71\x36\x47\xa1\x19\x6b\x09\x91\x0a\x4e\xec\x30\x51\x52\xe6\x85\xc8\xc8\x6d\x32\xfb\xe5\x76\xae\x7e\x30\xd7\xd7\x6b\xba\x85\x48\xd3\x09\xab\x40\xe0\x8a\xae\xd4\x6f\x2d\x94\xf0\x04\xfb\x06\x7d\xd4\x5b\xc1\x55\xce\x60\x6b\x24\x89\xc8\xfc\xca\xc0\xf6\x08\x11\x93\xb6\x31\xd0\xe1\xfa\xdf\xbf\x66\x84\x0e\x35\x43\x61\xda\x4b\x9f\x66\x62\xab\x8b\xe6\x7a\xea\xca\xd4\x07\xc8\xf6\x4b\xae\x9c\x96\xcc\xa1\xa1\xab\x88\xd0\xee\xad\x8b\xa8\x9a\xc7\x33\x68\x2d\xdd\x61\x71\xbf\x2f\xa5\x67\x5c\x4a\x03\xee\xf5\xf0\x96\x60\x1b\x6d\x0e\x50\x27\x78\xe4\xc3\xcc\x8e\x29\x24\x01\xd0\x97\x19\xc6\xd6\x5b\xa7\x26\xfa\x79\x0c\xf6\x03\x8a\x3a\x0e\x5a\x3b\x6b\xa1\x24\xf2\xea\x72\x36\xb6\xd3\xab\x27\xfa\x32\xd4\x7f\x33\x0b\x32\x54\xba\xb0\x24\x1e\x0e\xd7\x47\x20\x45\xf3\x05\xc7\x1e\xd3\xdb\x46\x62\x64\xb1\x56\xca\xe2\x48\x4d\xbe\xbb\x10\x0c\x59\x49\x6b\xc6\x56\x84\x84\x08\x96\x04\xc1\x91\xa8\x8c\x59\x7c\x87\xab\xbe\x56\xd7\x9c\x23\xe4\x3c\x08\xec\x70\x79\x75\x79\x1e\x42\x15\x2e\x2e\xef\xce\x7f\x3c\xbf\xa9\x24\xc4\x7f\xb8\x9a\x55\x92\xda\x6f\xef\x6e\x6a\xb9\xec\x3f\x5c\x5d\x7d\x38\x6f\x60\x1e\xce\xef\x2e\x3e\x56\x0a\x7f\x77\x7f\x33\xbb\xbb\xb8\xaa\x7c\xef\x87\x8b\xcb\xd9\xcd\xbf\x85\x7f\x39\xbf\xb9\xb9\xba\xa9\xd5\x77\x7f\xd6\x8f\x9e\xa8\x74\xa3\xdd\xfd\xe3\x83\xb3\x01\x37\x69\xeb\x36\xae\xaa\xe2\x1e\xb1\x8b\x07\x22\xcf\xf6\x2d\x47\x9b\xef\x1e\x87\x92\x05\xb8\x31\x4c\x53\x47\xad\xba\xe7\x97\xf1\xad\x0c\x5d\xca\x8f\x3b\xf6\xcc\xad\xb6\x78\x0e\x24\x60\xaf\x01\xe8\x6a\xa9\x39\x6e\x49\x35\x1b\x87\x36\x85\x08\xd6\x9a\x77\x8a\x58\xa9\xf8\xc5\x5b\x6a\xeb\xd8\xd7\x4e\xcf\x85\xb5\x87\x52\xe8\xb9\xe8\x44\xfa\x1a\x1d\x54\x66\xb3\xf5\x65\x6c\x0d\x05\xfb\x61\x70\x71\x43\x37\xcc\xca\x09\x96\x63\x97\xde\x6a\x7b\xbe\x49\x3f\x7d\xdd\xd8\xf6\x53\x25\xcd\xb6\xd7\xb8\x4e\x46\xb4\x1b\x38\xa7\xc6\xb4\xfb\x8e\xe7\x0f\x63\xdb\x4d\x95\x34\xdb\x0d\x66\xdf\x41\xed\x06\x87\x77\xd1\xce\x43\x33\xe2\x10\x0b\x8b\xa9\x36\xcf\x25\xc9\xbb\xaf\x04\xb2\xc6\xc3\xda\x68\x36\xc0\xcb\x3e\x2f\x53\x3e\x3c\x90\x01\xad\x71\xdb\x95\xd7\x68\xd9\x6f\xe1\x53\xe8\xe1\x32\x13\xfc\x21\xd6\x4f\x34\x1f\x75\x64\x28\x1b\x74\x9a\x57\x07\xc8\x9c\xe1\xf6\x8a\x28\x32\x8a\x40\x21\x4a\xcd\x17\x0f\x30\x39\x49\xc4\xe2\x68\x83\x05\x7a\xbc\x75\x26\x1f\xe0\x4e\x52\x7e\x76\xe6\x0a\xad\xf9\x36\x4d\x5f\x33\xab\xa6\x45\xc4\xbd\x01\x5d\x75\x36\x34\x06\xd7\xf3\x60\x62\x29\x81\xa3\xcc\x00\x4c\xb7\xcc\xe0\xcd\x04\x03\x22\x15\x38\x93\x33\xf3\xe0\xc9\x44\x24\x73\x11\xa8\x6a\xb5\xde\xd8\x9f\x8f\xd3\xe0\x28\x78\xd1\xea\x76\x1d\xec\x0f\xe7\x51\x51\xf2\x84\x7d\x2e\x45\xb6\x23\x0a\x43\xf4\x55\xe2\x5f\x22\xae\x30\x53\xa4\x10\xdb\x14\xd2\xe2\xc3\x14\x87\xb9\xfa\x05\x80\x12\x38\x05\xaf\x72\xf6\x23\x40\x1e\xec\x97\xe9\x12\xde\xf2\x02\xee\xe2\xbf\x60\x1d\xee\xb3\xe9\x5c\x55\x54\x6a\x82\x5f\x55\x04\x6b\xa6\x73\x65\x65\x22\x62\x1d\xe5\x53\x78\xf1\x4d\x75\xb6\x3e\x25\x89\x6b\xb3\xd8\xf5\xc3\x52\xeb\x87\x53\xa1\x4e\xc1\x27\x55\x9c\xf2\xb2\xd0\xa7\x00\x97\xc2\xf9\xcf\x4f\xad\x12\xae\x95\x12\xce\x4f\x37\xf2\x51\xc0\xff\x9b\x6e\x8a\x6d\xf2\x7f\xf2\x74\xf3\xeb\xc9\x3a\xc9\x4e\xcc\x6f\x4f\xc2\xdf\x9e\xd8\xdf\x9e\xd8\xdf\x9e\x98\x9f\xe1\xff\x4b\x77\x18\xde\x11\xbf\x72\x73\x97\x4d\xe6\x4a\xaa\x5c\x64\x05\x58\x3f\x4f\x99\x2c\xbc\x1c\xd0\x8e\xbd\xfa\xef\xff\x66\xd3\x8c\x3f\xf9\xfc\xca\x6b\xf4\x2f\xfe\xcf\xff\xbc\x82\x80\x2a\x26\xf5\xa4\x3c\xfb\x5c\x8a\x62\xae\x72\x61\x36\x21\xfb\x7f\xe6\x0a\x22\xb0\xdb\xdd\xa2\x40\xbf\x2b\xfa\x20\xe3\x9c\xfd\x2b\x96\x79\x81\x74\x9e\x71\x6e\x4a\xea\x48\x27\x90\x3c\x69\x11\x4f\xef\x70\xd1\x7f\x4e\xde\xd1\xf7\x47\x6c\xeb\xcf\x49\x75\x57\x5b\x41\x9a\xfc\x73\x02\x17\x68\xa2\xb9\x05\x6b\x31\xb7\x78\xe1\x9d\x4c\x8d\x6b\xdb\x23\x0d\x68\xc0\x8b\x86\xe9\xdb\xf7\xca\x2d\x52\x8a\x5b\xcf\x7d\xe3\x18\x81\x58\x81\x8f\x43\x40\xf4\x5c\x9a\x1d\x72\x8b\x9e\x50\xb0\xdc\xb0\xe7\x60\x93\x52\xe8\xdc\x95\x87\x8e\x8b\xfc\x8f\x6f\x4f\x4f\x27\x6c\x9d\xc3\xff\x2c\x3f\xc3\xff\x00\x7a\xe8\xb9\x58\x71\x1b\x83\xe9\x80\x70\xcd\x59\xde\x3f\x13\xcf\x81\xa2\xfb\x12\x44\xec\xb5\x65\xfa\x43\xa9\xe2\x44\xf8\x14\xc8\x4a\x48\x24\xd1\x66\x26\xed\x44\x35\x25\x6f\x60\x8e\x97\x22\xe2\xe6\xe0\x6b\xd4\x8d\xe0\x52\xbd\x2a\x84\x42\x6f\x58\xe6\x15\xf1\x38\x7a\xae\xc0\x2c\x06\x28\x24\x24\x46\x6f\x53\x69\xda\x22\x21\x4c\x7c\x87\xcc\xe6\x93\xfa\x47\x6c\xa7\x4b\x22\xe9\x06\xea\xd9\x58\x44\x09\x28\x21\x58\xfa\x1d\x96\x89\xa2\xcc\x14\xe3\x2c\xe5\x2a\xe6\x39\xac\xc0\x55\x06\xd1\xce\x8c\xf1\x66\x43\x27\x08\xc7\xd5\x65\x01\xa4\x52\x88\x2c\x08\x47\x02\x59\xd4\x83\x36\x4f\x82\x46\xe0\x9d\x80\x99\xdd\xf5\x1f\x4e\xe7\xca\x6a\xb6\x11\x16\x0e\x3d\x65\x91\x4e\x77\x44\x19\x54\x1f\x74\x69\x3d\x67\x34\xdc\x13\x8f\x37\xa9\x7f\x77\xc2\x64\x35\xb4\x06\x84\xed\x45\xa0\xfb\x6d\x95\xd3\xbf\x11\x2a\xd2\xb1\xc8\xf2\xd7\x66\x1b\x4a\xf7\xee\x40\xfb\x41\xe6\x7e\x32\xe0\x94\x32\x97\x1b\x79\x0b\x4d\xf1\x4e\xd9\xc8\x8c\x4e\x85\xe2\xbb\xcd\xce\xd9\xbf\x55\x7e\xeb\x28\x98\xb6\xf6\xd2\x7f\x7e\x51\x44\x4c\x88\xeb\xb4\x6f\xce\xc3\x5d\x10\xb8\x65\xc3\x13\x17\x0b\x45\x1b\x87\x8c\x13\x2b\xb2\x2c\x0b\x50\x11\xcc\x44\x5e\xcc\x15\xdd\xc0\x13\xb6\x12\xdc\xd8\x79\x13\x16\xe5\x8f\x78\x18\xe3\x75\x5f\x3c\x69\x8f\xc1\xb1\xfa\x30\x00\x86\xad\x14\xee\x9d\xc4\xf8\x35\x40\x14\xf0\xa8\x40\x80\x41\xa7\x1e\xbf\x35\x55\x60\xb0\x5a\x0f\xc4\x03\xc6\xc1\xca\x8d\xd4\xa5\xbd\x42\xb5\x1b\x18\x89\x1d\x06\x8a\x59\xbd\x1d\xf8\x81\x39\x78\xb0\x77\x08\x03\x09\x0e\x47\xb0\xb8\x09\x4b\x8b\xfb\xcc\xc7\x70\x43\xce\x77\xf0\xcd\x74\x6d\xaa\x9e\x81\x80\x06\x1c\xe6\xb7\x30\x3f\xdd\xeb\xb0\xca\x45\x66\xb5\x50\xb0\xaf\xc8\x72\xb1\x91\x59\x7c\x92\xf2\xac\xd8\xd9\xe5\x9b\xc8\x25\x48\x28\x24\xf2\x41\xb0\x59\x96\xe9\xa7\xe7\x1e\x85\xce\xa3\xa5\xeb\x85\x7d\x0c\x92\x7d\xec\x2b\xbf\x95\x9f\xb5\xee\xee\x38\x8c\x0b\xb6\xcb\xf1\xd1\x5a\x4f\x26\x8a\x6c\xb7\x30\x0b\x71\x9b\x76\x9e\x14\x83\x92\x26\x86\x1b\xb9\xe3\x68\x66\x6b\x2e\x8c\x4e\x9a\xd9\xca\xac\xfe\x76\x68\x66\x5b\x18\x64\x9b\x34\xb3\x17\x97\x17\x77\x17\xb3\x0f\x17\xff\x7f\xad\xc4\x5f\x66\x17\x77\x17\x97\x3f\x2e\xde\x5f\xdd\x2c\x6e\xce\x6f\xaf\xee\x6f\xce\xce\xfb\x79\xa3\x9a\xad\xf7\x26\xf8\x09\x0b\xeb\x79\xcb\xee\x02\xa0\x06\x26\x1b\x90\xfd\x4d\x1a\xa2\xb0\xaa\xcc\x66\x96\x6a\x3d\x81\x8d\xfa\x96\x9d\x67\xd9\xc5\x96\xaf\xc5\x75\x99\x24\x00\xa7\xc2\xcc\x9e\xb3\x4c\xc0\xc3\x73\xc2\xae\x75\x7c\x11\xfc\x0e\xd2\x11\x5b\xbb\x01\xf5\xf3\x38\xce\x44\x9e\x63\xf5\x13\xaa\x3f\x00\x0f\xb9\x54\x47\x02\xcf\xf1\x47\x2e\x13\xf3\x7e\x7b\xcb\x7e\xe0\xd1\x83\x5e\xad\x30\x7d\x66\xe2\x12\xa7\xd8\xe7\x52\x17\x9c\x89\x5f\x23\xe0\x4a\x6b\x5f\x27\x1f\xf4\xfa\x2b\x40\x95\x07\x84\xa7\x3a\x1e\x29\xa0\x15\xb7\x68\xbf\xce\xdb\x0f\x02\xea\xe5\x47\xfc\xe9\x7b\xfc\x65\xbb\x83\xb2\x48\x9e\x21\x3d\xfe\x83\x5e\xb7\x2b\xf7\x80\x75\x4d\x72\x43\x14\x48\x88\x88\x6c\x43\xaf\x59\x2e\xd5\xc3\x5c\xfd\xb2\x11\x8a\xe9\x32\xc3\x3f\xc1\x33\xdf\x98\x99\x49\x99\x6f\x04\x48\xf9\x4e\xd8\x93\x60\x5b\xbe\x43\xb3\x19\xde\x04\x4e\x6e\x04\x96\x0c\xdc\x22\xe6\xd7\x89\x54\xe6\xb4\x48\xa5\xcd\x4b\xa8\x4f\xfd\x73\xbc\xb8\x2c\x53\x20\x3f\x9e\xc8\xb7\xef\x3e\xad\xe0\xf3\xc0\x55\xe6\x71\x93\x16\x20\x44\x27\x37\xa8\x99\x6a\xfd\x50\xa6\x9e\x53\xf4\x95\x0d\x4e\xc2\x70\x3f\x6a\x19\xb3\xb8\x4c\x13\x19\xb9\x73\xf7\x49\x67\x9d\xc4\xc9\x98\x40\x33\xfc\xd6\xa9\xa7\x85\xf5\x75\xac\x25\x3b\x27\x40\xd2\xf5\x50\x28\xbf\x30\x89\x34\x93\x2a\x4a\x4a\xd0\x69\x2b\x73\x91\x9d\x14\x99\x5c\xaf\xc1\x00\xb7\xb9\x7e\xbf\x7d\x96\x69\xcf\x62\x79\x7c\x5a\x5b\x98\x74\x9e\xe8\xb5\x8c\x78\x12\x82\x9b\x3d\x2a\xc2\xd1\xd8\xda\x6d\x4f\x2a\xb6\x90\x07\x61\x1b\xd4\xc9\x80\x94\x66\x02\x98\x94\x17\x70\x94\x2f\xe8\xb8\x3b\xa6\xdd\x2b\x66\x1e\xe8\xd8\xae\x90\x64\xd6\x86\x17\xec\x0d\xe7\xeb\xb6\x52\x66\x60\x62\xa2\xcc\x39\xd3\x4f\x4a\x64\x60\xc1\x02\xec\xc3\xf4\x54\x69\xb0\x4d\x9c\xbc\x99\xc3\x27\x5b\x79\xbf\x95\x03\x62\x63\xe6\xec\x5a\x3e\x0a\xf5\xe5\x59\xc1\x83\x0a\x22\x1e\x6d\xc4\xc2\xda\xe5\xcf\x7d\x64\xb9\x0b\x60\xe4\x61\x65\x75\x46\xc2\xa3\xd4\x85\x37\xe1\xe9\x84\x2d\x6e\x9e\x5d\x18\x48\xec\xc9\xc8\x32\x8d\x58\xc4\x22\x7a\xf8\xe2\x47\xb3\x07\x59\xd9\x86\x30\xce\xde\x89\xe8\x81\xdd\xdf\x5c\x60\x36\xb0\x2c\x98\x39\x0a\xf2\x8d\xd7\x4d\xea\x7c\xbb\x15\x7c\xfd\x02\x8c\x4e\x43\x85\x9f\x3c\xd7\xbf\x93\xbb\x33\x0d\x22\x40\x14\xe4\x4b\x9a\x43\x92\x72\x69\x00\x08\xc6\x0b\x2b\x07\x04\x8e\x78\x96\x6f\x41\xfd\xa7\x2c\x02\xc9\xbc\x84\x2f\x45\xd2\xc1\x7c\x99\xea\x78\x61\xe3\x24\xc7\x82\x79\x1a\x65\x59\x3f\x06\x45\x1d\x6d\x1e\x03\x37\x16\xeb\x1d\x7d\x91\x3d\x7c\x9f\x07\xf4\x1a\x3a\x24\xe0\x86\x77\x3d\xcf\x21\xbd\x7b\x25\xd7\x36\xda\x26\x57\xa4\x51\x84\x09\xfd\xa0\xc6\x6f\xce\x4b\x53\xd2\xb5\x8e\x09\xa6\xe7\x48\xcc\x8c\x15\x24\xc8\x7b\xe2\x71\x15\x61\x13\x2c\x0e\x10\xea\x35\x3b\x42\xf0\x98\xe9\x15\x79\x13\xd3\x34\x91\x40\xad\x1c\x23\x8b\x3b\xb0\x67\xe4\x55\x74\x7c\x58\x9a\x6d\x6c\x40\xf2\x71\x6d\x81\x78\xbd\xf1\x46\x1f\xe4\x32\xfd\xaa\x3a\xb9\xeb\x36\xd5\xb1\x6a\x7c\x2e\x1f\xe9\xd0\x27\x74\xbf\x37\x6d\x9d\xe8\x25\x0c\x54\x37\x28\xae\xe7\x80\x36\xa7\x53\x26\xe3\x31\xd7\xbb\x1d\x93\x2b\xf7\xd3\xbe\x06\x5e\x59\x4f\x87\xab\xc9\x4e\x33\x23\xe2\xfb\x30\x82\x5f\x4b\x63\xdf\xf7\xd6\x86\x00\x61\xee\x22\x84\xce\x1a\x2f\x48\xf6\x01\x76\x85\x3b\x8e\x3b\x9e\xd5\xd5\xbe\x1c\x35\xd1\x4d\x62\x94\x3d\x63\xe9\xb9\x54\xfa\x27\xf9\x08\x76\x0b\xdc\xb9\x8e\xe2\xa2\xdb\x91\xa6\x62\x11\x2f\x0e\xe8\xc3\x39\xfd\x76\x58\x5f\xdc\x48\x63\xf3\xc0\xe5\xa5\x4e\xcc\xcd\x18\xf3\x2c\xf6\xfd\x98\xc0\x8b\x38\xe2\x29\x78\x9d\xc1\x8b\xff\xf8\x66\x6a\xeb\xb8\xf1\xc9\x34\xe6\x78\xc0\x14\x77\x84\x2b\xeb\x16\xcd\x94\x7d\xeb\xc8\x2d\x52\x44\x33\x9b\x95\xe3\x97\x6b\x25\xcd\x64\xd0\xda\xad\xaf\x30\x7b\x5e\x1d\xb3\xb8\x5e\xe2\xec\x28\x0b\xed\x83\x1b\xd0\x9f\x0b\xa0\x47\x0d\x13\xd8\xe0\x80\xbc\x88\x3b\x80\x11\xd6\xda\xb4\x87\xd0\x08\xb8\xed\x28\xc0\x6f\x9a\x09\x1b\x26\xdb\x89\xc2\xd1\x18\x24\x56\x87\x0e\xa2\x40\xae\xd7\x55\x1e\x17\x4b\xd5\xe0\xb8\xb7\x20\x66\x43\x96\x6d\xa4\xb7\xa9\x56\x80\xc2\xc1\xa4\xac\xb9\xa2\xc2\xad\x9a\xb8\x0b\x24\x55\x32\xfb\x26\xe4\xbf\xc3\x3c\x11\x91\xeb\xe4\x91\x22\x86\x81\xe8\x05\xe8\x10\x9a\x06\x9e\x99\xa7\x90\x79\xf8\x43\x28\x9b\x2e\x32\x00\xbe\xd7\x24\xb5\x33\xb1\x96\x79\x21\xc2\x64\xc8\xf0\xf7\xcf\xa6\x7e\x5a\xf1\x15\xf4\x0d\x7d\xa7\xfa\xe9\x3e\xa3\xdf\x9c\x4f\x23\xda\xb3\x4b\x45\x7c\xe1\x7e\xd7\xbf\x18\x6a\xf9\xea\xfe\x38\xac\xdc\x77\xb8\x06\xf0\xb1\x93\x23\xb3\x55\xee\xe4\x2a\xdc\x24\x11\xe7\x10\xf7\xf8\x3d\x33\x45\xeb\x92\x67\x5c\x15\x42\xe4\x73\x45\x71\x56\x64\x68\x0b\x49\x48\x6a\xb8\x3f\x67\xca\x47\x3a\x2f\x90\xf0\x08\x7e\xb2\xe2\x32\x29\xb3\xce\xd7\x35\xae\xca\x83\x58\x16\xfa\x46\xe9\x0c\x8a\x65\x6d\x93\xe6\xf2\x75\x83\x5d\xe4\x48\x42\xea\x51\xd2\x6a\x3a\x6b\x47\x17\xec\xe5\x32\x7c\xbe\x9d\x6b\xb5\x23\x85\xf7\xfb\x7c\x91\xea\x11\x27\xde\x9f\xbf\xcf\xaf\x75\x47\xf2\x73\xfe\xb9\xe1\x02\xec\x41\x0b\x7c\xee\x12\xf0\xe0\xf9\x03\x04\xda\xf6\x79\x1e\x06\x91\x4f\xee\x0d\xc7\x75\x9e\x5d\xb0\x6a\x37\x5c\xc5\x89\x79\x91\xf3\xa2\x76\x03\x79\x58\xb3\x79\x01\x14\xf6\x70\xec\xce\x61\x83\x94\x90\x45\xd4\xc8\x27\xdc\x37\x4e\xb5\x44\xc4\x5e\xe8\x60\xad\x96\x6a\x7a\x60\x5b\x5a\x8a\xb7\x61\x48\x36\xd7\x6d\xd8\xaf\x6e\xbf\x9c\x87\x6d\xff\x42\xe6\x4b\x75\xaf\xad\xe4\xfa\x37\xf0\x6e\xfe\xd8\xbc\x12\x22\x3a\x73\xe8\xa2\x76\x60\xfe\x23\x4f\x1d\xc8\x9b\x32\xa7\x76\xc8\x37\x3d\x57\x24\x1f\x8e\xc1\x74\x88\xa2\x22\xbd\x58\xce\xde\xb8\x64\xda\x37\xff\x64\xc9\xa5\x76\x6c\x05\x8b\x0a\x18\xdc\x74\x14\x95\x19\x44\xba\xc9\x1b\xc7\x04\x5e\xc2\xf9\x28\xde\x14\x30\x3d\x1c\x3e\x09\xed\xc4\x36\x33\xc9\xb9\x5f\x2b\x9d\xba\x03\xaf\x1b\x0a\xa1\xbb\x4b\x9f\xf4\xad\xb2\xbc\x60\x79\x21\xd2\xd6\xe3\xb7\x62\x5d\x56\xb5\xfe\x8f\xb0\x2f\xb9\x2b\x65\xe0\xd6\x19\x71\x19\xcd\x02\x0f\xc9\x9f\x6e\xaf\x2e\x59\xca\x77\x00\xf5\x2b\x34\xc3\xaf\x02\xbf\x66\xfd\xa0\xda\x37\x03\xd5\xce\x57\x4f\x15\x1c\x53\x8b\x19\x6e\x77\xc7\x53\x8d\x4d\x63\x11\xd6\x0c\x2d\x49\x73\x66\x65\x3a\x39\x49\x13\xae\x02\x34\x77\x3e\x65\xb5\xea\xc3\xf0\xbd\x0b\xe4\x11\x40\x0a\x1a\x00\x1e\x32\x5a\x0b\x59\xd9\x8a\xf7\x05\x9a\x19\xbb\xa0\x8e\x8b\xd8\x77\x9e\x11\xbd\x38\xc6\x8f\xa8\x56\xc1\x23\xb3\x4d\x90\x2c\xc2\xa2\x10\x1c\x90\x85\xe7\x80\x31\xed\x24\xbc\xe6\x51\xc2\xf3\xbc\x17\x94\xf2\x12\x8c\xed\x61\x92\xde\xfe\xe3\xab\xda\x4e\x44\xcd\x01\x95\x07\xbe\x4b\xdd\xc7\x40\x0e\x60\x8f\x2e\x2f\x12\x16\xd8\xfb\x81\x48\x02\x45\xfa\x89\x1e\x09\x7e\x8f\xc4\x87\x0f\x62\x67\x1d\x74\x74\x54\xf1\xad\x98\x38\xdf\xa2\x73\x9e\x05\x18\xb7\x66\xc1\x73\x05\x20\xd0\xf7\x61\xf3\xd8\x7b\xad\x27\x08\x47\xa4\xca\x39\x16\xcb\x43\x40\xcf\x5c\xbd\xd7\x7a\xca\xdd\x23\x96\xda\x4f\xc7\x4d\xbd\x42\x02\x01\x01\xc4\xae\x36\x9d\xc3\xf7\xe6\x4f\x52\xa1\x9c\x9d\xdc\x9a\x07\x14\x8d\x13\xac\x28\x68\x90\x55\x4f\xd7\x4f\x39\x8b\x91\x41\xa5\x94\xf9\x06\xa2\x0c\x18\xd6\x83\xfa\xe9\x4a\x41\xfc\x51\xc6\x55\x6e\xf6\x30\x44\x26\xc4\xa3\x20\xf7\x64\x25\xa4\x7e\xf1\xee\x83\x43\xe9\xe0\xbe\x24\x81\xcb\x8e\xdd\x16\x3c\x3a\x8e\x79\x9c\xab\x71\xd2\x3d\x56\x6f\xe3\x23\x4f\xfb\x72\x3f\x8f\x2e\x71\xdf\x2c\x39\xfe\xa8\xfa\x8b\x0a\x24\x7c\x40\xf3\xae\x92\x00\x1a\x8e\xde\xbd\x3a\xf2\xc6\x69\xa5\x70\xdf\x2f\x0d\x32\xd8\xc1\x30\xf2\xa8\xd8\x7f\xdd\x04\x54\x8e\x0e\x21\xe7\xde\x82\xe6\x60\x07\x45\x31\xe0\xa0\xc3\x2d\x3d\x65\xb7\x42\xb0\x4f\x30\x52\xa6\xb2\x4f\xa4\x58\x09\xa0\xdf\x82\xcb\x56\x41\x31\xf8\xf6\x85\x5a\xe9\xe3\xce\xff\x6c\xdd\x00\x95\x1e\x35\x2a\xed\xed\x3c\x16\xb6\x0a\x09\xc9\xea\x65\x59\x34\x06\x5d\x0c\xb5\xb9\xbe\xf6\xfe\x26\xca\xad\xb5\x2d\x35\x26\x19\x4c\xf1\x21\x3c\x6d\xb5\x45\x62\x7a\x39\x41\xee\xf1\x07\xa5\x9f\x14\x9e\xc7\x54\x13\xfb\xc6\xec\x3f\xb0\x59\x30\x0c\x82\x96\x60\x89\xa7\xe1\x6b\x20\x43\x9f\xb9\x7f\xb3\x5b\x8c\xf8\x62\x9b\x41\xe2\x28\x07\x7b\x97\xc4\x89\xe0\x02\xff\x66\x36\x61\x3f\x4c\xd8\xd9\x84\x4d\xa7\xd3\xd7\x13\xd4\xc1\xa7\x16\xe1\x4f\xf0\xe8\x2f\xf8\xda\x94\x4d\xa2\x2f\xab\xa0\x02\x90\x93\x33\xf6\x89\xe5\xfc\xe3\xfe\x5b\x81\x57\xcd\x76\x01\x33\x91\x29\x6d\x8a\xd0\x31\xd1\x46\x4b\xdf\x28\x00\x5a\x8b\x48\x67\x16\xaa\x9d\x17\x3a\xb3\xb0\xd3\x47\x9e\x71\xa9\x80\xa0\x81\x37\x41\xf7\x54\x73\x40\xd1\x2e\x7e\xe5\x5b\xe8\xbf\x54\x8e\xa5\xd6\x0c\xd3\x9d\x6b\x7f\xb1\x4b\x29\xac\xf4\x94\xc9\xa2\x30\x06\x59\x3e\x57\xb7\xec\xed\xbf\xb2\x59\x9a\x26\x82\xcd\xd8\xdf\xd8\x0f\x5c\x71\xc5\xd9\x0f\xec\x6f\xec\x8c\xab\x82\x27\xba\x4c\x05\x3b\x63\x7f\x33\xc3\x66\xca\xbb\xd4\xc6\x02\xda\x4d\x18\x67\xaa\x4c\xd0\xd0\xfb\xc6\x42\x3a\x5f\xbb\x7e\x71\x3f\x3b\x4b\x51\x3c\x09\xa1\x58\xae\xb7\x74\x15\xfe\xd5\xdd\xfe\xb9\x54\xeb\x44\x14\xb4\x1e\xaa\xe0\x5b\xac\xe0\x04\x7a\xfa\x76\xae\x9c\x9f\xfa\xaf\xa6\xc5\x7f\x65\x7f\x63\x97\x65\x92\x98\x26\x99\x83\xc6\x2c\xa4\xb7\xcc\x26\x43\x09\x35\x7d\x92\x0f\x32\x15\xb1\xe4\x90\x0e\x65\xfe\x75\x7a\x07\xb3\xbd\x28\x3d\xf3\x65\xb8\xa7\x9d\x6c\xd4\x31\x47\xcf\x8b\x50\x2b\x38\x51\xb3\xd0\x5a\xe9\xc4\x5c\x84\x3f\x1d\x6f\x04\x7b\xbe\x5f\xda\x0f\xf4\x46\x41\xc9\xaf\x50\x3c\xed\xa0\x23\xa0\x76\xd9\xda\xb2\x5a\xae\x82\xf0\x52\x3f\xf6\x90\x05\x45\xc6\x2f\x68\x8e\xff\xdc\x18\xa2\xc1\x54\xf3\xa4\x76\x54\x21\xab\x00\x5b\xd2\x13\x76\x0d\x8a\xed\x3a\xdd\xa4\x9f\xab\x92\x94\x95\x21\xd6\x72\x90\x76\x67\xad\xb1\xf7\xf4\x12\xc0\x34\x53\xb3\x4d\x65\x72\x6a\xb6\xea\xe9\xa5\x56\x82\xf1\x3c\x97\x6b\x24\x19\x03\x87\x0e\x8a\x5e\x5a\xa3\xe0\xae\x6a\xb2\x06\x5b\x00\xec\x03\xd3\x24\x04\xa8\x16\xe6\x14\x30\x53\x90\xec\xe6\xca\xfc\x82\x6e\x24\x48\x56\x91\x8e\x8b\x1a\x6b\x23\xaa\x67\x5b\x17\x1d\xc8\x41\xe1\x2d\x0b\xac\x2f\x13\xfe\x88\x05\x47\x89\x97\x47\x44\x7c\x2e\x03\x1e\x46\x2a\xcd\x92\xf4\x20\x7a\x61\x29\x12\xad\xd6\x66\x55\x74\x1d\x02\x7a\xcb\xe5\x31\xf0\xb0\xb0\x09\x58\x58\x67\x0b\xcc\x65\x49\x5f\xa1\x29\x31\xf7\xa4\x8c\xbd\x4b\x27\x2f\x97\xc6\x8e\x70\xd1\x06\x77\x1b\x52\xe7\xba\x68\x01\x8e\x43\x89\xdc\xe7\x22\x03\xb2\x74\xc4\x29\xb9\x48\x16\x5e\x9c\x9e\x32\x07\x7b\x34\x6c\x53\xf5\xc2\xdb\xdb\xbd\x5f\x14\x29\x6b\x10\x24\x0c\x58\x8f\x5f\x13\xe9\x3e\x04\xff\xfe\x7e\x76\xf1\xa1\xf6\xbd\x26\xfe\xbd\x05\x24\x7f\x77\xf1\xf1\xfc\xdd\xe2\xea\xfe\xae\xf1\x3d\x53\x1a\xfd\x69\x0f\x04\xbe\x73\xf4\x9e\x03\x04\xfc\x19\x45\x9b\x16\x7a\x65\xf3\xa1\x87\xdf\xe9\x0d\xd9\xac\x61\x58\xb3\x90\x2a\x3f\x94\x97\x6a\x2e\x9c\x4e\x56\x07\xb5\xa0\x68\xdb\xb0\xc6\xd6\x07\xec\x4a\xbd\xc7\x9f\x5f\xeb\x44\x46\xfd\xd0\x55\x7b\x5d\x6d\xf4\x53\x0b\x16\x70\x29\x00\xcb\x4d\x2e\x3f\x6a\x14\x5a\xe8\x85\x88\x0a\x1f\x4d\x6e\x76\xee\x7f\x35\x5c\x6e\xff\x1b\x1c\x3d\x71\x6e\xd8\x40\x46\xd7\xc5\xa7\xe1\x6e\x05\x9a\x5c\x50\x87\x40\xf7\x3a\xf8\xf6\x00\xb7\x11\x71\x8a\x3a\x54\x46\x1e\x0e\xe8\xa7\x8d\x4e\xc8\x23\x87\x94\xc3\x73\x95\x8a\x2c\xd2\x00\x33\x43\x36\x0b\xcd\xa2\x8d\x4c\x62\x2f\xc1\xf4\x0d\xe0\xf2\x01\x3d\xfb\x9a\xc4\x35\x85\xc3\x4f\x38\xc9\xe3\xfd\xfb\xf4\x1d\xee\xee\xa3\xb0\x47\xcf\x09\xb4\xed\x5b\xf6\xbf\x10\x20\x14\x87\x82\x48\xc2\x6a\x91\x70\x33\xe8\x95\xf6\x8c\x72\xea\x9b\xeb\x96\xd4\x75\x22\xff\x70\x2a\x6a\xf3\x4a\xcb\xac\x3e\x94\x40\x1d\x8d\x9e\x54\x84\x81\xe5\x02\x9a\xb3\x15\x1c\x6d\x31\x4f\xe4\x4a\x93\x3a\x57\x3e\xf6\xff\x2a\x0f\xed\xb2\xd6\x79\x46\xff\xab\x85\xf2\x4e\xd8\xab\x4a\x47\x5f\x01\xb5\xb0\xd2\x50\x1f\xc5\x67\x2b\x43\x03\xcb\x75\xc2\x64\x31\x57\x32\xc7\x95\x99\x89\x44\x3c\x9a\xd6\x85\xf1\x01\x42\xac\xd9\xb7\xb3\xed\x36\x64\x83\x70\x4b\x22\x40\xcb\x86\x36\x61\x16\x52\xd4\x62\x60\x32\x16\xb9\xb1\x1b\x41\x5c\x47\xfc\x6a\x36\x80\x84\xf0\x17\x42\x9b\x62\xa1\x6c\xfb\x00\xf1\x84\x8a\xd4\x73\x75\xb1\x82\x4c\x6e\xc8\x1f\x8f\x63\x7c\x85\x5a\xb9\x15\xc7\x17\x28\x29\x1e\xa0\xe9\x4d\x6e\x27\x82\xb4\x61\x71\x27\x89\x47\x91\xed\x0a\x70\xea\xc2\xb8\x2a\xc1\x8b\x0d\x93\xc5\x04\x88\x1e\xed\x49\x39\x57\x3c\x8e\x29\x01\x16\x8b\x33\x43\x03\xeb\xbe\x67\x9e\xe9\xf3\xa5\x7e\xec\x33\x6c\x8f\xc5\x6e\xe2\xae\x4e\x13\xae\x16\x78\x83\x7c\x05\xf4\x66\x20\xdb\xdb\x15\xc6\x2f\x97\x0b\x47\x4e\xf5\x2c\xed\x0c\x14\xf6\x43\x31\x6d\x63\xc7\xda\x8a\x26\xb8\x18\x3c\x39\xbd\x7d\x9e\x38\x3f\x0d\x21\x67\x32\x66\xd1\x05\xc3\x4f\x01\x0f\xec\xe4\x35\x94\x8d\x5d\xad\xfb\x90\x9d\x76\x05\xfc\x56\xb1\x77\x43\x66\xbe\x76\x87\xd4\xa7\x7d\x3c\xec\xab\x61\x21\x1e\x04\xfd\xda\xd3\xac\x97\x85\x7f\x75\xfa\x51\x9a\x30\x30\xdb\xdb\x20\xc2\x8b\x29\x50\x02\xfd\x70\xce\xcd\xd3\x2e\xcb\x1c\xbe\xc3\x74\x0b\x42\xfa\x39\x7d\xd4\x70\x4e\x0d\xf5\x94\x78\x06\x05\x68\xd7\x94\x5d\x28\x66\xcd\xbd\x09\x7b\x85\x0b\x2b\x7f\x45\x2e\x48\xd2\xf6\x26\xb8\x44\x4c\xbb\x87\x72\xce\xeb\x30\x23\xcc\xfc\xf1\xdb\x0d\x23\x41\xbd\x04\xa5\x2f\x3a\x2e\x3f\x48\xc8\x3c\x3a\x84\x5c\x02\xa3\x88\x4b\x2c\x80\x2e\x49\x7c\x76\xef\xd0\x68\xd7\xde\x9b\xed\x3b\x6c\xe3\x5d\xec\x07\xfb\x43\x33\x44\x69\x49\xf7\xa9\xfd\x9c\xe9\x6c\xae\x6c\x69\xe4\x92\xcc\x51\x11\xad\x5e\x54\x90\x08\x41\x36\x7f\xb0\x52\x21\x18\x6c\x45\xf0\x40\x5b\xd1\xb3\x28\xd7\x4f\x01\xc0\xc1\x2c\x1d\x06\x11\x68\xf7\x7d\x6d\xc6\xf0\x30\x0b\x7c\x8b\xd7\x7c\x9d\x69\x35\x49\xcc\xa0\xc8\xc2\x12\xbb\x06\x49\x4a\x79\x09\xf4\xc4\xab\xd2\x1c\x46\x01\x87\xf3\x5c\x99\xc1\x63\x2b\x09\xe8\x7d\x1a\x97\xb9\xfa\xa8\x73\xcb\x89\x91\xfb\xf1\xb0\xa1\x65\x1a\xb6\x57\x4e\x0b\x90\xfe\xf0\x0e\x2e\x6d\xf2\xf9\x23\xbb\x95\xbb\x5a\x20\x3b\x8d\x88\x6d\x76\xba\xcc\x7c\xa7\x22\xae\xe6\xea\x3f\xcd\xf0\xa0\x1e\xbd\xb2\xd3\xaa\x57\xb8\x85\x61\x06\x21\x58\xf2\x09\x0b\xfd\xe6\x9f\x5e\x7f\x7a\x8d\xd9\x24\x65\x0e\xf2\xab\x93\xea\x05\xe2\xe8\xfc\xcb\x24\x81\x48\xb4\xed\x81\xa3\x94\xf1\x55\xf4\x22\xb1\xe8\x51\xb7\x50\x55\x13\x63\xc8\x46\xef\x5b\xc1\xde\xf9\x3c\x63\x11\x2f\xa2\xcd\x89\xb5\xe5\xe8\x18\xb3\xb7\x1f\x4d\x1f\xea\x30\x1a\x4b\xab\x9d\xd1\xde\x3c\x38\xb3\xad\xe3\xd8\xac\xac\x17\xd3\x05\xc0\x52\xdd\xd5\xe5\x9d\x1c\x05\x30\x2e\x4e\x44\x82\x54\xed\x3c\xf7\x75\x2b\xae\xe8\x5f\x9c\xe4\x25\x57\x7c\x2b\x62\xf6\x0a\xf2\x1e\x5f\xd9\xc9\x9f\xab\x74\x39\x4d\x76\xab\x82\x88\xda\xcc\xa0\x4c\x41\x86\x6c\xcf\x2d\xb7\x88\x9b\xcf\xa4\x3d\x83\xdd\xf9\xd0\x6a\xb7\x75\xdc\xd8\xb8\x9a\x86\x1b\x2c\xe8\xe3\x72\xa3\x73\x5b\x45\x85\x55\xf5\x10\x78\xfe\x30\x61\xcb\x8c\x2b\x50\x90\x89\x43\xa3\xca\xef\x4e\x78\x3c\x23\x0b\x9a\x4d\x84\x52\x3c\xd9\x41\x06\xc8\x64\xae\x90\x32\x0e\xb8\xc5\x77\x51\x22\x23\xb6\xce\x78\xba\xa9\xd9\x41\xe2\x51\xa8\x02\x84\x88\x6f\x04\xcf\x8f\x8b\xd6\x67\xf5\x12\xd8\xe0\x78\xca\x4c\xc1\xeb\x83\xab\x1a\xc9\x2f\x34\xaf\xe3\x6a\x01\x84\x9e\x88\x17\xe3\x08\x7e\xf6\xd2\xd0\x56\xc8\x0d\x89\x69\x0b\x22\x90\xa6\x73\xcc\xd6\xba\x2f\xfc\x8d\xe3\x4a\xdc\x33\x16\xd3\x79\x6c\xc8\xde\x71\xd9\x1c\xc5\x48\x7a\x51\xb5\x22\xb9\x27\xe9\xf1\x9e\x6b\x4c\xe3\x23\x4f\x85\x05\xc2\xbb\x83\x63\x42\x42\x91\xc0\x56\xc8\xfe\x52\x2e\x75\x62\xe9\x1e\x2f\xde\x31\x9d\x81\xd2\x4a\xa1\xe9\x4f\x32\xee\xb2\x0e\xa4\x8a\xc5\xaf\x47\x71\xae\xf4\x5f\xf4\xd6\x6c\x36\xd5\x04\x82\x1e\xf5\xce\xc2\xe9\x94\x09\x73\x09\x17\xf6\x65\xdc\xf8\x56\x5e\x07\xab\xce\x92\x62\x03\x08\x52\x4c\xd2\xf0\x83\xba\xe5\x3b\x16\x6d\xb8\x5a\x07\xae\x09\x00\xf4\x89\x54\x67\xa8\x48\xfa\x08\xe4\x86\x3a\xb3\x39\xed\x94\xa9\x4d\x99\x22\x2e\x90\x80\x00\x6d\x6d\xd3\xb1\xf9\x7a\x9d\x89\x35\xd0\x8c\xcc\x55\x85\x6b\x02\x88\x1d\xad\x18\x0a\xd6\xd3\x97\xaa\xff\x3c\x7c\x37\x5d\xaf\xc1\x22\xdb\xb9\x44\x67\x92\xf3\xf5\xfb\xb9\x3e\xac\x13\x26\xc5\x74\xc2\xbe\xf3\xa0\x74\x11\x69\xe5\x32\xa5\x3b\xd2\x64\x6b\x2e\x7f\xb6\xe7\xe9\xd0\x24\xc6\x69\x6f\x3b\x7c\xd6\x10\x05\x6e\x5d\x34\xbd\xa9\xe6\x05\x2f\xca\x11\x77\x10\x09\xbf\x9f\x99\x1f\xdf\xe2\x6f\xfb\xd6\xf5\x19\x22\xc6\x2d\x29\x99\xf9\xbe\xb9\x39\x4d\xdd\x9e\xb4\xbc\x6d\xac\xf7\x3a\x90\x13\xdd\xed\x40\x7e\x0e\x53\xdd\x32\xcf\xec\xf7\x21\x27\x1d\x6c\x2a\x3d\x7d\x1a\xeb\x22\xb6\xb8\x6e\x4a\x4d\xc9\xeb\xcf\xd8\x96\x13\x20\xcd\x74\x5c\x46\x22\x36\x3b\x17\xde\x43\x88\x88\x71\xa4\x2e\x95\x43\xb2\xed\xa2\xad\x30\x53\xc1\xad\xfb\xa5\x7c\x0e\x83\xc8\xc0\xdd\xf0\xdf\x77\xf8\x1b\xac\xc5\xd7\x36\xe8\xe1\xfe\xc4\x71\xca\x46\xde\x53\xae\xfa\x2a\x85\xb7\xce\xe4\x5a\x2a\x5e\xe8\x8c\x7d\xe3\x52\xb7\x5f\x3b\xdd\xaf\x6e\x0b\x61\xe4\x31\x51\x19\x22\x3c\x26\xbe\xa8\xe1\xd1\xb6\x48\xcd\xb7\xf2\x82\x6f\xd3\x90\x14\xd7\xa9\xaa\xd3\xc8\x24\x38\x08\xce\x36\x01\xdf\xa9\xcc\x7d\xde\xe6\x5c\x51\xc4\x01\xe7\x4d\x67\x21\xab\x7b\xe7\xdd\x9c\x96\xc5\xe2\x40\xa2\xa7\x80\xd2\x04\xcb\x19\xe7\x83\x22\x44\xc2\x47\x9e\x76\x5d\x32\x9c\xfc\x0e\x98\xbd\xe6\xf4\xe6\xad\xb9\x52\x5d\xa4\xd3\xb9\x7a\xe7\x1a\xf4\x96\xa5\x89\x30\xc7\x7c\x99\x0b\xe6\x1b\x67\x89\x06\xfa\x06\x63\x5c\x27\x80\x4e\xf9\xdd\x5e\x26\xa0\x71\x3d\xe9\xf3\xb2\x0c\x98\xac\x5e\x24\xc0\xcd\x07\x1b\xf7\xf2\xcf\xdb\xca\x7b\x11\xd6\x15\x52\xa2\x62\x5e\x13\x7a\x2a\xdc\x29\x6d\x8c\x12\x4b\x1f\x74\x96\xe8\x32\x66\x74\x46\x13\xaa\x20\x9b\xe2\x65\x0f\x1c\xc5\xd3\x69\x57\x9e\xd6\x48\x79\x6a\x77\x9c\xc2\xef\xda\xd7\x0b\x7c\xd6\x71\xa1\xf4\x9e\x64\xc1\x42\xa6\x41\x7e\x81\x95\x4c\xc3\x0d\x0b\xc0\x5d\x31\x76\x01\xb4\x44\x7f\x3b\x97\x73\xd0\xc4\xfe\xf5\x7c\x50\x5f\x3c\xe1\xf8\xde\x15\x3d\xb6\x47\xed\xad\x74\xf1\x0a\xe0\x82\x1c\xe7\xca\x06\xcf\x81\x8c\x13\x38\x19\xc3\x50\x4f\x0b\x5b\x75\x25\x84\x9e\x3f\x1c\x5d\x9d\x65\x8c\xe8\xaf\x2a\xe5\x99\x50\xc5\x02\x6a\x1c\x57\x19\x54\x72\x0d\x3f\xaf\x98\xb6\x83\x5c\xf6\xff\x7e\xa7\x31\x12\x63\x57\xd0\x7f\xb0\x5b\xf2\x3e\x9a\x9b\x45\x02\xdc\x37\x7f\x60\xdf\x48\x40\x87\x05\x51\x6b\x77\x1e\x75\x4c\x17\x75\xe8\x80\xd1\x0b\x3a\x54\xb9\x84\x07\x75\xc8\xb7\x1e\x40\x05\x50\x0a\x39\x62\x29\x7f\xdf\x5c\x8a\xf6\x6f\x81\x18\xc4\x65\xe5\xdf\x40\xdc\x6b\xe6\x2f\x61\xff\x25\x32\xed\x73\xb5\xd0\xad\x18\x16\xdc\xfb\xb2\x3a\x5c\xc7\x1a\x5f\x4e\xa8\xa0\x1c\x4a\x88\xc2\x5f\x88\x5b\x0b\x7d\x3f\xcb\x9d\x7d\x38\x76\x04\xfb\x52\x11\x2d\x3a\xf4\x62\x06\x35\x25\x70\x11\x84\xfa\x2f\xb2\x66\x76\xd8\x0d\x7a\x0a\x9e\x25\x4a\x82\xda\xf2\x94\x90\x98\x04\xfa\xae\x87\xd9\xa6\xd0\x89\x7f\xff\xeb\x7f\x4c\x65\xc7\xf1\x04\x4d\x1f\x0b\x6c\x73\x8d\x7f\x9f\x49\xa1\x62\x08\x9b\xf3\xb8\x29\x65\xa6\x2a\x71\x94\xca\xcd\x63\x96\xe1\xb3\xe4\x6e\xb7\x1b\x11\xf9\x02\x17\xd1\x17\xc0\x5e\x78\xdb\xc1\x6d\xdf\x4a\x64\xb6\xcb\xe8\xcb\x17\xf1\x4e\xf1\xad\x8c\xbe\x68\x1b\x77\x52\x24\x31\x34\x91\x6a\xdf\x17\x3f\x8c\x45\xf4\x30\xd6\xdc\x39\x58\x88\x41\x44\x0f\xec\xa7\xbb\x8f\x1f\x50\x77\x57\xe6\x73\x75\xc9\x0b\xf9\x28\xee\xb3\xc4\x05\x6e\x88\x59\x2b\x4b\xec\x1e\xa9\x12\x83\x07\x24\x54\x96\x45\xdc\xda\x44\xa1\x6e\xc3\x76\x77\xb2\x2c\xa3\x07\x51\x9c\x66\x5c\xc5\x7a\x8b\xdd\x38\xcd\xcb\xd5\x4a\xfe\x3a\x2d\x78\xd6\x21\xe2\x80\x1e\x9f\xaf\xf8\x22\xf1\xd2\x5c\x85\x7f\x9d\xe0\xa3\xe4\x09\x52\xb2\x49\xf0\xbd\xf2\x0c\xc1\x0c\x42\xbe\x15\xc0\xc2\xc9\xaa\x02\x28\x50\x0a\x66\x39\x83\x4e\x68\x9e\x53\xae\x83\x26\x15\xf2\x4f\xc1\x33\xec\x53\xd0\xaa\xaa\x12\xbe\x6d\x94\xd7\xde\xdc\xf2\x07\x7c\xc9\xaf\x33\x91\xe7\x13\x96\x6b\x68\xf1\x5c\xd9\xac\x01\x9b\xd9\x06\x08\x25\xe0\xf1\x4d\x76\x2c\xd2\xa9\x04\xa9\x52\xd7\xaf\x8d\x7e\x82\x88\x4a\x98\xd3\x0b\xea\xd2\xa5\x2a\x64\xc2\xf8\xaa\xa0\x70\x0b\x88\x16\x58\x91\xb2\x7c\x3a\x57\x10\x34\x8f\xa0\xfb\x00\x66\x71\x81\x32\xd7\x89\x9c\xad\x78\x24\x13\x59\x10\x95\x1a\xa4\x83\x71\xd3\x5f\x73\x1f\x98\xb1\xcc\xf8\x8e\x27\xfe\x09\xcc\x93\xd2\xa7\x31\x9f\xe4\xa2\x87\xaa\x53\xe6\x0b\x74\xe5\x7c\x09\x6e\x40\x19\x86\x89\x90\xd6\x7c\x66\x2a\xbf\xac\xdd\xa2\x7f\x08\xff\xb7\xe2\x31\xe9\xb3\x0a\x8e\x70\x9d\x1c\x73\x39\x36\x9d\x23\x4e\xd9\xdb\xdb\x19\x32\xb6\x48\xee\xca\x2b\xc3\x27\x0a\xbb\xeb\x11\xa2\x5b\x1d\xee\x99\xa9\xd5\x63\x6b\xd6\x30\x62\xf4\xda\x8d\xc4\x2f\xe4\x78\xea\xe2\x9a\x1f\xd2\x7c\x1b\x37\xb9\xd6\x3a\x39\x36\x76\x42\xf4\x19\x52\xab\x05\x48\x14\x1f\xf3\x52\xc6\x05\xe0\x5c\x90\x17\xef\x1c\x3a\xc2\x91\xb7\x57\x85\xcd\x08\xb8\x47\x4d\x80\x83\x0c\x1a\xd1\x83\xe9\xcf\xd3\x16\x78\xcc\xc8\xdc\x04\x28\x03\x71\x75\xd6\xb4\x6f\x06\x73\x02\x26\x15\xee\xdb\x08\x04\xb7\xb5\x16\xfe\xa1\xd6\xd2\x5e\xb7\x2a\x0a\x0a\xd7\xaa\x72\x2e\xd6\x90\x08\xdb\x8d\x63\x50\xb7\x1d\xcf\x2d\x57\xe4\xa3\x25\x2b\x7e\xae\x02\x8b\x1d\xd9\xeb\x6c\xf2\x87\x1b\xb5\x36\xcf\x6b\x65\x19\x1e\xed\x79\x3d\x46\xed\xa0\xf7\xe4\x7c\x17\xea\x16\x02\x6a\x27\xd2\xdb\xa5\x54\x96\x3f\x82\xc2\x11\xf0\xd4\x98\x59\x32\x59\x17\x3a\xb2\x4f\x06\x54\xb3\xa9\x8d\xbd\x33\x73\x42\x5e\xde\xf0\xc8\xda\xf7\x1c\x0f\xdf\x77\xcf\x2b\xcc\xd0\x11\x13\xae\xf7\xc0\x5c\x20\xc9\x13\xdf\xe5\xa0\xed\x2d\xcc\xa9\xb8\x42\x17\x7c\xb5\xfd\x93\xc0\xfc\xb0\x44\xc5\x73\x05\x23\x54\x92\xe4\x3f\xf5\x45\x12\x57\x43\x62\x55\xcc\x3d\x2b\xdb\xab\xbc\x7d\x70\xbe\x4e\x54\x2d\xeb\x8d\xaa\x21\x5c\xe0\xef\x23\x90\xd6\xe3\xae\x3f\x32\x6a\x10\x5c\x93\x68\x31\x12\xa0\x0b\x52\xec\x1c\x98\x60\xc2\xb6\x5c\x2a\xda\x06\xa8\x14\x19\x8b\x65\xb9\x5e\x77\x3a\xb3\x7f\xfb\x51\xb1\xea\x3e\xf9\x87\x8f\x5a\xf4\xf2\x0a\x3e\x87\x23\xfc\xc2\xd6\x84\x9e\x79\xf3\xee\xfb\x32\xbe\xef\xdf\xe3\x26\x7f\x8f\x71\x93\x8b\x21\x71\x13\x0b\x2a\x84\xdc\x4e\xf2\x0e\x58\xe0\xd7\xef\x01\x95\xdf\x03\x2a\xfd\x4b\xfd\x79\x02\x2a\x48\x95\xb4\x90\xd5\xa7\x54\x4f\x2b\x0f\x64\x13\x75\x04\xdb\x70\x31\x21\x63\x9f\xb9\x87\xe3\x9c\x2d\x79\xf4\x02\xf4\xa2\x60\xc7\x1c\xef\xb9\xdd\x03\x28\xbb\xd5\x5b\xc1\xa0\xaa\x1c\xd5\xa0\x18\x65\x06\x4f\x00\x01\x6e\x3a\xe8\x51\x58\x84\xf1\x02\xc3\x07\xd1\x60\xb1\x7f\xfe\x7c\xa3\xc4\x13\x33\x76\xc5\x24\x84\xc4\x06\xd3\x03\x32\x81\xaf\x8d\x1d\x5f\xc9\x9f\x71\x34\x28\x99\x58\xf3\x2c\x86\xac\x2d\x3a\x6d\x12\x1e\x3d\x98\xff\x86\xf6\x51\x8d\x04\xdb\xb5\x8a\x25\x08\x25\xf7\xa5\x49\x15\x21\xc1\x24\x21\x84\x7d\xfb\xf0\xe7\x39\xe3\x51\xa6\x73\x74\xef\x39\x75\x6d\x60\x0d\x80\xa7\xc6\xa3\x8c\x4b\x9e\x60\x8d\x9d\x31\x91\xb1\x90\xd0\x3a\x88\x2f\x10\xc2\x6b\x22\x44\x69\x3a\x90\xf7\x4b\xb6\xec\xe5\xfb\x5c\x10\x72\x33\xb7\x1b\xb8\xb7\xa5\x2f\x66\xe8\x35\x70\xb6\x9d\xd6\x5e\xcf\x00\xd8\xc4\x85\x60\x20\xf2\xee\x91\xd8\x43\x52\x7b\xcc\xa4\x8c\x26\xdb\xbe\x08\xd4\xf8\xfd\xb0\xe0\x8b\x2e\x13\x3c\xde\x85\x0c\x97\x52\x31\x88\xa7\x32\x1e\x6f\xa5\x32\x9b\xc0\x2a\xbe\xba\x4b\xd4\x8a\x3f\x20\x8c\x1f\x84\xd1\x92\xa4\x66\x07\xe7\x4c\x09\xf3\x0c\xe0\x99\x4c\x76\x70\x9c\xa7\x99\x38\x09\xea\x09\xe6\x87\xb2\x08\x41\xc6\x82\xa8\x79\xca\x5c\xac\xca\x04\xdf\x87\xe0\x41\x71\x1d\xa0\x13\xe9\xfe\x62\x62\x4c\xc3\x82\xe4\x88\x82\x8a\x51\xe4\xf3\x39\x32\xb2\x1a\x71\xe5\x71\xb1\x51\xcf\xc0\x9a\x41\xe2\xc8\x46\x3f\xd9\xf4\xd1\x27\xee\xf3\x03\xba\x0c\x87\x67\x8b\x87\xf5\xbf\x18\xec\x5b\xdd\x9e\x53\x01\x8d\xa2\x0b\x82\xd2\x67\x22\x76\x67\x93\x54\xd0\x1d\xd2\xc9\xf6\x31\x86\x32\xc7\x2c\x54\x33\x97\x70\x7f\x59\x97\x54\x35\xc4\xc0\x5c\xef\x64\xae\x15\x9b\x97\xdf\x7e\xfb\x47\xc1\xbe\x85\xb4\x5c\x7a\x39\x62\x24\x13\x38\x58\xb1\x74\x38\xb2\x5d\x05\x02\x09\x5a\x1b\x33\xc2\xda\x60\xdf\x96\x03\x03\x80\xd3\x3c\xda\xb0\xbc\x5c\x22\x2a\x98\x53\x30\x8c\x2b\xc7\xe5\xfe\x41\x03\xc0\x17\x6f\x77\xdb\xfa\xff\x25\xa1\x1f\x54\x8e\x99\xab\x54\xa3\xdc\x00\xc0\xa9\x97\x82\x6d\x79\xf6\x00\x42\xc0\x18\x48\x01\x79\x85\x6f\xa4\x98\x56\x03\x41\xaf\x2b\xed\xa1\xd0\x1b\xd2\x88\xb3\xac\x54\xca\x2a\x9b\x31\x63\x73\xfb\xa8\xcc\x64\xae\x96\x65\xe8\x25\xa8\x84\x75\xfc\xd2\x82\xd0\x0e\x1c\xb6\x1a\xf8\x77\xa8\x51\x3c\xf7\xed\x9a\xb2\x01\xf1\x9d\xb9\x7a\xe6\x00\xcf\x3e\xd7\xec\x35\xd9\x60\xd6\xed\x1a\xe4\x00\x41\x77\x43\xf1\x6d\x98\x0e\x5c\xf6\x60\xe4\x5c\x83\x02\xf7\x84\xfd\x24\x1f\xc5\x84\xdd\xa6\x3c\x7b\x98\xb0\x77\x18\xa8\xfd\x93\x5e\xb6\x79\x5b\x1b\x24\x2d\x47\x7b\x5c\x0f\x73\x38\xf6\x91\x17\xb5\x3f\x1f\x7e\x69\xd8\xd2\xac\x0b\xa5\xf0\xf7\x89\x72\xed\xe0\xcf\xf9\x47\xf7\x19\xed\x01\x14\xfc\x8e\xa0\xfc\xfd\xc1\xff\x0f\xf8\xe0\x7f\x09\x44\xd3\x1f\xc2\xff\xb5\xa7\xbe\xb5\x53\xc1\x62\xa7\xbb\xa1\x15\x75\xf9\xdb\xa2\x58\x90\x71\xdd\x94\x69\x32\x2d\x0c\x3b\x40\x88\xc8\x22\x76\x24\x1b\x23\xd2\x7f\xe8\xa7\x76\xbc\xce\x12\x9d\x97\x59\xff\x91\x79\x53\x6d\xb5\xad\xbd\x85\x74\x18\xb6\xe8\x76\x29\x80\x3f\x65\x28\xbc\x0a\xbf\xb6\xf8\x4f\xbd\x5c\x00\x96\xf0\xb8\x73\xb1\xad\x38\x47\x65\xae\xa3\x4a\x53\xbd\x5d\x71\x9b\x0a\xe0\xbe\xf3\x06\xbc\x0f\x78\xd5\x56\x98\x73\x28\xcd\x95\x55\x7f\xc0\xdc\xfd\x2c\x13\x40\x53\x9f\x09\xd0\xd8\x64\x29\xcf\x1c\xa0\xc7\xda\x91\xc1\x7b\xd1\x83\xbe\xc2\x7c\x5b\x48\x9b\xa7\x57\xea\x52\x08\xe5\x46\x7b\x8c\x01\x06\x94\xec\xb5\xd1\x27\x34\xe7\x93\xb0\x22\x20\x1d\x7a\xc0\x8d\xdf\x05\x2f\x68\x78\xa8\xac\x45\x11\xdc\x81\x35\x83\xac\xb2\x35\x2b\x11\xd8\xdf\x54\xee\x51\x2b\xc6\xa2\x46\x13\x58\x71\x3b\x0d\xf2\xf0\x3f\x47\x3c\xe8\x9a\x17\x1b\x74\x03\x6c\x75\x21\xf0\x48\x46\xbe\x32\x5c\x2f\x18\x86\x58\x26\x7a\x09\xe2\x96\xe6\x93\xae\x17\x75\x44\x5b\x7b\xd0\xd0\x35\x27\x6c\xc8\xc9\x60\x4e\x13\xc8\xf9\xcf\x44\x0e\xd4\x4f\xcd\x28\xec\xd0\xf0\xc8\x38\x57\x45\xb3\xb9\xe6\xd0\x6f\x5e\x76\x4d\x79\x18\xb3\xad\x01\x8c\x7d\x7e\x40\x2e\x5f\x43\x6c\x87\x68\xd3\x09\xe6\x80\xcc\xc9\xb5\xfe\x22\x6f\xd7\x0e\x48\x39\xe1\x93\xe0\x12\xe0\x5e\xef\xcd\xe1\x9d\x49\x2e\xdb\xed\x3f\x4c\xa4\x67\xb3\x10\x61\x4b\x7e\x95\x89\xf7\x00\xc3\x13\x6a\x02\xf9\xd5\xaa\x90\x99\x60\x0a\x50\x36\x73\x95\x97\xcb\x13\x4f\x91\x64\xde\xbe\x8f\x40\xeb\x95\x8b\x94\xc3\x03\x10\x98\xd3\x4e\x5a\xed\x96\xbb\x8a\x6e\x93\xa5\x12\xe5\x09\x1d\xfe\x90\xb5\x8d\x1c\x1d\xae\xef\xae\x1c\xf3\xc4\x05\xdf\x83\x85\xe3\xe1\x65\xd7\x77\x5e\x80\xb2\x1c\xe4\x82\xdf\x20\x4a\xe8\x6b\x5f\xe0\x61\xb4\x7f\xe8\xd5\x0d\xf1\xe2\xb9\xfa\x7f\xed\xdd\xd0\x0d\x9a\x1f\xb1\xd2\xcd\xc8\x98\x2b\xaa\x13\xcc\x5f\x69\x9b\x7d\x78\x07\xa6\x73\x77\xa3\x1a\x4b\xbe\xad\x54\x6e\x71\x5b\xa1\xbc\x90\xa6\xc4\x7d\xf8\xf4\x51\xe6\x81\xf0\x00\xd4\x76\x2b\x04\x7b\x9b\x89\xd5\xdb\x4f\x99\x58\x2d\xec\x4c\x4f\xa1\x43\x53\xd3\xa3\xa6\xfc\xc0\xc0\xc5\x91\xa7\x5a\xb5\xd3\xb0\xee\xa1\x49\xae\x75\x09\xcb\x09\xfa\x24\x57\xcc\x0b\x0b\x9b\xfe\x00\x17\x8d\x88\xeb\xba\x08\x8d\x96\x7d\xf1\x6b\xae\x0b\xe9\x38\x00\x4a\xd8\x21\xc8\xfb\x8f\x7f\xbd\x55\xc6\x6c\xc8\xf5\x76\x57\x85\x84\xd9\xc3\x9e\x2b\x77\xe1\x75\xe3\x9e\xbf\x6c\xf6\x05\x4c\x60\x9e\xf2\x27\x45\x8c\x5a\xa3\x1c\x76\xc3\xae\xb5\x1a\x40\x2e\xb8\xd6\x1a\x18\x4f\xbf\xcb\x94\xf5\x8f\x4a\xa7\xe9\x3a\x61\xde\xef\xc0\x93\x24\x54\x77\xf1\xf1\xc9\xb9\xf2\x19\xf2\xc6\x6a\x4d\x12\xeb\xf8\xac\xd8\x1b\xc4\x9f\x16\x03\x35\x81\x98\x58\xfa\x27\x22\x4e\xa5\x28\xe2\xc9\x92\x83\xaa\xb8\xd3\xf3\xdb\xb7\x9b\x9f\xeb\x11\xf9\x1b\x63\x68\xd8\x13\xaf\xc7\x6a\x17\x0f\xa2\x01\xd7\xdf\xdb\xd6\xf6\xf8\x50\x40\x6e\x03\x9b\xd9\x9e\xb2\x11\xcf\x32\x9b\xc5\x42\xb5\x32\xf3\x56\x5a\xf1\xa8\xe2\x1c\xee\x68\xe7\x46\x44\x0f\xa9\x96\x6a\xf4\x59\x54\x21\xdb\x81\xc5\x5e\x30\x5f\x9a\x7b\x1d\x0e\xba\x1c\x2b\xf6\x24\x76\x04\xa0\x4a\x0e\xfa\xec\x69\x21\x39\x73\xaa\xed\xdd\xcb\xee\xb9\xfd\x17\xc2\xdf\x0d\x2f\xe0\xc1\x6e\x89\xaa\xd5\x6e\x15\xde\xe2\x37\xaa\x70\x12\xf3\x46\x76\xe3\xc0\xc1\xe6\xac\x42\xa6\xda\x3a\xa4\xe0\x8a\xfa\xdd\x33\xf4\xbb\x67\xe8\xef\xdc\x33\xf4\x25\xdd\x42\x80\x28\x7a\x49\x9f\x50\x0f\xac\xe0\x88\xed\xe8\x6a\x1d\x9d\xc3\xdb\x6a\x1d\x4f\x02\x01\xfa\x20\x93\xb7\x99\xc8\x62\x29\x79\xcc\xf8\x2c\x79\xf4\x20\x54\x27\xb2\xc1\x12\xa9\x75\x6a\x01\x3f\x2f\xee\xa7\x8d\x07\x2e\xf8\x75\x3f\x00\xc8\x03\xc4\x88\xbe\xbc\x8d\x9a\xc8\xec\x13\xb0\x3d\x4d\xc7\x4f\x00\x6a\xa7\x33\x47\xb1\x9f\x53\x96\x29\x86\x70\x91\xb0\x0d\x21\x66\x35\x52\xfa\xc6\xa0\x76\xc2\x0e\xb0\xe2\x45\xaa\x75\xd2\x0a\x28\x7c\xd6\x01\x6c\x24\x82\x0d\x1d\xbc\x0b\x34\x46\xf3\x10\x66\x67\x47\xd1\x27\x15\xf9\x14\x24\xcc\x37\x02\x55\x1e\x58\x4d\x71\x09\xb9\xc2\x7e\x38\x02\xa9\x4f\xee\x1c\x2e\x84\xac\x5b\x8a\x88\x83\x08\xb1\x85\x3c\x46\xdc\x65\x57\x85\xf4\x6c\x8d\x74\xa7\xbc\x59\x4f\x47\xac\x17\xca\x5d\xc8\x36\x09\x9e\xb1\x9b\xab\x66\x21\xd8\xd4\x09\x6c\xb9\xc5\xdf\x58\x02\xd8\x7d\xe2\xda\x96\xed\x7e\x01\x4a\xa0\xc3\x6e\xb8\xd6\x73\xe7\x82\x0a\x3a\x83\x72\x86\x1f\xa4\x3f\x41\xba\xd9\x76\x20\xde\x69\xae\x66\x4e\x73\xd9\x23\xe6\x1c\xde\x11\x83\xcc\x88\xf4\x6c\x4c\x0d\xb2\xca\xfa\x97\xcb\x84\xe5\x65\xb4\x01\xde\xdc\xea\x39\x15\x9e\x5b\xcd\x1d\x3b\x99\x2b\xf3\x20\x02\x57\xcb\x96\x03\xef\xc3\x93\x31\x56\x73\xf9\x5f\xc2\x81\xda\x88\x46\x30\xc4\xb1\xe1\xc3\x49\xab\x56\xcc\x9f\xa5\x30\x46\x58\x8a\x47\xe2\x94\x69\xcc\x0b\x31\x9d\x7b\x8c\x92\x44\x4f\xa7\xc5\xc6\x90\xc9\x9c\x87\x1d\x0b\xd1\x9f\xb5\x93\x36\x91\x2b\x11\xed\xa2\x86\x22\x59\x3f\x0d\xca\xef\xcf\xb6\xdf\xd6\xb3\x0d\xf9\xbe\x31\x27\x76\xcc\xd0\x52\x53\x6f\xfc\xcf\x8f\x1b\x5c\xc1\x82\x96\xe4\x23\xc6\xf9\x0b\x3e\x3b\x5b\x6c\xe0\x71\xf6\xfc\xe0\x77\x50\xff\x75\xe6\x1f\xb6\xfe\xb2\x0e\x28\x3e\x1a\x66\x61\x18\x5c\x2c\xc2\xa5\x63\x0c\xda\xbd\x29\xf8\xfb\x59\x94\x7e\x53\x90\xae\x21\x0f\x57\x63\x71\x3b\x90\xd7\xa5\xb5\xb4\x95\xc0\xfb\xae\xc7\xe2\x0e\xf4\x25\x78\xf1\x2a\x77\xa3\x5e\x3d\x01\x6d\xc6\xc4\x07\x99\x17\x3f\xd7\xd4\x8b\x0f\x93\x3f\x7e\x31\xd3\xd4\x36\x15\x9b\x39\xd4\xa2\xba\xa9\xda\x3c\x7a\x65\xd7\x1c\x3c\x9e\xac\x5e\xa5\x69\xf7\x98\x77\xd0\x27\x37\x5e\x9f\xf0\x6a\x7a\xca\x78\x9a\x8a\xcc\x5e\xe4\x0d\x5b\x0b\xc4\x1f\xa1\x16\x50\x6f\xdd\x08\xf6\xa7\xdb\xab\xcb\xfa\x2b\xd7\x1c\x25\xb5\xa2\xe1\x6b\x30\x74\xd3\xf6\x99\xbb\x2c\x93\xa4\x73\xe6\xf6\x6b\xca\x5d\xde\x7f\xf8\xb0\xf8\x79\xf6\xe1\xfe\xdc\x76\xbf\x55\xa3\x2d\xf8\x5a\xe7\x98\xb8\x96\xd0\x98\x78\x15\x58\x53\xad\xc8\x6c\x9a\xbe\xef\x35\x3a\xb9\xca\x24\xa9\xea\xf7\xcd\xd5\x27\x2a\x07\xc0\xed\xa8\x4d\x6c\xc6\x8d\xf5\x0e\x5c\xb5\x7e\xf8\xda\x27\x53\xf8\x27\xfc\xed\x09\xf3\x9d\x78\x0b\x2a\xb3\xa4\x5e\xd9\x3e\xae\x94\x43\x74\xc4\x76\x40\x08\x75\xd7\x76\x78\x6e\x85\xd2\xc3\xb6\xc7\xbd\x02\x6d\x04\x11\x5b\x61\xd1\x67\xd9\x1d\x38\x76\x9f\xaa\x71\x6a\x77\x96\xc7\xf8\xa4\x81\x72\x27\xa8\x2b\x09\x6a\xf9\x5e\x7a\x71\xae\xd0\x07\x6a\xda\x54\xe8\xee\x36\xb1\x0b\x32\x6f\x13\xae\xd6\x25\x5f\x1b\xeb\xd6\x56\x3e\x57\x5b\xb9\xde\x20\xcf\x4d\x99\x7a\x54\x37\x67\x0a\xe8\x90\x6a\x4b\xa8\x86\xea\x96\x6a\xae\xa8\x4f\x6a\xed\x8b\x47\x84\xf1\x9f\x6e\x5d\x77\x08\xca\x8f\x05\x91\x34\xa6\x9a\x2b\x9c\x5c\xe4\xdf\xb1\x91\x10\x78\xb1\xf0\xa2\xbe\x74\x39\xc4\x2e\x41\x8d\x17\xce\xf4\x35\xc4\x64\xe6\xca\xa5\xa0\xa3\xe7\x88\xfa\x10\x48\x28\x61\x93\xf6\x9f\x27\x76\x32\xec\x9e\xa0\xb6\xb5\xaf\xfa\xa3\xef\x00\xb3\xe1\x16\x23\x74\xf0\x9b\xc7\xd8\x40\x6f\x21\x0f\x0e\x8e\x2e\x5e\x12\xe0\x1d\x68\x6f\x8d\xed\x17\x7e\xa7\x13\x10\xac\xcb\x65\x32\xa2\x49\xf8\xfd\xde\x46\xe1\x91\xdc\xdf\xa8\x01\xcf\xe1\x9b\xda\xd6\x32\xcb\xb4\xaf\xda\xa5\xd6\x1d\xf3\xf2\x8c\x01\xc5\x4a\xa3\xe8\x07\xfb\x06\xa3\x8c\x8a\x43\xd6\xcb\x80\x14\xcf\xfa\x10\xd9\xd3\xa7\xaf\x41\x89\xcc\x0f\x6a\x8e\xb7\x9f\x06\xb7\xc8\x59\x08\x74\xd9\x8d\x3a\x61\xe9\x9e\xab\x1c\xb0\x1d\xc7\x24\xc5\x93\xac\xa0\xbc\xc4\xe3\xc5\x6c\x1e\x54\x7b\x37\xeb\x7f\xe2\x16\xd1\xc4\xcf\xdc\x04\x1a\x19\x95\x59\x6e\x8e\x4b\x3a\xef\xe8\xd4\xd6\x19\xe3\x73\x65\x13\xfc\xec\x71\x3c\xb3\xd8\xdf\xcc\xfd\x15\xd3\x66\x53\x54\xf6\x00\x8b\xb5\x60\x5a\x09\x7b\x1a\xce\x15\x09\xeb\xe7\x13\xc6\x97\xb9\x15\xf7\xe7\x6a\xe7\x14\xf7\xa5\xa3\xe7\xe2\x8a\x01\x56\x7c\xff\x99\x57\x33\x03\x2a\xf7\xfc\x1f\xcc\xff\xfd\xcf\x1f\xfe\x6f\x00\x00\x00\xff\xff\x3c\x9c\x22\x47\x1e\xc9\x04\x00")
 
 func adminSwaggerJsonBytes() ([]byte, error) {
 	return bindataRead(
@@ -93,7 +93,7 @@ func adminSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "admin.swagger.json", size: 313180, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)}
+	info := bindataFileInfo{name: "admin.swagger.json", size: 313630, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
diff --git a/flyteidl/gen/pb-java/flyteidl/core/Literals.java b/flyteidl/gen/pb-java/flyteidl/core/Literals.java
index e86828d637..d8a5f414c4 100644
--- a/flyteidl/gen/pb-java/flyteidl/core/Literals.java
+++ b/flyteidl/gen/pb-java/flyteidl/core/Literals.java
@@ -12309,19 +12309,36 @@ public interface InputDataOrBuilder extends
       com.google.protobuf.MessageOrBuilder {
 
     /**
+     * 
+     * A map of input variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ boolean hasInputs(); /** + *
+     * A map of input variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ flyteidl.core.Literals.LiteralMap getInputs(); /** + *
+     * A map of input variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder(); } /** + *
+   * InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to
+   * their values.
+   * 
+ * * Protobuf type {@code flyteidl.core.InputData} */ public static final class InputData extends @@ -12408,18 +12425,30 @@ private InputData( public static final int INPUTS_FIELD_NUMBER = 1; private flyteidl.core.Literals.LiteralMap inputs_; /** + *
+     * A map of input variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public boolean hasInputs() { return inputs_ != null; } /** + *
+     * A map of input variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public flyteidl.core.Literals.LiteralMap getInputs() { return inputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : inputs_; } /** + *
+     * A map of input variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { @@ -12587,6 +12616,11 @@ protected Builder newBuilderForType( return builder; } /** + *
+     * InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to
+     * their values.
+     * 
+ * * Protobuf type {@code flyteidl.core.InputData} */ public static final class Builder extends @@ -12745,12 +12779,20 @@ public Builder mergeFrom( private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> inputsBuilder_; /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public boolean hasInputs() { return inputsBuilder_ != null || inputs_ != null; } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public flyteidl.core.Literals.LiteralMap getInputs() { @@ -12761,6 +12803,10 @@ public flyteidl.core.Literals.LiteralMap getInputs() { } } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { @@ -12777,6 +12823,10 @@ public Builder setInputs(flyteidl.core.Literals.LiteralMap value) { return this; } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public Builder setInputs( @@ -12791,6 +12841,10 @@ public Builder setInputs( return this; } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { @@ -12809,6 +12863,10 @@ public Builder mergeInputs(flyteidl.core.Literals.LiteralMap value) { return this; } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public Builder clearInputs() { @@ -12823,6 +12881,10 @@ public Builder clearInputs() { return this; } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { @@ -12831,6 +12893,10 @@ public flyteidl.core.Literals.LiteralMap.Builder getInputsBuilder() { return getInputsFieldBuilder().getBuilder(); } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { @@ -12842,6 +12908,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder() { } } /** + *
+       * A map of input variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap inputs = 1; */ private com.google.protobuf.SingleFieldBuilderV3< @@ -12915,19 +12985,36 @@ public interface OutputDataOrBuilder extends com.google.protobuf.MessageOrBuilder { /** + *
+     * A map of output variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ boolean hasOutputs(); /** + *
+     * A map of output variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ flyteidl.core.Literals.LiteralMap getOutputs(); /** + *
+     * A map of output variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder(); } /** + *
+   * OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to
+   * their values.
+   * 
+ * * Protobuf type {@code flyteidl.core.OutputData} */ public static final class OutputData extends @@ -13014,18 +13101,30 @@ private OutputData( public static final int OUTPUTS_FIELD_NUMBER = 1; private flyteidl.core.Literals.LiteralMap outputs_; /** + *
+     * A map of output variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public boolean hasOutputs() { return outputs_ != null; } /** + *
+     * A map of output variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public flyteidl.core.Literals.LiteralMap getOutputs() { return outputs_ == null ? flyteidl.core.Literals.LiteralMap.getDefaultInstance() : outputs_; } /** + *
+     * A map of output variables to their values.
+     * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { @@ -13193,6 +13292,11 @@ protected Builder newBuilderForType( return builder; } /** + *
+     * OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to
+     * their values.
+     * 
+ * * Protobuf type {@code flyteidl.core.OutputData} */ public static final class Builder extends @@ -13351,12 +13455,20 @@ public Builder mergeFrom( private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.LiteralMap, flyteidl.core.Literals.LiteralMap.Builder, flyteidl.core.Literals.LiteralMapOrBuilder> outputsBuilder_; /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public boolean hasOutputs() { return outputsBuilder_ != null || outputs_ != null; } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public flyteidl.core.Literals.LiteralMap getOutputs() { @@ -13367,6 +13479,10 @@ public flyteidl.core.Literals.LiteralMap getOutputs() { } } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public Builder setOutputs(flyteidl.core.Literals.LiteralMap value) { @@ -13383,6 +13499,10 @@ public Builder setOutputs(flyteidl.core.Literals.LiteralMap value) { return this; } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public Builder setOutputs( @@ -13397,6 +13517,10 @@ public Builder setOutputs( return this; } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public Builder mergeOutputs(flyteidl.core.Literals.LiteralMap value) { @@ -13415,6 +13539,10 @@ public Builder mergeOutputs(flyteidl.core.Literals.LiteralMap value) { return this; } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public Builder clearOutputs() { @@ -13429,6 +13557,10 @@ public Builder clearOutputs() { return this; } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public flyteidl.core.Literals.LiteralMap.Builder getOutputsBuilder() { @@ -13437,6 +13569,10 @@ public flyteidl.core.Literals.LiteralMap.Builder getOutputsBuilder() { return getOutputsFieldBuilder().getBuilder(); } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { @@ -13448,6 +13584,10 @@ public flyteidl.core.Literals.LiteralMapOrBuilder getOutputsOrBuilder() { } } /** + *
+       * A map of output variables to their values.
+       * 
+ * * .flyteidl.core.LiteralMap outputs = 1; */ private com.google.protobuf.SingleFieldBuilderV3< diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py index 53f543fb1c..bf9d9f7ae5 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_input_data.py @@ -53,6 +53,7 @@ def __init__(self, inputs=None): # noqa: E501 def inputs(self): """Gets the inputs of this CoreInputData. # noqa: E501 + A map of input variables to their values. # noqa: E501 :return: The inputs of this CoreInputData. # noqa: E501 :rtype: CoreLiteralMap @@ -63,6 +64,7 @@ def inputs(self): def inputs(self, inputs): """Sets the inputs of this CoreInputData. + A map of input variables to their values. # noqa: E501 :param inputs: The inputs of this CoreInputData. # noqa: E501 :type: CoreLiteralMap diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py index 706478f12f..5a68582ea6 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_output_data.py @@ -53,6 +53,7 @@ def __init__(self, outputs=None): # noqa: E501 def outputs(self): """Gets the outputs of this CoreOutputData. # noqa: E501 + A map of output variables to their values. # noqa: E501 :return: The outputs of this CoreOutputData. # noqa: E501 :rtype: CoreLiteralMap @@ -63,6 +64,7 @@ def outputs(self): def outputs(self, outputs): """Sets the outputs of this CoreOutputData. + A map of output variables to their values. # noqa: E501 :param outputs: The outputs of this CoreOutputData. # noqa: E501 :type: CoreLiteralMap diff --git a/flyteidl/gen/pb_rust/flyteidl.core.rs b/flyteidl/gen/pb_rust/flyteidl.core.rs index 8d63192611..e46c87c9bd 100644 --- a/flyteidl/gen/pb_rust/flyteidl.core.rs +++ b/flyteidl/gen/pb_rust/flyteidl.core.rs @@ -518,15 +518,21 @@ pub struct LiteralMap { #[prost(map="string, message", tag="1")] pub literals: ::std::collections::HashMap<::prost::alloc::string::String, Literal>, } +/// InputData represents the inputs to a task or workflow. It's an envelope that contains a map of input variables to +/// their values. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct InputData { + /// A map of input variables to their values. #[prost(message, optional, tag="1")] pub inputs: ::core::option::Option, } +/// OutputData represents the outputs of a task or workflow. It's an envelope that contains a map of output variables to +/// their values. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct OutputData { + /// A map of output variables to their values. #[prost(message, optional, tag="1")] pub outputs: ::core::option::Option, } diff --git a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go index c1bbddeb62..e68ed045f2 100644 --- a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go +++ b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go @@ -12,6 +12,38 @@ type InputFilePaths struct { mock.Mock } +type InputFilePaths_GetInputDataPath struct { + *mock.Call +} + +func (_m InputFilePaths_GetInputDataPath) Return(_a0 storage.DataReference) *InputFilePaths_GetInputDataPath { + return &InputFilePaths_GetInputDataPath{Call: _m.Call.Return(_a0)} +} + +func (_m *InputFilePaths) OnGetInputDataPath() *InputFilePaths_GetInputDataPath { + c_call := _m.On("GetInputDataPath") + return &InputFilePaths_GetInputDataPath{Call: c_call} +} + +func (_m *InputFilePaths) OnGetInputDataPathMatch(matchers ...interface{}) *InputFilePaths_GetInputDataPath { + c_call := _m.On("GetInputDataPath", matchers...) + return &InputFilePaths_GetInputDataPath{Call: c_call} +} + +// GetInputDataPath provides a mock function with given fields: +func (_m *InputFilePaths) GetInputDataPath() storage.DataReference { + ret := _m.Called() + + var r0 storage.DataReference + if rf, ok := ret.Get(0).(func() storage.DataReference); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(storage.DataReference) + } + + return r0 +} + type InputFilePaths_GetInputPath struct { *mock.Call } diff --git a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go index 68ba786c63..8c62612a0c 100644 --- a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go +++ b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go @@ -58,6 +58,38 @@ func (_m *InputReader) Get(ctx context.Context) (*core.InputData, error) { return r0, r1 } +type InputReader_GetInputDataPath struct { + *mock.Call +} + +func (_m InputReader_GetInputDataPath) Return(_a0 storage.DataReference) *InputReader_GetInputDataPath { + return &InputReader_GetInputDataPath{Call: _m.Call.Return(_a0)} +} + +func (_m *InputReader) OnGetInputDataPath() *InputReader_GetInputDataPath { + c_call := _m.On("GetInputDataPath") + return &InputReader_GetInputDataPath{Call: c_call} +} + +func (_m *InputReader) OnGetInputDataPathMatch(matchers ...interface{}) *InputReader_GetInputDataPath { + c_call := _m.On("GetInputDataPath", matchers...) + return &InputReader_GetInputDataPath{Call: c_call} +} + +// GetInputDataPath provides a mock function with given fields: +func (_m *InputReader) GetInputDataPath() storage.DataReference { + ret := _m.Called() + + var r0 storage.DataReference + if rf, ok := ret.Get(0).(func() storage.DataReference); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(storage.DataReference) + } + + return r0 +} + type InputReader_GetInputPath struct { *mock.Call } From d250dd2f913779ed31b5ea27b6098ab2682ccc54 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Fri, 29 Dec 2023 08:56:48 -0800 Subject: [PATCH 09/25] wip Signed-off-by: Haytham Abuelfutuh --- cmd/single/without_console_dist.go | 1 - .../async/schedule/aws/workflow_executor.go | 27 +- .../schedule/aws/workflow_executor_test.go | 8 +- flyteadmin/pkg/common/mocks/storage.go | 17 +- flyteadmin/pkg/common/testutils/common.go | 19 +- .../pkg/manager/impl/execution_manager.go | 133 +++-- .../manager/impl/execution_manager_test.go | 484 +++++++++++------- .../manager/impl/launch_plan_manager_test.go | 4 +- .../manager/impl/node_execution_manager.go | 6 +- .../impl/node_execution_manager_test.go | 19 +- .../manager/impl/task_execution_manager.go | 6 +- .../impl/task_execution_manager_test.go | 18 +- flyteadmin/pkg/manager/impl/util/data.go | 50 +- flyteadmin/pkg/manager/impl/util/data_test.go | 58 ++- .../validation/execution_validator_test.go | 41 +- .../impl/validation/validation_test.go | 20 +- .../transformers/execution_test.go | 46 +- .../transformers/node_execution_test.go | 36 +- .../transformers/task_execution_test.go | 30 +- .../catalog/async_client_impl.go | 2 +- .../catalog/async_client_impl_test.go | 40 +- .../tasks/pluginmachinery/catalog/hashing.go | 2 +- .../pluginmachinery/catalog/hashing_test.go | 20 +- .../pluginmachinery/core/exec_metadata.go | 1 + .../pluginmachinery/core/template/template.go | 63 ++- .../core/template/template_test.go | 9 +- .../flytek8s/container_helper.go | 22 +- .../flytek8s/container_helper_test.go | 8 +- .../tasks/pluginmachinery/flytek8s/copilot.go | 2 +- .../pluginmachinery/flytek8s/copilot_test.go | 2 +- .../pluginmachinery/flytek8s/pod_helper.go | 4 +- .../flytek8s/pod_helper_test.go | 4 +- .../go/tasks/pluginmachinery/io/iface.go | 2 +- .../io/mocks/input_file_paths.go | 32 +- .../pluginmachinery/io/mocks/input_reader.go | 27 +- .../ioutils/in_memory_output_reader_test.go | 19 +- .../go/tasks/pluginmachinery/ioutils/paths.go | 8 +- .../ioutils/remote_file_input_reader.go | 29 +- .../ioutils/remote_file_input_reader_test.go | 8 +- .../ioutils/remote_file_output_writer.go | 2 +- .../ioutils/remote_file_output_writer_test.go | 4 +- .../tasks/plugins/array/array_tests_base.go | 24 +- .../plugins/array/awsbatch/launcher_test.go | 2 +- .../plugins/array/awsbatch/transformer.go | 2 + .../array/awsbatch/transformer_test.go | 2 +- flyteplugins/go/tasks/plugins/array/inputs.go | 5 +- .../go/tasks/plugins/array/inputs_test.go | 4 +- .../plugins/array/k8s/management_test.go | 4 +- .../go/tasks/plugins/array/outputs_test.go | 21 +- .../go/tasks/plugins/hive/execution_state.go | 1 + .../plugins/hive/execution_state_test.go | 2 +- .../go/tasks/plugins/hive/test_helpers.go | 5 +- .../go/tasks/plugins/k8s/dask/dask_test.go | 4 +- .../plugins/k8s/kfoperators/mpi/mpi_test.go | 4 +- .../k8s/kfoperators/pytorch/pytorch_test.go | 4 +- .../kfoperators/tensorflow/tensorflow_test.go | 4 +- .../tasks/plugins/k8s/pod/container_test.go | 4 +- .../go/tasks/plugins/k8s/pod/sidecar_test.go | 4 +- .../go/tasks/plugins/k8s/ray/ray_test.go | 4 +- .../go/tasks/plugins/k8s/spark/spark_test.go | 4 +- .../tasks/plugins/presto/execution_state.go | 1 + .../go/tasks/plugins/presto/helpers_test.go | 8 +- .../plugins/webapi/agent/integration_test.go | 16 +- .../go/tasks/plugins/webapi/agent/plugin.go | 1 + .../go/tasks/plugins/webapi/athena/utils.go | 2 + .../tasks/plugins/webapi/athena/utils_test.go | 2 +- .../webapi/bigquery/integration_test.go | 5 +- .../plugins/webapi/bigquery/plugin_test.go | 2 +- .../plugins/webapi/bigquery/query_job_test.go | 3 +- .../webapi/databricks/integration_test.go | 2 +- .../tasks/plugins/webapi/databricks/plugin.go | 1 + .../tasks/plugins/webapi/snowflake/plugin.go | 1 + flyteplugins/tests/end_to_end.go | 9 +- .../pkg/apis/flyteworkflow/v1alpha1/iface.go | 9 +- flytepropeller/pkg/controller/controller.go | 2 +- .../controller/nodes/array/event_recorder.go | 2 +- .../pkg/controller/nodes/array/handler.go | 8 +- .../controller/nodes/array/handler_test.go | 2 +- .../nodes/catalog/datacatalog/transformer.go | 2 +- .../pkg/controller/nodes/executor.go | 23 +- .../pkg/controller/nodes/executor_test.go | 6 +- .../pkg/controller/nodes/task/handler_test.go | 11 +- .../pkg/controller/nodes/task/transformer.go | 2 +- flytestdlib/storage/protobuf_store.go | 23 +- flytestdlib/storage/protobuf_store_test.go | 39 +- 85 files changed, 1033 insertions(+), 586 deletions(-) diff --git a/cmd/single/without_console_dist.go b/cmd/single/without_console_dist.go index 1cef2995af..90298551fc 100644 --- a/cmd/single/without_console_dist.go +++ b/cmd/single/without_console_dist.go @@ -1,5 +1,4 @@ //go:build !console -// +build !console package single diff --git a/flyteadmin/pkg/async/schedule/aws/workflow_executor.go b/flyteadmin/pkg/async/schedule/aws/workflow_executor.go index 918402836b..62b33fbd2e 100644 --- a/flyteadmin/pkg/async/schedule/aws/workflow_executor.go +++ b/flyteadmin/pkg/async/schedule/aws/workflow_executor.go @@ -4,6 +4,7 @@ package aws import ( "context" "fmt" + "google.golang.org/protobuf/types/known/timestamppb" "time" "github.com/NYTimes/gizmo/pubsub" @@ -70,15 +71,27 @@ func (e *workflowExecutor) resolveKickoffTimeArg( } for name := range launchPlan.Closure.ExpectedInputs.Parameters { if name == request.KickoffTimeArg { - ts, err := ptypes.TimestampProto(request.KickoffTime) - if err != nil { + ts := timestamppb.New(request.KickoffTime) + if err := ts.CheckValid(); err != nil { logger.Warningf(context.Background(), "failed to serialize kickoff time %+v to timestamp proto for scheduled workflow execution with "+ "launchPlan [%+v]", request.KickoffTime, launchPlan.Id) return errors.NewFlyteAdminErrorf( codes.Internal, "could not serialize kickoff time %+v to timestamp proto", request.KickoffTime) } - executionRequest.Inputs.Literals[name] = &core.Literal{ + if executionRequest.InputData == nil { + executionRequest.InputData = &core.InputData{} + } + + if executionRequest.GetInputData().Inputs == nil { + executionRequest.InputData.Inputs = &core.LiteralMap{} + } + + if executionRequest.GetInputData().GetInputs().Literals == nil { + executionRequest.InputData.Inputs.Literals = map[string]*core.Literal{} + } + + executionRequest.InputData.Inputs.Literals[name] = &core.Literal{ Value: &core.Literal_Scalar{ Scalar: &core.Scalar{ Value: &core.Scalar_Primitive{ @@ -91,6 +104,7 @@ func (e *workflowExecutor) resolveKickoffTimeArg( }, }, } + return nil } } @@ -160,10 +174,13 @@ func (e *workflowExecutor) formulateExecutionCreateRequest( // No dynamic notifications are configured either. }, // No additional inputs beyond the to-be-filled-out kickoff time arg are specified. - Inputs: &core.LiteralMap{ - Literals: map[string]*core.Literal{}, + InputData: &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{}, + }, }, } + return executionRequest } diff --git a/flyteadmin/pkg/async/schedule/aws/workflow_executor_test.go b/flyteadmin/pkg/async/schedule/aws/workflow_executor_test.go index 0479e89073..1df6aae560 100644 --- a/flyteadmin/pkg/async/schedule/aws/workflow_executor_test.go +++ b/flyteadmin/pkg/async/schedule/aws/workflow_executor_test.go @@ -92,9 +92,9 @@ func TestResolveKickoffTimeArg(t *testing.T) { testExecutor := newWorkflowExecutorForTest(nil, nil, nil) err := testExecutor.resolveKickoffTimeArg(scheduleRequest, launchPlan, &executionRequest) assert.Nil(t, err) - assert.Contains(t, executionRequest.Inputs.Literals, testKickoffTime) + assert.Contains(t, executionRequest.GetInputData().GetInputs().GetLiterals(), testKickoffTime) assert.Equal(t, testKickoffTimeProtoLiteral, - *executionRequest.Inputs.Literals[testKickoffTime]) + *executionRequest.GetInputData().GetInputs().GetLiterals()[testKickoffTime]) } func TestResolveKickoffTimeArg_NoKickoffTimeArg(t *testing.T) { @@ -238,8 +238,8 @@ func TestRun(t *testing.T) { assert.Equal(t, "domain", request.Domain) assert.Equal(t, "ar8fphnlc5wh9dksjncj", request.Name) if messagesSeen == 0 { - assert.Contains(t, request.Inputs.Literals, testKickoffTime) - assert.Equal(t, testKickoffTimeProtoLiteral, *request.Inputs.Literals[testKickoffTime]) + assert.Contains(t, request.GetInputData().GetInputs().GetLiterals(), testKickoffTime) + assert.Equal(t, testKickoffTimeProtoLiteral, *request.GetInputData().GetInputs().GetLiterals()[testKickoffTime]) } messagesSeen++ return &admin.ExecutionCreateResponse{}, nil diff --git a/flyteadmin/pkg/common/mocks/storage.go b/flyteadmin/pkg/common/mocks/storage.go index 7e91bf0485..04e0d427c4 100644 --- a/flyteadmin/pkg/common/mocks/storage.go +++ b/flyteadmin/pkg/common/mocks/storage.go @@ -3,13 +3,13 @@ package mocks import ( "context" "fmt" + protoV2 "google.golang.org/protobuf/proto" "io" "net/url" "strings" - "github.com/golang/protobuf/proto" - "github.com/flyteorg/flyte/flytestdlib/storage" + "github.com/golang/protobuf/proto" ) type NopCloser struct { @@ -37,6 +37,19 @@ func (t *TestDataStore) ReadProtobuf(ctx context.Context, reference storage.Data return t.ReadProtobufCb(ctx, reference, msg) } +// ReadProtobufAny retrieves the entire blob from blobstore and unmarshals it to the passed protobuf +func (t *TestDataStore) ReadProtobufAny(ctx context.Context, reference storage.DataReference, msg ...proto.Message) (msgIndex int, err error) { + for i, m := range msg { + empty := protoV2.Clone(proto.MessageV2(m)) + err = t.ReadProtobuf(ctx, reference, m) + if err == nil && !protoV2.Equal(empty, proto.MessageV2(m)) { + return i, nil + } + } + + return -1, err +} + func (t *TestDataStore) WriteProtobuf( ctx context.Context, reference storage.DataReference, opts storage.Options, msg proto.Message) error { return t.WriteProtobufCb(ctx, reference, opts, msg) diff --git a/flyteadmin/pkg/common/testutils/common.go b/flyteadmin/pkg/common/testutils/common.go index 6224c4023b..8f1734746b 100644 --- a/flyteadmin/pkg/common/testutils/common.go +++ b/flyteadmin/pkg/common/testutils/common.go @@ -1,6 +1,11 @@ package testutils -import "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" +import ( + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" + "github.com/golang/protobuf/proto" + "github.com/stretchr/testify/assert" + "testing" +) // Convenience method to wrap verbose boilerplate for initializing a PluginOverrides MatchingAttributes. func GetPluginOverridesAttributes(vals map[string][]string) *admin.MatchingAttributes { @@ -19,3 +24,15 @@ func GetPluginOverridesAttributes(vals map[string][]string) *admin.MatchingAttri }, } } + +func AssertProtoEqual(t testing.TB, expected, actual proto.Message, msgAndArgs ...any) bool { + t.Helper() + if assert.True(t, proto.Equal(expected, actual), msgAndArgs...) { + return true + } + + t.Logf("Expected: %v", expected) + t.Logf("Actual : %v", actual) + + return false +} diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 89b2adf806..a8a9a9ca00 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -442,6 +442,9 @@ func (m *ExecutionManager) launchSingleTaskExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( context.Context, *models.Execution, error) { + request.InputData = migrateInputData(request.GetInputData(), request.GetInputs()) + request.Inputs = nil + taskModel, err := m.db.TaskRepo().Get(ctx, repositoryInterfaces.Identifier{ Project: request.Spec.LaunchPlan.Project, Domain: request.Spec.LaunchPlan.Domain, @@ -528,11 +531,11 @@ func (m *ExecutionManager) launchSingleTaskExecution( // Dynamically assign execution queues. m.populateExecutionQueue(ctx, *workflow.Id, workflow.Closure.CompiledWorkflow) - inputsURI, err := common.OffloadData(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) + inputsURI, err := common.OffloadData(ctx, m.storageClient, request.GetInputData(), workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) if err != nil { return nil, nil, err } - userInputsURI, err := common.OffloadData(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) + userInputsURI, err := common.OffloadData(ctx, m.storageClient, request.GetInputData(), workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { return nil, nil, err } @@ -790,7 +793,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( return nil, nil, err } - userInputsURI, err := common.OffloadData(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) + userInputsURI, err := common.OffloadData(ctx, m.storageClient, request.GetInputData(), workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { return nil, nil, err } @@ -937,13 +940,29 @@ func (m *ExecutionManager) createExecutionModel( return &workflowExecutionIdentifier, nil } +func migrateInputData(newInputs *core.InputData, oldInputs *core.LiteralMap) *core.InputData { + if newInputs != nil { + return newInputs + } + + return &core.InputData{ + Inputs: oldInputs, + } +} + func (m *ExecutionManager) CreateExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( *admin.ExecutionCreateResponse, error) { // Prior to flyteidl v0.15.0, Inputs was held in ExecutionSpec. Ensure older clients continue to work. - if request.Inputs == nil || len(request.Inputs.Literals) == 0 { - request.Inputs = request.GetSpec().GetInputs() + if len(request.GetSpec().GetInputs().GetLiterals()) > 0 { + request.InputData = &core.InputData{ + Inputs: request.GetSpec().GetInputs(), + } } + + request.InputData = migrateInputData(request.GetInputData(), request.GetInputs()) + request.Inputs = nil + var executionModel *models.Execution var err error ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, request, requestedAt) @@ -959,9 +978,34 @@ func (m *ExecutionManager) CreateExecution( }, nil } +func readInputsFromExecutionModel(ctx context.Context, inputsUri storage.DataReference, specBytes []byte, storageClient storage.ProtobufStore) (*core.InputData, error) { + var inputData *core.InputData + if len(inputsUri) > 0 { + inputData = &core.InputData{} + inputs := &core.LiteralMap{} + if msgIndex, err := storageClient.ReadProtobufAny(ctx, inputsUri, inputData, inputs); err != nil { + return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to read inputs proto from [%v]. Error: %v", inputsUri, err) + } else if msgIndex == 1 { + inputData = migrateInputData(inputData, inputs) + } + } else { + // For old data, inputs are held in the spec + var spec admin.ExecutionSpec + err := proto.Unmarshal(specBytes, &spec) + if err != nil { + return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to unmarshal spec. Error: %v", err) + } + + inputData = migrateInputData(nil, spec.GetInputs()) + } + + return inputData, nil +} + func (m *ExecutionManager) RelaunchExecution( ctx context.Context, request admin.ExecutionRelaunchRequest, requestedAt time.Time) ( *admin.ExecutionCreateResponse, error) { + existingExecutionModel, err := util.GetExecutionModel(ctx, m.db, *request.Id) if err != nil { logger.Debugf(ctx, "Failed to get execution model for request [%+v] with err %v", request, err) @@ -976,31 +1020,22 @@ func (m *ExecutionManager) RelaunchExecution( if executionSpec.Metadata == nil { executionSpec.Metadata = &admin.ExecutionMetadata{} } - var inputs *core.LiteralMap - if len(existingExecutionModel.UserInputsURI) > 0 { - inputs = &core.LiteralMap{} - if err := m.storageClient.ReadProtobuf(ctx, existingExecutionModel.UserInputsURI, inputs); err != nil { - return nil, err - } - } else { - // For old data, inputs are held in the spec - var spec admin.ExecutionSpec - err = proto.Unmarshal(existingExecutionModel.Spec, &spec) - if err != nil { - return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to unmarshal spec") - } - inputs = spec.Inputs + + inputData, err := readInputsFromExecutionModel(ctx, existingExecutionModel.UserInputsURI, existingExecutionModel.Spec, m.storageClient) + if err != nil { + return nil, err } + executionSpec.Metadata.Mode = admin.ExecutionMetadata_RELAUNCH executionSpec.Metadata.ReferenceExecution = existingExecution.Id executionSpec.OverwriteCache = request.GetOverwriteCache() var executionModel *models.Execution ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ - Project: request.Id.Project, - Domain: request.Id.Domain, - Name: request.Name, - Spec: executionSpec, - Inputs: inputs, + Project: request.Id.Project, + Domain: request.Id.Domain, + Name: request.Name, + Spec: executionSpec, + InputData: inputData, }, requestedAt) if err != nil { return nil, err @@ -1033,13 +1068,12 @@ func (m *ExecutionManager) RecoverExecution( if executionSpec.Metadata == nil { executionSpec.Metadata = &admin.ExecutionMetadata{} } - var inputs *core.LiteralMap - if len(existingExecutionModel.UserInputsURI) > 0 { - inputs = &core.LiteralMap{} - if err := m.storageClient.ReadProtobuf(ctx, existingExecutionModel.UserInputsURI, inputs); err != nil { - return nil, err - } + + inputData, err := readInputsFromExecutionModel(ctx, existingExecutionModel.UserInputsURI, existingExecutionModel.Spec, m.storageClient) + if err != nil { + return nil, err } + if request.Metadata != nil { executionSpec.Metadata.ParentNodeExecution = request.Metadata.ParentNodeExecution } @@ -1047,11 +1081,11 @@ func (m *ExecutionManager) RecoverExecution( executionSpec.Metadata.ReferenceExecution = existingExecution.Id var executionModel *models.Execution ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ - Project: request.Id.Project, - Domain: request.Id.Domain, - Name: request.Name, - Spec: executionSpec, - Inputs: inputs, + Project: request.Id.Project, + Domain: request.Id.Domain, + Name: request.Name, + Spec: executionSpec, + InputData: inputData, }, requestedAt) if err != nil { return nil, err @@ -1099,14 +1133,21 @@ func (m *ExecutionManager) emitScheduledWorkflowMetrics( return } - var inputs core.LiteralMap - err = m.storageClient.ReadProtobuf(ctx, executionModel.InputsURI, &inputs) + var inputData *core.InputData + inputData, err = readInputsFromExecutionModel(ctx, executionModel.InputsURI, executionModel.Spec, m.storageClient) if err != nil { logger.Errorf(ctx, "Failed to find inputs for emitting schedule delay event from uri: [%v]", executionModel.InputsURI) return } - scheduledKickoffTimeProto := inputs.Literals[launchPlan.Spec.EntityMetadata.Schedule.KickoffTimeInputArg] - if scheduledKickoffTimeProto == nil || scheduledKickoffTimeProto.GetScalar() == nil || + + if len(inputData.GetInputs().GetLiterals()) == 0 { + logger.Errorf(ctx, "no kickoff time to report for scheduled workflow execution [%+v]", + execution.Id) + return + } + + scheduledKickoffTimeProto, found := inputData.GetInputs().GetLiterals()[launchPlan.Spec.EntityMetadata.Schedule.KickoffTimeInputArg] + if !found || scheduledKickoffTimeProto == nil || scheduledKickoffTimeProto.GetScalar() == nil || scheduledKickoffTimeProto.GetScalar().GetPrimitive() == nil || scheduledKickoffTimeProto.GetScalar().GetPrimitive().GetDatetime() == nil { logger.Warningf(context.Background(), @@ -1279,6 +1320,8 @@ func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admi go m.emitOverallWorkflowExecutionTime(executionModel, request.Event.OccurredAt) if request.Event.GetOutputData() != nil { m.userMetrics.WorkflowExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetOutputData()))) + } else if request.Event.GetDeprecatedOutputData() != nil { + m.userMetrics.WorkflowExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetDeprecatedOutputData()))) } err = m.publishNotifications(ctx, request, *executionModel) @@ -1377,7 +1420,11 @@ func (m *ExecutionManager) GetExecutionData( if err := proto.Unmarshal(executionModel.Closure, closure); err != nil { return nil, err } - newInputsURI, err := common.OffloadData(ctx, m.storageClient, closure.ComputedInputs, request.Id.Project, request.Id.Domain, request.Id.Name, shared.Inputs) + + inputData := &core.InputData{ + Inputs: closure.ComputedInputs, + } + newInputsURI, err := common.OffloadData(ctx, m.storageClient, inputData, request.Id.Project, request.Id.Domain, request.Id.Name, shared.Inputs) if err != nil { return nil, err } @@ -1400,8 +1447,10 @@ func (m *ExecutionManager) GetExecutionData( response := &admin.WorkflowExecutionGetDataResponse{ Inputs: inputURLBlob, Outputs: outputURLBlob, - FullInputs: inputs, - FullOutputs: outputs, + FullInputs: inputs.GetInputs(), + FullOutputs: outputs.GetOutputs(), + InputData: inputs, + OutputData: outputs, } m.userMetrics.WorkflowExecutionInputBytes.Observe(float64(response.Inputs.Bytes)) diff --git a/flyteadmin/pkg/manager/impl/execution_manager_test.go b/flyteadmin/pkg/manager/impl/execution_manager_test.go index f533681cc6..b01a2eeccf 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/execution_manager_test.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + protoV2 "google.golang.org/protobuf/proto" "strings" "testing" "time" @@ -58,16 +59,18 @@ const ( rawOutput = "raw_output" ) -var spec = testutils.GetExecutionRequest().Spec -var specBytes, _ = proto.Marshal(spec) -var phase = core.WorkflowExecution_RUNNING.String() -var closure = admin.ExecutionClosure{ - Phase: core.WorkflowExecution_RUNNING, - StateChangeDetails: &admin.ExecutionStateChangeDetails{ - State: admin.ExecutionState_EXECUTION_ACTIVE, - OccurredAt: testutils.MockCreatedAtProto, - }, -} +var ( + spec = testutils.GetExecutionRequest().Spec + specBytes, _ = proto.Marshal(spec) + phase = core.WorkflowExecution_RUNNING.String() + closure = admin.ExecutionClosure{ + Phase: core.WorkflowExecution_RUNNING, + StateChangeDetails: &admin.ExecutionStateChangeDetails{ + State: admin.ExecutionState_EXECUTION_ACTIVE, + OccurredAt: testutils.MockCreatedAtProto, + }, + } +) var closureBytes, _ = proto.Marshal(&closure) var executionIdentifier = core.WorkflowExecutionIdentifier{ @@ -75,16 +78,20 @@ var executionIdentifier = core.WorkflowExecutionIdentifier{ Domain: "domain", Name: "name", } -var mockPublisher notificationMocks.MockPublisher -var mockExecutionRemoteURL = dataMocks.NewMockRemoteURL() -var requestedAt = time.Now() -var testCluster = "C1" -var outputURI = "output uri" + +var ( + mockPublisher notificationMocks.MockPublisher + mockExecutionRemoteURL = dataMocks.NewMockRemoteURL() + requestedAt = time.Now() + testCluster = "C1" + outputURI = "output uri" +) var resourceDefaults = runtimeInterfaces.TaskResourceSet{ CPU: resource.MustParse("200m"), Memory: resource.MustParse("200Gi"), } + var resourceLimits = runtimeInterfaces.TaskResourceSet{ CPU: resource.MustParse("300m"), Memory: resource.MustParse("500Gi"), @@ -238,7 +245,8 @@ func setDefaultTaskCallbackForExecTest(repository interfaces.Repository) { func getMockStorageForExecTest(ctx context.Context) *storage.DataStore { mockStorage := commonMocks.GetMockStorageClient() mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).ReadProtobufCb = func( - ctx context.Context, reference storage.DataReference, msg proto.Message) error { + ctx context.Context, reference storage.DataReference, msg proto.Message, + ) error { if val, ok := mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).Store[reference]; ok { _ = proto.Unmarshal(val, msg) return nil @@ -246,7 +254,8 @@ func getMockStorageForExecTest(ctx context.Context) *storage.DataStore { return fmt.Errorf("could not find value in storage [%v]", reference.String()) } mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).WriteProtobufCb = func( - ctx context.Context, reference storage.DataReference, opts storage.Options, msg proto.Message) error { + ctx context.Context, reference storage.DataReference, opts storage.Options, msg proto.Message, + ) error { bytes, err := proto.Marshal(msg) if err != nil { return err @@ -294,11 +303,14 @@ func TestCreateExecution(t *testing.T) { Values: map[string]string{ "label3": "3", "label2": "1", // common label, will be dropped - }} + }, + } repository.ProjectRepo().(*repositoryMocks.MockProjectRepo).GetFunction = func( - ctx context.Context, projectID string) (models.Project, error) { + ctx context.Context, projectID string, + ) (models.Project, error) { return transformers.CreateProjectModel(&admin.Project{ - Labels: &labels}), nil + Labels: &labels, + }), nil } clusterAssignment := admin.ClusterAssignment{ClusterPoolName: "gpu"} @@ -309,7 +321,7 @@ func TestCreateExecution(t *testing.T) { assert.NoError(t, err) assert.Equal(t, principal, spec.Metadata.Principal) assert.Equal(t, rawOutput, spec.RawOutputDataConfig.OutputLocationPrefix) - assert.True(t, proto.Equal(spec.ClusterAssignment, &clusterAssignment)) + commonTestUtils.AssertProtoEqual(t, spec.ClusterAssignment, &clusterAssignment) assert.Equal(t, "launch_plan", input.LaunchEntity) assert.Equal(t, spec.GetMetadata().GetSystemMetadata().Namespace, "project-domain") return nil @@ -387,7 +399,10 @@ func TestCreateExecution(t *testing.T) { assert.NoError(t, err) ctx := identity.WithContext(context.Background()) response, err := execManager.CreateExecution(ctx, request, requestedAt) - assert.Nil(t, err) + if !assert.Nil(t, err) { + t.Log(err.Error()) + t.FailNow() + } expectedResponse := &admin.ExecutionCreateResponse{ Id: &executionIdentifier, @@ -454,7 +469,7 @@ func TestCreateExecutionFromWorkflowNode(t *testing.T) { err := proto.Unmarshal(input.Spec, &spec) assert.NoError(t, err) assert.Equal(t, admin.ExecutionMetadata_CHILD_WORKFLOW, spec.Metadata.Mode) - assert.True(t, proto.Equal(&parentNodeExecutionID, spec.Metadata.ParentNodeExecution)) + commonTestUtils.AssertProtoEqual(t, &parentNodeExecutionID, spec.Metadata.ParentNodeExecution) assert.EqualValues(t, input.ParentNodeExecutionID, 1) assert.EqualValues(t, input.SourceExecutionID, 2) assert.Equal(t, 2, int(spec.Metadata.Nesting)) @@ -606,14 +621,20 @@ func TestCreateExecutionInCompatibleInputs(t *testing.T) { setDefaultLpCallbackForExecTest(repository) r := plugins.NewRegistry() r.RegisterDefault(plugins.PluginIDWorkflowExecutor, &defaultTestExecutor) - execManager := NewExecutionManager(repository, r, getMockExecutionsConfigProvider(), getMockStorageForExecTest(context.Background()), mockScope.NewTestScope(), mockScope.NewTestScope(), &mockPublisher, mockExecutionRemoteURL, nil, nil, nil, nil, &eventWriterMocks.WorkflowExecutionEventWriter{}) + execManager := NewExecutionManager(repository, r, getMockExecutionsConfigProvider(), + getMockStorageForExecTest(context.Background()), mockScope.NewTestScope(), mockScope.NewTestScope(), + &mockPublisher, mockExecutionRemoteURL, nil, nil, nil, + nil, &eventWriterMocks.WorkflowExecutionEventWriter{}) request := testutils.GetExecutionRequest() - request.Inputs = &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo-1": coreutils.MustMakeLiteral("foo-value-1"), + request.InputData = &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo-1": coreutils.MustMakeLiteral("foo-value-1"), + }, }, } + response, err := execManager.CreateExecution(context.Background(), request, requestedAt) assert.EqualError(t, err, "invalid input foo-1") assert.Nil(t, response) @@ -721,7 +742,7 @@ func TestCreateExecutionVerifyDbModel(t *testing.T) { } assert.Nil(t, closureValue.ComputedInputs) - var userInputs, inputs core.LiteralMap + var userInputs, inputs core.InputData if err := storageClient.ReadProtobuf(ctx, input.UserInputsURI, &userInputs); err != nil { return err } @@ -729,12 +750,12 @@ func TestCreateExecutionVerifyDbModel(t *testing.T) { return err } fooValue := coreutils.MustMakeLiteral("foo-value-1") - assert.Equal(t, 1, len(userInputs.Literals)) - assert.EqualValues(t, userInputs.Literals["foo"], fooValue) + assert.Equal(t, 1, len(userInputs.GetInputs().GetLiterals())) + assert.EqualValues(t, userInputs.GetInputs().GetLiterals()["foo"], fooValue) barValue := coreutils.MustMakeLiteral("bar-value") - assert.Equal(t, len(inputs.Literals), 2) - assert.EqualValues(t, inputs.Literals["foo"], fooValue) - assert.EqualValues(t, inputs.Literals["bar"], barValue) + assert.Equal(t, len(inputs.GetInputs().GetLiterals()), 2) + assert.EqualValues(t, inputs.GetInputs().GetLiterals()["foo"], fooValue) + assert.EqualValues(t, inputs.GetInputs().GetLiterals()["bar"], barValue) assert.Equal(t, core.WorkflowExecution_UNDEFINED, closureValue.Phase) assert.Equal(t, createdAt, *input.ExecutionCreatedAt) assert.Equal(t, 1, len(closureValue.Notifications)) @@ -758,7 +779,7 @@ func TestCreateExecutionVerifyDbModel(t *testing.T) { response, err := execManager.CreateExecution(context.Background(), request, requestedAt) assert.Nil(t, err) - assert.True(t, proto.Equal(&executionIdentifier, response.Id)) + commonTestUtils.AssertProtoEqual(t, &executionIdentifier, response.Id) } func TestCreateExecutionDefaultNotifications(t *testing.T) { @@ -799,11 +820,11 @@ func TestCreateExecutionDefaultNotifications(t *testing.T) { response, err := execManager.CreateExecution(context.Background(), request, requestedAt) assert.Nil(t, err) - assert.True(t, proto.Equal(&core.WorkflowExecutionIdentifier{ + commonTestUtils.AssertProtoEqual(t, &core.WorkflowExecutionIdentifier{ Project: "project", Domain: "domain", Name: "name", - }, response.Id)) + }, response.Id) } func TestCreateExecutionDisableNotifications(t *testing.T) { @@ -838,11 +859,11 @@ func TestCreateExecutionDisableNotifications(t *testing.T) { response, err := execManager.CreateExecution(context.Background(), request, requestedAt) assert.Nil(t, err) - assert.True(t, proto.Equal(&core.WorkflowExecutionIdentifier{ + commonTestUtils.AssertProtoEqual(t, &core.WorkflowExecutionIdentifier{ Project: "project", Domain: "domain", Name: "name", - }, response.Id)) + }, response.Id) } func TestCreateExecutionNoNotifications(t *testing.T) { @@ -889,7 +910,6 @@ func TestCreateExecutionNoNotifications(t *testing.T) { // Create a callback method to validate no notifications are set when storing the // resulting models.Execution by CreateExecution. exCreateFunc := func(ctx context.Context, input models.Execution) error { - var closureValue admin.ExecutionClosure err := proto.Unmarshal(input.Closure, &closureValue) if err != nil { @@ -908,11 +928,11 @@ func TestCreateExecutionNoNotifications(t *testing.T) { response, err := execManager.CreateExecution(context.Background(), request, requestedAt) assert.Nil(t, err) - assert.True(t, proto.Equal(&core.WorkflowExecutionIdentifier{ + commonTestUtils.AssertProtoEqual(t, &core.WorkflowExecutionIdentifier{ Project: "project", Domain: "domain", Name: "name", - }, response.Id)) + }, response.Id) } func TestCreateExecutionDynamicLabelsAndAnnotations(t *testing.T) { @@ -1052,10 +1072,16 @@ func TestCreateExecutionInterruptible(t *testing.T) { mockExecutor.OnID().Return("testMockExecutor") r := plugins.NewRegistry() r.RegisterDefault(plugins.PluginIDWorkflowExecutor, &mockExecutor) - execManager := NewExecutionManager(repository, r, getMockExecutionsConfigProvider(), getMockStorageForExecTest(context.Background()), mockScope.NewTestScope(), mockScope.NewTestScope(), &mockPublisher, mockExecutionRemoteURL, nil, nil, nil, nil, &eventWriterMocks.WorkflowExecutionEventWriter{}) + execManager := NewExecutionManager(repository, r, getMockExecutionsConfigProvider(), + getMockStorageForExecTest(context.Background()), mockScope.NewTestScope(), mockScope.NewTestScope(), + &mockPublisher, mockExecutionRemoteURL, nil, nil, nil, + nil, &eventWriterMocks.WorkflowExecutionEventWriter{}) _, err := execManager.CreateExecution(context.Background(), request, requestedAt) - assert.Nil(t, err) + if !assert.Nil(t, err) { + t.Log(err.Error()) + t.FailNow() + } }) } } @@ -1264,11 +1290,12 @@ func TestCreateExecution_CustomNamespaceMappingConfig(t *testing.T) { response, err := execManager.CreateExecution(context.Background(), request, requestedAt) assert.Nil(t, err) - assert.True(t, proto.Equal(&executionIdentifier, response.Id)) + commonTestUtils.AssertProtoEqual(t, &executionIdentifier, response.Id) } func makeExecutionGetFunc( - t *testing.T, closureBytes []byte, startTime *time.Time) repositoryMocks.GetExecutionFunc { + t *testing.T, closureBytes []byte, startTime *time.Time, +) repositoryMocks.GetExecutionFunc { return func(ctx context.Context, input interfaces.Identifier) (models.Execution, error) { assert.Equal(t, "project", input.Project) assert.Equal(t, "domain", input.Domain) @@ -1294,7 +1321,8 @@ func makeExecutionGetFunc( } func makeLegacyExecutionGetFunc( - t *testing.T, closureBytes []byte, startTime *time.Time) repositoryMocks.GetExecutionFunc { + t *testing.T, closureBytes []byte, startTime *time.Time, +) repositoryMocks.GetExecutionFunc { return func(ctx context.Context, input interfaces.Identifier) (models.Execution, error) { assert.Equal(t, "project", input.Project) assert.Equal(t, "domain", input.Domain) @@ -1320,7 +1348,8 @@ func makeLegacyExecutionGetFunc( } func makeExecutionInterruptibleGetFunc( - t *testing.T, closureBytes []byte, startTime *time.Time, interruptible *bool) repositoryMocks.GetExecutionFunc { + t *testing.T, closureBytes []byte, startTime *time.Time, interruptible *bool, +) repositoryMocks.GetExecutionFunc { return func(ctx context.Context, input interfaces.Identifier) (models.Execution, error) { assert.Equal(t, "project", input.Project) assert.Equal(t, "domain", input.Domain) @@ -1357,7 +1386,8 @@ func makeExecutionInterruptibleGetFunc( } func makeExecutionOverwriteCacheGetFunc( - t *testing.T, closureBytes []byte, startTime *time.Time, overwriteCache bool) repositoryMocks.GetExecutionFunc { + t *testing.T, closureBytes []byte, startTime *time.Time, overwriteCache bool, +) repositoryMocks.GetExecutionFunc { return func(ctx context.Context, input interfaces.Identifier) (models.Execution, error) { assert.Equal(t, "project", input.Project) assert.Equal(t, "domain", input.Domain) @@ -1390,7 +1420,8 @@ func makeExecutionOverwriteCacheGetFunc( } func makeExecutionWithEnvs( - t *testing.T, closureBytes []byte, startTime *time.Time, envs []*core.KeyValuePair) repositoryMocks.GetExecutionFunc { + t *testing.T, closureBytes []byte, startTime *time.Time, envs []*core.KeyValuePair, +) repositoryMocks.GetExecutionFunc { return func(ctx context.Context, input interfaces.Identifier) (models.Execution, error) { assert.Equal(t, "project", input.Project) assert.Equal(t, "domain", input.Domain) @@ -1479,7 +1510,7 @@ func TestRelaunchExecution(t *testing.T) { }, } assert.True(t, createCalled) - assert.True(t, proto.Equal(expectedResponse, response)) + commonTestUtils.AssertProtoEqual(t, expectedResponse, response) // TODO: Test with inputs } @@ -1844,7 +1875,7 @@ func TestRecoverExecution(t *testing.T) { }, } assert.True(t, createCalled) - assert.True(t, proto.Equal(expectedResponse, response)) + commonTestUtils.AssertProtoEqual(t, expectedResponse, response) } func TestRecoverExecution_RecoveredChildNode(t *testing.T) { @@ -1914,7 +1945,7 @@ func TestRecoverExecution_RecoveredChildNode(t *testing.T) { NodeId: "parent", } repository.NodeExecutionRepo().(*repositoryMocks.MockNodeExecutionRepo).SetGetCallback(func(ctx context.Context, input interfaces.NodeExecutionResource) (models.NodeExecution, error) { - assert.True(t, proto.Equal(&parentNodeExecution, &input.NodeExecutionIdentifier)) + commonTestUtils.AssertProtoEqual(t, &parentNodeExecution, &input.NodeExecutionIdentifier) return models.NodeExecution{ BaseModel: models.BaseModel{ @@ -1947,7 +1978,7 @@ func TestRecoverExecution_RecoveredChildNode(t *testing.T) { }, } assert.True(t, createCalled) - assert.True(t, proto.Equal(expectedResponse, response)) + commonTestUtils.AssertProtoEqual(t, expectedResponse, response) } func TestRecoverExecution_GetExistingFailure(t *testing.T) { @@ -1994,7 +2025,8 @@ func TestRecoverExecution_GetExistingInputsFailure(t *testing.T) { expectedErr := errors.New("foo") mockStorage := commonMocks.GetMockStorageClient() mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).ReadProtobufCb = func( - ctx context.Context, reference storage.DataReference, msg proto.Message) error { + ctx context.Context, reference storage.DataReference, msg proto.Message, + ) error { return expectedErr } r := plugins.NewRegistry() @@ -2084,7 +2116,7 @@ func TestRecoverExecutionInterruptibleOverride(t *testing.T) { }, } assert.True(t, createCalled) - assert.True(t, proto.Equal(expectedResponse, response)) + commonTestUtils.AssertProtoEqual(t, expectedResponse, response) } func TestRecoverExecutionOverwriteCacheOverride(t *testing.T) { @@ -2239,8 +2271,8 @@ func TestCreateWorkflowEvent(t *testing.T) { } closureBytes, _ := proto.Marshal(&closure) updateExecutionFunc := func( - context context.Context, execution models.Execution) error { - + context context.Context, execution models.Execution, + ) error { assert.Equal(t, "project", execution.Project) assert.Equal(t, "domain", execution.Domain) assert.Equal(t, "name", execution.Name) @@ -2427,7 +2459,8 @@ func TestCreateWorkflowEvent_StartedRunning(t *testing.T) { } closureBytes, _ := proto.Marshal(&closure) updateExecutionFunc := func( - context context.Context, execution models.Execution) error { + context context.Context, execution models.Execution, + ) error { assert.Equal(t, "project", execution.Project) assert.Equal(t, "domain", execution.Domain) assert.Equal(t, "name", execution.Name) @@ -2578,7 +2611,8 @@ func TestCreateWorkflowEvent_ClusterReassignmentOnQueued(t *testing.T) { ) newCluster := "C2" updateExecutionFunc := func( - context context.Context, execution models.Execution) error { + context context.Context, execution models.Execution, + ) error { assert.Equal(t, core.WorkflowExecution_QUEUED.String(), execution.Phase) assert.Equal(t, newCluster, execution.Cluster) return nil @@ -2616,7 +2650,8 @@ func TestCreateWorkflowEvent_InvalidEvent(t *testing.T) { Message: "bar baz", } updateExecutionFunc := func( - context context.Context, execution models.Execution) error { + context context.Context, execution models.Execution, + ) error { return nil } repository.ExecutionRepo().(*repositoryMocks.MockExecutionRepo).SetUpdateCallback(updateExecutionFunc) @@ -2717,7 +2752,8 @@ func TestCreateWorkflowEvent_DatabaseUpdateError(t *testing.T) { } expectedErr := errors.New("expected error") updateExecutionFunc := func( - context context.Context, execution models.Execution) error { + context context.Context, execution models.Execution, + ) error { return expectedErr } repository.ExecutionRepo().(*repositoryMocks.MockExecutionRepo).SetUpdateCallback(updateExecutionFunc) @@ -2985,7 +3021,8 @@ func TestUpdateExecution(t *testing.T) { func TestListExecutions(t *testing.T) { repository := repositoryMocks.NewMockRepository() executionListFunc := func( - ctx context.Context, input interfaces.ListResourceInput) (interfaces.ExecutionCollectionOutput, error) { + ctx context.Context, input interfaces.ListResourceInput, + ) (interfaces.ExecutionCollectionOutput, error) { var projectFilter, domainFilter, nameFilter bool for _, filter := range input.InlineFilters { assert.Equal(t, common.Execution, filter.GetEntity()) @@ -3108,7 +3145,8 @@ func TestListExecutions_DatabaseError(t *testing.T) { repository := repositoryMocks.NewMockRepository() expectedErr := errors.New("expected error") executionListFunc := func( - ctx context.Context, input interfaces.ListResourceInput) (interfaces.ExecutionCollectionOutput, error) { + ctx context.Context, input interfaces.ListResourceInput, + ) (interfaces.ExecutionCollectionOutput, error) { return interfaces.ExecutionCollectionOutput{}, expectedErr } repository.ExecutionRepo().(*repositoryMocks.MockExecutionRepo).SetListCallback(executionListFunc) @@ -3129,7 +3167,8 @@ func TestListExecutions_DatabaseError(t *testing.T) { func TestListExecutions_TransformerError(t *testing.T) { repository := repositoryMocks.NewMockRepository() executionListFunc := func( - ctx context.Context, input interfaces.ListResourceInput) (interfaces.ExecutionCollectionOutput, error) { + ctx context.Context, input interfaces.ListResourceInput, + ) (interfaces.ExecutionCollectionOutput, error) { return interfaces.ExecutionCollectionOutput{ Executions: []models.Execution{ { @@ -3176,7 +3215,7 @@ func TestExecutionManager_PublishNotifications(t *testing.T) { []runtimeInterfaces.ExecutionQueue{}, []runtimeInterfaces.WorkflowConfig{}), nil, nil, nil, nil) - var myExecManager = &ExecutionManager{ + myExecManager := &ExecutionManager{ db: repository, config: mockRuntime, storageClient: getMockStorageForExecTest(context.Background()), @@ -3199,7 +3238,7 @@ func TestExecutionManager_PublishNotifications(t *testing.T) { ExecutionId: &executionIdentifier, }, } - var execClosure = admin.ExecutionClosure{ + execClosure := admin.ExecutionClosure{ Notifications: testutils.GetExecutionRequest().Spec.GetNotifications().Notifications, WorkflowId: &core.Identifier{ ResourceType: core.ResourceType_WORKFLOW, @@ -3209,7 +3248,7 @@ func TestExecutionManager_PublishNotifications(t *testing.T) { Version: "wf_version", }, } - var extraNotifications = []*admin.Notification{ + extraNotifications := []*admin.Notification{ { Phases: []core.WorkflowExecution_Phase{ core.WorkflowExecution_FAILED, @@ -3258,7 +3297,7 @@ func TestExecutionManager_PublishNotifications(t *testing.T) { func TestExecutionManager_PublishNotificationsTransformError(t *testing.T) { repository := repositoryMocks.NewMockRepository() queue := executions.NewQueueAllocator(getMockExecutionsConfigProvider(), repository) - var execManager = &ExecutionManager{ + execManager := &ExecutionManager{ db: repository, config: getMockExecutionsConfigProvider(), storageClient: getMockStorageForExecTest(context.Background()), @@ -3315,7 +3354,7 @@ func TestExecutionManager_TestExecutionManager_PublishNotificationsTransformErro []runtimeInterfaces.ExecutionQueue{}, []runtimeInterfaces.WorkflowConfig{}), nil, nil, nil, nil) - var myExecManager = &ExecutionManager{ + myExecManager := &ExecutionManager{ db: repository, config: mockRuntime, storageClient: getMockStorageForExecTest(context.Background()), @@ -3338,7 +3377,7 @@ func TestExecutionManager_TestExecutionManager_PublishNotificationsTransformErro ExecutionId: &executionIdentifier, }, } - var execClosure = admin.ExecutionClosure{ + execClosure := admin.ExecutionClosure{ Notifications: testutils.GetExecutionRequest().Spec.GetNotifications().Notifications, WorkflowId: &core.Identifier{ ResourceType: core.ResourceType_WORKFLOW, @@ -3362,14 +3401,13 @@ func TestExecutionManager_TestExecutionManager_PublishNotificationsTransformErro Spec: getExpectedSpecBytes(), } assert.Nil(t, myExecManager.publishNotifications(context.Background(), workflowRequest, executionModel)) - } func TestExecutionManager_PublishNotificationsNoPhaseMatch(t *testing.T) { repository := repositoryMocks.NewMockRepository() queue := executions.NewQueueAllocator(getMockExecutionsConfigProvider(), repository) - var myExecManager = &ExecutionManager{ + myExecManager := &ExecutionManager{ db: repository, config: getMockExecutionsConfigProvider(), storageClient: getMockStorageForExecTest(context.Background()), @@ -3389,7 +3427,7 @@ func TestExecutionManager_PublishNotificationsNoPhaseMatch(t *testing.T) { ExecutionId: &executionIdentifier, }, } - var execClosure = admin.ExecutionClosure{ + execClosure := admin.ExecutionClosure{ Notifications: testutils.GetExecutionRequest().Spec.GetNotifications().Notifications, } execClosureBytes, _ := proto.Marshal(&execClosure) @@ -3415,7 +3453,8 @@ func TestTerminateExecution(t *testing.T) { abortCause := "abort cause" updateExecutionFunc := func( - context context.Context, execution models.Execution) error { + context context.Context, execution models.Execution, + ) error { assert.Equal(t, "project", execution.Project) assert.Equal(t, "domain", execution.Domain) assert.Equal(t, "name", execution.Name) @@ -3469,7 +3508,7 @@ func TestTerminateExecution(t *testing.T) { } func TestTerminateExecution_PropellerError(t *testing.T) { - var expectedError = errors.New("expected error") + expectedError := errors.New("expected error") mockExecutor := workflowengineMocks.WorkflowExecutor{} mockExecutor.OnAbortMatch(mock.Anything, mock.Anything).Return(expectedError) @@ -3480,7 +3519,8 @@ func TestTerminateExecution_PropellerError(t *testing.T) { updateCalled := false repository := repositoryMocks.NewMockRepository() repository.ExecutionRepo().(*repositoryMocks.MockExecutionRepo).SetUpdateCallback(func( - context context.Context, execution models.Execution) error { + context context.Context, execution models.Execution, + ) error { updateCalled = true assert.Equal(t, core.WorkflowExecution_ABORTING.String(), execution.Phase) return nil @@ -3506,9 +3546,10 @@ func TestTerminateExecution_DatabaseError(t *testing.T) { executionGetFunc := makeExecutionGetFunc(t, []byte{}, &startTime) repository.ExecutionRepo().(*repositoryMocks.MockExecutionRepo).SetGetCallback(executionGetFunc) - var expectedError = errors.New("expected error") + expectedError := errors.New("expected error") updateExecutionFunc := func( - context context.Context, execution models.Execution) error { + context context.Context, execution models.Execution, + ) error { return expectedError } repository.ExecutionRepo().(*repositoryMocks.MockExecutionRepo).SetUpdateCallback(updateExecutionFunc) @@ -3532,7 +3573,7 @@ func TestTerminateExecution_DatabaseError(t *testing.T) { } func TestTerminateExecution_AlreadyTerminated(t *testing.T) { - var expectedError = errors.New("expected error") + expectedError := errors.New("expected error") mockExecutor := workflowengineMocks.WorkflowExecutor{} mockExecutor.OnAbortMatch(mock.Anything, mock.Anything).Return(expectedError) @@ -3566,7 +3607,7 @@ func TestTerminateExecution_AlreadyTerminated(t *testing.T) { func TestGetExecutionData(t *testing.T) { repository := repositoryMocks.NewMockRepository() startedAt := time.Date(2018, 8, 30, 0, 0, 0, 0, time.UTC) - var closure = admin.ExecutionClosure{ + closure := admin.ExecutionClosure{ Phase: core.WorkflowExecution_RUNNING, OutputResult: &admin.ExecutionClosure_Outputs{ Outputs: &admin.LiteralMapBlob{ @@ -3576,7 +3617,8 @@ func TestGetExecutionData(t *testing.T) { }, }, } - var closureBytes, _ = proto.Marshal(&closure) + + closureBytes, _ := proto.Marshal(&closure) executionGetFunc := func(ctx context.Context, input interfaces.Identifier) (models.Execution, error) { return models.Execution{ @@ -3596,7 +3638,8 @@ func TestGetExecutionData(t *testing.T) { } mockExecutionRemoteURL := dataMocks.NewMockRemoteURL() mockExecutionRemoteURL.(*dataMocks.MockRemoteURL).GetCallback = func( - ctx context.Context, uri string) (admin.UrlBlob, error) { + ctx context.Context, uri string, + ) (admin.UrlBlob, error) { if uri == outputURI { return admin.UrlBlob{ Url: "outputs", @@ -3611,28 +3654,31 @@ func TestGetExecutionData(t *testing.T) { return admin.UrlBlob{}, errors.New("unexpected input") } + mockStorage := commonMocks.GetMockStorageClient() fullInputs := &core.LiteralMap{ Literals: map[string]*core.Literal{ "foo": testutils.MakeStringLiteral("foo-value-1"), }, } + fullOutputs := &core.LiteralMap{ Literals: map[string]*core.Literal{ "bar": testutils.MakeStringLiteral("bar-value-1"), }, } + mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).ReadProtobufCb = func( - ctx context.Context, reference storage.DataReference, msg proto.Message) error { + ctx context.Context, reference storage.DataReference, msg proto.Message, + ) error { if reference.String() == "inputs" { marshalled, _ := proto.Marshal(fullInputs) - _ = proto.Unmarshal(marshalled, msg) - return nil + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } else if reference.String() == outputURI { marshalled, _ := proto.Marshal(fullOutputs) - _ = proto.Unmarshal(marshalled, msg) - return nil + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } + return fmt.Errorf("unexpected call to find value in storage [%v]", reference.String()) } @@ -3644,7 +3690,7 @@ func TestGetExecutionData(t *testing.T) { Id: &executionIdentifier, }) assert.Nil(t, err) - assert.True(t, proto.Equal(&admin.WorkflowExecutionGetDataResponse{ + expected := &admin.WorkflowExecutionGetDataResponse{ Outputs: &admin.UrlBlob{ Url: "outputs", Bytes: 200, @@ -3655,7 +3701,15 @@ func TestGetExecutionData(t *testing.T) { }, FullInputs: fullInputs, FullOutputs: fullOutputs, - }, dataResponse)) + InputData: migrateInputData(nil, fullInputs), + OutputData: &core.OutputData{ + Outputs: fullOutputs, + }, + } + if !assert.True(t, proto.Equal(expected, dataResponse)) { + t.Logf("Expected: %v", proto.MarshalTextString(expected)) + t.Logf("Actual: %v", proto.MarshalTextString(dataResponse)) + } } func TestResolveStringMap_RuntimeLimitsObserved(t *testing.T) { @@ -3683,7 +3737,8 @@ func TestAddPluginOverrides(t *testing.T) { db := repositoryMocks.NewMockRepository() db.ResourceRepo().(*repositoryMocks.MockResourceRepo).GetFunction = func(ctx context.Context, ID interfaces.ResourceID) ( - models.Resource, error) { + models.Resource, error, + ) { assert.Equal(t, project, ID.Project) assert.Equal(t, domain, ID.Domain) assert.Equal(t, workflowName, ID.Workflow) @@ -3732,7 +3787,8 @@ func TestPluginOverrides_ResourceGetFailure(t *testing.T) { db := repositoryMocks.NewMockRepository() db.ResourceRepo().(*repositoryMocks.MockResourceRepo).GetFunction = func(ctx context.Context, ID interfaces.ResourceID) ( - models.Resource, error) { + models.Resource, error, + ) { return models.Resource{}, flyteAdminErrors.NewFlyteAdminErrorf(codes.Aborted, "uh oh") } r := plugins.NewRegistry() @@ -3792,7 +3848,7 @@ func TestGetExecutionData_LegacyModel(t *testing.T) { }, }, } - var closureBytes, _ = proto.Marshal(closure) + closureBytes, _ := proto.Marshal(closure) executionGetFunc := func(ctx context.Context, input interfaces.Identifier) (models.Execution, error) { return models.Execution{ @@ -3814,7 +3870,8 @@ func TestGetExecutionData_LegacyModel(t *testing.T) { } mockExecutionRemoteURL := dataMocks.NewMockRemoteURL() mockExecutionRemoteURL.(*dataMocks.MockRemoteURL).GetCallback = func( - ctx context.Context, uri string) (admin.UrlBlob, error) { + ctx context.Context, uri string, + ) (admin.UrlBlob, error) { if uri == outputURI { return admin.UrlBlob{ Url: "outputs", @@ -3839,7 +3896,7 @@ func TestGetExecutionData_LegacyModel(t *testing.T) { Id: &executionIdentifier, }) assert.Nil(t, err) - assert.True(t, proto.Equal(&admin.WorkflowExecutionGetDataResponse{ + commonTestUtils.AssertProtoEqual(t, &admin.WorkflowExecutionGetDataResponse{ Outputs: &admin.UrlBlob{ Url: "outputs", Bytes: 200, @@ -3853,12 +3910,17 @@ func TestGetExecutionData_LegacyModel(t *testing.T) { "foo": testutils.MakeStringLiteral("foo-value-1"), }, }, - FullOutputs: &core.LiteralMap{}, - }, dataResponse)) - var inputs core.LiteralMap + InputData: migrateInputData(nil, &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": testutils.MakeStringLiteral("foo-value-1"), + }, + }), + OutputData: &core.OutputData{}, + }, dataResponse) + var inputs core.InputData err = storageClient.ReadProtobuf(context.Background(), storage.DataReference("s3://bucket/metadata/project/domain/name/inputs"), &inputs) assert.Nil(t, err) - assert.True(t, proto.Equal(&inputs, closure.ComputedInputs)) + commonTestUtils.AssertProtoEqual(t, inputs.GetInputs(), closure.ComputedInputs) } func TestCreateExecution_LegacyClient(t *testing.T) { @@ -3928,7 +3990,7 @@ func TestRelaunchExecution_LegacyModel(t *testing.T) { assert.Equal(t, "default_raw_output", spec.RawOutputDataConfig.OutputLocationPrefix) assert.Equal(t, admin.ExecutionMetadata_RELAUNCH, spec.Metadata.Mode) assert.Equal(t, int32(admin.ExecutionMetadata_RELAUNCH), input.Mode) - assert.True(t, proto.Equal(spec.Inputs, getLegacySpec().Inputs)) + commonTestUtils.AssertProtoEqual(t, spec.Inputs, getLegacySpec().Inputs) return nil } repository.ExecutionRepo().(*repositoryMocks.MockExecutionRepo).SetCreateCallback(exCreateFunc) @@ -3954,23 +4016,24 @@ func TestRelaunchExecution_LegacyModel(t *testing.T) { }, } assert.True(t, createCalled) - assert.True(t, proto.Equal(expectedResponse, response)) + commonTestUtils.AssertProtoEqual(t, expectedResponse, response) - var userInputs core.LiteralMap + var userInputs core.InputData err = storageClient.ReadProtobuf(context.Background(), "s3://bucket/metadata/project/domain/relaunchy/user_inputs", &userInputs) assert.Nil(t, err) - assert.True(t, proto.Equal(&userInputs, getLegacySpec().Inputs)) + commonTestUtils.AssertProtoEqual(t, userInputs.GetInputs(), getLegacySpec().Inputs) - var inputs core.LiteralMap + var inputs core.InputData err = storageClient.ReadProtobuf(context.Background(), "s3://bucket/metadata/project/domain/relaunchy/inputs", &inputs) assert.Nil(t, err) - assert.True(t, proto.Equal(&inputs, existingClosure.ComputedInputs)) + commonTestUtils.AssertProtoEqual(t, inputs.GetInputs(), existingClosure.ComputedInputs) } func TestListExecutions_LegacyModel(t *testing.T) { repository := repositoryMocks.NewMockRepository() executionListFunc := func( - ctx context.Context, input interfaces.ListResourceInput) (interfaces.ExecutionCollectionOutput, error) { + ctx context.Context, input interfaces.ListResourceInput, + ) (interfaces.ExecutionCollectionOutput, error) { var projectFilter, domainFilter, nameFilter bool for _, filter := range input.InlineFilters { assert.Equal(t, common.Execution, filter.GetEntity()) @@ -4048,8 +4111,8 @@ func TestListExecutions_LegacyModel(t *testing.T) { if idx == 0 { assert.Equal(t, "my awesome execution", execution.Id.Name) } - assert.True(t, proto.Equal(spec, execution.Spec)) - assert.True(t, proto.Equal(&closure, execution.Closure)) + commonTestUtils.AssertProtoEqual(t, spec, execution.Spec) + commonTestUtils.AssertProtoEqual(t, &closure, execution.Closure) } assert.Empty(t, executionList.Token) } @@ -4095,7 +4158,7 @@ func TestSetDefaults(t *testing.T) { EphemeralStorage: resource.MustParse("501Mi"), }, }) - assert.True(t, proto.Equal( + commonTestUtils.AssertProtoEqual(t, &core.Container{ Resources: &core.Resources{ Requests: []*core.Resources_ResourceEntry{ @@ -4136,7 +4199,7 @@ func TestSetDefaults(t *testing.T) { }, }, }, - task.Template.GetContainer()), fmt.Sprintf("%+v", task.Template.GetContainer())) + task.Template.GetContainer(), "%+v", task.Template.GetContainer()) } func TestSetDefaults_MissingRequests_ExistingRequestsPreserved(t *testing.T) { @@ -4179,7 +4242,7 @@ func TestSetDefaults_MissingRequests_ExistingRequestsPreserved(t *testing.T) { EphemeralStorage: resource.MustParse("100"), }, }) - assert.True(t, proto.Equal( + commonTestUtils.AssertProtoEqual(t, &core.Container{ Resources: &core.Resources{ Requests: []*core.Resources_ResourceEntry{ @@ -4212,7 +4275,7 @@ func TestSetDefaults_MissingRequests_ExistingRequestsPreserved(t *testing.T) { }, }, }, - task.Template.GetContainer()), fmt.Sprintf("%+v", task.Template.GetContainer())) + task.Template.GetContainer(), "%+v", task.Template.GetContainer()) } func TestSetDefaults_OptionalRequiredResources(t *testing.T) { @@ -4251,7 +4314,7 @@ func TestSetDefaults_OptionalRequiredResources(t *testing.T) { }, Limits: taskConfigLimits, }) - assert.True(t, proto.Equal( + commonTestUtils.AssertProtoEqual(t, &core.Container{ Resources: &core.Resources{ Requests: []*core.Resources_ResourceEntry{ @@ -4276,7 +4339,7 @@ func TestSetDefaults_OptionalRequiredResources(t *testing.T) { }, }, }, - task.Template.GetContainer()), fmt.Sprintf("%+v", task.Template.GetContainer())) + task.Template.GetContainer(), "%+v", task.Template.GetContainer()) }) t.Run("respect non-required resources when defaults exist in config", func(t *testing.T) { @@ -4291,7 +4354,7 @@ func TestSetDefaults_OptionalRequiredResources(t *testing.T) { EphemeralStorage: resource.MustParse("1"), }, }) - assert.True(t, proto.Equal( + commonTestUtils.AssertProtoEqual(t, &core.Container{ Resources: &core.Resources{ Requests: []*core.Resources_ResourceEntry{ @@ -4324,13 +4387,13 @@ func TestSetDefaults_OptionalRequiredResources(t *testing.T) { }, }, }, - task.Template.GetContainer()), fmt.Sprintf("%+v", task.Template.GetContainer())) + task.Template.GetContainer(), "%+v", task.Template.GetContainer()) }) - } + func TestCreateSingleTaskExecution(t *testing.T) { repository := getMockRepositoryForExecTest() - var getCalledCount = 0 + getCalledCount := 0 var newlyCreatedWorkflow models.Workflow workflowCreateFunc := func(input models.Workflow, descriptionEntity *models.DescriptionEntity) error { newlyCreatedWorkflow = input @@ -4460,7 +4523,7 @@ func TestCreateSingleTaskExecution(t *testing.T) { }, input.ExecutionKey) assert.Equal(t, "task", input.LaunchEntity) assert.Equal(t, "UNDEFINED", input.Phase) - assert.True(t, proto.Equal(taskIdentifier, spec.LaunchPlan)) + commonTestUtils.AssertProtoEqual(t, taskIdentifier, spec.LaunchPlan) return nil }) @@ -4568,15 +4631,19 @@ func TestGetExecutionConfigOverrides(t *testing.T) { config: applicationConfig, } resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { // two requests will be made, one with empty domain and one with filled in domain - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - }, {Project: workflowIdentifier.Project, - Domain: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, { + Project: workflowIdentifier.Project, + Domain: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) projectDomainResponse := &managerInterfaces.ResourceResponse{ Attributes: &admin.MatchingAttributes{ @@ -4688,8 +4755,8 @@ func TestGetExecutionConfigOverrides(t *testing.T) { assert.Equal(t, requestMaxParallelism, execConfig.MaxParallelism) assert.Equal(t, launchPlanInterruptible, execConfig.Interruptible.Value) assert.Equal(t, launchPlanOverwriteCache, execConfig.OverwriteCache) - assert.True(t, proto.Equal(launchPlan.Spec.SecurityContext, execConfig.SecurityContext)) - assert.True(t, proto.Equal(launchPlan.Spec.Annotations, execConfig.Annotations)) + commonTestUtils.AssertProtoEqual(t, launchPlan.Spec.SecurityContext, execConfig.SecurityContext) + commonTestUtils.AssertProtoEqual(t, launchPlan.Spec.Annotations, execConfig.Annotations) assert.Equal(t, requestOutputLocationPrefix, execConfig.RawOutputDataConfig.OutputLocationPrefix) assert.Equal(t, requestLabels, execConfig.GetLabels().Values) assert.Equal(t, launchPlanEnvironmentVariables, execConfig.GetEnvs().Values) @@ -4821,14 +4888,18 @@ func TestGetExecutionConfigOverrides(t *testing.T) { }) t.Run("matchable resource partial config", func(t *testing.T) { resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - }, {Project: workflowIdentifier.Project, - Domain: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, { + Project: workflowIdentifier.Project, + Domain: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) return &managerInterfaces.ResourceResponse{ @@ -4868,14 +4939,18 @@ func TestGetExecutionConfigOverrides(t *testing.T) { }) t.Run("matchable resource with no config", func(t *testing.T) { resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - }, {Project: workflowIdentifier.Project, - Domain: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, { + Project: workflowIdentifier.Project, + Domain: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) return &managerInterfaces.ResourceResponse{ Attributes: &admin.MatchingAttributes{ @@ -4906,14 +4981,18 @@ func TestGetExecutionConfigOverrides(t *testing.T) { }) t.Run("fetch security context from deprecated config", func(t *testing.T) { resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - }, {Project: workflowIdentifier.Project, - Domain: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, { + Project: workflowIdentifier.Project, + Domain: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) return &managerInterfaces.ResourceResponse{ @@ -4949,16 +5028,20 @@ func TestGetExecutionConfigOverrides(t *testing.T) { }) t.Run("matchable resource workflow resource", func(t *testing.T) { resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - Workflow: workflowIdentifier.Name, - }, {Project: workflowIdentifier.Project, - Domain: "", - Workflow: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + Workflow: workflowIdentifier.Name, + }, { + Project: workflowIdentifier.Project, + Domain: "", + Workflow: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) return &managerInterfaces.ResourceResponse{ @@ -5003,14 +5086,18 @@ func TestGetExecutionConfigOverrides(t *testing.T) { }) t.Run("matchable resource failure", func(t *testing.T) { resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - }, {Project: workflowIdentifier.Project, - Domain: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, { + Project: workflowIdentifier.Project, + Domain: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) return nil, fmt.Errorf("failed to fetch the resources") } @@ -5035,14 +5122,18 @@ func TestGetExecutionConfigOverrides(t *testing.T) { t.Run("application configuration", func(t *testing.T) { resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - }, {Project: workflowIdentifier.Project, - Domain: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, { + Project: workflowIdentifier.Project, + Domain: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) return &managerInterfaces.ResourceResponse{ Attributes: &admin.MatchingAttributes{ @@ -5319,14 +5410,18 @@ func TestGetExecutionConfigOverrides(t *testing.T) { func TestGetExecutionConfig(t *testing.T) { resourceManager := managerMocks.MockResourceManager{} resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { - assert.Contains(t, []managerInterfaces.ResourceRequest{{ - Project: workflowIdentifier.Project, - Domain: workflowIdentifier.Domain, - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, - }, {Project: workflowIdentifier.Project, - Domain: "", - ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG}, + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { + assert.Contains(t, []managerInterfaces.ResourceRequest{ + { + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, { + Project: workflowIdentifier.Project, + Domain: "", + ResourceType: admin.MatchableResource_WORKFLOW_EXECUTION_CONFIG, + }, }, request) return &managerInterfaces.ResourceResponse{ Attributes: &admin.MatchingAttributes{ @@ -5358,7 +5453,8 @@ func TestGetExecutionConfig(t *testing.T) { func TestGetExecutionConfig_Spec(t *testing.T) { resourceManager := managerMocks.MockResourceManager{} resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { return nil, nil } applicationConfig := runtime.NewConfigurationProvider() @@ -5399,7 +5495,8 @@ func TestGetExecutionConfig_Spec(t *testing.T) { resourceManager = managerMocks.MockResourceManager{} resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { return nil, nil } executionManager = ExecutionManager{ @@ -5425,7 +5522,8 @@ func TestGetClusterAssignment(t *testing.T) { clusterAssignment := admin.ClusterAssignment{ClusterPoolName: "gpu"} resourceManager := managerMocks.MockResourceManager{} resourceManager.GetResourceFunc = func(ctx context.Context, - request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { + request managerInterfaces.ResourceRequest, + ) (*managerInterfaces.ResourceResponse, error) { assert.EqualValues(t, request, managerInterfaces.ResourceRequest{ Project: workflowIdentifier.Project, Domain: workflowIdentifier.Domain, @@ -5450,7 +5548,7 @@ func TestGetClusterAssignment(t *testing.T) { Spec: &admin.ExecutionSpec{}, }) assert.NoError(t, err) - assert.True(t, proto.Equal(ca, &clusterAssignment)) + commonTestUtils.AssertProtoEqual(t, ca, &clusterAssignment) }) t.Run("value from request", func(t *testing.T) { reqClusterAssignment := admin.ClusterAssignment{ClusterPoolName: "swimming-pool"} @@ -5462,7 +5560,7 @@ func TestGetClusterAssignment(t *testing.T) { }, }) assert.NoError(t, err) - assert.True(t, proto.Equal(ca, &reqClusterAssignment)) + commonTestUtils.AssertProtoEqual(t, ca, &reqClusterAssignment) }) t.Run("value from config", func(t *testing.T) { customCP := "my_cp" @@ -5531,7 +5629,8 @@ func TestResolvePermissions(t *testing.T) { RunAs: &core.Identity{ IamRole: assumableIamRole, K8SServiceAccount: k8sServiceAccount, - }}, sc) + }, + }, sc) }) t.Run("use request values security context", func(t *testing.T) { execRequest := &admin.ExecutionCreateRequest{ @@ -5719,5 +5818,4 @@ func TestAddStateFilter(t *testing.T) { assert.NoError(t, err) assert.Equal(t, "state <> ?", expression.Query) }) - } diff --git a/flyteadmin/pkg/manager/impl/launch_plan_manager_test.go b/flyteadmin/pkg/manager/impl/launch_plan_manager_test.go index 2863f2747d..88659d5362 100644 --- a/flyteadmin/pkg/manager/impl/launch_plan_manager_test.go +++ b/flyteadmin/pkg/manager/impl/launch_plan_manager_test.go @@ -83,8 +83,8 @@ func TestCreateLaunchPlan(t *testing.T) { var createCalled bool repository.LaunchPlanRepo().(*repositoryMocks.MockLaunchPlanRepo).SetCreateCallback( func(input models.LaunchPlan) error { - assert.Equal(t, []byte{0xc9, 0xa9, 0x1b, 0xf3, 0x0, 0x65, 0xe5, 0xce, 0xdb, 0xde, 0xbe, 0x14, 0x1b, 0x9b, - 0x60, 0x8d, 0xeb, 0x69, 0x47, 0x69, 0xed, 0x82, 0xae, 0x2c, 0xde, 0x11, 0x70, 0xba, 0xdc, 0x11, 0xe8, 0xdb}, input.Digest) + assert.Equal(t, []byte{0x3f, 0x79, 0x8b, 0x7c, 0xff, 0x94, 0xc2, 0xa2, 0x73, 0x11, 0xca, 0x7c, 0x11, 0xbc, + 0x93, 0xe6, 0x98, 0x25, 0x24, 0xd8, 0xa8, 0xc1, 0xad, 0xdb, 0xd5, 0x5d, 0x13, 0xd6, 0x77, 0xf6, 0x32, 0x97}, input.Digest) createCalled = true return nil }) diff --git a/flyteadmin/pkg/manager/impl/node_execution_manager.go b/flyteadmin/pkg/manager/impl/node_execution_manager.go index e8cc2ff05a..00a1c3198c 100644 --- a/flyteadmin/pkg/manager/impl/node_execution_manager.go +++ b/flyteadmin/pkg/manager/impl/node_execution_manager.go @@ -509,8 +509,10 @@ func (m *NodeExecutionManager) GetNodeExecutionData( response := &admin.NodeExecutionGetDataResponse{ Inputs: inputURLBlob, Outputs: outputURLBlob, - FullInputs: inputs, - FullOutputs: outputs, + FullInputs: inputs.GetInputs(), + FullOutputs: outputs.GetOutputs(), + InputData: inputs, + OutputData: outputs, FlyteUrls: common.FlyteURLsFromNodeExecutionID(*request.Id, nodeExecution.GetClosure() != nil && nodeExecution.GetClosure().GetDeckUri() != ""), } diff --git a/flyteadmin/pkg/manager/impl/node_execution_manager_test.go b/flyteadmin/pkg/manager/impl/node_execution_manager_test.go index 1f36d28afc..bddd91ca61 100644 --- a/flyteadmin/pkg/manager/impl/node_execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/node_execution_manager_test.go @@ -4,6 +4,8 @@ import ( "context" "errors" "fmt" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" + protoV2 "google.golang.org/protobuf/proto" "testing" "time" @@ -1279,16 +1281,13 @@ func TestGetNodeExecutionData(t *testing.T) { ctx context.Context, reference storage.DataReference, msg proto.Message) error { if reference.String() == "input uri" { marshalled, _ := proto.Marshal(fullInputs) - _ = proto.Unmarshal(marshalled, msg) - return nil + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } else if reference.String() == util.OutputsFile { marshalled, _ := proto.Marshal(fullOutputs) - _ = proto.Unmarshal(marshalled, msg) - return nil + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } else if reference.String() == dynamicWorkflowClosureRef { marshalled, _ := proto.Marshal(&dynamicWorkflowClosure) - _ = proto.Unmarshal(marshalled, msg) - return nil + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } return fmt.Errorf("unexpected call to find value in storage [%v]", reference.String()) } @@ -1297,7 +1296,7 @@ func TestGetNodeExecutionData(t *testing.T) { Id: &nodeExecutionIdentifier, }) assert.NoError(t, err) - assert.True(t, proto.Equal(&admin.NodeExecutionGetDataResponse{ + commonTestUtils.AssertProtoEqual(t, &admin.NodeExecutionGetDataResponse{ Inputs: &admin.UrlBlob{ Url: "inputs", Bytes: 100, @@ -1308,6 +1307,10 @@ func TestGetNodeExecutionData(t *testing.T) { }, FullInputs: fullInputs, FullOutputs: fullOutputs, + InputData: migrateInputData(nil, fullInputs), + OutputData: &core.OutputData{ + Outputs: fullOutputs, + }, DynamicWorkflow: &admin.DynamicWorkflowNodeMetadata{ Id: dynamicWorkflowClosure.Primary.Template.Id, CompiledWorkflow: &dynamicWorkflowClosure, @@ -1317,5 +1320,5 @@ func TestGetNodeExecutionData(t *testing.T) { Outputs: "flyte://v1/project/domain/name/node id/o", Deck: "flyte://v1/project/domain/name/node id/d", }, - }, dataResponse)) + }, dataResponse) } diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager.go b/flyteadmin/pkg/manager/impl/task_execution_manager.go index 82b872dbd4..4d4ab41f35 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager.go @@ -322,8 +322,10 @@ func (m *TaskExecutionManager) GetTaskExecutionData( response := &admin.TaskExecutionGetDataResponse{ Inputs: inputURLBlob, Outputs: outputURLBlob, - FullInputs: inputs, - FullOutputs: outputs, + FullInputs: inputs.GetInputs(), + FullOutputs: outputs.GetOutputs(), + InputData: inputs, + OutputData: outputs, FlyteUrls: common.FlyteURLsFromTaskExecutionID(*request.Id, false), } diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager_test.go b/flyteadmin/pkg/manager/impl/task_execution_manager_test.go index 8fd8019647..76f55a3a61 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager_test.go @@ -4,6 +4,8 @@ import ( "context" "errors" "fmt" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" + protoV2 "google.golang.org/protobuf/proto" "testing" "time" @@ -927,12 +929,10 @@ func TestGetTaskExecutionData(t *testing.T) { ctx context.Context, reference storage.DataReference, msg proto.Message) error { if reference.String() == "input-uri.pb" { marshalled, _ := proto.Marshal(fullInputs) - _ = proto.Unmarshal(marshalled, msg) - return nil + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } else if reference.String() == "test-output.pb" { marshalled, _ := proto.Marshal(fullOutputs) - _ = proto.Unmarshal(marshalled, msg) - return nil + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } return fmt.Errorf("unexpected call to find value in storage [%v]", reference.String()) } @@ -946,7 +946,7 @@ func TestGetTaskExecutionData(t *testing.T) { }) assert.Nil(t, err) assert.True(t, getTaskCalled) - assert.True(t, proto.Equal(&admin.TaskExecutionGetDataResponse{ + commonTestUtils.AssertProtoEqual(t, &admin.TaskExecutionGetDataResponse{ Inputs: &admin.UrlBlob{ Url: "inputs", Bytes: 100, @@ -957,10 +957,14 @@ func TestGetTaskExecutionData(t *testing.T) { }, FullInputs: fullInputs, FullOutputs: fullOutputs, + InputData: migrateInputData(nil, fullOutputs), + OutputData: &core.OutputData{ + Outputs: fullOutputs, + }, FlyteUrls: &admin.FlyteURLs{ Inputs: "flyte://v1/project/domain/name/node-id/1/i", Outputs: "flyte://v1/project/domain/name/node-id/1/o", - Deck: "", + //Deck: "", }, - }, dataResponse)) + }, dataResponse) } diff --git a/flyteadmin/pkg/manager/impl/util/data.go b/flyteadmin/pkg/manager/impl/util/data.go index 5921cc83ac..59b0c038a0 100644 --- a/flyteadmin/pkg/manager/impl/util/data.go +++ b/flyteadmin/pkg/manager/impl/util/data.go @@ -31,9 +31,9 @@ func shouldFetchOutputData(config *runtimeInterfaces.RemoteDataConfig, urlBlob a // GetInputs returns an inputs URL blob and if config settings permit, inline inputs data for an execution. func GetInputs(ctx context.Context, urlData dataInterfaces.RemoteURLInterface, remoteDataConfig *runtimeInterfaces.RemoteDataConfig, storageClient *storage.DataStore, inputURI string) ( - *core.LiteralMap, *admin.UrlBlob, error) { + *core.InputData, *admin.UrlBlob, error) { var inputsURLBlob admin.UrlBlob - var fullInputs core.LiteralMap + var fullInputs core.InputData if len(inputURI) == 0 { return &fullInputs, &inputsURLBlob, nil @@ -48,13 +48,19 @@ func GetInputs(ctx context.Context, urlData dataInterfaces.RemoteURLInterface, } if shouldFetchData(remoteDataConfig, inputsURLBlob) { - err = storageClient.ReadProtobuf(ctx, storage.DataReference(inputURI), &fullInputs) + oldInputs := &core.LiteralMap{} + msgIndex, err := storageClient.ReadProtobufAny(ctx, storage.DataReference(inputURI), &fullInputs, oldInputs) if err != nil { // If we fail to read the protobuf from the remote store, we shouldn't fail the request altogether. // Instead we return the signed URL blob so that the client can use that to fetch the input data. logger.Warningf(ctx, "Failed to read inputs from URI [%s] with err: %v", inputURI, err) + } else if msgIndex == 1 { + fullInputs = core.InputData{ + Inputs: oldInputs, + } } } + return &fullInputs, &inputsURLBlob, nil } @@ -62,6 +68,7 @@ func GetInputs(ctx context.Context, urlData dataInterfaces.RemoteURLInterface, type ExecutionClosure interface { GetOutputUri() string //nolint GetOutputData() *core.LiteralMap + GetFullOutputs() *core.OutputData } // Wrapper around an admin.ExecutionClosure object which conforms to the output interface @@ -86,6 +93,20 @@ func (c workflowExecutionClosure) GetOutputData() *core.LiteralMap { return c.ExecutionClosure.GetOutputData() } +func (c workflowExecutionClosure) GetFullOutputs() *core.OutputData { + if c.ExecutionClosure.GetOutputs() != nil && c.ExecutionClosure.GetOutputs().GetValues() != nil { + return &core.OutputData{ + Outputs: c.ExecutionClosure.GetOutputs().GetValues(), + } + } else if oldOutputs := c.ExecutionClosure.GetOutputData(); oldOutputs != nil { + return &core.OutputData{ + Outputs: oldOutputs, + } + } + + return c.ExecutionClosure.GetFullOutputs() +} + // ToExecutionClosureInterface converts a workflow execution closure to an implementation of the ExecutionClosure // interface for use in producing execution output data. func ToExecutionClosureInterface(closure *admin.ExecutionClosure) ExecutionClosure { @@ -97,9 +118,9 @@ func ToExecutionClosureInterface(closure *admin.ExecutionClosure) ExecutionClosu // GetOutputs returns an outputs URL blob and if config settings permit, inline outputs data for an execution. func GetOutputs(ctx context.Context, urlData dataInterfaces.RemoteURLInterface, remoteDataConfig *runtimeInterfaces.RemoteDataConfig, storageClient *storage.DataStore, closure ExecutionClosure) ( - *core.LiteralMap, *admin.UrlBlob, error) { + *core.OutputData, *admin.UrlBlob, error) { var outputsURLBlob admin.UrlBlob - var fullOutputs = &core.LiteralMap{} + var fullOutputs = &core.OutputData{} if closure == nil { return fullOutputs, &outputsURLBlob, nil } @@ -112,18 +133,31 @@ func GetOutputs(ctx context.Context, urlData dataInterfaces.RemoteURLInterface, } } - if closure.GetOutputData() != nil { + if closure.GetFullOutputs() != nil { + if int64(proto.Size(closure.GetFullOutputs())) < remoteDataConfig.MaxSizeInBytes { + fullOutputs = closure.GetFullOutputs() + } else { + logger.Debugf(ctx, "execution closure contains output data that exceeds max data size for responses") + } + } else if closure.GetOutputData() != nil { if int64(proto.Size(closure.GetOutputData())) < remoteDataConfig.MaxSizeInBytes { - fullOutputs = closure.GetOutputData() + fullOutputs = &core.OutputData{ + Outputs: closure.GetOutputData(), + } } else { logger.Debugf(ctx, "execution closure contains output data that exceeds max data size for responses") } } else if shouldFetchOutputData(remoteDataConfig, outputsURLBlob, closure.GetOutputUri()) { - err := storageClient.ReadProtobuf(ctx, storage.DataReference(closure.GetOutputUri()), fullOutputs) + oldOutputs := &core.LiteralMap{} + msgIndex, err := storageClient.ReadProtobufAny(ctx, storage.DataReference(closure.GetOutputUri()), fullOutputs, oldOutputs) if err != nil { // If we fail to read the protobuf from the remote store, we shouldn't fail the request altogether. // Instead we return the signed URL blob so that the client can use that to fetch the output data. logger.Warningf(ctx, "Failed to read outputs from URI [%s] with err: %v", closure.GetOutputUri(), err) + } else if msgIndex == 1 { + fullOutputs = &core.OutputData{ + Outputs: oldOutputs, + } } } diff --git a/flyteadmin/pkg/manager/impl/util/data_test.go b/flyteadmin/pkg/manager/impl/util/data_test.go index e447b1883c..e1df59e9d0 100644 --- a/flyteadmin/pkg/manager/impl/util/data_test.go +++ b/flyteadmin/pkg/manager/impl/util/data_test.go @@ -2,6 +2,8 @@ package util import ( "context" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" + protoV2 "google.golang.org/protobuf/proto" "testing" "github.com/golang/protobuf/proto" @@ -17,9 +19,19 @@ import ( "github.com/flyteorg/flyte/flytestdlib/storage" ) -var testLiteralMap = &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo-1": coreutils.MustMakeLiteral("foo-value-1"), +var testInputData = &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo-1": coreutils.MustMakeLiteral("foo-value-1"), + }, + }, +} + +var testOutputData = &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo-1": coreutils.MustMakeLiteral("foo-value-1"), + }, }, } @@ -131,19 +143,19 @@ func TestGetInputs(t *testing.T) { mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).ReadProtobufCb = func( ctx context.Context, reference storage.DataReference, msg proto.Message) error { assert.Equal(t, inputsURI, reference.String()) - marshalled, _ := proto.Marshal(testLiteralMap) - _ = proto.Unmarshal(marshalled, msg) - return nil + marshalled, _ := proto.Marshal(testInputData) + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } t.Run("should sign URL", func(t *testing.T) { remoteDataConfig.SignedURL = interfaces.SignedURL{ Enabled: true, } + fullInputs, inputURLBlob, err := GetInputs(context.TODO(), mockRemoteURL, &remoteDataConfig, mockStorage, inputsURI) assert.NoError(t, err) - assert.True(t, proto.Equal(fullInputs, testLiteralMap)) - assert.True(t, proto.Equal(inputURLBlob, &expectedURLBlob)) + commonTestUtils.AssertProtoEqual(t, testInputData, fullInputs) + commonTestUtils.AssertProtoEqual(t, &expectedURLBlob, inputURLBlob) }) t.Run("should not sign URL", func(t *testing.T) { remoteDataConfig.SignedURL = interfaces.SignedURL{ @@ -151,7 +163,7 @@ func TestGetInputs(t *testing.T) { } fullInputs, inputURLBlob, err := GetInputs(context.TODO(), mockRemoteURL, &remoteDataConfig, mockStorage, inputsURI) assert.NoError(t, err) - assert.True(t, proto.Equal(fullInputs, testLiteralMap)) + assert.True(t, proto.Equal(fullInputs, testInputData)) assert.Empty(t, inputURLBlob) }) } @@ -175,10 +187,10 @@ func TestGetOutputs(t *testing.T) { mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).ReadProtobufCb = func( ctx context.Context, reference storage.DataReference, msg proto.Message) error { assert.Equal(t, testOutputsURI, reference.String()) - marshalled, _ := proto.Marshal(testLiteralMap) - _ = proto.Unmarshal(marshalled, msg) - return nil + marshalled, _ := proto.Marshal(testOutputData) + return protoV2.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(marshalled, proto.MessageV2(msg)) } + closure := &admin.NodeExecutionClosure{ OutputResult: &admin.NodeExecutionClosure_OutputUri{ OutputUri: testOutputsURI, @@ -191,8 +203,8 @@ func TestGetOutputs(t *testing.T) { fullOutputs, outputURLBlob, err := GetOutputs(context.TODO(), mockRemoteURL, &remoteDataConfig, mockStorage, closure) assert.NoError(t, err) - assert.True(t, proto.Equal(fullOutputs, testLiteralMap)) - assert.True(t, proto.Equal(outputURLBlob, &expectedURLBlob)) + commonTestUtils.AssertProtoEqual(t, testOutputData, fullOutputs) + commonTestUtils.AssertProtoEqual(t, &expectedURLBlob, outputURLBlob) }) t.Run("offloaded outputs without signed URL", func(t *testing.T) { remoteDataConfig.SignedURL = interfaces.SignedURL{ @@ -201,7 +213,7 @@ func TestGetOutputs(t *testing.T) { fullOutputs, outputURLBlob, err := GetOutputs(context.TODO(), mockRemoteURL, &remoteDataConfig, mockStorage, closure) assert.NoError(t, err) - assert.True(t, proto.Equal(fullOutputs, testLiteralMap)) + commonTestUtils.AssertProtoEqual(t, fullOutputs, testOutputData) assert.Empty(t, outputURLBlob) }) t.Run("inline outputs", func(t *testing.T) { @@ -220,14 +232,14 @@ func TestGetOutputs(t *testing.T) { return nil } closure := &admin.NodeExecutionClosure{ - OutputResult: &admin.NodeExecutionClosure_OutputData{ - OutputData: testLiteralMap, + OutputResult: &admin.NodeExecutionClosure_FullOutputs{ + FullOutputs: testOutputData, }, } fullOutputs, outputURLBlob, err := GetOutputs(context.TODO(), mockRemoteURL, &remoteDataConfig, mockStorage, closure) assert.NoError(t, err) - assert.True(t, proto.Equal(fullOutputs, testLiteralMap)) + assert.True(t, proto.Equal(fullOutputs, testOutputData)) assert.Empty(t, outputURLBlob) }) } @@ -248,26 +260,26 @@ func TestWorkflowExecutionClosure(t *testing.T) { }) t.Run("outputs inline", func(t *testing.T) { workflowExecutionClosure := admin.ExecutionClosure{ - OutputResult: &admin.ExecutionClosure_OutputData{ - OutputData: testLiteralMap, + OutputResult: &admin.ExecutionClosure_FullOutputs{ + FullOutputs: testOutputData, }, } closureImpl := ToExecutionClosureInterface(&workflowExecutionClosure) assert.Empty(t, closureImpl.GetOutputUri()) - assert.True(t, proto.Equal(testLiteralMap, closureImpl.GetOutputData())) + commonTestUtils.AssertProtoEqual(t, testOutputData, closureImpl.GetFullOutputs()) }) t.Run("outputs inline - historical/deprecated format", func(t *testing.T) { workflowExecutionClosure := admin.ExecutionClosure{ OutputResult: &admin.ExecutionClosure_Outputs{ Outputs: &admin.LiteralMapBlob{ Data: &admin.LiteralMapBlob_Values{ - Values: testLiteralMap, + Values: testOutputData.GetOutputs(), }, }, }, } closureImpl := ToExecutionClosureInterface(&workflowExecutionClosure) assert.Empty(t, closureImpl.GetOutputUri()) - assert.True(t, proto.Equal(testLiteralMap, closureImpl.GetOutputData())) + commonTestUtils.AssertProtoEqual(t, testOutputData, closureImpl.GetFullOutputs()) }) } diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go b/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go index cf5590d6b5..a63f777fd8 100644 --- a/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go +++ b/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go @@ -3,6 +3,7 @@ package validation import ( "context" "errors" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "testing" "github.com/stretchr/testify/assert" @@ -76,15 +77,17 @@ func TestGetExecutionInputs(t *testing.T) { lpRequest.Spec.GetFixedInputs(), lpRequest.Spec.DefaultInputs, ) - expectedMap := core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("foo-value-1"), - "bar": coreutils.MustMakeLiteral("bar-value"), + expectedMap := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("foo-value-1"), + "bar": coreutils.MustMakeLiteral("bar-value"), + }, }, } assert.Nil(t, err) assert.NotNil(t, actualInputs) - assert.EqualValues(t, expectedMap, *actualInputs) + commonTestUtils.AssertProtoEqual(t, expectedMap, actualInputs) } func TestValidateExecInputsWrongType(t *testing.T) { @@ -95,6 +98,10 @@ func TestValidateExecInputsWrongType(t *testing.T) { "foo": coreutils.MustMakeLiteral(1), }, } + executionRequest.InputData = &core.InputData{ + Inputs: executionRequest.Inputs, + } + _, err := CheckAndFetchInputsForExecution( executionRequest.GetInputData(), executionRequest.GetInputs(), @@ -102,6 +109,7 @@ func TestValidateExecInputsWrongType(t *testing.T) { lpRequest.Spec.GetFixedInputs(), lpRequest.Spec.DefaultInputs, ) + assert.EqualError(t, err, "invalid foo input wrong type. Expected simple:STRING , but got simple:INTEGER ") } @@ -114,6 +122,10 @@ func TestValidateExecInputsExtraInputs(t *testing.T) { "foo-extra": coreutils.MustMakeLiteral("foo-value-1"), }, } + executionRequest.InputData = &core.InputData{ + Inputs: executionRequest.Inputs, + } + _, err := CheckAndFetchInputsForExecution( executionRequest.GetInputData(), executionRequest.GetInputs(), @@ -133,6 +145,10 @@ func TestValidateExecInputsOverrideFixed(t *testing.T) { "bar": coreutils.MustMakeLiteral("bar-value"), }, } + executionRequest.InputData = &core.InputData{ + Inputs: executionRequest.Inputs, + } + _, err := CheckAndFetchInputsForExecution( executionRequest.GetInputData(), executionRequest.GetInputs(), @@ -147,6 +163,7 @@ func TestValidateExecEmptyInputs(t *testing.T) { executionRequest := testutils.GetExecutionRequest() lpRequest := testutils.GetLaunchPlanRequest() executionRequest.Inputs = nil + executionRequest.InputData = nil actualInputs, err := CheckAndFetchInputsForExecution( executionRequest.GetInputData(), executionRequest.GetInputs(), @@ -154,15 +171,19 @@ func TestValidateExecEmptyInputs(t *testing.T) { lpRequest.Spec.GetFixedInputs(), lpRequest.Spec.DefaultInputs, ) - expectedMap := core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("foo-value"), - "bar": coreutils.MustMakeLiteral("bar-value"), + + expectedMap := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("foo-value"), + "bar": coreutils.MustMakeLiteral("bar-value"), + }, }, } + assert.Nil(t, err) assert.NotNil(t, actualInputs) - assert.EqualValues(t, expectedMap, *actualInputs) + commonTestUtils.AssertProtoEqual(t, expectedMap, actualInputs) } func TestValidExecutionId(t *testing.T) { diff --git a/flyteadmin/pkg/manager/impl/validation/validation_test.go b/flyteadmin/pkg/manager/impl/validation/validation_test.go index adb8796656..ff53006f86 100644 --- a/flyteadmin/pkg/manager/impl/validation/validation_test.go +++ b/flyteadmin/pkg/manager/impl/validation/validation_test.go @@ -418,15 +418,17 @@ func TestValidateOutputData(t *testing.T) { t.Run("no output data", func(t *testing.T) { assert.NoError(t, ValidateOutputData(nil, 100)) }) - outputData := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 4, + outputData := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 4, + }, }, }, }, diff --git a/flyteadmin/pkg/repositories/transformers/execution_test.go b/flyteadmin/pkg/repositories/transformers/execution_test.go index f3d0b41a5e..237766b329 100644 --- a/flyteadmin/pkg/repositories/transformers/execution_test.go +++ b/flyteadmin/pkg/repositories/transformers/execution_test.go @@ -538,15 +538,17 @@ func TestUpdateModelState_RunningToSuccess(t *testing.T) { assert.EqualValues(t, expectedModel, executionModel) }) t.Run("output data set", func(t *testing.T) { - outputData := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 4, + outputData := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 4, + }, }, }, }, @@ -555,6 +557,7 @@ func TestUpdateModelState_RunningToSuccess(t *testing.T) { }, }, } + err := UpdateExecutionModelState(context.TODO(), &executionModel, admin.WorkflowExecutionEventRequest{ Event: &event.WorkflowExecutionEvent{ Phase: core.WorkflowExecution_SUCCEEDED, @@ -576,8 +579,8 @@ func TestUpdateModelState_RunningToSuccess(t *testing.T) { StartedAt: startedAtProto, UpdatedAt: occurredAtProto, Duration: durationProto, - OutputResult: &admin.ExecutionClosure_OutputData{ - OutputData: outputData, + OutputResult: &admin.ExecutionClosure_FullOutputs{ + FullOutputs: outputData, }, } closureBytes, _ := proto.Marshal(&expectedClosure) @@ -585,15 +588,17 @@ func TestUpdateModelState_RunningToSuccess(t *testing.T) { assert.EqualValues(t, expectedModel, executionModel) }) t.Run("output data offloaded", func(t *testing.T) { - outputData := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 4, + outputData := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 4, + }, }, }, }, @@ -602,6 +607,7 @@ func TestUpdateModelState_RunningToSuccess(t *testing.T) { }, }, } + mockStorage := commonMocks.GetMockStorageClient() mockStorage.ComposedProtobufStore.(*commonMocks.TestDataStore).WriteProtobufCb = func(ctx context.Context, reference storage.DataReference, opts storage.Options, msg proto.Message) error { assert.Equal(t, reference.String(), "s3://bucket/metadata/project/domain/name/offloaded_outputs") diff --git a/flyteadmin/pkg/repositories/transformers/node_execution_test.go b/flyteadmin/pkg/repositories/transformers/node_execution_test.go index a52c8e76a3..44269479f7 100644 --- a/flyteadmin/pkg/repositories/transformers/node_execution_test.go +++ b/flyteadmin/pkg/repositories/transformers/node_execution_test.go @@ -2,6 +2,7 @@ package transformers import ( "context" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "testing" "time" @@ -52,9 +53,11 @@ const dynamicWorkflowClosureRef = "s3://bucket/admin/metadata/workflow" const testInputURI = "fake://bucket/inputs.pb" -var testInputs = &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("bar"), +var testInputs = &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("bar"), + }, }, } @@ -102,15 +105,17 @@ func TestAddTerminalState_OutputURI(t *testing.T) { } func TestAddTerminalState_OutputData(t *testing.T) { - outputData := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 4, + outputData := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 4, + }, }, }, }, @@ -119,6 +124,7 @@ func TestAddTerminalState_OutputData(t *testing.T) { }, }, } + request := admin.NodeExecutionEventRequest{ Event: &event.NodeExecutionEvent{ Id: &core.NodeExecutionIdentifier{ @@ -148,7 +154,7 @@ func TestAddTerminalState_OutputData(t *testing.T) { err := addTerminalState(context.TODO(), &request, &nodeExecutionModel, &closure, interfaces.InlineEventDataPolicyStoreInline, commonMocks.GetMockStorageClient()) assert.Nil(t, err) - assert.EqualValues(t, outputData, closure.GetOutputData()) + commonTestUtils.AssertProtoEqual(t, outputData, closure.GetFullOutputs()) assert.Equal(t, time.Minute, nodeExecutionModel.Duration) }) t.Run("output data stored offloaded", func(t *testing.T) { @@ -670,10 +676,10 @@ func TestHandleNodeExecutionInputs(t *testing.T) { assert.NoError(t, err) expectedOffloadedInputsLocation := "/metadata/project/domain/name/node-id/offloaded_inputs" assert.Equal(t, nodeExecutionModel.InputURI, expectedOffloadedInputsLocation) - actualInputs := &core.LiteralMap{} + actualInputs := &core.InputData{} err = ds.ReadProtobuf(ctx, storage.DataReference(expectedOffloadedInputsLocation), actualInputs) assert.NoError(t, err) - assert.True(t, proto.Equal(actualInputs, testInputs)) + commonTestUtils.AssertProtoEqual(t, testInputs, actualInputs) }) t.Run("read event input uri", func(t *testing.T) { nodeExecutionModel := models.NodeExecution{} diff --git a/flyteadmin/pkg/repositories/transformers/task_execution_test.go b/flyteadmin/pkg/repositories/transformers/task_execution_test.go index 71ff3c60e3..58cb196af6 100644 --- a/flyteadmin/pkg/repositories/transformers/task_execution_test.go +++ b/flyteadmin/pkg/repositories/transformers/task_execution_test.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "testing" "time" @@ -176,15 +177,17 @@ func TestAddTaskTerminalState_OutputURI(t *testing.T) { } func TestAddTaskTerminalState_OutputData(t *testing.T) { - outputData := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 4, + outputData := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 4, + }, }, }, }, @@ -193,6 +196,7 @@ func TestAddTaskTerminalState_OutputData(t *testing.T) { }, }, } + request := admin.TaskExecutionEventRequest{ Event: &event.TaskExecutionEvent{ TaskId: &core.Identifier{ @@ -231,8 +235,8 @@ func TestAddTaskTerminalState_OutputData(t *testing.T) { duration, err := ptypes.Duration(closure.GetDuration()) assert.Nil(t, err) - assert.EqualValues(t, request.Event.OutputResult, closure.OutputResult) - assert.True(t, proto.Equal(outputData, closure.GetOutputData())) + assert.EqualValues(t, request.Event.GetOutputData(), closure.GetFullOutputs()) + commonTestUtils.AssertProtoEqual(t, outputData, closure.GetFullOutputs()) assert.EqualValues(t, time.Minute, duration) }) t.Run("output data stored offloaded", func(t *testing.T) { @@ -1621,10 +1625,10 @@ func TestHandleTaskExecutionInputs(t *testing.T) { assert.NoError(t, err) expectedOffloadedInputsLocation := "/metadata/project/domain/name/node-id/project/domain/task-id/task-v/1/offloaded_inputs" assert.Equal(t, taskExecutionModel.InputURI, expectedOffloadedInputsLocation) - actualInputs := &core.LiteralMap{} + actualInputs := &core.InputData{} err = ds.ReadProtobuf(ctx, storage.DataReference(expectedOffloadedInputsLocation), actualInputs) assert.NoError(t, err) - assert.True(t, proto.Equal(actualInputs, testInputs)) + commonTestUtils.AssertProtoEqual(t, testInputs, actualInputs) }) t.Run("read event input uri", func(t *testing.T) { taskExecutionModel := models.TaskExecution{} diff --git a/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl.go b/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl.go index f7ec95be1c..7d4e869218 100644 --- a/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl.go +++ b/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl.go @@ -50,7 +50,7 @@ func hashInputs(ctx context.Context, key Key) (string, error) { inputs = retInputs } - return HashLiteralMap(ctx, inputs) + return HashInputData(ctx, inputs) } func (c AsyncClientImpl) Download(ctx context.Context, requests ...DownloadRequest) (outputFuture DownloadFuture, err error) { diff --git a/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go b/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go index 4b8e2efb37..b0c4cc75b5 100644 --- a/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go @@ -27,15 +27,17 @@ var exampleInterface = &core.TypedInterface{ }, }, } -var input1 = &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "a": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 1, +var input1 = &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "a": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 1, + }, }, }, }, @@ -44,15 +46,17 @@ var input1 = &core.LiteralMap{ }, }, } -var input2 = &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "a": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 2, +var input2 = &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "a": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 2, + }, }, }, }, diff --git a/flyteplugins/go/tasks/pluginmachinery/catalog/hashing.go b/flyteplugins/go/tasks/pluginmachinery/catalog/hashing.go index 0b1d46c886..fd6c97693e 100644 --- a/flyteplugins/go/tasks/pluginmachinery/catalog/hashing.go +++ b/flyteplugins/go/tasks/pluginmachinery/catalog/hashing.go @@ -55,7 +55,7 @@ func hashify(literal *core.Literal) *core.Literal { return literal } -func HashLiteralMap(ctx context.Context, inputData *core.InputData) (string, error) { +func HashInputData(ctx context.Context, inputData *core.InputData) (string, error) { // TODO (haytham): We should hash everything in the inputData proto. literalMap := inputData.GetInputs() if literalMap == nil || len(literalMap.GetLiterals()) == 0 { diff --git a/flyteplugins/go/tasks/pluginmachinery/catalog/hashing_test.go b/flyteplugins/go/tasks/pluginmachinery/catalog/hashing_test.go index 43b6754c02..0c53ab8079 100644 --- a/flyteplugins/go/tasks/pluginmachinery/catalog/hashing_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/catalog/hashing_test.go @@ -616,8 +616,10 @@ func TestHashLiteralMap_LiteralsWithHashSet(t *testing.T) { assert.Equal(t, tt.expectedLiteral, hashify(tt.literal)) // Double-check that generating a tag is successful - literalMap := &core.LiteralMap{Literals: map[string]*core.Literal{"o0": tt.literal}} - hash, err := HashLiteralMap(context.TODO(), literalMap) + literalMap := &core.InputData{ + Inputs: &core.LiteralMap{Literals: map[string]*core.Literal{"o0": tt.literal}}, + } + hash, err := HashInputData(context.TODO(), literalMap) assert.NoError(t, err) assert.NotEmpty(t, hash) }) @@ -629,25 +631,31 @@ func TestInputValueSorted(t *testing.T) { literalMap, err := coreutils.MakeLiteralMap(map[string]interface{}{"1": 1, "2": 2}) assert.NoError(t, err) - hash, err := HashLiteralMap(context.TODO(), literalMap) + inputData := &core.InputData{ + Inputs: literalMap, + } + hash, err := HashInputData(context.TODO(), inputData) assert.NoError(t, err) assert.Equal(t, "GQid5LjHbakcW68DS3P2jp80QLbiF0olFHF2hTh5bg8", hash) literalMap, err = coreutils.MakeLiteralMap(map[string]interface{}{"2": 2, "1": 1}) assert.NoError(t, err) - hashDupe, err := HashLiteralMap(context.TODO(), literalMap) + inputData = &core.InputData{ + Inputs: literalMap, + } + hashDupe, err := HashInputData(context.TODO(), inputData) assert.NoError(t, err) assert.Equal(t, hashDupe, hash) } // Ensure that empty inputs are hashed the same way func TestNoInputValues(t *testing.T) { - hash, err := HashLiteralMap(context.TODO(), nil) + hash, err := HashInputData(context.TODO(), nil) assert.NoError(t, err) assert.Equal(t, "GKw-c0PwFokMUQ6T-TUmEWnZ4_VlQ2Qpgw-vCTT0-OQ", hash) - hashDupe, err := HashLiteralMap(context.TODO(), &core.LiteralMap{Literals: nil}) + hashDupe, err := HashInputData(context.TODO(), &core.InputData{Inputs: &core.LiteralMap{Literals: nil}}) assert.NoError(t, err) assert.Equal(t, "GKw-c0PwFokMUQ6T-TUmEWnZ4_VlQ2Qpgw-vCTT0-OQ", hashDupe) assert.Equal(t, hashDupe, hash) diff --git a/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go b/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go index 9ac650baaa..517834d12b 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go @@ -52,4 +52,5 @@ type TaskExecutionMetadata interface { GetPlatformResources() *v1.ResourceRequirements GetInterruptibleFailureThreshold() int32 GetEnvironmentVariables() map[string]string + //GetRuntime() string } diff --git a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go index fc6ab69454..a42bd24062 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go @@ -21,6 +21,7 @@ package template import ( "context" "fmt" + "k8s.io/apimachinery/pkg/util/version" "reflect" "regexp" "strings" @@ -38,16 +39,19 @@ var alphaNumericOnly = regexp.MustCompile("[^a-zA-Z0-9_]+") var startsWithAlpha = regexp.MustCompile("^[^a-zA-Z_]+") // Regexes for Supported templates -var inputFileRegex = regexp.MustCompile(`(?i){{\s*[\.$]Input\s*}}`) -var inputPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]InputPrefix\s*}}`) -var inputDataFileRegex = regexp.MustCompile(`(?i){{\s*[\.$]InputData\s*}}`) -var outputRegex = regexp.MustCompile(`(?i){{\s*[\.$]OutputPrefix\s*}}`) -var inputVarRegex = regexp.MustCompile(`(?i){{\s*[\.$]Inputs\.(?P[^}\s]+)\s*}}`) -var rawOutputDataPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]RawOutputDataPrefix\s*}}`) -var perRetryUniqueKey = regexp.MustCompile(`(?i){{\s*[\.$]PerRetryUniqueKey\s*}}`) -var taskTemplateRegex = regexp.MustCompile(`(?i){{\s*[\.$]TaskTemplatePath\s*}}`) -var prevCheckpointPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]PrevCheckpointPrefix\s*}}`) -var currCheckpointPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]CheckpointOutputPrefix\s*}}`) +var ( + inputFileRegex = regexp.MustCompile(`(?i){{\s*[\.$]Input\s*}}`) + inputPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]InputPrefix\s*}}`) + outputRegex = regexp.MustCompile(`(?i){{\s*[\.$]OutputPrefix\s*}}`) + inputVarRegex = regexp.MustCompile(`(?i){{\s*[\.$]Inputs\.(?P[^}\s]+)\s*}}`) + rawOutputDataPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]RawOutputDataPrefix\s*}}`) + perRetryUniqueKey = regexp.MustCompile(`(?i){{\s*[\.$]PerRetryUniqueKey\s*}}`) + taskTemplateRegex = regexp.MustCompile(`(?i){{\s*[\.$]TaskTemplatePath\s*}}`) + prevCheckpointPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]PrevCheckpointPrefix\s*}}`) + currCheckpointPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]CheckpointOutputPrefix\s*}}`) + // TODO(haytham): write down the right version once we release flytekit + inputDataWrapperMinVersion = version.MustParseSemantic("v1.10.3") +) type ErrorCollection struct { Errors []error @@ -62,12 +66,19 @@ func (e ErrorCollection) Error() string { return sb.String() } +type RuntimeMetadata interface { + GetType() idlCore.RuntimeMetadata_RuntimeType + GetVersion() string + GetFlavor() string +} + // Parameters struct is used by the Templating Engine to replace the templated parameters type Parameters struct { TaskExecMetadata core.TaskExecutionMetadata Inputs io.InputReader OutputPath io.OutputFilePaths Task core.TaskTemplatePath + Runtime RuntimeMetadata } // Render Evaluates templates in each command with the equivalent value from passed args. Templates are case-insensitive @@ -104,9 +115,7 @@ func Render(ctx context.Context, inputTemplate []string, params Parameters) ([]s } func render(ctx context.Context, inputTemplate string, params Parameters, perRetryKey string) (string, error) { - val := inputFileRegex.ReplaceAllString(inputTemplate, params.Inputs.GetInputPath().String()) - val = inputDataFileRegex.ReplaceAllString(val, params.Inputs.GetInputDataPath().String()) - val = outputRegex.ReplaceAllString(val, params.OutputPath.GetOutputPrefixPath().String()) + val := outputRegex.ReplaceAllString(inputTemplate, params.OutputPath.GetOutputPrefixPath().String()) val = inputPrefixRegex.ReplaceAllString(val, params.Inputs.GetInputPrefixPath().String()) val = rawOutputDataPrefixRegex.ReplaceAllString(val, params.OutputPath.GetRawOutputPrefix().String()) prevCheckpoint := params.OutputPath.GetPreviousCheckpointsPrefix().String() @@ -117,6 +126,34 @@ func render(ctx context.Context, inputTemplate string, params Parameters, perRet val = currCheckpointPrefixRegex.ReplaceAllString(val, params.OutputPath.GetCheckpointPrefix().String()) val = perRetryUniqueKey.ReplaceAllString(val, perRetryKey) + // Input format has been updated, check if flytekit has been updated to the new version, the GetInputPath() + // itself will upload the input (can be expensive) to the remote location + if inputFileRegex.MatchString(val) { + useNewFormat := true + if params.Runtime.GetType() == idlCore.RuntimeMetadata_FLYTE_SDK { + v, err := version.ParseSemantic(params.Runtime.GetVersion()) + if err != nil { + logger.Warnf(ctx, "Failed to parse version [%v] to determine the input path behavior. Proceeding with InputDataWrapper format.", params.Runtime.GetVersion()) + } else if !v.AtLeast(inputDataWrapperMinVersion) { + useNewFormat = false + } + } else { + useNewFormat = false + } + + if useNewFormat { + val = inputFileRegex.ReplaceAllString(val, params.Inputs.GetInputDataPath().String()) + } else { + p, err := params.Inputs.GetInputPath(ctx) + if err != nil { + logger.Debugf(ctx, "Failed to substitute Input Template reference - reason %s", err) + return "", fmt.Errorf("failed to substitute input template reference - reason %w", err) + } + + val = inputFileRegex.ReplaceAllString(val, p.String()) + } + } + // For Task template, we will replace only if there is a match. This is because, task template replacement // may be expensive, as we may offload if taskTemplateRegex.MatchString(val) { diff --git a/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go b/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go index ba2f5f6ae9..0baff91eaf 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go @@ -26,15 +26,18 @@ func (d dummyInputReader) GetInputPrefixPath() storage.DataReference { return d.inputPrefix } -func (d dummyInputReader) GetInputPath() storage.DataReference { +func (d dummyInputReader) GetInputPath(ctx context.Context) (storage.DataReference, error) { + return d.inputPath, nil +} +func (d dummyInputReader) GetInputDataPath() storage.DataReference { return d.inputPath } -func (d dummyInputReader) Get(ctx context.Context) (*core.LiteralMap, error) { +func (d dummyInputReader) Get(ctx context.Context) (*core.InputData, error) { if d.inputErr { return nil, fmt.Errorf("expected input fetch error") } - return d.inputs, nil + return &core.InputData{Inputs: d.inputs}, nil } type dummyOutputPaths struct { diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go index b2ed99fbdb..82597b5e36 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go @@ -2,6 +2,7 @@ package flytek8s import ( "context" + idlcore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" @@ -192,25 +193,19 @@ func ApplyResourceOverrides(resources, platformResources v1.ResourceRequirements } // BuildRawContainer constructs a Container based on the definition passed by the TaskExecutionContext. -func BuildRawContainer(ctx context.Context, tCtx pluginscore.TaskExecutionContext) (*v1.Container, error) { - taskTemplate, err := tCtx.TaskReader().Read(ctx) - if err != nil { - logger.Warnf(ctx, "failed to read task information when trying to construct container, err: %s", err.Error()) - return nil, err - } - +func BuildRawContainer(taskTemplate *idlcore.TaskTemplate, tCtx pluginscore.TaskExecutionMetadata) (*v1.Container, error) { // validate arguments taskContainer := taskTemplate.GetContainer() if taskContainer == nil { return nil, errors.Errorf(errors.BadTaskSpecification, "unable to create container with no definition in TaskTemplate") } - if tCtx.TaskExecutionMetadata().GetOverrides() == nil || tCtx.TaskExecutionMetadata().GetOverrides().GetResources() == nil { + if tCtx.GetOverrides() == nil || tCtx.GetOverrides().GetResources() == nil { return nil, errors.Errorf(errors.BadTaskSpecification, "resource requirements not found for container task, required!") } // Make the container name the same as the pod name, unless it violates K8s naming conventions // Container names are subject to the DNS-1123 standard - containerName := tCtx.TaskExecutionMetadata().GetTaskExecutionID().GetGeneratedName() + containerName := tCtx.GetTaskExecutionID().GetGeneratedName() if errs := validation.IsDNS1123Label(containerName); len(errs) > 0 { containerName = rand.String(4) } @@ -236,8 +231,14 @@ func BuildRawContainer(ctx context.Context, tCtx pluginscore.TaskExecutionContex // ToK8sContainer builds a Container based on the definition passed by the TaskExecutionContext. This involves applying // all Flyte configuration including k8s plugins and resource requests. func ToK8sContainer(ctx context.Context, tCtx pluginscore.TaskExecutionContext) (*v1.Container, error) { + taskTemplate, err := tCtx.TaskReader().Read(ctx) + if err != nil { + logger.Warnf(ctx, "failed to read task information when trying to construct container, err: %s", err.Error()) + return nil, err + } + // build raw container - container, err := BuildRawContainer(ctx, tCtx) + container, err := BuildRawContainer(taskTemplate, tCtx.TaskExecutionMetadata()) if err != nil { return nil, err } @@ -252,6 +253,7 @@ func ToK8sContainer(ctx context.Context, tCtx pluginscore.TaskExecutionContext) Inputs: tCtx.InputReader(), OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), } if err := AddFlyteCustomizationsToContainer(ctx, templateParameters, ResourceCustomizationModeMergeExistingResources, container); err != nil { diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go index 4515d6311c..77cf6a561c 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go @@ -363,9 +363,9 @@ func TestToK8sContainer(t *testing.T) { taskReader.On("Read", mock.Anything).Return(taskTemplate, nil) inputReader := &mocks2.InputReader{} - inputReader.OnGetInputPath().Return(storage.DataReference("test-data-reference")) + inputReader.OnGetInputDataPath().Return(storage.DataReference("test-data-reference")) inputReader.OnGetInputPrefixPath().Return(storage.DataReference("test-data-reference-prefix")) - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) outputWriter := &mocks2.OutputWriter{} outputWriter.OnGetOutputPrefixPath().Return("") @@ -464,7 +464,7 @@ func getTemplateParametersForTest(resourceRequirements, platformResources *v1.Re mockInputReader := mocks2.InputReader{} mockInputPath := storage.DataReference("s3://input/path") - mockInputReader.OnGetInputPath().Return(mockInputPath) + mockInputReader.OnGetInputDataPath().Return(mockInputPath) mockInputReader.OnGetInputPrefixPath().Return(mockInputPath) mockInputReader.On("Get", mock.Anything).Return(nil, nil) @@ -493,7 +493,7 @@ func TestAddFlyteCustomizationsToContainer(t *testing.T) { }, nil) container := &v1.Container{ Command: []string{ - "{{ .Input }}", + "{{ .InputData }}", }, Args: []string{ "{{ .OutputPrefix }}", diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot.go index ca6d3be42f..eee184b803 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot.go @@ -229,7 +229,7 @@ func AddCoPilotToPod(ctx context.Context, cfg config.FlyteCoPilotConfig, coPilot coPilotPod.Volumes = append(coPilotPod.Volumes, DataVolume(cfg.InputVolumeName, size)) // Lets add the Inputs init container - args, err := DownloadCommandArgs(inputPaths.GetInputPath(), outputPaths.GetOutputPrefixPath(), inPath, format, iFace.Inputs) + args, err := DownloadCommandArgs(inputPaths.GetInputDataPath(), outputPaths.GetOutputPrefixPath(), inPath, format, iFace.Inputs) if err != nil { return err } diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot_test.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot_test.go index 09a9fbf52b..7d0a1d6db4 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/copilot_test.go @@ -507,7 +507,7 @@ func TestAddCoPilotToPod(t *testing.T) { inputPaths := &pluginsIOMock.InputFilePaths{} inputs := "/base/inputs" inputPaths.OnGetInputPrefixPath().Return(storage.DataReference(inputs)) - inputPaths.OnGetInputPath().Return(storage.DataReference(inputs + "/inputs.pb")) + inputPaths.OnGetInputDataPath().Return(storage.DataReference(inputs + "/inputs.pb")) opath := &pluginsIOMock.OutputFilePaths{} opath.OnGetRawOutputPrefix().Return("/raw") diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper.go index 2f3447ad0e..15dd139cf7 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper.go @@ -271,8 +271,7 @@ func BuildRawPod(ctx context.Context, tCtx pluginsCore.TaskExecutionContext) (*v switch target := taskTemplate.GetTarget().(type) { case *core.TaskTemplate_Container: - // handles tasks defined by a single container - c, err := BuildRawContainer(ctx, tCtx) + c, err := BuildRawContainer(taskTemplate, tCtx.TaskExecutionMetadata()) if err != nil { return nil, nil, "", err } @@ -332,6 +331,7 @@ func ApplyFlytePodConfiguration(ctx context.Context, tCtx pluginsCore.TaskExecut OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), TaskExecMetadata: tCtx.TaskExecutionMetadata(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), } resourceRequests := make([]v1.ResourceRequirements, 0, len(podSpec.Containers)) diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go index 925cb00186..e2c0395bdf 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go @@ -73,9 +73,9 @@ func dummyTaskTemplate() *core.TaskTemplate { func dummyInputReader() io.InputReader { inputReader := &pluginsIOMock.InputReader{} - inputReader.OnGetInputPath().Return(storage.DataReference("test-data-reference")) + inputReader.OnGetInputDataPath().Return(storage.DataReference("test-data-reference")) inputReader.OnGetInputPrefixPath().Return(storage.DataReference("test-data-reference-prefix")) - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) return inputReader } diff --git a/flyteplugins/go/tasks/pluginmachinery/io/iface.go b/flyteplugins/go/tasks/pluginmachinery/io/iface.go index 12d2ea6fff..1fbb02612c 100644 --- a/flyteplugins/go/tasks/pluginmachinery/io/iface.go +++ b/flyteplugins/go/tasks/pluginmachinery/io/iface.go @@ -17,7 +17,7 @@ type InputFilePaths interface { GetInputPrefixPath() storage.DataReference // GetInputPath returns a path for where the protobuf encoded inputs of type `core.LiteralMap` can be found. // The returned value is a URN in the configured storage backend - GetInputPath() storage.DataReference + GetInputPath(ctx context.Context) (storage.DataReference, error) // GetInputDataPath returns a path for where the protobuf encoded inputs of type `core.InputData` can be found. // The returned value is a URN in the configured storage backend GetInputDataPath() storage.DataReference diff --git a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go index e68ed045f2..afcae7cb35 100644 --- a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go +++ b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_file_paths.go @@ -3,8 +3,11 @@ package mocks import ( - storage "github.com/flyteorg/flyte/flytestdlib/storage" + context "context" + mock "github.com/stretchr/testify/mock" + + storage "github.com/flyteorg/flyte/flytestdlib/storage" ) // InputFilePaths is an autogenerated mock type for the InputFilePaths type @@ -48,12 +51,12 @@ type InputFilePaths_GetInputPath struct { *mock.Call } -func (_m InputFilePaths_GetInputPath) Return(_a0 storage.DataReference) *InputFilePaths_GetInputPath { - return &InputFilePaths_GetInputPath{Call: _m.Call.Return(_a0)} +func (_m InputFilePaths_GetInputPath) Return(_a0 storage.DataReference, _a1 error) *InputFilePaths_GetInputPath { + return &InputFilePaths_GetInputPath{Call: _m.Call.Return(_a0, _a1)} } -func (_m *InputFilePaths) OnGetInputPath() *InputFilePaths_GetInputPath { - c_call := _m.On("GetInputPath") +func (_m *InputFilePaths) OnGetInputPath(ctx context.Context) *InputFilePaths_GetInputPath { + c_call := _m.On("GetInputPath", ctx) return &InputFilePaths_GetInputPath{Call: c_call} } @@ -62,18 +65,25 @@ func (_m *InputFilePaths) OnGetInputPathMatch(matchers ...interface{}) *InputFil return &InputFilePaths_GetInputPath{Call: c_call} } -// GetInputPath provides a mock function with given fields: -func (_m *InputFilePaths) GetInputPath() storage.DataReference { - ret := _m.Called() +// GetInputPath provides a mock function with given fields: ctx +func (_m *InputFilePaths) GetInputPath(ctx context.Context) (storage.DataReference, error) { + ret := _m.Called(ctx) var r0 storage.DataReference - if rf, ok := ret.Get(0).(func() storage.DataReference); ok { - r0 = rf() + if rf, ok := ret.Get(0).(func(context.Context) storage.DataReference); ok { + r0 = rf(ctx) } else { r0 = ret.Get(0).(storage.DataReference) } - return r0 + var r1 error + if rf, ok := ret.Get(1).(func(context.Context) error); ok { + r1 = rf(ctx) + } else { + r1 = ret.Error(1) + } + + return r0, r1 } type InputFilePaths_GetInputPrefixPath struct { diff --git a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go index 8c62612a0c..8849fabd9b 100644 --- a/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go +++ b/flyteplugins/go/tasks/pluginmachinery/io/mocks/input_reader.go @@ -94,12 +94,12 @@ type InputReader_GetInputPath struct { *mock.Call } -func (_m InputReader_GetInputPath) Return(_a0 storage.DataReference) *InputReader_GetInputPath { - return &InputReader_GetInputPath{Call: _m.Call.Return(_a0)} +func (_m InputReader_GetInputPath) Return(_a0 storage.DataReference, _a1 error) *InputReader_GetInputPath { + return &InputReader_GetInputPath{Call: _m.Call.Return(_a0, _a1)} } -func (_m *InputReader) OnGetInputPath() *InputReader_GetInputPath { - c_call := _m.On("GetInputPath") +func (_m *InputReader) OnGetInputPath(ctx context.Context) *InputReader_GetInputPath { + c_call := _m.On("GetInputPath", ctx) return &InputReader_GetInputPath{Call: c_call} } @@ -108,18 +108,25 @@ func (_m *InputReader) OnGetInputPathMatch(matchers ...interface{}) *InputReader return &InputReader_GetInputPath{Call: c_call} } -// GetInputPath provides a mock function with given fields: -func (_m *InputReader) GetInputPath() storage.DataReference { - ret := _m.Called() +// GetInputPath provides a mock function with given fields: ctx +func (_m *InputReader) GetInputPath(ctx context.Context) (storage.DataReference, error) { + ret := _m.Called(ctx) var r0 storage.DataReference - if rf, ok := ret.Get(0).(func() storage.DataReference); ok { - r0 = rf() + if rf, ok := ret.Get(0).(func(context.Context) storage.DataReference); ok { + r0 = rf(ctx) } else { r0 = ret.Get(0).(storage.DataReference) } - return r0 + var r1 error + if rf, ok := ret.Get(1).(func(context.Context) error); ok { + r1 = rf(ctx) + } else { + r1 = ret.Error(1) + } + + return r0, r1 } type InputReader_GetInputPrefixPath struct { diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go index 5bec41de96..e75654d5b7 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go @@ -2,6 +2,7 @@ package ioutils import ( "context" + "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" "testing" "github.com/stretchr/testify/assert" @@ -12,18 +13,20 @@ import ( func TestInMemoryOutputReader(t *testing.T) { deckPath := storage.DataReference("s3://bucket/key") - lt := map[string]*flyteIdlCore.Literal{ - "results": { - Value: &flyteIdlCore.Literal_Scalar{ - Scalar: &flyteIdlCore.Scalar{ - Value: &flyteIdlCore.Scalar_Primitive{ - Primitive: &flyteIdlCore.Primitive{Value: &flyteIdlCore.Primitive_Integer{Integer: 3}}, + lt := &flyteIdlCore.OutputData{ + Outputs: coreutils.MustMakeLiteral(map[string]*flyteIdlCore.Literal{ + "results": { + Value: &flyteIdlCore.Literal_Scalar{ + Scalar: &flyteIdlCore.Scalar{ + Value: &flyteIdlCore.Scalar_Primitive{ + Primitive: &flyteIdlCore.Primitive{Value: &flyteIdlCore.Primitive_Integer{Integer: 3}}, + }, }, }, }, - }, + }).GetMap(), } - or := NewInMemoryOutputReader(&flyteIdlCore.OutputData{Outputs: &flyteIdlCore.LiteralMap{Literals: lt}}, &deckPath, nil) + or := NewInMemoryOutputReader(lt, &deckPath, nil) assert.Equal(t, &deckPath, or.DeckPath) ctx := context.TODO() diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go index 5d087a7ea2..4d8f961f4b 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/paths.go @@ -9,9 +9,9 @@ import ( const ( // InputsSuffix specifies the name of the file that contains the task inputs in the form core.LiteralMap - InputsSuffix = "inputs.pb" + InputsSuffix = "inputs_old.pb" // InputDataSuffix specifies the name of the file that contains the task inputs in the form core.LiteralMap - InputDataSuffix = "input_data.pb" + InputDataSuffix = "inputs.pb" // TaskTemplateSuffix In case a task requests for a task template, it is passed into the task using this filename. // The format is of type core.TaskTemplate TaskTemplateSuffix = "task.pb" @@ -21,9 +21,9 @@ const ( // OutputsSuffix specifies that outputs are assumed to be written to this "file"/"suffix" under the given prefix // The outputs file has a format of core.LiteralMap OutputsSuffix = "outputs.pb" - // deckSuffix specifies that deck file are assumed to be written to this "file"/"suffix" under the given prefix + // DeckSuffix specifies that deck file are assumed to be written to this "file"/"suffix" under the given prefix // The deck file has a format of HTML - deckSuffix = "deck.html" + DeckSuffix = "deck.html" // ErrorsSuffix specifies that the errors are written to this prefix/file under the given prefix. The Error File // has a format of core.ErrorDocument ErrorsSuffix = "error.pb" diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go index 625ebf1709..b2ea1f4ec9 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go @@ -2,6 +2,7 @@ package ioutils import ( "context" + "fmt" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/io" "github.com/flyteorg/flyte/flytestdlib/errors" @@ -25,13 +26,11 @@ type RemoteFileInputReader struct { func (r RemoteFileInputReader) Get(ctx context.Context) (*core.InputData, error) { d := &core.InputData{} - if err := r.store.ReadProtobuf(ctx, r.InputFilePaths.GetInputPath(), d); err != nil { - oldFormat := &core.LiteralMap{} - if err := r.store.ReadProtobuf(ctx, r.InputFilePaths.GetInputPath(), oldFormat); err != nil { - // TODO change flytestdlib to return protobuf unmarshal errors separately. As this can indicate malformed output and we should catch that - return nil, errors.Wrapf(ErrFailedRead, err, "failed to read data from dataDir [%v].", r.InputFilePaths.GetInputPath()) - } - + oldFormat := &core.LiteralMap{} + if msgIndex, err := r.store.ReadProtobufAny(ctx, r.InputFilePaths.GetInputDataPath(), d, oldFormat); err != nil { + // TODO change flytestdlib to return protobuf unmarshal errors separately. As this can indicate malformed output and we should catch that + return nil, errors.Wrapf(ErrFailedRead, err, "failed to read data from dataDir [%v].", r.InputFilePaths.GetInputDataPath()) + } else if msgIndex == 1 { d.Inputs = oldFormat } @@ -55,8 +54,20 @@ func (s *SimpleInputFilePath) GetInputPrefixPath() storage.DataReference { return s.pathPrefix } -func (s *SimpleInputFilePath) GetInputPath() storage.DataReference { - return constructPath(s.store, s.pathPrefix, InputsSuffix) +func (s *SimpleInputFilePath) GetInputPath(ctx context.Context) (storage.DataReference, error) { + oldInputPath := constructPath(s.store, s.pathPrefix, InputsSuffix) + newInput := &core.InputData{} + err := s.store.ReadProtobuf(ctx, s.GetInputDataPath(), newInput) + if err != nil { + return "", fmt.Errorf("failed to read existing inputs from [%v]. Error: %w", s.GetInputDataPath(), err) + } + + err = s.store.WriteProtobuf(ctx, oldInputPath, storage.Options{}, newInput.GetInputs()) + if err != nil { + return "", fmt.Errorf("failed to write inputs to [%v]. Error: %w", oldInputPath, err) + } + + return oldInputPath, nil } func (s *SimpleInputFilePath) GetInputDataPath() storage.DataReference { diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go index 70304597a2..a8f26caff8 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go @@ -1,6 +1,7 @@ package ioutils import ( + "github.com/flyteorg/flyte/flytestdlib/promutils" "testing" "github.com/stretchr/testify/assert" @@ -9,10 +10,13 @@ import ( ) func TestSimpleInputFilePath_GetInputPath(t *testing.T) { + dataStore, err := storage.NewDataStore(&storage.Config{Type: storage.TypeMemory}, promutils.NewTestScope()) + assert.NoError(t, err) + s := SimpleInputFilePath{ pathPrefix: "s3://flyteorg-modelbuilder/metadata/propeller/staging/flyteexamples-development-jf193q0cqo/odd-nums-task/data", - store: storage.URLPathConstructor{}, + store: dataStore, } - assert.Equal(t, "s3://flyteorg-modelbuilder/metadata/propeller/staging/flyteexamples-development-jf193q0cqo/odd-nums-task/data/inputs.pb", s.GetInputPath().String()) + assert.Equal(t, "s3://flyteorg-modelbuilder/metadata/propeller/staging/flyteexamples-development-jf193q0cqo/odd-nums-task/data/inputs.pb", s.GetInputDataPath().String()) } diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer.go index a1ed90934e..2cf7f6c99f 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer.go @@ -35,7 +35,7 @@ func (w RemoteFileOutputPaths) GetOutputPath() storage.DataReference { } func (w RemoteFileOutputPaths) GetDeckPath() storage.DataReference { - return constructPath(w.store, w.outputPrefix, deckSuffix) + return constructPath(w.store, w.outputPrefix, DeckSuffix) } func (w RemoteFileOutputPaths) GetErrorPath() storage.DataReference { diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer_test.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer_test.go index 1ca51eb1ad..2b8a3239cb 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_output_writer_test.go @@ -33,7 +33,7 @@ func TestRemoteFileOutputWriter(t *testing.T) { assert.Equal(t, constructPath(memStore, rawOutputPrefix, CheckpointPrefix), checkpointPath.GetCheckpointPrefix()) assert.Equal(t, constructPath(memStore, outputPrefix, OutputsSuffix), checkpointPath.GetOutputPath()) - assert.Equal(t, constructPath(memStore, outputPrefix, deckSuffix), checkpointPath.GetDeckPath()) + assert.Equal(t, constructPath(memStore, outputPrefix, DeckSuffix), checkpointPath.GetDeckPath()) assert.Equal(t, constructPath(memStore, outputPrefix, ErrorsSuffix), checkpointPath.GetErrorPath()) assert.Equal(t, constructPath(memStore, outputPrefix, FuturesSuffix), checkpointPath.GetFuturesPath()) }) @@ -43,7 +43,7 @@ func TestRemoteFileOutputWriter(t *testing.T) { assert.Equal(t, constructPath(memStore, rawOutputPrefix, CheckpointPrefix), p.GetCheckpointPrefix()) assert.Equal(t, constructPath(memStore, outputPrefix, OutputsSuffix), p.GetOutputPath()) - assert.Equal(t, constructPath(memStore, outputPrefix, deckSuffix), p.GetDeckPath()) + assert.Equal(t, constructPath(memStore, outputPrefix, DeckSuffix), p.GetDeckPath()) assert.Equal(t, constructPath(memStore, outputPrefix, ErrorsSuffix), p.GetErrorPath()) }) } diff --git a/flyteplugins/go/tasks/plugins/array/array_tests_base.go b/flyteplugins/go/tasks/plugins/array/array_tests_base.go index 701b4780aa..095e00a3ed 100644 --- a/flyteplugins/go/tasks/plugins/array/array_tests_base.go +++ b/flyteplugins/go/tasks/plugins/array/array_tests_base.go @@ -17,9 +17,11 @@ import ( type AdvanceIteration func(ctx context.Context, tCtx core.TaskExecutionContext) error func RunArrayTestsEndToEnd(t *testing.T, executor core.Plugin, iter AdvanceIteration) { - inputs := coreutils.MustMakeLiteral(map[string]interface{}{ - "x": 5, - }).GetMap() + inputs := &idlCore.InputData{ + Inputs: coreutils.MustMakeLiteral(map[string]interface{}{ + "x": 5, + }).GetMap(), + } t.Run("Regular container task", func(t *testing.T) { template := tests.BuildTaskTemplate() @@ -54,9 +56,11 @@ func RunArrayTestsEndToEnd(t *testing.T, executor core.Plugin, iter AdvanceItera assert.NoError(t, err) - expectedOutputs := coreutils.MustMakeLiteral(map[string]interface{}{ - "x": []interface{}{5}, - }).GetMap() + expectedOutputs := &idlCore.OutputData{ + Outputs: coreutils.MustMakeLiteral(map[string]interface{}{ + "x": []interface{}{5}, + }).GetMap(), + } tests.RunPluginEndToEndTest(t, executor, template, inputs, expectedOutputs, nil, iter) }) @@ -89,9 +93,11 @@ func RunArrayTestsEndToEnd(t *testing.T, executor core.Plugin, iter AdvanceItera assert.NoError(t, err) - expectedOutputs := coreutils.MustMakeLiteral(map[string]interface{}{ - "x": []interface{}{5, 5}, - }).GetMap() + expectedOutputs := &idlCore.OutputData{ + Outputs: coreutils.MustMakeLiteral(map[string]interface{}{ + "x": []interface{}{5, 5}, + }).GetMap(), + } tests.RunPluginEndToEndTest(t, executor, template, inputs, expectedOutputs, nil, iter) }) diff --git a/flyteplugins/go/tasks/plugins/array/awsbatch/launcher_test.go b/flyteplugins/go/tasks/plugins/array/awsbatch/launcher_test.go index a1493f741b..cf39039b26 100644 --- a/flyteplugins/go/tasks/plugins/array/awsbatch/launcher_test.go +++ b/flyteplugins/go/tasks/plugins/array/awsbatch/launcher_test.go @@ -77,7 +77,7 @@ func TestLaunchSubTasks(t *testing.T) { ir := &mocks3.InputReader{} ir.OnGetInputPrefixPath().Return("/prefix/") - ir.OnGetInputPath().Return("/prefix/inputs.pb") + ir.OnGetInputDataPath().Return("/prefix/inputs.pb") ir.OnGetMatch(mock.Anything).Return(nil, nil) tCtx := &mocks.TaskExecutionContext{} diff --git a/flyteplugins/go/tasks/plugins/array/awsbatch/transformer.go b/flyteplugins/go/tasks/plugins/array/awsbatch/transformer.go index 8c252a7c06..6a143f4291 100644 --- a/flyteplugins/go/tasks/plugins/array/awsbatch/transformer.go +++ b/flyteplugins/go/tasks/plugins/array/awsbatch/transformer.go @@ -63,6 +63,7 @@ func FlyteTaskToBatchInput(ctx context.Context, tCtx pluginCore.TaskExecutionCon Inputs: inputReader, OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), }) if err != nil { return nil, err @@ -73,6 +74,7 @@ func FlyteTaskToBatchInput(ctx context.Context, tCtx pluginCore.TaskExecutionCon Inputs: inputReader, OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), }) taskTemplate.GetContainer().GetEnv() if err != nil { diff --git a/flyteplugins/go/tasks/plugins/array/awsbatch/transformer_test.go b/flyteplugins/go/tasks/plugins/array/awsbatch/transformer_test.go index bbe8c88995..8f49321fc3 100644 --- a/flyteplugins/go/tasks/plugins/array/awsbatch/transformer_test.go +++ b/flyteplugins/go/tasks/plugins/array/awsbatch/transformer_test.go @@ -163,7 +163,7 @@ func TestArrayJobToBatchInput(t *testing.T) { tMetadata.OnGetPlatformResources().Return(&v12.ResourceRequirements{}) ir := &mocks2.InputReader{} - ir.OnGetInputPath().Return("inputs.pb") + ir.OnGetInputDataPath().Return("inputs.pb") ir.OnGetInputPrefixPath().Return("/inputs/prefix") ir.OnGetMatch(mock.Anything).Return(nil, nil) diff --git a/flyteplugins/go/tasks/plugins/array/inputs.go b/flyteplugins/go/tasks/plugins/array/inputs.go index 129b69a1eb..7ad8b9bb3d 100644 --- a/flyteplugins/go/tasks/plugins/array/inputs.go +++ b/flyteplugins/go/tasks/plugins/array/inputs.go @@ -15,8 +15,9 @@ type arrayJobInputReader struct { } // GetInputPath overrides the inputpath to return the prefix path for array jobs -func (i arrayJobInputReader) GetInputPath() storage.DataReference { - return i.GetInputPrefixPath() +func (i arrayJobInputReader) GetInputPath(ctx context.Context) (storage.DataReference, error) { + // TODO (haytham): Does this need to copy the input data using the old format to the prefix path? + return i.GetInputPrefixPath(), nil } // GetInputDataPath overrides the inputpath to return the prefix path for array jobs diff --git a/flyteplugins/go/tasks/plugins/array/inputs_test.go b/flyteplugins/go/tasks/plugins/array/inputs_test.go index 8f9c670c57..1d9e5d7236 100644 --- a/flyteplugins/go/tasks/plugins/array/inputs_test.go +++ b/flyteplugins/go/tasks/plugins/array/inputs_test.go @@ -26,7 +26,7 @@ func TestGetInputReader(t *testing.T) { inputReader := GetInputReader(taskCtx, &core.TaskTemplate{ TaskTypeVersion: 0, }) - assert.Equal(t, inputReader.GetInputPath().String(), "test-data-prefix") + assert.Equal(t, inputReader.GetInputDataPath().String(), "test-data-prefix") }) t.Run("task_type_version == 1", func(t *testing.T) { @@ -36,6 +36,6 @@ func TestGetInputReader(t *testing.T) { inputReader := GetInputReader(taskCtx, &core.TaskTemplate{ TaskTypeVersion: 1, }) - assert.Equal(t, inputReader.GetInputPath().String(), "test-data-reference") + assert.Equal(t, inputReader.GetInputDataPath().String(), "test-data-reference") }) } diff --git a/flyteplugins/go/tasks/plugins/array/k8s/management_test.go b/flyteplugins/go/tasks/plugins/array/k8s/management_test.go index 5bead4954d..aae0a39abc 100644 --- a/flyteplugins/go/tasks/plugins/array/k8s/management_test.go +++ b/flyteplugins/go/tasks/plugins/array/k8s/management_test.go @@ -118,8 +118,8 @@ func getMockTaskExecutionContext(ctx context.Context, parallelism int) *mocks.Ta ir := &mocks2.InputReader{} ir.OnGetInputPrefixPath().Return("/prefix/") - ir.OnGetInputPath().Return("/prefix/inputs.pb") - ir.OnGetMatch(mock.Anything).Return(&core2.LiteralMap{}, nil) + ir.OnGetInputDataPath().Return("/prefix/inputs.pb") + ir.OnGetMatch(mock.Anything).Return(&core2.InputData{}, nil) composedProtobufStore := &stdmocks.ComposedProtobufStore{} matchedBy := mock.MatchedBy(func(s storage.DataReference) bool { diff --git a/flyteplugins/go/tasks/plugins/array/outputs_test.go b/flyteplugins/go/tasks/plugins/array/outputs_test.go index f218e9540f..2af6f540ee 100644 --- a/flyteplugins/go/tasks/plugins/array/outputs_test.go +++ b/flyteplugins/go/tasks/plugins/array/outputs_test.go @@ -173,7 +173,9 @@ func Test_appendSubTaskOutput(t *testing.T) { "var1": 5, "var2": "hello", } - validOutputs := coreutils.MustMakeLiteral(nativeMap).GetMap() + validOutputs := &core.OutputData{ + Outputs: coreutils.MustMakeLiteral(nativeMap).GetMap(), + } t.Run("append to empty", func(t *testing.T) { expected := map[string]interface{}{ @@ -181,9 +183,12 @@ func Test_appendSubTaskOutput(t *testing.T) { "var2": []interface{}{coreutils.MustMakeLiteral("hello")}, } - actual := &core.LiteralMap{ - Literals: map[string]*core.Literal{}, + actual := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{}, + }, } + appendSubTaskOutput(actual, validOutputs, 1) assert.Equal(t, actual, coreutils.MustMakeLiteral(expected).GetMap()) }) @@ -194,10 +199,12 @@ func Test_appendSubTaskOutput(t *testing.T) { "var2": []interface{}{nilLiteral, coreutils.MustMakeLiteral("hello")}, }).GetMap() - actual := coreutils.MustMakeLiteral(map[string]interface{}{ - "var1": []interface{}{nilLiteral}, - "var2": []interface{}{nilLiteral}, - }).GetMap() + actual := &core.OutputData{ + Outputs: coreutils.MustMakeLiteral(map[string]interface{}{ + "var1": []interface{}{nilLiteral}, + "var2": []interface{}{nilLiteral}, + }).GetMap(), + } appendSubTaskOutput(actual, validOutputs, 1) assert.Equal(t, actual, expected) diff --git a/flyteplugins/go/tasks/plugins/hive/execution_state.go b/flyteplugins/go/tasks/plugins/hive/execution_state.go index 72d99c31b4..6394f286de 100644 --- a/flyteplugins/go/tasks/plugins/hive/execution_state.go +++ b/flyteplugins/go/tasks/plugins/hive/execution_state.go @@ -275,6 +275,7 @@ func GetQueryInfo(ctx context.Context, tCtx core.TaskExecutionContext) ( Inputs: tCtx.InputReader(), OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), }) if err != nil { return "", "", []string{}, 0, "", err diff --git a/flyteplugins/go/tasks/plugins/hive/execution_state_test.go b/flyteplugins/go/tasks/plugins/hive/execution_state_test.go index 4e34a04593..762bc0be16 100644 --- a/flyteplugins/go/tasks/plugins/hive/execution_state_test.go +++ b/flyteplugins/go/tasks/plugins/hive/execution_state_test.go @@ -358,7 +358,7 @@ func TestWriteOutputs(t *testing.T) { literals, err1, err2 := reader.Read(context.Background()) assert.Nil(t, err1) assert.NoError(t, err2) - assert.NotNil(t, literals.Literals["results"].GetScalar().GetSchema()) + assert.NotNil(t, literals.GetOutputs().GetLiterals()["results"].GetScalar().GetSchema()) }) state := ExecutionState{} diff --git a/flyteplugins/go/tasks/plugins/hive/test_helpers.go b/flyteplugins/go/tasks/plugins/hive/test_helpers.go index f8fe8d4148..12e02fcba5 100644 --- a/flyteplugins/go/tasks/plugins/hive/test_helpers.go +++ b/flyteplugins/go/tasks/plugins/hive/test_helpers.go @@ -118,9 +118,8 @@ func GetMockTaskExecutionContext() core.TaskExecutionContext { dummyTaskMetadata := GetMockTaskExecutionMetadata() taskCtx := &coreMock.TaskExecutionContext{} inputReader := &ioMock.InputReader{} - inputReader.On("GetInputPrefixPath").Return(storage.DataReference("s3://test-input-prefix")) - inputReader.On("GetInputPath").Return(storage.DataReference("test-data-reference")) - inputReader.On("Get", mock.Anything).Return(&idlCore.LiteralMap{}, nil) + inputReader.OnGetInputPrefixPath().Return(storage.DataReference("s3://test-input-prefix")) + inputReader.OnGetMatch(mock.Anything).Return(&idlCore.InputData{}, nil) taskCtx.On("InputReader").Return(inputReader) outputReader := &ioMock.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/dask/dask_test.go b/flyteplugins/go/tasks/plugins/k8s/dask/dask_test.go index 576740af93..df8b217dc9 100644 --- a/flyteplugins/go/tasks/plugins/k8s/dask/dask_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/dask/dask_test.go @@ -152,8 +152,8 @@ func dummyDaskTaskContext(taskTemplate *core.TaskTemplate, resources *v1.Resourc inputReader := &pluginIOMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return("/input/prefix") - inputReader.OnGetInputPath().Return("/input") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("/input") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginIOMocks.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/kfoperators/mpi/mpi_test.go b/flyteplugins/go/tasks/plugins/k8s/kfoperators/mpi/mpi_test.go index d009c7c887..0540445001 100644 --- a/flyteplugins/go/tasks/plugins/k8s/kfoperators/mpi/mpi_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/kfoperators/mpi/mpi_test.go @@ -121,8 +121,8 @@ func dummyMPITaskContext(taskTemplate *core.TaskTemplate, resources *corev1.Reso taskCtx := &mocks.TaskExecutionContext{} inputReader := &pluginIOMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return("/input/prefix") - inputReader.OnGetInputPath().Return("/input") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("/input") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginIOMocks.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/kfoperators/pytorch/pytorch_test.go b/flyteplugins/go/tasks/plugins/k8s/kfoperators/pytorch/pytorch_test.go index e0606b1020..7b2079a3f4 100644 --- a/flyteplugins/go/tasks/plugins/k8s/kfoperators/pytorch/pytorch_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/kfoperators/pytorch/pytorch_test.go @@ -127,8 +127,8 @@ func dummyPytorchTaskContext(taskTemplate *core.TaskTemplate, resources *corev1. taskCtx := &mocks.TaskExecutionContext{} inputReader := &pluginIOMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return("/input/prefix") - inputReader.OnGetInputPath().Return("/input") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("/input") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginIOMocks.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/kfoperators/tensorflow/tensorflow_test.go b/flyteplugins/go/tasks/plugins/k8s/kfoperators/tensorflow/tensorflow_test.go index c3252183fc..6c8b475e95 100644 --- a/flyteplugins/go/tasks/plugins/k8s/kfoperators/tensorflow/tensorflow_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/kfoperators/tensorflow/tensorflow_test.go @@ -122,8 +122,8 @@ func dummyTensorFlowTaskContext(taskTemplate *core.TaskTemplate, resources *core taskCtx := &mocks.TaskExecutionContext{} inputReader := &pluginIOMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return("/input/prefix") - inputReader.OnGetInputPath().Return("/input") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("/input") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginIOMocks.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go b/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go index 9a70f906b9..afdec80f9f 100644 --- a/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go @@ -129,8 +129,8 @@ func dummyContainerTaskContext(taskTemplate *core.TaskTemplate, taskMetadata plu taskCtx := &pluginsCoreMock.TaskExecutionContext{} inputReader := &pluginsIOMock.InputReader{} inputReader.OnGetInputPrefixPath().Return("test-data-reference") - inputReader.OnGetInputPath().Return("test-data-reference") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("test-data-reference") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginsIOMock.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go b/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go index 0c728780d9..d7aedf6c0a 100644 --- a/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go @@ -100,8 +100,8 @@ func getDummySidecarTaskContext(taskTemplate *core.TaskTemplate, resources *v1.R dummyTaskMetadata := dummySidecarTaskMetadata(resources, extendedResources) inputReader := &pluginsIOMock.InputReader{} inputReader.OnGetInputPrefixPath().Return("test-data-prefix") - inputReader.OnGetInputPath().Return("test-data-reference") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("test-data-reference") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginsIOMock.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/ray/ray_test.go b/flyteplugins/go/tasks/plugins/k8s/ray/ray_test.go index 64700957c9..ef412c83db 100644 --- a/flyteplugins/go/tasks/plugins/k8s/ray/ray_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/ray/ray_test.go @@ -104,8 +104,8 @@ func dummyRayTaskContext(taskTemplate *core.TaskTemplate, resources *corev1.Reso taskCtx := &mocks.TaskExecutionContext{} inputReader := &pluginIOMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return("/input/prefix") - inputReader.OnGetInputPath().Return("/input") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("/input") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginIOMocks.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/k8s/spark/spark_test.go b/flyteplugins/go/tasks/plugins/k8s/spark/spark_test.go index b07ab0ef33..07de88ab6e 100644 --- a/flyteplugins/go/tasks/plugins/k8s/spark/spark_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/spark/spark_test.go @@ -351,8 +351,8 @@ func dummySparkTaskContext(taskTemplate *core.TaskTemplate, interruptible bool) taskCtx := &mocks.TaskExecutionContext{} inputReader := &pluginIOMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return("/input/prefix") - inputReader.OnGetInputPath().Return("/input") - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputDataPath().Return("/input") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) outputReader := &pluginIOMocks.OutputWriter{} diff --git a/flyteplugins/go/tasks/plugins/presto/execution_state.go b/flyteplugins/go/tasks/plugins/presto/execution_state.go index 89036d95c9..d57afc8569 100644 --- a/flyteplugins/go/tasks/plugins/presto/execution_state.go +++ b/flyteplugins/go/tasks/plugins/presto/execution_state.go @@ -226,6 +226,7 @@ func GetQueryInfo(ctx context.Context, tCtx core.TaskExecutionContext) (string, Inputs: tCtx.InputReader(), OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), }) if err != nil { return "", "", "", "", err diff --git a/flyteplugins/go/tasks/plugins/presto/helpers_test.go b/flyteplugins/go/tasks/plugins/presto/helpers_test.go index 60fc1cc050..54949f6bf6 100644 --- a/flyteplugins/go/tasks/plugins/presto/helpers_test.go +++ b/flyteplugins/go/tasks/plugins/presto/helpers_test.go @@ -88,10 +88,10 @@ func GetMockTaskExecutionContext() core.TaskExecutionContext { dummyTaskMetadata := GetMockTaskExecutionMetadata() taskCtx := &coreMock.TaskExecutionContext{} inputReader := &ioMock.InputReader{} - inputReader.On("GetInputPath").Return(storage.DataReference("test-data-reference")) - inputReader.On("Get", mock.Anything).Return(&idlCore.LiteralMap{}, nil) - inputReader.On("GetInputPrefixPath").Return(storage.DataReference("/data")) - taskCtx.On("InputReader").Return(inputReader) + inputReader.OnGetInputDataPath().Return(storage.DataReference("test-data-reference")) + inputReader.OnGetMatch(mock.Anything).Return(&idlCore.InputData{}, nil) + inputReader.OnGetInputPrefixPath().Return(storage.DataReference("/data")) + taskCtx.OnInputReader().Return(inputReader) outputReader := &ioMock.OutputWriter{} outputReader.On("GetOutputPath").Return(storage.DataReference("/data/outputs.pb")) diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go b/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go index 0aecffdfc7..374926e1f0 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go @@ -50,9 +50,11 @@ func (m *MockClient) CreateTask(_ context.Context, createTaskRequest *admin.Crea func (m *MockClient) GetTask(_ context.Context, req *admin.GetTaskRequest, _ ...grpc.CallOption) (*admin.GetTaskResponse, error) { if req.GetTaskType() == "bigquery_query_job_task" { - return &admin.GetTaskResponse{Resource: &admin.Resource{State: admin.State_SUCCEEDED, Outputs: &flyteIdlCore.LiteralMap{ - Literals: map[string]*flyteIdlCore.Literal{ - "arr": coreutils.MustMakeLiteral([]interface{}{[]interface{}{"a", "b"}, []interface{}{1, 2}}), + return &admin.GetTaskResponse{Resource: &admin.Resource{State: admin.State_SUCCEEDED, Outputs: &flyteIdlCore.OutputData{ + Outputs: &flyteIdlCore.LiteralMap{ + Literals: map[string]*flyteIdlCore.Literal{ + "arr": coreutils.MustMakeLiteral([]interface{}{[]interface{}{"a", "b"}, []interface{}{1, 2}}), + }, }, }}}, nil } @@ -99,7 +101,9 @@ func TestEndToEnd(t *testing.T) { st, err := utils.MarshalPbToStruct(&sparkJob) assert.NoError(t, err) - inputs, _ := coreutils.MakeLiteralMap(map[string]interface{}{"x": 1}) + inputs := &flyteIdlCore.InputData{ + Inputs: coreutils.MustMakeLiteral(map[string]interface{}{"x": 1}).GetMap(), + } template := flyteIdlCore.TaskTemplate{ Type: "bigquery_query_job_task", Custom: st, @@ -144,7 +148,7 @@ func TestEndToEnd(t *testing.T) { tCtx.OnTaskReader().Return(tr) inputReader := &ioMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return(basePrefix) - inputReader.OnGetInputPath().Return(basePrefix + "/inputs.pb") + inputReader.OnGetInputDataPath().Return(basePrefix + "/inputs.pb") inputReader.OnGetMatch(mock.Anything).Return(inputs, nil) tCtx.OnInputReader().Return(inputReader) @@ -178,7 +182,7 @@ func TestEndToEnd(t *testing.T) { tCtx.OnTaskReader().Return(tr) inputReader := &ioMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return(basePrefix) - inputReader.OnGetInputPath().Return(basePrefix + "/inputs.pb") + inputReader.OnGetInputDataPath().Return(basePrefix + "/inputs.pb") inputReader.OnGetMatch(mock.Anything).Return(nil, fmt.Errorf("read fail")) tCtx.OnInputReader().Return(inputReader) diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go b/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go index 66dcb2b313..c3d08666da 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go @@ -79,6 +79,7 @@ func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextR Inputs: taskCtx.InputReader(), OutputPath: taskCtx.OutputWriter(), Task: taskCtx.TaskReader(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), } argTemplate = taskTemplate.GetContainer().Args modifiedArgs, err := template.Render(ctx, taskTemplate.GetContainer().Args, templateParameters) diff --git a/flyteplugins/go/tasks/plugins/webapi/athena/utils.go b/flyteplugins/go/tasks/plugins/webapi/athena/utils.go index 33bd45b2dd..5a554153e9 100644 --- a/flyteplugins/go/tasks/plugins/webapi/athena/utils.go +++ b/flyteplugins/go/tasks/plugins/webapi/athena/utils.go @@ -104,6 +104,7 @@ func extractQueryInfo(ctx context.Context, tCtx webapi.TaskExecutionContextReade Inputs: tCtx.InputReader(), OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), + Runtime: task.GetMetadata().GetRuntime(), }) if err != nil { return QueryInfo{}, err @@ -135,6 +136,7 @@ func extractQueryInfo(ctx context.Context, tCtx webapi.TaskExecutionContextReade Inputs: tCtx.InputReader(), OutputPath: tCtx.OutputWriter(), Task: tCtx.TaskReader(), + Runtime: task.GetMetadata().GetRuntime(), }) if err != nil { return QueryInfo{}, err diff --git a/flyteplugins/go/tasks/plugins/webapi/athena/utils_test.go b/flyteplugins/go/tasks/plugins/webapi/athena/utils_test.go index 4ed3d6950d..ca1e8ac332 100644 --- a/flyteplugins/go/tasks/plugins/webapi/athena/utils_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/athena/utils_test.go @@ -191,7 +191,7 @@ func Test_ExtractQueryInfo(t *testing.T) { ir := &mocks3.InputReader{} tCtx.OnInputReader().Return(ir) - ir.OnGetInputPath().Return(storage.DataReference("s3://something")) + ir.OnGetInputDataPath().Return(storage.DataReference("s3://something")) ir.OnGetInputPrefixPath().Return(storage.DataReference("s3://something/2")) ir.OnGet(ctx).Return(nil, nil) diff --git a/flyteplugins/go/tasks/plugins/webapi/bigquery/integration_test.go b/flyteplugins/go/tasks/plugins/webapi/bigquery/integration_test.go index 5509c216f7..d2afd4a62b 100644 --- a/flyteplugins/go/tasks/plugins/webapi/bigquery/integration_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/bigquery/integration_test.go @@ -49,7 +49,10 @@ func TestEndToEnd(t *testing.T) { plugin, err := pluginEntry.LoadPlugin(context.TODO(), newFakeSetupContext()) assert.NoError(t, err) - inputs, _ := coreutils.MakeLiteralMap(map[string]interface{}{"x": 1}) + inputs := &flyteIdlCore.InputData{ + Inputs: coreutils.MustMakeLiteral(map[string]interface{}{"x": 1}).GetMap(), + } + template := flyteIdlCore.TaskTemplate{ Type: bigqueryQueryJobTask, Target: &flyteIdlCore.TaskTemplate_Sql{Sql: &flyteIdlCore.Sql{Statement: "SELECT 1", Dialect: flyteIdlCore.Sql_ANSI}}, diff --git a/flyteplugins/go/tasks/plugins/webapi/bigquery/plugin_test.go b/flyteplugins/go/tasks/plugins/webapi/bigquery/plugin_test.go index 939fe0577a..fd87e67873 100644 --- a/flyteplugins/go/tasks/plugins/webapi/bigquery/plugin_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/bigquery/plugin_test.go @@ -104,7 +104,7 @@ func TestOutputWriter(t *testing.T) { literals, ee, err := or.Read(ctx) assert.NoError(t, err) - sd := literals.GetLiterals()["results"].GetScalar().GetStructuredDataset() + sd := literals.GetOutputs().GetLiterals()["results"].GetScalar().GetStructuredDataset() assert.Equal(t, sd.Uri, outputLocation) assert.Equal(t, sd.Metadata.GetStructuredDatasetType().Columns[0].Name, "col1") assert.Equal(t, sd.Metadata.GetStructuredDatasetType().Columns[0].LiteralType.GetSimple(), flyteIdlCore.SimpleType_INTEGER) diff --git a/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go b/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go index f39ba4e5e4..073cef0054 100644 --- a/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go @@ -1,6 +1,7 @@ package bigquery import ( + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "testing" "github.com/stretchr/testify/assert" @@ -68,7 +69,7 @@ func TestGetJobConfigurationQuery(t *testing.T) { "integer": 42, }) - jobConfigurationQuery, err := getJobConfigurationQuery(&config, inputs) + jobConfigurationQuery, err := getJobConfigurationQuery(&config, &core.InputData{Inputs: inputs}) useLegacySQL := false assert.NoError(t, err) diff --git a/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go b/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go index 651892f672..557a3df725 100644 --- a/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go @@ -60,7 +60,7 @@ func TestEndToEnd(t *testing.T) { sparkJob := plugins.SparkJob{DatabricksConf: databricksConfig, DatabricksToken: "token", SparkConf: map[string]string{"spark.driver.bindAddress": "127.0.0.1"}} st, err := utils.MarshalPbToStruct(&sparkJob) assert.NoError(t, err) - inputs, _ := coreutils.MakeLiteralMap(map[string]interface{}{"x": 1}) + inputs := &flyteIdlCore.InputData{Inputs: coreutils.MustMakeLiteral(map[string]interface{}{"x": 1}).GetMap()} template := flyteIdlCore.TaskTemplate{ Type: "databricks", Custom: st, diff --git a/flyteplugins/go/tasks/plugins/webapi/databricks/plugin.go b/flyteplugins/go/tasks/plugins/webapi/databricks/plugin.go index 3bd03135dc..8c9d96b4ed 100644 --- a/flyteplugins/go/tasks/plugins/webapi/databricks/plugin.go +++ b/flyteplugins/go/tasks/plugins/webapi/databricks/plugin.go @@ -103,6 +103,7 @@ func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextR Inputs: taskCtx.InputReader(), OutputPath: taskCtx.OutputWriter(), Task: taskCtx.TaskReader(), + Runtime: taskTemplate.GetMetadata().GetRuntime(), }) if err != nil { return nil, nil, err diff --git a/flyteplugins/go/tasks/plugins/webapi/snowflake/plugin.go b/flyteplugins/go/tasks/plugins/webapi/snowflake/plugin.go index 33334b4003..60f4331d94 100644 --- a/flyteplugins/go/tasks/plugins/webapi/snowflake/plugin.go +++ b/flyteplugins/go/tasks/plugins/webapi/snowflake/plugin.go @@ -90,6 +90,7 @@ func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextR Inputs: taskCtx.InputReader(), OutputPath: taskCtx.OutputWriter(), Task: taskCtx.TaskReader(), + Runtime: task.GetMetadata().GetRuntime(), }) if err != nil { return nil, nil, err diff --git a/flyteplugins/tests/end_to_end.go b/flyteplugins/tests/end_to_end.go index aedfc302e8..91dc55de70 100644 --- a/flyteplugins/tests/end_to_end.go +++ b/flyteplugins/tests/end_to_end.go @@ -54,7 +54,7 @@ func BuildTaskTemplate() *idlCore.TaskTemplate { } func RunPluginEndToEndTest(t *testing.T, executor pluginCore.Plugin, template *idlCore.TaskTemplate, - inputs *idlCore.LiteralMap, expectedOutputs *idlCore.LiteralMap, expectedFailure *idlCore.ExecutionError, + inputs *idlCore.InputData, expectedOutputs *idlCore.OutputData, expectedFailure *idlCore.ExecutionError, iterationUpdate func(ctx context.Context, tCtx pluginCore.TaskExecutionContext) error) pluginCore.PhaseInfo { ctx := context.Background() @@ -72,8 +72,9 @@ func RunPluginEndToEndTest(t *testing.T, executor pluginCore.Plugin, template *i inputReader := &ioMocks.InputReader{} inputReader.OnGetInputPrefixPath().Return(basePrefix) - inputReader.OnGetInputPath().Return(basePrefix + "/inputs.pb") - inputReader.OnGetMatch(mock.Anything).Return(&idlCore.InputData{Inputs: inputs}, nil) + inputReader.OnGetInputDataPath().Return(basePrefix + "/inputs.pb") + inputReader.OnGetInputDataPath().Return(basePrefix + "/inputs_data.pb") + inputReader.OnGetMatch(mock.Anything).Return(inputs, nil) outputWriter := &ioMocks.OutputWriter{} outputWriter.OnGetRawOutputPrefix().Return("/sandbox/") @@ -257,7 +258,7 @@ func RunPluginEndToEndTest(t *testing.T, executor pluginCore.Plugin, template *i assert.NoError(t, err) if expectedOutputs != nil { assert.True(t, trns.Info().Phase().IsSuccess()) - actualOutputs := &idlCore.LiteralMap{} + actualOutputs := &idlCore.OutputData{} assert.NoError(t, ds.ReadProtobuf(context.TODO(), outputWriter.GetOutputPath(), actualOutputs)) if diff := deep.Equal(expectedOutputs, actualOutputs); diff != nil { diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go index a085ebaf0a..54d42d285d 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/ioutils" "time" "github.com/golang/protobuf/proto" @@ -551,17 +552,17 @@ type NodeStatusVisitor interface { type EnqueueWorkflow func(workflowID WorkflowID) func GetOutputsFile(outputDir DataReference) DataReference { - return outputDir + "/outputs.pb" + return outputDir + "/" + ioutils.OutputsSuffix } func GetInputsFile(inputDir DataReference) DataReference { - return inputDir + "/inputs.pb" + return inputDir + "/" + ioutils.InputsSuffix } func GetInputDataFile(inputDir DataReference) DataReference { - return inputDir + "/inputs_data.pb" + return inputDir + "/" + ioutils.InputDataSuffix } func GetDeckFile(inputDir DataReference) DataReference { - return inputDir + "/deck.html" + return inputDir + "/" + ioutils.DeckSuffix } diff --git a/flytepropeller/pkg/controller/controller.go b/flytepropeller/pkg/controller/controller.go index 6b36dc05db..ac94ab6848 100644 --- a/flytepropeller/pkg/controller/controller.go +++ b/flytepropeller/pkg/controller/controller.go @@ -406,7 +406,7 @@ func New(ctx context.Context, cfg *config.Config, kubeClientset kubernetes.Inter logger.Errorf(ctx, "Storage configuration missing.") } - store, err := storage.NewDataStore(sCfg, scope.NewSubScope("metastore")) + store, err := storage.NewDataStoreWithContext(ctx, sCfg, scope.NewSubScope("metastore")) if err != nil { return nil, errors.Wrapf(err, "Failed to create Metadata storage") } diff --git a/flytepropeller/pkg/controller/nodes/array/event_recorder.go b/flytepropeller/pkg/controller/nodes/array/event_recorder.go index c4e3004011..79b88e18de 100644 --- a/flytepropeller/pkg/controller/nodes/array/event_recorder.go +++ b/flytepropeller/pkg/controller/nodes/array/event_recorder.go @@ -141,7 +141,7 @@ func (e *externalResourcesEventRecorder) finalize(ctx context.Context, nCtx inte } else { // pass inputs by reference taskExecutionEvent.InputValue = &event.TaskExecutionEvent_InputUri{ - InputUri: nCtx.InputReader().GetInputPath().String(), + InputUri: nCtx.InputReader().GetInputDataPath().String(), } } } diff --git a/flytepropeller/pkg/controller/nodes/array/handler.go b/flytepropeller/pkg/controller/nodes/array/handler.go index dd1ea0e1ca..68845d5b7b 100644 --- a/flytepropeller/pkg/controller/nodes/array/handler.go +++ b/flytepropeller/pkg/controller/nodes/array/handler.go @@ -399,12 +399,14 @@ func (a *arrayNodeHandler) Handle(ctx context.Context, nCtx interfaces.NodeExecu } } - outputLiteralMap := &idlcore.LiteralMap{ - Literals: outputLiterals, + outputs := &idlcore.OutputData{ + Outputs: &idlcore.LiteralMap{ + Literals: outputLiterals, + }, } outputFile := v1alpha1.GetOutputsFile(nCtx.NodeStatus().GetOutputDir()) - if err := nCtx.DataStore().WriteProtobuf(ctx, outputFile, storage.Options{}, outputLiteralMap); err != nil { + if err := nCtx.DataStore().WriteProtobuf(ctx, outputFile, storage.Options{}, outputs); err != nil { return handler.UnknownTransition, err } diff --git a/flytepropeller/pkg/controller/nodes/array/handler_test.go b/flytepropeller/pkg/controller/nodes/array/handler_test.go index f9086218c2..2617881b20 100644 --- a/flytepropeller/pkg/controller/nodes/array/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/array/handler_test.go @@ -119,7 +119,7 @@ func createNodeExecutionContext(dataStore *storage.DataStore, eventRecorder inte // InputReader inputFilePaths := &pluginmocks.InputFilePaths{} - inputFilePaths.OnGetInputPath().Return(storage.DataReference("s3://bucket/input")) + inputFilePaths.OnGetInputDataPath().Return(storage.DataReference("s3://bucket/input")) nCtx.OnInputReader().Return( newStaticInputReader( inputFilePaths, diff --git a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer.go b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer.go index 679a9dff55..ff7979b29c 100644 --- a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer.go +++ b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer.go @@ -117,7 +117,7 @@ func generateTaskSignatureHash(ctx context.Context, taskInterface core.TypedInte // Generate a tag by hashing the input values func GenerateArtifactTagName(ctx context.Context, inputs *core.InputData) (string, error) { - hashString, err := catalog.HashLiteralMap(ctx, inputs) + hashString, err := catalog.HashInputData(ctx, inputs) if err != nil { return "", err } diff --git a/flytepropeller/pkg/controller/nodes/executor.go b/flytepropeller/pkg/controller/nodes/executor.go index d9cd516061..4a151f8573 100644 --- a/flytepropeller/pkg/controller/nodes/executor.go +++ b/flytepropeller/pkg/controller/nodes/executor.go @@ -531,13 +531,6 @@ func (c *nodeExecutor) recoverInputs(ctx context.Context, nCtx interfaces.NodeEx } } - // Write old inputs format - if err := c.store.WriteProtobuf(ctx, nCtx.InputReader().GetInputPath(), storage.Options{}, nodeInputs.GetInputs()); err != nil { - c.metrics.InputsWriteFailure.Inc(ctx) - logger.Errorf(ctx, "Failed to move recovered inputs for Node. Error [%v]. InputsFile [%s]", err, nCtx.InputReader().GetInputPath()) - return nil, errors.Wrapf(errors.StorageError, nCtx.NodeID(), err, "Failed to store inputs for Node. InputsFile [%s]", nCtx.InputReader().GetInputPath()) - } - // Write new inputs format if err := c.store.WriteProtobuf(ctx, nCtx.InputReader().GetInputDataPath(), storage.Options{}, nodeInputs); err != nil { c.metrics.InputsWriteFailure.Inc(ctx) @@ -769,20 +762,12 @@ func (c *nodeExecutor) preExecute(ctx context.Context, dag executors.DAGStructur Inputs: nodeInputLiterals, } - inputsFile := v1alpha1.GetInputsFile(dataDir) - if err := c.store.WriteProtobuf(ctx, inputsFile, storage.Options{}, nodeInputs.GetInputs()); err != nil { - c.metrics.InputsWriteFailure.Inc(ctx) - logger.Errorf(ctx, "Failed to store inputs for Node. Error [%v]. InputsFile [%s]", err, inputsFile) - return handler.PhaseInfoUndefined, errors.Wrapf( - errors.StorageError, node.GetID(), err, "Failed to store inputs for Node. InputsFile [%s]", inputsFile) - } - inputDataFile := v1alpha1.GetInputDataFile(dataDir) if err := c.store.WriteProtobuf(ctx, inputDataFile, storage.Options{}, nodeInputs); err != nil { c.metrics.InputsWriteFailure.Inc(ctx) - logger.Errorf(ctx, "Failed to store inputs for Node. Error [%v]. InputsFile [%s]", err, inputsFile) + logger.Errorf(ctx, "Failed to store inputs for Node. Error [%v]. InputsFile [%s]", err, inputDataFile) return handler.PhaseInfoUndefined, errors.Wrapf( - errors.StorageError, node.GetID(), err, "Failed to store inputs for Node. InputsFile [%s]", inputsFile) + errors.StorageError, node.GetID(), err, "Failed to store inputs for Node. InputsFile [%s]", inputDataFile) } } @@ -1017,7 +1002,7 @@ func (c *nodeExecutor) handleNotYetStartedNode(ctx context.Context, dag executor p = p.WithOccuredAt(occurredAt) nev, err := ToNodeExecutionEvent(nCtx.NodeExecutionMetadata().GetNodeExecutionID(), - p, nCtx.InputReader().GetInputPath().String(), nodeStatus, nCtx.ExecutionContext().GetEventVersion(), + p, nCtx.InputReader().GetInputDataPath().String(), nodeStatus, nCtx.ExecutionContext().GetEventVersion(), nCtx.ExecutionContext().GetParentInfo(), nCtx.Node(), c.clusterID, nCtx.NodeStateReader().GetDynamicNodeState().Phase, c.eventConfig) if err != nil { @@ -1245,7 +1230,7 @@ func (c *nodeExecutor) handleQueuedOrRunningNode(ctx context.Context, nCtx inter logger.Infof(ctx, "Change in node state detected from [%s] -> [%s], (handler phase [%s])", nodeStatus.GetPhase().String(), np.String(), p.GetPhase().String()) nev, err := ToNodeExecutionEvent(nCtx.NodeExecutionMetadata().GetNodeExecutionID(), - p, nCtx.InputReader().GetInputPath().String(), nCtx.NodeStatus(), nCtx.ExecutionContext().GetEventVersion(), + p, nCtx.InputReader().GetInputDataPath().String(), nCtx.NodeStatus(), nCtx.ExecutionContext().GetEventVersion(), nCtx.ExecutionContext().GetParentInfo(), nCtx.Node(), c.clusterID, nCtx.NodeStateReader().GetDynamicNodeState().Phase, c.eventConfig) if err != nil { diff --git a/flytepropeller/pkg/controller/nodes/executor_test.go b/flytepropeller/pkg/controller/nodes/executor_test.go index 222e0a05d5..59a6e09f76 100644 --- a/flytepropeller/pkg/controller/nodes/executor_test.go +++ b/flytepropeller/pkg/controller/nodes/executor_test.go @@ -1709,9 +1709,9 @@ func TestNodeExecutionEventStartNode(t *testing.T) { tID := &core.TaskExecutionIdentifier{ NodeExecutionId: nID, } - p := handler.PhaseInfoQueued("r", &core.LiteralMap{}) + p := handler.PhaseInfoQueued("r", &core.InputData{Inputs: &core.LiteralMap{}}) inputReader := &mocks3.InputReader{} - inputReader.OnGetInputPath().Return("reference") + inputReader.OnGetInputDataPath().Return("reference") parentInfo := &mocks4.ImmutableParentInfo{} parentInfo.OnGetUniqueID().Return("np1") parentInfo.OnCurrentAttempt().Return(uint32(2)) @@ -2050,7 +2050,7 @@ func TestRecover(t *testing.T) { }) ir := &mocks3.InputReader{} - ir.OnGetInputPath().Return(inputsPath) + ir.OnGetInputDataPath().Return(inputsPath) ns := &mocks.ExecutableNodeStatus{} ns.OnGetOutputDir().Return(storage.DataReference("out")) diff --git a/flytepropeller/pkg/controller/nodes/task/handler_test.go b/flytepropeller/pkg/controller/nodes/task/handler_test.go index 91c0879759..082a27dd20 100644 --- a/flytepropeller/pkg/controller/nodes/task/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/task/handler_test.go @@ -396,11 +396,14 @@ func CreateNoopResourceManager(ctx context.Context, scope promutils.Scope) resou func Test_task_Handle_NoCatalog(t *testing.T) { - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("bar"), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("bar"), + }, }, } + createNodeContext := func(pluginPhase pluginCore.Phase, pluginVer uint32, pluginResp fakeplugins.NextPhaseState, recorder interfaces.EventRecorder, ttype string, s *taskNodeStateHolder, allowIncrementParallelism bool) *nodeMocks.NodeExecutionContext { wfExecID := &core.WorkflowExecutionIdentifier{ Project: "project", @@ -474,7 +477,7 @@ func Test_task_Handle_NoCatalog(t *testing.T) { n.OnGetResources().Return(res) ir := &ioMocks.InputReader{} - ir.OnGetInputPath().Return("input") + ir.OnGetInputDataPath().Return("input") ir.OnGetMatch(mock.Anything).Return(inputs, nil) nCtx := &nodeMocks.NodeExecutionContext{} nCtx.OnNodeExecutionMetadata().Return(nm) diff --git a/flytepropeller/pkg/controller/nodes/task/transformer.go b/flytepropeller/pkg/controller/nodes/task/transformer.go index f8a04f6915..3397345fe8 100644 --- a/flytepropeller/pkg/controller/nodes/task/transformer.go +++ b/flytepropeller/pkg/controller/nodes/task/transformer.go @@ -189,7 +189,7 @@ func ToTaskExecutionEvent(input ToTaskExecutionEventInputs) (*event.TaskExecutio } } else { tev.InputValue = &event.TaskExecutionEvent_InputUri{ - InputUri: input.InputReader.GetInputPath().String(), + InputUri: input.InputReader.GetInputDataPath().String(), } } diff --git a/flytestdlib/storage/protobuf_store.go b/flytestdlib/storage/protobuf_store.go index e22c35ddfd..ba57893f08 100644 --- a/flytestdlib/storage/protobuf_store.go +++ b/flytestdlib/storage/protobuf_store.go @@ -6,7 +6,9 @@ import ( "fmt" "time" - "github.com/golang/protobuf/proto" + protoV1 "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" + errs "github.com/pkg/errors" "github.com/prometheus/client_golang/prometheus" @@ -32,7 +34,7 @@ type DefaultProtobufStore struct { metrics *protoMetrics } -func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference DataReference, msg ...proto.Message) (msgIndex int, err error) { +func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference DataReference, msg ...protoV1.Message) (msgIndex int, err error) { ctx, span := otelutils.NewSpan(ctx, otelutils.BlobstoreClientTracer, "flytestdlib.storage.DefaultProtobufStore/ReadProtobuf") defer span.End() @@ -58,7 +60,12 @@ func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference Dat var lastErr error for i, m := range msg { t := s.metrics.UnmarshalTime.Start() - err = proto.Unmarshal(docContents, m) + var mCopy proto.Message + if len(msg) > 1 { + mCopy = proto.Clone(protoV1.MessageV2(m)) + } + + err = proto.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(docContents, protoV1.MessageV2(m)) t.Stop() if err != nil { s.metrics.UnmarshalFailure.Inc() @@ -66,23 +73,25 @@ func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference Dat continue } - return i, nil + if len(msg) == 1 || !proto.Equal(mCopy, protoV1.MessageV2(m)) { + return i, nil + } } return -1, lastErr } -func (s DefaultProtobufStore) ReadProtobuf(ctx context.Context, reference DataReference, msg proto.Message) error { +func (s DefaultProtobufStore) ReadProtobuf(ctx context.Context, reference DataReference, msg protoV1.Message) error { _, err := s.ReadProtobufAny(ctx, reference, msg) return err } -func (s DefaultProtobufStore) WriteProtobuf(ctx context.Context, reference DataReference, opts Options, msg proto.Message) error { +func (s DefaultProtobufStore) WriteProtobuf(ctx context.Context, reference DataReference, opts Options, msg protoV1.Message) error { ctx, span := otelutils.NewSpan(ctx, otelutils.BlobstoreClientTracer, "flytestdlib.storage.DefaultProtobufStore/WriteProtobuf") defer span.End() t := s.metrics.MarshalTime.Start() - raw, err := proto.Marshal(msg) + raw, err := protoV1.Marshal(msg) t.Stop() if err != nil { s.metrics.MarshalFailure.Inc() diff --git a/flytestdlib/storage/protobuf_store_test.go b/flytestdlib/storage/protobuf_store_test.go index fe23dc89f2..bc52664294 100644 --- a/flytestdlib/storage/protobuf_store_test.go +++ b/flytestdlib/storage/protobuf_store_test.go @@ -3,6 +3,7 @@ package storage import ( "context" "fmt" + "github.com/golang/protobuf/ptypes/timestamp" "io" "math/rand" "net/http" @@ -46,6 +47,21 @@ func (m mockBigDataProtoMessage) String() string { func (mockBigDataProtoMessage) ProtoMessage() { } +type mockProtoMessageWrapper struct { + Invalid *timestamp.Timestamp `protobuf:"bytes,1,opt,name=invalid,proto3" json:"invalid,omitempty"` + Inputs *mockProtoMessage `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"` +} + +func (mockProtoMessageWrapper) Reset() { +} + +func (m mockProtoMessageWrapper) String() string { + return proto.CompactTextString(m) +} + +func (mockProtoMessageWrapper) ProtoMessage() { +} + func TestDefaultProtobufStore(t *testing.T) { t.Run("Read after Write", func(t *testing.T) { testScope := promutils.NewTestScope() @@ -136,7 +152,6 @@ func TestDefaultProtobufStore_BigDataReadAfterWrite(t *testing.T) { err = s.ReadProtobuf(context.TODO(), DataReference("bigK"), m) assert.NoError(t, err) assert.Equal(t, bigD, m.X) - }) } @@ -171,3 +186,25 @@ func TestDefaultProtobufStore_HardErrors(t *testing.T) { assert.Equal(t, dummyReadErrorMsg, errs.Cause(err).Error()) }) } + +func TestReadProtobufAny(t *testing.T) { + t.Run("Read new type after writing old type", func(t *testing.T) { + testScope := promutils.NewTestScope() + s, err := NewDataStore(&Config{Type: TypeMemory}, testScope) + assert.NoError(t, err) + + oldMsg := &mockProtoMessage{X: 5} + err = s.WriteProtobuf(context.TODO(), "hello", Options{}, oldMsg) + assert.NoError(t, err) + + oldType := &mockProtoMessage{} + newType := &mockProtoMessageWrapper{} + msgIndex, err := s.ReadProtobufAny(context.TODO(), "hello", newType, oldType) + assert.NoError(t, err) + if !assert.Equal(t, 1, msgIndex) { + t.FailNow() + } + + assert.Equal(t, int64(5), oldType.X) + }) +} From 77fae93b432a349c86807c0c9cc23c451fe16839 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Fri, 29 Dec 2023 14:00:27 -0800 Subject: [PATCH 10/25] Update bindings to read the new format Signed-off-by: Haytham Abuelfutuh --- .../pkg/controller/nodes/executor.go | 4 +++- .../pkg/controller/nodes/output_resolver.go | 23 ++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/flytepropeller/pkg/controller/nodes/executor.go b/flytepropeller/pkg/controller/nodes/executor.go index 4a151f8573..c8f47ac1fd 100644 --- a/flytepropeller/pkg/controller/nodes/executor.go +++ b/flytepropeller/pkg/controller/nodes/executor.go @@ -123,7 +123,9 @@ func (c *recursiveNodeExecutor) SetInputsForStartNode(ctx context.Context, execC outputFile := v1alpha1.GetOutputsFile(nodeStatus.GetOutputDir()) so := storage.Options{} - if err := c.store.WriteProtobuf(ctx, outputFile, so, inputs); err != nil { + if err := c.store.WriteProtobuf(ctx, outputFile, so, &core.OutputData{ + Outputs: inputs.GetInputs(), + }); err != nil { logger.Errorf(ctx, "Failed to write protobuf (metadata). Error [%v]", err) return interfaces.NodeStatusUndefined, errors.Wrapf(errors.CausedByError, startNode.GetID(), err, "Failed to store workflow inputs (as start node)") } diff --git a/flytepropeller/pkg/controller/nodes/output_resolver.go b/flytepropeller/pkg/controller/nodes/output_resolver.go index 85eebd4de5..f052200599 100644 --- a/flytepropeller/pkg/controller/nodes/output_resolver.go +++ b/flytepropeller/pkg/controller/nodes/output_resolver.go @@ -74,19 +74,23 @@ func (r remoteFileOutputResolver) ExtractOutput(ctx context.Context, nl executor func resolveSubtaskOutput(ctx context.Context, store storage.ProtobufStore, nodeID string, outputsFileRef storage.DataReference, idx int, varName string) (*core.Literal, error) { - d := &core.LiteralMap{} + + oldOutputs := &core.LiteralMap{} + outputs := &core.OutputData{} // TODO we should do a head before read and if head results in not found then fail - if err := store.ReadProtobuf(ctx, outputsFileRef, d); err != nil { + if msgIndex, err := store.ReadProtobufAny(ctx, outputsFileRef, outputs, oldOutputs); err != nil { return nil, errors.Wrapf(errors.CausedByError, nodeID, err, "Failed to GetPrevious data from outputDir [%v]", outputsFileRef) + } else if msgIndex == 0 { + oldOutputs = outputs.GetOutputs() } - if d.Literals == nil { + if oldOutputs.Literals == nil { return nil, errors.Errorf(errors.OutputsNotFoundError, nodeID, "Outputs not found at [%v]", outputsFileRef) } - l, ok := d.Literals[varName] + l, ok := oldOutputs.Literals[varName] if !ok { return nil, errors.Errorf(errors.BadSpecificationError, nodeID, "Output of array tasks is expected to be "+ "a single literal map entry named 'array' of type LiteralCollection.") @@ -109,18 +113,21 @@ func resolveSubtaskOutput(ctx context.Context, store storage.ProtobufStore, node func resolveSingleOutput(ctx context.Context, store storage.ProtobufStore, nodeID string, outputsFileRef storage.DataReference, varName string) (*core.Literal, error) { - d := &core.LiteralMap{} - if err := store.ReadProtobuf(ctx, outputsFileRef, d); err != nil { + oldOutputs := &core.LiteralMap{} + outputs := &core.OutputData{} + if msgIndex, err := store.ReadProtobufAny(ctx, outputsFileRef, outputs, oldOutputs); err != nil { return nil, errors.Wrapf(errors.CausedByError, nodeID, err, "Failed to GetPrevious data from outputDir [%v]", outputsFileRef) + } else if msgIndex == 0 { + oldOutputs = outputs.GetOutputs() } - if d.Literals == nil { + if oldOutputs.Literals == nil { return nil, errors.Errorf(errors.OutputsNotFoundError, nodeID, "Outputs not found at [%v]", outputsFileRef) } - l, ok := d.Literals[varName] + l, ok := oldOutputs.Literals[varName] if !ok { return nil, errors.Errorf(errors.OutputsNotFoundError, nodeID, "Failed to find [%v].[%v]", nodeID, varName) From 8b894969d6dbd12924c6eb7ba81a6271cd194b30 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Sat, 6 Jan 2024 08:55:03 -0800 Subject: [PATCH 11/25] Fixed unit tests and lint... I think Signed-off-by: Haytham Abuelfutuh --- cmd/single/start.go | 1 + .../async/schedule/aws/workflow_executor.go | 2 +- flyteadmin/pkg/common/data_store.go | 2 +- flyteadmin/pkg/common/mocks/storage.go | 5 +- flyteadmin/pkg/common/testutils/common.go | 7 +- .../manager/impl/execution_manager_test.go | 3 +- .../impl/node_execution_manager_test.go | 5 +- .../impl/task_execution_manager_test.go | 7 +- flyteadmin/pkg/manager/impl/util/data_test.go | 4 +- .../validation/execution_validator_test.go | 2 +- .../validation/node_execution_validator.go | 2 +- .../validation/task_execution_validator.go | 2 +- .../transformers/node_execution.go | 4 +- .../transformers/node_execution_test.go | 2 +- .../transformers/task_execution.go | 4 +- .../transformers/task_execution_test.go | 2 +- flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go | 3 +- .../flyteidl/admin/cluster_assignment.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/common.pb.go | 3 +- .../flyteidl/admin/description_entity.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/admin/event.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/execution.pb.go | 3 +- .../pb-go/flyteidl/admin/launch_plan.pb.go | 3 +- .../flyteidl/admin/matchable_resource.pb.go | 3 +- .../pb-go/flyteidl/admin/node_execution.pb.go | 3 +- .../pb-go/flyteidl/admin/notification.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/project.pb.go | 3 +- .../flyteidl/admin/project_attributes.pb.go | 3 +- .../admin/project_domain_attributes.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/schedule.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/signal.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/admin/task.pb.go | 3 +- .../pb-go/flyteidl/admin/task_execution.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/version.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/workflow.pb.go | 3 +- .../flyteidl/admin/workflow_attributes.pb.go | 3 +- .../gen/pb-go/flyteidl/core/catalog.pb.go | 3 +- .../gen/pb-go/flyteidl/core/compiler.pb.go | 3 +- .../gen/pb-go/flyteidl/core/condition.pb.go | 3 +- .../gen/pb-go/flyteidl/core/dynamic_job.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/core/errors.pb.go | 3 +- .../gen/pb-go/flyteidl/core/execution.pb.go | 3 +- .../gen/pb-go/flyteidl/core/identifier.pb.go | 3 +- .../gen/pb-go/flyteidl/core/interface.pb.go | 3 +- .../gen/pb-go/flyteidl/core/literals.pb.go | 3 +- .../gen/pb-go/flyteidl/core/metrics.pb.go | 3 +- .../gen/pb-go/flyteidl/core/security.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/core/types.pb.go | 3 +- .../gen/pb-go/flyteidl/core/workflow.pb.go | 3 +- .../flyteidl/core/workflow_closure.pb.go | 3 +- .../flyteidl/datacatalog/datacatalog.pb.go | 23 +- flyteidl/gen/pb-go/flyteidl/event/event.pb.go | 3 +- .../pb-go/flyteidl/plugins/array_job.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/dask.pb.go | 3 +- .../flyteidl/plugins/kubeflow/common.pb.go | 3 +- .../pb-go/flyteidl/plugins/kubeflow/mpi.pb.go | 3 +- .../flyteidl/plugins/kubeflow/pytorch.pb.go | 3 +- .../plugins/kubeflow/tensorflow.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/presto.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/pytorch.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/qubole.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/spark.pb.go | 3 +- .../pb-go/flyteidl/plugins/tensorflow.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/waitable.pb.go | 3 +- .../gen/pb-go/flyteidl/service/admin.pb.go | 3 +- .../gen/pb-go/flyteidl/service/agent.pb.go | 3 +- .../gen/pb-go/flyteidl/service/auth.pb.go | 3 +- .../pb-go/flyteidl/service/dataproxy.pb.go | 3 +- .../service/external_plugin_service.pb.go | 3 +- .../service/flyteadmin/api_admin_service.go | 2247 +++++++++-------- .../flyteidl/service/flyteadmin/client.go | 22 +- .../flyteadmin/model_admin_abort_metadata.go | 2 +- .../flyteadmin/model_admin_cron_schedule.go | 2 +- .../flyteadmin/model_admin_description.go | 8 +- .../model_admin_description_format.go | 7 +- .../model_admin_execution_closure.go | 4 +- .../model_admin_execution_create_request.go | 12 +- .../model_admin_execution_metadata.go | 2 +- .../model_admin_execution_recover_request.go | 4 +- .../model_admin_execution_relaunch_request.go | 4 +- .../flyteadmin/model_admin_execution_spec.go | 8 +- .../flyteadmin/model_admin_execution_state.go | 3 +- ...el_admin_execution_state_change_details.go | 2 +- .../model_admin_execution_update_request.go | 4 +- .../flyteadmin/model_admin_fixed_rate.go | 4 +- .../flyteadmin/model_admin_fixed_rate_unit.go | 5 +- .../flyteadmin/model_admin_flyte_ur_ls.go | 4 +- .../model_admin_launch_plan_closure.go | 6 +- .../model_admin_launch_plan_metadata.go | 2 +- .../model_admin_launch_plan_spec.go | 10 +- .../model_admin_launch_plan_state.go | 3 +- .../model_admin_literal_map_blob.go | 2 +- ...dmin_matchable_attributes_configuration.go | 8 +- .../model_admin_matchable_resource.go | 15 +- .../model_admin_matching_attributes.go | 14 +- .../flyteadmin/model_admin_named_entity.go | 4 +- .../model_admin_named_entity_identifier.go | 2 +- .../model_admin_named_entity_state.go | 5 +- ...model_admin_named_entity_update_request.go | 6 +- .../model_admin_node_execution_closure.go | 10 +- ..._admin_node_execution_get_data_response.go | 2 +- .../model_admin_node_execution_meta_data.go | 4 +- .../flyteadmin/model_admin_notification.go | 8 +- .../service/flyteadmin/model_admin_project.go | 10 +- .../model_admin_project_attributes.go | 2 +- ...admin_project_attributes_delete_request.go | 2 +- .../model_admin_project_domain_attributes.go | 2 +- ...roject_domain_attributes_delete_request.go | 4 +- .../flyteadmin/model_admin_schedule.go | 6 +- .../service/flyteadmin/model_admin_sort.go | 2 +- ..._admin_task_execution_get_data_response.go | 2 +- .../model_admin_task_resource_attributes.go | 2 +- .../model_admin_task_resource_spec.go | 8 +- .../service/flyteadmin/model_admin_version.go | 4 +- .../model_admin_workflow_attributes.go | 2 +- ...dmin_workflow_attributes_delete_request.go | 6 +- .../model_admin_workflow_create_request.go | 2 +- .../model_blob_type_blob_dimensionality.go | 2 +- .../model_catalog_reservation_status.go | 5 +- .../model_comparison_expression_operator.go | 7 +- ...conjunction_expression_logical_operator.go | 3 +- .../model_container_architecture.go | 9 +- .../service/flyteadmin/model_core_binary.go | 2 +- .../flyteadmin/model_core_binding_data.go | 4 +- .../service/flyteadmin/model_core_blob.go | 2 +- .../flyteadmin/model_core_blob_type.go | 2 +- .../model_core_boolean_expression.go | 2 +- .../model_core_catalog_artifact_tag.go | 2 +- .../model_core_catalog_cache_status.go | 13 +- .../flyteadmin/model_core_catalog_metadata.go | 4 +- .../model_core_comparison_expression.go | 6 +- .../model_core_compiled_workflow_closure.go | 4 +- .../model_core_conjunction_expression.go | 6 +- .../flyteadmin/model_core_connection_set.go | 2 +- .../flyteadmin/model_core_container.go | 6 +- .../model_core_data_loading_config.go | 10 +- .../flyteadmin/model_core_execution_error.go | 6 +- .../flyteadmin/model_core_gpu_accelerator.go | 4 +- .../service/flyteadmin/model_core_identity.go | 4 +- .../service/flyteadmin/model_core_if_block.go | 2 +- .../flyteadmin/model_core_io_strategy.go | 2 +- .../service/flyteadmin/model_core_k8s_pod.go | 4 +- .../service/flyteadmin/model_core_literal.go | 2 +- .../flyteadmin/model_core_literal_type.go | 2 +- .../model_core_node_execution_identifier.go | 2 +- .../model_core_node_execution_phase.go | 20 +- .../flyteadmin/model_core_node_metadata.go | 4 +- .../flyteadmin/model_core_o_auth2_client.go | 2 +- .../model_core_o_auth2_token_request.go | 10 +- .../model_core_o_auth2_token_request_type.go | 1 + .../service/flyteadmin/model_core_operand.go | 4 +- .../flyteadmin/model_core_output_reference.go | 2 +- .../flyteadmin/model_core_primitive.go | 12 +- .../model_core_promise_attribute.go | 2 +- .../model_core_quality_of_service.go | 2 +- .../flyteadmin/model_core_resource_type.go | 7 +- .../service/flyteadmin/model_core_scalar.go | 16 +- .../service/flyteadmin/model_core_schema.go | 2 +- .../service/flyteadmin/model_core_secret.go | 6 +- .../flyteadmin/model_core_simple_type.go | 17 +- .../service/flyteadmin/model_core_sql.go | 4 +- .../model_core_structured_dataset.go | 2 +- .../model_core_task_execution_identifier.go | 4 +- .../model_core_task_execution_phase.go | 14 +- .../service/flyteadmin/model_core_task_log.go | 6 +- .../flyteadmin/model_core_task_metadata.go | 8 +- .../flyteadmin/model_core_task_template.go | 10 +- .../flyteadmin/model_core_type_structure.go | 2 +- .../flyteadmin/model_core_typed_interface.go | 2 +- .../service/flyteadmin/model_core_union.go | 2 +- .../service/flyteadmin/model_core_variable.go | 4 +- .../model_core_workflow_execution_phase.go | 18 +- .../model_core_workflow_metadata.go | 2 +- .../flyteadmin/model_core_workflow_node.go | 2 +- .../model_core_workflow_template.go | 2 +- ..._data_loading_config_literal_map_format.go | 5 +- .../flyteadmin/model_event_event_reason.go | 2 +- .../model_event_external_resource_info.go | 8 +- .../model_event_node_execution_event.go | 32 +- .../model_event_task_execution_event.go | 18 +- .../model_event_workflow_execution_event.go | 14 +- .../model_execution_error_error_kind.go | 4 +- ...model_execution_metadata_execution_mode.go | 11 +- .../model_flyteidladmin_node_execution.go | 2 +- ...model_flyteidladmin_task_create_request.go | 4 +- .../model_flyteidladmin_task_node_metadata.go | 6 +- ...l_flyteidlevent_task_execution_metadata.go | 4 +- .../model_flyteidlevent_task_node_metadata.go | 4 +- .../model_io_strategy_download_mode.go | 3 +- .../model_io_strategy_upload_mode.go | 5 +- ...plugin_override_missing_plugin_behavior.go | 3 +- .../flyteadmin/model_project_project_state.go | 5 +- .../flyteadmin/model_protobuf_null_value.go | 1 + .../model_quality_of_service_tier.go | 7 +- .../model_resources_resource_entry.go | 4 +- .../model_resources_resource_name.go | 11 +- .../model_runtime_metadata_runtime_type.go | 2 +- .../model_schema_column_schema_column_type.go | 8 +- .../flyteadmin/model_secret_mount_type.go | 5 +- .../flyteadmin/model_sort_direction.go | 3 +- .../service/flyteadmin/model_sql_dialect.go | 7 +- ..._task_execution_metadata_instance_class.go | 3 +- .../model_task_log_message_format.go | 4 +- ...del_workflow_metadata_on_failure_policy.go | 3 +- .../gen/pb-go/flyteidl/service/identity.pb.go | 3 +- .../gen/pb-go/flyteidl/service/openapi.go | 14 +- .../gen/pb-go/flyteidl/service/signal.pb.go | 3 +- .../pluginmachinery/core/template/template.go | 4 +- .../core/template/template_test.go | 6 + .../flytek8s/container_helper.go | 2 +- .../flytek8s/container_helper_test.go | 8 +- .../flytek8s/pod_helper_test.go | 1 + .../ioutils/in_memory_output_reader_test.go | 6 +- .../ioutils/remote_file_input_reader.go | 1 + .../ioutils/remote_file_input_reader_test.go | 2 +- .../go/tasks/pluginmachinery/k8s/client.go | 29 +- .../go/tasks/plugins/array/catalog_test.go | 2 +- .../go/tasks/plugins/array/inputs_test.go | 12 +- .../plugins/array/k8s/integration_test.go | 9 +- .../go/tasks/plugins/array/outputs_test.go | 32 +- .../tasks/plugins/k8s/pod/container_test.go | 33 +- .../go/tasks/plugins/k8s/pod/sidecar_test.go | 7 + .../tasks/plugins/webapi/agent/plugin_test.go | 2 +- .../plugins/webapi/bigquery/query_job_test.go | 2 +- .../webapi/databricks/integration_test.go | 2 +- .../webapi/snowflake/integration_test.go | 2 +- flytepropeller/cmd/controller/cmd/root.go | 27 +- .../cmd/kubectl-flyte/cmd/create.go | 6 +- flytepropeller/events/node_event_recorder.go | 5 +- .../events/node_event_recorder_test.go | 44 +- flytepropeller/events/task_event_recorder.go | 5 +- .../events/task_event_recorder_test.go | 28 +- flytepropeller/events/test_utils.go | 20 +- .../events/workflow_event_recorder.go | 7 +- .../events/workflow_event_recorder_test.go | 28 +- .../pkg/apis/flyteworkflow/v1alpha1/iface.go | 2 +- .../apis/flyteworkflow/v1alpha1/iface_test.go | 4 +- .../pkg/compiler/test/compiler_test.go | 8 +- ...ization.multi_images.my_workflow_2_wf.yaml | 2 + ...ontainerization.raw_container.wf_2_wf.yaml | 11 + ...n.use_secrets.my_secret_workflow_2_wf.yaml | 2 + ..._flow.chain_tasks.chain_tasks_wf_2_wf.yaml | 2 + ....control_flow.checkpoint.example_2_wf.yaml | 7 + ...ntrol_flow.conditions.multiplier_2_wf.yaml | 7 + ...rol_flow.conditions.multiplier_2_2_wf.yaml | 7 + ...rol_flow.conditions.multiplier_3_2_wf.yaml | 7 + ...flow.conditions.basic_boolean_wf_2_wf.yaml | 7 + ...ol_flow.conditions.bool_input_wf_2_wf.yaml | 7 + ...low.conditions.nested_conditions_2_wf.yaml | 7 + ..._flow.conditions.consume_outputs_2_wf.yaml | 11 + ...48_core.control_flow.dynamics.wf_2_wf.yaml | 11 + ...ol_flow.map_task.my_map_workflow_2_wf.yaml | 9 + ...ntrol_flow.merge_sort.merge_sort_2_wf.yaml | 17 + ...ntrol_flow.subworkflows.my_subwf_2_wf.yaml | 7 + ...l_flow.subworkflows.ext_workflow_2_wf.yaml | 7 + ...e.custom_task_plugin.my_workflow_2_wf.yaml | 7 + ...ore.extend_flyte.custom_types.wf_2_wf.yaml | 2 + ...lyte_basics.basic_workflow.my_wf_2_wf.yaml | 11 + ...flyte_basics.decorating_tasks.wf_2_wf.yaml | 7 + ...e_basics.decorating_workflows.wf_2_wf.yaml | 7 + ...mented_workflow.sphinx_docstring_2_wf.yaml | 12 + ...umented_workflow.numpy_docstring_2_wf.yaml | 12 + ...mented_workflow.google_docstring_2_wf.yaml | 12 + ..._basics.files.normalize_csv_file_2_wf.yaml | 25 + ...download_and_normalize_csv_files_2_wf.yaml | 25 + ...e.flyte_basics.hello_world.my_wf_2_wf.yaml | 2 + ...7_my.imperative.workflow.example_2_wf.yaml | 11 + .../120_core.flyte_basics.lp.my_wf_2_wf.yaml | 7 + ...25_core.flyte_basics.lp.go_greet_2_wf.yaml | 15 + ...flyte_basics.named_outputs.my_wf_2_wf.yaml | 2 + ..._core.flyte_basics.shell_task.wf_2_wf.yaml | 2 + ...s.task_cache.cached_dataframe_wf_2_wf.yaml | 2 + ...s.lp_schedules.date_formatter_wf_2_wf.yaml | 7 + ...rkflows.lp_schedules.positive_wf_2_wf.yaml | 7 + ...re.type_system.custom_objects.wf_2_wf.yaml | 11 + ...6_core.type_system.enums.enum_wf_2_wf.yaml | 7 + ...type_system.flyte_pickle.welcome_2_wf.yaml | 7 + ...73_core.type_system.schema.df_wf_2_wf.yaml | 7 + ..._dataset.pandas_compatibility_wf_2_wf.yaml | 7 + ..._dataset.schema_compatibility_wf_2_wf.yaml | 7 + ...core.type_system.typed_schema.wf_2_wf.yaml | 2 + .../transformers/k8s/workflow_test.go | 28 +- .../pkg/compiler/validators/utils.go | 5 +- .../executors/failure_node_lookup_test.go | 3 +- .../pkg/controller/garbage_collector_test.go | 1 - .../controller/nodes/array/handler_test.go | 40 +- .../controller/nodes/branch/evaluator_test.go | 47 +- .../controller/nodes/branch/handler_test.go | 2 +- .../catalog/datacatalog/datacatalog_test.go | 44 +- .../catalog/datacatalog/transformer_test.go | 5 +- .../nodes/dynamic/dynamic_workflow_test.go | 2 +- .../pkg/controller/nodes/end/handler_test.go | 32 +- .../pkg/controller/nodes/executor_test.go | 37 +- .../pkg/controller/nodes/gate/handler_test.go | 2 +- .../nodes/handler/transition_info_test.go | 10 +- .../nodes/handler/transition_test.go | 4 +- .../nodes/subworkflow/handler_test.go | 10 +- .../nodes/subworkflow/launchplan_test.go | 92 +- .../pkg/controller/nodes/task/handler_test.go | 2 +- .../nodes/task/k8s/event_watcher.go | 5 +- .../controller/nodes/task/transformer_test.go | 17 +- .../pkg/controller/nodes/transformers_test.go | 8 +- .../pkg/controller/workflow/executor.go | 9 +- flytestdlib/otelutils/factory_test.go | 3 +- flytestdlib/storage/protobuf_store.go | 3 +- flytestdlib/storage/protobuf_store_test.go | 2 +- 309 files changed, 2440 insertions(+), 1927 deletions(-) diff --git a/cmd/single/start.go b/cmd/single/start.go index 3ad8038cd6..367a92f79a 100644 --- a/cmd/single/start.go +++ b/cmd/single/start.go @@ -4,6 +4,7 @@ import ( "context" "net/http" "os" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" ctrlWebhook "sigs.k8s.io/controller-runtime/pkg/webhook" diff --git a/flyteadmin/pkg/async/schedule/aws/workflow_executor.go b/flyteadmin/pkg/async/schedule/aws/workflow_executor.go index 62b33fbd2e..29fe664a91 100644 --- a/flyteadmin/pkg/async/schedule/aws/workflow_executor.go +++ b/flyteadmin/pkg/async/schedule/aws/workflow_executor.go @@ -4,7 +4,6 @@ package aws import ( "context" "fmt" - "google.golang.org/protobuf/types/known/timestamppb" "time" "github.com/NYTimes/gizmo/pubsub" @@ -13,6 +12,7 @@ import ( "github.com/golang/protobuf/ptypes/timestamp" "github.com/prometheus/client_golang/prometheus" "google.golang.org/grpc/codes" + "google.golang.org/protobuf/types/known/timestamppb" "github.com/flyteorg/flyte/flyteadmin/pkg/async" scheduleInterfaces "github.com/flyteorg/flyte/flyteadmin/pkg/async/schedule/interfaces" diff --git a/flyteadmin/pkg/common/data_store.go b/flyteadmin/pkg/common/data_store.go index d69a0d99eb..87731b6af7 100644 --- a/flyteadmin/pkg/common/data_store.go +++ b/flyteadmin/pkg/common/data_store.go @@ -4,6 +4,7 @@ import ( "context" "time" + "github.com/golang/protobuf/proto" errrs "github.com/pkg/errors" "google.golang.org/api/googleapi" "google.golang.org/grpc/codes" @@ -13,7 +14,6 @@ import ( "github.com/flyteorg/flyte/flyteadmin/pkg/manager/impl/shared" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flytestdlib/storage" - "github.com/golang/protobuf/proto" ) func OffloadData(ctx context.Context, storageClient *storage.DataStore, msg proto.Message, nestedKeys ...string) (storage.DataReference, error) { diff --git a/flyteadmin/pkg/common/mocks/storage.go b/flyteadmin/pkg/common/mocks/storage.go index 04e0d427c4..dfb0867bc4 100644 --- a/flyteadmin/pkg/common/mocks/storage.go +++ b/flyteadmin/pkg/common/mocks/storage.go @@ -3,13 +3,14 @@ package mocks import ( "context" "fmt" - protoV2 "google.golang.org/protobuf/proto" "io" "net/url" "strings" - "github.com/flyteorg/flyte/flytestdlib/storage" "github.com/golang/protobuf/proto" + protoV2 "google.golang.org/protobuf/proto" + + "github.com/flyteorg/flyte/flytestdlib/storage" ) type NopCloser struct { diff --git a/flyteadmin/pkg/common/testutils/common.go b/flyteadmin/pkg/common/testutils/common.go index 8f1734746b..9189a6c421 100644 --- a/flyteadmin/pkg/common/testutils/common.go +++ b/flyteadmin/pkg/common/testutils/common.go @@ -1,10 +1,12 @@ package testutils import ( - "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" + "testing" + "github.com/golang/protobuf/proto" "github.com/stretchr/testify/assert" - "testing" + + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" ) // Convenience method to wrap verbose boilerplate for initializing a PluginOverrides MatchingAttributes. @@ -26,7 +28,6 @@ func GetPluginOverridesAttributes(vals map[string][]string) *admin.MatchingAttri } func AssertProtoEqual(t testing.TB, expected, actual proto.Message, msgAndArgs ...any) bool { - t.Helper() if assert.True(t, proto.Equal(expected, actual), msgAndArgs...) { return true } diff --git a/flyteadmin/pkg/manager/impl/execution_manager_test.go b/flyteadmin/pkg/manager/impl/execution_manager_test.go index b01a2eeccf..ccaf0f757a 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/execution_manager_test.go @@ -4,11 +4,12 @@ import ( "context" "errors" "fmt" - protoV2 "google.golang.org/protobuf/proto" "strings" "testing" "time" + protoV2 "google.golang.org/protobuf/proto" + "github.com/benbjohnson/clock" "github.com/gogo/protobuf/jsonpb" "github.com/golang/protobuf/proto" diff --git a/flyteadmin/pkg/manager/impl/node_execution_manager_test.go b/flyteadmin/pkg/manager/impl/node_execution_manager_test.go index bddd91ca61..e2c8d1b69b 100644 --- a/flyteadmin/pkg/manager/impl/node_execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/node_execution_manager_test.go @@ -4,11 +4,12 @@ import ( "context" "errors" "fmt" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" - protoV2 "google.golang.org/protobuf/proto" "testing" "time" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" + protoV2 "google.golang.org/protobuf/proto" + "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes" "github.com/stretchr/testify/assert" diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager_test.go b/flyteadmin/pkg/manager/impl/task_execution_manager_test.go index 76f55a3a61..168c541099 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager_test.go @@ -4,11 +4,12 @@ import ( "context" "errors" "fmt" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" - protoV2 "google.golang.org/protobuf/proto" "testing" "time" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" + protoV2 "google.golang.org/protobuf/proto" + "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes" "github.com/stretchr/testify/assert" @@ -956,8 +957,8 @@ func TestGetTaskExecutionData(t *testing.T) { Bytes: 200, }, FullInputs: fullInputs, + InputData: migrateInputData(nil, fullInputs), FullOutputs: fullOutputs, - InputData: migrateInputData(nil, fullOutputs), OutputData: &core.OutputData{ Outputs: fullOutputs, }, diff --git a/flyteadmin/pkg/manager/impl/util/data_test.go b/flyteadmin/pkg/manager/impl/util/data_test.go index e1df59e9d0..bf621d4ce5 100644 --- a/flyteadmin/pkg/manager/impl/util/data_test.go +++ b/flyteadmin/pkg/manager/impl/util/data_test.go @@ -2,15 +2,15 @@ package util import ( "context" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" - protoV2 "google.golang.org/protobuf/proto" "testing" "github.com/golang/protobuf/proto" "github.com/stretchr/testify/assert" + protoV2 "google.golang.org/protobuf/proto" "github.com/flyteorg/flyte/flyteadmin/pkg/common" commonMocks "github.com/flyteorg/flyte/flyteadmin/pkg/common/mocks" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" urlMocks "github.com/flyteorg/flyte/flyteadmin/pkg/data/mocks" "github.com/flyteorg/flyte/flyteadmin/pkg/runtime/interfaces" "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go b/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go index a63f777fd8..d1f2e8d8ed 100644 --- a/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go +++ b/flyteadmin/pkg/manager/impl/validation/execution_validator_test.go @@ -3,11 +3,11 @@ package validation import ( "context" "errors" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "testing" "github.com/stretchr/testify/assert" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "github.com/flyteorg/flyte/flyteadmin/pkg/manager/impl/testutils" "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" diff --git a/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go b/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go index eee25ca582..a7b19d94b7 100644 --- a/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/node_execution_validator.go @@ -58,7 +58,7 @@ func ValidateNodeExecutionEventRequest(request *admin.NodeExecutionEventRequest, } } - if err := ValidateOutputData(request.Event.GetOutputData(), maxOutputSizeInBytes); err != nil { + if err := ValidateOutputData(outputData, maxOutputSizeInBytes); err != nil { return err } return nil diff --git a/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go b/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go index ebd25d6289..e4f4db4212 100644 --- a/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/task_execution_validator.go @@ -22,7 +22,7 @@ func ValidateTaskExecutionRequest(request admin.TaskExecutionEventRequest, maxOu } } - if err := ValidateOutputData(request.Event.GetOutputData(), maxOutputSizeInBytes); err != nil { + if err := ValidateOutputData(outputData, maxOutputSizeInBytes); err != nil { return err } diff --git a/flyteadmin/pkg/repositories/transformers/node_execution.go b/flyteadmin/pkg/repositories/transformers/node_execution.go index 3faafd7ce3..80bc390ab3 100644 --- a/flyteadmin/pkg/repositories/transformers/node_execution.go +++ b/flyteadmin/pkg/repositories/transformers/node_execution.go @@ -76,11 +76,11 @@ func addTerminalState( switch inlineEventDataPolicy { case interfaces.InlineEventDataPolicyStoreInline: closure.OutputResult = &admin.NodeExecutionClosure_FullOutputs{ - FullOutputs: request.Event.GetOutputData(), + FullOutputs: outputData, } default: logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy") - uri, err := common.OffloadData(ctx, storageClient, request.Event.GetOutputData(), + uri, err := common.OffloadData(ctx, storageClient, outputData, request.Event.Id.ExecutionId.Project, request.Event.Id.ExecutionId.Domain, request.Event.Id.ExecutionId.Name, request.Event.Id.NodeId, OutputsObjectSuffix) if err != nil { diff --git a/flyteadmin/pkg/repositories/transformers/node_execution_test.go b/flyteadmin/pkg/repositories/transformers/node_execution_test.go index 44269479f7..d4043edccb 100644 --- a/flyteadmin/pkg/repositories/transformers/node_execution_test.go +++ b/flyteadmin/pkg/repositories/transformers/node_execution_test.go @@ -2,7 +2,6 @@ package transformers import ( "context" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "testing" "time" @@ -12,6 +11,7 @@ import ( "google.golang.org/grpc/codes" commonMocks "github.com/flyteorg/flyte/flyteadmin/pkg/common/mocks" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" flyteAdminErrors "github.com/flyteorg/flyte/flyteadmin/pkg/errors" genModel "github.com/flyteorg/flyte/flyteadmin/pkg/repositories/gen/models" "github.com/flyteorg/flyte/flyteadmin/pkg/repositories/models" diff --git a/flyteadmin/pkg/repositories/transformers/task_execution.go b/flyteadmin/pkg/repositories/transformers/task_execution.go index 0a457328d5..039a83f694 100644 --- a/flyteadmin/pkg/repositories/transformers/task_execution.go +++ b/flyteadmin/pkg/repositories/transformers/task_execution.go @@ -84,11 +84,11 @@ func addTaskTerminalState( switch inlineEventDataPolicy { case interfaces.InlineEventDataPolicyStoreInline: closure.OutputResult = &admin.TaskExecutionClosure_FullOutputs{ - FullOutputs: request.Event.GetOutputData(), + FullOutputs: outputData, } default: logger.Debugf(ctx, "Offloading outputs per InlineEventDataPolicy") - uri, err := common.OffloadData(ctx, storageClient, request.Event.GetOutputData(), + uri, err := common.OffloadData(ctx, storageClient, outputData, request.Event.ParentNodeExecutionId.ExecutionId.Project, request.Event.ParentNodeExecutionId.ExecutionId.Domain, request.Event.ParentNodeExecutionId.ExecutionId.Name, request.Event.ParentNodeExecutionId.NodeId, request.Event.TaskId.Project, request.Event.TaskId.Domain, request.Event.TaskId.Name, request.Event.TaskId.Version, diff --git a/flyteadmin/pkg/repositories/transformers/task_execution_test.go b/flyteadmin/pkg/repositories/transformers/task_execution_test.go index 58cb196af6..81dbce3cc7 100644 --- a/flyteadmin/pkg/repositories/transformers/task_execution_test.go +++ b/flyteadmin/pkg/repositories/transformers/task_execution_test.go @@ -4,7 +4,6 @@ import ( "context" "encoding/json" "fmt" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "testing" "time" @@ -16,6 +15,7 @@ import ( "google.golang.org/protobuf/types/known/structpb" commonMocks "github.com/flyteorg/flyte/flyteadmin/pkg/common/mocks" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" "github.com/flyteorg/flyte/flyteadmin/pkg/repositories/models" "github.com/flyteorg/flyte/flyteadmin/pkg/runtime/interfaces" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" diff --git a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go index affcc0553a..714193efb6 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go @@ -5,9 +5,10 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go index d6f0efa314..597052a8ea 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go index 3703dfb22e..3f1ac0c5a7 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go @@ -5,10 +5,11 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" _ "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go index 2b63707adf..7b4d552fb6 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go @@ -5,9 +5,10 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go index d718496c80..e1a2d8b538 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go @@ -5,9 +5,10 @@ package admin import ( fmt "fmt" + math "math" + event "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go index 4dc994246f..fe8d02a17c 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go @@ -5,12 +5,13 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go index 1a42716d6c..753f74afa6 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go @@ -5,11 +5,12 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go index b721e43d73..93b299d266 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go @@ -5,10 +5,11 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" wrappers "github.com/golang/protobuf/ptypes/wrappers" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go index 94dc5ff216..e39c43eb38 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go @@ -5,11 +5,12 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" timestamp "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go index 3e5480bbf9..9256eb3ba0 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go index 662d2311ac..1280093f14 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go index 349d2cfd85..6546cc0c5a 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go index 4708ef1e5e..598e70f7dc 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go index 52116abf93..3d572e9082 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go index f71f6003ad..89c6df5575 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go @@ -5,9 +5,10 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go index 6125274763..08ac9dd351 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go @@ -5,10 +5,11 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go index 04d007a426..2258289471 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go @@ -5,13 +5,14 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" event "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go index e2c88d1e89..eeacc9bc50 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go index 0297513f72..5b93b6bcdb 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go @@ -5,10 +5,11 @@ package admin import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go index 5b3d82dce6..da3657705b 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go @@ -5,8 +5,9 @@ package admin import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go b/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go index 47675cbb7a..780a559b13 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go b/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go index e04866564d..9377acc47c 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go b/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go index 9617f5bef4..7bfc3a5e55 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go b/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go index 5db3bbeb88..b9b82e8d08 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go b/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go index 301bbb4e94..2c37b0afe1 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go index 0a5d20005c..d467151c07 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go @@ -5,9 +5,10 @@ package core import ( fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go b/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go index 4ea56b88f2..f620d06bd4 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go b/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go index d3af1639f4..2fe384bdfc 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go index f116fb43e2..8ba82b2e15 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go @@ -5,11 +5,12 @@ package core import ( fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go b/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go index 447a918a48..776f0f787f 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go @@ -5,9 +5,10 @@ package core import ( fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/security.pb.go b/flyteidl/gen/pb-go/flyteidl/core/security.pb.go index 32cc824530..f983dde250 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/security.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/security.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go b/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go index d7310cce31..aea9c1f243 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go @@ -5,10 +5,11 @@ package core import ( fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/types.pb.go b/flyteidl/gen/pb-go/flyteidl/core/types.pb.go index 1f5833ded9..03862e9a72 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/types.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/types.pb.go @@ -5,9 +5,10 @@ package core import ( fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go b/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go index 8ab1496330..cfb07cda26 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go @@ -5,9 +5,10 @@ package core import ( fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go b/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go index b52b6d4608..a6481858d4 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go @@ -5,8 +5,9 @@ package core import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go index 73dcf41c4b..bc01248126 100644 --- a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go @@ -6,6 +6,8 @@ package datacatalog import ( context "context" fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" @@ -13,7 +15,6 @@ import ( grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. @@ -97,7 +98,6 @@ func (PaginationOptions_SortKey) EnumDescriptor() ([]byte, []int) { return fileDescriptor_275951237ff4368a, []int{36, 1} } -// // Request message for creating a Dataset. type CreateDatasetRequest struct { Dataset *Dataset `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` @@ -138,7 +138,6 @@ func (m *CreateDatasetRequest) GetDataset() *Dataset { return nil } -// // Response message for creating a Dataset type CreateDatasetResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -171,7 +170,6 @@ func (m *CreateDatasetResponse) XXX_DiscardUnknown() { var xxx_messageInfo_CreateDatasetResponse proto.InternalMessageInfo -// // Request message for retrieving a Dataset. The Dataset is retrieved by it's unique identifier // which is a combination of several fields. type GetDatasetRequest struct { @@ -213,7 +211,6 @@ func (m *GetDatasetRequest) GetDataset() *DatasetID { return nil } -// // Response message for retrieving a Dataset. The response will include the metadata for the // Dataset. type GetDatasetResponse struct { @@ -255,7 +252,6 @@ func (m *GetDatasetResponse) GetDataset() *Dataset { return nil } -// // Request message for retrieving an Artifact. Retrieve an artifact based on a query handle that // can be one of artifact_id or tag. The result returned will include the artifact data and metadata // associated with the artifact. @@ -347,7 +343,6 @@ func (*GetArtifactRequest) XXX_OneofWrappers() []interface{} { } } -// // Response message for retrieving an Artifact. The result returned will include the artifact data // and metadata associated with the artifact. type GetArtifactResponse struct { @@ -389,7 +384,6 @@ func (m *GetArtifactResponse) GetArtifact() *Artifact { return nil } -// // Request message for creating an Artifact and its associated artifact Data. type CreateArtifactRequest struct { Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` @@ -430,7 +424,6 @@ func (m *CreateArtifactRequest) GetArtifact() *Artifact { return nil } -// // Response message for creating an Artifact. type CreateArtifactResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -463,7 +456,6 @@ func (m *CreateArtifactResponse) XXX_DiscardUnknown() { var xxx_messageInfo_CreateArtifactResponse proto.InternalMessageInfo -// // Request message for tagging an Artifact. type AddTagRequest struct { Tag *Tag `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` @@ -504,7 +496,6 @@ func (m *AddTagRequest) GetTag() *Tag { return nil } -// // Response message for tagging an Artifact. type AddTagResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -746,7 +737,6 @@ func (m *ListDatasetsResponse) GetNextToken() string { return "" } -// // Request message for updating an Artifact and overwriting its associated ArtifactData. type UpdateArtifactRequest struct { // ID of dataset the artifact is associated with @@ -849,7 +839,6 @@ func (*UpdateArtifactRequest) XXX_OneofWrappers() []interface{} { } } -// // Response message for updating an Artifact. type UpdateArtifactResponse struct { // The unique ID of the artifact updated @@ -891,7 +880,6 @@ func (m *UpdateArtifactResponse) GetArtifactId() string { return "" } -// // ReservationID message that is composed of several string fields. type ReservationID struct { // The unique ID for the reserved dataset @@ -1201,7 +1189,6 @@ func (m *ReleaseReservationResponse) XXX_DiscardUnknown() { var xxx_messageInfo_ReleaseReservationResponse proto.InternalMessageInfo -// // Dataset message. It is uniquely identified by DatasetID. type Dataset struct { Id *DatasetID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1258,7 +1245,6 @@ func (m *Dataset) GetPartitionKeys() []string { return nil } -// // An artifact could have multiple partitions and each partition can have an arbitrary string key/value pair type Partition struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` @@ -1307,7 +1293,6 @@ func (m *Partition) GetValue() string { return "" } -// // DatasetID message that is composed of several string fields. type DatasetID struct { Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` @@ -1380,7 +1365,6 @@ func (m *DatasetID) GetUUID() string { return "" } -// // Artifact message. It is composed of several string fields. type Artifact struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1469,7 +1453,6 @@ func (m *Artifact) GetCreatedAt() *timestamp.Timestamp { return nil } -// // ArtifactData that belongs to an artifact type ArtifactData struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -1518,7 +1501,6 @@ func (m *ArtifactData) GetValue() *core.Literal { return nil } -// // Tag message that is unique to a Dataset. It is associated to a single artifact and // can be retrieved by name later. type Tag struct { @@ -1576,7 +1558,6 @@ func (m *Tag) GetDataset() *DatasetID { return nil } -// // Metadata representation for artifacts and datasets type Metadata struct { KeyMap map[string]string `protobuf:"bytes,1,rep,name=key_map,json=keyMap,proto3" json:"key_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` diff --git a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go index e7b4262803..f7415f12d0 100644 --- a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go @@ -5,11 +5,12 @@ package event import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go index 5ad3bfdce9..8acb566873 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go index b60dbebf4c..7e61d1e4ef 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go @@ -5,9 +5,10 @@ package plugins import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go index 86882fd35b..817e8eedd0 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go index aa56485d6a..8d5a55deaa 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go @@ -5,9 +5,10 @@ package plugins import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go index dbf68eb61c..94d6a80493 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go @@ -5,9 +5,10 @@ package plugins import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go index 04243dec6e..d8b2b5ef89 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go @@ -5,9 +5,10 @@ package plugins import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go index 5dd2499e87..3681bc9f69 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go index 2dc6422b6d..380a580db2 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go index 84dda381a4..929df7579f 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go index 6883115069..9df7f3d996 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go index f19e755f85..fe41673b1f 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go index 1825fa266a..1be43fcf8e 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go @@ -5,9 +5,10 @@ package plugins import ( fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go index a07ff3feeb..9692d34084 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go @@ -5,8 +5,9 @@ package plugins import ( fmt "fmt" - proto "github.com/golang/protobuf/proto" math "math" + + proto "github.com/golang/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go index 36c4a56679..2122bb316e 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go @@ -5,9 +5,10 @@ package plugins import ( fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go index 60bc47c3ec..3e94c83487 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go @@ -6,13 +6,14 @@ package service import ( context "context" fmt "fmt" + math "math" + admin "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go b/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go index 274daaf196..915d54d449 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go @@ -6,12 +6,13 @@ package service import ( context "context" fmt "fmt" + math "math" + admin "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go b/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go index aee87747d1..9c47eed1a3 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go @@ -6,12 +6,13 @@ package service import ( context "context" fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go index 735f442616..3d0faf7212 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go @@ -6,6 +6,8 @@ package service import ( context "context" fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" @@ -14,7 +16,6 @@ import ( grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go index 58c175e8ff..5535b8c166 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go @@ -6,12 +6,13 @@ package service import ( context "context" fmt "fmt" + math "math" + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go index 1ad9e1f583..5751a073e0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go @@ -11,11 +11,12 @@ package flyteadmin import ( "context" + "fmt" "io/ioutil" "net/http" "net/url" "strings" - "fmt" + "github.com/antihax/optional" ) @@ -26,19 +27,19 @@ var ( type AdminServiceApiService service -/* +/* AdminServiceApiService Triggers the creation of a :ref:`ref_flyteidl.admin.Execution` - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) CreateExecution(ctx context.Context, body AdminExecutionCreateRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -86,48 +87,48 @@ func (a *AdminServiceApiService) CreateExecution(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.LaunchPlan` definition - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminLaunchPlanCreateResponse */ func (a *AdminServiceApiService) CreateLaunchPlan(ctx context.Context, body AdminLaunchPlanCreateRequest) (AdminLaunchPlanCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanCreateResponse ) @@ -175,48 +176,48 @@ func (a *AdminServiceApiService) CreateLaunchPlan(ctx context.Context, body Admi if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminNodeExecutionEventResponse */ func (a *AdminServiceApiService) CreateNodeEvent(ctx context.Context, body AdminNodeExecutionEventRequest) (AdminNodeExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionEventResponse ) @@ -264,48 +265,48 @@ func (a *AdminServiceApiService) CreateNodeEvent(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Task` definition - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return FlyteidladminTaskCreateResponse */ func (a *AdminServiceApiService) CreateTask(ctx context.Context, body FlyteidladminTaskCreateRequest) (FlyteidladminTaskCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskCreateResponse ) @@ -353,48 +354,48 @@ func (a *AdminServiceApiService) CreateTask(ctx context.Context, body Flyteidlad if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminTaskExecutionEventResponse */ func (a *AdminServiceApiService) CreateTaskEvent(ctx context.Context, body AdminTaskExecutionEventRequest) (AdminTaskExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionEventResponse ) @@ -442,48 +443,48 @@ func (a *AdminServiceApiService) CreateTaskEvent(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminWorkflowCreateResponse */ func (a *AdminServiceApiService) CreateWorkflow(ctx context.Context, body AdminWorkflowCreateRequest) (AdminWorkflowCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowCreateResponse ) @@ -531,48 +532,48 @@ func (a *AdminServiceApiService) CreateWorkflow(ctx context.Context, body AdminW if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminWorkflowExecutionEventResponse */ func (a *AdminServiceApiService) CreateWorkflowEvent(ctx context.Context, body AdminWorkflowExecutionEventRequest) (AdminWorkflowExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionEventResponse ) @@ -620,49 +621,49 @@ func (a *AdminServiceApiService) CreateWorkflowEvent(ctx context.Context, body A if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Unique project id which this set of attributes references. +required - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param project Unique project id which this set of attributes references. +required + - @param body @return AdminProjectAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectAttributes(ctx context.Context, project string, body AdminProjectAttributesDeleteRequest) (AdminProjectAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesDeleteResponse ) @@ -711,50 +712,50 @@ func (a *AdminServiceApiService) DeleteProjectAttributes(ctx context.Context, pr if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Unique project id which this set of attributes references. +required - * @param domain Unique domain id which this set of attributes references. +required - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param project Unique project id which this set of attributes references. +required + - @param domain Unique domain id which this set of attributes references. +required + - @param body @return AdminProjectDomainAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Context, project string, domain string, body AdminProjectDomainAttributesDeleteRequest) (AdminProjectDomainAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesDeleteResponse ) @@ -804,51 +805,51 @@ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Conte if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Unique project id which this set of attributes references. +required - * @param domain Unique domain id which this set of attributes references. +required - * @param workflow Workflow name which this set of attributes references. +required - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param project Unique project id which this set of attributes references. +required + - @param domain Unique domain id which this set of attributes references. +required + - @param workflow Workflow name which this set of attributes references. +required + - @param body @return AdminWorkflowAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, body AdminWorkflowAttributesDeleteRequest) (AdminWorkflowAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesDeleteResponse ) @@ -899,50 +900,50 @@ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, p if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' @return AdminLaunchPlan */ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -991,52 +992,52 @@ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idResourceType Identifies the specific type of resource that this identifier corresponds to. - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. - * @param idVersion Specific version of the resource. + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idResourceType Identifies the specific type of resource that this identifier corresponds to. + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User provided value for the resource. + - @param idVersion Specific version of the resource. @return AdminDescriptionEntity */ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idResourceType string, idProject string, idDomain string, idName string, idVersion string) (AdminDescriptionEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntity ) @@ -1087,50 +1088,50 @@ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idRes if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User or system provided value for the resource. @return AdminExecution */ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject string, idDomain string, idName string) (AdminExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecution ) @@ -1179,50 +1180,50 @@ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject str if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User or system provided value for the resource. @return AdminWorkflowExecutionGetDataResponse */ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject string, idDomain string, idName string) (AdminWorkflowExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetDataResponse ) @@ -1271,36 +1272,36 @@ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -1312,16 +1313,16 @@ AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.adm @return AdminWorkflowExecutionGetMetricsResponse */ -type GetExecutionMetricsOpts struct { +type GetExecutionMetricsOpts struct { Depth optional.Int32 } func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionMetricsOpts) (AdminWorkflowExecutionGetMetricsResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetMetricsResponse ) @@ -1373,36 +1374,36 @@ func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetMetricsResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -1415,16 +1416,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` de @return AdminLaunchPlan */ -type GetLaunchPlanOpts struct { +type GetLaunchPlanOpts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetLaunchPlanOpts) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -1477,51 +1478,51 @@ func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' @return AdminNamedEntity */ func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string) (AdminNamedEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntity ) @@ -1571,51 +1572,51 @@ func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceTyp if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idExecutionIdProject Name of the project the resource belongs to. - * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idExecutionIdName User or system provided value for the resource. - * @param idNodeId + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idExecutionIdProject Name of the project the resource belongs to. + - @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idExecutionIdName User or system provided value for the resource. + - @param idNodeId @return FlyteidladminNodeExecution */ func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (FlyteidladminNodeExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminNodeExecution ) @@ -1665,51 +1666,51 @@ func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecuti if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminNodeExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idExecutionIdProject Name of the project the resource belongs to. - * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idExecutionIdName User or system provided value for the resource. - * @param idNodeId + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idExecutionIdProject Name of the project the resource belongs to. + - @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idExecutionIdName User or system provided value for the resource. + - @param idNodeId @return AdminNodeExecutionGetDataResponse */ func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (AdminNodeExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionGetDataResponse ) @@ -1759,36 +1760,36 @@ func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -1798,16 +1799,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectAttributesGetResponse */ -type GetProjectAttributesOpts struct { +type GetProjectAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, project string, localVarOptionals *GetProjectAttributesOpts) (AdminProjectAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesGetResponse ) @@ -1857,36 +1858,36 @@ func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, proje if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -1897,16 +1898,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectDomainAttributesGetResponse */ -type GetProjectDomainAttributesOpts struct { +type GetProjectDomainAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, project string, domain string, localVarOptionals *GetProjectDomainAttributesOpts) (AdminProjectDomainAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesGetResponse ) @@ -1957,36 +1958,36 @@ func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -1999,16 +2000,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definiti @return AdminTask */ -type GetTaskOpts struct { +type GetTaskOpts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetTaskOpts) (AdminTask, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTask ) @@ -2061,36 +2062,36 @@ func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTask - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -2108,16 +2109,16 @@ AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution @return FlyteidladminTaskExecution */ -type GetTaskExecutionOpts struct { +type GetTaskExecutionOpts struct { IdTaskIdResourceType optional.String } func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionOpts) (FlyteidladminTaskExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskExecution ) @@ -2175,36 +2176,36 @@ func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -2222,16 +2223,16 @@ AdminServiceApiService Fetches input and output data for a :ref:`ref_flytei @return AdminTaskExecutionGetDataResponse */ -type GetTaskExecutionDataOpts struct { +type GetTaskExecutionDataOpts struct { IdTaskIdResourceType optional.String } func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionDataOpts) (AdminTaskExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionGetDataResponse ) @@ -2289,47 +2290,47 @@ func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNod if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return AdminGetVersionResponse */ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersionResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminGetVersionResponse ) @@ -2375,36 +2376,36 @@ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersio if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminGetVersionResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2417,16 +2418,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` defi @return AdminWorkflow */ -type GetWorkflowOpts struct { +type GetWorkflowOpts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetWorkflowOpts) (AdminWorkflow, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflow ) @@ -2479,36 +2480,36 @@ func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject stri if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflow - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -2520,16 +2521,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminWorkflowAttributesGetResponse */ -type GetWorkflowAttributesOpts struct { +type GetWorkflowAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, localVarOptionals *GetWorkflowAttributesOpts) (AdminWorkflowAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesGetResponse ) @@ -2581,36 +2582,36 @@ func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, proj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required. @@ -2624,19 +2625,19 @@ AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.Lau @return AdminLaunchPlanList */ -type ListActiveLaunchPlansOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListActiveLaunchPlansOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, project string, domain string, localVarOptionals *ListActiveLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -2696,36 +2697,36 @@ func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, proj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -2742,20 +2743,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntitiesOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntitiesOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, localVarOptionals *ListDescriptionEntitiesOpts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -2820,36 +2821,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, re if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -2866,21 +2867,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntities2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntities2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, resourceType string, idProject string, idDomain string, localVarOptionals *ListDescriptionEntities2Opts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -2947,36 +2948,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, r if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2992,21 +2993,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution&# @return AdminExecutionList */ -type ListExecutionsOpts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListExecutionsOpts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListExecutionsOpts) (AdminExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionList ) @@ -3072,36 +3073,36 @@ func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject s if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -3116,20 +3117,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListLaunchPlanIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListLaunchPlanIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project string, domain string, localVarOptionals *ListLaunchPlanIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -3192,36 +3193,36 @@ func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -3237,20 +3238,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlansOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlansOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -3314,36 +3315,36 @@ func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -3359,21 +3360,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlans2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlans2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListLaunchPlans2Opts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -3439,36 +3440,36 @@ func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param optional nil or *ListMatchableAttributesOpts - Optional Parameters: @@ -3477,16 +3478,16 @@ AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttri @return AdminListMatchableAttributesResponse */ -type ListMatchableAttributesOpts struct { +type ListMatchableAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, localVarOptionals *ListMatchableAttributesOpts) (AdminListMatchableAttributesResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminListMatchableAttributesResponse ) @@ -3535,36 +3536,36 @@ func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, lo if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminListMatchableAttributesResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required @@ -3580,20 +3581,20 @@ AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEnti @return AdminNamedEntityList */ -type ListNamedEntitiesOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListNamedEntitiesOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resourceType string, project string, domain string, localVarOptionals *ListNamedEntitiesOpts) (AdminNamedEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityList ) @@ -3657,36 +3658,36 @@ func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resource if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param workflowExecutionIdProject Name of the project the resource belongs to. @@ -3694,7 +3695,7 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti * @param workflowExecutionIdName User or system provided value for the resource. * @param optional nil or *ListNodeExecutionsOpts - Optional Parameters: * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - + * @param "Token" (optional.String) - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. @@ -3703,21 +3704,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutionsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListNodeExecutionsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String - UniqueParentId optional.String + UniqueParentId optional.String } func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflowExecutionIdProject string, workflowExecutionIdDomain string, workflowExecutionIdName string, localVarOptionals *ListNodeExecutionsOpts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -3784,36 +3785,36 @@ func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflo if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param taskExecutionIdNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -3836,21 +3837,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutionsForTaskOpts struct { +type ListNodeExecutionsForTaskOpts struct { TaskExecutionIdTaskIdResourceType optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String } func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, taskExecutionIdNodeExecutionIdExecutionIdProject string, taskExecutionIdNodeExecutionIdExecutionIdDomain string, taskExecutionIdNodeExecutionIdExecutionIdName string, taskExecutionIdNodeExecutionIdNodeId string, taskExecutionIdTaskIdProject string, taskExecutionIdTaskIdDomain string, taskExecutionIdTaskIdName string, taskExecutionIdTaskIdVersion string, taskExecutionIdRetryAttempt int64, localVarOptionals *ListNodeExecutionsForTaskOpts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -3923,36 +3924,36 @@ func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project` * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param optional nil or *ListProjectsOpts - Optional Parameters: @@ -3965,20 +3966,20 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project&# @return AdminProjects */ -type ListProjectsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListProjectsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptionals *ListProjectsOpts) (AdminProjects, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjects ) @@ -4039,36 +4040,36 @@ func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptio if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjects - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param nodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -4085,20 +4086,20 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecu @return AdminTaskExecutionList */ -type ListTaskExecutionsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTaskExecutionsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExecutionIdExecutionIdProject string, nodeExecutionIdExecutionIdDomain string, nodeExecutionIdExecutionIdName string, nodeExecutionIdNodeId string, localVarOptionals *ListTaskExecutionsOpts) (AdminTaskExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionList ) @@ -4163,36 +4164,36 @@ func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -4207,20 +4208,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListTaskIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListTaskIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string, domain string, localVarOptionals *ListTaskIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -4283,36 +4284,36 @@ func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4328,20 +4329,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasksOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasksOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListTasksOpts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -4405,36 +4406,36 @@ func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4450,21 +4451,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasks2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasks2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListTasks2Opts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -4530,36 +4531,36 @@ func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idProject strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -4574,20 +4575,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListWorkflowIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListWorkflowIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project string, domain string, localVarOptionals *ListWorkflowIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -4650,36 +4651,36 @@ func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4695,20 +4696,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflowsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflowsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListWorkflowsOpts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -4772,36 +4773,36 @@ func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4817,21 +4818,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflows2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflows2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListWorkflows2Opts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -4897,48 +4898,48 @@ func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject s if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body AdminExecutionRecoverRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -4986,48 +4987,48 @@ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body Admi if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminProjectRegisterResponse */ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body AdminProjectRegisterRequest) (AdminProjectRegisterResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectRegisterResponse ) @@ -5075,48 +5076,48 @@ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectRegisterResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body AdminExecutionRelaunchRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -5164,51 +5165,51 @@ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body Adm if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User or system provided value for the resource. + - @param body @return AdminExecutionTerminateResponse */ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionTerminateRequest) (AdminExecutionTerminateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionTerminateResponse ) @@ -5259,51 +5260,51 @@ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProje if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionTerminateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User or system provided value for the resource. + - @param body @return AdminExecutionUpdateResponse */ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionUpdateRequest) (AdminExecutionUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionUpdateResponse ) @@ -5354,52 +5355,52 @@ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. - * @param idVersion Specific version of the resource. - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User provided value for the resource. + - @param idVersion Specific version of the resource. + - @param body @return AdminLaunchPlanUpdateResponse */ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, body AdminLaunchPlanUpdateRequest) (AdminLaunchPlanUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanUpdateResponse ) @@ -5451,52 +5452,52 @@ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param resourceType Resource type of the metadata to update +required - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param resourceType Resource type of the metadata to update +required + - @param idProject Name of the project the resource belongs to. + - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + - @param body @return AdminNamedEntityUpdateResponse */ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, body AdminNamedEntityUpdateRequest) (AdminNamedEntityUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityUpdateResponse ) @@ -5548,49 +5549,49 @@ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resource if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param id Globally unique project name. - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param id Globally unique project name. + - @param body @return AdminProjectUpdateResponse */ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, body AdminProject) (AdminProjectUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectUpdateResponse ) @@ -5639,49 +5640,49 @@ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, b if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param attributesProject Unique project id for which this set of attributes will be applied. - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param attributesProject Unique project id for which this set of attributes will be applied. + - @param body @return AdminProjectAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, attributesProject string, body AdminProjectAttributesUpdateRequest) (AdminProjectAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesUpdateResponse ) @@ -5730,50 +5731,50 @@ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, at if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param attributesProject Unique project id for which this set of attributes will be applied. - * @param attributesDomain Unique domain id for which this set of attributes will be applied. - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param attributesProject Unique project id for which this set of attributes will be applied. + - @param attributesDomain Unique domain id for which this set of attributes will be applied. + - @param body @return AdminProjectDomainAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Context, attributesProject string, attributesDomain string, body AdminProjectDomainAttributesUpdateRequest) (AdminProjectDomainAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesUpdateResponse ) @@ -5823,51 +5824,51 @@ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Conte if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param attributesProject Unique project id for which this set of attributes will be applied. - * @param attributesDomain Unique domain id for which this set of attributes will be applied. - * @param attributesWorkflow Workflow name for which this set of attributes will be applied. - * @param body + - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + - @param attributesProject Unique project id for which this set of attributes will be applied. + - @param attributesDomain Unique domain id for which this set of attributes will be applied. + - @param attributesWorkflow Workflow name for which this set of attributes will be applied. + - @param body @return AdminWorkflowAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, attributesProject string, attributesDomain string, attributesWorkflow string, body AdminWorkflowAttributesUpdateRequest) (AdminWorkflowAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesUpdateResponse ) @@ -5918,29 +5919,29 @@ func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, a if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); - if err != nil { - newErr.error = err.Error() - return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go index 8fd676821e..9b5b227be7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go @@ -300,17 +300,17 @@ func (c *APIClient) prepareRequest( } func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err error) { - if strings.Contains(contentType, "application/xml") { - if err = xml.Unmarshal(b, v); err != nil { - return err - } - return nil - } else if strings.Contains(contentType, "application/json") { - if err = json.Unmarshal(b, v); err != nil { - return err - } - return nil + if strings.Contains(contentType, "application/xml") { + if err = xml.Unmarshal(b, v); err != nil { + return err + } + return nil + } else if strings.Contains(contentType, "application/json") { + if err = json.Unmarshal(b, v); err != nil { + return err } + return nil + } return errors.New("undefined response type") } @@ -461,4 +461,4 @@ func (e GenericSwaggerError) Body() []byte { // Model returns the unpacked model of the error func (e GenericSwaggerError) Model() interface{} { return e.model -} \ No newline at end of file +} diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go index f2bd1e1146..2f6f2e95dc 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go @@ -12,6 +12,6 @@ package flyteadmin // Specifies metadata around an aborted workflow execution. type AdminAbortMetadata struct { // In the case of a user-specified abort, this will pass along the user-supplied cause. - Cause string `json:"cause,omitempty"` + Cause string `json:"cause,omitempty"` Principal string `json:"principal,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go index fa40dd16bc..87a32e2ec1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go @@ -12,5 +12,5 @@ package flyteadmin // Options for schedules to run according to a cron expression. type AdminCronSchedule struct { Schedule string `json:"schedule,omitempty"` - Offset string `json:"offset,omitempty"` + Offset string `json:"offset,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go index 6e696d7c12..dbcca9eb0a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go @@ -11,8 +11,8 @@ package flyteadmin // Full user description with formatting preserved. This can be rendered by clients, such as the console or command line tools with in-tact formatting. type AdminDescription struct { - Value string `json:"value,omitempty"` - Uri string `json:"uri,omitempty"` - Format *AdminDescriptionFormat `json:"format,omitempty"` - IconLink string `json:"icon_link,omitempty"` + Value string `json:"value,omitempty"` + Uri string `json:"uri,omitempty"` + Format *AdminDescriptionFormat `json:"format,omitempty"` + IconLink string `json:"icon_link,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go index c392910277..8c15023457 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go @@ -8,13 +8,14 @@ */ package flyteadmin + // AdminDescriptionFormat : - DESCRIPTION_FORMAT_RST: python default documentation - comments is rst type AdminDescriptionFormat string // List of adminDescriptionFormat const ( - AdminDescriptionFormatUNKNOWN AdminDescriptionFormat = "DESCRIPTION_FORMAT_UNKNOWN" + AdminDescriptionFormatUNKNOWN AdminDescriptionFormat = "DESCRIPTION_FORMAT_UNKNOWN" AdminDescriptionFormatMARKDOWN AdminDescriptionFormat = "DESCRIPTION_FORMAT_MARKDOWN" - AdminDescriptionFormatHTML AdminDescriptionFormat = "DESCRIPTION_FORMAT_HTML" - AdminDescriptionFormatRST AdminDescriptionFormat = "DESCRIPTION_FORMAT_RST" + AdminDescriptionFormatHTML AdminDescriptionFormat = "DESCRIPTION_FORMAT_HTML" + AdminDescriptionFormatRST AdminDescriptionFormat = "DESCRIPTION_FORMAT_RST" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go index 9674204da4..67b2cf46e4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go @@ -25,7 +25,7 @@ type AdminExecutionClosure struct { // Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead. OutputData *CoreLiteralMap `json:"output_data,omitempty"` // Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead. - FullOutputs *CoreOutputData `json:"full_outputs,omitempty"` + FullOutputs *CoreOutputData `json:"full_outputs,omitempty"` ComputedInputs *CoreLiteralMap `json:"computed_inputs,omitempty"` // Most recent recorded phase for the execution. Phase *CoreWorkflowExecutionPhase `json:"phase,omitempty"` @@ -40,6 +40,6 @@ type AdminExecutionClosure struct { // The notification settings to use after merging the CreateExecutionRequest and the launch plan notification settings. An execution launched with notifications will always prefer that definition to notifications defined statically in a launch plan. Notifications []AdminNotification `json:"notifications,omitempty"` // Identifies the workflow definition for this execution. - WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` + WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` StateChangeDetails *AdminExecutionStateChangeDetails `json:"state_change_details,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go index 5d6b2739e3..1d12bd7f30 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go @@ -11,11 +11,11 @@ package flyteadmin // Request to launch an execution with the given project, domain and optionally-assigned name. type AdminExecutionCreateRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` - Name string `json:"name,omitempty"` - Spec *AdminExecutionSpec `json:"spec,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` + Name string `json:"name,omitempty"` + Spec *AdminExecutionSpec `json:"spec,omitempty"` // The inputs required to start the execution. All required inputs must be included in this map. If not required and not provided, defaults apply. +optional Deprecated: Please use input_data instead. - Inputs *CoreLiteralMap `json:"inputs,omitempty"` - InputData *CoreInputData `json:"input_data,omitempty"` + Inputs *CoreLiteralMap `json:"inputs,omitempty"` + InputData *CoreInputData `json:"input_data,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go index 9db8ddfd7f..8a0b5c0a8a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go @@ -21,7 +21,7 @@ type AdminExecutionMetadata struct { // Indicates the nestedness of this execution. If a user launches a workflow execution, the default nesting is 0. If this execution further launches a workflow (child workflow), the nesting level is incremented by 0 => 1 Generally, if workflow at nesting level k launches a workflow then the child workflow will have nesting = k + 1. Nesting int64 `json:"nesting,omitempty"` // For scheduled executions, the requested time for execution for this specific schedule invocation. - ScheduledAt time.Time `json:"scheduled_at,omitempty"` + ScheduledAt time.Time `json:"scheduled_at,omitempty"` ParentNodeExecution *CoreNodeExecutionIdentifier `json:"parent_node_execution,omitempty"` // Optional, a reference workflow execution related to this execution. In the case of a relaunch, this references the original workflow execution. ReferenceExecution *CoreWorkflowExecutionIdentifier `json:"reference_execution,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go index 571e0013f9..ec74645374 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go @@ -12,8 +12,8 @@ package flyteadmin // Request to recover the referenced execution. type AdminExecutionRecoverRequest struct { // Identifier of the workflow execution to recover. - Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` - Name string `json:"name,omitempty"` + Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` + Name string `json:"name,omitempty"` // Additional metadata which will be used to overwrite any metadata in the reference execution when triggering a recovery execution. Metadata *AdminExecutionMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go index 0f8ccc51c0..0be4d207d8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go @@ -11,8 +11,8 @@ package flyteadmin // Request to relaunch the referenced execution. type AdminExecutionRelaunchRequest struct { - Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` - Name string `json:"name,omitempty"` + Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` + Name string `json:"name,omitempty"` // Allows for all cached values of a workflow and its tasks to be overwritten for a single execution. If enabled, all calculations are performed even if cached results would be available, overwriting the stored data once execution finishes successfully. OverwriteCache bool `json:"overwrite_cache,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go index 3c9dc0ffdb..4a9d287e72 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go @@ -11,9 +11,9 @@ package flyteadmin // An ExecutionSpec encompasses all data used to launch this execution. The Spec does not change over the lifetime of an execution as it progresses across phase changes. type AdminExecutionSpec struct { - LaunchPlan *CoreIdentifier `json:"launch_plan,omitempty"` - Inputs *CoreLiteralMap `json:"inputs,omitempty"` - Metadata *AdminExecutionMetadata `json:"metadata,omitempty"` + LaunchPlan *CoreIdentifier `json:"launch_plan,omitempty"` + Inputs *CoreLiteralMap `json:"inputs,omitempty"` + Metadata *AdminExecutionMetadata `json:"metadata,omitempty"` // List of notifications based on Execution status transitions When this list is not empty it is used rather than any notifications defined in the referenced launch plan. When this list is empty, the notifications defined for the launch plan will be applied. Notifications *AdminNotificationList `json:"notifications,omitempty"` // This should be set to true if all notifications are intended to be disabled for this execution. @@ -29,7 +29,7 @@ type AdminExecutionSpec struct { // Indicates the runtime priority of the execution. QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` // Controls the maximum number of task nodes that can be run in parallel for the entire workflow. This is useful to achieve fairness. Note: MapTasks are regarded as one unit, and parallelism/concurrency of MapTasks is independent from this. - MaxParallelism int32 `json:"max_parallelism,omitempty"` + MaxParallelism int32 `json:"max_parallelism,omitempty"` RawOutputDataConfig *AdminRawOutputDataConfig `json:"raw_output_data_config,omitempty"` // Controls how to select an available cluster on which this execution should run. ClusterAssignment *AdminClusterAssignment `json:"cluster_assignment,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go index c67d546f89..306d6b8dbd 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go @@ -8,11 +8,12 @@ */ package flyteadmin + // AdminExecutionState : The state of the execution is used to control its visibility in the UI/CLI. - EXECUTION_ACTIVE: By default, all executions are considered active. - EXECUTION_ARCHIVED: Archived executions are no longer visible in the UI. type AdminExecutionState string // List of adminExecutionState const ( - AdminExecutionStateACTIVE AdminExecutionState = "EXECUTION_ACTIVE" + AdminExecutionStateACTIVE AdminExecutionState = "EXECUTION_ACTIVE" AdminExecutionStateARCHIVED AdminExecutionState = "EXECUTION_ARCHIVED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go index 44e3d275a0..e13f2c24e7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go @@ -18,5 +18,5 @@ type AdminExecutionStateChangeDetails struct { State *AdminExecutionState `json:"state,omitempty"` // This timestamp represents when the state changed. OccurredAt time.Time `json:"occurred_at,omitempty"` - Principal string `json:"principal,omitempty"` + Principal string `json:"principal,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go index 681eb05ed9..910f10fe6e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go @@ -10,6 +10,6 @@ package flyteadmin type AdminExecutionUpdateRequest struct { - Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` - State *AdminExecutionState `json:"state,omitempty"` + Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` + State *AdminExecutionState `json:"state,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go index b92e2a45e2..4a6de17fa4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go @@ -11,6 +11,6 @@ package flyteadmin // Option for schedules run at a certain frequency e.g. every 2 minutes. type AdminFixedRate struct { - Value int64 `json:"value,omitempty"` - Unit *AdminFixedRateUnit `json:"unit,omitempty"` + Value int64 `json:"value,omitempty"` + Unit *AdminFixedRateUnit `json:"unit,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go index 4a6dd4877a..7ad83474ba 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go @@ -8,12 +8,13 @@ */ package flyteadmin + // AdminFixedRateUnit : Represents a frequency at which to run a schedule. type AdminFixedRateUnit string // List of adminFixedRateUnit const ( AdminFixedRateUnitMINUTE AdminFixedRateUnit = "MINUTE" - AdminFixedRateUnitHOUR AdminFixedRateUnit = "HOUR" - AdminFixedRateUnitDAY AdminFixedRateUnit = "DAY" + AdminFixedRateUnitHOUR AdminFixedRateUnit = "HOUR" + AdminFixedRateUnitDAY AdminFixedRateUnit = "DAY" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go index 6b8a49a661..b0d74055df 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go @@ -11,7 +11,7 @@ package flyteadmin // These URLs are returned as part of node and task execution data requests. type AdminFlyteUrLs struct { - Inputs string `json:"inputs,omitempty"` + Inputs string `json:"inputs,omitempty"` Outputs string `json:"outputs,omitempty"` - Deck string `json:"deck,omitempty"` + Deck string `json:"deck,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go index 540110cb0f..d6aa0a0550 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go @@ -16,9 +16,9 @@ import ( // Values computed by the flyte platform after launch plan registration. These include expected_inputs required to be present in a CreateExecutionRequest to launch the reference workflow as well timestamp values associated with the launch plan. type AdminLaunchPlanClosure struct { // Indicate the Launch plan state. - State *AdminLaunchPlanState `json:"state,omitempty"` - ExpectedInputs *CoreParameterMap `json:"expected_inputs,omitempty"` - ExpectedOutputs *CoreVariableMap `json:"expected_outputs,omitempty"` + State *AdminLaunchPlanState `json:"state,omitempty"` + ExpectedInputs *CoreParameterMap `json:"expected_inputs,omitempty"` + ExpectedOutputs *CoreVariableMap `json:"expected_outputs,omitempty"` // Time at which the launch plan was created. CreatedAt time.Time `json:"created_at,omitempty"` // Time at which the launch plan was last updated. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go index f368501cd8..3260b1b039 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go @@ -11,6 +11,6 @@ package flyteadmin // Additional launch plan attributes included in the LaunchPlanSpec not strictly required to launch the reference workflow. type AdminLaunchPlanMetadata struct { - Schedule *AdminSchedule `json:"schedule,omitempty"` + Schedule *AdminSchedule `json:"schedule,omitempty"` Notifications []AdminNotification `json:"notifications,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go index 7d06cd1610..9529e87cea 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go @@ -11,21 +11,21 @@ package flyteadmin // User-provided launch plan definition and configuration values. type AdminLaunchPlanSpec struct { - WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` + WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` EntityMetadata *AdminLaunchPlanMetadata `json:"entity_metadata,omitempty"` // Input values to be passed for the execution. These can be overridden when an execution is created with this launch plan. DefaultInputs *CoreParameterMap `json:"default_inputs,omitempty"` - FixedInputs *CoreLiteralMap `json:"fixed_inputs,omitempty"` + FixedInputs *CoreLiteralMap `json:"fixed_inputs,omitempty"` // Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. FixedInputData *CoreInputData `json:"fixed_input_data,omitempty"` - Role string `json:"role,omitempty"` + Role string `json:"role,omitempty"` // Custom labels to be applied to the execution resource. Labels *AdminLabels `json:"labels,omitempty"` // Custom annotations to be applied to the execution resource. Annotations *AdminAnnotations `json:"annotations,omitempty"` // Indicates the permission associated with workflow executions triggered with this launch plan. - Auth *AdminAuth `json:"auth,omitempty"` - AuthRole *AdminAuthRole `json:"auth_role,omitempty"` + Auth *AdminAuth `json:"auth,omitempty"` + AuthRole *AdminAuthRole `json:"auth_role,omitempty"` SecurityContext *CoreSecurityContext `json:"security_context,omitempty"` // Indicates the runtime priority of the execution. QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go index f0a1d32782..da3902a397 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go @@ -8,11 +8,12 @@ */ package flyteadmin + // AdminLaunchPlanState : By default any launch plan regardless of state can be used to launch a workflow execution. However, at most one version of a launch plan (e.g. a NamedEntityIdentifier set of shared project, domain and name values) can be active at a time in regards to *schedules*. That is, at most one schedule in a NamedEntityIdentifier group will be observed and trigger executions at a defined cadence. type AdminLaunchPlanState string // List of adminLaunchPlanState const ( AdminLaunchPlanStateINACTIVE AdminLaunchPlanState = "INACTIVE" - AdminLaunchPlanStateACTIVE AdminLaunchPlanState = "ACTIVE" + AdminLaunchPlanStateACTIVE AdminLaunchPlanState = "ACTIVE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go index ac5e29d42c..f5dc3399e6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go @@ -11,5 +11,5 @@ package flyteadmin type AdminLiteralMapBlob struct { Values *CoreLiteralMap `json:"values,omitempty"` - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go index df6a99884c..daba0caaf9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go @@ -12,8 +12,8 @@ package flyteadmin // Represents a custom set of attributes applied for either a domain; a domain and project; or domain, project and workflow name. These are used to override system level defaults for kubernetes cluster resource management, default execution values, and more all across different levels of specificity. type AdminMatchableAttributesConfiguration struct { Attributes *AdminMatchingAttributes `json:"attributes,omitempty"` - Domain string `json:"domain,omitempty"` - Project string `json:"project,omitempty"` - Workflow string `json:"workflow,omitempty"` - LaunchPlan string `json:"launch_plan,omitempty"` + Domain string `json:"domain,omitempty"` + Project string `json:"project,omitempty"` + Workflow string `json:"workflow,omitempty"` + LaunchPlan string `json:"launch_plan,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go index 411a7becc0..df4a350bba 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go @@ -8,17 +8,18 @@ */ package flyteadmin + // AdminMatchableResource : Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes based on matching tags. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. type AdminMatchableResource string // List of adminMatchableResource const ( - AdminMatchableResourceTASK_RESOURCE AdminMatchableResource = "TASK_RESOURCE" - AdminMatchableResourceCLUSTER_RESOURCE AdminMatchableResource = "CLUSTER_RESOURCE" - AdminMatchableResourceEXECUTION_QUEUE AdminMatchableResource = "EXECUTION_QUEUE" - AdminMatchableResourceEXECUTION_CLUSTER_LABEL AdminMatchableResource = "EXECUTION_CLUSTER_LABEL" + AdminMatchableResourceTASK_RESOURCE AdminMatchableResource = "TASK_RESOURCE" + AdminMatchableResourceCLUSTER_RESOURCE AdminMatchableResource = "CLUSTER_RESOURCE" + AdminMatchableResourceEXECUTION_QUEUE AdminMatchableResource = "EXECUTION_QUEUE" + AdminMatchableResourceEXECUTION_CLUSTER_LABEL AdminMatchableResource = "EXECUTION_CLUSTER_LABEL" AdminMatchableResourceQUALITY_OF_SERVICE_SPECIFICATION AdminMatchableResource = "QUALITY_OF_SERVICE_SPECIFICATION" - AdminMatchableResourcePLUGIN_OVERRIDE AdminMatchableResource = "PLUGIN_OVERRIDE" - AdminMatchableResourceWORKFLOW_EXECUTION_CONFIG AdminMatchableResource = "WORKFLOW_EXECUTION_CONFIG" - AdminMatchableResourceCLUSTER_ASSIGNMENT AdminMatchableResource = "CLUSTER_ASSIGNMENT" + AdminMatchableResourcePLUGIN_OVERRIDE AdminMatchableResource = "PLUGIN_OVERRIDE" + AdminMatchableResourceWORKFLOW_EXECUTION_CONFIG AdminMatchableResource = "WORKFLOW_EXECUTION_CONFIG" + AdminMatchableResourceCLUSTER_ASSIGNMENT AdminMatchableResource = "CLUSTER_ASSIGNMENT" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go index 2af9b6d702..c9f2f02754 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go @@ -11,12 +11,12 @@ package flyteadmin // Generic container for encapsulating all types of the above attributes messages. type AdminMatchingAttributes struct { - TaskResourceAttributes *AdminTaskResourceAttributes `json:"task_resource_attributes,omitempty"` + TaskResourceAttributes *AdminTaskResourceAttributes `json:"task_resource_attributes,omitempty"` ClusterResourceAttributes *AdminClusterResourceAttributes `json:"cluster_resource_attributes,omitempty"` - ExecutionQueueAttributes *AdminExecutionQueueAttributes `json:"execution_queue_attributes,omitempty"` - ExecutionClusterLabel *AdminExecutionClusterLabel `json:"execution_cluster_label,omitempty"` - QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` - PluginOverrides *AdminPluginOverrides `json:"plugin_overrides,omitempty"` - WorkflowExecutionConfig *AdminWorkflowExecutionConfig `json:"workflow_execution_config,omitempty"` - ClusterAssignment *AdminClusterAssignment `json:"cluster_assignment,omitempty"` + ExecutionQueueAttributes *AdminExecutionQueueAttributes `json:"execution_queue_attributes,omitempty"` + ExecutionClusterLabel *AdminExecutionClusterLabel `json:"execution_cluster_label,omitempty"` + QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` + PluginOverrides *AdminPluginOverrides `json:"plugin_overrides,omitempty"` + WorkflowExecutionConfig *AdminWorkflowExecutionConfig `json:"workflow_execution_config,omitempty"` + ClusterAssignment *AdminClusterAssignment `json:"cluster_assignment,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go index 6239ddb45a..d3e11e0b3c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go @@ -12,8 +12,8 @@ package flyteadmin // Encapsulates information common to a NamedEntity, a Flyte resource such as a task, workflow or launch plan. A NamedEntity is exclusively identified by its resource type and identifier. type AdminNamedEntity struct { // Resource type of the named entity. One of Task, Workflow or LaunchPlan. - ResourceType *CoreResourceType `json:"resource_type,omitempty"` - Id *AdminNamedEntityIdentifier `json:"id,omitempty"` + ResourceType *CoreResourceType `json:"resource_type,omitempty"` + Id *AdminNamedEntityIdentifier `json:"id,omitempty"` // Additional metadata around a named entity. Metadata *AdminNamedEntityMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go index 9fa96c57b2..c6e36319e0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go @@ -15,5 +15,5 @@ type AdminNamedEntityIdentifier struct { Project string `json:"project,omitempty"` // Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. Domain string `json:"domain,omitempty"` - Name string `json:"name,omitempty"` + Name string `json:"name,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go index eed0505492..de574e1b99 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go @@ -8,12 +8,13 @@ */ package flyteadmin + // AdminNamedEntityState : The status of the named entity is used to control its visibility in the UI. - NAMED_ENTITY_ACTIVE: By default, all named entities are considered active and under development. - NAMED_ENTITY_ARCHIVED: Archived named entities are no longer visible in the UI. - SYSTEM_GENERATED: System generated entities that aren't explicitly created or managed by a user. type AdminNamedEntityState string // List of adminNamedEntityState const ( - AdminNamedEntityStateNAMED_ENTITY_ACTIVE AdminNamedEntityState = "NAMED_ENTITY_ACTIVE" + AdminNamedEntityStateNAMED_ENTITY_ACTIVE AdminNamedEntityState = "NAMED_ENTITY_ACTIVE" AdminNamedEntityStateNAMED_ENTITY_ARCHIVED AdminNamedEntityState = "NAMED_ENTITY_ARCHIVED" - AdminNamedEntityStateSYSTEM_GENERATED AdminNamedEntityState = "SYSTEM_GENERATED" + AdminNamedEntityStateSYSTEM_GENERATED AdminNamedEntityState = "SYSTEM_GENERATED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go index 66fb02ea37..2596276eae 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go @@ -11,7 +11,7 @@ package flyteadmin // Request to set the referenced named entity state to the configured value. type AdminNamedEntityUpdateRequest struct { - ResourceType *CoreResourceType `json:"resource_type,omitempty"` - Id *AdminNamedEntityIdentifier `json:"id,omitempty"` - Metadata *AdminNamedEntityMetadata `json:"metadata,omitempty"` + ResourceType *CoreResourceType `json:"resource_type,omitempty"` + Id *AdminNamedEntityIdentifier `json:"id,omitempty"` + Metadata *AdminNamedEntityMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go index 2eb31902a8..aef83ea68b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go @@ -16,8 +16,8 @@ import ( // Container for node execution details and results. type AdminNodeExecutionClosure struct { // Links to a remotely stored, serialized core.LiteralMap of node execution outputs. DEPRECATED. Use GetNodeExecutionData to fetch output data instead. - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` // Raw output data produced by this node execution. DEPRECATED. Use GetNodeExecutionData to fetch output data instead. OutputData *CoreLiteralMap `json:"output_data,omitempty"` // Raw output data produced by this node execution. @@ -31,10 +31,10 @@ type AdminNodeExecutionClosure struct { // Time at which the node execution was created. CreatedAt time.Time `json:"created_at,omitempty"` // Time at which the node execution was last updated. - UpdatedAt time.Time `json:"updated_at,omitempty"` + UpdatedAt time.Time `json:"updated_at,omitempty"` WorkflowNodeMetadata *FlyteidladminWorkflowNodeMetadata `json:"workflow_node_metadata,omitempty"` - TaskNodeMetadata *FlyteidladminTaskNodeMetadata `json:"task_node_metadata,omitempty"` - DeckUri string `json:"deck_uri,omitempty"` + TaskNodeMetadata *FlyteidladminTaskNodeMetadata `json:"task_node_metadata,omitempty"` + DeckUri string `json:"deck_uri,omitempty"` // dynamic_job_spec_uri is the location of the DynamicJobSpec proto message for a DynamicWorkflow. This is required to correctly recover partially completed executions where the subworkflow has already been compiled. DynamicJobSpecUri string `json:"dynamic_job_spec_uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go index 5a7f520024..524ef691a6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go @@ -25,5 +25,5 @@ type AdminNodeExecutionGetDataResponse struct { OutputData *CoreOutputData `json:"output_data,omitempty"` // Optional Workflow closure for a dynamically generated workflow, in the case this node yields a dynamic workflow we return its structure here. DynamicWorkflow *FlyteidladminDynamicWorkflowNodeMetadata `json:"dynamic_workflow,omitempty"` - FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` + FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go index fea13f6ade..f525cd2cb5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go @@ -13,8 +13,8 @@ type AdminNodeExecutionMetaData struct { // Node executions are grouped depending on retries of the parent Retry group is unique within the context of a parent node. RetryGroup string `json:"retry_group,omitempty"` // Boolean flag indicating if the node has child nodes under it This can be true when a node contains a dynamic workflow which then produces child nodes. - IsParentNode bool `json:"is_parent_node,omitempty"` - SpecNodeId string `json:"spec_node_id,omitempty"` + IsParentNode bool `json:"is_parent_node,omitempty"` + SpecNodeId string `json:"spec_node_id,omitempty"` // Boolean flag indicating if the node has contains a dynamic workflow which then produces child nodes. This is to distinguish between subworkflows and dynamic workflows which can both have is_parent_node as true. IsDynamic bool `json:"is_dynamic,omitempty"` // Boolean flag indicating if the node is an array node. This is intended to uniquely identify array nodes from other nodes which can have is_parent_node as true. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go index 16cc5a3c71..c042528a21 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go @@ -11,8 +11,8 @@ package flyteadmin // Represents a structure for notifications based on execution status. The notification content is configured within flyte admin but can be templatized. Future iterations could expose configuring notifications with custom content. type AdminNotification struct { - Phases []CoreWorkflowExecutionPhase `json:"phases,omitempty"` - Email *AdminEmailNotification `json:"email,omitempty"` - PagerDuty *AdminPagerDutyNotification `json:"pager_duty,omitempty"` - Slack *AdminSlackNotification `json:"slack,omitempty"` + Phases []CoreWorkflowExecutionPhase `json:"phases,omitempty"` + Email *AdminEmailNotification `json:"email,omitempty"` + PagerDuty *AdminPagerDutyNotification `json:"pager_duty,omitempty"` + Slack *AdminSlackNotification `json:"slack,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go index 59da87f6cc..66ca8d4c65 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go @@ -14,10 +14,10 @@ type AdminProject struct { // Globally unique project name. Id string `json:"id,omitempty"` // Display name. - Name string `json:"name,omitempty"` - Domains []AdminDomain `json:"domains,omitempty"` - Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + Domains []AdminDomain `json:"domains,omitempty"` + Description string `json:"description,omitempty"` // Leverage Labels from flyteidl.admin.common.proto to tag projects with ownership information. - Labels *AdminLabels `json:"labels,omitempty"` - State *ProjectProjectState `json:"state,omitempty"` + Labels *AdminLabels `json:"labels,omitempty"` + State *ProjectProjectState `json:"state,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go index a719e4737b..e7098c6db2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go @@ -11,6 +11,6 @@ package flyteadmin type AdminProjectAttributes struct { // Unique project id for which this set of attributes will be applied. - Project string `json:"project,omitempty"` + Project string `json:"project,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go index 3081254e92..fec33ca92f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go @@ -10,6 +10,6 @@ package flyteadmin type AdminProjectAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` + Project string `json:"project,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go index 8cc141bc42..8f736c6e91 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go @@ -13,6 +13,6 @@ type AdminProjectDomainAttributes struct { // Unique project id for which this set of attributes will be applied. Project string `json:"project,omitempty"` // Unique domain id for which this set of attributes will be applied. - Domain string `json:"domain,omitempty"` + Domain string `json:"domain,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go index 00b251417d..4c3ed6cbb2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go @@ -10,7 +10,7 @@ package flyteadmin type AdminProjectDomainAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go index b6c0a02014..bc95ee283a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go @@ -11,9 +11,9 @@ package flyteadmin // Defines complete set of information required to trigger an execution on a schedule. type AdminSchedule struct { - CronExpression string `json:"cron_expression,omitempty"` - Rate *AdminFixedRate `json:"rate,omitempty"` - CronSchedule *AdminCronSchedule `json:"cron_schedule,omitempty"` + CronExpression string `json:"cron_expression,omitempty"` + Rate *AdminFixedRate `json:"rate,omitempty"` + CronSchedule *AdminCronSchedule `json:"cron_schedule,omitempty"` // Name of the input variable that the kickoff time will be supplied to when the workflow is kicked off. KickoffTimeInputArg string `json:"kickoff_time_input_arg,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go index 7469a2cb02..22ebe3f221 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go @@ -11,6 +11,6 @@ package flyteadmin // Specifies sort ordering in a list request. type AdminSort struct { - Key string `json:"key,omitempty"` + Key string `json:"key,omitempty"` Direction *SortDirection `json:"direction,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go index e9e0a3c08f..5996bc5101 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go @@ -23,5 +23,5 @@ type AdminTaskExecutionGetDataResponse struct { InputData *CoreInputData `json:"input_data,omitempty"` // OutputData will only be populated if they are under a configured size threshold. OutputData *CoreOutputData `json:"output_data,omitempty"` - FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` + FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go index 3917b5f2f8..ee090c89ce 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go @@ -12,5 +12,5 @@ package flyteadmin // Defines task resource defaults and limits that will be applied at task registration. type AdminTaskResourceAttributes struct { Defaults *AdminTaskResourceSpec `json:"defaults,omitempty"` - Limits *AdminTaskResourceSpec `json:"limits,omitempty"` + Limits *AdminTaskResourceSpec `json:"limits,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go index b022f1a976..0d2713f7f6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go @@ -11,9 +11,9 @@ package flyteadmin // Defines a set of overridable task resource attributes set during task registration. type AdminTaskResourceSpec struct { - Cpu string `json:"cpu,omitempty"` - Gpu string `json:"gpu,omitempty"` - Memory string `json:"memory,omitempty"` - Storage string `json:"storage,omitempty"` + Cpu string `json:"cpu,omitempty"` + Gpu string `json:"gpu,omitempty"` + Memory string `json:"memory,omitempty"` + Storage string `json:"storage,omitempty"` EphemeralStorage string `json:"ephemeral_storage,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go index 559cc80b93..a316d8ad64 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go @@ -10,7 +10,7 @@ package flyteadmin type AdminVersion struct { - Build string `json:"Build,omitempty"` - Version string `json:"Version,omitempty"` + Build string `json:"Build,omitempty"` + Version string `json:"Version,omitempty"` BuildTime string `json:"BuildTime,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go index dba5c88346..26cfff6479 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go @@ -15,6 +15,6 @@ type AdminWorkflowAttributes struct { // Unique domain id for which this set of attributes will be applied. Domain string `json:"domain,omitempty"` // Workflow name for which this set of attributes will be applied. - Workflow string `json:"workflow,omitempty"` + Workflow string `json:"workflow,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go index 31bca658db..ecc0b76053 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go @@ -10,8 +10,8 @@ package flyteadmin type AdminWorkflowAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` - Workflow string `json:"workflow,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` + Workflow string `json:"workflow,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go index 53b4cbbb08..68ee62801f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go @@ -10,6 +10,6 @@ package flyteadmin type AdminWorkflowCreateRequest struct { - Id *CoreIdentifier `json:"id,omitempty"` + Id *CoreIdentifier `json:"id,omitempty"` Spec *AdminWorkflowSpec `json:"spec,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go index c2557772aa..ed4ddcc9e8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go @@ -13,6 +13,6 @@ type BlobTypeBlobDimensionality string // List of BlobTypeBlobDimensionality const ( - BlobTypeBlobDimensionalitySINGLE BlobTypeBlobDimensionality = "SINGLE" + BlobTypeBlobDimensionalitySINGLE BlobTypeBlobDimensionality = "SINGLE" BlobTypeBlobDimensionalityMULTIPART BlobTypeBlobDimensionality = "MULTIPART" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go index 42b34515db..3f3c587e87 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go @@ -8,6 +8,7 @@ */ package flyteadmin + // CatalogReservationStatus : Indicates the status of a catalog reservation operation. - RESERVATION_DISABLED: Used to indicate that reservations are disabled - RESERVATION_ACQUIRED: Used to indicate that a reservation was successfully acquired or extended - RESERVATION_EXISTS: Used to indicate that an active reservation currently exists - RESERVATION_RELEASED: Used to indicate that the reservation has been successfully released - RESERVATION_FAILURE: Used to indicate that a reservation operation resulted in failure type CatalogReservationStatus string @@ -15,7 +16,7 @@ type CatalogReservationStatus string const ( CatalogReservationStatusDISABLED CatalogReservationStatus = "RESERVATION_DISABLED" CatalogReservationStatusACQUIRED CatalogReservationStatus = "RESERVATION_ACQUIRED" - CatalogReservationStatusEXISTS CatalogReservationStatus = "RESERVATION_EXISTS" + CatalogReservationStatusEXISTS CatalogReservationStatus = "RESERVATION_EXISTS" CatalogReservationStatusRELEASED CatalogReservationStatus = "RESERVATION_RELEASED" - CatalogReservationStatusFAILURE CatalogReservationStatus = "RESERVATION_FAILURE" + CatalogReservationStatusFAILURE CatalogReservationStatus = "RESERVATION_FAILURE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go index f12c82ff7d..5eb1db946d 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go @@ -8,15 +8,16 @@ */ package flyteadmin + // ComparisonExpressionOperator : - GT: Greater Than - LT: Less Than type ComparisonExpressionOperator string // List of ComparisonExpressionOperator const ( - ComparisonExpressionOperatorEQ ComparisonExpressionOperator = "EQ" + ComparisonExpressionOperatorEQ ComparisonExpressionOperator = "EQ" ComparisonExpressionOperatorNEQ ComparisonExpressionOperator = "NEQ" - ComparisonExpressionOperatorGT ComparisonExpressionOperator = "GT" + ComparisonExpressionOperatorGT ComparisonExpressionOperator = "GT" ComparisonExpressionOperatorGTE ComparisonExpressionOperator = "GTE" - ComparisonExpressionOperatorLT ComparisonExpressionOperator = "LT" + ComparisonExpressionOperatorLT ComparisonExpressionOperator = "LT" ComparisonExpressionOperatorLTE ComparisonExpressionOperator = "LTE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go index 537e3b45e7..9634c360a0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go @@ -8,11 +8,12 @@ */ package flyteadmin + // ConjunctionExpressionLogicalOperator : - AND: Conjunction type ConjunctionExpressionLogicalOperator string // List of ConjunctionExpressionLogicalOperator const ( ConjunctionExpressionLogicalOperatorAND ConjunctionExpressionLogicalOperator = "AND" - ConjunctionExpressionLogicalOperatorOR ConjunctionExpressionLogicalOperator = "OR" + ConjunctionExpressionLogicalOperatorOR ConjunctionExpressionLogicalOperator = "OR" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go index 2ec668c981..78970da88a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go @@ -8,14 +8,15 @@ */ package flyteadmin + // ContainerArchitecture : Architecture-type the container image supports. type ContainerArchitecture string // List of ContainerArchitecture const ( ContainerArchitectureUNKNOWN ContainerArchitecture = "UNKNOWN" - ContainerArchitectureAMD64 ContainerArchitecture = "AMD64" - ContainerArchitectureARM64 ContainerArchitecture = "ARM64" - ContainerArchitectureARM_V6 ContainerArchitecture = "ARM_V6" - ContainerArchitectureARM_V7 ContainerArchitecture = "ARM_V7" + ContainerArchitectureAMD64 ContainerArchitecture = "AMD64" + ContainerArchitectureARM64 ContainerArchitecture = "ARM64" + ContainerArchitectureARM_V6 ContainerArchitecture = "ARM_V6" + ContainerArchitectureARM_V7 ContainerArchitecture = "ARM_V7" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go index b66a50bd78..db36793283 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go @@ -12,5 +12,5 @@ package flyteadmin // A simple byte array with a tag to help different parts of the system communicate about what is in the byte array. It's strongly advisable that consumers of this type define a unique tag and validate the tag before parsing the data. type CoreBinary struct { Value string `json:"value,omitempty"` - Tag string `json:"tag,omitempty"` + Tag string `json:"tag,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go index 903ef1f8e2..742616fdc2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go @@ -18,6 +18,6 @@ type CoreBindingData struct { // References an output promised by another node. Promise *CoreOutputReference `json:"promise,omitempty"` // A map of bindings. The key is always a string. - Map_ *CoreBindingDataMap `json:"map,omitempty"` - Union *CoreUnionInfo `json:"union,omitempty"` + Map_ *CoreBindingDataMap `json:"map,omitempty"` + Union *CoreUnionInfo `json:"union,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go index 081e36a03d..d7bcd89170 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go @@ -12,5 +12,5 @@ package flyteadmin // Refers to an offloaded set of files. It encapsulates the type of the store and a unique uri for where the data is. There are no restrictions on how the uri is formatted since it will depend on how to interact with the store. type CoreBlob struct { Metadata *CoreBlobMetadata `json:"metadata,omitempty"` - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go index 5c751b9562..4add1c0946 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go @@ -10,6 +10,6 @@ package flyteadmin type CoreBlobType struct { - Format string `json:"format,omitempty"` + Format string `json:"format,omitempty"` Dimensionality *BlobTypeBlobDimensionality `json:"dimensionality,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go index 0ee33d7c3a..894e3d4cc4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go @@ -12,5 +12,5 @@ package flyteadmin // Defines a boolean expression tree. It can be a simple or a conjunction expression. Multiple expressions can be combined using a conjunction or a disjunction to result in a final boolean result. type CoreBooleanExpression struct { Conjunction *CoreConjunctionExpression `json:"conjunction,omitempty"` - Comparison *CoreComparisonExpression `json:"comparison,omitempty"` + Comparison *CoreComparisonExpression `json:"comparison,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go index 94c8826d3a..49ecd55bc1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go @@ -11,5 +11,5 @@ package flyteadmin type CoreCatalogArtifactTag struct { ArtifactId string `json:"artifact_id,omitempty"` - Name string `json:"name,omitempty"` + Name string `json:"name,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go index 6e50baf228..7126460fbe 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go @@ -8,16 +8,17 @@ */ package flyteadmin + // CoreCatalogCacheStatus : - CACHE_DISABLED: Used to indicate that caching was disabled - CACHE_MISS: Used to indicate that the cache lookup resulted in no matches - CACHE_HIT: used to indicate that the associated artifact was a result of a previous execution - CACHE_POPULATED: used to indicate that the resultant artifact was added to the cache - CACHE_LOOKUP_FAILURE: Used to indicate that cache lookup failed because of an error - CACHE_PUT_FAILURE: Used to indicate that cache lookup failed because of an error - CACHE_SKIPPED: Used to indicate the cache lookup was skipped type CoreCatalogCacheStatus string // List of coreCatalogCacheStatus const ( - CoreCatalogCacheStatusDISABLED CoreCatalogCacheStatus = "CACHE_DISABLED" - CoreCatalogCacheStatusMISS CoreCatalogCacheStatus = "CACHE_MISS" - CoreCatalogCacheStatusHIT CoreCatalogCacheStatus = "CACHE_HIT" - CoreCatalogCacheStatusPOPULATED CoreCatalogCacheStatus = "CACHE_POPULATED" + CoreCatalogCacheStatusDISABLED CoreCatalogCacheStatus = "CACHE_DISABLED" + CoreCatalogCacheStatusMISS CoreCatalogCacheStatus = "CACHE_MISS" + CoreCatalogCacheStatusHIT CoreCatalogCacheStatus = "CACHE_HIT" + CoreCatalogCacheStatusPOPULATED CoreCatalogCacheStatus = "CACHE_POPULATED" CoreCatalogCacheStatusLOOKUP_FAILURE CoreCatalogCacheStatus = "CACHE_LOOKUP_FAILURE" - CoreCatalogCacheStatusPUT_FAILURE CoreCatalogCacheStatus = "CACHE_PUT_FAILURE" - CoreCatalogCacheStatusSKIPPED CoreCatalogCacheStatus = "CACHE_SKIPPED" + CoreCatalogCacheStatusPUT_FAILURE CoreCatalogCacheStatus = "CACHE_PUT_FAILURE" + CoreCatalogCacheStatusSKIPPED CoreCatalogCacheStatus = "CACHE_SKIPPED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go index a4223f28b8..43e1cbb858 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go @@ -10,7 +10,7 @@ package flyteadmin type CoreCatalogMetadata struct { - DatasetId *CoreIdentifier `json:"dataset_id,omitempty"` - ArtifactTag *CoreCatalogArtifactTag `json:"artifact_tag,omitempty"` + DatasetId *CoreIdentifier `json:"dataset_id,omitempty"` + ArtifactTag *CoreCatalogArtifactTag `json:"artifact_tag,omitempty"` SourceTaskExecution *CoreTaskExecutionIdentifier `json:"source_task_execution,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go index 86e9586a7d..0c0487d705 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go @@ -11,7 +11,7 @@ package flyteadmin // Defines a 2-level tree where the root is a comparison operator and Operands are primitives or known variables. Each expression results in a boolean result. type CoreComparisonExpression struct { - Operator *ComparisonExpressionOperator `json:"operator,omitempty"` - LeftValue *CoreOperand `json:"left_value,omitempty"` - RightValue *CoreOperand `json:"right_value,omitempty"` + Operator *ComparisonExpressionOperator `json:"operator,omitempty"` + LeftValue *CoreOperand `json:"left_value,omitempty"` + RightValue *CoreOperand `json:"right_value,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go index 64753a21b5..8439d4d710 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go @@ -11,7 +11,7 @@ package flyteadmin // A Compiled Workflow Closure contains all the information required to start a new execution, or to visualize a workflow and its details. The CompiledWorkflowClosure should always contain a primary workflow, that is the main workflow that will being the execution. All subworkflows are denormalized. WorkflowNodes refer to the workflow identifiers of compiled subworkflows. type CoreCompiledWorkflowClosure struct { - Primary *CoreCompiledWorkflow `json:"primary,omitempty"` + Primary *CoreCompiledWorkflow `json:"primary,omitempty"` SubWorkflows []CoreCompiledWorkflow `json:"sub_workflows,omitempty"` - Tasks []CoreCompiledTask `json:"tasks,omitempty"` + Tasks []CoreCompiledTask `json:"tasks,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go index cf8c99b9bb..ea24c0aeca 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go @@ -11,7 +11,7 @@ package flyteadmin // Defines a conjunction expression of two boolean expressions. type CoreConjunctionExpression struct { - Operator *ConjunctionExpressionLogicalOperator `json:"operator,omitempty"` - LeftExpression *CoreBooleanExpression `json:"left_expression,omitempty"` - RightExpression *CoreBooleanExpression `json:"right_expression,omitempty"` + Operator *ConjunctionExpressionLogicalOperator `json:"operator,omitempty"` + LeftExpression *CoreBooleanExpression `json:"left_expression,omitempty"` + RightExpression *CoreBooleanExpression `json:"right_expression,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go index 8d7b9bc344..5f05c8ffb6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go @@ -11,5 +11,5 @@ package flyteadmin type CoreConnectionSet struct { Downstream map[string]ConnectionSetIdList `json:"downstream,omitempty"` - Upstream map[string]ConnectionSetIdList `json:"upstream,omitempty"` + Upstream map[string]ConnectionSetIdList `json:"upstream,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go index 26f0e9d65a..ad1d569645 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go @@ -20,8 +20,8 @@ type CoreContainer struct { // Environment variables will be set as the container is starting up. Env []CoreKeyValuePair `json:"env,omitempty"` // Allows extra configs to be available for the container. TODO: elaborate on how configs will become available. Deprecated, please use TaskTemplate.config instead. - Config []CoreKeyValuePair `json:"config,omitempty"` - Ports []CoreContainerPort `json:"ports,omitempty"` - DataConfig *CoreDataLoadingConfig `json:"data_config,omitempty"` + Config []CoreKeyValuePair `json:"config,omitempty"` + Ports []CoreContainerPort `json:"ports,omitempty"` + DataConfig *CoreDataLoadingConfig `json:"data_config,omitempty"` Architecture *ContainerArchitecture `json:"architecture,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go index f74fb3aaa1..5861de21a6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go @@ -11,9 +11,9 @@ package flyteadmin // This configuration allows executing raw containers in Flyte using the Flyte CoPilot system. Flyte CoPilot, eliminates the needs of flytekit or sdk inside the container. Any inputs required by the users container are side-loaded in the input_path Any outputs generated by the user container - within output_path are automatically uploaded. type CoreDataLoadingConfig struct { - Enabled bool `json:"enabled,omitempty"` - InputPath string `json:"input_path,omitempty"` - OutputPath string `json:"output_path,omitempty"` - Format *DataLoadingConfigLiteralMapFormat `json:"format,omitempty"` - IoStrategy *CoreIoStrategy `json:"io_strategy,omitempty"` + Enabled bool `json:"enabled,omitempty"` + InputPath string `json:"input_path,omitempty"` + OutputPath string `json:"output_path,omitempty"` + Format *DataLoadingConfigLiteralMapFormat `json:"format,omitempty"` + IoStrategy *CoreIoStrategy `json:"io_strategy,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go index 4b2b6e07b4..cb796560c5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go @@ -13,7 +13,7 @@ package flyteadmin type CoreExecutionError struct { Code string `json:"code,omitempty"` // Detailed description of the error - including stack trace. - Message string `json:"message,omitempty"` - ErrorUri string `json:"error_uri,omitempty"` - Kind *ExecutionErrorErrorKind `json:"kind,omitempty"` + Message string `json:"message,omitempty"` + ErrorUri string `json:"error_uri,omitempty"` + Kind *ExecutionErrorErrorKind `json:"kind,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_gpu_accelerator.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_gpu_accelerator.go index 6be738d59f..b89a672a21 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_gpu_accelerator.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_gpu_accelerator.go @@ -12,8 +12,8 @@ package flyteadmin // Metadata associated with the GPU accelerator to allocate to a task. Contains information about device type, and for multi-instance GPUs, the partition size to use. type CoreGpuAccelerator struct { // This can be any arbitrary string, and should be informed by the labels or taints associated with the nodes in question. Default cloud provider labels typically use the following values: `nvidia-tesla-t4`, `nvidia-tesla-a100`, etc. - Device string `json:"device,omitempty"` - Unpartitioned bool `json:"unpartitioned,omitempty"` + Device string `json:"device,omitempty"` + Unpartitioned bool `json:"unpartitioned,omitempty"` // Like `device`, this can be any arbitrary string, and should be informed by the labels or taints associated with the nodes in question. Default cloud provider labels typically use the following values: `1g.5gb`, `2g.10gb`, etc. PartitionSize string `json:"partition_size,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go index 60251e7b6b..11d8f3cfde 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go @@ -16,6 +16,6 @@ type CoreIdentity struct { // k8s_service_account references a kubernetes service account to impersonate. K8sServiceAccount string `json:"k8s_service_account,omitempty"` // oauth2_client references an oauth2 client. Backend plugins can use this information to impersonate the client when making external calls. - Oauth2Client *CoreOAuth2Client `json:"oauth2_client,omitempty"` - ExecutionIdentity string `json:"execution_identity,omitempty"` + Oauth2Client *CoreOAuth2Client `json:"oauth2_client,omitempty"` + ExecutionIdentity string `json:"execution_identity,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go index 88c084f857..fe1f9e02fc 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go @@ -12,5 +12,5 @@ package flyteadmin // Defines a condition and the execution unit that should be executed if the condition is satisfied. type CoreIfBlock struct { Condition *CoreBooleanExpression `json:"condition,omitempty"` - ThenNode *CoreNode `json:"then_node,omitempty"` + ThenNode *CoreNode `json:"then_node,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go index d310d02903..7fdf7e07ad 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go @@ -11,5 +11,5 @@ package flyteadmin type CoreIoStrategy struct { DownloadMode *IoStrategyDownloadMode `json:"download_mode,omitempty"` - UploadMode *IoStrategyUploadMode `json:"upload_mode,omitempty"` + UploadMode *IoStrategyUploadMode `json:"upload_mode,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go index df6db9479b..3288876b6e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go @@ -12,7 +12,7 @@ package flyteadmin // Defines a pod spec and additional pod metadata that is created when a task is executed. type CoreK8sPod struct { // Contains additional metadata for building a kubernetes pod. - Metadata *CoreK8sObjectMetadata `json:"metadata,omitempty"` - PodSpec *ProtobufStruct `json:"pod_spec,omitempty"` + Metadata *CoreK8sObjectMetadata `json:"metadata,omitempty"` + PodSpec *ProtobufStruct `json:"pod_spec,omitempty"` DataConfig *CoreDataLoadingConfig `json:"data_config,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go index 03ee493617..827463a72b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go @@ -17,5 +17,5 @@ type CoreLiteral struct { Collection *CoreLiteralCollection `json:"collection,omitempty"` // A map of strings to literals. Map_ *CoreLiteralMap `json:"map,omitempty"` - Hash string `json:"hash,omitempty"` + Hash string `json:"hash,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go index 08611bf6c0..934d0c8ff6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go @@ -22,7 +22,7 @@ type CoreLiteralType struct { // A blob might have specialized implementation details depending on associated metadata. Blob *CoreBlobType `json:"blob,omitempty"` // Defines an enum with pre-defined string values. - EnumType *CoreEnumType `json:"enum_type,omitempty"` + EnumType *CoreEnumType `json:"enum_type,omitempty"` StructuredDatasetType *CoreStructuredDatasetType `json:"structured_dataset_type,omitempty"` // Defines an union type with pre-defined LiteralTypes. UnionType *CoreUnionType `json:"union_type,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go index 2a391e095f..44a74ea49f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go @@ -11,6 +11,6 @@ package flyteadmin // Encapsulation of fields that identify a Flyte node execution entity. type CoreNodeExecutionIdentifier struct { - NodeId string `json:"node_id,omitempty"` + NodeId string `json:"node_id,omitempty"` ExecutionId *CoreWorkflowExecutionIdentifier `json:"execution_id,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go index 55c46425a5..aa619393bf 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go @@ -13,15 +13,15 @@ type CoreNodeExecutionPhase string // List of coreNodeExecutionPhase const ( - CoreNodeExecutionPhaseUNDEFINED CoreNodeExecutionPhase = "UNDEFINED" - CoreNodeExecutionPhaseQUEUED CoreNodeExecutionPhase = "QUEUED" - CoreNodeExecutionPhaseRUNNING CoreNodeExecutionPhase = "RUNNING" - CoreNodeExecutionPhaseSUCCEEDED CoreNodeExecutionPhase = "SUCCEEDED" - CoreNodeExecutionPhaseFAILING CoreNodeExecutionPhase = "FAILING" - CoreNodeExecutionPhaseFAILED CoreNodeExecutionPhase = "FAILED" - CoreNodeExecutionPhaseABORTED CoreNodeExecutionPhase = "ABORTED" - CoreNodeExecutionPhaseSKIPPED CoreNodeExecutionPhase = "SKIPPED" - CoreNodeExecutionPhaseTIMED_OUT CoreNodeExecutionPhase = "TIMED_OUT" + CoreNodeExecutionPhaseUNDEFINED CoreNodeExecutionPhase = "UNDEFINED" + CoreNodeExecutionPhaseQUEUED CoreNodeExecutionPhase = "QUEUED" + CoreNodeExecutionPhaseRUNNING CoreNodeExecutionPhase = "RUNNING" + CoreNodeExecutionPhaseSUCCEEDED CoreNodeExecutionPhase = "SUCCEEDED" + CoreNodeExecutionPhaseFAILING CoreNodeExecutionPhase = "FAILING" + CoreNodeExecutionPhaseFAILED CoreNodeExecutionPhase = "FAILED" + CoreNodeExecutionPhaseABORTED CoreNodeExecutionPhase = "ABORTED" + CoreNodeExecutionPhaseSKIPPED CoreNodeExecutionPhase = "SKIPPED" + CoreNodeExecutionPhaseTIMED_OUT CoreNodeExecutionPhase = "TIMED_OUT" CoreNodeExecutionPhaseDYNAMIC_RUNNING CoreNodeExecutionPhase = "DYNAMIC_RUNNING" - CoreNodeExecutionPhaseRECOVERED CoreNodeExecutionPhase = "RECOVERED" + CoreNodeExecutionPhaseRECOVERED CoreNodeExecutionPhase = "RECOVERED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go index 3913c96c83..79e9c1e380 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go @@ -15,6 +15,6 @@ type CoreNodeMetadata struct { // The overall timeout of a task. Timeout string `json:"timeout,omitempty"` // Number of retries per task. - Retries *CoreRetryStrategy `json:"retries,omitempty"` - Interruptible bool `json:"interruptible,omitempty"` + Retries *CoreRetryStrategy `json:"retries,omitempty"` + Interruptible bool `json:"interruptible,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go index 8413c9169f..b44f969059 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go @@ -11,6 +11,6 @@ package flyteadmin // OAuth2Client encapsulates OAuth2 Client Credentials to be used when making calls on behalf of that task. type CoreOAuth2Client struct { - ClientId string `json:"client_id,omitempty"` + ClientId string `json:"client_id,omitempty"` ClientSecret *CoreSecret `json:"client_secret,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go index 6dcdb2dddd..7edeb1353f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go @@ -11,9 +11,9 @@ package flyteadmin // OAuth2TokenRequest encapsulates information needed to request an OAuth2 token. FLYTE_TOKENS_ENV_PREFIX will be passed to indicate the prefix of the environment variables that will be present if tokens are passed through environment variables. FLYTE_TOKENS_PATH_PREFIX will be passed to indicate the prefix of the path where secrets will be mounted if tokens are passed through file mounts. type CoreOAuth2TokenRequest struct { - Name string `json:"name,omitempty"` - Type_ *CoreOAuth2TokenRequestType `json:"type,omitempty"` - Client *CoreOAuth2Client `json:"client,omitempty"` - IdpDiscoveryEndpoint string `json:"idp_discovery_endpoint,omitempty"` - TokenEndpoint string `json:"token_endpoint,omitempty"` + Name string `json:"name,omitempty"` + Type_ *CoreOAuth2TokenRequestType `json:"type,omitempty"` + Client *CoreOAuth2Client `json:"client,omitempty"` + IdpDiscoveryEndpoint string `json:"idp_discovery_endpoint,omitempty"` + TokenEndpoint string `json:"token_endpoint,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go index 5e9b5d4e6f..27ec7f050c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go @@ -8,6 +8,7 @@ */ package flyteadmin + // CoreOAuth2TokenRequestType : Type of the token requested. - CLIENT_CREDENTIALS: CLIENT_CREDENTIALS indicates a 2-legged OAuth token requested using client credentials. type CoreOAuth2TokenRequestType string diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go index 07f2887e70..10f10fc233 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go @@ -12,6 +12,6 @@ package flyteadmin // Defines an operand to a comparison expression. type CoreOperand struct { Primitive *CorePrimitive `json:"primitive,omitempty"` - Var_ string `json:"var,omitempty"` - Scalar *CoreScalar `json:"scalar,omitempty"` + Var_ string `json:"var,omitempty"` + Scalar *CoreScalar `json:"scalar,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go index 469e79f2dd..9faccb26aa 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go @@ -14,6 +14,6 @@ type CoreOutputReference struct { // Node id must exist at the graph layer. NodeId string `json:"node_id,omitempty"` // Variable name must refer to an output variable for the node. - Var_ string `json:"var,omitempty"` + Var_ string `json:"var,omitempty"` AttrPath []CorePromiseAttribute `json:"attr_path,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go index efe369c246..5b976320d2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go @@ -14,10 +14,10 @@ import ( ) type CorePrimitive struct { - Integer string `json:"integer,omitempty"` - FloatValue float64 `json:"float_value,omitempty"` - StringValue string `json:"string_value,omitempty"` - Boolean bool `json:"boolean,omitempty"` - Datetime time.Time `json:"datetime,omitempty"` - Duration string `json:"duration,omitempty"` + Integer string `json:"integer,omitempty"` + FloatValue float64 `json:"float_value,omitempty"` + StringValue string `json:"string_value,omitempty"` + Boolean bool `json:"boolean,omitempty"` + Datetime time.Time `json:"datetime,omitempty"` + Duration string `json:"duration,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go index 2c6ab252f1..85428df90b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go @@ -11,5 +11,5 @@ package flyteadmin type CorePromiseAttribute struct { StringValue string `json:"string_value,omitempty"` - IntValue int32 `json:"int_value,omitempty"` + IntValue int32 `json:"int_value,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go index d735974d03..9378a683a6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go @@ -11,6 +11,6 @@ package flyteadmin // Indicates the priority of an execution. type CoreQualityOfService struct { - Tier *QualityOfServiceTier `json:"tier,omitempty"` + Tier *QualityOfServiceTier `json:"tier,omitempty"` Spec *CoreQualityOfServiceSpec `json:"spec,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go index 26866d1c4c..33c7ff4bf9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go @@ -8,14 +8,15 @@ */ package flyteadmin + // CoreResourceType : Indicates a resource type within Flyte. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects type CoreResourceType string // List of coreResourceType const ( CoreResourceTypeUNSPECIFIED CoreResourceType = "UNSPECIFIED" - CoreResourceTypeTASK CoreResourceType = "TASK" - CoreResourceTypeWORKFLOW CoreResourceType = "WORKFLOW" + CoreResourceTypeTASK CoreResourceType = "TASK" + CoreResourceTypeWORKFLOW CoreResourceType = "WORKFLOW" CoreResourceTypeLAUNCH_PLAN CoreResourceType = "LAUNCH_PLAN" - CoreResourceTypeDATASET CoreResourceType = "DATASET" + CoreResourceTypeDATASET CoreResourceType = "DATASET" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go index 09c05e7bef..3e3dbffbfa 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go @@ -10,13 +10,13 @@ package flyteadmin type CoreScalar struct { - Primitive *CorePrimitive `json:"primitive,omitempty"` - Blob *CoreBlob `json:"blob,omitempty"` - Binary *CoreBinary `json:"binary,omitempty"` - Schema *CoreSchema `json:"schema,omitempty"` - NoneType *CoreVoid `json:"none_type,omitempty"` - Error_ *CoreError `json:"error,omitempty"` - Generic *ProtobufStruct `json:"generic,omitempty"` + Primitive *CorePrimitive `json:"primitive,omitempty"` + Blob *CoreBlob `json:"blob,omitempty"` + Binary *CoreBinary `json:"binary,omitempty"` + Schema *CoreSchema `json:"schema,omitempty"` + NoneType *CoreVoid `json:"none_type,omitempty"` + Error_ *CoreError `json:"error,omitempty"` + Generic *ProtobufStruct `json:"generic,omitempty"` StructuredDataset *CoreStructuredDataset `json:"structured_dataset,omitempty"` - Union *CoreUnion `json:"union,omitempty"` + Union *CoreUnion `json:"union,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go index b621770da0..df6af8e450 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go @@ -11,6 +11,6 @@ package flyteadmin // A strongly typed schema that defines the interface of data retrieved from the underlying storage medium. type CoreSchema struct { - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` Type_ *CoreSchemaType `json:"type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go index 3b709cefe6..94025fa6d2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go @@ -11,8 +11,8 @@ package flyteadmin // Secret encapsulates information about the secret a task needs to proceed. An environment variable FLYTE_SECRETS_ENV_PREFIX will be passed to indicate the prefix of the environment variables that will be present if secrets are passed through environment variables. FLYTE_SECRETS_DEFAULT_DIR will be passed to indicate the prefix of the path where secrets will be mounted if secrets are passed through file mounts. type CoreSecret struct { - Group string `json:"group,omitempty"` - GroupVersion string `json:"group_version,omitempty"` - Key string `json:"key,omitempty"` + Group string `json:"group,omitempty"` + GroupVersion string `json:"group_version,omitempty"` + Key string `json:"key,omitempty"` MountRequirement *SecretMountType `json:"mount_requirement,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go index 23988bb9c1..4dada71aaa 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go @@ -8,19 +8,20 @@ */ package flyteadmin + // CoreSimpleType : Define a set of simple types. type CoreSimpleType string // List of coreSimpleType const ( - CoreSimpleTypeNONE CoreSimpleType = "NONE" - CoreSimpleTypeINTEGER CoreSimpleType = "INTEGER" - CoreSimpleTypeFLOAT CoreSimpleType = "FLOAT" - CoreSimpleTypeSTRING_ CoreSimpleType = "STRING" - CoreSimpleTypeBOOLEAN CoreSimpleType = "BOOLEAN" + CoreSimpleTypeNONE CoreSimpleType = "NONE" + CoreSimpleTypeINTEGER CoreSimpleType = "INTEGER" + CoreSimpleTypeFLOAT CoreSimpleType = "FLOAT" + CoreSimpleTypeSTRING_ CoreSimpleType = "STRING" + CoreSimpleTypeBOOLEAN CoreSimpleType = "BOOLEAN" CoreSimpleTypeDATETIME CoreSimpleType = "DATETIME" CoreSimpleTypeDURATION CoreSimpleType = "DURATION" - CoreSimpleTypeBINARY CoreSimpleType = "BINARY" - CoreSimpleTypeERROR_ CoreSimpleType = "ERROR" - CoreSimpleTypeSTRUCT_ CoreSimpleType = "STRUCT" + CoreSimpleTypeBINARY CoreSimpleType = "BINARY" + CoreSimpleTypeERROR_ CoreSimpleType = "ERROR" + CoreSimpleTypeSTRUCT_ CoreSimpleType = "STRUCT" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go index c0cd22cb48..508b2018bc 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go @@ -11,6 +11,6 @@ package flyteadmin // Sql represents a generic sql workload with a statement and dialect. type CoreSql struct { - Statement string `json:"statement,omitempty"` - Dialect *SqlDialect `json:"dialect,omitempty"` + Statement string `json:"statement,omitempty"` + Dialect *SqlDialect `json:"dialect,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go index 88fb473fcc..92b97bb11e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go @@ -10,6 +10,6 @@ package flyteadmin type CoreStructuredDataset struct { - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` Metadata *CoreStructuredDatasetMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go index c0f0264ad2..33cb47e05e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go @@ -11,7 +11,7 @@ package flyteadmin // Encapsulation of fields that identify a Flyte task execution entity. type CoreTaskExecutionIdentifier struct { - TaskId *CoreIdentifier `json:"task_id,omitempty"` + TaskId *CoreIdentifier `json:"task_id,omitempty"` NodeExecutionId *CoreNodeExecutionIdentifier `json:"node_execution_id,omitempty"` - RetryAttempt int64 `json:"retry_attempt,omitempty"` + RetryAttempt int64 `json:"retry_attempt,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go index 0dd23b9a2c..4e70781eb1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go @@ -13,12 +13,12 @@ type CoreTaskExecutionPhase string // List of coreTaskExecutionPhase const ( - CoreTaskExecutionPhaseUNDEFINED CoreTaskExecutionPhase = "UNDEFINED" - CoreTaskExecutionPhaseQUEUED CoreTaskExecutionPhase = "QUEUED" - CoreTaskExecutionPhaseRUNNING CoreTaskExecutionPhase = "RUNNING" - CoreTaskExecutionPhaseSUCCEEDED CoreTaskExecutionPhase = "SUCCEEDED" - CoreTaskExecutionPhaseABORTED CoreTaskExecutionPhase = "ABORTED" - CoreTaskExecutionPhaseFAILED CoreTaskExecutionPhase = "FAILED" - CoreTaskExecutionPhaseINITIALIZING CoreTaskExecutionPhase = "INITIALIZING" + CoreTaskExecutionPhaseUNDEFINED CoreTaskExecutionPhase = "UNDEFINED" + CoreTaskExecutionPhaseQUEUED CoreTaskExecutionPhase = "QUEUED" + CoreTaskExecutionPhaseRUNNING CoreTaskExecutionPhase = "RUNNING" + CoreTaskExecutionPhaseSUCCEEDED CoreTaskExecutionPhase = "SUCCEEDED" + CoreTaskExecutionPhaseABORTED CoreTaskExecutionPhase = "ABORTED" + CoreTaskExecutionPhaseFAILED CoreTaskExecutionPhase = "FAILED" + CoreTaskExecutionPhaseINITIALIZING CoreTaskExecutionPhase = "INITIALIZING" CoreTaskExecutionPhaseWAITING_FOR_RESOURCES CoreTaskExecutionPhase = "WAITING_FOR_RESOURCES" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go index 1eef3655de..6822e903b5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go @@ -10,8 +10,8 @@ package flyteadmin type CoreTaskLog struct { - Uri string `json:"uri,omitempty"` - Name string `json:"name,omitempty"` + Uri string `json:"uri,omitempty"` + Name string `json:"name,omitempty"` MessageFormat *TaskLogMessageFormat `json:"message_format,omitempty"` - Ttl string `json:"ttl,omitempty"` + Ttl string `json:"ttl,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go index 658e8e1607..d81e25707a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go @@ -22,11 +22,11 @@ type CoreTaskMetadata struct { DiscoveryVersion string `json:"discovery_version,omitempty"` // If set, this indicates that this task is deprecated. This will enable owners of tasks to notify consumers of the ending of support for a given task. DeprecatedErrorMessage string `json:"deprecated_error_message,omitempty"` - Interruptible bool `json:"interruptible,omitempty"` - CacheSerializable bool `json:"cache_serializable,omitempty"` + Interruptible bool `json:"interruptible,omitempty"` + CacheSerializable bool `json:"cache_serializable,omitempty"` // Indicates whether the task will generate a Deck URI when it finishes executing. - GeneratesDeck bool `json:"generates_deck,omitempty"` - Tags map[string]string `json:"tags,omitempty"` + GeneratesDeck bool `json:"generates_deck,omitempty"` + Tags map[string]string `json:"tags,omitempty"` // pod_template_name is the unique name of a PodTemplate k8s resource to be used as the base configuration if this task creates a k8s Pod. If this value is set, the specified PodTemplate will be used instead of, but applied identically as, the default PodTemplate configured in FlytePropeller. PodTemplateName string `json:"pod_template_name,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go index 64a4a984a8..00d03fd25e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go @@ -20,15 +20,15 @@ type CoreTaskTemplate struct { // A strongly typed interface for the task. This enables others to use this task within a workflow and guarantees compile-time validation of the workflow to avoid costly runtime failures. Interface_ *CoreTypedInterface `json:"interface,omitempty"` // Custom data about the task. This is extensible to allow various plugins in the system. - Custom *ProtobufStruct `json:"custom,omitempty"` - Container *CoreContainer `json:"container,omitempty"` - K8sPod *CoreK8sPod `json:"k8s_pod,omitempty"` - Sql *CoreSql `json:"sql,omitempty"` + Custom *ProtobufStruct `json:"custom,omitempty"` + Container *CoreContainer `json:"container,omitempty"` + K8sPod *CoreK8sPod `json:"k8s_pod,omitempty"` + Sql *CoreSql `json:"sql,omitempty"` // This can be used to customize task handling at execution time for the same task type. TaskTypeVersion int32 `json:"task_type_version,omitempty"` // security_context encapsulates security attributes requested to run this task. SecurityContext *CoreSecurityContext `json:"security_context,omitempty"` // Encapsulates all non-standard resources, not captured by v1.ResourceRequirements, to allocate to a task. ExtendedResources *CoreExtendedResources `json:"extended_resources,omitempty"` - Config map[string]string `json:"config,omitempty"` + Config map[string]string `json:"config,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_type_structure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_type_structure.go index 5c92a39d26..01d0b003d2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_type_structure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_type_structure.go @@ -11,6 +11,6 @@ package flyteadmin // Hints to improve type matching e.g. allows distinguishing output from custom type transformers even if the underlying IDL serialization matches. type CoreTypeStructure struct { - Tag string `json:"tag,omitempty"` + Tag string `json:"tag,omitempty"` DataclassType map[string]CoreLiteralType `json:"dataclass_type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go index 8a14876460..c214430aa8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go @@ -11,6 +11,6 @@ package flyteadmin // Defines strongly typed inputs and outputs. type CoreTypedInterface struct { - Inputs *CoreVariableMap `json:"inputs,omitempty"` + Inputs *CoreVariableMap `json:"inputs,omitempty"` Outputs *CoreVariableMap `json:"outputs,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go index dc4a92e0d4..9868ba7db4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go @@ -11,6 +11,6 @@ package flyteadmin // The runtime representation of a tagged union value. See `UnionType` for more details. type CoreUnion struct { - Value *CoreLiteral `json:"value,omitempty"` + Value *CoreLiteral `json:"value,omitempty"` Type_ *CoreLiteralType `json:"type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go index 40e43f0588..2b7beb0890 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go @@ -12,6 +12,6 @@ package flyteadmin // Defines a strongly typed variable. type CoreVariable struct { // Variable literal type. - Type_ *CoreLiteralType `json:"type,omitempty"` - Description string `json:"description,omitempty"` + Type_ *CoreLiteralType `json:"type,omitempty"` + Description string `json:"description,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go index 0745afacd7..343edc0df2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go @@ -13,14 +13,14 @@ type CoreWorkflowExecutionPhase string // List of coreWorkflowExecutionPhase const ( - CoreWorkflowExecutionPhaseUNDEFINED CoreWorkflowExecutionPhase = "UNDEFINED" - CoreWorkflowExecutionPhaseQUEUED CoreWorkflowExecutionPhase = "QUEUED" - CoreWorkflowExecutionPhaseRUNNING CoreWorkflowExecutionPhase = "RUNNING" + CoreWorkflowExecutionPhaseUNDEFINED CoreWorkflowExecutionPhase = "UNDEFINED" + CoreWorkflowExecutionPhaseQUEUED CoreWorkflowExecutionPhase = "QUEUED" + CoreWorkflowExecutionPhaseRUNNING CoreWorkflowExecutionPhase = "RUNNING" CoreWorkflowExecutionPhaseSUCCEEDING CoreWorkflowExecutionPhase = "SUCCEEDING" - CoreWorkflowExecutionPhaseSUCCEEDED CoreWorkflowExecutionPhase = "SUCCEEDED" - CoreWorkflowExecutionPhaseFAILING CoreWorkflowExecutionPhase = "FAILING" - CoreWorkflowExecutionPhaseFAILED CoreWorkflowExecutionPhase = "FAILED" - CoreWorkflowExecutionPhaseABORTED CoreWorkflowExecutionPhase = "ABORTED" - CoreWorkflowExecutionPhaseTIMED_OUT CoreWorkflowExecutionPhase = "TIMED_OUT" - CoreWorkflowExecutionPhaseABORTING CoreWorkflowExecutionPhase = "ABORTING" + CoreWorkflowExecutionPhaseSUCCEEDED CoreWorkflowExecutionPhase = "SUCCEEDED" + CoreWorkflowExecutionPhaseFAILING CoreWorkflowExecutionPhase = "FAILING" + CoreWorkflowExecutionPhaseFAILED CoreWorkflowExecutionPhase = "FAILED" + CoreWorkflowExecutionPhaseABORTED CoreWorkflowExecutionPhase = "ABORTED" + CoreWorkflowExecutionPhaseTIMED_OUT CoreWorkflowExecutionPhase = "TIMED_OUT" + CoreWorkflowExecutionPhaseABORTING CoreWorkflowExecutionPhase = "ABORTING" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go index 9761a3abc4..4147e1babf 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go @@ -15,5 +15,5 @@ type CoreWorkflowMetadata struct { QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` // Defines how the system should behave when a failure is detected in the workflow execution. OnFailure *WorkflowMetadataOnFailurePolicy `json:"on_failure,omitempty"` - Tags map[string]string `json:"tags,omitempty"` + Tags map[string]string `json:"tags,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go index 42b07706aa..01f56e0571 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go @@ -12,6 +12,6 @@ package flyteadmin // Refers to a the workflow the node is to execute. type CoreWorkflowNode struct { // A globally unique identifier for the launch plan. - LaunchplanRef *CoreIdentifier `json:"launchplan_ref,omitempty"` + LaunchplanRef *CoreIdentifier `json:"launchplan_ref,omitempty"` SubWorkflowRef *CoreIdentifier `json:"sub_workflow_ref,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go index 377a19bf82..8ceba64866 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go @@ -22,6 +22,6 @@ type CoreWorkflowTemplate struct { // A list of output bindings that specify how to construct workflow outputs. Bindings can pull node outputs or specify literals. All workflow outputs specified in the interface field must be bound in order for the workflow to be validated. A workflow has an implicit dependency on all of its nodes to execute successfully in order to bind final outputs. Most of these outputs will be Binding's with a BindingData of type OutputReference. That is, your workflow can just have an output of some constant (`Output(5)`), but usually, the workflow will be pulling outputs from the output of a task. Outputs []CoreBinding `json:"outputs,omitempty"` // +optional A catch-all node. This node is executed whenever the execution engine determines the workflow has failed. The interface of this node must match the Workflow interface with an additional input named 'error' of type pb.lyft.flyte.core.Error. - FailureNode *CoreNode `json:"failure_node,omitempty"` + FailureNode *CoreNode `json:"failure_node,omitempty"` MetadataDefaults *CoreWorkflowMetadataDefaults `json:"metadata_defaults,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go index bfb25fd456..f63e8685f4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go @@ -8,12 +8,13 @@ */ package flyteadmin + // DataLoadingConfigLiteralMapFormat : - JSON: JSON / YAML for the metadata (which contains inlined primitive values). The representation is inline with the standard json specification as specified - https://www.json.org/json-en.html - PROTO: Proto is a serialized binary of `core.LiteralMap` defined in flyteidl/core type DataLoadingConfigLiteralMapFormat string // List of DataLoadingConfigLiteralMapFormat const ( - DataLoadingConfigLiteralMapFormatJSON DataLoadingConfigLiteralMapFormat = "JSON" - DataLoadingConfigLiteralMapFormatYAML DataLoadingConfigLiteralMapFormat = "YAML" + DataLoadingConfigLiteralMapFormatJSON DataLoadingConfigLiteralMapFormat = "JSON" + DataLoadingConfigLiteralMapFormatYAML DataLoadingConfigLiteralMapFormat = "YAML" DataLoadingConfigLiteralMapFormatPROTO DataLoadingConfigLiteralMapFormat = "PROTO" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go index 2f85376781..8a5ec617ff 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go @@ -14,6 +14,6 @@ import ( ) type EventEventReason struct { - Reason string `json:"reason,omitempty"` + Reason string `json:"reason,omitempty"` OccurredAt time.Time `json:"occurred_at,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go index 8daa059ed9..0b9f2deb29 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go @@ -14,10 +14,10 @@ type EventExternalResourceInfo struct { // Identifier for an external resource created by this task execution, for example Qubole query ID or presto query ids. ExternalId string `json:"external_id,omitempty"` // A unique index for the external resource with respect to all external resources for this task. Although the identifier may change between task reporting events or retries, this will remain the same to enable aggregating information from multiple reports. - Index int64 `json:"index,omitempty"` - RetryAttempt int64 `json:"retry_attempt,omitempty"` - Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` + Index int64 `json:"index,omitempty"` + RetryAttempt int64 `json:"retry_attempt,omitempty"` + Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` // Captures the status of caching for this external resource execution. CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` - Logs []CoreTaskLog `json:"logs,omitempty"` + Logs []CoreTaskLog `json:"logs,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go index b51a55ff0a..7d915a48c8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go @@ -14,36 +14,36 @@ import ( ) type EventNodeExecutionEvent struct { - Id *CoreNodeExecutionIdentifier `json:"id,omitempty"` - ProducerId string `json:"producer_id,omitempty"` - Phase *CoreNodeExecutionPhase `json:"phase,omitempty"` + Id *CoreNodeExecutionIdentifier `json:"id,omitempty"` + ProducerId string `json:"producer_id,omitempty"` + Phase *CoreNodeExecutionPhase `json:"phase,omitempty"` // This timestamp represents when the original event occurred, it is generated by the executor of the node. - OccurredAt time.Time `json:"occurred_at,omitempty"` - InputUri string `json:"input_uri,omitempty"` + OccurredAt time.Time `json:"occurred_at,omitempty"` + InputUri string `json:"input_uri,omitempty"` DeprecatedInputData *CoreLiteralMap `json:"deprecated_input_data,omitempty"` // Raw input data consumed by this node execution. InputData *CoreInputData `json:"input_data,omitempty"` // URL to the output of the execution, it encodes all the information including Cloud source provider. ie., s3://... - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` - DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` + DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` // Raw output data produced by this workflow execution. - OutputData *CoreOutputData `json:"output_data,omitempty"` + OutputData *CoreOutputData `json:"output_data,omitempty"` WorkflowNodeMetadata *FlyteidleventWorkflowNodeMetadata `json:"workflow_node_metadata,omitempty"` - TaskNodeMetadata *FlyteidleventTaskNodeMetadata `json:"task_node_metadata,omitempty"` + TaskNodeMetadata *FlyteidleventTaskNodeMetadata `json:"task_node_metadata,omitempty"` // [To be deprecated] Specifies which task (if any) launched this node. ParentTaskMetadata *EventParentTaskExecutionMetadata `json:"parent_task_metadata,omitempty"` // Specifies the parent node of the current node execution. Node executions at level zero will not have a parent node. ParentNodeMetadata *EventParentNodeExecutionMetadata `json:"parent_node_metadata,omitempty"` - RetryGroup string `json:"retry_group,omitempty"` - SpecNodeId string `json:"spec_node_id,omitempty"` - NodeName string `json:"node_name,omitempty"` - EventVersion int32 `json:"event_version,omitempty"` + RetryGroup string `json:"retry_group,omitempty"` + SpecNodeId string `json:"spec_node_id,omitempty"` + NodeName string `json:"node_name,omitempty"` + EventVersion int32 `json:"event_version,omitempty"` // Whether this node launched a subworkflow. IsParent bool `json:"is_parent,omitempty"` // Whether this node yielded a dynamic workflow. - IsDynamic bool `json:"is_dynamic,omitempty"` - DeckUri string `json:"deck_uri,omitempty"` + IsDynamic bool `json:"is_dynamic,omitempty"` + DeckUri string `json:"deck_uri,omitempty"` // This timestamp represents the instant when the event was reported by the executing framework. For example, when first processing a node the `occurred_at` timestamp should be the instant propeller makes progress, so when literal inputs are initially copied. The event however will not be sent until after the copy completes. Extracting both of these timestamps facilitates a more accurate portrayal of the evaluation time-series. ReportedAt time.Time `json:"reported_at,omitempty"` // Indicates if this node is an ArrayNode. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go index b2a1a8987a..217fc13590 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go @@ -16,23 +16,23 @@ import ( // Plugin specific execution event information. For tasks like Python, Hive, Spark, DynamicJob. type EventTaskExecutionEvent struct { // ID of the task. In combination with the retryAttempt this will indicate the task execution uniquely for a given parent node execution. - TaskId *CoreIdentifier `json:"task_id,omitempty"` + TaskId *CoreIdentifier `json:"task_id,omitempty"` ParentNodeExecutionId *CoreNodeExecutionIdentifier `json:"parent_node_execution_id,omitempty"` - RetryAttempt int64 `json:"retry_attempt,omitempty"` - Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` - ProducerId string `json:"producer_id,omitempty"` - Logs []CoreTaskLog `json:"logs,omitempty"` + RetryAttempt int64 `json:"retry_attempt,omitempty"` + Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` + ProducerId string `json:"producer_id,omitempty"` + Logs []CoreTaskLog `json:"logs,omitempty"` // This timestamp represents when the original event occurred, it is generated by the executor of the task. OccurredAt time.Time `json:"occurred_at,omitempty"` // URI of the input file, it encodes all the information including Cloud source provider. ie., s3://... - InputUri string `json:"input_uri,omitempty"` + InputUri string `json:"input_uri,omitempty"` DeprecatedInputData *CoreLiteralMap `json:"deprecated_input_data,omitempty"` // Raw input data consumed by this node execution. InputData *CoreInputData `json:"input_data,omitempty"` // URI to the output of the execution, it will be in a format that encodes all the information including Cloud source provider. ie., s3://... - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` - DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` + DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` // Raw output data produced by this workflow execution. OutputData *CoreOutputData `json:"output_data,omitempty"` // Custom data that the task plugin sends back. This is extensible to allow various plugins in the system. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go index 5a5bc2a440..4220d45bd8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go @@ -15,15 +15,15 @@ import ( type EventWorkflowExecutionEvent struct { ExecutionId *CoreWorkflowExecutionIdentifier `json:"execution_id,omitempty"` - ProducerId string `json:"producer_id,omitempty"` - Phase *CoreWorkflowExecutionPhase `json:"phase,omitempty"` + ProducerId string `json:"producer_id,omitempty"` + Phase *CoreWorkflowExecutionPhase `json:"phase,omitempty"` // This timestamp represents when the original event occurred, it is generated by the executor of the workflow. OccurredAt time.Time `json:"occurred_at,omitempty"` // URL to the output of the execution, it encodes all the information including Cloud source provider. ie., s3://... - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` - DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` + DeprecatedOutputData *CoreLiteralMap `json:"deprecated_output_data,omitempty"` // Raw output data produced by this workflow execution. - OutputData *CoreOutputData `json:"output_data,omitempty"` - EventVersion int32 `json:"event_version,omitempty"` + OutputData *CoreOutputData `json:"output_data,omitempty"` + EventVersion int32 `json:"event_version,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go index fa2eb9e95e..6958ad770b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go @@ -14,6 +14,6 @@ type ExecutionErrorErrorKind string // List of ExecutionErrorErrorKind const ( ExecutionErrorErrorKindUNKNOWN ExecutionErrorErrorKind = "UNKNOWN" - ExecutionErrorErrorKindUSER ExecutionErrorErrorKind = "USER" - ExecutionErrorErrorKindSYSTEM ExecutionErrorErrorKind = "SYSTEM" + ExecutionErrorErrorKindUSER ExecutionErrorErrorKind = "USER" + ExecutionErrorErrorKindSYSTEM ExecutionErrorErrorKind = "SYSTEM" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go index 000c4da4c6..acc8c6bf69 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go @@ -8,15 +8,16 @@ */ package flyteadmin + // ExecutionMetadataExecutionMode : The method by which this execution was launched. - MANUAL: The default execution mode, MANUAL implies that an execution was launched by an individual. - SCHEDULED: A schedule triggered this execution launch. - SYSTEM: A system process was responsible for launching this execution rather an individual. - RELAUNCH: This execution was launched with identical inputs as a previous execution. - CHILD_WORKFLOW: This execution was triggered by another execution. - RECOVERED: This execution was recovered from another execution. type ExecutionMetadataExecutionMode string // List of ExecutionMetadataExecutionMode const ( - ExecutionMetadataExecutionModeMANUAL ExecutionMetadataExecutionMode = "MANUAL" - ExecutionMetadataExecutionModeSCHEDULED ExecutionMetadataExecutionMode = "SCHEDULED" - ExecutionMetadataExecutionModeSYSTEM ExecutionMetadataExecutionMode = "SYSTEM" - ExecutionMetadataExecutionModeRELAUNCH ExecutionMetadataExecutionMode = "RELAUNCH" + ExecutionMetadataExecutionModeMANUAL ExecutionMetadataExecutionMode = "MANUAL" + ExecutionMetadataExecutionModeSCHEDULED ExecutionMetadataExecutionMode = "SCHEDULED" + ExecutionMetadataExecutionModeSYSTEM ExecutionMetadataExecutionMode = "SYSTEM" + ExecutionMetadataExecutionModeRELAUNCH ExecutionMetadataExecutionMode = "RELAUNCH" ExecutionMetadataExecutionModeCHILD_WORKFLOW ExecutionMetadataExecutionMode = "CHILD_WORKFLOW" - ExecutionMetadataExecutionModeRECOVERED ExecutionMetadataExecutionMode = "RECOVERED" + ExecutionMetadataExecutionModeRECOVERED ExecutionMetadataExecutionMode = "RECOVERED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go index 98ec72e86b..7ee8bcb82e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go @@ -16,6 +16,6 @@ type FlyteidladminNodeExecution struct { // Path to remote data store where input blob is stored. InputUri string `json:"input_uri,omitempty"` // Computed results associated with this node execution. - Closure *AdminNodeExecutionClosure `json:"closure,omitempty"` + Closure *AdminNodeExecutionClosure `json:"closure,omitempty"` Metadata *AdminNodeExecutionMetaData `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go index ab5fca2a45..507033a5ed 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go @@ -10,6 +10,6 @@ package flyteadmin type FlyteidladminTaskCreateRequest struct { - Id *CoreIdentifier `json:"id,omitempty"` - Spec *AdminTaskSpec `json:"spec,omitempty"` + Id *CoreIdentifier `json:"id,omitempty"` + Spec *AdminTaskSpec `json:"spec,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go index 56d98b26d1..7e24dd89a1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go @@ -11,7 +11,7 @@ package flyteadmin type FlyteidladminTaskNodeMetadata struct { // Captures the status of caching for this execution. - CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` - CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` - CheckpointUri string `json:"checkpoint_uri,omitempty"` + CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` + CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` + CheckpointUri string `json:"checkpoint_uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go index 71d474ab41..aa12b33c61 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go @@ -18,6 +18,6 @@ type FlyteidleventTaskExecutionMetadata struct { // Includes additional data on concurrent resource management used during execution.. This is a repeated field because a plugin can request multiple resource allocations during execution. ResourcePoolInfo []EventResourcePoolInfo `json:"resource_pool_info,omitempty"` // The identifier of the plugin used to execute this task. - PluginIdentifier string `json:"plugin_identifier,omitempty"` - InstanceClass *TaskExecutionMetadataInstanceClass `json:"instance_class,omitempty"` + PluginIdentifier string `json:"plugin_identifier,omitempty"` + InstanceClass *TaskExecutionMetadataInstanceClass `json:"instance_class,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go index 50a76526b3..82826c00b0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go @@ -12,10 +12,10 @@ package flyteadmin type FlyteidleventTaskNodeMetadata struct { // Captures the status of caching for this execution. CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` - CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` + CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` // Captures the status of cache reservations for this execution. ReservationStatus *CatalogReservationStatus `json:"reservation_status,omitempty"` - CheckpointUri string `json:"checkpoint_uri,omitempty"` + CheckpointUri string `json:"checkpoint_uri,omitempty"` // In the case this task launched a dynamic workflow we capture its structure here. DynamicWorkflow *FlyteidleventDynamicWorkflowNodeMetadata `json:"dynamic_workflow,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go index 670fc15294..b330b904c4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go @@ -8,12 +8,13 @@ */ package flyteadmin + // IoStrategyDownloadMode : - DOWNLOAD_EAGER: All data will be downloaded before the main container is executed - DOWNLOAD_STREAM: Data will be downloaded as a stream and an End-Of-Stream marker will be written to indicate all data has been downloaded. Refer to protocol for details - DO_NOT_DOWNLOAD: Large objects (offloaded) will not be downloaded type IoStrategyDownloadMode string // List of IOStrategyDownloadMode const ( - IoStrategyDownloadModeDOWNLOAD_EAGER IoStrategyDownloadMode = "DOWNLOAD_EAGER" + IoStrategyDownloadModeDOWNLOAD_EAGER IoStrategyDownloadMode = "DOWNLOAD_EAGER" IoStrategyDownloadModeDOWNLOAD_STREAM IoStrategyDownloadMode = "DOWNLOAD_STREAM" IoStrategyDownloadModeDO_NOT_DOWNLOAD IoStrategyDownloadMode = "DO_NOT_DOWNLOAD" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go index d7b6e5f1fe..39bd91f4a0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go @@ -8,12 +8,13 @@ */ package flyteadmin + // IoStrategyUploadMode : - UPLOAD_ON_EXIT: All data will be uploaded after the main container exits - UPLOAD_EAGER: Data will be uploaded as it appears. Refer to protocol specification for details - DO_NOT_UPLOAD: Data will not be uploaded, only references will be written type IoStrategyUploadMode string // List of IOStrategyUploadMode const ( IoStrategyUploadModeUPLOAD_ON_EXIT IoStrategyUploadMode = "UPLOAD_ON_EXIT" - IoStrategyUploadModeUPLOAD_EAGER IoStrategyUploadMode = "UPLOAD_EAGER" - IoStrategyUploadModeDO_NOT_UPLOAD IoStrategyUploadMode = "DO_NOT_UPLOAD" + IoStrategyUploadModeUPLOAD_EAGER IoStrategyUploadMode = "UPLOAD_EAGER" + IoStrategyUploadModeDO_NOT_UPLOAD IoStrategyUploadMode = "DO_NOT_UPLOAD" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go index 2c8ff10df0..e39a5c4181 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go @@ -8,11 +8,12 @@ */ package flyteadmin + // PluginOverrideMissingPluginBehavior : - FAIL: By default, if this plugin is not enabled for a Flyte deployment then execution will fail. - USE_DEFAULT: Uses the system-configured default implementation. type PluginOverrideMissingPluginBehavior string // List of PluginOverrideMissingPluginBehavior const ( - PluginOverrideMissingPluginBehaviorFAIL PluginOverrideMissingPluginBehavior = "FAIL" + PluginOverrideMissingPluginBehaviorFAIL PluginOverrideMissingPluginBehavior = "FAIL" PluginOverrideMissingPluginBehaviorUSE_DEFAULT PluginOverrideMissingPluginBehavior = "USE_DEFAULT" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go index 112958abfa..12c6095dc7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go @@ -8,12 +8,13 @@ */ package flyteadmin + // ProjectProjectState : The state of the project is used to control its visibility in the UI and validity. - ACTIVE: By default, all projects are considered active. - ARCHIVED: Archived projects are no longer visible in the UI and no longer valid. - SYSTEM_GENERATED: System generated projects that aren't explicitly created or managed by a user. type ProjectProjectState string // List of ProjectProjectState const ( - ProjectProjectStateACTIVE ProjectProjectState = "ACTIVE" - ProjectProjectStateARCHIVED ProjectProjectState = "ARCHIVED" + ProjectProjectStateACTIVE ProjectProjectState = "ACTIVE" + ProjectProjectStateARCHIVED ProjectProjectState = "ARCHIVED" ProjectProjectStateSYSTEM_GENERATED ProjectProjectState = "SYSTEM_GENERATED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go index b7bb2d3e80..1eb323f308 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go @@ -8,6 +8,7 @@ */ package flyteadmin + // ProtobufNullValue : `NullValue` is a singleton enumeration to represent the null value for the `Value` type union. The JSON representation for `NullValue` is JSON `null`. - NULL_VALUE: Null value. type ProtobufNullValue string diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go index b156cc3b7e..bc006a5085 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go @@ -8,13 +8,14 @@ */ package flyteadmin + // QualityOfServiceTier : - UNDEFINED: Default: no quality of service specified. type QualityOfServiceTier string // List of QualityOfServiceTier const ( QualityOfServiceTierUNDEFINED QualityOfServiceTier = "UNDEFINED" - QualityOfServiceTierHIGH QualityOfServiceTier = "HIGH" - QualityOfServiceTierMEDIUM QualityOfServiceTier = "MEDIUM" - QualityOfServiceTierLOW QualityOfServiceTier = "LOW" + QualityOfServiceTierHIGH QualityOfServiceTier = "HIGH" + QualityOfServiceTierMEDIUM QualityOfServiceTier = "MEDIUM" + QualityOfServiceTierLOW QualityOfServiceTier = "LOW" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go index cb02920221..e4c77cb7c8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go @@ -12,6 +12,6 @@ package flyteadmin // Encapsulates a resource name and value. type ResourcesResourceEntry struct { // Resource name. - Name *ResourcesResourceName `json:"name,omitempty"` - Value string `json:"value,omitempty"` + Name *ResourcesResourceName `json:"name,omitempty"` + Value string `json:"value,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go index 13b9f8b236..b8bc37546f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go @@ -8,15 +8,16 @@ */ package flyteadmin + // ResourcesResourceName : Known resource names. - EPHEMERAL_STORAGE: For Kubernetes-based deployments, pods use ephemeral local storage for scratch space, caching, and for logs. type ResourcesResourceName string // List of ResourcesResourceName const ( - ResourcesResourceNameUNKNOWN ResourcesResourceName = "UNKNOWN" - ResourcesResourceNameCPU ResourcesResourceName = "CPU" - ResourcesResourceNameGPU ResourcesResourceName = "GPU" - ResourcesResourceNameMEMORY ResourcesResourceName = "MEMORY" - ResourcesResourceNameSTORAGE ResourcesResourceName = "STORAGE" + ResourcesResourceNameUNKNOWN ResourcesResourceName = "UNKNOWN" + ResourcesResourceNameCPU ResourcesResourceName = "CPU" + ResourcesResourceNameGPU ResourcesResourceName = "GPU" + ResourcesResourceNameMEMORY ResourcesResourceName = "MEMORY" + ResourcesResourceNameSTORAGE ResourcesResourceName = "STORAGE" ResourcesResourceNameEPHEMERAL_STORAGE ResourcesResourceName = "EPHEMERAL_STORAGE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go index 85abd1fbcc..798b8b6784 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go @@ -13,6 +13,6 @@ type RuntimeMetadataRuntimeType string // List of RuntimeMetadataRuntimeType const ( - RuntimeMetadataRuntimeTypeOTHER RuntimeMetadataRuntimeType = "OTHER" + RuntimeMetadataRuntimeTypeOTHER RuntimeMetadataRuntimeType = "OTHER" RuntimeMetadataRuntimeTypeFLYTE_SDK RuntimeMetadataRuntimeType = "FLYTE_SDK" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go index ece75c9671..dd183d0843 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go @@ -13,10 +13,10 @@ type SchemaColumnSchemaColumnType string // List of SchemaColumnSchemaColumnType const ( - SchemaColumnSchemaColumnTypeINTEGER SchemaColumnSchemaColumnType = "INTEGER" - SchemaColumnSchemaColumnTypeFLOAT SchemaColumnSchemaColumnType = "FLOAT" - SchemaColumnSchemaColumnTypeSTRING_ SchemaColumnSchemaColumnType = "STRING" - SchemaColumnSchemaColumnTypeBOOLEAN SchemaColumnSchemaColumnType = "BOOLEAN" + SchemaColumnSchemaColumnTypeINTEGER SchemaColumnSchemaColumnType = "INTEGER" + SchemaColumnSchemaColumnTypeFLOAT SchemaColumnSchemaColumnType = "FLOAT" + SchemaColumnSchemaColumnTypeSTRING_ SchemaColumnSchemaColumnType = "STRING" + SchemaColumnSchemaColumnTypeBOOLEAN SchemaColumnSchemaColumnType = "BOOLEAN" SchemaColumnSchemaColumnTypeDATETIME SchemaColumnSchemaColumnType = "DATETIME" SchemaColumnSchemaColumnTypeDURATION SchemaColumnSchemaColumnType = "DURATION" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go index 4f76410bc7..4d0675052c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go @@ -8,12 +8,13 @@ */ package flyteadmin + // SecretMountType : - ANY: Default case, indicates the client can tolerate either mounting options. - ENV_VAR: ENV_VAR indicates the secret needs to be mounted as an environment variable. - FILE: FILE indicates the secret needs to be mounted as a file. type SecretMountType string // List of SecretMountType const ( - SecretMountTypeANY SecretMountType = "ANY" + SecretMountTypeANY SecretMountType = "ANY" SecretMountTypeENV_VAR SecretMountType = "ENV_VAR" - SecretMountTypeFILE SecretMountType = "FILE" + SecretMountTypeFILE SecretMountType = "FILE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go index bc5e709b53..5e8684503e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go @@ -8,11 +8,12 @@ */ package flyteadmin + // SortDirection : - DESCENDING: By default, fields are sorted in descending order. type SortDirection string // List of SortDirection const ( SortDirectionDESCENDING SortDirection = "DESCENDING" - SortDirectionASCENDING SortDirection = "ASCENDING" + SortDirectionASCENDING SortDirection = "ASCENDING" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go index 4f3e1a661a..d6ae9ce5c1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go @@ -8,13 +8,14 @@ */ package flyteadmin + // SqlDialect : The dialect of the SQL statement. This is used to validate and parse SQL statements at compilation time to avoid expensive runtime operations. If set to an unsupported dialect, no validation will be done on the statement. We support the following dialect: ansi, hive. type SqlDialect string // List of SqlDialect const ( SqlDialectUNDEFINED SqlDialect = "UNDEFINED" - SqlDialectANSI SqlDialect = "ANSI" - SqlDialectHIVE SqlDialect = "HIVE" - SqlDialectOTHER SqlDialect = "OTHER" + SqlDialectANSI SqlDialect = "ANSI" + SqlDialectHIVE SqlDialect = "HIVE" + SqlDialectOTHER SqlDialect = "OTHER" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go index efff48b058..b5552c8c6e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go @@ -8,11 +8,12 @@ */ package flyteadmin + // TaskExecutionMetadataInstanceClass : Includes the broad category of machine used for this specific task execution. - DEFAULT: The default instance class configured for the flyte application platform. - INTERRUPTIBLE: The instance class configured for interruptible tasks. type TaskExecutionMetadataInstanceClass string // List of TaskExecutionMetadataInstanceClass const ( - TaskExecutionMetadataInstanceClassDEFAULT_ TaskExecutionMetadataInstanceClass = "DEFAULT" + TaskExecutionMetadataInstanceClassDEFAULT_ TaskExecutionMetadataInstanceClass = "DEFAULT" TaskExecutionMetadataInstanceClassINTERRUPTIBLE TaskExecutionMetadataInstanceClass = "INTERRUPTIBLE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go index 46eab08cba..75d9e7a78c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go @@ -14,6 +14,6 @@ type TaskLogMessageFormat string // List of TaskLogMessageFormat const ( TaskLogMessageFormatUNKNOWN TaskLogMessageFormat = "UNKNOWN" - TaskLogMessageFormatCSV TaskLogMessageFormat = "CSV" - TaskLogMessageFormatJSON TaskLogMessageFormat = "JSON" + TaskLogMessageFormatCSV TaskLogMessageFormat = "CSV" + TaskLogMessageFormatJSON TaskLogMessageFormat = "JSON" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go index 81379f25c6..64efb21dc1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go @@ -8,11 +8,12 @@ */ package flyteadmin + // WorkflowMetadataOnFailurePolicy : - FAIL_IMMEDIATELY: FAIL_IMMEDIATELY instructs the system to fail as soon as a node fails in the workflow. It'll automatically abort all currently running nodes and clean up resources before finally marking the workflow executions as failed. - FAIL_AFTER_EXECUTABLE_NODES_COMPLETE: FAIL_AFTER_EXECUTABLE_NODES_COMPLETE instructs the system to make as much progress as it can. The system will not alter the dependencies of the execution graph so any node that depend on the failed node will not be run. Other nodes that will be executed to completion before cleaning up resources and marking the workflow execution as failed. type WorkflowMetadataOnFailurePolicy string // List of WorkflowMetadataOnFailurePolicy const ( - WorkflowMetadataOnFailurePolicyIMMEDIATELY WorkflowMetadataOnFailurePolicy = "FAIL_IMMEDIATELY" + WorkflowMetadataOnFailurePolicyIMMEDIATELY WorkflowMetadataOnFailurePolicy = "FAIL_IMMEDIATELY" WorkflowMetadataOnFailurePolicyAFTER_EXECUTABLE_NODES_COMPLETE WorkflowMetadataOnFailurePolicy = "FAIL_AFTER_EXECUTABLE_NODES_COMPLETE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go b/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go index e99fbf81ef..7268a9afa5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go @@ -6,13 +6,14 @@ package service import ( context "context" fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go index 95b24e6392..0c1adc0c22 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go +++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. (@generated) DO NOT EDIT. - //Package service generated by go-bindata.// sources: +// Package service generated by go-bindata.// sources: // ../service/admin.swagger.json package service @@ -157,11 +157,13 @@ var _bindata = map[string]func() (*asset, error){ // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the // following hierarchy: -// data/ -// foo.txt -// img/ -// a.png -// b.png +// +// data/ +// foo.txt +// img/ +// a.png +// b.png +// // then AssetDir("data") would return []string{"foo.txt", "img"} // AssetDir("data/img") would return []string{"a.png", "b.png"} // AssetDir("foo.txt") and AssetDir("notexist") would return an error diff --git a/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go b/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go index 02d6a8c7be..5a38bf8ab8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go @@ -6,13 +6,14 @@ package service import ( context "context" fmt "fmt" + math "math" + admin "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" - math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go index a42bd24062..c69bb59cbf 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go @@ -21,13 +21,13 @@ package template import ( "context" "fmt" - "k8s.io/apimachinery/pkg/util/version" "reflect" "regexp" "strings" "github.com/golang/protobuf/ptypes" "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/util/version" idlCore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" @@ -130,7 +130,7 @@ func render(ctx context.Context, inputTemplate string, params Parameters, perRet // itself will upload the input (can be expensive) to the remote location if inputFileRegex.MatchString(val) { useNewFormat := true - if params.Runtime.GetType() == idlCore.RuntimeMetadata_FLYTE_SDK { + if params.Runtime != nil && params.Runtime.GetType() == idlCore.RuntimeMetadata_FLYTE_SDK { v, err := version.ParseSemantic(params.Runtime.GetVersion()) if err != nil { logger.Warnf(ctx, "Failed to parse version [%v] to determine the input path behavior. Proceeding with InputDataWrapper format.", params.Runtime.GetVersion()) diff --git a/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go b/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go index 0baff91eaf..4324d6871d 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/template/template_test.go @@ -98,6 +98,7 @@ func TestReplaceTemplateCommandArgs(t *testing.T) { Inputs: in, OutputPath: out, Task: nil, + Runtime: &core.RuntimeMetadata{}, } t.Run("nothing to substitute", func(t *testing.T) { actual, err := Render(context.TODO(), []string{ @@ -134,6 +135,7 @@ func TestReplaceTemplateCommandArgs(t *testing.T) { Inputs: in, OutputPath: out, Task: nil, + Runtime: &core.RuntimeMetadata{}, } actual, err := Render(context.TODO(), []string{ "hello", @@ -214,6 +216,7 @@ func TestReplaceTemplateCommandArgs(t *testing.T) { Inputs: in, OutputPath: out, Task: nil, + Runtime: &core.RuntimeMetadata{}, } actual, err := Render(context.TODO(), []string{ "hello", @@ -470,6 +473,7 @@ func TestReplaceTemplateCommandArgs(t *testing.T) { prevCheckpointPath: "s3://prev-checkpoint/prefix", checkpointPath: "s3://new-checkpoint/prefix", }, + Runtime: &core.RuntimeMetadata{}, } actual, err := Render(context.TODO(), []string{ "hello", @@ -496,6 +500,7 @@ func TestReplaceTemplateCommandArgs(t *testing.T) { prevCheckpointPath: "", checkpointPath: "s3://new-checkpoint/prefix", }, + Runtime: &core.RuntimeMetadata{}, } actual, err := Render(context.TODO(), []string{ "hello", @@ -526,6 +531,7 @@ func TestReplaceTemplateCommandArgs(t *testing.T) { prevCheckpointPath: "s3://prev-checkpoint/prefix", checkpointPath: "s3://new-checkpoint/prefix", }, + Runtime: &core.RuntimeMetadata{}, } actual, err := Render(context.TODO(), []string{ "hello", diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go index 82597b5e36..d18d635cc0 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go @@ -2,13 +2,13 @@ package flytek8s import ( "context" - idlcore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/rand" "k8s.io/apimachinery/pkg/util/validation" + idlcore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/errors" pluginscore "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core/template" diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go index 77cf6a561c..434bb4e277 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper_test.go @@ -465,6 +465,7 @@ func getTemplateParametersForTest(resourceRequirements, platformResources *v1.Re mockInputReader := mocks2.InputReader{} mockInputPath := storage.DataReference("s3://input/path") mockInputReader.OnGetInputDataPath().Return(mockInputPath) + mockInputReader.OnGetInputPathMatch(mock.Anything).Return(mockInputPath, nil) mockInputReader.OnGetInputPrefixPath().Return(mockInputPath) mockInputReader.On("Get", mock.Anything).Return(nil, nil) @@ -479,6 +480,7 @@ func getTemplateParametersForTest(resourceRequirements, platformResources *v1.Re TaskExecMetadata: &mockTaskExecMetadata, Inputs: &mockInputReader, OutputPath: &mockOutputPath, + Runtime: &core.RuntimeMetadata{}, } } @@ -493,7 +495,7 @@ func TestAddFlyteCustomizationsToContainer(t *testing.T) { }, nil) container := &v1.Container{ Command: []string{ - "{{ .InputData }}", + "{{ .Input }}", }, Args: []string{ "{{ .OutputPrefix }}", @@ -501,8 +503,8 @@ func TestAddFlyteCustomizationsToContainer(t *testing.T) { } err := AddFlyteCustomizationsToContainer(context.TODO(), templateParameters, ResourceCustomizationModeAssignResources, container) assert.NoError(t, err) - assert.EqualValues(t, container.Args, []string{"s3://output/path"}) - assert.EqualValues(t, container.Command, []string{"s3://input/path"}) + assert.EqualValues(t, []string{"s3://output/path"}, container.Args) + assert.EqualValues(t, []string{"s3://input/path"}, container.Command) assert.Len(t, container.Resources.Limits, 3) assert.Len(t, container.Resources.Requests, 3) assert.Len(t, container.Env, 12) diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go index e2c0395bdf..7150fa2959 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/pod_helper_test.go @@ -74,6 +74,7 @@ func dummyTaskTemplate() *core.TaskTemplate { func dummyInputReader() io.InputReader { inputReader := &pluginsIOMock.InputReader{} inputReader.OnGetInputDataPath().Return(storage.DataReference("test-data-reference")) + inputReader.OnGetInputPathMatch(mock.Anything).Return("test-data-reference", nil) inputReader.OnGetInputPrefixPath().Return(storage.DataReference("test-data-reference-prefix")) inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) return inputReader diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go index e75654d5b7..02f20b35bd 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/in_memory_output_reader_test.go @@ -2,11 +2,11 @@ package ioutils import ( "context" - "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" "testing" "github.com/stretchr/testify/assert" + "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" flyteIdlCore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flytestdlib/storage" ) @@ -14,8 +14,8 @@ import ( func TestInMemoryOutputReader(t *testing.T) { deckPath := storage.DataReference("s3://bucket/key") lt := &flyteIdlCore.OutputData{ - Outputs: coreutils.MustMakeLiteral(map[string]*flyteIdlCore.Literal{ - "results": { + Outputs: coreutils.MustMakeLiteral(map[string]any{ + "results": &flyteIdlCore.Literal{ Value: &flyteIdlCore.Literal_Scalar{ Scalar: &flyteIdlCore.Scalar{ Value: &flyteIdlCore.Scalar_Primitive{ diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go index b2ea1f4ec9..7d0d50520d 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader.go @@ -3,6 +3,7 @@ package ioutils import ( "context" "fmt" + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/io" "github.com/flyteorg/flyte/flytestdlib/errors" diff --git a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go index a8f26caff8..c3b88f1850 100644 --- a/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/ioutils/remote_file_input_reader_test.go @@ -1,11 +1,11 @@ package ioutils import ( - "github.com/flyteorg/flyte/flytestdlib/promutils" "testing" "github.com/stretchr/testify/assert" + "github.com/flyteorg/flyte/flytestdlib/promutils" "github.com/flyteorg/flyte/flytestdlib/storage" ) diff --git a/flyteplugins/go/tasks/pluginmachinery/k8s/client.go b/flyteplugins/go/tasks/pluginmachinery/k8s/client.go index aa2f740e36..062e08afc4 100644 --- a/flyteplugins/go/tasks/pluginmachinery/k8s/client.go +++ b/flyteplugins/go/tasks/pluginmachinery/k8s/client.go @@ -3,16 +3,15 @@ package k8s import ( - "context" "net/http" - "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/cache" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/apiutil" + + "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" ) type kubeClient struct { @@ -32,30 +31,6 @@ func newKubeClient(c client.Client, cache cache.Cache) core.KubeClient { return &kubeClient{client: c, cache: cache} } -type fallbackClientReader struct { - orderedClients []client.Reader -} - -func (c fallbackClientReader) Get(ctx context.Context, key client.ObjectKey, out client.Object) (err error) { - for _, k8sClient := range c.orderedClients { - if err = k8sClient.Get(ctx, key, out); err == nil { - return nil - } - } - - return -} - -func (c fallbackClientReader) List(ctx context.Context, list client.ObjectList, opts ...client.ListOption) (err error) { - for _, k8sClient := range c.orderedClients { - if err = k8sClient.List(ctx, list, opts...); err == nil { - return nil - } - } - - return -} - // ClientBuilder builder is the interface for the client builder. type ClientBuilder interface { // WithUncached takes a list of runtime objects (plain or lists) that users don't want to cache diff --git a/flyteplugins/go/tasks/plugins/array/catalog_test.go b/flyteplugins/go/tasks/plugins/array/catalog_test.go index 15a36a4dcf..dd4944c61a 100644 --- a/flyteplugins/go/tasks/plugins/array/catalog_test.go +++ b/flyteplugins/go/tasks/plugins/array/catalog_test.go @@ -133,7 +133,7 @@ func runDetermineDiscoverabilityTest(t testing.TB, taskTemplate *core.TaskTempla ir := &ioMocks.InputReader{} ir.OnGetInputPrefixPath().Return("/prefix/") - ir.On("Get", mock.Anything).Return(inputs, nil) + ir.On("Get", mock.Anything).Return(&core.InputData{Inputs: inputs}, nil) ow := &ioMocks.OutputWriter{} ow.OnGetOutputPrefixPath().Return("/prefix/") diff --git a/flyteplugins/go/tasks/plugins/array/inputs_test.go b/flyteplugins/go/tasks/plugins/array/inputs_test.go index 1d9e5d7236..383b08f0e3 100644 --- a/flyteplugins/go/tasks/plugins/array/inputs_test.go +++ b/flyteplugins/go/tasks/plugins/array/inputs_test.go @@ -9,15 +9,15 @@ import ( "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" pluginsCoreMock "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core/mocks" pluginsIOMock "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/io/mocks" - "github.com/flyteorg/flyte/flytestdlib/storage" ) func TestGetInputReader(t *testing.T) { inputReader := &pluginsIOMock.InputReader{} - inputReader.On("GetInputPrefixPath").Return(storage.DataReference("test-data-prefix")) - inputReader.On("GetInputPath").Return(storage.DataReference("test-data-reference")) - inputReader.On("Get", mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetInputPrefixPath().Return("test-data-prefix") + inputReader.OnGetInputPathMatch(mock.Anything).Return("test-data-reference", nil) + inputReader.OnGetInputDataPath().Return("test-data-reference") + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) t.Run("task_type_version == 0", func(t *testing.T) { taskCtx := &pluginsCoreMock.TaskExecutionContext{} @@ -26,7 +26,7 @@ func TestGetInputReader(t *testing.T) { inputReader := GetInputReader(taskCtx, &core.TaskTemplate{ TaskTypeVersion: 0, }) - assert.Equal(t, inputReader.GetInputDataPath().String(), "test-data-prefix") + assert.Equal(t, "test-data-prefix", inputReader.GetInputDataPath().String()) }) t.Run("task_type_version == 1", func(t *testing.T) { @@ -36,6 +36,6 @@ func TestGetInputReader(t *testing.T) { inputReader := GetInputReader(taskCtx, &core.TaskTemplate{ TaskTypeVersion: 1, }) - assert.Equal(t, inputReader.GetInputDataPath().String(), "test-data-reference") + assert.Equal(t, "test-data-reference", inputReader.GetInputDataPath().String()) }) } diff --git a/flyteplugins/go/tasks/plugins/array/k8s/integration_test.go b/flyteplugins/go/tasks/plugins/array/k8s/integration_test.go index 04623c2b47..d789aa7c48 100644 --- a/flyteplugins/go/tasks/plugins/array/k8s/integration_test.go +++ b/flyteplugins/go/tasks/plugins/array/k8s/integration_test.go @@ -11,6 +11,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" + core2 "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core/mocks" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/io" @@ -114,9 +115,11 @@ func advancePodPhases(ctx context.Context, store *storage.DataStore, outputWrite } err = store.WriteProtobuf(ctx, ref, storage.Options{}, - coreutils.MustMakeLiteral(map[string]interface{}{ - "x": 5, - }).GetMap()) + &core2.OutputData{ + Outputs: coreutils.MustMakeLiteral(map[string]interface{}{ + "x": 5, + }).GetMap(), + }) if err != nil { return err } diff --git a/flyteplugins/go/tasks/plugins/array/outputs_test.go b/flyteplugins/go/tasks/plugins/array/outputs_test.go index 2af6f540ee..2b3335a507 100644 --- a/flyteplugins/go/tasks/plugins/array/outputs_test.go +++ b/flyteplugins/go/tasks/plugins/array/outputs_test.go @@ -90,12 +90,14 @@ func Test_assembleOutputsWorker_Process(t *testing.T) { assert.NoError(t, err) assert.Equal(t, workqueue.WorkStatusSucceeded, actual) - actualOutputs := &core.LiteralMap{} + actualOutputs := &core.OutputData{} assert.NoError(t, memStore.ReadProtobuf(ctx, "/bucket/prefix/outputs.pb", actualOutputs)) - expected := coreutils.MustMakeLiteral(map[string]interface{}{ - "var1": []interface{}{}, - "var2": []interface{}{}, - }).GetMap() + expected := &core.OutputData{ + Outputs: coreutils.MustMakeLiteral(map[string]interface{}{ + "var1": []interface{}{}, + "var2": []interface{}{}, + }).GetMap(), + } expectedBytes, err := json.Marshal(expected) assert.NoError(t, err) @@ -119,8 +121,8 @@ func Test_assembleOutputsWorker_Process(t *testing.T) { "var1": 5, "var2": "hello world", }) - assert.NoError(t, memStore.WriteProtobuf(ctx, "/bucket/prefix/0/outputs.pb", storage.Options{}, l.GetMap())) - assert.NoError(t, memStore.WriteProtobuf(ctx, "/bucket/prefix/2/outputs.pb", storage.Options{}, l.GetMap())) + assert.NoError(t, memStore.WriteProtobuf(ctx, "/bucket/prefix/0/outputs.pb", storage.Options{}, &core.OutputData{Outputs: l.GetMap()})) + assert.NoError(t, memStore.WriteProtobuf(ctx, "/bucket/prefix/2/outputs.pb", storage.Options{}, &core.OutputData{Outputs: l.GetMap()})) // Setup the expected data to be written to outputWriter. ow := &mocks2.OutputWriter{} @@ -148,13 +150,15 @@ func Test_assembleOutputsWorker_Process(t *testing.T) { assert.NoError(t, err) assert.Equal(t, workqueue.WorkStatusSucceeded, actual) - actualOutputs := &core.LiteralMap{} + actualOutputs := &core.OutputData{} assert.NoError(t, memStore.ReadProtobuf(ctx, "/bucket/prefix/outputs.pb", actualOutputs)) // Since 2nd and 4th tasks failed, there should be nil literals in their expected places. - expected := coreutils.MustMakeLiteral(map[string]interface{}{ - "var1": []interface{}{5, nil, 5, nil}, - "var2": []interface{}{"hello world", nil, "hello world", nil}, - }).GetMap() + expected := &core.OutputData{ + Outputs: coreutils.MustMakeLiteral(map[string]any{ + "var1": []interface{}{5, nil, 5, nil}, + "var2": []interface{}{"hello world", nil, "hello world", nil}, + }).GetMap(), + } expectedBytes, err := json.Marshal(expected) assert.NoError(t, err) @@ -190,7 +194,7 @@ func Test_appendSubTaskOutput(t *testing.T) { } appendSubTaskOutput(actual, validOutputs, 1) - assert.Equal(t, actual, coreutils.MustMakeLiteral(expected).GetMap()) + assert.Equal(t, actual.GetOutputs(), coreutils.MustMakeLiteral(expected).GetMap()) }) t.Run("append to existing", func(t *testing.T) { @@ -207,7 +211,7 @@ func Test_appendSubTaskOutput(t *testing.T) { } appendSubTaskOutput(actual, validOutputs, 1) - assert.Equal(t, actual, expected) + assert.Equal(t, actual.GetOutputs(), expected) }) } diff --git a/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go b/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go index afdec80f9f..2c3d6f1758 100644 --- a/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/pod/container_test.go @@ -82,29 +82,29 @@ func dummyContainerTaskTemplateWithPodSpec(command []string, args []string) *cor func dummyContainerTaskMetadata(resources *v1.ResourceRequirements, extendedResources *core.ExtendedResources, returnsServiceAccount bool) pluginsCore.TaskExecutionMetadata { taskMetadata := &pluginsCoreMock.TaskExecutionMetadata{} - taskMetadata.On("GetNamespace").Return("test-namespace") - taskMetadata.On("GetAnnotations").Return(map[string]string{"annotation-1": "val1"}) - taskMetadata.On("GetLabels").Return(map[string]string{"label-1": "val1"}) - taskMetadata.On("GetOwnerReference").Return(metav1.OwnerReference{ + taskMetadata.OnGetNamespace().Return("test-namespace") + taskMetadata.OnGetAnnotations().Return(map[string]string{"annotation-1": "val1"}) + taskMetadata.OnGetLabels().Return(map[string]string{"label-1": "val1"}) + taskMetadata.OnGetOwnerReference().Return(metav1.OwnerReference{ Kind: "node", Name: "blah", }) if returnsServiceAccount { - taskMetadata.On("GetK8sServiceAccount").Return(serviceAccount) + taskMetadata.OnGetK8sServiceAccount().Return(serviceAccount) } else { - taskMetadata.On("GetK8sServiceAccount").Return("") + taskMetadata.OnGetK8sServiceAccount().Return("") } - taskMetadata.On("GetSecurityContext").Return(core.SecurityContext{ + taskMetadata.OnGetSecurityContext().Return(core.SecurityContext{ RunAs: &core.Identity{K8SServiceAccount: securityContextServiceAccount}, }) - taskMetadata.On("GetOwnerID").Return(types.NamespacedName{ + taskMetadata.OnGetOwnerID().Return(types.NamespacedName{ Namespace: "test-namespace", Name: "test-owner-name", }) taskMetadata.OnGetPlatformResources().Return(&v1.ResourceRequirements{}) tID := &pluginsCoreMock.TaskExecutionID{} - tID.On("GetID").Return(core.TaskExecutionIdentifier{ + tID.OnGetID().Return(core.TaskExecutionIdentifier{ NodeExecutionId: &core.NodeExecutionIdentifier{ ExecutionId: &core.WorkflowExecutionIdentifier{ Name: "my_name", @@ -113,15 +113,15 @@ func dummyContainerTaskMetadata(resources *v1.ResourceRequirements, extendedReso }, }, }) - tID.On("GetGeneratedName").Return("my_project:my_domain:my_name") - taskMetadata.On("GetTaskExecutionID").Return(tID) + tID.OnGetGeneratedName().Return("my_project:my_domain:my_name") + taskMetadata.OnGetTaskExecutionID().Return(tID) to := &pluginsCoreMock.TaskOverrides{} - to.On("GetResources").Return(resources) - to.On("GetExtendedResources").Return(extendedResources) - taskMetadata.On("GetOverrides").Return(to) - taskMetadata.On("IsInterruptible").Return(true) - taskMetadata.On("GetEnvironmentVariables").Return(nil) + to.OnGetResources().Return(resources) + to.OnGetExtendedResources().Return(extendedResources) + taskMetadata.OnGetOverrides().Return(to) + taskMetadata.OnIsInterruptible().Return(true) + taskMetadata.OnGetEnvironmentVariables().Return(nil) return taskMetadata } @@ -130,6 +130,7 @@ func dummyContainerTaskContext(taskTemplate *core.TaskTemplate, taskMetadata plu inputReader := &pluginsIOMock.InputReader{} inputReader.OnGetInputPrefixPath().Return("test-data-reference") inputReader.OnGetInputDataPath().Return("test-data-reference") + inputReader.OnGetInputPathMatch(mock.Anything).Return("test-data-reference", nil) inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) diff --git a/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go b/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go index d7aedf6c0a..5b499f1bb6 100644 --- a/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go +++ b/flyteplugins/go/tasks/plugins/k8s/pod/sidecar_test.go @@ -101,6 +101,7 @@ func getDummySidecarTaskContext(taskTemplate *core.TaskTemplate, resources *v1.R inputReader := &pluginsIOMock.InputReader{} inputReader.OnGetInputPrefixPath().Return("test-data-prefix") inputReader.OnGetInputDataPath().Return("test-data-reference") + inputReader.OnGetInputPathMatch(mock.Anything).Return("test-data-reference", nil) inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) taskCtx.OnInputReader().Return(inputReader) @@ -208,6 +209,12 @@ func TestBuildSidecarResource_TaskType2(t *testing.T) { Config: map[string]string{ flytek8s.PrimaryContainerKey: "primary container", }, + Metadata: &core.TaskMetadata{ + Runtime: &core.RuntimeMetadata{ + Type: core.RuntimeMetadata_FLYTE_SDK, + Version: "1.12.0", + }, + }, Target: &core.TaskTemplate_K8SPod{ K8SPod: &core.K8SPod{ PodSpec: structObj, diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go b/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go index b1fdd61e79..48bff1e9e9 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go @@ -2,7 +2,6 @@ package agent import ( "context" - flyteidlcore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "testing" "time" @@ -10,6 +9,7 @@ import ( "google.golang.org/grpc" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" + flyteidlcore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" pluginsCore "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" pluginCoreMocks "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core/mocks" webapiPlugin "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/webapi/mocks" diff --git a/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go b/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go index 073cef0054..dd48dfb699 100644 --- a/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/bigquery/query_job_test.go @@ -1,13 +1,13 @@ package bigquery import ( - "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "testing" "github.com/stretchr/testify/assert" "google.golang.org/api/bigquery/v2" "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" ) func TestGetQueryParameter(t *testing.T) { diff --git a/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go b/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go index 557a3df725..f6ea476cbf 100644 --- a/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/databricks/integration_test.go @@ -88,7 +88,7 @@ func TestEndToEnd(t *testing.T) { sparkJob := plugins.SparkJob{DatabricksConf: databricksConfig, DatabricksToken: "token", SparkConf: map[string]string{"spark.driver.bindAddress": "127.0.0.1"}} st, err := utils.MarshalPbToStruct(&sparkJob) assert.NoError(t, err) - inputs, _ := coreutils.MakeLiteralMap(map[string]interface{}{"x": 1}) + inputs := &flyteIdlCore.InputData{Inputs: coreutils.MustMakeLiteral(map[string]interface{}{"x": 1}).GetMap()} template := flyteIdlCore.TaskTemplate{ Type: "databricks", Custom: st, diff --git a/flyteplugins/go/tasks/plugins/webapi/snowflake/integration_test.go b/flyteplugins/go/tasks/plugins/webapi/snowflake/integration_test.go index 97f53ee322..626d53f56e 100644 --- a/flyteplugins/go/tasks/plugins/webapi/snowflake/integration_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/snowflake/integration_test.go @@ -50,7 +50,7 @@ func TestEndToEnd(t *testing.T) { config["schema"] = "my-schema" config["warehouse"] = "my-warehouse" - inputs, _ := coreutils.MakeLiteralMap(map[string]interface{}{"x": 1}) + inputs := &flyteIdlCore.InputData{Inputs: coreutils.MustMakeLiteral(map[string]interface{}{"x": 1}).GetMap()} template := flyteIdlCore.TaskTemplate{ Type: "snowflake", Config: config, diff --git a/flytepropeller/cmd/controller/cmd/root.go b/flytepropeller/cmd/controller/cmd/root.go index 163f1829bb..a3db18833c 100644 --- a/flytepropeller/cmd/controller/cmd/root.go +++ b/flytepropeller/cmd/controller/cmd/root.go @@ -4,23 +4,10 @@ package cmd import ( "context" "flag" - "github.com/flyteorg/flyte/flytepropeller/pkg/controller" - config2 "github.com/flyteorg/flyte/flytepropeller/pkg/controller/config" - "github.com/flyteorg/flyte/flytepropeller/pkg/signals" "net/http" "os" "runtime" - metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" - "github.com/flyteorg/flyte/flytestdlib/config" - "github.com/flyteorg/flyte/flytestdlib/config/viper" - "github.com/flyteorg/flyte/flytestdlib/contextutils" - "github.com/flyteorg/flyte/flytestdlib/logger" - "github.com/flyteorg/flyte/flytestdlib/otelutils" - "github.com/flyteorg/flyte/flytestdlib/profutils" - "github.com/flyteorg/flyte/flytestdlib/promutils" - "github.com/flyteorg/flyte/flytestdlib/promutils/labeled" - "github.com/flyteorg/flyte/flytestdlib/version" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/spf13/cobra" "github.com/spf13/pflag" @@ -31,6 +18,20 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/metrics" + metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" + + "github.com/flyteorg/flyte/flytepropeller/pkg/controller" + config2 "github.com/flyteorg/flyte/flytepropeller/pkg/controller/config" + "github.com/flyteorg/flyte/flytepropeller/pkg/signals" + "github.com/flyteorg/flyte/flytestdlib/config" + "github.com/flyteorg/flyte/flytestdlib/config/viper" + "github.com/flyteorg/flyte/flytestdlib/contextutils" + "github.com/flyteorg/flyte/flytestdlib/logger" + "github.com/flyteorg/flyte/flytestdlib/otelutils" + "github.com/flyteorg/flyte/flytestdlib/profutils" + "github.com/flyteorg/flyte/flytestdlib/promutils" + "github.com/flyteorg/flyte/flytestdlib/promutils/labeled" + "github.com/flyteorg/flyte/flytestdlib/version" ) const ( diff --git a/flytepropeller/cmd/kubectl-flyte/cmd/create.go b/flytepropeller/cmd/kubectl-flyte/cmd/create.go index 24688ef7e2..d0320234a6 100644 --- a/flytepropeller/cmd/kubectl-flyte/cmd/create.go +++ b/flytepropeller/cmd/kubectl-flyte/cmd/create.go @@ -128,7 +128,7 @@ func marshal(message proto.Message, format format) (raw []byte, err error) { return nil, errors.Errorf("Unknown format type") } -func loadInputs(path string, format format) (c *core.LiteralMap, err error) { +func loadInputs(path string, format format) (c *core.InputData, err error) { // Support reading from s3, etc.? var raw []byte raw, err = ioutil.ReadFile(path) @@ -136,7 +136,7 @@ func loadInputs(path string, format format) (c *core.LiteralMap, err error) { return } - c = &core.LiteralMap{} + c = &core.InputData{} err = unmarshal(raw, format, c) return } @@ -178,7 +178,7 @@ func (c *CreateOpts) createWorkflowFromProto() error { return err } - var inputs *core.LiteralMap + var inputs *core.InputData if c.inputsPath != "" { inputs, err = loadInputs(c.inputsPath, c.format) if err != nil { diff --git a/flytepropeller/events/node_event_recorder.go b/flytepropeller/events/node_event_recorder.go index f60ae234b7..ca96f36fba 100644 --- a/flytepropeller/events/node_event_recorder.go +++ b/flytepropeller/events/node_event_recorder.go @@ -2,14 +2,15 @@ package events import ( "context" - "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "strings" + "github.com/golang/protobuf/proto" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" + "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "github.com/flyteorg/flyte/flytepropeller/pkg/controller/config" "github.com/flyteorg/flyte/flytestdlib/logger" "github.com/flyteorg/flyte/flytestdlib/promutils" @@ -58,6 +59,7 @@ func (r *nodeEventRecorder) RecordNodeEvent(ctx context.Context, ev *event.NodeE logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err) rawOutputPolicy = config.RawOutputPolicyReference } else if ev.GetEventVersion() < int32(v1alpha1.EventVersion3) { + origEvent = proto.Clone(ev).(*event.NodeExecutionEvent) // Admin is not updated yet, send the old format. Set literal maps. if msgIndex == 0 { // OutputData @@ -68,6 +70,7 @@ func (r *nodeEventRecorder) RecordNodeEvent(ctx context.Context, ev *event.NodeE DeprecatedOutputData: outputLit, } } else { + origEvent = proto.Clone(ev).(*event.NodeExecutionEvent) // Use OutputData if msgIndex == 1 { // LiteralMap outputs = &core.OutputData{ diff --git a/flytepropeller/events/node_event_recorder_test.go b/flytepropeller/events/node_event_recorder_test.go index 5d2025b525..1607cb0c16 100644 --- a/flytepropeller/events/node_event_recorder_test.go +++ b/flytepropeller/events/node_event_recorder_test.go @@ -14,6 +14,7 @@ import ( "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" "github.com/flyteorg/flyte/flytepropeller/events/mocks" + "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "github.com/flyteorg/flyte/flytestdlib/storage" storageMocks "github.com/flyteorg/flyte/flytestdlib/storage/mocks" ) @@ -24,7 +25,8 @@ func getReferenceNodeEv() *event.NodeExecutionEvent { OutputResult: &event.NodeExecutionEvent_OutputUri{ OutputUri: referenceURI, }, - DeckUri: deckURI, + DeckUri: deckURI, + EventVersion: int32(v1alpha1.EventVersion3), } } @@ -34,7 +36,8 @@ func getRawOutputNodeEv() *event.NodeExecutionEvent { OutputResult: &event.NodeExecutionEvent_OutputData{ OutputData: outputData, }, - DeckUri: deckURI, + DeckUri: deckURI, + EventVersion: int32(v1alpha1.EventVersion3), } } @@ -58,18 +61,29 @@ func TestRecordNodeEvent_Success_ReferenceOutputs(t *testing.T) { assert.NoError(t, err) } +func AssertProtoEqual(t testing.TB, expected, actual proto.Message, msgAndArgs ...any) bool { + if assert.True(t, proto.Equal(expected, actual), msgAndArgs...) { + return true + } + + t.Logf("Expected: %v", expected) + t.Logf("Actual : %v", actual) + + return false +} + func TestRecordNodeEvent_Success_InlineOutputs(t *testing.T) { ctx := context.TODO() eventRecorder := mocks.EventRecorder{} eventRecorder.OnRecordNodeEventMatch(ctx, mock.MatchedBy(func(event *event.NodeExecutionEvent) bool { - assert.True(t, proto.Equal(event, getRawOutputNodeEv())) + AssertProtoEqual(t, getRawOutputNodeEv(), event) return true })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ @@ -90,13 +104,13 @@ func TestRecordNodeEvent_Failure_FetchInlineOutputs(t *testing.T) { ctx := context.TODO() eventRecorder := mocks.EventRecorder{} eventRecorder.OnRecordNodeEventMatch(ctx, mock.MatchedBy(func(event *event.NodeExecutionEvent) bool { - assert.True(t, proto.Equal(event, getReferenceNodeEv())) + AssertProtoEqual(t, getReferenceNodeEv(), event) return true })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(errors.New("foo")) + }), mock.Anything, mock.Anything).Return(-1, errors.New("foo")) mockStore := &storage.DataStore{ ComposedProtobufStore: pbStore, ReferenceConstructor: &storageMocks.ReferenceConstructor{}, @@ -120,10 +134,10 @@ func TestRecordNodeEvent_Failure_FallbackReference_Retry(t *testing.T) { return event.GetOutputData() == nil && proto.Equal(event, getReferenceNodeEv()) })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ @@ -144,10 +158,10 @@ func TestRecordNodeEvent_Failure_FallbackReference_Unretriable(t *testing.T) { eventRecorder := mocks.EventRecorder{} eventRecorder.OnRecordNodeEventMatch(ctx, mock.Anything).Return(errors.New("foo")) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ diff --git a/flytepropeller/events/task_event_recorder.go b/flytepropeller/events/task_event_recorder.go index a39841ab91..66e4eed0b6 100644 --- a/flytepropeller/events/task_event_recorder.go +++ b/flytepropeller/events/task_event_recorder.go @@ -2,14 +2,15 @@ package events import ( "context" - "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "strings" + "github.com/golang/protobuf/proto" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" + "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "github.com/flyteorg/flyte/flytepropeller/pkg/controller/config" "github.com/flyteorg/flyte/flytestdlib/logger" "github.com/flyteorg/flyte/flytestdlib/promutils" @@ -58,6 +59,7 @@ func (r *taskEventRecorder) RecordTaskEvent(ctx context.Context, ev *event.TaskE logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err) rawOutputPolicy = config.RawOutputPolicyReference } else if ev.EventVersion < int32(v1alpha1.EventVersion3) { + origEvent = proto.Clone(ev).(*event.TaskExecutionEvent) if msgIndex == 0 { // OutputData outputsLit = outputs.Outputs } @@ -66,6 +68,7 @@ func (r *taskEventRecorder) RecordTaskEvent(ctx context.Context, ev *event.TaskE DeprecatedOutputData: outputsLit, } } else { + origEvent = proto.Clone(ev).(*event.TaskExecutionEvent) if msgIndex == 1 { // LiteralMap outputs = &core.OutputData{ Outputs: outputsLit, diff --git a/flytepropeller/events/task_event_recorder_test.go b/flytepropeller/events/task_event_recorder_test.go index be8d2b1ff2..8cdb340ff6 100644 --- a/flytepropeller/events/task_event_recorder_test.go +++ b/flytepropeller/events/task_event_recorder_test.go @@ -14,6 +14,7 @@ import ( "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" "github.com/flyteorg/flyte/flytepropeller/events/mocks" + "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "github.com/flyteorg/flyte/flytestdlib/storage" storageMocks "github.com/flyteorg/flyte/flytestdlib/storage/mocks" ) @@ -30,6 +31,7 @@ func getReferenceTaskEv() *event.TaskExecutionEvent { TaskId: taskID, RetryAttempt: 1, ParentNodeExecutionId: nodeExecID, + EventVersion: int32(v1alpha1.EventVersion3), OutputResult: &event.TaskExecutionEvent_OutputUri{ OutputUri: referenceURI, }, @@ -41,6 +43,7 @@ func getRawOutputTaskEv() *event.TaskExecutionEvent { TaskId: taskID, RetryAttempt: 1, ParentNodeExecutionId: nodeExecID, + EventVersion: int32(v1alpha1.EventVersion3), OutputResult: &event.TaskExecutionEvent_OutputData{ OutputData: outputData, }, @@ -71,14 +74,13 @@ func TestRecordTaskEvent_Success_InlineOutputs(t *testing.T) { ctx := context.TODO() eventRecorder := mocks.EventRecorder{} eventRecorder.OnRecordTaskEventMatch(ctx, mock.MatchedBy(func(event *event.TaskExecutionEvent) bool { - assert.True(t, proto.Equal(event, getRawOutputTaskEv())) - return true + return AssertProtoEqual(t, getRawOutputTaskEv(), event) })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ @@ -102,9 +104,9 @@ func TestRecordTaskEvent_Failure_FetchInlineOutputs(t *testing.T) { return true })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(errors.New("foo")) + }), mock.Anything, mock.Anything).Return(-1, errors.New("foo")) mockStore := &storage.DataStore{ ComposedProtobufStore: pbStore, ReferenceConstructor: &storageMocks.ReferenceConstructor{}, @@ -128,10 +130,10 @@ func TestRecordTaskEvent_Failure_FallbackReference_Retry(t *testing.T) { return event.GetOutputData() == nil && proto.Equal(event, getReferenceTaskEv()) })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ @@ -152,10 +154,10 @@ func TestRecordTaskEvent_Failure_FallbackReference_Unretriable(t *testing.T) { eventRecorder := mocks.EventRecorder{} eventRecorder.OnRecordTaskEventMatch(ctx, mock.Anything).Return(errors.New("foo")) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ diff --git a/flytepropeller/events/test_utils.go b/flytepropeller/events/test_utils.go index 2065f06746..7f6593654a 100644 --- a/flytepropeller/events/test_utils.go +++ b/flytepropeller/events/test_utils.go @@ -21,15 +21,17 @@ var referenceEventConfig = &config.EventConfig{ var referenceURI = "s3://foo/bar/outputs.pb" var deckURI = "s3://foo/bar/deck.html" -var outputData = &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": { - Value: &core.Literal_Scalar{ - Scalar: &core.Scalar{ - Value: &core.Scalar_Primitive{ - Primitive: &core.Primitive{ - Value: &core.Primitive_Integer{ - Integer: 4, +var outputData = &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": { + Value: &core.Literal_Scalar{ + Scalar: &core.Scalar{ + Value: &core.Scalar_Primitive{ + Primitive: &core.Primitive{ + Value: &core.Primitive_Integer{ + Integer: 4, + }, }, }, }, diff --git a/flytepropeller/events/workflow_event_recorder.go b/flytepropeller/events/workflow_event_recorder.go index b57946896a..260feee1c0 100644 --- a/flytepropeller/events/workflow_event_recorder.go +++ b/flytepropeller/events/workflow_event_recorder.go @@ -2,14 +2,15 @@ package events import ( "context" - "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "strings" + "github.com/golang/protobuf/proto" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" + "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "github.com/flyteorg/flyte/flytepropeller/pkg/controller/config" "github.com/flyteorg/flyte/flytestdlib/logger" "github.com/flyteorg/flyte/flytestdlib/promutils" @@ -58,6 +59,7 @@ func (r *workflowEventRecorder) RecordWorkflowEvent(ctx context.Context, ev *eve logger.Warnf(ctx, "failed to fetch outputs by ref [%s] to send inline with err: %v", ev.GetOutputUri(), err) rawOutputPolicy = config.RawOutputPolicyReference } else if ev.EventVersion < int32(v1alpha1.EventVersion3) { + origEvent = proto.Clone(ev).(*event.WorkflowExecutionEvent) if msgIndex == 0 { outputsLit = outputs.Outputs } @@ -66,7 +68,8 @@ func (r *workflowEventRecorder) RecordWorkflowEvent(ctx context.Context, ev *eve DeprecatedOutputData: outputsLit, } } else { - if msgIndex == 0 { + origEvent = proto.Clone(ev).(*event.WorkflowExecutionEvent) + if msgIndex == 1 { outputs = &core.OutputData{ Outputs: outputsLit, } diff --git a/flytepropeller/events/workflow_event_recorder_test.go b/flytepropeller/events/workflow_event_recorder_test.go index 010c24bf5d..0b6f3c08ec 100644 --- a/flytepropeller/events/workflow_event_recorder_test.go +++ b/flytepropeller/events/workflow_event_recorder_test.go @@ -14,6 +14,7 @@ import ( "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" "github.com/flyteorg/flyte/flytepropeller/events/mocks" + "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "github.com/flyteorg/flyte/flytestdlib/storage" storageMocks "github.com/flyteorg/flyte/flytestdlib/storage/mocks" ) @@ -24,6 +25,7 @@ func getReferenceWorkflowEv() *event.WorkflowExecutionEvent { OutputResult: &event.WorkflowExecutionEvent_OutputUri{ OutputUri: referenceURI, }, + EventVersion: int32(v1alpha1.EventVersion3), } } @@ -33,6 +35,7 @@ func getRawOutputWorkflowEv() *event.WorkflowExecutionEvent { OutputResult: &event.WorkflowExecutionEvent_OutputData{ OutputData: outputData, }, + EventVersion: int32(v1alpha1.EventVersion3), } } @@ -60,14 +63,13 @@ func TestRecordWorkflowEvent_Success_InlineOutputs(t *testing.T) { ctx := context.TODO() eventRecorder := mocks.EventRecorder{} eventRecorder.OnRecordWorkflowEventMatch(ctx, mock.MatchedBy(func(event *event.WorkflowExecutionEvent) bool { - assert.True(t, proto.Equal(event, getRawOutputWorkflowEv())) - return true + return AssertProtoEqual(t, getRawOutputWorkflowEv(), event) })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ @@ -91,9 +93,9 @@ func TestRecordWorkflowEvent_Failure_FetchInlineOutputs(t *testing.T) { return true })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(errors.New("foo")) + }), mock.Anything, mock.Anything).Return(-1, errors.New("foo")) mockStore := &storage.DataStore{ ComposedProtobufStore: pbStore, ReferenceConstructor: &storageMocks.ReferenceConstructor{}, @@ -117,10 +119,10 @@ func TestRecordWorkflowEvent_Failure_FallbackReference_Retry(t *testing.T) { return event.GetOutputData() == nil && proto.Equal(event, getReferenceWorkflowEv()) })).Return(nil) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ @@ -141,10 +143,10 @@ func TestRecordWorkflowEvent_Failure_FallbackReference_Unretriable(t *testing.T) eventRecorder := mocks.EventRecorder{} eventRecorder.OnRecordWorkflowEventMatch(ctx, mock.Anything).Return(errors.New("foo")) pbStore := &storageMocks.ComposedProtobufStore{} - pbStore.OnReadProtobufMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { + pbStore.OnReadProtobufAnyMatch(mock.Anything, mock.MatchedBy(func(ref storage.DataReference) bool { return ref.String() == referenceURI - }), mock.Anything).Return(nil).Run(func(args mock.Arguments) { - arg := args.Get(2).(*core.LiteralMap) + }), mock.Anything, mock.Anything).Return(0, nil).Run(func(args mock.Arguments) { + arg := args.Get(2).(*core.OutputData) *arg = *outputData }) mockStore := &storage.DataStore{ diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go index 54d42d285d..8ec25aee61 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go @@ -4,7 +4,6 @@ import ( "context" "encoding/json" "fmt" - "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/ioutils" "time" "github.com/golang/protobuf/proto" @@ -13,6 +12,7 @@ import ( "k8s.io/apimachinery/pkg/types" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" + "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/ioutils" "github.com/flyteorg/flyte/flytestdlib/bitarray" "github.com/flyteorg/flyte/flytestdlib/storage" ) diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface_test.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface_test.go index eb2eafa723..103df67b0a 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface_test.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface_test.go @@ -158,8 +158,8 @@ func TestGetInputsFile(t *testing.T) { inputDir DataReference expected DataReference }{ - {"dir1", "dir1/inputs.pb"}, - {"dir2", "dir2/inputs.pb"}, + {"dir1", "dir1/inputs_old.pb"}, + {"dir2", "dir2/inputs_old.pb"}, } for _, tt := range tests { diff --git a/flytepropeller/pkg/compiler/test/compiler_test.go b/flytepropeller/pkg/compiler/test/compiler_test.go index e2dd63431e..fd73f60cb5 100644 --- a/flytepropeller/pkg/compiler/test/compiler_test.go +++ b/flytepropeller/pkg/compiler/test/compiler_test.go @@ -30,7 +30,7 @@ import ( var update = flag.Bool("update", false, "Update .golden files") -func makeDefaultInputs(iface *core.TypedInterface) *core.LiteralMap { +func makeDefaultInputs(iface *core.TypedInterface) *core.InputData { if iface == nil || iface.GetInputs() == nil { return nil } @@ -59,8 +59,10 @@ func makeDefaultInputs(iface *core.TypedInterface) *core.LiteralMap { } } - return &core.LiteralMap{ - Literals: res, + return &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: res, + }, } } diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf.yaml index 5e9ddd0b12..765614623c 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf.yaml index 550880e7e8..d72b20478b 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf.yaml @@ -20,6 +20,17 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + a: + scalar: + primitive: + floatValue: 0 + b: + scalar: + primitive: + floatValue: 0 inputs: literals: a: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf.yaml index 359bb67831..7032ed8f75 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf.yaml index ec6ceff710..93175a0b35 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf.yaml index 0fc0290aa7..4316310e0f 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + n_iterations: + scalar: + primitive: + integer: "0" inputs: literals: n_iterations: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf.yaml index 854e071a58..43a390ad7c 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + my_input: + scalar: + primitive: + floatValue: 0 inputs: literals: my_input: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf.yaml index 54fb0413d5..aed4040c73 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + my_input: + scalar: + primitive: + floatValue: 0 inputs: literals: my_input: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf.yaml index 07c632c8e0..b43061636f 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + my_input: + scalar: + primitive: + floatValue: 0 inputs: literals: my_input: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf.yaml index f46b2040e3..e623cd84b6 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + seed: + scalar: + primitive: + integer: "0" inputs: literals: seed: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf.yaml index 3e7d789001..256bac4ced 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + b: + scalar: + primitive: + boolean: false inputs: literals: b: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf.yaml index abfc362b09..2f0854ccf7 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + my_input: + scalar: + primitive: + floatValue: 0 inputs: literals: my_input: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf.yaml index 24eadb558d..95c96c5de4 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf.yaml @@ -20,6 +20,17 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + my_input: + scalar: + primitive: + floatValue: 0 + seed: + scalar: + primitive: + integer: "0" inputs: literals: my_input: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf.yaml index c917877e0d..fd3138f86b 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf.yaml @@ -20,6 +20,17 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + s1: + scalar: + primitive: + stringValue: "" + s2: + scalar: + primitive: + stringValue: "" inputs: literals: s1: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf.yaml index d5c29c9810..d3a6de1566 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf.yaml @@ -20,6 +20,15 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + a: + collection: + literals: + - scalar: + primitive: + integer: "0" inputs: literals: a: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf.yaml index d99831ef8e..9f4dae9eaa 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf.yaml @@ -20,6 +20,23 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + numbers: + collection: + literals: + - scalar: + primitive: + integer: "0" + numbers_count: + scalar: + primitive: + integer: "0" + run_local_at_count: + scalar: + primitive: + integer: "0" inputs: literals: numbers: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf.yaml index 05c5b6f080..61e65824f1 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + a: + scalar: + primitive: + integer: "0" inputs: literals: a: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf.yaml index 44b6afc5fb..d3625d9ba6 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + my_input: + scalar: + primitive: + stringValue: "" inputs: literals: my_input: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf.yaml index d22d9eaf90..945a61637e 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + path: + scalar: + primitive: + stringValue: "" inputs: literals: path: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf.yaml index 56b6c88316..e98c78c985 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf.yaml index 2471c19aac..3f9fd5d86f 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf.yaml @@ -20,6 +20,17 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + a: + scalar: + primitive: + integer: "0" + b: + scalar: + primitive: + stringValue: "" inputs: literals: a: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf.yaml index bb3d279c16..6a034205a8 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + x: + scalar: + primitive: + integer: "0" inputs: literals: x: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf.yaml index 690370bf14..4e4271b5ca 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + x: + scalar: + primitive: + floatValue: 0 inputs: literals: x: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf.yaml index 5c33c67395..776d9ab54c 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf.yaml @@ -20,6 +20,18 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + data: + scalar: + generic: {} + df: + scalar: + structuredDataset: + metadata: + structuredDatasetType: + format: parquet inputs: literals: data: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf.yaml index c1d2d357da..58af03c962 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf.yaml @@ -20,6 +20,18 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + data: + scalar: + generic: {} + df: + scalar: + structuredDataset: + metadata: + structuredDatasetType: + format: parquet inputs: literals: data: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf.yaml index 2c781af52e..c1640072d1 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf.yaml @@ -20,6 +20,18 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + data: + scalar: + generic: {} + df: + scalar: + structuredDataset: + metadata: + structuredDatasetType: + format: parquet inputs: literals: data: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf.yaml index 326658e0c0..c4d5694e04 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf.yaml @@ -20,6 +20,31 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + column_names: + collection: + literals: + - scalar: + primitive: + stringValue: "" + columns_to_normalize: + collection: + literals: + - scalar: + primitive: + stringValue: "" + csv_url: + scalar: + blob: + metadata: + type: {} + uri: /tmp/somepath + output_location: + scalar: + primitive: + stringValue: "" inputs: literals: column_names: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf.yaml index 421c42d822..763c7dea7d 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf.yaml @@ -20,6 +20,31 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + columns_metadata: + collection: + literals: + - collection: + literals: + - scalar: + primitive: + stringValue: "" + columns_to_normalize_metadata: + collection: + literals: + - collection: + literals: + - scalar: + primitive: + stringValue: "" + csv_urls: + collection: + literals: + - scalar: + primitive: + stringValue: "" inputs: literals: columns_metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf.yaml index 18b5cd57a7..7be200bdac 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf.yaml index 9063363372..e2c77add01 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf.yaml @@ -20,6 +20,17 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + in1: + scalar: + primitive: + stringValue: "" + in2: + scalar: + primitive: + stringValue: "" inputs: literals: in1: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf.yaml index 9f2e119810..fc45cd1601 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + val: + scalar: + primitive: + integer: "0" inputs: literals: val: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf.yaml index dfd0880492..4a22c457d3 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf.yaml @@ -20,6 +20,21 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + am: + scalar: + primitive: + boolean: false + day_of_week: + scalar: + primitive: + stringValue: "" + number: + scalar: + primitive: + integer: "0" inputs: literals: am: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf.yaml index 753d9aa567..d4c3562fcb 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf.yaml index db69412129..d350be94a9 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf.yaml index 4029e11de6..be2f81ffd8 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf.yaml index 3a7094a8e3..d853e9fee3 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + kickoff_time: + scalar: + primitive: + datetime: "1970-01-01T00:00:00.000010Z" inputs: literals: kickoff_time: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf.yaml index 64e74df112..229bfa1b67 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + name: + scalar: + primitive: + stringValue: "" inputs: literals: name: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf.yaml index 300cf2aa39..42903af757 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf.yaml @@ -20,6 +20,17 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + x: + scalar: + primitive: + integer: "0" + "y": + scalar: + primitive: + integer: "0" inputs: literals: x: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf.yaml index 176d7c573b..5cc2d192f5 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + c: + scalar: + primitive: + stringValue: red inputs: literals: c: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf.yaml index e43de40f8c..231ded9e9f 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + name: + scalar: + primitive: + stringValue: "" inputs: literals: name: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf.yaml index 82aae32866..307bad2d65 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + a: + scalar: + primitive: + integer: "0" inputs: literals: a: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf.yaml index eae182adf4..1ace2fdd34 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + a: + scalar: + primitive: + integer: "0" inputs: literals: a: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf.yaml index af5ad985af..42704f0d6d 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf.yaml @@ -20,6 +20,13 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: + literals: + a: + scalar: + primitive: + integer: "0" inputs: literals: a: diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf.yaml b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf.yaml index b935136947..2737664fc6 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf.yaml +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf.yaml @@ -20,6 +20,8 @@ executionConfig: Memory: "0" Storage: "0" executionId: {} +inputData: + inputs: {} inputs: {} kind: flyteworkflow metadata: diff --git a/flytepropeller/pkg/compiler/transformers/k8s/workflow_test.go b/flytepropeller/pkg/compiler/transformers/k8s/workflow_test.go index ae3b82b8b9..d22ef6e871 100644 --- a/flytepropeller/pkg/compiler/transformers/k8s/workflow_test.go +++ b/flytepropeller/pkg/compiler/transformers/k8s/workflow_test.go @@ -158,10 +158,12 @@ func TestBuildFlyteWorkflow_withInputs(t *testing.T) { assert.NoError(t, err) stringLiteral, err := coreutils.MakePrimitiveLiteral("hello") assert.NoError(t, err) - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": intLiteral, - "y": stringLiteral, + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": intLiteral, + "y": stringLiteral, + }, }, } @@ -223,10 +225,12 @@ func TestBuildFlyteWorkflow_withUnionInputs(t *testing.T) { assert.NoError(t, err) floatLiteral, err := coreutils.MakePrimitiveLiteral(1.0) assert.NoError(t, err) - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": {Value: &core.Literal_Scalar{Scalar: &core.Scalar{Value: &core.Scalar_Union{Union: &core.Union{Value: floatLiteral, Type: &floatType}}}}}, - "y": {Value: &core.Literal_Scalar{Scalar: &core.Scalar{Value: &core.Scalar_Union{Union: &core.Union{Value: stringLiteral, Type: &strType}}}}}, + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": {Value: &core.Literal_Scalar{Scalar: &core.Scalar{Value: &core.Scalar_Union{Union: &core.Union{Value: floatLiteral, Type: &floatType}}}}}, + "y": {Value: &core.Literal_Scalar{Scalar: &core.Scalar{Value: &core.Scalar_Union{Union: &core.Union{Value: stringLiteral, Type: &strType}}}}}, + }, }, } @@ -341,9 +345,11 @@ func TestBuildFlyteWorkflow_withBranch(t *testing.T) { wf, err := BuildFlyteWorkflow( w, - &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "my_input": coreutils.MustMakePrimitiveLiteral(1.0), + &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "my_input": coreutils.MustMakePrimitiveLiteral(1.0), + }, }, }, &core.WorkflowExecutionIdentifier{ Project: "p", diff --git a/flytepropeller/pkg/compiler/validators/utils.go b/flytepropeller/pkg/compiler/validators/utils.go index 8edd1d7a11..cc7245a6e2 100644 --- a/flytepropeller/pkg/compiler/validators/utils.go +++ b/flytepropeller/pkg/compiler/validators/utils.go @@ -2,12 +2,13 @@ package validators import ( "fmt" - "golang.org/x/exp/slices" - "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/golang/protobuf/proto" "golang.org/x/exp/maps" + "golang.org/x/exp/slices" "k8s.io/apimachinery/pkg/util/sets" + + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" ) func containsBindingByVariableName(bindings []*core.Binding, name string) (found bool) { diff --git a/flytepropeller/pkg/controller/executors/failure_node_lookup_test.go b/flytepropeller/pkg/controller/executors/failure_node_lookup_test.go index b2dfa32231..e9d6857ec4 100644 --- a/flytepropeller/pkg/controller/executors/failure_node_lookup_test.go +++ b/flytepropeller/pkg/controller/executors/failure_node_lookup_test.go @@ -4,9 +4,10 @@ import ( "context" "testing" + "github.com/stretchr/testify/assert" + "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1" "github.com/flyteorg/flyte/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks" - "github.com/stretchr/testify/assert" ) type nl struct { diff --git a/flytepropeller/pkg/controller/garbage_collector_test.go b/flytepropeller/pkg/controller/garbage_collector_test.go index 8f7b3627c4..304ec7352e 100644 --- a/flytepropeller/pkg/controller/garbage_collector_test.go +++ b/flytepropeller/pkg/controller/garbage_collector_test.go @@ -2,7 +2,6 @@ package controller import ( "context" - testing2 "k8s.io/utils/clock/testing" "strings" "sync" "testing" diff --git a/flytepropeller/pkg/controller/nodes/array/handler_test.go b/flytepropeller/pkg/controller/nodes/array/handler_test.go index 2617881b20..8bcaf7aa71 100644 --- a/flytepropeller/pkg/controller/nodes/array/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/array/handler_test.go @@ -66,7 +66,7 @@ func createArrayNodeHandler(ctx context.Context, t *testing.T, nodeHandler inter } func createNodeExecutionContext(dataStore *storage.DataStore, eventRecorder interfaces.EventRecorder, outputVariables []string, - inputLiteralMap *idlcore.LiteralMap, arrayNodeSpec *v1alpha1.NodeSpec, arrayNodeState *handler.ArrayNodeState) interfaces.NodeExecutionContext { + inputLiteralMap *idlcore.InputData, arrayNodeSpec *v1alpha1.NodeSpec, arrayNodeState *handler.ArrayNodeState) interfaces.NodeExecutionContext { nCtx := &mocks.NodeExecutionContext{} nCtx.OnMaxDatasetSizeBytes().Return(9999999) @@ -242,7 +242,7 @@ func TestAbort(t *testing.T) { // create NodeExecutionContext eventRecorder := newBufferedEventRecorder() - nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, &idlcore.InputData{Inputs: literalMap}, &arrayNodeSpec, arrayNodeState) // evaluate node err := arrayNodeHandler.Abort(ctx, nCtx, "foo") @@ -338,7 +338,7 @@ func TestFinalize(t *testing.T) { // create NodeExecutionContext eventRecorder := newBufferedEventRecorder() - nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, &idlcore.InputData{Inputs: literalMap}, &arrayNodeSpec, arrayNodeState) // evaluate node err := arrayNodeHandler.Finalize(ctx, nCtx) @@ -409,7 +409,7 @@ func TestHandleArrayNodePhaseNone(t *testing.T) { arrayNodeState := &handler.ArrayNodeState{ Phase: v1alpha1.ArrayNodePhaseNone, } - nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, &idlcore.InputData{Inputs: literalMap}, &arrayNodeSpec, arrayNodeState) // evaluate node transition, err := arrayNodeHandler.Handle(ctx, nCtx) @@ -599,7 +599,7 @@ func TestHandleArrayNodePhaseExecuting(t *testing.T) { nodeSpec.ArrayNode.Parallelism = uint32(test.parallelism) nodeSpec.ArrayNode.MinSuccessRatio = test.minSuccessRatio - nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, &idlcore.InputData{Inputs: literalMap}, &arrayNodeSpec, arrayNodeState) // initialize ArrayNodeHandler nodeHandler := &mocks.NodeHandler{} @@ -705,7 +705,7 @@ func TestHandleArrayNodePhaseSucceeding(t *testing.T) { // create NodeExecutionContext eventRecorder := newBufferedEventRecorder() literalMap := &idlcore.LiteralMap{} - nCtx := createNodeExecutionContext(dataStore, eventRecorder, []string{test.outputVariable}, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, []string{test.outputVariable}, &idlcore.InputData{Inputs: literalMap}, &arrayNodeSpec, arrayNodeState) // write mocked output files for i, outputValue := range test.outputValues { @@ -714,15 +714,17 @@ func TestHandleArrayNodePhaseSucceeding(t *testing.T) { } outputFile := storage.DataReference(fmt.Sprintf("s3://bucket/output/%d/0/outputs.pb", i)) - outputLiteralMap := &idlcore.LiteralMap{ - Literals: map[string]*idlcore.Literal{ - test.outputVariable: &idlcore.Literal{ - Value: &idlcore.Literal_Scalar{ - Scalar: &idlcore.Scalar{ - Value: &idlcore.Scalar_Primitive{ - Primitive: &idlcore.Primitive{ - Value: &idlcore.Primitive_Integer{ - Integer: int64(*outputValue), + outputLiteralMap := &idlcore.OutputData{ + Outputs: &idlcore.LiteralMap{ + Literals: map[string]*idlcore.Literal{ + test.outputVariable: &idlcore.Literal{ + Value: &idlcore.Literal_Scalar{ + Scalar: &idlcore.Scalar{ + Value: &idlcore.Scalar_Primitive{ + Primitive: &idlcore.Primitive{ + Value: &idlcore.Primitive_Integer{ + Integer: int64(*outputValue), + }, }, }, }, @@ -745,14 +747,14 @@ func TestHandleArrayNodePhaseSucceeding(t *testing.T) { assert.Equal(t, test.expectedTransitionPhase, transition.Info().GetPhase()) // validate output file - var outputs idlcore.LiteralMap + var outputs idlcore.OutputData outputFile := v1alpha1.GetOutputsFile(nCtx.NodeStatus().GetOutputDir()) err = nCtx.DataStore().ReadProtobuf(ctx, outputFile, &outputs) assert.NoError(t, err) - assert.Len(t, outputs.GetLiterals(), 1) + assert.Len(t, outputs.GetOutputs().GetLiterals(), 1) - collection := outputs.GetLiterals()[test.outputVariable].GetCollection() + collection := outputs.GetOutputs().GetLiterals()[test.outputVariable].GetCollection() assert.NotNil(t, collection) assert.Len(t, collection.GetLiterals(), len(test.outputValues)) @@ -831,7 +833,7 @@ func TestHandleArrayNodePhaseFailing(t *testing.T) { // create NodeExecutionContext eventRecorder := newBufferedEventRecorder() literalMap := &idlcore.LiteralMap{} - nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, &idlcore.InputData{Inputs: literalMap}, &arrayNodeSpec, arrayNodeState) // evaluate node transition, err := arrayNodeHandler.Handle(ctx, nCtx) diff --git a/flytepropeller/pkg/controller/nodes/branch/evaluator_test.go b/flytepropeller/pkg/controller/nodes/branch/evaluator_test.go index dae8a1337b..48bbbfdf5c 100644 --- a/flytepropeller/pkg/controller/nodes/branch/evaluator_test.go +++ b/flytepropeller/pkg/controller/nodes/branch/evaluator_test.go @@ -16,7 +16,7 @@ import ( ) // Creates a ComparisonExpression, comparing 2 literals -func getComparisonExpression(lV interface{}, op core.ComparisonExpression_Operator, rV interface{}) (*core.ComparisonExpression, *core.LiteralMap) { +func getComparisonExpression(lV interface{}, op core.ComparisonExpression_Operator, rV interface{}) (*core.ComparisonExpression, *core.InputData) { exp := &core.ComparisonExpression{ LeftValue: &core.Operand{ Val: &core.Operand_Var{ @@ -30,12 +30,15 @@ func getComparisonExpression(lV interface{}, op core.ComparisonExpression_Operat }, }, } - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": coreutils.MustMakePrimitiveLiteral(lV), - "y": coreutils.MustMakePrimitiveLiteral(rV), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": coreutils.MustMakePrimitiveLiteral(lV), + "y": coreutils.MustMakePrimitiveLiteral(rV), + }, }, } + return exp, inputs } @@ -90,9 +93,11 @@ func TestEvaluateComparison(t *testing.T) { }, }, } - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "y": coreutils.MustMakePrimitiveLiteral(2), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "y": coreutils.MustMakePrimitiveLiteral(2), + }, }, } v, err := EvaluateComparison(exp, inputs) @@ -115,10 +120,12 @@ func TestEvaluateComparison(t *testing.T) { }, }, } - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": coreutils.MustMakePrimitiveLiteral(1), - "y": coreutils.MustMakePrimitiveLiteral(3), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": coreutils.MustMakePrimitiveLiteral(1), + "y": coreutils.MustMakePrimitiveLiteral(3), + }, }, } v, err := EvaluateComparison(exp, inputs) @@ -156,8 +163,10 @@ func TestEvaluateComparison(t *testing.T) { }, }, } - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{}, + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{}, + }, } _, err := EvaluateComparison(exp, inputs) assert.Error(t, err) @@ -181,8 +190,10 @@ func TestEvaluateComparison(t *testing.T) { }, }, } - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{}, + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{}, + }, } _, err := EvaluateComparison(exp, inputs) assert.Error(t, err) @@ -279,11 +290,11 @@ func TestEvaluateBooleanExpression(t *testing.T) { }, } - for k, v := range inputs.Literals { + for k, v := range inputs.GetInputs().GetLiterals() { outerInputs.Literals[k] = v } - v, err := EvaluateBooleanExpression(outerExp, outerInputs) + v, err := EvaluateBooleanExpression(outerExp, &core.InputData{Inputs: outerInputs}) assert.NoError(t, err) assert.True(t, v) } diff --git a/flytepropeller/pkg/controller/nodes/branch/handler_test.go b/flytepropeller/pkg/controller/nodes/branch/handler_test.go index a194452ff5..bd60ba9330 100644 --- a/flytepropeller/pkg/controller/nodes/branch/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/branch/handler_test.go @@ -76,7 +76,7 @@ func (parentInfo) CurrentAttempt() uint32 { } func createNodeContext(phase v1alpha1.BranchNodePhase, childNodeID *v1alpha1.NodeID, n v1alpha1.ExecutableNode, - inputs *core.LiteralMap, nl *execMocks.NodeLookup, eCtx executors.ExecutionContext) (*mocks.NodeExecutionContext, *branchNodeStateHolder) { + inputs *core.InputData, nl *execMocks.NodeLookup, eCtx executors.ExecutionContext) (*mocks.NodeExecutionContext, *branchNodeStateHolder) { branchNodeState := handler.BranchNodeState{ FinalizedNodeID: childNodeID, Phase: phase, diff --git a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog_test.go b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog_test.go index 564f5eccdb..d46f44f682 100644 --- a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog_test.go +++ b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog_test.go @@ -45,12 +45,18 @@ func newStringLiteral(value string) *core.Literal { } } -var sampleParameters = &core.OutputData{ +var sampleOutputParameters = &core.OutputData{ Outputs: &core.LiteralMap{Literals: map[string]*core.Literal{ "out1": newStringLiteral("output1-stringval"), }}, } +var sampleInputParameters = &core.InputData{ + Inputs: &core.LiteralMap{Literals: map[string]*core.Literal{ + "out1": newStringLiteral("output1-stringval"), + }}, +} + var variableMap = &core.VariableMap{ Variables: map[string]*core.Variable{ "test": { @@ -125,7 +131,7 @@ func TestCatalog_Get(t *testing.T) { t.Run("No results, no Artifact", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.On("Get", mock.Anything).Return(sampleInputParameters, nil, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ @@ -159,7 +165,7 @@ func TestCatalog_Get(t *testing.T) { t.Run("Found w/ tag", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.On("Get", mock.Anything).Return(sampleInputParameters, nil, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ @@ -246,7 +252,7 @@ func TestCatalog_Get(t *testing.T) { t.Run("Found expired artifact", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.On("Get", mock.Anything).Return(sampleInputParameters, nil, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ @@ -296,7 +302,7 @@ func TestCatalog_Get(t *testing.T) { t.Run("Found non-expired artifact", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.On("Get", mock.Anything).Return(sampleInputParameters, nil, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ @@ -396,7 +402,7 @@ func TestCatalog_Put(t *testing.T) { t.Run("Create new cached execution", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} discovery := &CatalogClient{ @@ -432,7 +438,7 @@ func TestCatalog_Put(t *testing.T) { ).Return(&datacatalog.AddTagResponse{}, nil) newKey := sampleKey newKey.InputReader = ir - or := ioutils.NewInMemoryOutputReader(sampleParameters, nil, nil) + or := ioutils.NewInMemoryOutputReader(sampleOutputParameters, nil, nil) s, err := discovery.Put(ctx, newKey, or, catalog.Metadata{ WorkflowExecutionIdentifier: &core.WorkflowExecutionIdentifier{ Name: "test", @@ -482,7 +488,7 @@ func TestCatalog_Put(t *testing.T) { t.Run("Create new cached execution with existing dataset", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} discovery := &CatalogClient{ @@ -523,7 +529,7 @@ func TestCatalog_Put(t *testing.T) { ).Return(&datacatalog.AddTagResponse{}, nil) newKey := sampleKey newKey.InputReader = ir - or := ioutils.NewInMemoryOutputReader(sampleParameters, nil, nil) + or := ioutils.NewInMemoryOutputReader(sampleOutputParameters, nil, nil) s, err := discovery.Put(ctx, newKey, or, catalog.Metadata{ WorkflowExecutionIdentifier: &core.WorkflowExecutionIdentifier{ Name: "test", @@ -544,7 +550,7 @@ func TestCatalog_Update(t *testing.T) { t.Run("Overwrite existing cached execution", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} discovery := &CatalogClient{ @@ -590,7 +596,7 @@ func TestCatalog_Update(t *testing.T) { newKey := sampleKey newKey.InputReader = ir - or := ioutils.NewInMemoryOutputReader(sampleParameters, nil, nil) + or := ioutils.NewInMemoryOutputReader(sampleOutputParameters, nil, nil) s, err := discovery.Update(ctx, newKey, or, catalog.Metadata{ WorkflowExecutionIdentifier: &core.WorkflowExecutionIdentifier{ Name: taskID.NodeExecutionId.ExecutionId.Name, @@ -615,7 +621,7 @@ func TestCatalog_Update(t *testing.T) { t.Run("Overwrite non-existing execution", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} discovery := &CatalogClient{ @@ -680,7 +686,7 @@ func TestCatalog_Update(t *testing.T) { newKey := sampleKey newKey.InputReader = ir - or := ioutils.NewInMemoryOutputReader(sampleParameters, nil, nil) + or := ioutils.NewInMemoryOutputReader(sampleOutputParameters, nil, nil) s, err := discovery.Update(ctx, newKey, or, catalog.Metadata{ WorkflowExecutionIdentifier: &core.WorkflowExecutionIdentifier{ Name: taskID.NodeExecutionId.ExecutionId.Name, @@ -706,7 +712,7 @@ func TestCatalog_Update(t *testing.T) { t.Run("Error while overwriting execution", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} discovery := &CatalogClient{ @@ -726,7 +732,7 @@ func TestCatalog_Update(t *testing.T) { newKey := sampleKey newKey.InputReader = ir - or := ioutils.NewInMemoryOutputReader(sampleParameters, nil, nil) + or := ioutils.NewInMemoryOutputReader(sampleOutputParameters, nil, nil) s, err := discovery.Update(ctx, newKey, or, catalog.Metadata{ WorkflowExecutionIdentifier: &core.WorkflowExecutionIdentifier{ Name: "test", @@ -764,7 +770,7 @@ func TestCatalog_GetOrExtendReservation(t *testing.T) { t.Run("CreateOrUpdateReservation", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ @@ -790,7 +796,7 @@ func TestCatalog_GetOrExtendReservation(t *testing.T) { t.Run("ExistingReservation", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ @@ -820,7 +826,7 @@ func TestCatalog_ReleaseReservation(t *testing.T) { t.Run("ReleaseReservation", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ @@ -845,7 +851,7 @@ func TestCatalog_ReleaseReservation(t *testing.T) { t.Run("ReleaseReservationFailure", func(t *testing.T) { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(sampleParameters, nil, nil) + ir.OnGetMatch(mock.Anything).Return(sampleInputParameters, nil) mockClient := &mocks.DataCatalogClient{} catalogClient := &CatalogClient{ diff --git a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer_test.go b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer_test.go index 74277dcda0..907601ae29 100644 --- a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer_test.go +++ b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/transformer_test.go @@ -102,10 +102,9 @@ func TestVariableMapOrder(t *testing.T) { // Ensure correct format of ArtifactTagName func TestGenerateArtifactTagName(t *testing.T) { - literalMap, err := coreutils.MakeLiteralMap(map[string]interface{}{"1": 1, "2": 2}) - assert.NoError(t, err) + literalMap := coreutils.MustMakeLiteral(map[string]interface{}{"1": 1, "2": 2}) - tag, err := GenerateArtifactTagName(context.TODO(), literalMap) + tag, err := GenerateArtifactTagName(context.TODO(), &core.InputData{Inputs: literalMap.GetMap()}) assert.NoError(t, err) assert.Equal(t, "flyte_cached-GQid5LjHbakcW68DS3P2jp80QLbiF0olFHF2hTh5bg8", tag) } diff --git a/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go b/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go index 3c016fe6bf..f684bfd0ff 100644 --- a/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go +++ b/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go @@ -497,7 +497,7 @@ func Test_dynamicNodeHandler_buildContextualDynamicWorkflow_withLaunchPlans(t *t composedPBStore.OnWriteRawMatch( mock.MatchedBy(func(ctx context.Context) bool { return true }), storage.DataReference("s3://my-s3-bucket/foo/bar/futures_compiled.pb"), - int64(1501), + int64(1527), storage.Options{}, mock.MatchedBy(func(rdr *bytes.Reader) bool { return true })).Return(errors.New("foo")) diff --git a/flytepropeller/pkg/controller/nodes/end/handler_test.go b/flytepropeller/pkg/controller/nodes/end/handler_test.go index 56de8a636f..198b783250 100644 --- a/flytepropeller/pkg/controller/nodes/end/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/end/handler_test.go @@ -68,26 +68,30 @@ func TestEndHandler_Handle(t *testing.T) { e := New() ctx := context.Background() - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": coreutils.MustMakePrimitiveLiteral("hello"), - "y": coreutils.MustMakePrimitiveLiteral("blah"), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": coreutils.MustMakePrimitiveLiteral("hello"), + "y": coreutils.MustMakePrimitiveLiteral("blah"), + }, }, } outputRef := v1alpha1.DataReference("testRef") - createNodeCtx := func(inputs *core.LiteralMap, store *storage.DataStore) *mocks.NodeExecutionContext { + createNodeCtx := func(inputs *core.InputData, store *storage.DataStore) *mocks.NodeExecutionContext { ir := &mocks2.InputReader{} - ir.On("Get", mock.Anything).Return(inputs, nil) + ir.OnGetMatch(mock.Anything).Return(inputs, nil) + nCtx := &mocks.NodeExecutionContext{} - nCtx.On("InputReader").Return(ir) - nCtx.On("DataStore").Return(store) + nCtx.OnInputReader().Return(ir) + nCtx.OnDataStore().Return(store) + ns := &mocks3.ExecutableNodeStatus{} - ns.On("GetDataDir").Return(outputRef) - ns.On("GetOutputDir").Return(outputRef) - nCtx.On("NodeStatus").Return(ns) - nCtx.On("NodeID").Return("end-node") + ns.OnGetDataDir().Return(outputRef) + ns.OnGetOutputDir().Return(outputRef) + nCtx.OnNodeStatus().Return(ns) + nCtx.OnNodeID().Return("end-node") return nCtx } @@ -114,9 +118,9 @@ func TestEndHandler_Handle(t *testing.T) { s, err := e.Handle(ctx, nCtx) assert.NoError(t, err) assert.Equal(t, handler.EPhaseSuccess, s.Info().GetPhase()) - actual := &core.LiteralMap{} + actual := &core.OutputData{} if assert.NoError(t, inMem.ReadProtobuf(ctx, outputLoc, actual)) { - flyteassert.EqualLiteralMap(t, inputs, actual) + flyteassert.EqualLiteralMap(t, inputs.GetInputs(), actual.GetOutputs()) } }) diff --git a/flytepropeller/pkg/controller/nodes/executor_test.go b/flytepropeller/pkg/controller/nodes/executor_test.go index 59a6e09f76..e953afcddb 100644 --- a/flytepropeller/pkg/controller/nodes/executor_test.go +++ b/flytepropeller/pkg/controller/nodes/executor_test.go @@ -71,10 +71,12 @@ func TestSetInputsForStartNode(t *testing.T) { exec, err := NewExecutor(ctx, config.GetConfig().NodeConfig, mockStorage, enQWf, eventMocks.NewMockEventSink(), adminClient, adminClient, 10, "s3://bucket/", fakeKubeClient, catalogClient, recoveryClient, eventConfig, testClusterID, signalClient, hf, promutils.NewTestScope()) assert.NoError(t, err) - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": coreutils.MustMakePrimitiveLiteral("hello"), - "y": coreutils.MustMakePrimitiveLiteral("blah"), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": coreutils.MustMakePrimitiveLiteral("hello"), + "y": coreutils.MustMakePrimitiveLiteral("blah"), + }, }, } @@ -98,9 +100,9 @@ func TestSetInputsForStartNode(t *testing.T) { s, err := exec.SetInputsForStartNode(ctx, w, w, w, inputs) assert.NoError(t, err) assert.Equal(t, interfaces.NodeStatusComplete, s) - actual := &core.LiteralMap{} + actual := &core.OutputData{} if assert.NoError(t, mockStorage.ReadProtobuf(ctx, "s3://test-bucket/exec/start-node/data/0/outputs.pb", actual)) { - flyteassert.EqualLiteralMap(t, inputs, actual) + flyteassert.EqualLiteralMap(t, inputs.GetInputs(), actual.GetOutputs()) } }) @@ -725,7 +727,7 @@ func TestNodeExecutor_RecursiveNodeHandler_Recurse(t *testing.T) { }, true, false, true, core.NodeExecution_RUNNING}, {"queued->queued", v1alpha1.NodePhaseQueued, v1alpha1.NodePhaseQueued, interfaces.NodePhasePending, func() (handler.Transition, error) { - return handler.DoTransition(handler.TransitionTypeEphemeral, handler.PhaseInfoQueued("reason", &core.LiteralMap{})), nil + return handler.DoTransition(handler.TransitionTypeEphemeral, handler.PhaseInfoQueued("reason", &core.InputData{})), nil }, true, false, false, core.NodeExecution_QUEUED}, {"queued->failing", v1alpha1.NodePhaseQueued, v1alpha1.NodePhaseFailing, interfaces.NodePhasePending, func() (handler.Transition, error) { @@ -1757,7 +1759,7 @@ func TestNodeExecutionEventV0(t *testing.T) { tID := &core.TaskExecutionIdentifier{ NodeExecutionId: nID, } - p := handler.PhaseInfoQueued("r", &core.LiteralMap{}) + p := handler.PhaseInfoQueued("r", &core.InputData{}) parentInfo := &mocks4.ImmutableParentInfo{} parentInfo.OnGetUniqueID().Return("np1") parentInfo.OnCurrentAttempt().Return(uint32(2)) @@ -1798,9 +1800,11 @@ func TestNodeExecutionEventV1(t *testing.T) { tID := &core.TaskExecutionIdentifier{ NodeExecutionId: nID, } - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("bar"), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("bar"), + }, }, } p := handler.PhaseInfoQueued("r", inputs) @@ -2376,7 +2380,7 @@ func TestRecover(t *testing.T) { t.Run("Fetch inputs", func(t *testing.T) { recoveryClient := &recoveryMocks.Client{} - recoveryClient.On("RecoverNodeExecution", mock.Anything, recoveryID, nodeID).Return( + recoveryClient.OnRecoverNodeExecutionMatch(mock.Anything, recoveryID, nodeID).Return( &admin.NodeExecution{ InputUri: "inputuri", Closure: &admin.NodeExecutionClosure{ @@ -2388,7 +2392,7 @@ func TestRecover(t *testing.T) { }, }, nil) - recoveryClient.On("RecoverNodeExecutionData", mock.Anything, recoveryID, nodeID).Return( + recoveryClient.OnRecoverNodeExecutionDataMatch(mock.Anything, recoveryID, nodeID).Return( &admin.NodeExecutionGetDataResponse{ FullOutputs: fullOutputs, }, nil) @@ -2398,11 +2402,12 @@ func TestRecover(t *testing.T) { mockPBStore.OnHeadMatch(mock.MatchedBy(func(ctx context.Context) bool { return true }), storage.DataReference(deckPath)). Return(&metadata, nil) - mockPBStore.On("WriteProtobuf", mock.Anything, mock.MatchedBy(func(reference storage.DataReference) bool { + mockPBStore.OnWriteProtobufMatch(mock.Anything, mock.MatchedBy(func(reference storage.DataReference) bool { return reference.String() == inputsPath || reference.String() == outputsPath }), mock.Anything, mock.Anything).Return(nil) - mockPBStore.On("ReadProtobuf", mock.Anything, storage.DataReference("inputuri"), &core.LiteralMap{}).Return(nil) + mockPBStore.OnReadProtobufAnyMatch(mock.Anything, storage.DataReference("inputuri"), &core.InputData{}, + mock.Anything).Return(0, nil) storageClient := &storage.DataStore{ ComposedProtobufStore: mockPBStore, @@ -2419,7 +2424,7 @@ func TestRecover(t *testing.T) { phaseInfo, err := executor.attemptRecovery(context.TODO(), nCtx) assert.NoError(t, err) assert.Equal(t, phaseInfo.GetPhase(), handler.EPhaseRecovered) - mockPBStore.AssertNumberOfCalls(t, "ReadProtobuf", 1) + mockPBStore.AssertNumberOfCalls(t, "ReadProtobufAny", 1) }) t.Run("Fetch outputs", func(t *testing.T) { recoveryClient := &recoveryMocks.Client{} diff --git a/flytepropeller/pkg/controller/nodes/gate/handler_test.go b/flytepropeller/pkg/controller/nodes/gate/handler_test.go index 488cb58a07..6a56623db7 100644 --- a/flytepropeller/pkg/controller/nodes/gate/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/gate/handler_test.go @@ -102,7 +102,7 @@ func createNodeExecutionContext(gateNode *v1alpha1.GateNodeSpec) *nodeMocks.Node ns.OnGetLastAttemptStartedAt().Return(&t) inputReader := &ioMocks.InputReader{} - inputReader.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + inputReader.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) dataStore, _ := storage.NewDataStore(&storage.Config{Type: storage.TypeMemory}, promutils.NewTestScope()) eCtx := &executormocks.ExecutionContext{} diff --git a/flytepropeller/pkg/controller/nodes/handler/transition_info_test.go b/flytepropeller/pkg/controller/nodes/handler/transition_info_test.go index 883dbd5f45..04d30dadc7 100644 --- a/flytepropeller/pkg/controller/nodes/handler/transition_info_test.go +++ b/flytepropeller/pkg/controller/nodes/handler/transition_info_test.go @@ -11,7 +11,7 @@ import ( ) func TestPhaseInfoQueued(t *testing.T) { - p := PhaseInfoQueued("Queued", &core.LiteralMap{}) + p := PhaseInfoQueued("Queued", &core.InputData{}) assert.Equal(t, EPhaseQueued, p.p) } @@ -62,9 +62,11 @@ func TestPhaseInfo(t *testing.T) { }) t.Run("queued", func(t *testing.T) { - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("bar"), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("bar"), + }, }, } p := PhaseInfoQueued("reason", inputs) diff --git a/flytepropeller/pkg/controller/nodes/handler/transition_test.go b/flytepropeller/pkg/controller/nodes/handler/transition_test.go index b2d62c793a..a7a6facf36 100644 --- a/flytepropeller/pkg/controller/nodes/handler/transition_test.go +++ b/flytepropeller/pkg/controller/nodes/handler/transition_test.go @@ -15,7 +15,7 @@ func AsPointer[T any](val T) *T { func TestDoTransition(t *testing.T) { t.Run("ephemeral", func(t *testing.T) { - tr := DoTransition(TransitionTypeEphemeral, PhaseInfoQueued("queued", &core.LiteralMap{})) + tr := DoTransition(TransitionTypeEphemeral, PhaseInfoQueued("queued", &core.InputData{})) assert.Equal(t, TransitionTypeEphemeral, tr.Type()) assert.Equal(t, EPhaseQueued, tr.Info().p) }) @@ -32,7 +32,7 @@ func TestDoTransition(t *testing.T) { } func TestTransition_WithInfo(t *testing.T) { - tr := DoTransition(TransitionTypeEphemeral, PhaseInfoQueued("queued", &core.LiteralMap{})) + tr := DoTransition(TransitionTypeEphemeral, PhaseInfoQueued("queued", &core.InputData{})) assert.Equal(t, EPhaseQueued, tr.info.p) tr = tr.WithInfo(PhaseInfoSuccess(&ExecutionInfo{})) assert.Equal(t, EPhaseSuccess, tr.info.p) diff --git a/flytepropeller/pkg/controller/nodes/subworkflow/handler_test.go b/flytepropeller/pkg/controller/nodes/subworkflow/handler_test.go index 6bf6781eac..817cb76454 100644 --- a/flytepropeller/pkg/controller/nodes/subworkflow/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/subworkflow/handler_test.go @@ -92,7 +92,7 @@ func createNodeContextWithVersion(phase v1alpha1.WorkflowNodePhase, n v1alpha1.E }) ir := &mocks4.InputReader{} - inputs := &core.LiteralMap{} + inputs := &core.InputData{} ir.OnGetMatch(mock.Anything).Return(inputs, nil) nCtx := &mocks3.NodeExecutionContext{} @@ -178,7 +178,7 @@ func TestWorkflowNodeHandler_StartNode_Launchplan(t *testing.T) { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), mock.MatchedBy(func(o *core.Identifier) bool { return lpID == o }), - mock.MatchedBy(func(o *core.LiteralMap) bool { return o.Literals == nil }), + mock.MatchedBy(func(o *core.InputData) bool { return o.GetInputs().GetLiterals() == nil }), ).Return(nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseUndefined, mockNode, mockNodeStatus) @@ -203,7 +203,7 @@ func TestWorkflowNodeHandler_StartNode_Launchplan(t *testing.T) { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), mock.MatchedBy(func(o *core.Identifier) bool { return lpID == o }), - mock.MatchedBy(func(o *core.LiteralMap) bool { return o.Literals == nil }), + mock.MatchedBy(func(o *core.InputData) bool { return o.GetInputs().GetLiterals() == nil }), ).Return(nil) nCtx := createNodeContextV1(v1alpha1.WorkflowNodePhaseUndefined, mockNode, mockNodeStatus) @@ -255,7 +255,7 @@ func TestWorkflowNodeHandler_CheckNodeStatus(t *testing.T) { }), ).Return(&admin.ExecutionClosure{ Phase: core.WorkflowExecution_RUNNING, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.Handle(ctx, nCtx) @@ -276,7 +276,7 @@ func TestWorkflowNodeHandler_CheckNodeStatus(t *testing.T) { }), ).Return(&admin.ExecutionClosure{ Phase: core.WorkflowExecution_RUNNING, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContextV1(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.Handle(ctx, nCtx) diff --git a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan_test.go b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan_test.go index 2e042d72a4..67cf8bb39b 100644 --- a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan_test.go +++ b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan_test.go @@ -80,11 +80,11 @@ func TestSubWorkflowHandler_StartLaunchPlan(t *testing.T) { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), mock.MatchedBy(func(o *core.Identifier) bool { return lpID == o }), - mock.MatchedBy(func(o *core.LiteralMap) bool { return o.Literals == nil }), + mock.MatchedBy(func(o *core.InputData) bool { return o.GetInputs().GetLiterals() == nil }), ).Return(nil) wfStatus := &mocks2.MutableWorkflowNodeStatus{} - mockNodeStatus.On("GetOrCreateWorkflowStatus").Return(wfStatus) + mockNodeStatus.OnGetOrCreateWorkflowStatus().Return(wfStatus) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseUndefined, mockNode, mockNodeStatus) s, err := h.StartLaunchPlan(ctx, nCtx) @@ -109,7 +109,7 @@ func TestSubWorkflowHandler_StartLaunchPlan(t *testing.T) { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), mock.MatchedBy(func(o *core.Identifier) bool { return lpID == o }), - mock.MatchedBy(func(o *core.LiteralMap) bool { return o.Literals == nil }), + mock.MatchedBy(func(o *core.InputData) bool { return o.GetInputs().GetLiterals() == nil }), ).Return(errors.Wrapf(launchplan.RemoteErrorAlreadyExists, fmt.Errorf("blah"), "failed")) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseUndefined, mockNode, mockNodeStatus) @@ -135,7 +135,7 @@ func TestSubWorkflowHandler_StartLaunchPlan(t *testing.T) { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), mock.MatchedBy(func(o *core.Identifier) bool { return lpID == o }), - mock.MatchedBy(func(o *core.LiteralMap) bool { return o.Literals == nil }), + mock.MatchedBy(func(o *core.InputData) bool { return o.GetInputs().GetLiterals() == nil }), ).Return(errors.Wrapf(launchplan.RemoteErrorSystem, fmt.Errorf("blah"), "failed")) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) @@ -161,7 +161,7 @@ func TestSubWorkflowHandler_StartLaunchPlan(t *testing.T) { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), mock.MatchedBy(func(o *core.Identifier) bool { return lpID == o }), - mock.MatchedBy(func(o *core.LiteralMap) bool { return o.Literals == nil }), + mock.MatchedBy(func(o *core.InputData) bool { return o.GetInputs().GetLiterals() == nil }), ).Return(errors.Wrapf(launchplan.RemoteErrorUser, fmt.Errorf("blah"), "failed")) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) @@ -215,7 +215,7 @@ func TestSubWorkflowHandler_StartLaunchPlan(t *testing.T) { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), mock.MatchedBy(func(o *core.Identifier) bool { return lpID == o }), - mock.MatchedBy(func(o *core.LiteralMap) bool { return o.Literals == nil }), + mock.MatchedBy(func(o *core.InputData) bool { return o.GetInputs().GetLiterals() == nil }), ).Return(nil) wfStatus := &mocks2.MutableWorkflowNodeStatus{} @@ -224,7 +224,7 @@ func TestSubWorkflowHandler_StartLaunchPlan(t *testing.T) { nCtx := &mocks3.NodeExecutionContext{} ir := &mocks4.InputReader{} - inputs := &core.LiteralMap{} + inputs := &core.InputData{} ir.OnGetMatch(mock.Anything).Return(inputs, nil) nCtx.OnInputReader().Return(ir) @@ -305,14 +305,14 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { h := launchPlanHandler{ launchPlan: mockLPExec, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), ).Return(&admin.ExecutionClosure{ Phase: core.WorkflowExecution_RUNNING, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.CheckLaunchPlanStatus(ctx, nCtx) @@ -328,7 +328,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { h := launchPlanHandler{ launchPlan: mockLPExec, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) @@ -355,15 +355,17 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - op := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": coreutils.MustMakePrimitiveLiteral(1), + op := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": coreutils.MustMakePrimitiveLiteral(1), + }, }, } err := mockStore.WriteProtobuf(ctx, uri, storage.Options{}, op) assert.NoError(t, err) - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) @@ -384,9 +386,10 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { s, err := h.CheckLaunchPlanStatus(ctx, nCtx) assert.NoError(t, err) assert.Equal(t, handler.EPhaseSuccess, s.Info().GetPhase()) - final := &core.LiteralMap{} - assert.NoError(t, mockStore.ReadProtobuf(ctx, v1alpha1.GetOutputsFile(dataDir), final), mockStore) - v, ok := final.GetLiterals()["x"] + final := &core.OutputData{} + _, err = mockStore.ReadProtobufAny(ctx, v1alpha1.GetOutputsFile(dataDir), final) + assert.NoError(t, err, mockStore) + v, ok := final.GetOutputs().GetLiterals()["x"] assert.True(t, ok) assert.Equal(t, int64(1), v.GetScalar().GetPrimitive().GetInteger()) }) @@ -400,12 +403,14 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - op := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "x": coreutils.MustMakePrimitiveLiteral(1), + op := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "x": coreutils.MustMakePrimitiveLiteral(1), + }, }, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) @@ -415,7 +420,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { OutputResult: &admin.ExecutionClosure_Outputs{ Outputs: &admin.LiteralMapBlob{ Data: &admin.LiteralMapBlob_Values{ - Values: op, + Values: op.GetOutputs(), }, }, }, @@ -426,9 +431,10 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { s, err := h.CheckLaunchPlanStatus(ctx, nCtx) assert.NoError(t, err) assert.Equal(t, s.Info().GetPhase(), handler.EPhaseSuccess) - final := &core.LiteralMap{} - assert.NoError(t, mockStore.ReadProtobuf(ctx, v1alpha1.GetOutputsFile(dataDir), final)) - v, ok := final.GetLiterals()["x"] + final := &core.OutputData{} + _, err = mockStore.ReadProtobufAny(ctx, v1alpha1.GetOutputsFile(dataDir), final) + assert.NoError(t, err, mockStore) + v, ok := final.GetOutputs().GetLiterals()["x"] assert.True(t, ok) assert.Equal(t, int64(1), v.GetScalar().GetPrimitive().GetInteger()) }) @@ -442,7 +448,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) @@ -455,7 +461,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { Code: "code", }, }, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.CheckLaunchPlanStatus(ctx, nCtx) @@ -472,14 +478,14 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), ).Return(&admin.ExecutionClosure{ Phase: core.WorkflowExecution_FAILED, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.CheckLaunchPlanStatus(ctx, nCtx) @@ -496,14 +502,14 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), ).Return(&admin.ExecutionClosure{ Phase: core.WorkflowExecution_ABORTED, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.CheckLaunchPlanStatus(ctx, nCtx) @@ -520,12 +526,12 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), - ).Return(nil, &core.LiteralMap{}, errors.Wrapf(launchplan.RemoteErrorNotFound, fmt.Errorf("some error"), "not found")) + ).Return(nil, &core.OutputData{}, errors.Wrapf(launchplan.RemoteErrorNotFound, fmt.Errorf("some error"), "not found")) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.CheckLaunchPlanStatus(ctx, nCtx) @@ -542,12 +548,12 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) }), - ).Return(nil, &core.LiteralMap{}, errors.Wrapf(launchplan.RemoteErrorSystem, fmt.Errorf("some error"), "not found")) + ).Return(nil, &core.OutputData{}, errors.Wrapf(launchplan.RemoteErrorSystem, fmt.Errorf("some error"), "not found")) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) s, err := h.CheckLaunchPlanStatus(ctx, nCtx) @@ -570,7 +576,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { "x": coreutils.MustMakePrimitiveLiteral(1), }, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) @@ -584,7 +590,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { }, }, }, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) nCtx.OnDataStore().Return(mockStore) @@ -604,7 +610,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { eventConfig: eventConfig, } - mockLPExec.On("GetStatus", + mockLPExec.OnGetStatusMatch( ctx, mock.MatchedBy(func(o *core.WorkflowExecutionIdentifier) bool { return assert.Equal(t, wfExecID.Project, o.Project) && assert.Equal(t, wfExecID.Domain, o.Domain) @@ -618,7 +624,7 @@ func TestSubWorkflowHandler_CheckLaunchPlanStatus(t *testing.T) { }, }, }, - }, &core.LiteralMap{}, nil) + }, &core.OutputData{}, nil) nCtx := createNodeContext(v1alpha1.WorkflowNodePhaseExecuting, mockNode, mockNodeStatus) nCtx.OnDataStore().Return(mockStore) @@ -649,12 +655,12 @@ func TestLaunchPlanHandler_HandleAbort(t *testing.T) { }) mockNode := &mocks2.ExecutableNode{} - mockNode.On("GetID").Return(nodeID) - mockNode.On("GetWorkflowNode").Return(mockWfNode) + mockNode.OnGetID().Return(nodeID) + mockNode.OnGetWorkflowNode().Return(mockWfNode) mockNodeStatus := &mocks2.ExecutableNodeStatus{} - mockNodeStatus.On("GetAttempts").Return(attempts) - mockNodeStatus.On("GetDataDir").Return(dataDir) + mockNodeStatus.OnGetAttempts().Return(attempts) + mockNodeStatus.OnGetDataDir().Return(dataDir) t.Run("abort-success", func(t *testing.T) { mockLPExec := &mocks.Executor{} diff --git a/flytepropeller/pkg/controller/nodes/task/handler_test.go b/flytepropeller/pkg/controller/nodes/task/handler_test.go index 082a27dd20..7b132ab608 100644 --- a/flytepropeller/pkg/controller/nodes/task/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/task/handler_test.go @@ -1138,7 +1138,7 @@ func Test_task_Finalize(t *testing.T) { n.OnGetResources().Return(res) ir := &ioMocks.InputReader{} - ir.OnGetMatch(mock.Anything).Return(&core.LiteralMap{}, nil) + ir.OnGetMatch(mock.Anything).Return(&core.InputData{}, nil) nCtx := &nodeMocks.NodeExecutionContext{} nCtx.OnNodeExecutionMetadata().Return(nm) nCtx.OnNode().Return(n) diff --git a/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go b/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go index 6c23898dc0..e53de83e10 100644 --- a/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go +++ b/flytepropeller/pkg/controller/nodes/task/k8s/event_watcher.go @@ -3,12 +3,10 @@ package k8s import ( "context" "fmt" - "k8s.io/client-go/tools/cache" "sort" "sync" "time" - "github.com/flyteorg/flyte/flytestdlib/logger" eventsv1 "k8s.io/api/events/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -17,6 +15,9 @@ import ( "k8s.io/client-go/informers" informerEventsv1 "k8s.io/client-go/informers/events/v1" "k8s.io/client-go/kubernetes" + "k8s.io/client-go/tools/cache" + + "github.com/flyteorg/flyte/flytestdlib/logger" ) type EventWatcher interface { diff --git a/flytepropeller/pkg/controller/nodes/task/transformer_test.go b/flytepropeller/pkg/controller/nodes/task/transformer_test.go index db89dda3e6..bf97d29add 100644 --- a/flytepropeller/pkg/controller/nodes/task/transformer_test.go +++ b/flytepropeller/pkg/controller/nodes/task/transformer_test.go @@ -8,6 +8,7 @@ import ( "github.com/golang/protobuf/ptypes" structpb "github.com/golang/protobuf/ptypes/struct" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" @@ -50,7 +51,8 @@ func TestToTaskExecutionEvent(t *testing.T) { in := &mocks.InputFilePaths{} const inputPath = "in" - in.On("GetInputPath").Return(storage.DataReference(inputPath)) + in.OnGetInputPathMatch(mock.Anything).Return(inputPath, nil) + in.OnGetInputDataPath().Return(inputPath) out := &mocks.OutputFilePaths{} const outputPath = "out" @@ -196,11 +198,14 @@ func TestToTaskExecutionEvent(t *testing.T) { assert.Equal(t, testClusterID, tev.ProducerId) t.Run("inline event policy", func(t *testing.T) { - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("bar"), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("bar"), + }, }, } + tev, err := ToTaskExecutionEvent(ToTaskExecutionEventInputs{ TaskExecContext: tCtx, InputReader: in, @@ -242,11 +247,11 @@ func TestToTaskExecutionEventWithParent(t *testing.T) { in := &mocks.InputFilePaths{} const inputPath = "in" - in.On("GetInputPath").Return(storage.DataReference(inputPath)) + in.OnGetInputDataPath().Return(storage.DataReference(inputPath)) out := &mocks.OutputFilePaths{} const outputPath = "out" - out.On("GetOutputPath").Return(storage.DataReference(outputPath)) + out.OnGetOutputPath().Return(storage.DataReference(outputPath)) nodeExecutionMetadata := nodemocks.NodeExecutionMetadata{} nodeExecutionMetadata.OnIsInterruptible().Return(true) diff --git a/flytepropeller/pkg/controller/nodes/transformers_test.go b/flytepropeller/pkg/controller/nodes/transformers_test.go index f1d5202401..89426d3ec1 100644 --- a/flytepropeller/pkg/controller/nodes/transformers_test.go +++ b/flytepropeller/pkg/controller/nodes/transformers_test.go @@ -94,9 +94,11 @@ func TestToNodeExecutionEvent(t *testing.T) { assert.Equal(t, nodeExecutionEventVersion, nev.EventVersion) }) t.Run("inline events", func(t *testing.T) { - inputs := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo": coreutils.MustMakeLiteral("bar"), + inputs := &core.InputData{ + Inputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo": coreutils.MustMakeLiteral("bar"), + }, }, } info := handler.PhaseInfoQueued("z", inputs) diff --git a/flytepropeller/pkg/controller/workflow/executor.go b/flytepropeller/pkg/controller/workflow/executor.go index 2a83d5c92f..a83bc9632d 100644 --- a/flytepropeller/pkg/controller/workflow/executor.go +++ b/flytepropeller/pkg/controller/workflow/executor.go @@ -99,13 +99,20 @@ func (c *workflowExecutor) handleReadyWorkflow(ctx context.Context, w *v1alpha1. } w.GetExecutionStatus().SetDataDir(ref) var inputs *core.InputData - if w.Inputs != nil { + if w.InputData != nil { inputs = w.InputData.InputData if inputs == nil && w.Inputs.LiteralMap != nil { inputs = &core.InputData{ Inputs: w.Inputs.LiteralMap, } } + } else if w.Inputs != nil { + inputs = &core.InputData{Inputs: w.Inputs.LiteralMap} + if inputs == nil && w.Inputs.LiteralMap != nil { + inputs = &core.InputData{ + Inputs: w.Inputs.LiteralMap, + } + } } // Before starting the subworkflow, lets set the inputs for the Workflow. The inputs for a SubWorkflow are essentially // Copy of the inputs to the Node diff --git a/flytestdlib/otelutils/factory_test.go b/flytestdlib/otelutils/factory_test.go index da4e184c14..0d1289def0 100644 --- a/flytestdlib/otelutils/factory_test.go +++ b/flytestdlib/otelutils/factory_test.go @@ -23,8 +23,7 @@ func TestRegisterTracerProvider(t *testing.T) { FileConfig: FileConfig{ Filename: "/dev/null", }, - JaegerConfig: JaegerConfig{ - }, + JaegerConfig: JaegerConfig{}, } err = RegisterTracerProvider(serviceName, &fullConfig) assert.Nil(t, err) diff --git a/flytestdlib/storage/protobuf_store.go b/flytestdlib/storage/protobuf_store.go index ba57893f08..7ea8bfed5f 100644 --- a/flytestdlib/storage/protobuf_store.go +++ b/flytestdlib/storage/protobuf_store.go @@ -7,10 +7,9 @@ import ( "time" protoV1 "github.com/golang/protobuf/proto" - "google.golang.org/protobuf/proto" - errs "github.com/pkg/errors" "github.com/prometheus/client_golang/prometheus" + "google.golang.org/protobuf/proto" "github.com/flyteorg/flyte/flytestdlib/ioutils" "github.com/flyteorg/flyte/flytestdlib/logger" diff --git a/flytestdlib/storage/protobuf_store_test.go b/flytestdlib/storage/protobuf_store_test.go index bc52664294..655a603be1 100644 --- a/flytestdlib/storage/protobuf_store_test.go +++ b/flytestdlib/storage/protobuf_store_test.go @@ -3,7 +3,6 @@ package storage import ( "context" "fmt" - "github.com/golang/protobuf/ptypes/timestamp" "io" "math/rand" "net/http" @@ -11,6 +10,7 @@ import ( "testing" "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes/timestamp" errs "github.com/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" From 8497adddf6f2f9fdce92620424b3dcd1c6a7a333 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Sat, 6 Jan 2024 09:32:57 -0800 Subject: [PATCH 12/25] Fix arraynode Signed-off-by: Haytham Abuelfutuh --- flytepropeller/pkg/controller/nodes/array/handler.go | 12 ++++++------ flytepropeller/pkg/controller/nodes/array/worker.go | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/flytepropeller/pkg/controller/nodes/array/handler.go b/flytepropeller/pkg/controller/nodes/array/handler.go index e20c8737d9..7923c54de0 100644 --- a/flytepropeller/pkg/controller/nodes/array/handler.go +++ b/flytepropeller/pkg/controller/nodes/array/handler.go @@ -425,7 +425,7 @@ func (a *arrayNodeHandler) Handle(ctx context.Context, nCtx interfaces.NodeExecu gatherOutputsRequest := &gatherOutputsRequest{ ctx: ctx, responseChannel: make(chan struct { - literalMap map[string]*idlcore.Literal + outputData *idlcore.OutputData error }, 1), } @@ -437,7 +437,7 @@ func (a *arrayNodeHandler) Handle(ctx context.Context, nCtx interfaces.NodeExecu if err != nil { // Should never happen gatherOutputsRequest.responseChannel <- struct { - literalMap map[string]*idlcore.Literal + outputData *idlcore.OutputData error }{nil, err} continue @@ -450,9 +450,9 @@ func (a *arrayNodeHandler) Handle(ctx context.Context, nCtx interfaces.NodeExecu } gatherOutputsRequest.responseChannel <- struct { - literalMap map[string]*idlcore.Literal + outputData *idlcore.OutputData error - }{outputLiterals, nil} + }{&idlcore.OutputData{Outputs: &idlcore.LiteralMap{Literals: outputLiterals}}, nil} } else { // initialize subNode reader currentAttempt := int(arrayNodeState.SubNodeRetryAttempts.GetItem(i)) @@ -460,7 +460,7 @@ func (a *arrayNodeHandler) Handle(ctx context.Context, nCtx interfaces.NodeExecu strconv.Itoa(i), strconv.Itoa(currentAttempt)) if err != nil { gatherOutputsRequest.responseChannel <- struct { - literalMap map[string]*idlcore.Literal + outputData *idlcore.OutputData error }{nil, err} continue @@ -488,7 +488,7 @@ func (a *arrayNodeHandler) Handle(ctx context.Context, nCtx interfaces.NodeExecu } // append literal for all output variables - for name, literal := range outputResponse.literalMap { + for name, literal := range outputResponse.outputData.GetOutputs().GetLiterals() { appendLiteral(name, literal, outputLiterals, len(arrayNodeState.SubNodePhases.GetItems())) } } diff --git a/flytepropeller/pkg/controller/nodes/array/worker.go b/flytepropeller/pkg/controller/nodes/array/worker.go index b5b5db49da..4aac4bc244 100644 --- a/flytepropeller/pkg/controller/nodes/array/worker.go +++ b/flytepropeller/pkg/controller/nodes/array/worker.go @@ -37,7 +37,7 @@ type gatherOutputsRequest struct { ctx context.Context reader *ioutils.RemoteFileOutputReader responseChannel chan struct { - literalMap map[string]*idlcore.Literal + outputData *idlcore.OutputData error } } @@ -74,7 +74,7 @@ func (w *worker) run() { error }{nodeStatus, err} case gatherOutputsRequest := <-w.gatherOutputsRequestChannel: - var literalMap map[string]*idlcore.Literal + var outputData *idlcore.OutputData var err error func() { defer func() { @@ -92,14 +92,14 @@ func (w *worker) run() { } else if executionErr != nil { err = fmt.Errorf("%s", executionErr.String()) } else { - literalMap = outputs.GetLiterals() + outputData = outputs } }() gatherOutputsRequest.responseChannel <- struct { - literalMap map[string]*idlcore.Literal + outputData *idlcore.OutputData error - }{literalMap, nil} + }{outputData, nil} } } } From 8509f8487944b82b55e0aef1903dff7d6f8be0b2 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Mon, 8 Jan 2024 23:25:09 -0800 Subject: [PATCH 13/25] wip Signed-off-by: Haytham Abuelfutuh --- .../implementations/cloudevent_publisher.go | 20 +++++------ .../pkg/manager/impl/execution_manager.go | 8 ++--- .../manager/impl/execution_manager_test.go | 9 ++--- .../impl/node_execution_manager_test.go | 5 ++- .../impl/task_execution_manager_test.go | 5 ++- flyteadmin/pkg/manager/impl/util/data.go | 36 +++++++++++++++++++ 6 files changed, 56 insertions(+), 27 deletions(-) diff --git a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go index 20bdc0203d..9e8b5cf4af 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go @@ -182,7 +182,7 @@ func (c *CloudEventWrappedPublisher) TransformWorkflowExecutionEvent(ctx context } // Get inputs to the workflow execution - var inputs *core.LiteralMap + var inputs *core.InputData inputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, c.storageClient, executionModel.InputsURI.String()) if err != nil { @@ -196,12 +196,12 @@ func (c *CloudEventWrappedPublisher) TransformWorkflowExecutionEvent(ctx context } // Get outputs from the workflow execution - var outputs *core.LiteralMap + var outputs *core.OutputData if rawEvent.GetOutputData() != nil { outputs = rawEvent.GetOutputData() } else if len(rawEvent.GetOutputUri()) > 0 { // GetInputs actually fetches the data, even though this is an output - outputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, c.storageClient, rawEvent.GetOutputUri()) + outputs, _, err = util.GetOutputData(ctx, c.urlData, &c.remoteDataConfig, c.storageClient, rawEvent.GetOutputUri()) if err != nil { // gatepr: metric this logger.Warningf(ctx, "Error fetching output literal map %v", rawEvent) @@ -211,9 +211,9 @@ func (c *CloudEventWrappedPublisher) TransformWorkflowExecutionEvent(ctx context return &event.CloudEventWorkflowExecution{ RawEvent: rawEvent, - OutputData: outputs, + OutputData: outputs.GetOutputs(), OutputInterface: &workflowInterface, - InputData: inputs, + InputData: inputs.GetInputs(), ArtifactIds: spec.GetMetadata().GetArtifactIds(), ReferenceExecution: spec.GetMetadata().GetReferenceExecution(), Principal: spec.GetMetadata().Principal, @@ -306,7 +306,7 @@ func (c *CloudEventWrappedPublisher) TransformNodeExecutionEvent(ctx context.Con // Get inputs/outputs // This will likely need to move to the artifact service side, given message size limits. // Replace with call to GetNodeExecutionData - var inputs *core.LiteralMap + var inputs *core.InputData logger.Debugf(ctx, "RawEvent id %v", rawEvent.Id) if len(rawEvent.GetInputUri()) > 0 { inputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, @@ -324,12 +324,12 @@ func (c *CloudEventWrappedPublisher) TransformNodeExecutionEvent(ctx context.Con } // This will likely need to move to the artifact service side, given message size limits. - var outputs *core.LiteralMap + var outputs *core.OutputData if rawEvent.GetOutputData() != nil { outputs = rawEvent.GetOutputData() } else if len(rawEvent.GetOutputUri()) > 0 { // GetInputs actually fetches the data, even though this is an output - outputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, + outputs, _, err = util.GetOutputData(ctx, c.urlData, &c.remoteDataConfig, c.storageClient, rawEvent.GetOutputUri()) if err != nil { fmt.Printf("Error fetching output literal map %v", rawEvent) @@ -373,9 +373,9 @@ func (c *CloudEventWrappedPublisher) TransformNodeExecutionEvent(ctx context.Con return &event.CloudEventNodeExecution{ RawEvent: rawEvent, TaskExecId: taskExecID, - OutputData: outputs, + OutputData: outputs.GetOutputs(), OutputInterface: typedInterface, - InputData: inputs, + InputData: inputs.GetInputs(), ArtifactIds: spec.GetMetadata().GetArtifactIds(), Principal: spec.GetMetadata().Principal, LaunchPlanId: spec.LaunchPlan, diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 9218f24744..61bffd099d 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -1316,13 +1316,13 @@ func (m *ExecutionManager) CreateExecution( }, nil } -func readInputsFromExecutionModel(ctx context.Context, inputsUri storage.DataReference, specBytes []byte, storageClient storage.ProtobufStore) (*core.InputData, error) { +func readInputsFromExecutionModel(ctx context.Context, inputsURI storage.DataReference, specBytes []byte, storageClient storage.ProtobufStore) (*core.InputData, error) { var inputData *core.InputData - if len(inputsUri) > 0 { + if len(inputsURI) > 0 { inputData = &core.InputData{} inputs := &core.LiteralMap{} - if msgIndex, err := storageClient.ReadProtobufAny(ctx, inputsUri, inputData, inputs); err != nil { - return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to read inputs proto from [%v]. Error: %v", inputsUri, err) + if msgIndex, err := storageClient.ReadProtobufAny(ctx, inputsURI, inputData, inputs); err != nil { + return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to read inputs proto from [%v]. Error: %v", inputsURI, err) } else if msgIndex == 1 { inputData = migrateInputData(inputData, inputs) } diff --git a/flyteadmin/pkg/manager/impl/execution_manager_test.go b/flyteadmin/pkg/manager/impl/execution_manager_test.go index 407eb03403..c8589dac20 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/execution_manager_test.go @@ -8,8 +8,6 @@ import ( "testing" "time" - protoV2 "google.golang.org/protobuf/proto" - "github.com/benbjohnson/clock" "github.com/gogo/protobuf/jsonpb" "github.com/golang/protobuf/proto" @@ -19,6 +17,7 @@ import ( "github.com/stretchr/testify/mock" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + protoV2 "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/timestamppb" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/sets" @@ -1074,14 +1073,10 @@ func TestCreateExecutionInterruptible(t *testing.T) { mockExecutor.OnID().Return("testMockExecutor") r := plugins.NewRegistry() r.RegisterDefault(plugins.PluginIDWorkflowExecutor, &mockExecutor) -<<<<<<< HEAD execManager := NewExecutionManager(repository, r, getMockExecutionsConfigProvider(), getMockStorageForExecTest(context.Background()), mockScope.NewTestScope(), mockScope.NewTestScope(), &mockPublisher, mockExecutionRemoteURL, nil, nil, nil, - nil, &eventWriterMocks.WorkflowExecutionEventWriter{}) -======= - execManager := NewExecutionManager(repository, r, getMockExecutionsConfigProvider(), getMockStorageForExecTest(context.Background()), mockScope.NewTestScope(), mockScope.NewTestScope(), &mockPublisher, mockExecutionRemoteURL, nil, nil, nil, nil, &eventWriterMocks.WorkflowExecutionEventWriter{}, artifacts.NewArtifactRegistry(context.Background(), nil)) ->>>>>>> 513c3e1b8dba948cb2443609b27aae04d5609af4 + nil, &eventWriterMocks.WorkflowExecutionEventWriter{}, artifacts.NewArtifactRegistry(context.Background(), nil)) _, err := execManager.CreateExecution(context.Background(), request, requestedAt) if !assert.Nil(t, err) { diff --git a/flyteadmin/pkg/manager/impl/node_execution_manager_test.go b/flyteadmin/pkg/manager/impl/node_execution_manager_test.go index e2c8d1b69b..87e6ec4894 100644 --- a/flyteadmin/pkg/manager/impl/node_execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/node_execution_manager_test.go @@ -7,17 +7,16 @@ import ( "testing" "time" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" - protoV2 "google.golang.org/protobuf/proto" - "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes" "github.com/stretchr/testify/assert" "google.golang.org/grpc/codes" + protoV2 "google.golang.org/protobuf/proto" eventWriterMocks "github.com/flyteorg/flyte/flyteadmin/pkg/async/events/mocks" "github.com/flyteorg/flyte/flyteadmin/pkg/common" commonMocks "github.com/flyteorg/flyte/flyteadmin/pkg/common/mocks" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" dataMocks "github.com/flyteorg/flyte/flyteadmin/pkg/data/mocks" flyteAdminErrors "github.com/flyteorg/flyte/flyteadmin/pkg/errors" "github.com/flyteorg/flyte/flyteadmin/pkg/manager/impl/testutils" diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager_test.go b/flyteadmin/pkg/manager/impl/task_execution_manager_test.go index 168c541099..d5d2f1fcaa 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager_test.go @@ -7,16 +7,15 @@ import ( "testing" "time" - commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" - protoV2 "google.golang.org/protobuf/proto" - "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes" "github.com/stretchr/testify/assert" "google.golang.org/grpc/codes" + protoV2 "google.golang.org/protobuf/proto" "github.com/flyteorg/flyte/flyteadmin/pkg/common" commonMocks "github.com/flyteorg/flyte/flyteadmin/pkg/common/mocks" + commonTestUtils "github.com/flyteorg/flyte/flyteadmin/pkg/common/testutils" dataMocks "github.com/flyteorg/flyte/flyteadmin/pkg/data/mocks" flyteAdminErrors "github.com/flyteorg/flyte/flyteadmin/pkg/errors" "github.com/flyteorg/flyte/flyteadmin/pkg/manager/impl/testutils" diff --git a/flyteadmin/pkg/manager/impl/util/data.go b/flyteadmin/pkg/manager/impl/util/data.go index 59b0c038a0..a011e08df4 100644 --- a/flyteadmin/pkg/manager/impl/util/data.go +++ b/flyteadmin/pkg/manager/impl/util/data.go @@ -64,6 +64,42 @@ func GetInputs(ctx context.Context, urlData dataInterfaces.RemoteURLInterface, return &fullInputs, &inputsURLBlob, nil } +// GetOutputData returns an output URL blob and if config settings permit, inline outputs data for an execution. +func GetOutputData(ctx context.Context, urlData dataInterfaces.RemoteURLInterface, + remoteDataConfig *runtimeInterfaces.RemoteDataConfig, storageClient *storage.DataStore, outputURI string) ( + *core.OutputData, *admin.UrlBlob, error) { + var outputsURLBlob admin.UrlBlob + var fullOutputs core.OutputData + + if len(outputURI) == 0 { + return &fullOutputs, &outputsURLBlob, nil + } + + var err error + if remoteDataConfig.SignedURL.Enabled { + outputsURLBlob, err = urlData.Get(ctx, outputURI) + if err != nil { + return nil, nil, err + } + } + + if shouldFetchData(remoteDataConfig, outputsURLBlob) { + oldOutputs := &core.LiteralMap{} + msgIndex, err := storageClient.ReadProtobufAny(ctx, storage.DataReference(outputURI), &fullOutputs, oldOutputs) + if err != nil { + // If we fail to read the protobuf from the remote store, we shouldn't fail the request altogether. + // Instead we return the signed URL blob so that the client can use that to fetch the input data. + logger.Warningf(ctx, "Failed to read outputs from URI [%s] with err: %v", outputURI, err) + } else if msgIndex == 1 { + fullOutputs = core.OutputData{ + Outputs: oldOutputs, + } + } + } + + return &fullOutputs, &outputsURLBlob, nil +} + // ExecutionClosure defines common methods in NodeExecutionClosure and TaskExecutionClosure used to return output data. type ExecutionClosure interface { GetOutputUri() string //nolint From 35419b60a0467c0c938f93b5b2250f82c56d655e Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Mon, 8 Jan 2024 23:39:38 -0800 Subject: [PATCH 14/25] lint Signed-off-by: Haytham Abuelfutuh --- .../go/tasks/pluginmachinery/k8s/client.go | 2 +- .../plugins/webapi/agent/integration_test.go | 19 ++++++++++++------- .../controller/nodes/array/handler_test.go | 8 ++++++-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/flyteplugins/go/tasks/pluginmachinery/k8s/client.go b/flyteplugins/go/tasks/pluginmachinery/k8s/client.go index 3278ee5218..ad56c6fef8 100644 --- a/flyteplugins/go/tasks/pluginmachinery/k8s/client.go +++ b/flyteplugins/go/tasks/pluginmachinery/k8s/client.go @@ -98,7 +98,7 @@ func NewKubeClient(config *rest.Config, options Options) (core.KubeClient, error if options.ClientOptions == nil { options.ClientOptions = &client.Options{ HTTPClient: httpClient, - Mapper: mapper, + Mapper: mapper, } } diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go b/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go index f4fbfbd694..57ad957b98 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go @@ -76,8 +76,10 @@ func (m *MockSyncTask) CreateTask(_ context.Context, createTaskRequest *admin.Cr Res: &admin.CreateTaskResponse_Resource{ Resource: &admin.Resource{ State: admin.State_SUCCEEDED, - Outputs: &flyteIdlCore.LiteralMap{ - Literals: map[string]*flyteIdlCore.Literal{}, + Outputs: &flyteIdlCore.OutputData{ + Outputs: &flyteIdlCore.LiteralMap{ + Literals: map[string]*flyteIdlCore.Literal{}, + }, }, Message: "Sync task finished", LogLinks: []*flyteIdlCore.TaskLog{{Uri: "http://localhost:3000/log", Name: "Log Link"}}, @@ -89,11 +91,14 @@ func (m *MockSyncTask) CreateTask(_ context.Context, createTaskRequest *admin.Cr func (m *MockSyncTask) GetTask(_ context.Context, req *admin.GetTaskRequest, _ ...grpc.CallOption) (*admin.GetTaskResponse, error) { if req.GetTaskType() == "fake_task" { - return &admin.GetTaskResponse{Resource: &admin.Resource{State: admin.State_SUCCEEDED, Outputs: &flyteIdlCore.LiteralMap{ - Literals: map[string]*flyteIdlCore.Literal{ - "arr": coreutils.MustMakeLiteral([]interface{}{[]interface{}{"a", "b"}, []interface{}{1, 2}}), - }, - }}}, nil + return &admin.GetTaskResponse{Resource: &admin.Resource{State: admin.State_SUCCEEDED, + Outputs: &flyteIdlCore.OutputData{ + Outputs: &flyteIdlCore.LiteralMap{ + Literals: map[string]*flyteIdlCore.Literal{ + "arr": coreutils.MustMakeLiteral([]interface{}{[]interface{}{"a", "b"}, []interface{}{1, 2}}), + }, + }, + }}}, nil } return &admin.GetTaskResponse{Resource: &admin.Resource{State: admin.State_SUCCEEDED}}, nil } diff --git a/flytepropeller/pkg/controller/nodes/array/handler_test.go b/flytepropeller/pkg/controller/nodes/array/handler_test.go index e562253274..82bbdc5994 100644 --- a/flytepropeller/pkg/controller/nodes/array/handler_test.go +++ b/flytepropeller/pkg/controller/nodes/array/handler_test.go @@ -748,7 +748,9 @@ func TestHandleArrayNodePhaseExecutingSubNodeFailures(t *testing.T) { arrayNodeState := &handler.ArrayNodeState{ Phase: v1alpha1.ArrayNodePhaseNone, } - nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, &idlcore.InputData{ + Inputs: literalMap, + }, &arrayNodeSpec, arrayNodeState) // initialize ArrayNodeHandler nodeHandler := &mocks.NodeHandler{} @@ -776,7 +778,9 @@ func TestHandleArrayNodePhaseExecutingSubNodeFailures(t *testing.T) { // evaluate node until failure attempts := 1 for { - nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, literalMap, &arrayNodeSpec, arrayNodeState) + nCtx := createNodeExecutionContext(dataStore, eventRecorder, nil, &idlcore.InputData{ + Inputs: literalMap, + }, &arrayNodeSpec, arrayNodeState) _, err = arrayNodeHandler.Handle(ctx, nCtx) assert.NoError(t, err) From 624e57f9711ba29fc1366888a8641a7d0628e8b8 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Tue, 23 Jan 2024 09:21:47 -0800 Subject: [PATCH 15/25] check for proto diff Signed-off-by: Haytham Abuelfutuh --- docs/_ext/import_projects.py | 10 +- docs/conf.py | 4 +- docs/deployment/plugins/webapi/databricks.rst | 13 +- docs/deployment/plugins/webapi/snowflake.rst | 13 +- docs/flytectl_overview.rst | 107 - docs/index.md | 12 +- docs/reference_flytectl.md | 11 - docs/reference_flytekit.md | 20 - .../gen/pb-cpp/flyteidl/admin/common.pb.cc | 404 +- .../gen/pb-cpp/flyteidl/admin/common.pb.h | 204 + .../gen/pb-cpp/flyteidl/admin/execution.pb.cc | 352 +- .../gen/pb-cpp/flyteidl/admin/execution.pb.h | 74 +- .../pb-cpp/flyteidl/admin/launch_plan.pb.cc | 86 +- .../pb-cpp/flyteidl/admin/launch_plan.pb.h | 68 + .../flyteidl/admin/matchable_resource.pb.cc | 108 +- .../flyteidl/admin/matchable_resource.pb.h | 68 + .../gen/pb-cpp/flyteidl/admin/project.pb.cc | 112 +- .../gen/pb-cpp/flyteidl/admin/project.pb.h | 68 + .../flyteidl/admin/project_attributes.pb.cc | 267 +- .../flyteidl/admin/project_attributes.pb.h | 204 + .../admin/project_domain_attributes.pb.cc | 277 +- .../admin/project_domain_attributes.pb.h | 204 + .../flyteidl/admin/workflow_attributes.pb.cc | 273 +- .../flyteidl/admin/workflow_attributes.pb.h | 204 + .../pb-cpp/flyteidl/artifact/artifacts.pb.cc | 92 +- .../gen/pb-cpp/flyteidl/core/identifier.pb.cc | 193 +- .../gen/pb-cpp/flyteidl/core/identifier.pb.h | 136 + .../flyteidl/datacatalog/datacatalog.pb.cc | 311 +- .../flyteidl/datacatalog/datacatalog.pb.h | 180 + .../pb-cpp/flyteidl/service/admin.grpc.pb.h | 18 +- .../gen/pb-cpp/flyteidl/service/admin.pb.cc | 597 +- .../gen/pb-go/flyteidl/admin/common.pb.go | 186 +- .../gen/pb-go/flyteidl/admin/execution.pb.go | 250 +- .../pb-go/flyteidl/admin/launch_plan.pb.go | 167 +- .../flyteidl/admin/matchable_resource.pb.go | 200 +- .../gen/pb-go/flyteidl/admin/project.pb.go | 78 +- .../flyteidl/admin/project_attributes.pb.go | 96 +- .../admin/project_domain_attributes.pb.go | 100 +- .../flyteidl/admin/workflow_attributes.pb.go | 100 +- .../pb-go/flyteidl/artifact/artifacts.pb.go | 215 +- .../flyteidl/artifact/artifacts.pb.gw.go | 404 +- .../flyteidl/artifact/artifacts.swagger.json | 630 +- .../gen/pb-go/flyteidl/core/identifier.pb.go | 85 +- .../flyteidl/datacatalog/datacatalog.pb.go | 247 +- .../gen/pb-go/flyteidl/service/admin.pb.go | 303 +- .../gen/pb-go/flyteidl/service/admin.pb.gw.go | 6497 +++++++++-- .../pb-go/flyteidl/service/admin.swagger.json | 5835 +++++++--- .../pb-go/flyteidl/service/agent.swagger.json | 8 + .../flyteidl/service/dataproxy.swagger.json | 4 + .../external_plugin_service.swagger.json | 4 + .../flyteidl/service/flyteadmin/README.md | 53 +- .../service/flyteadmin/api/swagger.yaml | 4800 +++++++-- .../service/flyteadmin/api_admin_service.go | 7093 ++++++++++-- .../model_admin_execution_create_request.go | 2 + ...dmin_matchable_attributes_configuration.go | 4 +- .../model_admin_named_entity_identifier.go | 2 + .../service/flyteadmin/model_admin_project.go | 2 + .../model_admin_project_attributes.go | 2 + ...admin_project_attributes_delete_request.go | 2 + .../model_admin_project_domain_attributes.go | 2 + ...roject_domain_attributes_delete_request.go | 2 + .../model_admin_workflow_attributes.go | 2 + ...dmin_workflow_attributes_delete_request.go | 2 + .../flyteadmin/model_core_identifier.go | 2 + ...odel_core_workflow_execution_identifier.go | 2 + .../gen/pb-go/flyteidl/service/openapi.go | 4 +- .../flyteidl/service/signal.swagger.json | 11 + .../gen/pb-java/datacatalog/Datacatalog.java | 510 +- .../gen/pb-java/flyteidl/admin/Common.java | 655 +- .../flyteidl/admin/ExecutionOuterClass.java | 429 +- .../flyteidl/admin/LaunchPlanOuterClass.java | 189 +- .../admin/MatchableResourceOuterClass.java | 211 +- .../admin/ProjectAttributesOuterClass.java | 556 +- .../ProjectDomainAttributesOuterClass.java | 566 +- .../flyteidl/admin/ProjectOuterClass.java | 201 +- .../admin/WorkflowAttributesOuterClass.java | 562 +- .../pb-java/flyteidl/artifact/Artifacts.java | 90 +- .../flyteidl/core/IdentifierOuterClass.java | 385 +- .../gen/pb-java/flyteidl/service/Admin.java | 595 +- flyteidl/gen/pb-js/flyteidl.d.ts | 108 + flyteidl/gen/pb-js/flyteidl.js | 308 +- .../pb_python/flyteidl/admin/common_pb2.py | 112 +- .../pb_python/flyteidl/admin/common_pb2.pyi | 18 +- .../pb_python/flyteidl/admin/execution_pb2.py | 100 +- .../flyteidl/admin/execution_pb2.pyi | 6 +- .../flyteidl/admin/launch_plan_pb2.py | 8 +- .../flyteidl/admin/launch_plan_pb2.pyi | 6 +- .../flyteidl/admin/matchable_resource_pb2.py | 16 +- .../flyteidl/admin/matchable_resource_pb2.pyi | 6 +- .../flyteidl/admin/project_attributes_pb2.py | 28 +- .../flyteidl/admin/project_attributes_pb2.pyi | 18 +- .../admin/project_domain_attributes_pb2.py | 28 +- .../admin/project_domain_attributes_pb2.pyi | 18 +- .../pb_python/flyteidl/admin/project_pb2.py | 28 +- .../pb_python/flyteidl/admin/project_pb2.pyi | 6 +- .../flyteidl/admin/workflow_attributes_pb2.py | 28 +- .../admin/workflow_attributes_pb2.pyi | 18 +- .../flyteidl/artifact/artifacts_pb2.py | 8 +- .../pb_python/flyteidl/core/identifier_pb2.py | 24 +- .../flyteidl/core/identifier_pb2.pyi | 12 +- .../flyteidl/datacatalog/datacatalog_pb2.py | 74 +- .../flyteidl/datacatalog/datacatalog_pb2.pyi | 12 +- .../pb_python/flyteidl/service/admin_pb2.py | 82 +- .../flyteidl/service/admin_pb2_grpc.py | 6 +- .../flyteidl/service/flyteadmin/README.md | 53 +- .../flyteadmin/api/admin_service_api.py | 9541 +++++++++++++---- .../models/admin_execution_create_request.py | 30 +- ...dmin_matchable_attributes_configuration.py | 34 +- .../models/admin_named_entity_identifier.py | 34 +- .../flyteadmin/models/admin_project.py | 34 +- .../models/admin_project_attributes.py | 34 +- ...admin_project_attributes_delete_request.py | 34 +- .../models/admin_project_domain_attributes.py | 34 +- ...roject_domain_attributes_delete_request.py | 34 +- .../models/admin_workflow_attributes.py | 34 +- ...dmin_workflow_attributes_delete_request.py | 34 +- .../flyteadmin/models/core_identifier.py | 34 +- .../core_workflow_execution_identifier.py | 34 +- .../flyteadmin/test/test_admin_service_api.py | 303 +- flyteidl/gen/pb_rust/datacatalog.rs | 8 +- flyteidl/gen/pb_rust/flyteidl.admin.rs | 56 +- flyteidl/gen/pb_rust/flyteidl.core.rs | 6 + flyteidl/go.mod | 2 + flyteidl/protos/flyteidl/admin/common.proto | 8 + .../protos/flyteidl/admin/execution.proto | 5 +- .../protos/flyteidl/admin/launch_plan.proto | 5 +- .../flyteidl/admin/matchable_resource.proto | 7 +- flyteidl/protos/flyteidl/admin/project.proto | 3 + .../flyteidl/admin/project_attributes.proto | 9 + .../admin/project_domain_attributes.proto | 11 +- .../flyteidl/admin/workflow_attributes.proto | 9 + .../protos/flyteidl/artifact/artifacts.proto | 10 +- .../protos/flyteidl/core/identifier.proto | 6 + .../flyteidl/datacatalog/datacatalog.proto | 5 + flyteidl/protos/flyteidl/service/admin.proto | 169 +- .../catalog/async_client_impl_test.go | 4 +- .../pluginmachinery/core/template/template.go | 28 +- .../flytek8s/container_helper.go | 8 + .../pkg/apis/flyteworkflow/v1alpha1/iface.go | 2 +- .../v1alpha1/mocks/ExecutableNodeStatus.go | 6 +- .../v1alpha1/mocks/MutableNodeStatus.go | 6 +- .../flyteworkflow/v1alpha1/node_status.go | 47 +- .../v1alpha1/node_status_test.go | 312 +- .../pkg/controller/config/config.go | 2 + .../pkg/controller/config/config_flags.go | 1 + .../controller/config/config_flags_test.go | 14 + flytepropeller/pkg/controller/controller.go | 23 +- .../pkg/controller/nodes/branch/evaluator.go | 4 +- .../pkg/controller/nodes/executor.go | 24 +- .../pkg/controller/nodes/executor_test.go | 36 +- .../pkg/controller/nodes/output_resolver.go | 2 +- .../controller/nodes/output_resolver_test.go | 35 + .../nodes/subworkflow/launchplan/admin.go | 49 +- .../subworkflow/launchplan/admin_test.go | 222 +- .../pkg/controller/nodes/transformers.go | 4 +- flytestdlib/storage/protobuf_store.go | 54 +- go.mod | 4 +- 157 files changed, 39536 insertions(+), 10084 deletions(-) delete mode 100644 docs/flytectl_overview.rst delete mode 100644 docs/reference_flytectl.md delete mode 100644 docs/reference_flytekit.md diff --git a/docs/_ext/import_projects.py b/docs/_ext/import_projects.py index df223ee760..1e32aa0d8c 100644 --- a/docs/_ext/import_projects.py +++ b/docs/_ext/import_projects.py @@ -26,6 +26,7 @@ class ImportProjectsConfig: flytekit_api_dir: str source_regex_mapping: dict = field(default_factory=dict) list_table_toc: List[str] = field(default_factory=list) + dev_build: bool = False @dataclass @@ -104,7 +105,7 @@ def update_sys_path_for_flytekit(import_project_config: ImportProjectsConfig): def update_html_context(project: Project, tag: str, commit: str, config: Config): - tag_url = f"{project.source}/releases/tag/{tag}" + tag_url = "#" if tag == "dev" else f"{project.source}/releases/tag/{tag}" commit_url = f"{project.source}/tree/{commit}" config.html_context[f"{project.name}_tag"] = tag @@ -152,9 +153,10 @@ def import_projects(app: Sphinx, config: Config): [t for t in repo.tags if re.match(VERSION_PATTERN, t.name)], key=lambda t: t.commit.committed_datetime ) - if not tags: - # If tags don't exist just use the current commit. This occurs - # when the git repo is a shallow clone. + if not tags or import_projects_config.dev_build: + # If dev_build is specified or the tags don't exist just use the + # current commit. This occurs when the git repo is a shallow + # clone. tag_str = "dev" commit = str(repo.head.commit)[:7] else: diff --git a/docs/conf.py b/docs/conf.py index ed9df55433..05651bf483 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -311,7 +311,7 @@ # from other repos. REPLACE_PATTERNS = { r"": r"", - r"": r"", + r"": r"", INTERSPHINX_REFS_PATTERN: INTERSPHINX_REFS_REPLACE, r"": r"", @@ -337,6 +337,7 @@ "flytesnacks/tutorials", "flytesnacks/integrations", ], + "dev_build": bool(int(os.environ.get("MONODOCS_DEV_BUILD", 1))), } # Define these environment variables to use local copies of the projects. This @@ -444,6 +445,7 @@ def filter(self, record: logging.LogRecord) -> bool: 'Error with CSV data in "csv-table" directive', "Definition list ends without a blank line", "autodoc: failed to import module 'awssagemaker' from module 'flytekitplugins'", + "Enumerated list ends without a blank line", ) if msg.strip().startswith(filter_out): diff --git a/docs/deployment/plugins/webapi/databricks.rst b/docs/deployment/plugins/webapi/databricks.rst index 671fdb4e18..69f710677c 100644 --- a/docs/deployment/plugins/webapi/databricks.rst +++ b/docs/deployment/plugins/webapi/databricks.rst @@ -288,7 +288,7 @@ Add the Databricks access token to FlytePropeller: .. group-tab:: Helm chart - Create an external secret as follows: + Create a secret as follows (or add to it if it already exists from other plugins): .. code-block:: bash @@ -296,7 +296,7 @@ Add the Databricks access token to FlytePropeller: apiVersion: v1 kind: Secret metadata: - name: flyte-binary-client-secrets-external-secret + name: flyte-binary-external-services namespace: flyte type: Opaque stringData: @@ -304,16 +304,15 @@ Add the Databricks access token to FlytePropeller: EOF Reference the newly created secret in - ``.Values.configuration.auth.clientSecretsExternalSecretRef`` + ``.Values.configuration.inlineSecretRef`` in your YAML file as follows: .. code-block:: yaml - :emphasize-lines: 3 + :emphasize-lines: 2 configuration: - auth: - clientSecretsExternalSecretRef: flyte-binary-client-secrets-external-secret - + inlineSecretRef: flyte-binary-external-services + Replace ```` with your access token. .. group-tab:: Flyte core diff --git a/docs/deployment/plugins/webapi/snowflake.rst b/docs/deployment/plugins/webapi/snowflake.rst index 85f13fe115..a4ac2d35cf 100644 --- a/docs/deployment/plugins/webapi/snowflake.rst +++ b/docs/deployment/plugins/webapi/snowflake.rst @@ -154,7 +154,7 @@ Then, add the Snowflake JWT token to FlytePropeller. .. group-tab:: Helm chart - Create an external secret as follows: + Create a secret as follows (or add to it if it already exists from other plugins): .. code-block:: bash @@ -162,7 +162,7 @@ Then, add the Snowflake JWT token to FlytePropeller. apiVersion: v1 kind: Secret metadata: - name: flyte-binary-client-secrets-external-secret + name: flyte-binary-external-services namespace: flyte type: Opaque stringData: @@ -170,16 +170,15 @@ Then, add the Snowflake JWT token to FlytePropeller. EOF Reference the newly created secret in - ``.Values.configuration.auth.clientSecretsExternalSecretRef`` + ``.Values.configuration.inlineSecretRef`` in your YAML file as follows: .. code-block:: yaml - :emphasize-lines: 3 + :emphasize-lines: 2 configuration: - auth: - clientSecretsExternalSecretRef: flyte-binary-client-secrets-external-secret - + inlineSecretRef: flyte-binary-external-services + Replace ```` with your JWT token. .. group-tab:: Flyte core diff --git a/docs/flytectl_overview.rst b/docs/flytectl_overview.rst deleted file mode 100644 index a6d104b08f..0000000000 --- a/docs/flytectl_overview.rst +++ /dev/null @@ -1,107 +0,0 @@ -.. flytectl doc - -#################################################### -Flytectl: The Official Flyte Command-line Interface -#################################################### - -Overview -========= -This video will take you on a tour of Flytectl - how to install and configure it, as well as how to use the Verbs and Nouns sections on the left hand side menu. Detailed information can be found in the sections below the video. - -.. youtube:: cV8ezYnBANE - - -Installation -============ - -Flytectl is a Golang binary that can be installed on any platform supported by Golang. - -.. tabbed:: OSX - - .. prompt:: bash $ - - brew install flyteorg/homebrew-tap/flytectl - - *Upgrade* existing installation using the following command: - - .. prompt:: bash $ - - flytectl upgrade - -.. tabbed:: Other Operating systems - - .. prompt:: bash $ - - curl -sL https://ctl.flyte.org/install | bash - - *Upgrade* existing installation using the following command: - - .. prompt:: bash $ - - flytectl upgrade - -**Test** if Flytectl is installed correctly (your Flytectl version should be > 0.2.0) using the following command: - -.. prompt:: bash $ - - flytectl version - -Configuration -============= - -Flytectl allows you to communicate with FlyteAdmin using a YAML file or by passing every configuration value -on the command-line. The following configuration can be used for the setup: - -Basic Configuration --------------------- - -The full list of available configurable options can be found by running ``flytectl --help``, or `here `__. - -.. NOTE:: - - Currently, the Project ``-p``, Domain ``-d``, and Output ``-o`` flags cannot be used in the config file. - -.. tabbed:: Local Flyte Sandbox - - Automatically configured for you by ``flytectl sandbox`` command. - - .. code-block:: yaml - - admin: - # For GRPC endpoints you might want to use dns:///flyte.myexample.com - endpoint: dns:///localhost:30081 - insecure: true # Set to false to enable TLS/SSL connection (not recommended except on local sandbox deployment). - authType: Pkce # authType: Pkce # if using authentication or just drop this. - -.. tabbed:: AWS Configuration - - .. code-block:: yaml - - admin: - # For GRPC endpoints you might want to use dns:///flyte.myexample.com - endpoint: dns:/// - authType: Pkce # authType: Pkce # if using authentication or just drop this. - insecure: true # insecure: True # Set to true if the endpoint isn't accessible through TLS/SSL connection (not recommended except on local sandbox deployment) - -.. tabbed:: GCS Configuration - - .. code-block:: yaml - - admin: - # For GRPC endpoints you might want to use dns:///flyte.myexample.com - endpoint: dns:/// - authType: Pkce # authType: Pkce # if using authentication or just drop this. - insecure: false # insecure: True # Set to true if the endpoint isn't accessible through TLS/SSL connection (not recommended except on local sandbox deployment) - -.. tabbed:: Others - - For other supported storage backends like Oracle, Azure, etc., refer to the configuration structure `here `__. - - Place the config file in ``$HOME/.flyte`` directory with the name config.yaml. - This file is typically searched in: - - * ``$HOME/.flyte`` - * currDir from where you run flytectl - * ``/etc/flyte/config`` - - You can also pass the file name in the command line using ``--config ``. diff --git a/docs/index.md b/docs/index.md index c2bf0f9087..40a0a745f7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -57,7 +57,7 @@ learning and analytics. Created at [Lyft](https://www.lyft.com/) in collaboration with Spotify, Freenome, and many others, Flyte provides first-class support for -{doc}`Python `, +{doc}`Python `, [Java, and Scala](https://github.com/flyteorg/flytekit-java). Data Scientists and ML Engineers in the industry use Flyte to create: @@ -102,11 +102,11 @@ Below are the API reference to the different components of Flyte: :header-rows: 0 :widths: 20 30 -* - {doc}`Flytekit ` +* - {doc}`Flytekit ` - Flyte's official Python SDK. -* - {doc}`FlyteCTL ` +* - {doc}`FlyteCTL ` - Flyte's command-line interface for interacting with a Flyte cluster. -* - {doc}`FlyteIDL ` +* - {doc}`FlyteIDL ` - Flyte's core specification language. ``` @@ -172,8 +172,8 @@ reference/swagger :name: apitoc :hidden: -flytekit -flytectl +flytekit +flytectl flyteidl ``` diff --git a/docs/reference_flytectl.md b/docs/reference_flytectl.md deleted file mode 100644 index ad1ba6c7a5..0000000000 --- a/docs/reference_flytectl.md +++ /dev/null @@ -1,11 +0,0 @@ -# FlyteCTL API Reference - -```{toctree} -:maxdepth: 2 - -Overview -CLI Entrypoint -flytectl/verbs -flytectl/nouns -flytectl/contribute -``` diff --git a/docs/reference_flytekit.md b/docs/reference_flytekit.md deleted file mode 100644 index 97012a9429..0000000000 --- a/docs/reference_flytekit.md +++ /dev/null @@ -1,20 +0,0 @@ -# Flytekit API Reference - -```{toctree} -:maxdepth: 2 - -api/flytekit/design/index -api/flytekit/flytekit -api/flytekit/configuration -api/flytekit/remote -api/flytekit/clients -api/flytekit/testing -api/flytekit/extend -api/flytekit/deck -api/flytekit/plugins/index -api/flytekit/tasks.extend -api/flytekit/types.extend -api/flytekit/experimental -api/flytekit/pyflyte -api/flytekit/contributing -``` diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.cc index 982f3fb6b7..60e9f6862c 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.cc @@ -560,6 +560,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fcommon_2eproto:: PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifier, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifier, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifier, name_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifier, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityMetadata, _internal_metadata_), ~0u, // no _extensions_ @@ -593,6 +594,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fcommon_2eproto:: PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifierListRequest, token_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifierListRequest, sort_by_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifierListRequest, filters_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifierListRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityListRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -605,6 +607,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fcommon_2eproto:: PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityListRequest, token_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityListRequest, sort_by_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityListRequest, filters_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityListRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NamedEntityIdentifierList, _internal_metadata_), ~0u, // no _extensions_ @@ -750,31 +753,31 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fcommon_2eproto:: }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::NamedEntityIdentifier)}, - { 8, -1, sizeof(::flyteidl::admin::NamedEntityMetadata)}, - { 15, -1, sizeof(::flyteidl::admin::NamedEntity)}, - { 23, -1, sizeof(::flyteidl::admin::Sort)}, - { 30, -1, sizeof(::flyteidl::admin::NamedEntityIdentifierListRequest)}, - { 41, -1, sizeof(::flyteidl::admin::NamedEntityListRequest)}, - { 53, -1, sizeof(::flyteidl::admin::NamedEntityIdentifierList)}, - { 60, -1, sizeof(::flyteidl::admin::NamedEntityList)}, - { 67, -1, sizeof(::flyteidl::admin::NamedEntityGetRequest)}, - { 74, -1, sizeof(::flyteidl::admin::NamedEntityUpdateRequest)}, - { 82, -1, sizeof(::flyteidl::admin::NamedEntityUpdateResponse)}, - { 87, -1, sizeof(::flyteidl::admin::ObjectGetRequest)}, - { 93, -1, sizeof(::flyteidl::admin::ResourceListRequest)}, - { 103, -1, sizeof(::flyteidl::admin::EmailNotification)}, - { 109, -1, sizeof(::flyteidl::admin::PagerDutyNotification)}, - { 115, -1, sizeof(::flyteidl::admin::SlackNotification)}, - { 121, -1, sizeof(::flyteidl::admin::Notification)}, - { 131, -1, sizeof(::flyteidl::admin::UrlBlob)}, - { 138, 145, sizeof(::flyteidl::admin::Labels_ValuesEntry_DoNotUse)}, - { 147, -1, sizeof(::flyteidl::admin::Labels)}, - { 153, 160, sizeof(::flyteidl::admin::Annotations_ValuesEntry_DoNotUse)}, - { 162, -1, sizeof(::flyteidl::admin::Annotations)}, - { 168, -1, sizeof(::flyteidl::admin::Envs)}, - { 174, -1, sizeof(::flyteidl::admin::AuthRole)}, - { 181, -1, sizeof(::flyteidl::admin::RawOutputDataConfig)}, - { 187, -1, sizeof(::flyteidl::admin::FlyteURLs)}, + { 9, -1, sizeof(::flyteidl::admin::NamedEntityMetadata)}, + { 16, -1, sizeof(::flyteidl::admin::NamedEntity)}, + { 24, -1, sizeof(::flyteidl::admin::Sort)}, + { 31, -1, sizeof(::flyteidl::admin::NamedEntityIdentifierListRequest)}, + { 43, -1, sizeof(::flyteidl::admin::NamedEntityListRequest)}, + { 56, -1, sizeof(::flyteidl::admin::NamedEntityIdentifierList)}, + { 63, -1, sizeof(::flyteidl::admin::NamedEntityList)}, + { 70, -1, sizeof(::flyteidl::admin::NamedEntityGetRequest)}, + { 77, -1, sizeof(::flyteidl::admin::NamedEntityUpdateRequest)}, + { 85, -1, sizeof(::flyteidl::admin::NamedEntityUpdateResponse)}, + { 90, -1, sizeof(::flyteidl::admin::ObjectGetRequest)}, + { 96, -1, sizeof(::flyteidl::admin::ResourceListRequest)}, + { 106, -1, sizeof(::flyteidl::admin::EmailNotification)}, + { 112, -1, sizeof(::flyteidl::admin::PagerDutyNotification)}, + { 118, -1, sizeof(::flyteidl::admin::SlackNotification)}, + { 124, -1, sizeof(::flyteidl::admin::Notification)}, + { 134, -1, sizeof(::flyteidl::admin::UrlBlob)}, + { 141, 148, sizeof(::flyteidl::admin::Labels_ValuesEntry_DoNotUse)}, + { 150, -1, sizeof(::flyteidl::admin::Labels)}, + { 156, 163, sizeof(::flyteidl::admin::Annotations_ValuesEntry_DoNotUse)}, + { 165, -1, sizeof(::flyteidl::admin::Annotations)}, + { 171, -1, sizeof(::flyteidl::admin::Envs)}, + { 177, -1, sizeof(::flyteidl::admin::AuthRole)}, + { 184, -1, sizeof(::flyteidl::admin::RawOutputDataConfig)}, + { 190, -1, sizeof(::flyteidl::admin::FlyteURLs)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -817,78 +820,78 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fcommon_2eproto[] = "admin\032\035flyteidl/core/execution.proto\032\036fl" "yteidl/core/identifier.proto\032\034flyteidl/c" "ore/literals.proto\032\037google/protobuf/time" - "stamp.proto\"F\n\025NamedEntityIdentifier\022\017\n\007" + "stamp.proto\"S\n\025NamedEntityIdentifier\022\017\n\007" "project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\014\n\004name\030\003 " - "\001(\t\"[\n\023NamedEntityMetadata\022\023\n\013descriptio" - "n\030\001 \001(\t\022/\n\005state\030\002 \001(\0162 .flyteidl.admin." - "NamedEntityState\"\253\001\n\013NamedEntity\0222\n\rreso" - "urce_type\030\001 \001(\0162\033.flyteidl.core.Resource" - "Type\0221\n\002id\030\002 \001(\0132%.flyteidl.admin.NamedE" - "ntityIdentifier\0225\n\010metadata\030\003 \001(\0132#.flyt" - "eidl.admin.NamedEntityMetadata\"r\n\004Sort\022\013" - "\n\003key\030\001 \001(\t\0221\n\tdirection\030\002 \001(\0162\036.flyteid" - "l.admin.Sort.Direction\"*\n\tDirection\022\016\n\nD" - "ESCENDING\020\000\022\r\n\tASCENDING\020\001\"\231\001\n NamedEnti" - "tyIdentifierListRequest\022\017\n\007project\030\001 \001(\t" - "\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003 \001(\r\022\r\n\005token" + "\001(\t\022\013\n\003org\030\004 \001(\t\"[\n\023NamedEntityMetadata\022" + "\023\n\013description\030\001 \001(\t\022/\n\005state\030\002 \001(\0162 .fl" + "yteidl.admin.NamedEntityState\"\253\001\n\013NamedE" + "ntity\0222\n\rresource_type\030\001 \001(\0162\033.flyteidl." + "core.ResourceType\0221\n\002id\030\002 \001(\0132%.flyteidl" + ".admin.NamedEntityIdentifier\0225\n\010metadata" + "\030\003 \001(\0132#.flyteidl.admin.NamedEntityMetad" + "ata\"r\n\004Sort\022\013\n\003key\030\001 \001(\t\0221\n\tdirection\030\002 " + "\001(\0162\036.flyteidl.admin.Sort.Direction\"*\n\tD" + "irection\022\016\n\nDESCENDING\020\000\022\r\n\tASCENDING\020\001\"" + "\246\001\n NamedEntityIdentifierListRequest\022\017\n\007" + "project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003" + " \001(\r\022\r\n\005token\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.f" + "lyteidl.admin.Sort\022\017\n\007filters\030\006 \001(\t\022\013\n\003o" + "rg\030\007 \001(\t\"\320\001\n\026NamedEntityListRequest\0222\n\rr" + "esource_type\030\001 \001(\0162\033.flyteidl.core.Resou" + "rceType\022\017\n\007project\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t" + "\022\r\n\005limit\030\004 \001(\r\022\r\n\005token\030\005 \001(\t\022%\n\007sort_b" + "y\030\006 \001(\0132\024.flyteidl.admin.Sort\022\017\n\007filters" + "\030\007 \001(\t\022\013\n\003org\030\010 \001(\t\"c\n\031NamedEntityIdenti" + "fierList\0227\n\010entities\030\001 \003(\0132%.flyteidl.ad" + "min.NamedEntityIdentifier\022\r\n\005token\030\002 \001(\t" + "\"O\n\017NamedEntityList\022-\n\010entities\030\001 \003(\0132\033." + "flyteidl.admin.NamedEntity\022\r\n\005token\030\002 \001(" + "\t\"~\n\025NamedEntityGetRequest\0222\n\rresource_t" + "ype\030\001 \001(\0162\033.flyteidl.core.ResourceType\0221" + "\n\002id\030\002 \001(\0132%.flyteidl.admin.NamedEntityI" + "dentifier\"\270\001\n\030NamedEntityUpdateRequest\0222" + "\n\rresource_type\030\001 \001(\0162\033.flyteidl.core.Re" + "sourceType\0221\n\002id\030\002 \001(\0132%.flyteidl.admin." + "NamedEntityIdentifier\0225\n\010metadata\030\003 \001(\0132" + "#.flyteidl.admin.NamedEntityMetadata\"\033\n\031" + "NamedEntityUpdateResponse\"9\n\020ObjectGetRe" + "quest\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Identi" + "fier\"\236\001\n\023ResourceListRequest\0221\n\002id\030\001 \001(\013" + "2%.flyteidl.admin.NamedEntityIdentifier\022" + "\r\n\005limit\030\002 \001(\r\022\r\n\005token\030\003 \001(\t\022\017\n\007filters" "\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyteidl.admin" - ".Sort\022\017\n\007filters\030\006 \001(\t\"\303\001\n\026NamedEntityLi" - "stRequest\0222\n\rresource_type\030\001 \001(\0162\033.flyte" - "idl.core.ResourceType\022\017\n\007project\030\002 \001(\t\022\016" - "\n\006domain\030\003 \001(\t\022\r\n\005limit\030\004 \001(\r\022\r\n\005token\030\005" - " \001(\t\022%\n\007sort_by\030\006 \001(\0132\024.flyteidl.admin.S" - "ort\022\017\n\007filters\030\007 \001(\t\"c\n\031NamedEntityIdent" - "ifierList\0227\n\010entities\030\001 \003(\0132%.flyteidl.a" - "dmin.NamedEntityIdentifier\022\r\n\005token\030\002 \001(" - "\t\"O\n\017NamedEntityList\022-\n\010entities\030\001 \003(\0132\033" - ".flyteidl.admin.NamedEntity\022\r\n\005token\030\002 \001" - "(\t\"~\n\025NamedEntityGetRequest\0222\n\rresource_" - "type\030\001 \001(\0162\033.flyteidl.core.ResourceType\022" - "1\n\002id\030\002 \001(\0132%.flyteidl.admin.NamedEntity" - "Identifier\"\270\001\n\030NamedEntityUpdateRequest\022" - "2\n\rresource_type\030\001 \001(\0162\033.flyteidl.core.R" - "esourceType\0221\n\002id\030\002 \001(\0132%.flyteidl.admin" - ".NamedEntityIdentifier\0225\n\010metadata\030\003 \001(\013" - "2#.flyteidl.admin.NamedEntityMetadata\"\033\n" - "\031NamedEntityUpdateResponse\"9\n\020ObjectGetR" - "equest\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Ident" - "ifier\"\236\001\n\023ResourceListRequest\0221\n\002id\030\001 \001(" - "\0132%.flyteidl.admin.NamedEntityIdentifier" - "\022\r\n\005limit\030\002 \001(\r\022\r\n\005token\030\003 \001(\t\022\017\n\007filter" - "s\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyteidl.admi" - "n.Sort\"-\n\021EmailNotification\022\030\n\020recipient" - "s_email\030\001 \003(\t\"1\n\025PagerDutyNotification\022\030" - "\n\020recipients_email\030\001 \003(\t\"-\n\021SlackNotific" - "ation\022\030\n\020recipients_email\030\001 \003(\t\"\363\001\n\014Noti" - "fication\0226\n\006phases\030\001 \003(\0162&.flyteidl.core" - ".WorkflowExecution.Phase\0222\n\005email\030\002 \001(\0132" - "!.flyteidl.admin.EmailNotificationH\000\022;\n\n" - "pager_duty\030\003 \001(\0132%.flyteidl.admin.PagerD" - "utyNotificationH\000\0222\n\005slack\030\004 \001(\0132!.flyte" - "idl.admin.SlackNotificationH\000B\006\n\004type\")\n" - "\007UrlBlob\022\013\n\003url\030\001 \001(\t\022\r\n\005bytes\030\002 \001(\003:\002\030\001" - "\"k\n\006Labels\0222\n\006values\030\001 \003(\0132\".flyteidl.ad" - "min.Labels.ValuesEntry\032-\n\013ValuesEntry\022\013\n" - "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"u\n\013Annotat" - "ions\0227\n\006values\030\001 \003(\0132\'.flyteidl.admin.An" - "notations.ValuesEntry\032-\n\013ValuesEntry\022\013\n\003" - "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"3\n\004Envs\022+\n\006" - "values\030\001 \003(\0132\033.flyteidl.core.KeyValuePai" - "r\"N\n\010AuthRole\022\032\n\022assumable_iam_role\030\001 \001(" - "\t\022\"\n\032kubernetes_service_account\030\002 \001(\t:\002\030" - "\001\"5\n\023RawOutputDataConfig\022\036\n\026output_locat" - "ion_prefix\030\001 \001(\t\":\n\tFlyteURLs\022\016\n\006inputs\030" - "\001 \001(\t\022\017\n\007outputs\030\002 \001(\t\022\014\n\004deck\030\003 \001(\t*\\\n\020" - "NamedEntityState\022\027\n\023NAMED_ENTITY_ACTIVE\020" - "\000\022\031\n\025NAMED_ENTITY_ARCHIVED\020\001\022\024\n\020SYSTEM_G" - "ENERATED\020\002B=Z;github.com/flyteorg/flyte/" - "flyteidl/gen/pb-go/flyteidl/adminb\006proto" - "3" + ".Sort\"-\n\021EmailNotification\022\030\n\020recipients" + "_email\030\001 \003(\t\"1\n\025PagerDutyNotification\022\030\n" + "\020recipients_email\030\001 \003(\t\"-\n\021SlackNotifica" + "tion\022\030\n\020recipients_email\030\001 \003(\t\"\363\001\n\014Notif" + "ication\0226\n\006phases\030\001 \003(\0162&.flyteidl.core." + "WorkflowExecution.Phase\0222\n\005email\030\002 \001(\0132!" + ".flyteidl.admin.EmailNotificationH\000\022;\n\np" + "ager_duty\030\003 \001(\0132%.flyteidl.admin.PagerDu" + "tyNotificationH\000\0222\n\005slack\030\004 \001(\0132!.flytei" + "dl.admin.SlackNotificationH\000B\006\n\004type\")\n\007" + "UrlBlob\022\013\n\003url\030\001 \001(\t\022\r\n\005bytes\030\002 \001(\003:\002\030\001\"" + "k\n\006Labels\0222\n\006values\030\001 \003(\0132\".flyteidl.adm" + "in.Labels.ValuesEntry\032-\n\013ValuesEntry\022\013\n\003" + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"u\n\013Annotati" + "ons\0227\n\006values\030\001 \003(\0132\'.flyteidl.admin.Ann" + "otations.ValuesEntry\032-\n\013ValuesEntry\022\013\n\003k" + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"3\n\004Envs\022+\n\006v" + "alues\030\001 \003(\0132\033.flyteidl.core.KeyValuePair" + "\"N\n\010AuthRole\022\032\n\022assumable_iam_role\030\001 \001(\t" + "\022\"\n\032kubernetes_service_account\030\002 \001(\t:\002\030\001" + "\"5\n\023RawOutputDataConfig\022\036\n\026output_locati" + "on_prefix\030\001 \001(\t\":\n\tFlyteURLs\022\016\n\006inputs\030\001" + " \001(\t\022\017\n\007outputs\030\002 \001(\t\022\014\n\004deck\030\003 \001(\t*\\\n\020N" + "amedEntityState\022\027\n\023NAMED_ENTITY_ACTIVE\020\000" + "\022\031\n\025NAMED_ENTITY_ARCHIVED\020\001\022\024\n\020SYSTEM_GE" + "NERATED\020\002B=Z;github.com/flyteorg/flyte/f" + "lyteidl/gen/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fcommon_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fcommon_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fcommon_2eproto, - "flyteidl/admin/common.proto", &assign_descriptors_table_flyteidl_2fadmin_2fcommon_2eproto, 2801, + "flyteidl/admin/common.proto", &assign_descriptors_table_flyteidl_2fadmin_2fcommon_2eproto, 2840, }; void AddDescriptors_flyteidl_2fadmin_2fcommon_2eproto() { @@ -955,6 +958,7 @@ class NamedEntityIdentifier::HasBitSetters { const int NamedEntityIdentifier::kProjectFieldNumber; const int NamedEntityIdentifier::kDomainFieldNumber; const int NamedEntityIdentifier::kNameFieldNumber; +const int NamedEntityIdentifier::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 NamedEntityIdentifier::NamedEntityIdentifier() @@ -978,6 +982,10 @@ NamedEntityIdentifier::NamedEntityIdentifier(const NamedEntityIdentifier& from) if (from.name().size() > 0) { name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NamedEntityIdentifier) } @@ -987,6 +995,7 @@ void NamedEntityIdentifier::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } NamedEntityIdentifier::~NamedEntityIdentifier() { @@ -998,6 +1007,7 @@ void NamedEntityIdentifier::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void NamedEntityIdentifier::SetCachedSize(int size) const { @@ -1018,6 +1028,7 @@ void NamedEntityIdentifier::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); _internal_metadata_.Clear(); } @@ -1082,6 +1093,22 @@ const char* NamedEntityIdentifier::_InternalParse(const char* begin, const char* ptr += size; break; } + // string org = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.NamedEntityIdentifier.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1161,6 +1188,21 @@ bool NamedEntityIdentifier::MergePartialFromCodedStream( break; } + // string org = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.NamedEntityIdentifier.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1218,6 +1260,16 @@ void NamedEntityIdentifier::SerializeWithCachedSizes( 3, this->name(), output); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.NamedEntityIdentifier.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 4, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1264,6 +1316,17 @@ ::google::protobuf::uint8* NamedEntityIdentifier::InternalSerializeWithCachedSiz 3, this->name(), target); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.NamedEntityIdentifier.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 4, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1306,6 +1369,13 @@ size_t NamedEntityIdentifier::ByteSizeLong() const { this->name()); } + // string org = 4; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -1345,6 +1415,10 @@ void NamedEntityIdentifier::MergeFrom(const NamedEntityIdentifier& from) { name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } } void NamedEntityIdentifier::CopyFrom(const ::google::protobuf::Message& from) { @@ -1378,6 +1452,8 @@ void NamedEntityIdentifier::InternalSwap(NamedEntityIdentifier* other) { GetArenaNoVirtual()); name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); } ::google::protobuf::Metadata NamedEntityIdentifier::GetMetadata() const { @@ -2500,6 +2576,7 @@ const int NamedEntityIdentifierListRequest::kLimitFieldNumber; const int NamedEntityIdentifierListRequest::kTokenFieldNumber; const int NamedEntityIdentifierListRequest::kSortByFieldNumber; const int NamedEntityIdentifierListRequest::kFiltersFieldNumber; +const int NamedEntityIdentifierListRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 NamedEntityIdentifierListRequest::NamedEntityIdentifierListRequest() @@ -2527,6 +2604,10 @@ NamedEntityIdentifierListRequest::NamedEntityIdentifierListRequest(const NamedEn if (from.filters().size() > 0) { filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_sort_by()) { sort_by_ = new ::flyteidl::admin::Sort(*from.sort_by_); } else { @@ -2543,6 +2624,7 @@ void NamedEntityIdentifierListRequest::SharedCtor() { domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&sort_by_, 0, static_cast( reinterpret_cast(&limit_) - reinterpret_cast(&sort_by_)) + sizeof(limit_)); @@ -2558,6 +2640,7 @@ void NamedEntityIdentifierListRequest::SharedDtor() { domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); filters_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete sort_by_; } @@ -2580,6 +2663,7 @@ void NamedEntityIdentifierListRequest::Clear() { domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); filters_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) { delete sort_by_; } @@ -2685,6 +2769,22 @@ const char* NamedEntityIdentifierListRequest::_InternalParse(const char* begin, ptr += size; break; } + // string org = 7; + case 7: { + if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.NamedEntityIdentifierListRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -2803,6 +2903,21 @@ bool NamedEntityIdentifierListRequest::MergePartialFromCodedStream( break; } + // string org = 7; + case 7: { + if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.NamedEntityIdentifierListRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -2881,6 +2996,16 @@ void NamedEntityIdentifierListRequest::SerializeWithCachedSizes( 6, this->filters(), output); } + // string org = 7; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.NamedEntityIdentifierListRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 7, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -2950,6 +3075,17 @@ ::google::protobuf::uint8* NamedEntityIdentifierListRequest::InternalSerializeWi 6, this->filters(), target); } + // string org = 7; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.NamedEntityIdentifierListRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 7, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -2999,6 +3135,13 @@ size_t NamedEntityIdentifierListRequest::ByteSizeLong() const { this->filters()); } + // string org = 7; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.Sort sort_by = 5; if (this->has_sort_by()) { total_size += 1 + @@ -3056,6 +3199,10 @@ void NamedEntityIdentifierListRequest::MergeFrom(const NamedEntityIdentifierList filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_sort_by()) { mutable_sort_by()->::flyteidl::admin::Sort::MergeFrom(from.sort_by()); } @@ -3097,6 +3244,8 @@ void NamedEntityIdentifierListRequest::InternalSwap(NamedEntityIdentifierListReq GetArenaNoVirtual()); filters_.Swap(&other->filters_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(sort_by_, other->sort_by_); swap(limit_, other->limit_); } @@ -3130,6 +3279,7 @@ const int NamedEntityListRequest::kLimitFieldNumber; const int NamedEntityListRequest::kTokenFieldNumber; const int NamedEntityListRequest::kSortByFieldNumber; const int NamedEntityListRequest::kFiltersFieldNumber; +const int NamedEntityListRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 NamedEntityListRequest::NamedEntityListRequest() @@ -3157,6 +3307,10 @@ NamedEntityListRequest::NamedEntityListRequest(const NamedEntityListRequest& fro if (from.filters().size() > 0) { filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_sort_by()) { sort_by_ = new ::flyteidl::admin::Sort(*from.sort_by_); } else { @@ -3175,6 +3329,7 @@ void NamedEntityListRequest::SharedCtor() { domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&sort_by_, 0, static_cast( reinterpret_cast(&limit_) - reinterpret_cast(&sort_by_)) + sizeof(limit_)); @@ -3190,6 +3345,7 @@ void NamedEntityListRequest::SharedDtor() { domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); filters_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete sort_by_; } @@ -3212,6 +3368,7 @@ void NamedEntityListRequest::Clear() { domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); filters_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) { delete sort_by_; } @@ -3327,6 +3484,22 @@ const char* NamedEntityListRequest::_InternalParse(const char* begin, const char ptr += size; break; } + // string org = 8; + case 8: { + if (static_cast<::google::protobuf::uint8>(tag) != 66) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.NamedEntityListRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -3459,6 +3632,21 @@ bool NamedEntityListRequest::MergePartialFromCodedStream( break; } + // string org = 8; + case 8: { + if (static_cast< ::google::protobuf::uint8>(tag) == (66 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.NamedEntityListRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -3543,6 +3731,16 @@ void NamedEntityListRequest::SerializeWithCachedSizes( 7, this->filters(), output); } + // string org = 8; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.NamedEntityListRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 8, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -3618,6 +3816,17 @@ ::google::protobuf::uint8* NamedEntityListRequest::InternalSerializeWithCachedSi 7, this->filters(), target); } + // string org = 8; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.NamedEntityListRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 8, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -3667,6 +3876,13 @@ size_t NamedEntityListRequest::ByteSizeLong() const { this->filters()); } + // string org = 8; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.Sort sort_by = 6; if (this->has_sort_by()) { total_size += 1 + @@ -3730,6 +3946,10 @@ void NamedEntityListRequest::MergeFrom(const NamedEntityListRequest& from) { filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_sort_by()) { mutable_sort_by()->::flyteidl::admin::Sort::MergeFrom(from.sort_by()); } @@ -3774,6 +3994,8 @@ void NamedEntityListRequest::InternalSwap(NamedEntityListRequest* other) { GetArenaNoVirtual()); filters_.Swap(&other->filters_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(sort_by_, other->sort_by_); swap(resource_type_, other->resource_type_); swap(limit_, other->limit_); diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.h index b2eb1cb4e5..a553cfad4a 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/common.pb.h @@ -353,6 +353,20 @@ class NamedEntityIdentifier final : ::std::string* release_name(); void set_allocated_name(::std::string* name); + // string org = 4; + void clear_org(); + static const int kOrgFieldNumber = 4; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // @@protoc_insertion_point(class_scope:flyteidl.admin.NamedEntityIdentifier) private: class HasBitSetters; @@ -361,6 +375,7 @@ class NamedEntityIdentifier final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr org_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fcommon_2eproto; }; @@ -929,6 +944,20 @@ class NamedEntityIdentifierListRequest final : ::std::string* release_filters(); void set_allocated_filters(::std::string* filters); + // string org = 7; + void clear_org(); + static const int kOrgFieldNumber = 7; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.Sort sort_by = 5; bool has_sort_by() const; void clear_sort_by(); @@ -953,6 +982,7 @@ class NamedEntityIdentifierListRequest final : ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr token_; ::google::protobuf::internal::ArenaStringPtr filters_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::Sort* sort_by_; ::google::protobuf::uint32 limit_; mutable ::google::protobuf::internal::CachedSize _cached_size_; @@ -1111,6 +1141,20 @@ class NamedEntityListRequest final : ::std::string* release_filters(); void set_allocated_filters(::std::string* filters); + // string org = 8; + void clear_org(); + static const int kOrgFieldNumber = 8; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.Sort sort_by = 6; bool has_sort_by() const; void clear_sort_by(); @@ -1141,6 +1185,7 @@ class NamedEntityListRequest final : ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr token_; ::google::protobuf::internal::ArenaStringPtr filters_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::Sort* sort_by_; int resource_type_; ::google::protobuf::uint32 limit_; @@ -3710,6 +3755,59 @@ inline void NamedEntityIdentifier::set_allocated_name(::std::string* name) { // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NamedEntityIdentifier.name) } +// string org = 4; +inline void NamedEntityIdentifier::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& NamedEntityIdentifier::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.NamedEntityIdentifier.org) + return org_.GetNoArena(); +} +inline void NamedEntityIdentifier::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.NamedEntityIdentifier.org) +} +#if LANG_CXX11 +inline void NamedEntityIdentifier::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.NamedEntityIdentifier.org) +} +#endif +inline void NamedEntityIdentifier::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.NamedEntityIdentifier.org) +} +inline void NamedEntityIdentifier::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.NamedEntityIdentifier.org) +} +inline ::std::string* NamedEntityIdentifier::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.NamedEntityIdentifier.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* NamedEntityIdentifier::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.NamedEntityIdentifier.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void NamedEntityIdentifier::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NamedEntityIdentifier.org) +} + // ------------------------------------------------------------------- // NamedEntityMetadata @@ -4253,6 +4351,59 @@ inline void NamedEntityIdentifierListRequest::set_allocated_filters(::std::strin // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NamedEntityIdentifierListRequest.filters) } +// string org = 7; +inline void NamedEntityIdentifierListRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& NamedEntityIdentifierListRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.NamedEntityIdentifierListRequest.org) + return org_.GetNoArena(); +} +inline void NamedEntityIdentifierListRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.NamedEntityIdentifierListRequest.org) +} +#if LANG_CXX11 +inline void NamedEntityIdentifierListRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.NamedEntityIdentifierListRequest.org) +} +#endif +inline void NamedEntityIdentifierListRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.NamedEntityIdentifierListRequest.org) +} +inline void NamedEntityIdentifierListRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.NamedEntityIdentifierListRequest.org) +} +inline ::std::string* NamedEntityIdentifierListRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.NamedEntityIdentifierListRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* NamedEntityIdentifierListRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.NamedEntityIdentifierListRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void NamedEntityIdentifierListRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NamedEntityIdentifierListRequest.org) +} + // ------------------------------------------------------------------- // NamedEntityListRequest @@ -4548,6 +4699,59 @@ inline void NamedEntityListRequest::set_allocated_filters(::std::string* filters // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NamedEntityListRequest.filters) } +// string org = 8; +inline void NamedEntityListRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& NamedEntityListRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.NamedEntityListRequest.org) + return org_.GetNoArena(); +} +inline void NamedEntityListRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.NamedEntityListRequest.org) +} +#if LANG_CXX11 +inline void NamedEntityListRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.NamedEntityListRequest.org) +} +#endif +inline void NamedEntityListRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.NamedEntityListRequest.org) +} +inline void NamedEntityListRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.NamedEntityListRequest.org) +} +inline ::std::string* NamedEntityListRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.NamedEntityListRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* NamedEntityListRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.NamedEntityListRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void NamedEntityListRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NamedEntityListRequest.org) +} + // ------------------------------------------------------------------- // NamedEntityIdentifierList diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc index 1190dd3245..4f220c6286 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc @@ -568,6 +568,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fexecution_2eprot PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, name_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, spec_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, inputs_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, org_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionCreateRequest, input_data_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionRelaunchRequest, _internal_metadata_), @@ -762,28 +763,28 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fexecution_2eprot }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::ExecutionCreateRequest)}, - { 11, -1, sizeof(::flyteidl::admin::ExecutionRelaunchRequest)}, - { 19, -1, sizeof(::flyteidl::admin::ExecutionRecoverRequest)}, - { 27, -1, sizeof(::flyteidl::admin::ExecutionCreateResponse)}, - { 33, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetRequest)}, - { 39, -1, sizeof(::flyteidl::admin::Execution)}, - { 47, -1, sizeof(::flyteidl::admin::ExecutionList)}, - { 54, -1, sizeof(::flyteidl::admin::LiteralMapBlob)}, - { 62, -1, sizeof(::flyteidl::admin::AbortMetadata)}, - { 69, -1, sizeof(::flyteidl::admin::ExecutionClosure)}, - { 90, -1, sizeof(::flyteidl::admin::SystemMetadata)}, - { 97, -1, sizeof(::flyteidl::admin::ExecutionMetadata)}, - { 110, -1, sizeof(::flyteidl::admin::NotificationList)}, - { 116, -1, sizeof(::flyteidl::admin::ExecutionSpec)}, - { 139, -1, sizeof(::flyteidl::admin::ExecutionTerminateRequest)}, - { 146, -1, sizeof(::flyteidl::admin::ExecutionTerminateResponse)}, - { 151, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataRequest)}, - { 157, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataResponse)}, - { 168, -1, sizeof(::flyteidl::admin::ExecutionUpdateRequest)}, - { 175, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, - { 183, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, - { 188, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, - { 195, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, + { 12, -1, sizeof(::flyteidl::admin::ExecutionRelaunchRequest)}, + { 20, -1, sizeof(::flyteidl::admin::ExecutionRecoverRequest)}, + { 28, -1, sizeof(::flyteidl::admin::ExecutionCreateResponse)}, + { 34, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetRequest)}, + { 40, -1, sizeof(::flyteidl::admin::Execution)}, + { 48, -1, sizeof(::flyteidl::admin::ExecutionList)}, + { 55, -1, sizeof(::flyteidl::admin::LiteralMapBlob)}, + { 63, -1, sizeof(::flyteidl::admin::AbortMetadata)}, + { 70, -1, sizeof(::flyteidl::admin::ExecutionClosure)}, + { 91, -1, sizeof(::flyteidl::admin::SystemMetadata)}, + { 98, -1, sizeof(::flyteidl::admin::ExecutionMetadata)}, + { 111, -1, sizeof(::flyteidl::admin::NotificationList)}, + { 117, -1, sizeof(::flyteidl::admin::ExecutionSpec)}, + { 140, -1, sizeof(::flyteidl::admin::ExecutionTerminateRequest)}, + { 147, -1, sizeof(::flyteidl::admin::ExecutionTerminateResponse)}, + { 152, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataRequest)}, + { 158, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataResponse)}, + { 169, -1, sizeof(::flyteidl::admin::ExecutionUpdateRequest)}, + { 176, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, + { 184, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, + { 189, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, + { 196, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -829,124 +830,124 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto[] = "idl/core/security.proto\032\036google/protobuf" "/duration.proto\032\037google/protobuf/timesta" "mp.proto\032\036google/protobuf/wrappers.proto" - "\"\321\001\n\026ExecutionCreateRequest\022\017\n\007project\030\001" + "\"\336\001\n\026ExecutionCreateRequest\022\017\n\007project\030\001" " \001(\t\022\016\n\006domain\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022+\n\004sp" "ec\030\004 \001(\0132\035.flyteidl.admin.ExecutionSpec\022" "-\n\006inputs\030\005 \001(\0132\031.flyteidl.core.LiteralM" - "apB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyteidl.co" - "re.InputData\"\177\n\030ExecutionRelaunchRequest" - "\0226\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExe" - "cutionIdentifier\022\014\n\004name\030\003 \001(\t\022\027\n\017overwr" - "ite_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027ExecutionRecov" - "erRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Wo" - "rkflowExecutionIdentifier\022\014\n\004name\030\002 \001(\t\022" - "3\n\010metadata\030\003 \001(\0132!.flyteidl.admin.Execu" - "tionMetadata\"Q\n\027ExecutionCreateResponse\022" - "6\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExec" - "utionIdentifier\"U\n\033WorkflowExecutionGetR" - "equest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workf" - "lowExecutionIdentifier\"\243\001\n\tExecution\0226\n\002" + "apB\002\030\001\022\013\n\003org\030\006 \001(\t\022,\n\ninput_data\030\007 \001(\0132" + "\030.flyteidl.core.InputData\"\177\n\030ExecutionRe" + "launchRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.cor" + "e.WorkflowExecutionIdentifier\022\014\n\004name\030\003 " + "\001(\t\022\027\n\017overwrite_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027E" + "xecutionRecoverRequest\0226\n\002id\030\001 \001(\0132*.fly" + "teidl.core.WorkflowExecutionIdentifier\022\014" + "\n\004name\030\002 \001(\t\0223\n\010metadata\030\003 \001(\0132!.flyteid" + "l.admin.ExecutionMetadata\"Q\n\027ExecutionCr" + "eateResponse\0226\n\002id\030\001 \001(\0132*.flyteidl.core" + ".WorkflowExecutionIdentifier\"U\n\033Workflow" + "ExecutionGetRequest\0226\n\002id\030\001 \001(\0132*.flytei" + "dl.core.WorkflowExecutionIdentifier\"\243\001\n\t" + "Execution\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Wo" + "rkflowExecutionIdentifier\022+\n\004spec\030\002 \001(\0132" + "\035.flyteidl.admin.ExecutionSpec\0221\n\007closur" + "e\030\003 \001(\0132 .flyteidl.admin.ExecutionClosur" + "e\"M\n\rExecutionList\022-\n\nexecutions\030\001 \003(\0132\031" + ".flyteidl.admin.Execution\022\r\n\005token\030\002 \001(\t" + "\"X\n\016LiteralMapBlob\022/\n\006values\030\001 \001(\0132\031.fly" + "teidl.core.LiteralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\t" + "H\000B\006\n\004data\"1\n\rAbortMetadata\022\r\n\005cause\030\001 \001" + "(\t\022\021\n\tprincipal\030\002 \001(\t\"\243\006\n\020ExecutionClosu" + "re\0225\n\007outputs\030\001 \001(\0132\036.flyteidl.admin.Lit" + "eralMapBlobB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyte" + "idl.core.ExecutionErrorH\000\022\031\n\013abort_cause" + "\030\n \001(\tB\002\030\001H\000\0227\n\016abort_metadata\030\014 \001(\0132\035.f" + "lyteidl.admin.AbortMetadataH\000\0224\n\013output_" + "data\030\r \001(\0132\031.flyteidl.core.LiteralMapB\002\030" + "\001H\000\0221\n\014full_outputs\030\017 \001(\0132\031.flyteidl.cor" + "e.OutputDataH\000\0226\n\017computed_inputs\030\003 \001(\0132" + "\031.flyteidl.core.LiteralMapB\002\030\001\0225\n\005phase\030" + "\004 \001(\0162&.flyteidl.core.WorkflowExecution." + "Phase\022.\n\nstarted_at\030\005 \001(\0132\032.google.proto" + "buf.Timestamp\022+\n\010duration\030\006 \001(\0132\031.google" + ".protobuf.Duration\022.\n\ncreated_at\030\007 \001(\0132\032" + ".google.protobuf.Timestamp\022.\n\nupdated_at" + "\030\010 \001(\0132\032.google.protobuf.Timestamp\0223\n\rno" + "tifications\030\t \003(\0132\034.flyteidl.admin.Notif" + "ication\022.\n\013workflow_id\030\013 \001(\0132\031.flyteidl." + "core.Identifier\022I\n\024state_change_details\030" + "\016 \001(\0132+.flyteidl.admin.ExecutionStateCha" + "ngeDetailsB\017\n\routput_result\">\n\016SystemMet" + "adata\022\031\n\021execution_cluster\030\001 \001(\t\022\021\n\tname" + "space\030\002 \001(\t\"\213\004\n\021ExecutionMetadata\022=\n\004mod" + "e\030\001 \001(\0162/.flyteidl.admin.ExecutionMetada" + "ta.ExecutionMode\022\021\n\tprincipal\030\002 \001(\t\022\017\n\007n" + "esting\030\003 \001(\r\0220\n\014scheduled_at\030\004 \001(\0132\032.goo" + "gle.protobuf.Timestamp\022E\n\025parent_node_ex" + "ecution\030\005 \001(\0132&.flyteidl.core.NodeExecut" + "ionIdentifier\022G\n\023reference_execution\030\020 \001" + "(\0132*.flyteidl.core.WorkflowExecutionIden" + "tifier\0227\n\017system_metadata\030\021 \001(\0132\036.flytei" + "dl.admin.SystemMetadata\022/\n\014artifact_ids\030" + "\022 \003(\0132\031.flyteidl.core.ArtifactID\"g\n\rExec" + "utionMode\022\n\n\006MANUAL\020\000\022\r\n\tSCHEDULED\020\001\022\n\n\006" + "SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016CHILD_WORKFLOW" + "\020\004\022\r\n\tRECOVERED\020\005\"G\n\020NotificationList\0223\n" + "\rnotifications\030\001 \003(\0132\034.flyteidl.admin.No" + "tification\"\262\006\n\rExecutionSpec\022.\n\013launch_p" + "lan\030\001 \001(\0132\031.flyteidl.core.Identifier\022-\n\006" + "inputs\030\002 \001(\0132\031.flyteidl.core.LiteralMapB" + "\002\030\001\0223\n\010metadata\030\003 \001(\0132!.flyteidl.admin.E" + "xecutionMetadata\0229\n\rnotifications\030\005 \001(\0132" + " .flyteidl.admin.NotificationListH\000\022\025\n\013d" + "isable_all\030\006 \001(\010H\000\022&\n\006labels\030\007 \001(\0132\026.fly" + "teidl.admin.Labels\0220\n\013annotations\030\010 \001(\0132" + "\033.flyteidl.admin.Annotations\0228\n\020security" + "_context\030\n \001(\0132\036.flyteidl.core.SecurityC" + "ontext\022/\n\tauth_role\030\020 \001(\0132\030.flyteidl.adm" + "in.AuthRoleB\002\030\001\022;\n\022quality_of_service\030\021 " + "\001(\0132\037.flyteidl.core.QualityOfService\022\027\n\017" + "max_parallelism\030\022 \001(\005\022C\n\026raw_output_data" + "_config\030\023 \001(\0132#.flyteidl.admin.RawOutput" + "DataConfig\022=\n\022cluster_assignment\030\024 \001(\0132!" + ".flyteidl.admin.ClusterAssignment\0221\n\rint" + "erruptible\030\025 \001(\0132\032.google.protobuf.BoolV" + "alue\022\027\n\017overwrite_cache\030\026 \001(\010\022\"\n\004envs\030\027 " + "\001(\0132\024.flyteidl.admin.Envs\022\014\n\004tags\030\030 \003(\tB" + "\030\n\026notification_overridesJ\004\010\004\020\005\"b\n\031Execu" + "tionTerminateRequest\0226\n\002id\030\001 \001(\0132*.flyte" + "idl.core.WorkflowExecutionIdentifier\022\r\n\005" + "cause\030\002 \001(\t\"\034\n\032ExecutionTerminateRespons" + "e\"Y\n\037WorkflowExecutionGetDataRequest\0226\n\002" "id\030\001 \001(\0132*.flyteidl.core.WorkflowExecuti" - "onIdentifier\022+\n\004spec\030\002 \001(\0132\035.flyteidl.ad" - "min.ExecutionSpec\0221\n\007closure\030\003 \001(\0132 .fly" - "teidl.admin.ExecutionClosure\"M\n\rExecutio" - "nList\022-\n\nexecutions\030\001 \003(\0132\031.flyteidl.adm" - "in.Execution\022\r\n\005token\030\002 \001(\t\"X\n\016LiteralMa" - "pBlob\022/\n\006values\030\001 \001(\0132\031.flyteidl.core.Li" - "teralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004data\"1\n" - "\rAbortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\tprincip" - "al\030\002 \001(\t\"\243\006\n\020ExecutionClosure\0225\n\007outputs" - "\030\001 \001(\0132\036.flyteidl.admin.LiteralMapBlobB\002" - "\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.core.Exec" - "utionErrorH\000\022\031\n\013abort_cause\030\n \001(\tB\002\030\001H\000\022" - "7\n\016abort_metadata\030\014 \001(\0132\035.flyteidl.admin" - ".AbortMetadataH\000\0224\n\013output_data\030\r \001(\0132\031." - "flyteidl.core.LiteralMapB\002\030\001H\000\0221\n\014full_o" - "utputs\030\017 \001(\0132\031.flyteidl.core.OutputDataH" - "\000\0226\n\017computed_inputs\030\003 \001(\0132\031.flyteidl.co" - "re.LiteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyte" - "idl.core.WorkflowExecution.Phase\022.\n\nstar" - "ted_at\030\005 \001(\0132\032.google.protobuf.Timestamp" - "\022+\n\010duration\030\006 \001(\0132\031.google.protobuf.Dur" - "ation\022.\n\ncreated_at\030\007 \001(\0132\032.google.proto" - "buf.Timestamp\022.\n\nupdated_at\030\010 \001(\0132\032.goog" - "le.protobuf.Timestamp\0223\n\rnotifications\030\t" - " \003(\0132\034.flyteidl.admin.Notification\022.\n\013wo" - "rkflow_id\030\013 \001(\0132\031.flyteidl.core.Identifi" - "er\022I\n\024state_change_details\030\016 \001(\0132+.flyte" - "idl.admin.ExecutionStateChangeDetailsB\017\n" - "\routput_result\">\n\016SystemMetadata\022\031\n\021exec" - "ution_cluster\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\213" - "\004\n\021ExecutionMetadata\022=\n\004mode\030\001 \001(\0162/.fly" - "teidl.admin.ExecutionMetadata.ExecutionM" - "ode\022\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\022" - "0\n\014scheduled_at\030\004 \001(\0132\032.google.protobuf." - "Timestamp\022E\n\025parent_node_execution\030\005 \001(\013" - "2&.flyteidl.core.NodeExecutionIdentifier" - "\022G\n\023reference_execution\030\020 \001(\0132*.flyteidl" - ".core.WorkflowExecutionIdentifier\0227\n\017sys" - "tem_metadata\030\021 \001(\0132\036.flyteidl.admin.Syst" - "emMetadata\022/\n\014artifact_ids\030\022 \003(\0132\031.flyte" - "idl.core.ArtifactID\"g\n\rExecutionMode\022\n\n\006" - "MANUAL\020\000\022\r\n\tSCHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010R" - "ELAUNCH\020\003\022\022\n\016CHILD_WORKFLOW\020\004\022\r\n\tRECOVER" - "ED\020\005\"G\n\020NotificationList\0223\n\rnotification" - "s\030\001 \003(\0132\034.flyteidl.admin.Notification\"\262\006" - "\n\rExecutionSpec\022.\n\013launch_plan\030\001 \001(\0132\031.f" - "lyteidl.core.Identifier\022-\n\006inputs\030\002 \001(\0132" - "\031.flyteidl.core.LiteralMapB\002\030\001\0223\n\010metada" - "ta\030\003 \001(\0132!.flyteidl.admin.ExecutionMetad" - "ata\0229\n\rnotifications\030\005 \001(\0132 .flyteidl.ad" - "min.NotificationListH\000\022\025\n\013disable_all\030\006 " - "\001(\010H\000\022&\n\006labels\030\007 \001(\0132\026.flyteidl.admin.L" - "abels\0220\n\013annotations\030\010 \001(\0132\033.flyteidl.ad" - "min.Annotations\0228\n\020security_context\030\n \001(" - "\0132\036.flyteidl.core.SecurityContext\022/\n\taut" - "h_role\030\020 \001(\0132\030.flyteidl.admin.AuthRoleB\002" - "\030\001\022;\n\022quality_of_service\030\021 \001(\0132\037.flyteid" - "l.core.QualityOfService\022\027\n\017max_paralleli" - "sm\030\022 \001(\005\022C\n\026raw_output_data_config\030\023 \001(\013" - "2#.flyteidl.admin.RawOutputDataConfig\022=\n" - "\022cluster_assignment\030\024 \001(\0132!.flyteidl.adm" - "in.ClusterAssignment\0221\n\rinterruptible\030\025 " - "\001(\0132\032.google.protobuf.BoolValue\022\027\n\017overw" - "rite_cache\030\026 \001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteid" - "l.admin.Envs\022\014\n\004tags\030\030 \003(\tB\030\n\026notificati" - "on_overridesJ\004\010\004\020\005\"b\n\031ExecutionTerminate" - "Request\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Work" - "flowExecutionIdentifier\022\r\n\005cause\030\002 \001(\t\"\034" - "\n\032ExecutionTerminateResponse\"Y\n\037Workflow" - "ExecutionGetDataRequest\0226\n\002id\030\001 \001(\0132*.fl" - "yteidl.core.WorkflowExecutionIdentifier\"" - "\304\002\n WorkflowExecutionGetDataResponse\022,\n\007" - "outputs\030\001 \001(\0132\027.flyteidl.admin.UrlBlobB\002" - "\030\001\022+\n\006inputs\030\002 \001(\0132\027.flyteidl.admin.UrlB" - "lobB\002\030\001\0222\n\013full_inputs\030\003 \001(\0132\031.flyteidl." - "core.LiteralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(" - "\0132\031.flyteidl.core.LiteralMapB\002\030\001\022,\n\ninpu" - "t_data\030\005 \001(\0132\030.flyteidl.core.InputData\022." - "\n\013output_data\030\006 \001(\0132\031.flyteidl.core.Outp" - "utData\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001" - " \001(\0132*.flyteidl.core.WorkflowExecutionId" - "entifier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin" - ".ExecutionState\"\220\001\n\033ExecutionStateChange" - "Details\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin." - "ExecutionState\022/\n\013occurred_at\030\002 \001(\0132\032.go" - "ogle.protobuf.Timestamp\022\021\n\tprincipal\030\003 \001" - "(\t\"\031\n\027ExecutionUpdateResponse\"k\n\"Workflo" - "wExecutionGetMetricsRequest\0226\n\002id\030\001 \001(\0132" - "*.flyteidl.core.WorkflowExecutionIdentif" - "ier\022\r\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionG" - "etMetricsResponse\022!\n\004span\030\001 \001(\0132\023.flytei" - "dl.core.Span*>\n\016ExecutionState\022\024\n\020EXECUT" - "ION_ACTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;" - "github.com/flyteorg/flyte/flyteidl/gen/p" - "b-go/flyteidl/adminb\006proto3" + "onIdentifier\"\304\002\n WorkflowExecutionGetDat" + "aResponse\022,\n\007outputs\030\001 \001(\0132\027.flyteidl.ad" + "min.UrlBlobB\002\030\001\022+\n\006inputs\030\002 \001(\0132\027.flytei" + "dl.admin.UrlBlobB\002\030\001\0222\n\013full_inputs\030\003 \001(" + "\0132\031.flyteidl.core.LiteralMapB\002\030\001\0223\n\014full" + "_outputs\030\004 \001(\0132\031.flyteidl.core.LiteralMa" + "pB\002\030\001\022,\n\ninput_data\030\005 \001(\0132\030.flyteidl.cor" + "e.InputData\022.\n\013output_data\030\006 \001(\0132\031.flyte" + "idl.core.OutputData\"\177\n\026ExecutionUpdateRe" + "quest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workfl" + "owExecutionIdentifier\022-\n\005state\030\002 \001(\0162\036.f" + "lyteidl.admin.ExecutionState\"\220\001\n\033Executi" + "onStateChangeDetails\022-\n\005state\030\001 \001(\0162\036.fl" + "yteidl.admin.ExecutionState\022/\n\013occurred_" + "at\030\002 \001(\0132\032.google.protobuf.Timestamp\022\021\n\t" + "principal\030\003 \001(\t\"\031\n\027ExecutionUpdateRespon" + "se\"k\n\"WorkflowExecutionGetMetricsRequest" + "\0226\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExe" + "cutionIdentifier\022\r\n\005depth\030\002 \001(\005\"H\n#Workf" + "lowExecutionGetMetricsResponse\022!\n\004span\030\001" + " \001(\0132\023.flyteidl.core.Span*>\n\016ExecutionSt" + "ate\022\024\n\020EXECUTION_ACTIVE\020\000\022\026\n\022EXECUTION_A" + "RCHIVED\020\001B=Z;github.com/flyteorg/flyte/f" + "lyteidl/gen/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto, - "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4907, + "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4920, }; void AddDescriptors_flyteidl_2fadmin_2fexecution_2eproto() { @@ -1062,6 +1063,7 @@ const int ExecutionCreateRequest::kDomainFieldNumber; const int ExecutionCreateRequest::kNameFieldNumber; const int ExecutionCreateRequest::kSpecFieldNumber; const int ExecutionCreateRequest::kInputsFieldNumber; +const int ExecutionCreateRequest::kOrgFieldNumber; const int ExecutionCreateRequest::kInputDataFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -1086,6 +1088,10 @@ ExecutionCreateRequest::ExecutionCreateRequest(const ExecutionCreateRequest& fro if (from.name().size() > 0) { name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_spec()) { spec_ = new ::flyteidl::admin::ExecutionSpec(*from.spec_); } else { @@ -1110,6 +1116,7 @@ void ExecutionCreateRequest::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&spec_, 0, static_cast( reinterpret_cast(&input_data_) - reinterpret_cast(&spec_)) + sizeof(input_data_)); @@ -1124,6 +1131,7 @@ void ExecutionCreateRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete spec_; if (this != internal_default_instance()) delete inputs_; if (this != internal_default_instance()) delete input_data_; @@ -1147,6 +1155,7 @@ void ExecutionCreateRequest::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && spec_ != nullptr) { delete spec_; } @@ -1249,11 +1258,27 @@ const char* ExecutionCreateRequest::_InternalParse(const char* begin, const char {parser_till_end, object}, ptr - size, ptr)); break; } - // .flyteidl.core.InputData input_data = 6; + // string org = 6; case 6: { if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; ptr = ::google::protobuf::io::ReadSize(ptr, &size); GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ExecutionCreateRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // .flyteidl.core.InputData input_data = 7; + case 7: { + if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); parser_till_end = ::flyteidl::core::InputData::_InternalParse; object = msg->mutable_input_data(); if (size > end - ptr) goto len_delim_till_end; @@ -1363,9 +1388,24 @@ bool ExecutionCreateRequest::MergePartialFromCodedStream( break; } - // .flyteidl.core.InputData input_data = 6; + // string org = 6; case 6: { if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ExecutionCreateRequest.org")); + } else { + goto handle_unusual; + } + break; + } + + // .flyteidl.core.InputData input_data = 7; + case 7: { + if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( input, mutable_input_data())); } else { @@ -1443,10 +1483,20 @@ void ExecutionCreateRequest::SerializeWithCachedSizes( 5, HasBitSetters::inputs(this), output); } - // .flyteidl.core.InputData input_data = 6; + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ExecutionCreateRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 6, this->org(), output); + } + + // .flyteidl.core.InputData input_data = 7; if (this->has_input_data()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 6, HasBitSetters::input_data(this), output); + 7, HasBitSetters::input_data(this), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -1509,11 +1559,22 @@ ::google::protobuf::uint8* ExecutionCreateRequest::InternalSerializeWithCachedSi 5, HasBitSetters::inputs(this), target); } - // .flyteidl.core.InputData input_data = 6; + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ExecutionCreateRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 6, this->org(), target); + } + + // .flyteidl.core.InputData input_data = 7; if (this->has_input_data()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( - 6, HasBitSetters::input_data(this), target); + 7, HasBitSetters::input_data(this), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -1558,6 +1619,13 @@ size_t ExecutionCreateRequest::ByteSizeLong() const { this->name()); } + // string org = 6; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.ExecutionSpec spec = 4; if (this->has_spec()) { total_size += 1 + @@ -1572,7 +1640,7 @@ size_t ExecutionCreateRequest::ByteSizeLong() const { *inputs_); } - // .flyteidl.core.InputData input_data = 6; + // .flyteidl.core.InputData input_data = 7; if (this->has_input_data()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( @@ -1618,6 +1686,10 @@ void ExecutionCreateRequest::MergeFrom(const ExecutionCreateRequest& from) { name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_spec()) { mutable_spec()->::flyteidl::admin::ExecutionSpec::MergeFrom(from.spec()); } @@ -1660,6 +1732,8 @@ void ExecutionCreateRequest::InternalSwap(ExecutionCreateRequest* other) { GetArenaNoVirtual()); name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(spec_, other->spec_); swap(inputs_, other->inputs_); swap(input_data_, other->input_data_); diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h index 217ca2a69b..a156540c62 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h @@ -348,6 +348,20 @@ class ExecutionCreateRequest final : ::std::string* release_name(); void set_allocated_name(::std::string* name); + // string org = 6; + void clear_org(); + static const int kOrgFieldNumber = 6; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.ExecutionSpec spec = 4; bool has_spec() const; void clear_spec(); @@ -366,10 +380,10 @@ class ExecutionCreateRequest final : PROTOBUF_DEPRECATED ::flyteidl::core::LiteralMap* mutable_inputs(); PROTOBUF_DEPRECATED void set_allocated_inputs(::flyteidl::core::LiteralMap* inputs); - // .flyteidl.core.InputData input_data = 6; + // .flyteidl.core.InputData input_data = 7; bool has_input_data() const; void clear_input_data(); - static const int kInputDataFieldNumber = 6; + static const int kInputDataFieldNumber = 7; const ::flyteidl::core::InputData& input_data() const; ::flyteidl::core::InputData* release_input_data(); ::flyteidl::core::InputData* mutable_input_data(); @@ -383,6 +397,7 @@ class ExecutionCreateRequest final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::ExecutionSpec* spec_; ::flyteidl::core::LiteralMap* inputs_; ::flyteidl::core::InputData* input_data_; @@ -3895,7 +3910,60 @@ inline void ExecutionCreateRequest::set_allocated_inputs(::flyteidl::core::Liter // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ExecutionCreateRequest.inputs) } -// .flyteidl.core.InputData input_data = 6; +// string org = 6; +inline void ExecutionCreateRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ExecutionCreateRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ExecutionCreateRequest.org) + return org_.GetNoArena(); +} +inline void ExecutionCreateRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ExecutionCreateRequest.org) +} +#if LANG_CXX11 +inline void ExecutionCreateRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ExecutionCreateRequest.org) +} +#endif +inline void ExecutionCreateRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ExecutionCreateRequest.org) +} +inline void ExecutionCreateRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ExecutionCreateRequest.org) +} +inline ::std::string* ExecutionCreateRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ExecutionCreateRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ExecutionCreateRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ExecutionCreateRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ExecutionCreateRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ExecutionCreateRequest.org) +} + +// .flyteidl.core.InputData input_data = 7; inline bool ExecutionCreateRequest::has_input_data() const { return this != internal_default_instance() && input_data_ != nullptr; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc index 4670868832..013b94c90e 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.cc @@ -411,6 +411,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2flaunch_5fplan_2e PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ActiveLaunchPlanListRequest, limit_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ActiveLaunchPlanListRequest, token_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ActiveLaunchPlanListRequest, sort_by_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ActiveLaunchPlanListRequest, org_), }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::LaunchPlanCreateRequest)}, @@ -505,19 +506,19 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2flaunch_5fplan_2eproto[] "fier\022.\n\005state\030\002 \001(\0162\037.flyteidl.admin.Lau" "nchPlanState\"\032\n\030LaunchPlanUpdateResponse" "\"L\n\027ActiveLaunchPlanRequest\0221\n\002id\030\001 \001(\0132" - "%.flyteidl.admin.NamedEntityIdentifier\"\203" + "%.flyteidl.admin.NamedEntityIdentifier\"\220" "\001\n\033ActiveLaunchPlanListRequest\022\017\n\007projec" "t\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003 \001(\r\022\r" "\n\005token\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyteid" - "l.admin.Sort*+\n\017LaunchPlanState\022\014\n\010INACT" - "IVE\020\000\022\n\n\006ACTIVE\020\001B=Z;github.com/flyteorg" - "/flyte/flyteidl/gen/pb-go/flyteidl/admin" - "b\006proto3" + "l.admin.Sort\022\013\n\003org\030\006 \001(\t*+\n\017LaunchPlanS" + "tate\022\014\n\010INACTIVE\020\000\022\n\n\006ACTIVE\020\001B=Z;github" + ".com/flyteorg/flyte/flyteidl/gen/pb-go/f" + "lyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2flaunch_5fplan_2eproto = { false, InitDefaults_flyteidl_2fadmin_2flaunch_5fplan_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2flaunch_5fplan_2eproto, - "flyteidl/admin/launch_plan.proto", &assign_descriptors_table_flyteidl_2fadmin_2flaunch_5fplan_2eproto, 2528, + "flyteidl/admin/launch_plan.proto", &assign_descriptors_table_flyteidl_2fadmin_2flaunch_5fplan_2eproto, 2541, }; void AddDescriptors_flyteidl_2fadmin_2flaunch_5fplan_2eproto() { @@ -5523,6 +5524,7 @@ const int ActiveLaunchPlanListRequest::kDomainFieldNumber; const int ActiveLaunchPlanListRequest::kLimitFieldNumber; const int ActiveLaunchPlanListRequest::kTokenFieldNumber; const int ActiveLaunchPlanListRequest::kSortByFieldNumber; +const int ActiveLaunchPlanListRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ActiveLaunchPlanListRequest::ActiveLaunchPlanListRequest() @@ -5546,6 +5548,10 @@ ActiveLaunchPlanListRequest::ActiveLaunchPlanListRequest(const ActiveLaunchPlanL if (from.token().size() > 0) { token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_sort_by()) { sort_by_ = new ::flyteidl::admin::Sort(*from.sort_by_); } else { @@ -5561,6 +5567,7 @@ void ActiveLaunchPlanListRequest::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&sort_by_, 0, static_cast( reinterpret_cast(&limit_) - reinterpret_cast(&sort_by_)) + sizeof(limit_)); @@ -5575,6 +5582,7 @@ void ActiveLaunchPlanListRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete sort_by_; } @@ -5596,6 +5604,7 @@ void ActiveLaunchPlanListRequest::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) { delete sort_by_; } @@ -5685,6 +5694,22 @@ const char* ActiveLaunchPlanListRequest::_InternalParse(const char* begin, const {parser_till_end, object}, ptr - size, ptr)); break; } + // string org = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ActiveLaunchPlanListRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -5788,6 +5813,21 @@ bool ActiveLaunchPlanListRequest::MergePartialFromCodedStream( break; } + // string org = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ActiveLaunchPlanListRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -5856,6 +5896,16 @@ void ActiveLaunchPlanListRequest::SerializeWithCachedSizes( 5, HasBitSetters::sort_by(this), output); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ActiveLaunchPlanListRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 6, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -5914,6 +5964,17 @@ ::google::protobuf::uint8* ActiveLaunchPlanListRequest::InternalSerializeWithCac 5, HasBitSetters::sort_by(this), target); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ActiveLaunchPlanListRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 6, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -5956,6 +6017,13 @@ size_t ActiveLaunchPlanListRequest::ByteSizeLong() const { this->token()); } + // string org = 6; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.Sort sort_by = 5; if (this->has_sort_by()) { total_size += 1 + @@ -6009,6 +6077,10 @@ void ActiveLaunchPlanListRequest::MergeFrom(const ActiveLaunchPlanListRequest& f token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_sort_by()) { mutable_sort_by()->::flyteidl::admin::Sort::MergeFrom(from.sort_by()); } @@ -6048,6 +6120,8 @@ void ActiveLaunchPlanListRequest::InternalSwap(ActiveLaunchPlanListRequest* othe GetArenaNoVirtual()); token_.Swap(&other->token_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(sort_by_, other->sort_by_); swap(limit_, other->limit_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h index 5dcc3222d0..88bc42e5df 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/launch_plan.pb.h @@ -1817,6 +1817,20 @@ class ActiveLaunchPlanListRequest final : ::std::string* release_token(); void set_allocated_token(::std::string* token); + // string org = 6; + void clear_org(); + static const int kOrgFieldNumber = 6; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.Sort sort_by = 5; bool has_sort_by() const; void clear_sort_by(); @@ -1840,6 +1854,7 @@ class ActiveLaunchPlanListRequest final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr token_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::Sort* sort_by_; ::google::protobuf::uint32 limit_; mutable ::google::protobuf::internal::CachedSize _cached_size_; @@ -3691,6 +3706,59 @@ inline void ActiveLaunchPlanListRequest::set_allocated_sort_by(::flyteidl::admin // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ActiveLaunchPlanListRequest.sort_by) } +// string org = 6; +inline void ActiveLaunchPlanListRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ActiveLaunchPlanListRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ActiveLaunchPlanListRequest.org) + return org_.GetNoArena(); +} +inline void ActiveLaunchPlanListRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ActiveLaunchPlanListRequest.org) +} +#if LANG_CXX11 +inline void ActiveLaunchPlanListRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ActiveLaunchPlanListRequest.org) +} +#endif +inline void ActiveLaunchPlanListRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ActiveLaunchPlanListRequest.org) +} +inline void ActiveLaunchPlanListRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ActiveLaunchPlanListRequest.org) +} +inline ::std::string* ActiveLaunchPlanListRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ActiveLaunchPlanListRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ActiveLaunchPlanListRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ActiveLaunchPlanListRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ActiveLaunchPlanListRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ActiveLaunchPlanListRequest.org) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc index b38613ca8a..82edc1a1ec 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc @@ -415,6 +415,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fmatchable_5freso PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, workflow_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, launch_plan_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ListMatchableAttributesRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -440,8 +441,8 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 58, -1, sizeof(::flyteidl::admin::WorkflowExecutionConfig)}, { 71, -1, sizeof(::flyteidl::admin::MatchingAttributes)}, { 85, -1, sizeof(::flyteidl::admin::MatchableAttributesConfiguration)}, - { 95, -1, sizeof(::flyteidl::admin::ListMatchableAttributesRequest)}, - { 101, -1, sizeof(::flyteidl::admin::ListMatchableAttributesResponse)}, + { 96, -1, sizeof(::flyteidl::admin::ListMatchableAttributesRequest)}, + { 102, -1, sizeof(::flyteidl::admin::ListMatchableAttributesResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -515,29 +516,29 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fmatchable_5fresource_2ep "sH\000\022L\n\031workflow_execution_config\030\007 \001(\0132\'" ".flyteidl.admin.WorkflowExecutionConfigH" "\000\022\?\n\022cluster_assignment\030\010 \001(\0132!.flyteidl" - ".admin.ClusterAssignmentH\000B\010\n\006target\"\242\001\n" + ".admin.ClusterAssignmentH\000B\010\n\006target\"\257\001\n" " MatchableAttributesConfiguration\0226\n\natt" "ributes\030\001 \001(\0132\".flyteidl.admin.MatchingA" "ttributes\022\016\n\006domain\030\002 \001(\t\022\017\n\007project\030\003 \001" "(\t\022\020\n\010workflow\030\004 \001(\t\022\023\n\013launch_plan\030\005 \001(" - "\t\"Z\n\036ListMatchableAttributesRequest\0228\n\rr" - "esource_type\030\001 \001(\0162!.flyteidl.admin.Matc" - "hableResource\"k\n\037ListMatchableAttributes" - "Response\022H\n\016configurations\030\001 \003(\01320.flyte" - "idl.admin.MatchableAttributesConfigurati" - "on*\340\001\n\021MatchableResource\022\021\n\rTASK_RESOURC" - "E\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022\023\n\017EXECUTION_Q" - "UEUE\020\002\022\033\n\027EXECUTION_CLUSTER_LABEL\020\003\022$\n Q" - "UALITY_OF_SERVICE_SPECIFICATION\020\004\022\023\n\017PLU" - "GIN_OVERRIDE\020\005\022\035\n\031WORKFLOW_EXECUTION_CON" - "FIG\020\006\022\026\n\022CLUSTER_ASSIGNMENT\020\007B=Z;github." - "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" - "yteidl/adminb\006proto3" + "\t\022\013\n\003org\030\006 \001(\t\"Z\n\036ListMatchableAttribute" + "sRequest\0228\n\rresource_type\030\001 \001(\0162!.flytei" + "dl.admin.MatchableResource\"k\n\037ListMatcha" + "bleAttributesResponse\022H\n\016configurations\030" + "\001 \003(\01320.flyteidl.admin.MatchableAttribut" + "esConfiguration*\340\001\n\021MatchableResource\022\021\n" + "\rTASK_RESOURCE\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022\023" + "\n\017EXECUTION_QUEUE\020\002\022\033\n\027EXECUTION_CLUSTER" + "_LABEL\020\003\022$\n QUALITY_OF_SERVICE_SPECIFICA" + "TION\020\004\022\023\n\017PLUGIN_OVERRIDE\020\005\022\035\n\031WORKFLOW_" + "EXECUTION_CONFIG\020\006\022\026\n\022CLUSTER_ASSIGNMENT" + "\020\007B=Z;github.com/flyteorg/flyte/flyteidl" + "/gen/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, - "flyteidl/admin/matchable_resource.proto", &assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, 2620, + "flyteidl/admin/matchable_resource.proto", &assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, 2633, }; void AddDescriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { @@ -4901,6 +4902,7 @@ const int MatchableAttributesConfiguration::kDomainFieldNumber; const int MatchableAttributesConfiguration::kProjectFieldNumber; const int MatchableAttributesConfiguration::kWorkflowFieldNumber; const int MatchableAttributesConfiguration::kLaunchPlanFieldNumber; +const int MatchableAttributesConfiguration::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 MatchableAttributesConfiguration::MatchableAttributesConfiguration() @@ -4928,6 +4930,10 @@ MatchableAttributesConfiguration::MatchableAttributesConfiguration(const Matchab if (from.launch_plan().size() > 0) { launch_plan_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.launch_plan_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_attributes()) { attributes_ = new ::flyteidl::admin::MatchingAttributes(*from.attributes_); } else { @@ -4943,6 +4949,7 @@ void MatchableAttributesConfiguration::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); launch_plan_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); attributes_ = nullptr; } @@ -4956,6 +4963,7 @@ void MatchableAttributesConfiguration::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); launch_plan_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete attributes_; } @@ -4978,6 +4986,7 @@ void MatchableAttributesConfiguration::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); launch_plan_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && attributes_ != nullptr) { delete attributes_; } @@ -5075,6 +5084,22 @@ const char* MatchableAttributesConfiguration::_InternalParse(const char* begin, ptr += size; break; } + // string org = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.MatchableAttributesConfiguration.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -5180,6 +5205,21 @@ bool MatchableAttributesConfiguration::MergePartialFromCodedStream( break; } + // string org = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.MatchableAttributesConfiguration.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -5253,6 +5293,16 @@ void MatchableAttributesConfiguration::SerializeWithCachedSizes( 5, this->launch_plan(), output); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 6, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -5317,6 +5367,17 @@ ::google::protobuf::uint8* MatchableAttributesConfiguration::InternalSerializeWi 5, this->launch_plan(), target); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 6, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -5366,6 +5427,13 @@ size_t MatchableAttributesConfiguration::ByteSizeLong() const { this->launch_plan()); } + // string org = 6; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchingAttributes attributes = 1; if (this->has_attributes()) { total_size += 1 + @@ -5416,6 +5484,10 @@ void MatchableAttributesConfiguration::MergeFrom(const MatchableAttributesConfig launch_plan_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.launch_plan_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_attributes()) { mutable_attributes()->::flyteidl::admin::MatchingAttributes::MergeFrom(from.attributes()); } @@ -5454,6 +5526,8 @@ void MatchableAttributesConfiguration::InternalSwap(MatchableAttributesConfigura GetArenaNoVirtual()); launch_plan_.Swap(&other->launch_plan_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(attributes_, other->attributes_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h index 12ea29fdf1..1bd845f182 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h @@ -1707,6 +1707,20 @@ class MatchableAttributesConfiguration final : ::std::string* release_launch_plan(); void set_allocated_launch_plan(::std::string* launch_plan); + // string org = 6; + void clear_org(); + static const int kOrgFieldNumber = 6; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchingAttributes attributes = 1; bool has_attributes() const; void clear_attributes(); @@ -1725,6 +1739,7 @@ class MatchableAttributesConfiguration final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr workflow_; ::google::protobuf::internal::ArenaStringPtr launch_plan_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::MatchingAttributes* attributes_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; @@ -3568,6 +3583,59 @@ inline void MatchableAttributesConfiguration::set_allocated_launch_plan(::std::s // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) } +// string org = 6; +inline void MatchableAttributesConfiguration::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& MatchableAttributesConfiguration::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.MatchableAttributesConfiguration.org) + return org_.GetNoArena(); +} +inline void MatchableAttributesConfiguration::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.MatchableAttributesConfiguration.org) +} +#if LANG_CXX11 +inline void MatchableAttributesConfiguration::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.MatchableAttributesConfiguration.org) +} +#endif +inline void MatchableAttributesConfiguration::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.MatchableAttributesConfiguration.org) +} +inline void MatchableAttributesConfiguration::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.MatchableAttributesConfiguration.org) +} +inline ::std::string* MatchableAttributesConfiguration::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.MatchableAttributesConfiguration.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MatchableAttributesConfiguration::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.MatchableAttributesConfiguration.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MatchableAttributesConfiguration::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.MatchableAttributesConfiguration.org) +} + // ------------------------------------------------------------------- // ListMatchableAttributesRequest diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.cc index 979041c005..b283c46bfb 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.cc @@ -188,6 +188,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_2eproto: PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Project, description_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Project, labels_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Project, state_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Project, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::Projects, _internal_metadata_), ~0u, // no _extensions_ @@ -224,11 +225,11 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_2eproto: static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::Domain)}, { 7, -1, sizeof(::flyteidl::admin::Project)}, - { 18, -1, sizeof(::flyteidl::admin::Projects)}, - { 25, -1, sizeof(::flyteidl::admin::ProjectListRequest)}, - { 34, -1, sizeof(::flyteidl::admin::ProjectRegisterRequest)}, - { 40, -1, sizeof(::flyteidl::admin::ProjectRegisterResponse)}, - { 45, -1, sizeof(::flyteidl::admin::ProjectUpdateResponse)}, + { 19, -1, sizeof(::flyteidl::admin::Projects)}, + { 26, -1, sizeof(::flyteidl::admin::ProjectListRequest)}, + { 35, -1, sizeof(::flyteidl::admin::ProjectRegisterRequest)}, + { 41, -1, sizeof(::flyteidl::admin::ProjectRegisterResponse)}, + { 46, -1, sizeof(::flyteidl::admin::ProjectUpdateResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -250,28 +251,28 @@ ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_fl const char descriptor_table_protodef_flyteidl_2fadmin_2fproject_2eproto[] = "\n\034flyteidl/admin/project.proto\022\016flyteidl" ".admin\032\033flyteidl/admin/common.proto\"\"\n\006D" - "omain\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\"\376\001\n\007Proj" + "omain\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\"\213\002\n\007Proj" "ect\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\'\n\007domains" "\030\003 \003(\0132\026.flyteidl.admin.Domain\022\023\n\013descri" "ption\030\004 \001(\t\022&\n\006labels\030\005 \001(\0132\026.flyteidl.a" "dmin.Labels\0223\n\005state\030\006 \001(\0162$.flyteidl.ad" - "min.Project.ProjectState\">\n\014ProjectState" - "\022\n\n\006ACTIVE\020\000\022\014\n\010ARCHIVED\020\001\022\024\n\020SYSTEM_GEN" - "ERATED\020\002\"D\n\010Projects\022)\n\010projects\030\001 \003(\0132\027" - ".flyteidl.admin.Project\022\r\n\005token\030\002 \001(\t\"j" - "\n\022ProjectListRequest\022\r\n\005limit\030\001 \001(\r\022\r\n\005t" - "oken\030\002 \001(\t\022\017\n\007filters\030\003 \001(\t\022%\n\007sort_by\030\004" - " \001(\0132\024.flyteidl.admin.Sort\"B\n\026ProjectReg" - "isterRequest\022(\n\007project\030\001 \001(\0132\027.flyteidl" - ".admin.Project\"\031\n\027ProjectRegisterRespons" - "e\"\027\n\025ProjectUpdateResponseB=Z;github.com" - "/flyteorg/flyte/flyteidl/gen/pb-go/flyte" - "idl/adminb\006proto3" + "min.Project.ProjectState\022\013\n\003org\030\007 \001(\t\">\n" + "\014ProjectState\022\n\n\006ACTIVE\020\000\022\014\n\010ARCHIVED\020\001\022" + "\024\n\020SYSTEM_GENERATED\020\002\"D\n\010Projects\022)\n\010pro" + "jects\030\001 \003(\0132\027.flyteidl.admin.Project\022\r\n\005" + "token\030\002 \001(\t\"j\n\022ProjectListRequest\022\r\n\005lim" + "it\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\022\017\n\007filters\030\003 \001(\t" + "\022%\n\007sort_by\030\004 \001(\0132\024.flyteidl.admin.Sort\"" + "B\n\026ProjectRegisterRequest\022(\n\007project\030\001 \001" + "(\0132\027.flyteidl.admin.Project\"\031\n\027ProjectRe" + "gisterResponse\"\027\n\025ProjectUpdateResponseB" + "=Z;github.com/flyteorg/flyte/flyteidl/ge" + "n/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fproject_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fproject_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fproject_2eproto, - "flyteidl/admin/project.proto", &assign_descriptors_table_flyteidl_2fadmin_2fproject_2eproto, 737, + "flyteidl/admin/project.proto", &assign_descriptors_table_flyteidl_2fadmin_2fproject_2eproto, 750, }; void AddDescriptors_flyteidl_2fadmin_2fproject_2eproto() { @@ -708,6 +709,7 @@ const int Project::kDomainsFieldNumber; const int Project::kDescriptionFieldNumber; const int Project::kLabelsFieldNumber; const int Project::kStateFieldNumber; +const int Project::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 Project::Project() @@ -732,6 +734,10 @@ Project::Project(const Project& from) if (from.description().size() > 0) { description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_labels()) { labels_ = new ::flyteidl::admin::Labels(*from.labels_); } else { @@ -747,6 +753,7 @@ void Project::SharedCtor() { id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::memset(&labels_, 0, static_cast( reinterpret_cast(&state_) - reinterpret_cast(&labels_)) + sizeof(state_)); @@ -761,6 +768,7 @@ void Project::SharedDtor() { id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); description_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete labels_; } @@ -783,6 +791,7 @@ void Project::Clear() { id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); description_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && labels_ != nullptr) { delete labels_; } @@ -889,6 +898,22 @@ const char* Project::_InternalParse(const char* begin, const char* end, void* ob GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // string org = 7; + case 7: { + if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.Project.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1004,6 +1029,21 @@ bool Project::MergePartialFromCodedStream( break; } + // string org = 7; + case 7: { + if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.Project.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1082,6 +1122,16 @@ void Project::SerializeWithCachedSizes( 6, this->state(), output); } + // string org = 7; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.Project.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 7, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1149,6 +1199,17 @@ ::google::protobuf::uint8* Project::InternalSerializeWithCachedSizesToArray( 6, this->state(), target); } + // string org = 7; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.Project.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 7, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1202,6 +1263,13 @@ size_t Project::ByteSizeLong() const { this->description()); } + // string org = 7; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.Labels labels = 5; if (this->has_labels()) { total_size += 1 + @@ -1255,6 +1323,10 @@ void Project::MergeFrom(const Project& from) { description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_labels()) { mutable_labels()->::flyteidl::admin::Labels::MergeFrom(from.labels()); } @@ -1295,6 +1367,8 @@ void Project::InternalSwap(Project* other) { GetArenaNoVirtual()); description_.Swap(&other->description_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(labels_, other->labels_); swap(state_, other->state_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.h index b1fa7e9e3b..4645e8bf9c 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/project.pb.h @@ -425,6 +425,20 @@ class Project final : ::std::string* release_description(); void set_allocated_description(::std::string* description); + // string org = 7; + void clear_org(); + static const int kOrgFieldNumber = 7; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.Labels labels = 5; bool has_labels() const; void clear_labels(); @@ -449,6 +463,7 @@ class Project final : ::google::protobuf::internal::ArenaStringPtr id_; ::google::protobuf::internal::ArenaStringPtr name_; ::google::protobuf::internal::ArenaStringPtr description_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::Labels* labels_; int state_; mutable ::google::protobuf::internal::CachedSize _cached_size_; @@ -1433,6 +1448,59 @@ inline void Project::set_state(::flyteidl::admin::Project_ProjectState value) { // @@protoc_insertion_point(field_set:flyteidl.admin.Project.state) } +// string org = 7; +inline void Project::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Project::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.Project.org) + return org_.GetNoArena(); +} +inline void Project::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.Project.org) +} +#if LANG_CXX11 +inline void Project::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.Project.org) +} +#endif +inline void Project::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.Project.org) +} +inline void Project::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.Project.org) +} +inline ::std::string* Project::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.Project.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Project::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.Project.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Project::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.Project.org) +} + // ------------------------------------------------------------------- // Projects diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.cc index ad78bb68cf..40a47623d7 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.cc @@ -173,6 +173,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fattrib ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributes, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributes, matching_attributes_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributes, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesUpdateRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -191,6 +192,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fattrib ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesGetRequest, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesGetRequest, resource_type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesGetRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesGetResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -204,6 +206,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fattrib ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesDeleteRequest, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesDeleteRequest, resource_type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesDeleteRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectAttributesDeleteResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -212,12 +215,12 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fattrib }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::ProjectAttributes)}, - { 7, -1, sizeof(::flyteidl::admin::ProjectAttributesUpdateRequest)}, - { 13, -1, sizeof(::flyteidl::admin::ProjectAttributesUpdateResponse)}, - { 18, -1, sizeof(::flyteidl::admin::ProjectAttributesGetRequest)}, - { 25, -1, sizeof(::flyteidl::admin::ProjectAttributesGetResponse)}, - { 31, -1, sizeof(::flyteidl::admin::ProjectAttributesDeleteRequest)}, - { 38, -1, sizeof(::flyteidl::admin::ProjectAttributesDeleteResponse)}, + { 8, -1, sizeof(::flyteidl::admin::ProjectAttributesUpdateRequest)}, + { 14, -1, sizeof(::flyteidl::admin::ProjectAttributesUpdateResponse)}, + { 19, -1, sizeof(::flyteidl::admin::ProjectAttributesGetRequest)}, + { 27, -1, sizeof(::flyteidl::admin::ProjectAttributesGetResponse)}, + { 33, -1, sizeof(::flyteidl::admin::ProjectAttributesDeleteRequest)}, + { 41, -1, sizeof(::flyteidl::admin::ProjectAttributesDeleteResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -239,28 +242,29 @@ ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_fl const char descriptor_table_protodef_flyteidl_2fadmin_2fproject_5fattributes_2eproto[] = "\n\'flyteidl/admin/project_attributes.prot" "o\022\016flyteidl.admin\032\'flyteidl/admin/matcha" - "ble_resource.proto\"e\n\021ProjectAttributes\022" + "ble_resource.proto\"r\n\021ProjectAttributes\022" "\017\n\007project\030\001 \001(\t\022\?\n\023matching_attributes\030" "\002 \001(\0132\".flyteidl.admin.MatchingAttribute" - "s\"W\n\036ProjectAttributesUpdateRequest\0225\n\na" - "ttributes\030\001 \001(\0132!.flyteidl.admin.Project" - "Attributes\"!\n\037ProjectAttributesUpdateRes" - "ponse\"h\n\033ProjectAttributesGetRequest\022\017\n\007" - "project\030\001 \001(\t\0228\n\rresource_type\030\002 \001(\0162!.f" - "lyteidl.admin.MatchableResource\"U\n\034Proje" - "ctAttributesGetResponse\0225\n\nattributes\030\001 " - "\001(\0132!.flyteidl.admin.ProjectAttributes\"k" - "\n\036ProjectAttributesDeleteRequest\022\017\n\007proj" - "ect\030\001 \001(\t\0228\n\rresource_type\030\002 \001(\0162!.flyte" - "idl.admin.MatchableResource\"!\n\037ProjectAt" - "tributesDeleteResponseB=Z;github.com/fly" - "teorg/flyte/flyteidl/gen/pb-go/flyteidl/" - "adminb\006proto3" + "s\022\013\n\003org\030\003 \001(\t\"W\n\036ProjectAttributesUpdat" + "eRequest\0225\n\nattributes\030\001 \001(\0132!.flyteidl." + "admin.ProjectAttributes\"!\n\037ProjectAttrib" + "utesUpdateResponse\"u\n\033ProjectAttributesG" + "etRequest\022\017\n\007project\030\001 \001(\t\0228\n\rresource_t" + "ype\030\002 \001(\0162!.flyteidl.admin.MatchableReso" + "urce\022\013\n\003org\030\003 \001(\t\"U\n\034ProjectAttributesGe" + "tResponse\0225\n\nattributes\030\001 \001(\0132!.flyteidl" + ".admin.ProjectAttributes\"x\n\036ProjectAttri" + "butesDeleteRequest\022\017\n\007project\030\001 \001(\t\0228\n\rr" + "esource_type\030\002 \001(\0162!.flyteidl.admin.Matc" + "hableResource\022\013\n\003org\030\003 \001(\t\"!\n\037ProjectAtt" + "ributesDeleteResponseB=Z;github.com/flyt" + "eorg/flyte/flyteidl/gen/pb-go/flyteidl/a" + "dminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fproject_5fattributes_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fproject_5fattributes_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fproject_5fattributes_2eproto, - "flyteidl/admin/project_attributes.proto", &assign_descriptors_table_flyteidl_2fadmin_2fproject_5fattributes_2eproto, 733, + "flyteidl/admin/project_attributes.proto", &assign_descriptors_table_flyteidl_2fadmin_2fproject_5fattributes_2eproto, 772, }; void AddDescriptors_flyteidl_2fadmin_2fproject_5fattributes_2eproto() { @@ -300,6 +304,7 @@ void ProjectAttributes::clear_matching_attributes() { #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ProjectAttributes::kProjectFieldNumber; const int ProjectAttributes::kMatchingAttributesFieldNumber; +const int ProjectAttributes::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ProjectAttributes::ProjectAttributes() @@ -315,6 +320,10 @@ ProjectAttributes::ProjectAttributes(const ProjectAttributes& from) if (from.project().size() > 0) { project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_matching_attributes()) { matching_attributes_ = new ::flyteidl::admin::MatchingAttributes(*from.matching_attributes_); } else { @@ -327,6 +336,7 @@ void ProjectAttributes::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_ProjectAttributes_flyteidl_2fadmin_2fproject_5fattributes_2eproto.base); project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); matching_attributes_ = nullptr; } @@ -337,6 +347,7 @@ ProjectAttributes::~ProjectAttributes() { void ProjectAttributes::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete matching_attributes_; } @@ -356,6 +367,7 @@ void ProjectAttributes::Clear() { (void) cached_has_bits; project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && matching_attributes_ != nullptr) { delete matching_attributes_; } @@ -405,6 +417,22 @@ const char* ProjectAttributes::_InternalParse(const char* begin, const char* end {parser_till_end, object}, ptr - size, ptr)); break; } + // string org = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ProjectAttributes.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -465,6 +493,21 @@ bool ProjectAttributes::MergePartialFromCodedStream( break; } + // string org = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ProjectAttributes.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -508,6 +551,16 @@ void ProjectAttributes::SerializeWithCachedSizes( 2, HasBitSetters::matching_attributes(this), output); } + // string org = 3; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectAttributes.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -539,6 +592,17 @@ ::google::protobuf::uint8* ProjectAttributes::InternalSerializeWithCachedSizesTo 2, HasBitSetters::matching_attributes(this), target); } + // string org = 3; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectAttributes.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -567,6 +631,13 @@ size_t ProjectAttributes::ByteSizeLong() const { this->project()); } + // string org = 3; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchingAttributes matching_attributes = 2; if (this->has_matching_attributes()) { total_size += 1 + @@ -605,6 +676,10 @@ void ProjectAttributes::MergeFrom(const ProjectAttributes& from) { project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_matching_attributes()) { mutable_matching_attributes()->::flyteidl::admin::MatchingAttributes::MergeFrom(from.matching_attributes()); } @@ -637,6 +712,8 @@ void ProjectAttributes::InternalSwap(ProjectAttributes* other) { _internal_metadata_.Swap(&other->_internal_metadata_); project_.Swap(&other->project_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(matching_attributes_, other->matching_attributes_); } @@ -1153,6 +1230,7 @@ class ProjectAttributesGetRequest::HasBitSetters { #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ProjectAttributesGetRequest::kProjectFieldNumber; const int ProjectAttributesGetRequest::kResourceTypeFieldNumber; +const int ProjectAttributesGetRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ProjectAttributesGetRequest::ProjectAttributesGetRequest() @@ -1168,6 +1246,10 @@ ProjectAttributesGetRequest::ProjectAttributesGetRequest(const ProjectAttributes if (from.project().size() > 0) { project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } resource_type_ = from.resource_type_; // @@protoc_insertion_point(copy_constructor:flyteidl.admin.ProjectAttributesGetRequest) } @@ -1176,6 +1258,7 @@ void ProjectAttributesGetRequest::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_ProjectAttributesGetRequest_flyteidl_2fadmin_2fproject_5fattributes_2eproto.base); project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; } @@ -1186,6 +1269,7 @@ ProjectAttributesGetRequest::~ProjectAttributesGetRequest() { void ProjectAttributesGetRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void ProjectAttributesGetRequest::SetCachedSize(int size) const { @@ -1204,6 +1288,7 @@ void ProjectAttributesGetRequest::Clear() { (void) cached_has_bits; project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; _internal_metadata_.Clear(); } @@ -1245,6 +1330,22 @@ const char* ProjectAttributesGetRequest::_InternalParse(const char* begin, const GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // string org = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ProjectAttributesGetRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1308,6 +1409,21 @@ bool ProjectAttributesGetRequest::MergePartialFromCodedStream( break; } + // string org = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ProjectAttributesGetRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1351,6 +1467,16 @@ void ProjectAttributesGetRequest::SerializeWithCachedSizes( 2, this->resource_type(), output); } + // string org = 3; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectAttributesGetRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1381,6 +1507,17 @@ ::google::protobuf::uint8* ProjectAttributesGetRequest::InternalSerializeWithCac 2, this->resource_type(), target); } + // string org = 3; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectAttributesGetRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1409,6 +1546,13 @@ size_t ProjectAttributesGetRequest::ByteSizeLong() const { this->project()); } + // string org = 3; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchableResource resource_type = 2; if (this->resource_type() != 0) { total_size += 1 + @@ -1446,6 +1590,10 @@ void ProjectAttributesGetRequest::MergeFrom(const ProjectAttributesGetRequest& f project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.resource_type() != 0) { set_resource_type(from.resource_type()); } @@ -1478,6 +1626,8 @@ void ProjectAttributesGetRequest::InternalSwap(ProjectAttributesGetRequest* othe _internal_metadata_.Swap(&other->_internal_metadata_); project_.Swap(&other->project_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(resource_type_, other->resource_type_); } @@ -1785,6 +1935,7 @@ class ProjectAttributesDeleteRequest::HasBitSetters { #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ProjectAttributesDeleteRequest::kProjectFieldNumber; const int ProjectAttributesDeleteRequest::kResourceTypeFieldNumber; +const int ProjectAttributesDeleteRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ProjectAttributesDeleteRequest::ProjectAttributesDeleteRequest() @@ -1800,6 +1951,10 @@ ProjectAttributesDeleteRequest::ProjectAttributesDeleteRequest(const ProjectAttr if (from.project().size() > 0) { project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } resource_type_ = from.resource_type_; // @@protoc_insertion_point(copy_constructor:flyteidl.admin.ProjectAttributesDeleteRequest) } @@ -1808,6 +1963,7 @@ void ProjectAttributesDeleteRequest::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_ProjectAttributesDeleteRequest_flyteidl_2fadmin_2fproject_5fattributes_2eproto.base); project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; } @@ -1818,6 +1974,7 @@ ProjectAttributesDeleteRequest::~ProjectAttributesDeleteRequest() { void ProjectAttributesDeleteRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void ProjectAttributesDeleteRequest::SetCachedSize(int size) const { @@ -1836,6 +1993,7 @@ void ProjectAttributesDeleteRequest::Clear() { (void) cached_has_bits; project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; _internal_metadata_.Clear(); } @@ -1877,6 +2035,22 @@ const char* ProjectAttributesDeleteRequest::_InternalParse(const char* begin, co GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // string org = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ProjectAttributesDeleteRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1940,6 +2114,21 @@ bool ProjectAttributesDeleteRequest::MergePartialFromCodedStream( break; } + // string org = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ProjectAttributesDeleteRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1983,6 +2172,16 @@ void ProjectAttributesDeleteRequest::SerializeWithCachedSizes( 2, this->resource_type(), output); } + // string org = 3; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectAttributesDeleteRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -2013,6 +2212,17 @@ ::google::protobuf::uint8* ProjectAttributesDeleteRequest::InternalSerializeWith 2, this->resource_type(), target); } + // string org = 3; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectAttributesDeleteRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -2041,6 +2251,13 @@ size_t ProjectAttributesDeleteRequest::ByteSizeLong() const { this->project()); } + // string org = 3; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchableResource resource_type = 2; if (this->resource_type() != 0) { total_size += 1 + @@ -2078,6 +2295,10 @@ void ProjectAttributesDeleteRequest::MergeFrom(const ProjectAttributesDeleteRequ project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.resource_type() != 0) { set_resource_type(from.resource_type()); } @@ -2110,6 +2331,8 @@ void ProjectAttributesDeleteRequest::InternalSwap(ProjectAttributesDeleteRequest _internal_metadata_.Swap(&other->_internal_metadata_); project_.Swap(&other->project_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(resource_type_, other->resource_type_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.h index 3c859a5e4a..af00e25767 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/project_attributes.pb.h @@ -199,6 +199,20 @@ class ProjectAttributes final : ::std::string* release_project(); void set_allocated_project(::std::string* project); + // string org = 3; + void clear_org(); + static const int kOrgFieldNumber = 3; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchingAttributes matching_attributes = 2; bool has_matching_attributes() const; void clear_matching_attributes(); @@ -214,6 +228,7 @@ class ProjectAttributes final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr project_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::MatchingAttributes* matching_attributes_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fproject_5fattributes_2eproto; @@ -549,6 +564,20 @@ class ProjectAttributesGetRequest final : ::std::string* release_project(); void set_allocated_project(::std::string* project); + // string org = 3; + void clear_org(); + static const int kOrgFieldNumber = 3; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchableResource resource_type = 2; void clear_resource_type(); static const int kResourceTypeFieldNumber = 2; @@ -561,6 +590,7 @@ class ProjectAttributesGetRequest final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr project_; + ::google::protobuf::internal::ArenaStringPtr org_; int resource_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fproject_5fattributes_2eproto; @@ -791,6 +821,20 @@ class ProjectAttributesDeleteRequest final : ::std::string* release_project(); void set_allocated_project(::std::string* project); + // string org = 3; + void clear_org(); + static const int kOrgFieldNumber = 3; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchableResource resource_type = 2; void clear_resource_type(); static const int kResourceTypeFieldNumber = 2; @@ -803,6 +847,7 @@ class ProjectAttributesDeleteRequest final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr project_; + ::google::protobuf::internal::ArenaStringPtr org_; int resource_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fproject_5fattributes_2eproto; @@ -1021,6 +1066,59 @@ inline void ProjectAttributes::set_allocated_matching_attributes(::flyteidl::adm // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectAttributes.matching_attributes) } +// string org = 3; +inline void ProjectAttributes::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ProjectAttributes::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ProjectAttributes.org) + return org_.GetNoArena(); +} +inline void ProjectAttributes::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectAttributes.org) +} +#if LANG_CXX11 +inline void ProjectAttributes::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ProjectAttributes.org) +} +#endif +inline void ProjectAttributes::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ProjectAttributes.org) +} +inline void ProjectAttributes::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ProjectAttributes.org) +} +inline ::std::string* ProjectAttributes::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ProjectAttributes.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ProjectAttributes::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ProjectAttributes.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ProjectAttributes::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectAttributes.org) +} + // ------------------------------------------------------------------- // ProjectAttributesUpdateRequest @@ -1151,6 +1249,59 @@ inline void ProjectAttributesGetRequest::set_resource_type(::flyteidl::admin::Ma // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectAttributesGetRequest.resource_type) } +// string org = 3; +inline void ProjectAttributesGetRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ProjectAttributesGetRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ProjectAttributesGetRequest.org) + return org_.GetNoArena(); +} +inline void ProjectAttributesGetRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectAttributesGetRequest.org) +} +#if LANG_CXX11 +inline void ProjectAttributesGetRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ProjectAttributesGetRequest.org) +} +#endif +inline void ProjectAttributesGetRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ProjectAttributesGetRequest.org) +} +inline void ProjectAttributesGetRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ProjectAttributesGetRequest.org) +} +inline ::std::string* ProjectAttributesGetRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ProjectAttributesGetRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ProjectAttributesGetRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ProjectAttributesGetRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ProjectAttributesGetRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectAttributesGetRequest.org) +} + // ------------------------------------------------------------------- // ProjectAttributesGetResponse @@ -1277,6 +1428,59 @@ inline void ProjectAttributesDeleteRequest::set_resource_type(::flyteidl::admin: // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectAttributesDeleteRequest.resource_type) } +// string org = 3; +inline void ProjectAttributesDeleteRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ProjectAttributesDeleteRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ProjectAttributesDeleteRequest.org) + return org_.GetNoArena(); +} +inline void ProjectAttributesDeleteRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectAttributesDeleteRequest.org) +} +#if LANG_CXX11 +inline void ProjectAttributesDeleteRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ProjectAttributesDeleteRequest.org) +} +#endif +inline void ProjectAttributesDeleteRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ProjectAttributesDeleteRequest.org) +} +inline void ProjectAttributesDeleteRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ProjectAttributesDeleteRequest.org) +} +inline ::std::string* ProjectAttributesDeleteRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ProjectAttributesDeleteRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ProjectAttributesDeleteRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ProjectAttributesDeleteRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ProjectAttributesDeleteRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectAttributesDeleteRequest.org) +} + // ------------------------------------------------------------------- // ProjectAttributesDeleteResponse diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.cc index 6de4670235..25b576c211 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.cc @@ -174,6 +174,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fdomain PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributes, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributes, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributes, matching_attributes_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributes, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesUpdateRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -193,6 +194,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fdomain PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesGetRequest, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesGetRequest, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesGetRequest, resource_type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesGetRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesGetResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -207,6 +209,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fdomain PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesDeleteRequest, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesDeleteRequest, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesDeleteRequest, resource_type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesDeleteRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ProjectDomainAttributesDeleteResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -215,12 +218,12 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fproject_5fdomain }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::ProjectDomainAttributes)}, - { 8, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesUpdateRequest)}, - { 14, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesUpdateResponse)}, - { 19, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesGetRequest)}, - { 27, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesGetResponse)}, - { 33, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesDeleteRequest)}, - { 41, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesDeleteResponse)}, + { 9, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesUpdateRequest)}, + { 15, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesUpdateResponse)}, + { 20, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesGetRequest)}, + { 29, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesGetResponse)}, + { 35, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesDeleteRequest)}, + { 44, -1, sizeof(::flyteidl::admin::ProjectDomainAttributesDeleteResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -242,31 +245,32 @@ ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_fl const char descriptor_table_protodef_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto[] = "\n.flyteidl/admin/project_domain_attribut" "es.proto\022\016flyteidl.admin\032\'flyteidl/admin" - "/matchable_resource.proto\"{\n\027ProjectDoma" - "inAttributes\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030" - "\002 \001(\t\022\?\n\023matching_attributes\030\003 \001(\0132\".fly" - "teidl.admin.MatchingAttributes\"c\n$Projec" - "tDomainAttributesUpdateRequest\022;\n\nattrib" - "utes\030\001 \001(\0132\'.flyteidl.admin.ProjectDomai" - "nAttributes\"\'\n%ProjectDomainAttributesUp" - "dateResponse\"~\n!ProjectDomainAttributesG" - "etRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001" - "(\t\0228\n\rresource_type\030\003 \001(\0162!.flyteidl.adm" - "in.MatchableResource\"a\n\"ProjectDomainAtt" - "ributesGetResponse\022;\n\nattributes\030\001 \001(\0132\'" - ".flyteidl.admin.ProjectDomainAttributes\"" - "\201\001\n$ProjectDomainAttributesDeleteRequest" - "\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\0228\n\rres" - "ource_type\030\003 \001(\0162!.flyteidl.admin.Matcha" - "bleResource\"\'\n%ProjectDomainAttributesDe" - "leteResponseB=Z;github.com/flyteorg/flyt" - "e/flyteidl/gen/pb-go/flyteidl/adminb\006pro" - "to3" + "/matchable_resource.proto\"\210\001\n\027ProjectDom" + "ainAttributes\022\017\n\007project\030\001 \001(\t\022\016\n\006domain" + "\030\002 \001(\t\022\?\n\023matching_attributes\030\003 \001(\0132\".fl" + "yteidl.admin.MatchingAttributes\022\013\n\003org\030\004" + " \001(\t\"c\n$ProjectDomainAttributesUpdateReq" + "uest\022;\n\nattributes\030\001 \001(\0132\'.flyteidl.admi" + "n.ProjectDomainAttributes\"\'\n%ProjectDoma" + "inAttributesUpdateResponse\"\213\001\n!ProjectDo" + "mainAttributesGetRequest\022\017\n\007project\030\001 \001(" + "\t\022\016\n\006domain\030\002 \001(\t\0228\n\rresource_type\030\003 \001(\016" + "2!.flyteidl.admin.MatchableResource\022\013\n\003o" + "rg\030\004 \001(\t\"a\n\"ProjectDomainAttributesGetRe" + "sponse\022;\n\nattributes\030\001 \001(\0132\'.flyteidl.ad" + "min.ProjectDomainAttributes\"\216\001\n$ProjectD" + "omainAttributesDeleteRequest\022\017\n\007project\030" + "\001 \001(\t\022\016\n\006domain\030\002 \001(\t\0228\n\rresource_type\030\003" + " \001(\0162!.flyteidl.admin.MatchableResource\022" + "\013\n\003org\030\004 \001(\t\"\'\n%ProjectDomainAttributesD" + "eleteResponseB=Z;github.com/flyteorg/fly" + "te/flyteidl/gen/pb-go/flyteidl/adminb\006pr" + "oto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto, - "flyteidl/admin/project_domain_attributes.proto", &assign_descriptors_table_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto, 843, + "flyteidl/admin/project_domain_attributes.proto", &assign_descriptors_table_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto, 884, }; void AddDescriptors_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto() { @@ -307,6 +311,7 @@ void ProjectDomainAttributes::clear_matching_attributes() { const int ProjectDomainAttributes::kProjectFieldNumber; const int ProjectDomainAttributes::kDomainFieldNumber; const int ProjectDomainAttributes::kMatchingAttributesFieldNumber; +const int ProjectDomainAttributes::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ProjectDomainAttributes::ProjectDomainAttributes() @@ -326,6 +331,10 @@ ProjectDomainAttributes::ProjectDomainAttributes(const ProjectDomainAttributes& if (from.domain().size() > 0) { domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_matching_attributes()) { matching_attributes_ = new ::flyteidl::admin::MatchingAttributes(*from.matching_attributes_); } else { @@ -339,6 +348,7 @@ void ProjectDomainAttributes::SharedCtor() { &scc_info_ProjectDomainAttributes_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto.base); project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); matching_attributes_ = nullptr; } @@ -350,6 +360,7 @@ ProjectDomainAttributes::~ProjectDomainAttributes() { void ProjectDomainAttributes::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete matching_attributes_; } @@ -370,6 +381,7 @@ void ProjectDomainAttributes::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && matching_attributes_ != nullptr) { delete matching_attributes_; } @@ -435,6 +447,22 @@ const char* ProjectDomainAttributes::_InternalParse(const char* begin, const cha {parser_till_end, object}, ptr - size, ptr)); break; } + // string org = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ProjectDomainAttributes.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -510,6 +538,21 @@ bool ProjectDomainAttributes::MergePartialFromCodedStream( break; } + // string org = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ProjectDomainAttributes.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -563,6 +606,16 @@ void ProjectDomainAttributes::SerializeWithCachedSizes( 3, HasBitSetters::matching_attributes(this), output); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectDomainAttributes.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 4, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -605,6 +658,17 @@ ::google::protobuf::uint8* ProjectDomainAttributes::InternalSerializeWithCachedS 3, HasBitSetters::matching_attributes(this), target); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectDomainAttributes.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 4, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -640,6 +704,13 @@ size_t ProjectDomainAttributes::ByteSizeLong() const { this->domain()); } + // string org = 4; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchingAttributes matching_attributes = 3; if (this->has_matching_attributes()) { total_size += 1 + @@ -682,6 +753,10 @@ void ProjectDomainAttributes::MergeFrom(const ProjectDomainAttributes& from) { domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_matching_attributes()) { mutable_matching_attributes()->::flyteidl::admin::MatchingAttributes::MergeFrom(from.matching_attributes()); } @@ -716,6 +791,8 @@ void ProjectDomainAttributes::InternalSwap(ProjectDomainAttributes* other) { GetArenaNoVirtual()); domain_.Swap(&other->domain_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(matching_attributes_, other->matching_attributes_); } @@ -1233,6 +1310,7 @@ class ProjectDomainAttributesGetRequest::HasBitSetters { const int ProjectDomainAttributesGetRequest::kProjectFieldNumber; const int ProjectDomainAttributesGetRequest::kDomainFieldNumber; const int ProjectDomainAttributesGetRequest::kResourceTypeFieldNumber; +const int ProjectDomainAttributesGetRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ProjectDomainAttributesGetRequest::ProjectDomainAttributesGetRequest() @@ -1252,6 +1330,10 @@ ProjectDomainAttributesGetRequest::ProjectDomainAttributesGetRequest(const Proje if (from.domain().size() > 0) { domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } resource_type_ = from.resource_type_; // @@protoc_insertion_point(copy_constructor:flyteidl.admin.ProjectDomainAttributesGetRequest) } @@ -1261,6 +1343,7 @@ void ProjectDomainAttributesGetRequest::SharedCtor() { &scc_info_ProjectDomainAttributesGetRequest_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto.base); project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; } @@ -1272,6 +1355,7 @@ ProjectDomainAttributesGetRequest::~ProjectDomainAttributesGetRequest() { void ProjectDomainAttributesGetRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void ProjectDomainAttributesGetRequest::SetCachedSize(int size) const { @@ -1291,6 +1375,7 @@ void ProjectDomainAttributesGetRequest::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; _internal_metadata_.Clear(); } @@ -1348,6 +1433,22 @@ const char* ProjectDomainAttributesGetRequest::_InternalParse(const char* begin, GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // string org = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ProjectDomainAttributesGetRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1426,6 +1527,21 @@ bool ProjectDomainAttributesGetRequest::MergePartialFromCodedStream( break; } + // string org = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ProjectDomainAttributesGetRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1479,6 +1595,16 @@ void ProjectDomainAttributesGetRequest::SerializeWithCachedSizes( 3, this->resource_type(), output); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectDomainAttributesGetRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 4, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1520,6 +1646,17 @@ ::google::protobuf::uint8* ProjectDomainAttributesGetRequest::InternalSerializeW 3, this->resource_type(), target); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectDomainAttributesGetRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 4, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1555,6 +1692,13 @@ size_t ProjectDomainAttributesGetRequest::ByteSizeLong() const { this->domain()); } + // string org = 4; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchableResource resource_type = 3; if (this->resource_type() != 0) { total_size += 1 + @@ -1596,6 +1740,10 @@ void ProjectDomainAttributesGetRequest::MergeFrom(const ProjectDomainAttributesG domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.resource_type() != 0) { set_resource_type(from.resource_type()); } @@ -1630,6 +1778,8 @@ void ProjectDomainAttributesGetRequest::InternalSwap(ProjectDomainAttributesGetR GetArenaNoVirtual()); domain_.Swap(&other->domain_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(resource_type_, other->resource_type_); } @@ -1938,6 +2088,7 @@ class ProjectDomainAttributesDeleteRequest::HasBitSetters { const int ProjectDomainAttributesDeleteRequest::kProjectFieldNumber; const int ProjectDomainAttributesDeleteRequest::kDomainFieldNumber; const int ProjectDomainAttributesDeleteRequest::kResourceTypeFieldNumber; +const int ProjectDomainAttributesDeleteRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ProjectDomainAttributesDeleteRequest::ProjectDomainAttributesDeleteRequest() @@ -1957,6 +2108,10 @@ ProjectDomainAttributesDeleteRequest::ProjectDomainAttributesDeleteRequest(const if (from.domain().size() > 0) { domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } resource_type_ = from.resource_type_; // @@protoc_insertion_point(copy_constructor:flyteidl.admin.ProjectDomainAttributesDeleteRequest) } @@ -1966,6 +2121,7 @@ void ProjectDomainAttributesDeleteRequest::SharedCtor() { &scc_info_ProjectDomainAttributesDeleteRequest_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto.base); project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; } @@ -1977,6 +2133,7 @@ ProjectDomainAttributesDeleteRequest::~ProjectDomainAttributesDeleteRequest() { void ProjectDomainAttributesDeleteRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void ProjectDomainAttributesDeleteRequest::SetCachedSize(int size) const { @@ -1996,6 +2153,7 @@ void ProjectDomainAttributesDeleteRequest::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; _internal_metadata_.Clear(); } @@ -2053,6 +2211,22 @@ const char* ProjectDomainAttributesDeleteRequest::_InternalParse(const char* beg GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // string org = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ProjectDomainAttributesDeleteRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -2131,6 +2305,21 @@ bool ProjectDomainAttributesDeleteRequest::MergePartialFromCodedStream( break; } + // string org = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ProjectDomainAttributesDeleteRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -2184,6 +2373,16 @@ void ProjectDomainAttributesDeleteRequest::SerializeWithCachedSizes( 3, this->resource_type(), output); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectDomainAttributesDeleteRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 4, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -2225,6 +2424,17 @@ ::google::protobuf::uint8* ProjectDomainAttributesDeleteRequest::InternalSeriali 3, this->resource_type(), target); } + // string org = 4; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ProjectDomainAttributesDeleteRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 4, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -2260,6 +2470,13 @@ size_t ProjectDomainAttributesDeleteRequest::ByteSizeLong() const { this->domain()); } + // string org = 4; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchableResource resource_type = 3; if (this->resource_type() != 0) { total_size += 1 + @@ -2301,6 +2518,10 @@ void ProjectDomainAttributesDeleteRequest::MergeFrom(const ProjectDomainAttribut domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.resource_type() != 0) { set_resource_type(from.resource_type()); } @@ -2335,6 +2556,8 @@ void ProjectDomainAttributesDeleteRequest::InternalSwap(ProjectDomainAttributesD GetArenaNoVirtual()); domain_.Swap(&other->domain_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(resource_type_, other->resource_type_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.h index 3ad739b9dd..aa27ef3a0a 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/project_domain_attributes.pb.h @@ -213,6 +213,20 @@ class ProjectDomainAttributes final : ::std::string* release_domain(); void set_allocated_domain(::std::string* domain); + // string org = 4; + void clear_org(); + static const int kOrgFieldNumber = 4; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchingAttributes matching_attributes = 3; bool has_matching_attributes() const; void clear_matching_attributes(); @@ -229,6 +243,7 @@ class ProjectDomainAttributes final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::MatchingAttributes* matching_attributes_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto; @@ -578,6 +593,20 @@ class ProjectDomainAttributesGetRequest final : ::std::string* release_domain(); void set_allocated_domain(::std::string* domain); + // string org = 4; + void clear_org(); + static const int kOrgFieldNumber = 4; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchableResource resource_type = 3; void clear_resource_type(); static const int kResourceTypeFieldNumber = 3; @@ -591,6 +620,7 @@ class ProjectDomainAttributesGetRequest final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; + ::google::protobuf::internal::ArenaStringPtr org_; int resource_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto; @@ -835,6 +865,20 @@ class ProjectDomainAttributesDeleteRequest final : ::std::string* release_domain(); void set_allocated_domain(::std::string* domain); + // string org = 4; + void clear_org(); + static const int kOrgFieldNumber = 4; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchableResource resource_type = 3; void clear_resource_type(); static const int kResourceTypeFieldNumber = 3; @@ -848,6 +892,7 @@ class ProjectDomainAttributesDeleteRequest final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; + ::google::protobuf::internal::ArenaStringPtr org_; int resource_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fproject_5fdomain_5fattributes_2eproto; @@ -1119,6 +1164,59 @@ inline void ProjectDomainAttributes::set_allocated_matching_attributes(::flyteid // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectDomainAttributes.matching_attributes) } +// string org = 4; +inline void ProjectDomainAttributes::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ProjectDomainAttributes::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ProjectDomainAttributes.org) + return org_.GetNoArena(); +} +inline void ProjectDomainAttributes::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectDomainAttributes.org) +} +#if LANG_CXX11 +inline void ProjectDomainAttributes::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ProjectDomainAttributes.org) +} +#endif +inline void ProjectDomainAttributes::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ProjectDomainAttributes.org) +} +inline void ProjectDomainAttributes::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ProjectDomainAttributes.org) +} +inline ::std::string* ProjectDomainAttributes::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ProjectDomainAttributes.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ProjectDomainAttributes::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ProjectDomainAttributes.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ProjectDomainAttributes::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectDomainAttributes.org) +} + // ------------------------------------------------------------------- // ProjectDomainAttributesUpdateRequest @@ -1302,6 +1400,59 @@ inline void ProjectDomainAttributesGetRequest::set_resource_type(::flyteidl::adm // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectDomainAttributesGetRequest.resource_type) } +// string org = 4; +inline void ProjectDomainAttributesGetRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ProjectDomainAttributesGetRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ProjectDomainAttributesGetRequest.org) + return org_.GetNoArena(); +} +inline void ProjectDomainAttributesGetRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectDomainAttributesGetRequest.org) +} +#if LANG_CXX11 +inline void ProjectDomainAttributesGetRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ProjectDomainAttributesGetRequest.org) +} +#endif +inline void ProjectDomainAttributesGetRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ProjectDomainAttributesGetRequest.org) +} +inline void ProjectDomainAttributesGetRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ProjectDomainAttributesGetRequest.org) +} +inline ::std::string* ProjectDomainAttributesGetRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ProjectDomainAttributesGetRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ProjectDomainAttributesGetRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ProjectDomainAttributesGetRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ProjectDomainAttributesGetRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectDomainAttributesGetRequest.org) +} + // ------------------------------------------------------------------- // ProjectDomainAttributesGetResponse @@ -1481,6 +1632,59 @@ inline void ProjectDomainAttributesDeleteRequest::set_resource_type(::flyteidl:: // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectDomainAttributesDeleteRequest.resource_type) } +// string org = 4; +inline void ProjectDomainAttributesDeleteRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& ProjectDomainAttributesDeleteRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) + return org_.GetNoArena(); +} +inline void ProjectDomainAttributesDeleteRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) +} +#if LANG_CXX11 +inline void ProjectDomainAttributesDeleteRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) +} +#endif +inline void ProjectDomainAttributesDeleteRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) +} +inline void ProjectDomainAttributesDeleteRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) +} +inline ::std::string* ProjectDomainAttributesDeleteRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ProjectDomainAttributesDeleteRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ProjectDomainAttributesDeleteRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.ProjectDomainAttributesDeleteRequest.org) +} + // ------------------------------------------------------------------- // ProjectDomainAttributesDeleteResponse diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.cc index 0a85bfeb1d..f181c74738 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.cc @@ -175,6 +175,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fworkflow_5fattri PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributes, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributes, workflow_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributes, matching_attributes_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributes, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesUpdateRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -195,6 +196,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fworkflow_5fattri PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesGetRequest, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesGetRequest, workflow_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesGetRequest, resource_type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesGetRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesGetResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -210,6 +212,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fworkflow_5fattri PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesDeleteRequest, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesDeleteRequest, workflow_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesDeleteRequest, resource_type_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesDeleteRequest, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowAttributesDeleteResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -218,12 +221,12 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fworkflow_5fattri }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::WorkflowAttributes)}, - { 9, -1, sizeof(::flyteidl::admin::WorkflowAttributesUpdateRequest)}, - { 15, -1, sizeof(::flyteidl::admin::WorkflowAttributesUpdateResponse)}, - { 20, -1, sizeof(::flyteidl::admin::WorkflowAttributesGetRequest)}, - { 29, -1, sizeof(::flyteidl::admin::WorkflowAttributesGetResponse)}, - { 35, -1, sizeof(::flyteidl::admin::WorkflowAttributesDeleteRequest)}, - { 44, -1, sizeof(::flyteidl::admin::WorkflowAttributesDeleteResponse)}, + { 10, -1, sizeof(::flyteidl::admin::WorkflowAttributesUpdateRequest)}, + { 16, -1, sizeof(::flyteidl::admin::WorkflowAttributesUpdateResponse)}, + { 21, -1, sizeof(::flyteidl::admin::WorkflowAttributesGetRequest)}, + { 31, -1, sizeof(::flyteidl::admin::WorkflowAttributesGetResponse)}, + { 37, -1, sizeof(::flyteidl::admin::WorkflowAttributesDeleteRequest)}, + { 47, -1, sizeof(::flyteidl::admin::WorkflowAttributesDeleteResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -245,31 +248,32 @@ ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_fl const char descriptor_table_protodef_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto[] = "\n(flyteidl/admin/workflow_attributes.pro" "to\022\016flyteidl.admin\032\'flyteidl/admin/match" - "able_resource.proto\"\210\001\n\022WorkflowAttribut" + "able_resource.proto\"\225\001\n\022WorkflowAttribut" "es\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\020\n\010w" "orkflow\030\003 \001(\t\022\?\n\023matching_attributes\030\004 \001" - "(\0132\".flyteidl.admin.MatchingAttributes\"Y" - "\n\037WorkflowAttributesUpdateRequest\0226\n\natt" - "ributes\030\001 \001(\0132\".flyteidl.admin.WorkflowA" - "ttributes\"\"\n WorkflowAttributesUpdateRes" - "ponse\"\213\001\n\034WorkflowAttributesGetRequest\022\017" - "\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\020\n\010workf" - "low\030\003 \001(\t\0228\n\rresource_type\030\004 \001(\0162!.flyte" - "idl.admin.MatchableResource\"W\n\035WorkflowA" - "ttributesGetResponse\0226\n\nattributes\030\001 \001(\013" - "2\".flyteidl.admin.WorkflowAttributes\"\216\001\n" - "\037WorkflowAttributesDeleteRequest\022\017\n\007proj" - "ect\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\020\n\010workflow\030\003 " - "\001(\t\0228\n\rresource_type\030\004 \001(\0162!.flyteidl.ad" - "min.MatchableResource\"\"\n WorkflowAttribu" - "tesDeleteResponseB=Z;github.com/flyteorg" - "/flyte/flyteidl/gen/pb-go/flyteidl/admin" - "b\006proto3" + "(\0132\".flyteidl.admin.MatchingAttributes\022\013" + "\n\003org\030\005 \001(\t\"Y\n\037WorkflowAttributesUpdateR" + "equest\0226\n\nattributes\030\001 \001(\0132\".flyteidl.ad" + "min.WorkflowAttributes\"\"\n WorkflowAttrib" + "utesUpdateResponse\"\230\001\n\034WorkflowAttribute" + "sGetRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002" + " \001(\t\022\020\n\010workflow\030\003 \001(\t\0228\n\rresource_type\030" + "\004 \001(\0162!.flyteidl.admin.MatchableResource" + "\022\013\n\003org\030\005 \001(\t\"W\n\035WorkflowAttributesGetRe" + "sponse\0226\n\nattributes\030\001 \001(\0132\".flyteidl.ad" + "min.WorkflowAttributes\"\233\001\n\037WorkflowAttri" + "butesDeleteRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006d" + "omain\030\002 \001(\t\022\020\n\010workflow\030\003 \001(\t\0228\n\rresourc" + "e_type\030\004 \001(\0162!.flyteidl.admin.MatchableR" + "esource\022\013\n\003org\030\005 \001(\t\"\"\n WorkflowAttribut" + "esDeleteResponseB=Z;github.com/flyteorg/" + "flyte/flyteidl/gen/pb-go/flyteidl/adminb" + "\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto, - "flyteidl/admin/workflow_attributes.proto", &assign_descriptors_table_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto, 848, + "flyteidl/admin/workflow_attributes.proto", &assign_descriptors_table_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto, 887, }; void AddDescriptors_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto() { @@ -311,6 +315,7 @@ const int WorkflowAttributes::kProjectFieldNumber; const int WorkflowAttributes::kDomainFieldNumber; const int WorkflowAttributes::kWorkflowFieldNumber; const int WorkflowAttributes::kMatchingAttributesFieldNumber; +const int WorkflowAttributes::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 WorkflowAttributes::WorkflowAttributes() @@ -334,6 +339,10 @@ WorkflowAttributes::WorkflowAttributes(const WorkflowAttributes& from) if (from.workflow().size() > 0) { workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_matching_attributes()) { matching_attributes_ = new ::flyteidl::admin::MatchingAttributes(*from.matching_attributes_); } else { @@ -348,6 +357,7 @@ void WorkflowAttributes::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); matching_attributes_ = nullptr; } @@ -360,6 +370,7 @@ void WorkflowAttributes::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete matching_attributes_; } @@ -381,6 +392,7 @@ void WorkflowAttributes::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && matching_attributes_ != nullptr) { delete matching_attributes_; } @@ -462,6 +474,22 @@ const char* WorkflowAttributes::_InternalParse(const char* begin, const char* en {parser_till_end, object}, ptr - size, ptr)); break; } + // string org = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.WorkflowAttributes.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -552,6 +580,21 @@ bool WorkflowAttributes::MergePartialFromCodedStream( break; } + // string org = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.WorkflowAttributes.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -615,6 +658,16 @@ void WorkflowAttributes::SerializeWithCachedSizes( 4, HasBitSetters::matching_attributes(this), output); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.WorkflowAttributes.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 5, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -668,6 +721,17 @@ ::google::protobuf::uint8* WorkflowAttributes::InternalSerializeWithCachedSizesT 4, HasBitSetters::matching_attributes(this), target); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.WorkflowAttributes.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 5, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -710,6 +774,13 @@ size_t WorkflowAttributes::ByteSizeLong() const { this->workflow()); } + // string org = 5; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchingAttributes matching_attributes = 4; if (this->has_matching_attributes()) { total_size += 1 + @@ -756,6 +827,10 @@ void WorkflowAttributes::MergeFrom(const WorkflowAttributes& from) { workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.has_matching_attributes()) { mutable_matching_attributes()->::flyteidl::admin::MatchingAttributes::MergeFrom(from.matching_attributes()); } @@ -792,6 +867,8 @@ void WorkflowAttributes::InternalSwap(WorkflowAttributes* other) { GetArenaNoVirtual()); workflow_.Swap(&other->workflow_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(matching_attributes_, other->matching_attributes_); } @@ -1310,6 +1387,7 @@ const int WorkflowAttributesGetRequest::kProjectFieldNumber; const int WorkflowAttributesGetRequest::kDomainFieldNumber; const int WorkflowAttributesGetRequest::kWorkflowFieldNumber; const int WorkflowAttributesGetRequest::kResourceTypeFieldNumber; +const int WorkflowAttributesGetRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 WorkflowAttributesGetRequest::WorkflowAttributesGetRequest() @@ -1333,6 +1411,10 @@ WorkflowAttributesGetRequest::WorkflowAttributesGetRequest(const WorkflowAttribu if (from.workflow().size() > 0) { workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } resource_type_ = from.resource_type_; // @@protoc_insertion_point(copy_constructor:flyteidl.admin.WorkflowAttributesGetRequest) } @@ -1343,6 +1425,7 @@ void WorkflowAttributesGetRequest::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; } @@ -1355,6 +1438,7 @@ void WorkflowAttributesGetRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void WorkflowAttributesGetRequest::SetCachedSize(int size) const { @@ -1375,6 +1459,7 @@ void WorkflowAttributesGetRequest::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; _internal_metadata_.Clear(); } @@ -1448,6 +1533,22 @@ const char* WorkflowAttributesGetRequest::_InternalParse(const char* begin, cons GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // string org = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.WorkflowAttributesGetRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1541,6 +1642,21 @@ bool WorkflowAttributesGetRequest::MergePartialFromCodedStream( break; } + // string org = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.WorkflowAttributesGetRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1604,6 +1720,16 @@ void WorkflowAttributesGetRequest::SerializeWithCachedSizes( 4, this->resource_type(), output); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.WorkflowAttributesGetRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 5, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1656,6 +1782,17 @@ ::google::protobuf::uint8* WorkflowAttributesGetRequest::InternalSerializeWithCa 4, this->resource_type(), target); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.WorkflowAttributesGetRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 5, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1698,6 +1835,13 @@ size_t WorkflowAttributesGetRequest::ByteSizeLong() const { this->workflow()); } + // string org = 5; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchableResource resource_type = 4; if (this->resource_type() != 0) { total_size += 1 + @@ -1743,6 +1887,10 @@ void WorkflowAttributesGetRequest::MergeFrom(const WorkflowAttributesGetRequest& workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.resource_type() != 0) { set_resource_type(from.resource_type()); } @@ -1779,6 +1927,8 @@ void WorkflowAttributesGetRequest::InternalSwap(WorkflowAttributesGetRequest* ot GetArenaNoVirtual()); workflow_.Swap(&other->workflow_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(resource_type_, other->resource_type_); } @@ -2088,6 +2238,7 @@ const int WorkflowAttributesDeleteRequest::kProjectFieldNumber; const int WorkflowAttributesDeleteRequest::kDomainFieldNumber; const int WorkflowAttributesDeleteRequest::kWorkflowFieldNumber; const int WorkflowAttributesDeleteRequest::kResourceTypeFieldNumber; +const int WorkflowAttributesDeleteRequest::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 WorkflowAttributesDeleteRequest::WorkflowAttributesDeleteRequest() @@ -2111,6 +2262,10 @@ WorkflowAttributesDeleteRequest::WorkflowAttributesDeleteRequest(const WorkflowA if (from.workflow().size() > 0) { workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } resource_type_ = from.resource_type_; // @@protoc_insertion_point(copy_constructor:flyteidl.admin.WorkflowAttributesDeleteRequest) } @@ -2121,6 +2276,7 @@ void WorkflowAttributesDeleteRequest::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; } @@ -2133,6 +2289,7 @@ void WorkflowAttributesDeleteRequest::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void WorkflowAttributesDeleteRequest::SetCachedSize(int size) const { @@ -2153,6 +2310,7 @@ void WorkflowAttributesDeleteRequest::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); workflow_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; _internal_metadata_.Clear(); } @@ -2226,6 +2384,22 @@ const char* WorkflowAttributesDeleteRequest::_InternalParse(const char* begin, c GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // string org = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.WorkflowAttributesDeleteRequest.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -2319,6 +2493,21 @@ bool WorkflowAttributesDeleteRequest::MergePartialFromCodedStream( break; } + // string org = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.WorkflowAttributesDeleteRequest.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -2382,6 +2571,16 @@ void WorkflowAttributesDeleteRequest::SerializeWithCachedSizes( 4, this->resource_type(), output); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.WorkflowAttributesDeleteRequest.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 5, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -2434,6 +2633,17 @@ ::google::protobuf::uint8* WorkflowAttributesDeleteRequest::InternalSerializeWit 4, this->resource_type(), target); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.WorkflowAttributesDeleteRequest.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 5, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -2476,6 +2686,13 @@ size_t WorkflowAttributesDeleteRequest::ByteSizeLong() const { this->workflow()); } + // string org = 5; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.admin.MatchableResource resource_type = 4; if (this->resource_type() != 0) { total_size += 1 + @@ -2521,6 +2738,10 @@ void WorkflowAttributesDeleteRequest::MergeFrom(const WorkflowAttributesDeleteRe workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.resource_type() != 0) { set_resource_type(from.resource_type()); } @@ -2557,6 +2778,8 @@ void WorkflowAttributesDeleteRequest::InternalSwap(WorkflowAttributesDeleteReque GetArenaNoVirtual()); workflow_.Swap(&other->workflow_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(resource_type_, other->resource_type_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.h index f6e12acc87..52d266d94b 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/workflow_attributes.pb.h @@ -227,6 +227,20 @@ class WorkflowAttributes final : ::std::string* release_workflow(); void set_allocated_workflow(::std::string* workflow); + // string org = 5; + void clear_org(); + static const int kOrgFieldNumber = 5; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchingAttributes matching_attributes = 4; bool has_matching_attributes() const; void clear_matching_attributes(); @@ -244,6 +258,7 @@ class WorkflowAttributes final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr workflow_; + ::google::protobuf::internal::ArenaStringPtr org_; ::flyteidl::admin::MatchingAttributes* matching_attributes_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto; @@ -607,6 +622,20 @@ class WorkflowAttributesGetRequest final : ::std::string* release_workflow(); void set_allocated_workflow(::std::string* workflow); + // string org = 5; + void clear_org(); + static const int kOrgFieldNumber = 5; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchableResource resource_type = 4; void clear_resource_type(); static const int kResourceTypeFieldNumber = 4; @@ -621,6 +650,7 @@ class WorkflowAttributesGetRequest final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr workflow_; + ::google::protobuf::internal::ArenaStringPtr org_; int resource_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto; @@ -879,6 +909,20 @@ class WorkflowAttributesDeleteRequest final : ::std::string* release_workflow(); void set_allocated_workflow(::std::string* workflow); + // string org = 5; + void clear_org(); + static const int kOrgFieldNumber = 5; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.admin.MatchableResource resource_type = 4; void clear_resource_type(); static const int kResourceTypeFieldNumber = 4; @@ -893,6 +937,7 @@ class WorkflowAttributesDeleteRequest final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr workflow_; + ::google::protobuf::internal::ArenaStringPtr org_; int resource_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fadmin_2fworkflow_5fattributes_2eproto; @@ -1217,6 +1262,59 @@ inline void WorkflowAttributes::set_allocated_matching_attributes(::flyteidl::ad // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowAttributes.matching_attributes) } +// string org = 5; +inline void WorkflowAttributes::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& WorkflowAttributes::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.WorkflowAttributes.org) + return org_.GetNoArena(); +} +inline void WorkflowAttributes::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.WorkflowAttributes.org) +} +#if LANG_CXX11 +inline void WorkflowAttributes::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.WorkflowAttributes.org) +} +#endif +inline void WorkflowAttributes::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.WorkflowAttributes.org) +} +inline void WorkflowAttributes::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.WorkflowAttributes.org) +} +inline ::std::string* WorkflowAttributes::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.WorkflowAttributes.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* WorkflowAttributes::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.WorkflowAttributes.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void WorkflowAttributes::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowAttributes.org) +} + // ------------------------------------------------------------------- // WorkflowAttributesUpdateRequest @@ -1453,6 +1551,59 @@ inline void WorkflowAttributesGetRequest::set_resource_type(::flyteidl::admin::M // @@protoc_insertion_point(field_set:flyteidl.admin.WorkflowAttributesGetRequest.resource_type) } +// string org = 5; +inline void WorkflowAttributesGetRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& WorkflowAttributesGetRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.WorkflowAttributesGetRequest.org) + return org_.GetNoArena(); +} +inline void WorkflowAttributesGetRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.WorkflowAttributesGetRequest.org) +} +#if LANG_CXX11 +inline void WorkflowAttributesGetRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.WorkflowAttributesGetRequest.org) +} +#endif +inline void WorkflowAttributesGetRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.WorkflowAttributesGetRequest.org) +} +inline void WorkflowAttributesGetRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.WorkflowAttributesGetRequest.org) +} +inline ::std::string* WorkflowAttributesGetRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.WorkflowAttributesGetRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* WorkflowAttributesGetRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.WorkflowAttributesGetRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void WorkflowAttributesGetRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowAttributesGetRequest.org) +} + // ------------------------------------------------------------------- // WorkflowAttributesGetResponse @@ -1685,6 +1836,59 @@ inline void WorkflowAttributesDeleteRequest::set_resource_type(::flyteidl::admin // @@protoc_insertion_point(field_set:flyteidl.admin.WorkflowAttributesDeleteRequest.resource_type) } +// string org = 5; +inline void WorkflowAttributesDeleteRequest::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& WorkflowAttributesDeleteRequest::org() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.WorkflowAttributesDeleteRequest.org) + return org_.GetNoArena(); +} +inline void WorkflowAttributesDeleteRequest::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.WorkflowAttributesDeleteRequest.org) +} +#if LANG_CXX11 +inline void WorkflowAttributesDeleteRequest::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.WorkflowAttributesDeleteRequest.org) +} +#endif +inline void WorkflowAttributesDeleteRequest::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.WorkflowAttributesDeleteRequest.org) +} +inline void WorkflowAttributesDeleteRequest::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.WorkflowAttributesDeleteRequest.org) +} +inline ::std::string* WorkflowAttributesDeleteRequest::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.WorkflowAttributesDeleteRequest.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* WorkflowAttributesDeleteRequest::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.admin.WorkflowAttributesDeleteRequest.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void WorkflowAttributesDeleteRequest::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.WorkflowAttributesDeleteRequest.org) +} + // ------------------------------------------------------------------- // WorkflowAttributesDeleteResponse diff --git a/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc index 94d3515bb0..300fa12f8f 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/artifact/artifacts.pb.cc @@ -928,68 +928,52 @@ const char descriptor_table_protodef_flyteidl_2fartifact_2fartifacts_2eproto[] = "UsageRequest\022.\n\013artifact_id\030\001 \001(\0132\031.flyt" "eidl.core.ArtifactID\"S\n\021ListUsageRespons" "e\022>\n\nexecutions\030\001 \003(\0132*.flyteidl.core.Wo" - "rkflowExecutionIdentifier2\361\020\n\020ArtifactRe" + "rkflowExecutionIdentifier2\373\013\n\020ArtifactRe" "gistry\022g\n\016CreateArtifact\022(.flyteidl.arti" "fact.CreateArtifactRequest\032).flyteidl.ar" - "tifact.CreateArtifactResponse\"\000\022\361\004\n\013GetA" + "tifact.CreateArtifactResponse\"\000\022\204\001\n\013GetA" "rtifact\022%.flyteidl.artifact.GetArtifactR" "equest\032&.flyteidl.artifact.GetArtifactRe" - "sponse\"\222\004\202\323\344\223\002\213\004\022\033/artifacts/api/v1/arti" - "factsZ\263\001\022\260\001/artifacts/api/v1/artifact/id" - "/{query.artifact_id.artifact_key.project" - "}/{query.artifact_id.artifact_key.domain" - "}/{query.artifact_id.artifact_key.name}/" - "{query.artifact_id.version}Z\227\001\022\224\001/artifa" - "cts/api/v1/artifact/id/{query.artifact_i" - "d.artifact_key.project}/{query.artifact_" - "id.artifact_key.domain}/{query.artifact_" - "id.artifact_key.name}Z\233\001\022\230\001/artifacts/ap" - "i/v1/artifact/tag/{query.artifact_tag.ar" - "tifact_key.project}/{query.artifact_tag." - "artifact_key.domain}/{query.artifact_tag" - ".artifact_key.name}\022\226\002\n\017SearchArtifacts\022" - ").flyteidl.artifact.SearchArtifactsReque" - "st\032*.flyteidl.artifact.SearchArtifactsRe" - "sponse\"\253\001\202\323\344\223\002\244\001\022Y/artifacts/api/v1/sear" - "ch/{artifact_key.project}/{artifact_key." - "domain}/{artifact_key.name}ZG\022E/artifact" - "s/api/v1/search/{artifact_key.project}/{" - "artifact_key.domain}\022d\n\rCreateTrigger\022\'." - "flyteidl.artifact.CreateTriggerRequest\032(" - ".flyteidl.artifact.CreateTriggerResponse" - "\"\000\022\237\001\n\021DeactivateTrigger\022+.flyteidl.arti" - "fact.DeactivateTriggerRequest\032,.flyteidl" - ".artifact.DeactivateTriggerResponse\"/\202\323\344" - "\223\002)2$/artifacts/api/v1/trigger/deactivat" - "e:\001*\022O\n\006AddTag\022 .flyteidl.artifact.AddTa" - "gRequest\032!.flyteidl.artifact.AddTagRespo" - "nse\"\000\022e\n\020RegisterProducer\022*.flyteidl.art" - "ifact.RegisterProducerRequest\032#.flyteidl" - ".artifact.RegisterResponse\"\000\022e\n\020Register" - "Consumer\022*.flyteidl.artifact.RegisterCon" - "sumerRequest\032#.flyteidl.artifact.Registe" - "rResponse\"\000\022m\n\022SetExecutionInputs\022).flyt" - "eidl.artifact.ExecutionInputsRequest\032*.f" - "lyteidl.artifact.ExecutionInputsResponse" - "\"\000\022\330\001\n\022FindByWorkflowExec\022,.flyteidl.art" - "ifact.FindByWorkflowExecRequest\032*.flytei" - "dl.artifact.SearchArtifactsResponse\"h\202\323\344" - "\223\002b\022`/artifacts/api/v1/search/execution/" - "{exec_id.project}/{exec_id.domain}/{exec" - "_id.name}/{direction}\022\365\001\n\tListUsage\022#.fl" - "yteidl.artifact.ListUsageRequest\032$.flyte" - "idl.artifact.ListUsageResponse\"\234\001\202\323\344\223\002\225\001" - "\022\222\001/artifacts/api/v1/usage/{artifact_id." - "artifact_key.project}/{artifact_id.artif" - "act_key.domain}/{artifact_id.artifact_ke" - "y.name}/{artifact_id.version}B@Z>github." - "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" - "yteidl/artifactb\006proto3" + "sponse\"&\202\323\344\223\002 \"\033/artifacts/api/v1/artifa" + "cts:\001*\022\215\001\n\017SearchArtifacts\022).flyteidl.ar" + "tifact.SearchArtifactsRequest\032*.flyteidl" + ".artifact.SearchArtifactsResponse\"#\202\323\344\223\002" + "\035\"\030/artifacts/api/v1/search:\001*\022d\n\rCreate" + "Trigger\022\'.flyteidl.artifact.CreateTrigge" + "rRequest\032(.flyteidl.artifact.CreateTrigg" + "erResponse\"\000\022\237\001\n\021DeactivateTrigger\022+.fly" + "teidl.artifact.DeactivateTriggerRequest\032" + ",.flyteidl.artifact.DeactivateTriggerRes" + "ponse\"/\202\323\344\223\002)2$/artifacts/api/v1/trigger" + "/deactivate:\001*\022O\n\006AddTag\022 .flyteidl.arti" + "fact.AddTagRequest\032!.flyteidl.artifact.A" + "ddTagResponse\"\000\022e\n\020RegisterProducer\022*.fl" + "yteidl.artifact.RegisterProducerRequest\032" + "#.flyteidl.artifact.RegisterResponse\"\000\022e" + "\n\020RegisterConsumer\022*.flyteidl.artifact.R" + "egisterConsumerRequest\032#.flyteidl.artifa" + "ct.RegisterResponse\"\000\022m\n\022SetExecutionInp" + "uts\022).flyteidl.artifact.ExecutionInputsR" + "equest\032*.flyteidl.artifact.ExecutionInpu" + "tsResponse\"\000\022\330\001\n\022FindByWorkflowExec\022,.fl" + "yteidl.artifact.FindByWorkflowExecReques" + "t\032*.flyteidl.artifact.SearchArtifactsRes" + "ponse\"h\202\323\344\223\002b\022`/artifacts/api/v1/search/" + "execution/{exec_id.project}/{exec_id.dom" + "ain}/{exec_id.name}/{direction}\022\365\001\n\tList" + "Usage\022#.flyteidl.artifact.ListUsageReque" + "st\032$.flyteidl.artifact.ListUsageResponse" + "\"\234\001\202\323\344\223\002\225\001\022\222\001/artifacts/api/v1/usage/{ar" + "tifact_id.artifact_key.project}/{artifac" + "t_id.artifact_key.domain}/{artifact_id.a" + "rtifact_key.name}/{artifact_id.version}B" + "@Z>github.com/flyteorg/flyte/flyteidl/ge" + "n/pb-go/flyteidl/artifactb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fartifact_2fartifacts_2eproto = { false, InitDefaults_flyteidl_2fartifact_2fartifacts_2eproto, descriptor_table_protodef_flyteidl_2fartifact_2fartifacts_2eproto, - "flyteidl/artifact/artifacts.proto", &assign_descriptors_table_flyteidl_2fartifact_2fartifacts_2eproto, 5343, + "flyteidl/artifact/artifacts.proto", &assign_descriptors_table_flyteidl_2fartifact_2fartifacts_2eproto, 4713, }; void AddDescriptors_flyteidl_2fartifact_2fartifacts_2eproto() { diff --git a/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.cc index 23adc9e27e..1e16dd7858 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.cc @@ -140,6 +140,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fidentifier_2eprot PROTOBUF_FIELD_OFFSET(::flyteidl::core::Identifier, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::Identifier, name_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::Identifier, version_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::Identifier, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::WorkflowExecutionIdentifier, _internal_metadata_), ~0u, // no _extensions_ @@ -148,6 +149,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fidentifier_2eprot PROTOBUF_FIELD_OFFSET(::flyteidl::core::WorkflowExecutionIdentifier, project_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::WorkflowExecutionIdentifier, domain_), PROTOBUF_FIELD_OFFSET(::flyteidl::core::WorkflowExecutionIdentifier, name_), + PROTOBUF_FIELD_OFFSET(::flyteidl::core::WorkflowExecutionIdentifier, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::core::NodeExecutionIdentifier, _internal_metadata_), ~0u, // no _extensions_ @@ -173,10 +175,10 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fcore_2fidentifier_2eprot }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::core::Identifier)}, - { 10, -1, sizeof(::flyteidl::core::WorkflowExecutionIdentifier)}, - { 18, -1, sizeof(::flyteidl::core::NodeExecutionIdentifier)}, - { 25, -1, sizeof(::flyteidl::core::TaskExecutionIdentifier)}, - { 33, -1, sizeof(::flyteidl::core::SignalIdentifier)}, + { 11, -1, sizeof(::flyteidl::core::WorkflowExecutionIdentifier)}, + { 20, -1, sizeof(::flyteidl::core::NodeExecutionIdentifier)}, + { 27, -1, sizeof(::flyteidl::core::TaskExecutionIdentifier)}, + { 35, -1, sizeof(::flyteidl::core::SignalIdentifier)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -195,30 +197,31 @@ ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_fl const char descriptor_table_protodef_flyteidl_2fcore_2fidentifier_2eproto[] = "\n\036flyteidl/core/identifier.proto\022\rflytei" - "dl.core\"\200\001\n\nIdentifier\0222\n\rresource_type\030" + "dl.core\"\215\001\n\nIdentifier\0222\n\rresource_type\030" "\001 \001(\0162\033.flyteidl.core.ResourceType\022\017\n\007pr" "oject\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\014\n\004name\030\004 \001(" - "\t\022\017\n\007version\030\005 \001(\t\"L\n\033WorkflowExecutionI" - "dentifier\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001" - "(\t\022\014\n\004name\030\004 \001(\t\"l\n\027NodeExecutionIdentif" - "ier\022\017\n\007node_id\030\001 \001(\t\022@\n\014execution_id\030\002 \001" - "(\0132*.flyteidl.core.WorkflowExecutionIden" - "tifier\"\237\001\n\027TaskExecutionIdentifier\022*\n\007ta" - "sk_id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A" - "\n\021node_execution_id\030\002 \001(\0132&.flyteidl.cor" - "e.NodeExecutionIdentifier\022\025\n\rretry_attem" - "pt\030\003 \001(\r\"g\n\020SignalIdentifier\022\021\n\tsignal_i" - "d\030\001 \001(\t\022@\n\014execution_id\030\002 \001(\0132*.flyteidl" - ".core.WorkflowExecutionIdentifier*U\n\014Res" - "ourceType\022\017\n\013UNSPECIFIED\020\000\022\010\n\004TASK\020\001\022\014\n\010" - "WORKFLOW\020\002\022\017\n\013LAUNCH_PLAN\020\003\022\013\n\007DATASET\020\004" - "B= 1900 Identifier::Identifier() @@ -291,6 +295,10 @@ Identifier::Identifier(const Identifier& from) if (from.version().size() > 0) { version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } resource_type_ = from.resource_type_; // @@protoc_insertion_point(copy_constructor:flyteidl.core.Identifier) } @@ -302,6 +310,7 @@ void Identifier::SharedCtor() { domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; } @@ -315,6 +324,7 @@ void Identifier::SharedDtor() { domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void Identifier::SetCachedSize(int size) const { @@ -336,6 +346,7 @@ void Identifier::Clear() { domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); resource_type_ = 0; _internal_metadata_.Clear(); } @@ -425,6 +436,22 @@ const char* Identifier::_InternalParse(const char* begin, const char* end, void* ptr += size; break; } + // string org = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.core.Identifier.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -533,6 +560,21 @@ bool Identifier::MergePartialFromCodedStream( break; } + // string org = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.core.Identifier.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -606,6 +648,16 @@ void Identifier::SerializeWithCachedSizes( 5, this->version(), output); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.Identifier.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 6, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -669,6 +721,17 @@ ::google::protobuf::uint8* Identifier::InternalSerializeWithCachedSizesToArray( 5, this->version(), target); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.Identifier.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 6, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -718,6 +781,13 @@ size_t Identifier::ByteSizeLong() const { this->version()); } + // string org = 6; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + // .flyteidl.core.ResourceType resource_type = 1; if (this->resource_type() != 0) { total_size += 1 + @@ -767,6 +837,10 @@ void Identifier::MergeFrom(const Identifier& from) { version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } if (from.resource_type() != 0) { set_resource_type(from.resource_type()); } @@ -805,6 +879,8 @@ void Identifier::InternalSwap(Identifier* other) { GetArenaNoVirtual()); version_.Swap(&other->version_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(resource_type_, other->resource_type_); } @@ -826,6 +902,7 @@ class WorkflowExecutionIdentifier::HasBitSetters { const int WorkflowExecutionIdentifier::kProjectFieldNumber; const int WorkflowExecutionIdentifier::kDomainFieldNumber; const int WorkflowExecutionIdentifier::kNameFieldNumber; +const int WorkflowExecutionIdentifier::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 WorkflowExecutionIdentifier::WorkflowExecutionIdentifier() @@ -849,6 +926,10 @@ WorkflowExecutionIdentifier::WorkflowExecutionIdentifier(const WorkflowExecution if (from.name().size() > 0) { name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } // @@protoc_insertion_point(copy_constructor:flyteidl.core.WorkflowExecutionIdentifier) } @@ -858,6 +939,7 @@ void WorkflowExecutionIdentifier::SharedCtor() { project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } WorkflowExecutionIdentifier::~WorkflowExecutionIdentifier() { @@ -869,6 +951,7 @@ void WorkflowExecutionIdentifier::SharedDtor() { project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void WorkflowExecutionIdentifier::SetCachedSize(int size) const { @@ -889,6 +972,7 @@ void WorkflowExecutionIdentifier::Clear() { project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); _internal_metadata_.Clear(); } @@ -953,6 +1037,22 @@ const char* WorkflowExecutionIdentifier::_InternalParse(const char* begin, const ptr += size; break; } + // string org = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.core.WorkflowExecutionIdentifier.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -1032,6 +1132,21 @@ bool WorkflowExecutionIdentifier::MergePartialFromCodedStream( break; } + // string org = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.core.WorkflowExecutionIdentifier.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -1089,6 +1204,16 @@ void WorkflowExecutionIdentifier::SerializeWithCachedSizes( 4, this->name(), output); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.WorkflowExecutionIdentifier.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 5, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -1135,6 +1260,17 @@ ::google::protobuf::uint8* WorkflowExecutionIdentifier::InternalSerializeWithCac 4, this->name(), target); } + // string org = 5; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.core.WorkflowExecutionIdentifier.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 5, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -1177,6 +1313,13 @@ size_t WorkflowExecutionIdentifier::ByteSizeLong() const { this->name()); } + // string org = 5; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -1216,6 +1359,10 @@ void WorkflowExecutionIdentifier::MergeFrom(const WorkflowExecutionIdentifier& f name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } } void WorkflowExecutionIdentifier::CopyFrom(const ::google::protobuf::Message& from) { @@ -1249,6 +1396,8 @@ void WorkflowExecutionIdentifier::InternalSwap(WorkflowExecutionIdentifier* othe GetArenaNoVirtual()); name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); } ::google::protobuf::Metadata WorkflowExecutionIdentifier::GetMetadata() const { diff --git a/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.h b/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.h index d3ee554d5a..efcc339874 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/core/identifier.pb.h @@ -257,6 +257,20 @@ class Identifier final : ::std::string* release_version(); void set_allocated_version(::std::string* version); + // string org = 6; + void clear_org(); + static const int kOrgFieldNumber = 6; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // .flyteidl.core.ResourceType resource_type = 1; void clear_resource_type(); static const int kResourceTypeFieldNumber = 1; @@ -272,6 +286,7 @@ class Identifier final : ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr name_; ::google::protobuf::internal::ArenaStringPtr version_; + ::google::protobuf::internal::ArenaStringPtr org_; int resource_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fcore_2fidentifier_2eproto; @@ -415,6 +430,20 @@ class WorkflowExecutionIdentifier final : ::std::string* release_name(); void set_allocated_name(::std::string* name); + // string org = 5; + void clear_org(); + static const int kOrgFieldNumber = 5; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // @@protoc_insertion_point(class_scope:flyteidl.core.WorkflowExecutionIdentifier) private: class HasBitSetters; @@ -423,6 +452,7 @@ class WorkflowExecutionIdentifier final : ::google::protobuf::internal::ArenaStringPtr project_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr org_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fcore_2fidentifier_2eproto; }; @@ -1055,6 +1085,59 @@ inline void Identifier::set_allocated_version(::std::string* version) { // @@protoc_insertion_point(field_set_allocated:flyteidl.core.Identifier.version) } +// string org = 6; +inline void Identifier::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Identifier::org() const { + // @@protoc_insertion_point(field_get:flyteidl.core.Identifier.org) + return org_.GetNoArena(); +} +inline void Identifier::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.core.Identifier.org) +} +#if LANG_CXX11 +inline void Identifier::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.core.Identifier.org) +} +#endif +inline void Identifier::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.core.Identifier.org) +} +inline void Identifier::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.core.Identifier.org) +} +inline ::std::string* Identifier::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.core.Identifier.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Identifier::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.core.Identifier.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Identifier::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.Identifier.org) +} + // ------------------------------------------------------------------- // WorkflowExecutionIdentifier @@ -1218,6 +1301,59 @@ inline void WorkflowExecutionIdentifier::set_allocated_name(::std::string* name) // @@protoc_insertion_point(field_set_allocated:flyteidl.core.WorkflowExecutionIdentifier.name) } +// string org = 5; +inline void WorkflowExecutionIdentifier::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& WorkflowExecutionIdentifier::org() const { + // @@protoc_insertion_point(field_get:flyteidl.core.WorkflowExecutionIdentifier.org) + return org_.GetNoArena(); +} +inline void WorkflowExecutionIdentifier::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.core.WorkflowExecutionIdentifier.org) +} +#if LANG_CXX11 +inline void WorkflowExecutionIdentifier::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.core.WorkflowExecutionIdentifier.org) +} +#endif +inline void WorkflowExecutionIdentifier::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.core.WorkflowExecutionIdentifier.org) +} +inline void WorkflowExecutionIdentifier::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.core.WorkflowExecutionIdentifier.org) +} +inline ::std::string* WorkflowExecutionIdentifier::mutable_org() { + + // @@protoc_insertion_point(field_mutable:flyteidl.core.WorkflowExecutionIdentifier.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* WorkflowExecutionIdentifier::release_org() { + // @@protoc_insertion_point(field_release:flyteidl.core.WorkflowExecutionIdentifier.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void WorkflowExecutionIdentifier::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:flyteidl.core.WorkflowExecutionIdentifier.org) +} + // ------------------------------------------------------------------- // NodeExecutionIdentifier diff --git a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc index dbd20da087..1ce63673cb 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc @@ -200,6 +200,7 @@ class DatasetPropertyFilterDefaultTypeInternal { ::google::protobuf::internal::ArenaStringPtr name_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr version_; + ::google::protobuf::internal::ArenaStringPtr org_; } _DatasetPropertyFilter_default_instance_; class PaginationOptionsDefaultTypeInternal { public: @@ -1000,6 +1001,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fdatacatalog_2fdatacatalo PROTOBUF_FIELD_OFFSET(::datacatalog::DatasetID, domain_), PROTOBUF_FIELD_OFFSET(::datacatalog::DatasetID, version_), PROTOBUF_FIELD_OFFSET(::datacatalog::DatasetID, uuid_), + PROTOBUF_FIELD_OFFSET(::datacatalog::DatasetID, org_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::datacatalog::Artifact, _internal_metadata_), ~0u, // no _extensions_ @@ -1096,6 +1098,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fdatacatalog_2fdatacatalo offsetof(::datacatalog::DatasetPropertyFilterDefaultTypeInternal, name_), offsetof(::datacatalog::DatasetPropertyFilterDefaultTypeInternal, domain_), offsetof(::datacatalog::DatasetPropertyFilterDefaultTypeInternal, version_), + offsetof(::datacatalog::DatasetPropertyFilterDefaultTypeInternal, org_), PROTOBUF_FIELD_OFFSET(::datacatalog::DatasetPropertyFilter, property_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::datacatalog::PaginationOptions, _internal_metadata_), @@ -1133,19 +1136,19 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 149, -1, sizeof(::datacatalog::Dataset)}, { 157, -1, sizeof(::datacatalog::Partition)}, { 164, -1, sizeof(::datacatalog::DatasetID)}, - { 174, -1, sizeof(::datacatalog::Artifact)}, - { 186, -1, sizeof(::datacatalog::ArtifactData)}, - { 193, -1, sizeof(::datacatalog::Tag)}, - { 201, 208, sizeof(::datacatalog::Metadata_KeyMapEntry_DoNotUse)}, - { 210, -1, sizeof(::datacatalog::Metadata)}, - { 216, -1, sizeof(::datacatalog::FilterExpression)}, - { 222, -1, sizeof(::datacatalog::SinglePropertyFilter)}, - { 233, -1, sizeof(::datacatalog::ArtifactPropertyFilter)}, - { 240, -1, sizeof(::datacatalog::TagPropertyFilter)}, - { 247, -1, sizeof(::datacatalog::PartitionPropertyFilter)}, - { 254, -1, sizeof(::datacatalog::KeyValuePair)}, - { 261, -1, sizeof(::datacatalog::DatasetPropertyFilter)}, - { 271, -1, sizeof(::datacatalog::PaginationOptions)}, + { 175, -1, sizeof(::datacatalog::Artifact)}, + { 187, -1, sizeof(::datacatalog::ArtifactData)}, + { 194, -1, sizeof(::datacatalog::Tag)}, + { 202, 209, sizeof(::datacatalog::Metadata_KeyMapEntry_DoNotUse)}, + { 211, -1, sizeof(::datacatalog::Metadata)}, + { 217, -1, sizeof(::datacatalog::FilterExpression)}, + { 223, -1, sizeof(::datacatalog::SinglePropertyFilter)}, + { 234, -1, sizeof(::datacatalog::ArtifactPropertyFilter)}, + { 241, -1, sizeof(::datacatalog::TagPropertyFilter)}, + { 248, -1, sizeof(::datacatalog::PartitionPropertyFilter)}, + { 255, -1, sizeof(::datacatalog::KeyValuePair)}, + { 262, -1, sizeof(::datacatalog::DatasetPropertyFilter)}, + { 273, -1, sizeof(::datacatalog::PaginationOptions)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -1252,78 +1255,79 @@ const char descriptor_table_protodef_flyteidl_2fdatacatalog_2fdatacatalog_2eprot "datacatalog.DatasetID\022\'\n\010metadata\030\002 \001(\0132" "\025.datacatalog.Metadata\022\025\n\rpartitionKeys\030" "\003 \003(\t\"\'\n\tPartition\022\013\n\003key\030\001 \001(\t\022\r\n\005value" - "\030\002 \001(\t\"Y\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004" + "\030\002 \001(\t\"f\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004" "name\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\017\n\007version\030\004 " - "\001(\t\022\014\n\004UUID\030\005 \001(\t\"\215\002\n\010Artifact\022\n\n\002id\030\001 \001" - "(\t\022\'\n\007dataset\030\002 \001(\0132\026.datacatalog.Datase" - "tID\022\'\n\004data\030\003 \003(\0132\031.datacatalog.Artifact" - "Data\022\'\n\010metadata\030\004 \001(\0132\025.datacatalog.Met" - "adata\022*\n\npartitions\030\005 \003(\0132\026.datacatalog." - "Partition\022\036\n\004tags\030\006 \003(\0132\020.datacatalog.Ta" - "g\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." - "Timestamp\"C\n\014ArtifactData\022\014\n\004name\030\001 \001(\t\022" - "%\n\005value\030\002 \001(\0132\026.flyteidl.core.Literal\"Q" - "\n\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013artifact_id\030\002 \001(\t" - "\022\'\n\007dataset\030\003 \001(\0132\026.datacatalog.DatasetI" - "D\"m\n\010Metadata\0222\n\007key_map\030\001 \003(\0132!.datacat" - "alog.Metadata.KeyMapEntry\032-\n\013KeyMapEntry" - "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"F\n\020Filt" - "erExpression\0222\n\007filters\030\001 \003(\0132!.datacata" - "log.SinglePropertyFilter\"\211\003\n\024SinglePrope" - "rtyFilter\0224\n\ntag_filter\030\001 \001(\0132\036.datacata" - "log.TagPropertyFilterH\000\022@\n\020partition_fil" - "ter\030\002 \001(\0132$.datacatalog.PartitionPropert" - "yFilterH\000\022>\n\017artifact_filter\030\003 \001(\0132#.dat" - "acatalog.ArtifactPropertyFilterH\000\022<\n\016dat" - "aset_filter\030\004 \001(\0132\".datacatalog.DatasetP" - "ropertyFilterH\000\022F\n\010operator\030\n \001(\01624.data" - "catalog.SinglePropertyFilter.ComparisonO" - "perator\" \n\022ComparisonOperator\022\n\n\006EQUALS\020" - "\000B\021\n\017property_filter\";\n\026ArtifactProperty" - "Filter\022\025\n\013artifact_id\030\001 \001(\tH\000B\n\n\010propert" - "y\"3\n\021TagPropertyFilter\022\022\n\010tag_name\030\001 \001(\t" - "H\000B\n\n\010property\"S\n\027PartitionPropertyFilte" - "r\022,\n\007key_val\030\001 \001(\0132\031.datacatalog.KeyValu" - "ePairH\000B\n\n\010property\"*\n\014KeyValuePair\022\013\n\003k" - "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"k\n\025DatasetProper" - "tyFilter\022\021\n\007project\030\001 \001(\tH\000\022\016\n\004name\030\002 \001(" - "\tH\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007version\030\004 \001(\tH\000" - "B\n\n\010property\"\361\001\n\021PaginationOptions\022\r\n\005li" - "mit\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(" - "\0162&.datacatalog.PaginationOptions.SortKe" - "y\022;\n\tsortOrder\030\004 \001(\0162(.datacatalog.Pagin" - "ationOptions.SortOrder\"*\n\tSortOrder\022\016\n\nD" - "ESCENDING\020\000\022\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n" - "\rCREATION_TIME\020\0002\206\007\n\013DataCatalog\022V\n\rCrea" - "teDataset\022!.datacatalog.CreateDatasetReq" - "uest\032\".datacatalog.CreateDatasetResponse" - "\022M\n\nGetDataset\022\036.datacatalog.GetDatasetR" - "equest\032\037.datacatalog.GetDatasetResponse\022" - "Y\n\016CreateArtifact\022\".datacatalog.CreateAr" - "tifactRequest\032#.datacatalog.CreateArtifa" - "ctResponse\022P\n\013GetArtifact\022\037.datacatalog." - "GetArtifactRequest\032 .datacatalog.GetArti" - "factResponse\022A\n\006AddTag\022\032.datacatalog.Add" - "TagRequest\032\033.datacatalog.AddTagResponse\022" - "V\n\rListArtifacts\022!.datacatalog.ListArtif" - "actsRequest\032\".datacatalog.ListArtifactsR" - "esponse\022S\n\014ListDatasets\022 .datacatalog.Li" - "stDatasetsRequest\032!.datacatalog.ListData" - "setsResponse\022Y\n\016UpdateArtifact\022\".datacat" - "alog.UpdateArtifactRequest\032#.datacatalog" - ".UpdateArtifactResponse\022q\n\026GetOrExtendRe" - "servation\022*.datacatalog.GetOrExtendReser" - "vationRequest\032+.datacatalog.GetOrExtendR" - "eservationResponse\022e\n\022ReleaseReservation" - "\022&.datacatalog.ReleaseReservationRequest" - "\032\'.datacatalog.ReleaseReservationRespons" - "eBCZAgithub.com/flyteorg/flyte/flyteidl/" - "gen/pb-go/flyteidl/datacatalogb\006proto3" + "\001(\t\022\014\n\004UUID\030\005 \001(\t\022\013\n\003org\030\006 \001(\t\"\215\002\n\010Artif" + "act\022\n\n\002id\030\001 \001(\t\022\'\n\007dataset\030\002 \001(\0132\026.datac" + "atalog.DatasetID\022\'\n\004data\030\003 \003(\0132\031.datacat" + "alog.ArtifactData\022\'\n\010metadata\030\004 \001(\0132\025.da" + "tacatalog.Metadata\022*\n\npartitions\030\005 \003(\0132\026" + ".datacatalog.Partition\022\036\n\004tags\030\006 \003(\0132\020.d" + "atacatalog.Tag\022.\n\ncreated_at\030\007 \001(\0132\032.goo" + "gle.protobuf.Timestamp\"C\n\014ArtifactData\022\014" + "\n\004name\030\001 \001(\t\022%\n\005value\030\002 \001(\0132\026.flyteidl.c" + "ore.Literal\"Q\n\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013arti" + "fact_id\030\002 \001(\t\022\'\n\007dataset\030\003 \001(\0132\026.datacat" + "alog.DatasetID\"m\n\010Metadata\0222\n\007key_map\030\001 " + "\003(\0132!.datacatalog.Metadata.KeyMapEntry\032-" + "\n\013KeyMapEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + "\t:\0028\001\"F\n\020FilterExpression\0222\n\007filters\030\001 \003" + "(\0132!.datacatalog.SinglePropertyFilter\"\211\003" + "\n\024SinglePropertyFilter\0224\n\ntag_filter\030\001 \001" + "(\0132\036.datacatalog.TagPropertyFilterH\000\022@\n\020" + "partition_filter\030\002 \001(\0132$.datacatalog.Par" + "titionPropertyFilterH\000\022>\n\017artifact_filte" + "r\030\003 \001(\0132#.datacatalog.ArtifactPropertyFi" + "lterH\000\022<\n\016dataset_filter\030\004 \001(\0132\".datacat" + "alog.DatasetPropertyFilterH\000\022F\n\010operator" + "\030\n \001(\01624.datacatalog.SinglePropertyFilte" + "r.ComparisonOperator\" \n\022ComparisonOperat" + "or\022\n\n\006EQUALS\020\000B\021\n\017property_filter\";\n\026Art" + "ifactPropertyFilter\022\025\n\013artifact_id\030\001 \001(\t" + "H\000B\n\n\010property\"3\n\021TagPropertyFilter\022\022\n\010t" + "ag_name\030\001 \001(\tH\000B\n\n\010property\"S\n\027Partition" + "PropertyFilter\022,\n\007key_val\030\001 \001(\0132\031.dataca" + "talog.KeyValuePairH\000B\n\n\010property\"*\n\014KeyV" + "aluePair\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"z\n\025" + "DatasetPropertyFilter\022\021\n\007project\030\001 \001(\tH\000" + "\022\016\n\004name\030\002 \001(\tH\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007ve" + "rsion\030\004 \001(\tH\000\022\r\n\003org\030\005 \001(\tH\000B\n\n\010property" + "\"\361\001\n\021PaginationOptions\022\r\n\005limit\030\001 \001(\r\022\r\n" + "\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(\0162&.datacata" + "log.PaginationOptions.SortKey\022;\n\tsortOrd" + "er\030\004 \001(\0162(.datacatalog.PaginationOptions" + ".SortOrder\"*\n\tSortOrder\022\016\n\nDESCENDING\020\000\022" + "\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n\rCREATION_TI" + "ME\020\0002\206\007\n\013DataCatalog\022V\n\rCreateDataset\022!." + "datacatalog.CreateDatasetRequest\032\".datac" + "atalog.CreateDatasetResponse\022M\n\nGetDatas" + "et\022\036.datacatalog.GetDatasetRequest\032\037.dat" + "acatalog.GetDatasetResponse\022Y\n\016CreateArt" + "ifact\022\".datacatalog.CreateArtifactReques" + "t\032#.datacatalog.CreateArtifactResponse\022P" + "\n\013GetArtifact\022\037.datacatalog.GetArtifactR" + "equest\032 .datacatalog.GetArtifactResponse" + "\022A\n\006AddTag\022\032.datacatalog.AddTagRequest\032\033" + ".datacatalog.AddTagResponse\022V\n\rListArtif" + "acts\022!.datacatalog.ListArtifactsRequest\032" + "\".datacatalog.ListArtifactsResponse\022S\n\014L" + "istDatasets\022 .datacatalog.ListDatasetsRe" + "quest\032!.datacatalog.ListDatasetsResponse" + "\022Y\n\016UpdateArtifact\022\".datacatalog.UpdateA" + "rtifactRequest\032#.datacatalog.UpdateArtif" + "actResponse\022q\n\026GetOrExtendReservation\022*." + "datacatalog.GetOrExtendReservationReques" + "t\032+.datacatalog.GetOrExtendReservationRe" + "sponse\022e\n\022ReleaseReservation\022&.datacatal" + "og.ReleaseReservationRequest\032\'.datacatal" + "og.ReleaseReservationResponseBCZAgithub." + "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" + "yteidl/datacatalogb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fdatacatalog_2fdatacatalog_2eproto = { false, InitDefaults_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, descriptor_table_protodef_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, - "flyteidl/datacatalog/datacatalog.proto", &assign_descriptors_table_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, 4918, + "flyteidl/datacatalog/datacatalog.proto", &assign_descriptors_table_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, 4946, }; void AddDescriptors_flyteidl_2fdatacatalog_2fdatacatalog_2eproto() { @@ -9658,6 +9662,7 @@ const int DatasetID::kNameFieldNumber; const int DatasetID::kDomainFieldNumber; const int DatasetID::kVersionFieldNumber; const int DatasetID::kUUIDFieldNumber; +const int DatasetID::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 DatasetID::DatasetID() @@ -9689,6 +9694,10 @@ DatasetID::DatasetID(const DatasetID& from) if (from.uuid().size() > 0) { uuid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.uuid_); } + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.org().size() > 0) { + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } // @@protoc_insertion_point(copy_constructor:datacatalog.DatasetID) } @@ -9700,6 +9709,7 @@ void DatasetID::SharedCtor() { domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); uuid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } DatasetID::~DatasetID() { @@ -9713,6 +9723,7 @@ void DatasetID::SharedDtor() { domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); uuid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void DatasetID::SetCachedSize(int size) const { @@ -9735,6 +9746,7 @@ void DatasetID::Clear() { domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); uuid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); _internal_metadata_.Clear(); } @@ -9831,6 +9843,22 @@ const char* DatasetID::_InternalParse(const char* begin, const char* end, void* ptr += size; break; } + // string org = 6; + case 6: { + if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("datacatalog.DatasetID.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -9940,6 +9968,21 @@ bool DatasetID::MergePartialFromCodedStream( break; } + // string org = 6; + case 6: { + if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "datacatalog.DatasetID.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -10017,6 +10060,16 @@ void DatasetID::SerializeWithCachedSizes( 5, this->uuid(), output); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "datacatalog.DatasetID.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 6, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -10085,6 +10138,17 @@ ::google::protobuf::uint8* DatasetID::InternalSerializeWithCachedSizesToArray( 5, this->uuid(), target); } + // string org = 6; + if (this->org().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "datacatalog.DatasetID.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 6, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -10141,6 +10205,13 @@ size_t DatasetID::ByteSizeLong() const { this->uuid()); } + // string org = 6; + if (this->org().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -10188,6 +10259,10 @@ void DatasetID::MergeFrom(const DatasetID& from) { uuid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.uuid_); } + if (from.org().size() > 0) { + + org_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.org_); + } } void DatasetID::CopyFrom(const ::google::protobuf::Message& from) { @@ -10225,6 +10300,8 @@ void DatasetID::InternalSwap(DatasetID* other) { GetArenaNoVirtual()); uuid_.Swap(&other->uuid_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + org_.Swap(&other->org_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); } ::google::protobuf::Metadata DatasetID::GetMetadata() const { @@ -14418,6 +14495,8 @@ void DatasetPropertyFilter::InitAsDefaultInstance() { &::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::datacatalog::_DatasetPropertyFilter_default_instance_.version_.UnsafeSetDefault( &::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::datacatalog::_DatasetPropertyFilter_default_instance_.org_.UnsafeSetDefault( + &::google::protobuf::internal::GetEmptyStringAlreadyInited()); } class DatasetPropertyFilter::HasBitSetters { public: @@ -14428,6 +14507,7 @@ const int DatasetPropertyFilter::kProjectFieldNumber; const int DatasetPropertyFilter::kNameFieldNumber; const int DatasetPropertyFilter::kDomainFieldNumber; const int DatasetPropertyFilter::kVersionFieldNumber; +const int DatasetPropertyFilter::kOrgFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 DatasetPropertyFilter::DatasetPropertyFilter() @@ -14457,6 +14537,10 @@ DatasetPropertyFilter::DatasetPropertyFilter(const DatasetPropertyFilter& from) set_version(from.version()); break; } + case kOrg: { + set_org(from.org()); + break; + } case PROPERTY_NOT_SET: { break; } @@ -14509,6 +14593,10 @@ void DatasetPropertyFilter::clear_property() { property_.version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); break; } + case kOrg: { + property_.org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + break; + } case PROPERTY_NOT_SET: { break; } @@ -14604,6 +14692,22 @@ const char* DatasetPropertyFilter::_InternalParse(const char* begin, const char* ptr += size; break; } + // string org = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("datacatalog.DatasetPropertyFilter.org"); + object = msg->mutable_org(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -14698,6 +14802,21 @@ bool DatasetPropertyFilter::MergePartialFromCodedStream( break; } + // string org = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_org())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "datacatalog.DatasetPropertyFilter.org")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -14765,6 +14884,16 @@ void DatasetPropertyFilter::SerializeWithCachedSizes( 4, this->version(), output); } + // string org = 5; + if (has_org()) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "datacatalog.DatasetPropertyFilter.org"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 5, this->org(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -14822,6 +14951,17 @@ ::google::protobuf::uint8* DatasetPropertyFilter::InternalSerializeWithCachedSiz 4, this->version(), target); } + // string org = 5; + if (has_org()) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->org().data(), static_cast(this->org().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "datacatalog.DatasetPropertyFilter.org"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 5, this->org(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -14872,6 +15012,13 @@ size_t DatasetPropertyFilter::ByteSizeLong() const { this->version()); break; } + // string org = 5; + case kOrg: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->org()); + break; + } case PROPERTY_NOT_SET: { break; } @@ -14920,6 +15067,10 @@ void DatasetPropertyFilter::MergeFrom(const DatasetPropertyFilter& from) { set_version(from.version()); break; } + case kOrg: { + set_org(from.org()); + break; + } case PROPERTY_NOT_SET: { break; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h index da52d149e1..27a69c19e7 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h @@ -3518,6 +3518,20 @@ class DatasetID final : ::std::string* release_uuid(); void set_allocated_uuid(::std::string* uuid); + // string org = 6; + void clear_org(); + static const int kOrgFieldNumber = 6; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + // @@protoc_insertion_point(class_scope:datacatalog.DatasetID) private: class HasBitSetters; @@ -3528,6 +3542,7 @@ class DatasetID final : ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr version_; ::google::protobuf::internal::ArenaStringPtr uuid_; + ::google::protobuf::internal::ArenaStringPtr org_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::TableStruct_flyteidl_2fdatacatalog_2fdatacatalog_2eproto; }; @@ -5039,6 +5054,7 @@ class DatasetPropertyFilter final : kName = 2, kDomain = 3, kVersion = 4, + kOrg = 5, PROPERTY_NOT_SET = 0, }; @@ -5173,6 +5189,23 @@ class DatasetPropertyFilter final : ::std::string* release_version(); void set_allocated_version(::std::string* version); + // string org = 5; + private: + bool has_org() const; + public: + void clear_org(); + static const int kOrgFieldNumber = 5; + const ::std::string& org() const; + void set_org(const ::std::string& value); + #if LANG_CXX11 + void set_org(::std::string&& value); + #endif + void set_org(const char* value); + void set_org(const char* value, size_t size); + ::std::string* mutable_org(); + ::std::string* release_org(); + void set_allocated_org(::std::string* org); + void clear_property(); PropertyCase property_case() const; // @@protoc_insertion_point(class_scope:datacatalog.DatasetPropertyFilter) @@ -5182,6 +5215,7 @@ class DatasetPropertyFilter final : void set_has_name(); void set_has_domain(); void set_has_version(); + void set_has_org(); inline bool has_property() const; inline void clear_has_property(); @@ -5193,6 +5227,7 @@ class DatasetPropertyFilter final : ::google::protobuf::internal::ArenaStringPtr name_; ::google::protobuf::internal::ArenaStringPtr domain_; ::google::protobuf::internal::ArenaStringPtr version_; + ::google::protobuf::internal::ArenaStringPtr org_; } property_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::uint32 _oneof_case_[1]; @@ -8044,6 +8079,59 @@ inline void DatasetID::set_allocated_uuid(::std::string* uuid) { // @@protoc_insertion_point(field_set_allocated:datacatalog.DatasetID.UUID) } +// string org = 6; +inline void DatasetID::clear_org() { + org_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& DatasetID::org() const { + // @@protoc_insertion_point(field_get:datacatalog.DatasetID.org) + return org_.GetNoArena(); +} +inline void DatasetID::set_org(const ::std::string& value) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:datacatalog.DatasetID.org) +} +#if LANG_CXX11 +inline void DatasetID::set_org(::std::string&& value) { + + org_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:datacatalog.DatasetID.org) +} +#endif +inline void DatasetID::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:datacatalog.DatasetID.org) +} +inline void DatasetID::set_org(const char* value, size_t size) { + + org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:datacatalog.DatasetID.org) +} +inline ::std::string* DatasetID::mutable_org() { + + // @@protoc_insertion_point(field_mutable:datacatalog.DatasetID.org) + return org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* DatasetID::release_org() { + // @@protoc_insertion_point(field_release:datacatalog.DatasetID.org) + + return org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void DatasetID::set_allocated_org(::std::string* org) { + if (org != nullptr) { + + } else { + + } + org_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), org); + // @@protoc_insertion_point(field_set_allocated:datacatalog.DatasetID.org) +} + // ------------------------------------------------------------------- // Artifact @@ -9597,6 +9685,98 @@ inline void DatasetPropertyFilter::set_allocated_version(::std::string* version) // @@protoc_insertion_point(field_set_allocated:datacatalog.DatasetPropertyFilter.version) } +// string org = 5; +inline bool DatasetPropertyFilter::has_org() const { + return property_case() == kOrg; +} +inline void DatasetPropertyFilter::set_has_org() { + _oneof_case_[0] = kOrg; +} +inline void DatasetPropertyFilter::clear_org() { + if (has_org()) { + property_.org_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_property(); + } +} +inline const ::std::string& DatasetPropertyFilter::org() const { + // @@protoc_insertion_point(field_get:datacatalog.DatasetPropertyFilter.org) + if (has_org()) { + return property_.org_.GetNoArena(); + } + return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); +} +inline void DatasetPropertyFilter::set_org(const ::std::string& value) { + // @@protoc_insertion_point(field_set:datacatalog.DatasetPropertyFilter.org) + if (!has_org()) { + clear_property(); + set_has_org(); + property_.org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + property_.org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:datacatalog.DatasetPropertyFilter.org) +} +#if LANG_CXX11 +inline void DatasetPropertyFilter::set_org(::std::string&& value) { + // @@protoc_insertion_point(field_set:datacatalog.DatasetPropertyFilter.org) + if (!has_org()) { + clear_property(); + set_has_org(); + property_.org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + property_.org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:datacatalog.DatasetPropertyFilter.org) +} +#endif +inline void DatasetPropertyFilter::set_org(const char* value) { + GOOGLE_DCHECK(value != nullptr); + if (!has_org()) { + clear_property(); + set_has_org(); + property_.org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + property_.org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(value)); + // @@protoc_insertion_point(field_set_char:datacatalog.DatasetPropertyFilter.org) +} +inline void DatasetPropertyFilter::set_org(const char* value, size_t size) { + if (!has_org()) { + clear_property(); + set_has_org(); + property_.org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + property_.org_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( + reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:datacatalog.DatasetPropertyFilter.org) +} +inline ::std::string* DatasetPropertyFilter::mutable_org() { + if (!has_org()) { + clear_property(); + set_has_org(); + property_.org_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + // @@protoc_insertion_point(field_mutable:datacatalog.DatasetPropertyFilter.org) + return property_.org_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* DatasetPropertyFilter::release_org() { + // @@protoc_insertion_point(field_release:datacatalog.DatasetPropertyFilter.org) + if (has_org()) { + clear_has_property(); + return property_.org_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } else { + return nullptr; + } +} +inline void DatasetPropertyFilter::set_allocated_org(::std::string* org) { + if (has_property()) { + clear_property(); + } + if (org != nullptr) { + set_has_org(); + property_.org_.UnsafeSetDefault(org); + } + // @@protoc_insertion_point(field_set_allocated:datacatalog.DatasetPropertyFilter.org) +} + inline bool DatasetPropertyFilter::has_property() const { return property_case() != PROPERTY_NOT_SET; } diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h b/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h index 77f3dc1487..830119f9ad 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h @@ -66,7 +66,7 @@ class AdminService final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Task>> PrepareAsyncGetTask(::grpc::ClientContext* context, const ::flyteidl::admin::ObjectGetRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Task>>(PrepareAsyncGetTaskRaw(context, request, cq)); } - // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. + // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. virtual ::grpc::Status ListTaskIds(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityIdentifierListRequest& request, ::flyteidl::admin::NamedEntityIdentifierList* response) = 0; std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::NamedEntityIdentifierList>> AsyncListTaskIds(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityIdentifierListRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::NamedEntityIdentifierList>>(AsyncListTaskIdsRaw(context, request, cq)); @@ -278,7 +278,7 @@ class AdminService final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ProjectRegisterResponse>> PrepareAsyncRegisterProject(::grpc::ClientContext* context, const ::flyteidl::admin::ProjectRegisterRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ProjectRegisterResponse>>(PrepareAsyncRegisterProjectRaw(context, request, cq)); } - // Updates an existing :ref:`ref_flyteidl.admin.Project` + // Updates an existing :ref:`ref_flyteidl.admin.Project` // flyteidl.admin.Project should be passed but the domains property should be empty; // it will be ignored in the handler as domains cannot be updated via this API. virtual ::grpc::Status UpdateProject(::grpc::ClientContext* context, const ::flyteidl::admin::Project& request, ::flyteidl::admin::ProjectUpdateResponse* response) = 0; @@ -288,7 +288,7 @@ class AdminService final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ProjectUpdateResponse>> PrepareAsyncUpdateProject(::grpc::ClientContext* context, const ::flyteidl::admin::Project& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ProjectUpdateResponse>>(PrepareAsyncUpdateProjectRaw(context, request, cq)); } - // Fetches a list of :ref:`ref_flyteidl.admin.Project` + // Fetches a list of :ref:`ref_flyteidl.admin.Project` virtual ::grpc::Status ListProjects(::grpc::ClientContext* context, const ::flyteidl::admin::ProjectListRequest& request, ::flyteidl::admin::Projects* response) = 0; std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Projects>> AsyncListProjects(::grpc::ClientContext* context, const ::flyteidl::admin::ProjectListRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::Projects>>(AsyncListProjectsRaw(context, request, cq)); @@ -492,7 +492,7 @@ class AdminService final { virtual void GetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Task* response, std::function) = 0; virtual void GetTask(::grpc::ClientContext* context, const ::flyteidl::admin::ObjectGetRequest* request, ::flyteidl::admin::Task* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void GetTask(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Task* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; - // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. + // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. virtual void ListTaskIds(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityIdentifierListRequest* request, ::flyteidl::admin::NamedEntityIdentifierList* response, std::function) = 0; virtual void ListTaskIds(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::NamedEntityIdentifierList* response, std::function) = 0; virtual void ListTaskIds(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityIdentifierListRequest* request, ::flyteidl::admin::NamedEntityIdentifierList* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; @@ -626,14 +626,14 @@ class AdminService final { virtual void RegisterProject(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ProjectRegisterResponse* response, std::function) = 0; virtual void RegisterProject(::grpc::ClientContext* context, const ::flyteidl::admin::ProjectRegisterRequest* request, ::flyteidl::admin::ProjectRegisterResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void RegisterProject(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ProjectRegisterResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; - // Updates an existing :ref:`ref_flyteidl.admin.Project` + // Updates an existing :ref:`ref_flyteidl.admin.Project` // flyteidl.admin.Project should be passed but the domains property should be empty; // it will be ignored in the handler as domains cannot be updated via this API. virtual void UpdateProject(::grpc::ClientContext* context, const ::flyteidl::admin::Project* request, ::flyteidl::admin::ProjectUpdateResponse* response, std::function) = 0; virtual void UpdateProject(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ProjectUpdateResponse* response, std::function) = 0; virtual void UpdateProject(::grpc::ClientContext* context, const ::flyteidl::admin::Project* request, ::flyteidl::admin::ProjectUpdateResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void UpdateProject(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ProjectUpdateResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; - // Fetches a list of :ref:`ref_flyteidl.admin.Project` + // Fetches a list of :ref:`ref_flyteidl.admin.Project` virtual void ListProjects(::grpc::ClientContext* context, const ::flyteidl::admin::ProjectListRequest* request, ::flyteidl::admin::Projects* response, std::function) = 0; virtual void ListProjects(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::Projects* response, std::function) = 0; virtual void ListProjects(::grpc::ClientContext* context, const ::flyteidl::admin::ProjectListRequest* request, ::flyteidl::admin::Projects* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; @@ -1632,7 +1632,7 @@ class AdminService final { virtual ::grpc::Status CreateTask(::grpc::ServerContext* context, const ::flyteidl::admin::TaskCreateRequest* request, ::flyteidl::admin::TaskCreateResponse* response); // Fetch a :ref:`ref_flyteidl.admin.Task` definition. virtual ::grpc::Status GetTask(::grpc::ServerContext* context, const ::flyteidl::admin::ObjectGetRequest* request, ::flyteidl::admin::Task* response); - // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. + // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. virtual ::grpc::Status ListTaskIds(::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityIdentifierListRequest* request, ::flyteidl::admin::NamedEntityIdentifierList* response); // Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. virtual ::grpc::Status ListTasks(::grpc::ServerContext* context, const ::flyteidl::admin::ResourceListRequest* request, ::flyteidl::admin::TaskList* response); @@ -1688,11 +1688,11 @@ class AdminService final { virtual ::grpc::Status GetNodeExecutionData(::grpc::ServerContext* context, const ::flyteidl::admin::NodeExecutionGetDataRequest* request, ::flyteidl::admin::NodeExecutionGetDataResponse* response); // Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. virtual ::grpc::Status RegisterProject(::grpc::ServerContext* context, const ::flyteidl::admin::ProjectRegisterRequest* request, ::flyteidl::admin::ProjectRegisterResponse* response); - // Updates an existing :ref:`ref_flyteidl.admin.Project` + // Updates an existing :ref:`ref_flyteidl.admin.Project` // flyteidl.admin.Project should be passed but the domains property should be empty; // it will be ignored in the handler as domains cannot be updated via this API. virtual ::grpc::Status UpdateProject(::grpc::ServerContext* context, const ::flyteidl::admin::Project* request, ::flyteidl::admin::ProjectUpdateResponse* response); - // Fetches a list of :ref:`ref_flyteidl.admin.Project` + // Fetches a list of :ref:`ref_flyteidl.admin.Project` virtual ::grpc::Status ListProjects(::grpc::ServerContext* context, const ::flyteidl::admin::ProjectListRequest* request, ::flyteidl::admin::Projects* response); // Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred. virtual ::grpc::Status CreateWorkflowEvent(::grpc::ServerContext* context, const ::flyteidl::admin::WorkflowExecutionEventRequest* request, ::flyteidl::admin::WorkflowExecutionEventResponse* response); diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc index 991c8bb312..54b3861c05 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc @@ -52,263 +52,376 @@ const char descriptor_table_protodef_flyteidl_2fservice_2fadmin_2eproto[] = "admin/task_execution.proto\032\034flyteidl/adm" "in/version.proto\032\033flyteidl/admin/common." "proto\032\'flyteidl/admin/description_entity" - ".proto2\204N\n\014AdminService\022m\n\nCreateTask\022!." + ".proto2\265q\n\014AdminService\022m\n\nCreateTask\022!." "flyteidl.admin.TaskCreateRequest\032\".flyte" "idl.admin.TaskCreateResponse\"\030\202\323\344\223\002\022\"\r/a" - "pi/v1/tasks:\001*\022\210\001\n\007GetTask\022 .flyteidl.ad" + "pi/v1/tasks:\001*\022\330\001\n\007GetTask\022 .flyteidl.ad" "min.ObjectGetRequest\032\024.flyteidl.admin.Ta" - "sk\"E\202\323\344\223\002\?\022=/api/v1/tasks/{id.project}/{" - "id.domain}/{id.name}/{id.version}\022\227\001\n\013Li" + "sk\"\224\001\202\323\344\223\002\215\001\022=/api/v1/tasks/{id.project}" + "/{id.domain}/{id.name}/{id.version}ZL\022J/" + "api/v1/tasks/org/{id.org}/{id.project}/{" + "id.domain}/{id.name}/{id.version}\022\305\001\n\013Li" "stTaskIds\0220.flyteidl.admin.NamedEntityId" "entifierListRequest\032).flyteidl.admin.Nam" - "edEntityIdentifierList\"+\202\323\344\223\002%\022#/api/v1/" - "task_ids/{project}/{domain}\022\256\001\n\tListTask" - "s\022#.flyteidl.admin.ResourceListRequest\032\030" - ".flyteidl.admin.TaskList\"b\202\323\344\223\002\\\0220/api/v" - "1/tasks/{id.project}/{id.domain}/{id.nam" - "e}Z(\022&/api/v1/tasks/{id.project}/{id.dom" - "ain}\022}\n\016CreateWorkflow\022%.flyteidl.admin." - "WorkflowCreateRequest\032&.flyteidl.admin.W" - "orkflowCreateResponse\"\034\202\323\344\223\002\026\"\021/api/v1/w" - "orkflows:\001*\022\224\001\n\013GetWorkflow\022 .flyteidl.a" - "dmin.ObjectGetRequest\032\030.flyteidl.admin.W" - "orkflow\"I\202\323\344\223\002C\022A/api/v1/workflows/{id.p" - "roject}/{id.domain}/{id.name}/{id.versio" - "n}\022\237\001\n\017ListWorkflowIds\0220.flyteidl.admin." - "NamedEntityIdentifierListRequest\032).flyte" - "idl.admin.NamedEntityIdentifierList\"/\202\323\344" - "\223\002)\022\'/api/v1/workflow_ids/{project}/{dom" - "ain}\022\276\001\n\rListWorkflows\022#.flyteidl.admin." - "ResourceListRequest\032\034.flyteidl.admin.Wor" - "kflowList\"j\202\323\344\223\002d\0224/api/v1/workflows/{id" - ".project}/{id.domain}/{id.name}Z,\022*/api/" - "v1/workflows/{id.project}/{id.domain}\022\206\001" - "\n\020CreateLaunchPlan\022\'.flyteidl.admin.Laun" - "chPlanCreateRequest\032(.flyteidl.admin.Lau" - "nchPlanCreateResponse\"\037\202\323\344\223\002\031\"\024/api/v1/l" - "aunch_plans:\001*\022\233\001\n\rGetLaunchPlan\022 .flyte" - "idl.admin.ObjectGetRequest\032\032.flyteidl.ad" - "min.LaunchPlan\"L\202\323\344\223\002F\022D/api/v1/launch_p" - "lans/{id.project}/{id.domain}/{id.name}/" - "{id.version}\022\242\001\n\023GetActiveLaunchPlan\022\'.f" - "lyteidl.admin.ActiveLaunchPlanRequest\032\032." - "flyteidl.admin.LaunchPlan\"F\202\323\344\223\002@\022>/api/" - "v1/active_launch_plans/{id.project}/{id." + "edEntityIdentifierList\"Y\202\323\344\223\002S\022#/api/v1/" + "task_ids/{project}/{domain}Z,\022*/api/v1/t" + "asks/org/{org}/{project}/{domain}\022\250\002\n\tLi" + "stTasks\022#.flyteidl.admin.ResourceListReq" + "uest\032\030.flyteidl.admin.TaskList\"\333\001\202\323\344\223\002\324\001" + "\0220/api/v1/tasks/{id.project}/{id.domain}" + "/{id.name}Z\?\022=/api/v1/tasks/org/{id.org}" + "/{id.project}/{id.domain}/{id.name}Z(\022&/" + "api/v1/tasks/{id.project}/{id.domain}Z5\022" + "3/api/v1/tasks/org/{id.org}/{id.project}" + "/{id.domain}\022}\n\016CreateWorkflow\022%.flyteid" + "l.admin.WorkflowCreateRequest\032&.flyteidl" + ".admin.WorkflowCreateResponse\"\034\202\323\344\223\002\026\"\021/" + "api/v1/workflows:\001*\022\350\001\n\013GetWorkflow\022 .fl" + "yteidl.admin.ObjectGetRequest\032\030.flyteidl" + ".admin.Workflow\"\234\001\202\323\344\223\002\225\001\022A/api/v1/workf" + "lows/{id.project}/{id.domain}/{id.name}/" + "{id.version}ZP\022N/api/v1/workflows/org/{i" + "d.org}/{id.project}/{id.domain}/{id.name" + "}/{id.version}\022\321\001\n\017ListWorkflowIds\0220.fly" + "teidl.admin.NamedEntityIdentifierListReq" + "uest\032).flyteidl.admin.NamedEntityIdentif" + "ierList\"a\202\323\344\223\002[\022\'/api/v1/workflow_ids/{p" + "roject}/{domain}Z0\022./api/v1/workflows/or" + "g/{org}/{project}/{domain}\022\300\002\n\rListWorkf" + "lows\022#.flyteidl.admin.ResourceListReques" + "t\032\034.flyteidl.admin.WorkflowList\"\353\001\202\323\344\223\002\344" + "\001\0224/api/v1/workflows/{id.project}/{id.do" + "main}/{id.name}ZC\022A/api/v1/workflows/org" + "/{id.org}/{id.project}/{id.domain}/{id.n" + "ame}Z,\022*/api/v1/workflows/{id.project}/{" + "id.domain}Z9\0227/api/v1/workflows/org/{id." + "org}/{id.project}/{id.domain}\022\206\001\n\020Create" + "LaunchPlan\022\'.flyteidl.admin.LaunchPlanCr" + "eateRequest\032(.flyteidl.admin.LaunchPlanC" + "reateResponse\"\037\202\323\344\223\002\031\"\024/api/v1/launch_pl" + "ans:\001*\022\362\001\n\rGetLaunchPlan\022 .flyteidl.admi" + "n.ObjectGetRequest\032\032.flyteidl.admin.Laun" + "chPlan\"\242\001\202\323\344\223\002\233\001\022D/api/v1/launch_plans/{" + "id.project}/{id.domain}/{id.name}/{id.ve" + "rsion}ZS\022Q/api/v1/launch_plans/org/{id.o" + "rg}/{id.project}/{id.domain}/{id.name}/{" + "id.version}\022\363\001\n\023GetActiveLaunchPlan\022\'.fl" + "yteidl.admin.ActiveLaunchPlanRequest\032\032.f" + "lyteidl.admin.LaunchPlan\"\226\001\202\323\344\223\002\217\001\022>/api" + "/v1/active_launch_plans/{id.project}/{id" + ".domain}/{id.name}ZM\022K/api/v1/active_lau" + "nch_plans/org/{id.org}/{id.project}/{id." "domain}/{id.name}\022\234\001\n\025ListActiveLaunchPl" "ans\022+.flyteidl.admin.ActiveLaunchPlanLis" "tRequest\032\036.flyteidl.admin.LaunchPlanList" "\"6\202\323\344\223\0020\022./api/v1/active_launch_plans/{p" - "roject}/{domain}\022\244\001\n\021ListLaunchPlanIds\0220" + "roject}/{domain}\022\334\001\n\021ListLaunchPlanIds\0220" ".flyteidl.admin.NamedEntityIdentifierLis" "tRequest\032).flyteidl.admin.NamedEntityIde" - "ntifierList\"2\202\323\344\223\002,\022*/api/v1/launch_plan" - "_ids/{project}/{domain}\022\310\001\n\017ListLaunchPl" - "ans\022#.flyteidl.admin.ResourceListRequest" - "\032\036.flyteidl.admin.LaunchPlanList\"p\202\323\344\223\002j" - "\0227/api/v1/launch_plans/{id.project}/{id." - "domain}/{id.name}Z/\022-/api/v1/launch_plan" - "s/{id.project}/{id.domain}\022\266\001\n\020UpdateLau" - "nchPlan\022\'.flyteidl.admin.LaunchPlanUpdat" - "eRequest\032(.flyteidl.admin.LaunchPlanUpda" - "teResponse\"O\202\323\344\223\002I\032D/api/v1/launch_plans" - "/{id.project}/{id.domain}/{id.name}/{id." - "version}:\001*\022\201\001\n\017CreateExecution\022&.flytei" - "dl.admin.ExecutionCreateRequest\032\'.flytei" - "dl.admin.ExecutionCreateResponse\"\035\202\323\344\223\002\027" - "\"\022/api/v1/executions:\001*\022\216\001\n\021RelaunchExec" - "ution\022(.flyteidl.admin.ExecutionRelaunch" - "Request\032\'.flyteidl.admin.ExecutionCreate" - "Response\"&\202\323\344\223\002 \"\033/api/v1/executions/rel" - "aunch:\001*\022\213\001\n\020RecoverExecution\022\'.flyteidl" - ".admin.ExecutionRecoverRequest\032\'.flyteid" - "l.admin.ExecutionCreateResponse\"%\202\323\344\223\002\037\"" - "\032/api/v1/executions/recover:\001*\022\225\001\n\014GetEx" - "ecution\022+.flyteidl.admin.WorkflowExecuti" - "onGetRequest\032\031.flyteidl.admin.Execution\"" - "=\202\323\344\223\0027\0225/api/v1/executions/{id.project}" - "/{id.domain}/{id.name}\022\244\001\n\017UpdateExecuti" - "on\022&.flyteidl.admin.ExecutionUpdateReque" - "st\032\'.flyteidl.admin.ExecutionUpdateRespo" - "nse\"@\202\323\344\223\002:\0325/api/v1/executions/{id.proj" - "ect}/{id.domain}/{id.name}:\001*\022\271\001\n\020GetExe" - "cutionData\022/.flyteidl.admin.WorkflowExec" - "utionGetDataRequest\0320.flyteidl.admin.Wor" - "kflowExecutionGetDataResponse\"B\202\323\344\223\002<\022:/" - "api/v1/data/executions/{id.project}/{id." - "domain}/{id.name}\022\211\001\n\016ListExecutions\022#.f" - "lyteidl.admin.ResourceListRequest\032\035.flyt" - "eidl.admin.ExecutionList\"3\202\323\344\223\002-\022+/api/v" - "1/executions/{id.project}/{id.domain}\022\255\001" - "\n\022TerminateExecution\022).flyteidl.admin.Ex" - "ecutionTerminateRequest\032*.flyteidl.admin" - ".ExecutionTerminateResponse\"@\202\323\344\223\002:*5/ap" - "i/v1/executions/{id.project}/{id.domain}" - "/{id.name}:\001*\022\322\001\n\020GetNodeExecution\022\'.fly" - "teidl.admin.NodeExecutionGetRequest\032\035.fl" - "yteidl.admin.NodeExecution\"v\202\323\344\223\002p\022n/api" - "/v1/node_executions/{id.execution_id.pro" - "ject}/{id.execution_id.domain}/{id.execu" - "tion_id.name}/{id.node_id}\022\336\001\n\022ListNodeE" - "xecutions\022(.flyteidl.admin.NodeExecution" - "ListRequest\032!.flyteidl.admin.NodeExecuti" - "onList\"{\202\323\344\223\002u\022s/api/v1/node_executions/" - "{workflow_execution_id.project}/{workflo" - "w_execution_id.domain}/{workflow_executi" - "on_id.name}\022\245\004\n\031ListNodeExecutionsForTas" - "k\022/.flyteidl.admin.NodeExecutionForTaskL" - "istRequest\032!.flyteidl.admin.NodeExecutio" - "nList\"\263\003\202\323\344\223\002\254\003\022\251\003/api/v1/children/task_" - "executions/{task_execution_id.node_execu" - "tion_id.execution_id.project}/{task_exec" - "ution_id.node_execution_id.execution_id." - "domain}/{task_execution_id.node_executio" - "n_id.execution_id.name}/{task_execution_" - "id.node_execution_id.node_id}/{task_exec" - "ution_id.task_id.project}/{task_executio" - "n_id.task_id.domain}/{task_execution_id." - "task_id.name}/{task_execution_id.task_id" - ".version}/{task_execution_id.retry_attem" - "pt}\022\356\001\n\024GetNodeExecutionData\022+.flyteidl." - "admin.NodeExecutionGetDataRequest\032,.flyt" - "eidl.admin.NodeExecutionGetDataResponse\"" - "{\202\323\344\223\002u\022s/api/v1/data/node_executions/{i" - "d.execution_id.project}/{id.execution_id" - ".domain}/{id.execution_id.name}/{id.node" - "_id}\022\177\n\017RegisterProject\022&.flyteidl.admin" - ".ProjectRegisterRequest\032\'.flyteidl.admin" - ".ProjectRegisterResponse\"\033\202\323\344\223\002\025\"\020/api/v" - "1/projects:\001*\022q\n\rUpdateProject\022\027.flyteid" - "l.admin.Project\032%.flyteidl.admin.Project" - "UpdateResponse\" \202\323\344\223\002\032\032\025/api/v1/projects" - "/{id}:\001*\022f\n\014ListProjects\022\".flyteidl.admi" - "n.ProjectListRequest\032\030.flyteidl.admin.Pr" - "ojects\"\030\202\323\344\223\002\022\022\020/api/v1/projects\022\231\001\n\023Cre" - "ateWorkflowEvent\022-.flyteidl.admin.Workfl" - "owExecutionEventRequest\032..flyteidl.admin" - ".WorkflowExecutionEventResponse\"#\202\323\344\223\002\035\"" - "\030/api/v1/events/workflows:\001*\022\211\001\n\017CreateN" - "odeEvent\022).flyteidl.admin.NodeExecutionE" - "ventRequest\032*.flyteidl.admin.NodeExecuti" - "onEventResponse\"\037\202\323\344\223\002\031\"\024/api/v1/events/" - "nodes:\001*\022\211\001\n\017CreateTaskEvent\022).flyteidl." - "admin.TaskExecutionEventRequest\032*.flytei" - "dl.admin.TaskExecutionEventResponse\"\037\202\323\344" - "\223\002\031\"\024/api/v1/events/tasks:\001*\022\200\003\n\020GetTask" - "Execution\022\'.flyteidl.admin.TaskExecution" - "GetRequest\032\035.flyteidl.admin.TaskExecutio" - "n\"\243\002\202\323\344\223\002\234\002\022\231\002/api/v1/task_executions/{i" - "d.node_execution_id.execution_id.project" - "}/{id.node_execution_id.execution_id.dom" - "ain}/{id.node_execution_id.execution_id." - "name}/{id.node_execution_id.node_id}/{id" - ".task_id.project}/{id.task_id.domain}/{i" - "d.task_id.name}/{id.task_id.version}/{id" - ".retry_attempt}\022\230\002\n\022ListTaskExecutions\022(" - ".flyteidl.admin.TaskExecutionListRequest" - "\032!.flyteidl.admin.TaskExecutionList\"\264\001\202\323" - "\344\223\002\255\001\022\252\001/api/v1/task_executions/{node_ex" - "ecution_id.execution_id.project}/{node_e" - "xecution_id.execution_id.domain}/{node_e" - "xecution_id.execution_id.name}/{node_exe" - "cution_id.node_id}\022\234\003\n\024GetTaskExecutionD" - "ata\022+.flyteidl.admin.TaskExecutionGetDat" - "aRequest\032,.flyteidl.admin.TaskExecutionG" - "etDataResponse\"\250\002\202\323\344\223\002\241\002\022\236\002/api/v1/data/" - "task_executions/{id.node_execution_id.ex" - "ecution_id.project}/{id.node_execution_i" - "d.execution_id.domain}/{id.node_executio" - "n_id.execution_id.name}/{id.node_executi" - "on_id.node_id}/{id.task_id.project}/{id." - "task_id.domain}/{id.task_id.name}/{id.ta" - "sk_id.version}/{id.retry_attempt}\022\343\001\n\035Up" - "dateProjectDomainAttributes\0224.flyteidl.a" - "dmin.ProjectDomainAttributesUpdateReques" - "t\0325.flyteidl.admin.ProjectDomainAttribut" - "esUpdateResponse\"U\202\323\344\223\002O\032J/api/v1/projec" - "t_domain_attributes/{attributes.project}" - "/{attributes.domain}:\001*\022\301\001\n\032GetProjectDo" - "mainAttributes\0221.flyteidl.admin.ProjectD" - "omainAttributesGetRequest\0322.flyteidl.adm" - "in.ProjectDomainAttributesGetResponse\"<\202" - "\323\344\223\0026\0224/api/v1/project_domain_attributes" - "/{project}/{domain}\022\315\001\n\035DeleteProjectDom" - "ainAttributes\0224.flyteidl.admin.ProjectDo" - "mainAttributesDeleteRequest\0325.flyteidl.a" - "dmin.ProjectDomainAttributesDeleteRespon" - "se\"\?\202\323\344\223\0029*4/api/v1/project_domain_attri" - "butes/{project}/{domain}:\001*\022\266\001\n\027UpdatePr" - "ojectAttributes\022..flyteidl.admin.Project" - "AttributesUpdateRequest\032/.flyteidl.admin" - ".ProjectAttributesUpdateResponse\":\202\323\344\223\0024" - "\032//api/v1/project_attributes/{attributes" - ".project}:\001*\022\237\001\n\024GetProjectAttributes\022+." - "flyteidl.admin.ProjectAttributesGetReque" - "st\032,.flyteidl.admin.ProjectAttributesGet" - "Response\",\202\323\344\223\002&\022$/api/v1/project_attrib" - "utes/{project}\022\253\001\n\027DeleteProjectAttribut" - "es\022..flyteidl.admin.ProjectAttributesDel" - "eteRequest\032/.flyteidl.admin.ProjectAttri" - "butesDeleteResponse\"/\202\323\344\223\002)*$/api/v1/pro" - "ject_attributes/{project}:\001*\022\344\001\n\030UpdateW" - "orkflowAttributes\022/.flyteidl.admin.Workf" - "lowAttributesUpdateRequest\0320.flyteidl.ad" - "min.WorkflowAttributesUpdateResponse\"e\202\323" - "\344\223\002_\032Z/api/v1/workflow_attributes/{attri" - "butes.project}/{attributes.domain}/{attr" - "ibutes.workflow}:\001*\022\267\001\n\025GetWorkflowAttri" - "butes\022,.flyteidl.admin.WorkflowAttribute" - "sGetRequest\032-.flyteidl.admin.WorkflowAtt" - "ributesGetResponse\"A\202\323\344\223\002;\0229/api/v1/work" - "flow_attributes/{project}/{domain}/{work" - "flow}\022\303\001\n\030DeleteWorkflowAttributes\022/.fly" - "teidl.admin.WorkflowAttributesDeleteRequ" - "est\0320.flyteidl.admin.WorkflowAttributesD" - "eleteResponse\"D\202\323\344\223\002>*9/api/v1/workflow_" - "attributes/{project}/{domain}/{workflow}" - ":\001*\022\240\001\n\027ListMatchableAttributes\022..flytei" - "dl.admin.ListMatchableAttributesRequest\032" - "/.flyteidl.admin.ListMatchableAttributes" - "Response\"$\202\323\344\223\002\036\022\034/api/v1/matchable_attr" - "ibutes\022\237\001\n\021ListNamedEntities\022&.flyteidl." - "admin.NamedEntityListRequest\032\037.flyteidl." - "admin.NamedEntityList\"A\202\323\344\223\002;\0229/api/v1/n" - "amed_entities/{resource_type}/{project}/" - "{domain}\022\247\001\n\016GetNamedEntity\022%.flyteidl.a" - "dmin.NamedEntityGetRequest\032\033.flyteidl.ad" - "min.NamedEntity\"Q\202\323\344\223\002K\022I/api/v1/named_e" - "ntities/{resource_type}/{id.project}/{id" - ".domain}/{id.name}\022\276\001\n\021UpdateNamedEntity" - "\022(.flyteidl.admin.NamedEntityUpdateReque" - "st\032).flyteidl.admin.NamedEntityUpdateRes" - "ponse\"T\202\323\344\223\002N\032I/api/v1/named_entities/{r" - "esource_type}/{id.project}/{id.domain}/{" - "id.name}:\001*\022l\n\nGetVersion\022!.flyteidl.adm" - "in.GetVersionRequest\032\".flyteidl.admin.Ge" - "tVersionResponse\"\027\202\323\344\223\002\021\022\017/api/v1/versio" - "n\022\304\001\n\024GetDescriptionEntity\022 .flyteidl.ad" - "min.ObjectGetRequest\032!.flyteidl.admin.De" - "scriptionEntity\"g\202\323\344\223\002a\022_/api/v1/descrip" - "tion_entities/{id.resource_type}/{id.pro" - "ject}/{id.domain}/{id.name}/{id.version}" - "\022\222\002\n\027ListDescriptionEntities\022,.flyteidl." - "admin.DescriptionEntityListRequest\032%.fly" - "teidl.admin.DescriptionEntityList\"\241\001\202\323\344\223" - "\002\232\001\022O/api/v1/description_entities/{resou" - "rce_type}/{id.project}/{id.domain}/{id.n" - "ame}ZG\022E/api/v1/description_entities/{re" - "source_type}/{id.project}/{id.domain}\022\305\001" - "\n\023GetExecutionMetrics\0222.flyteidl.admin.W" - "orkflowExecutionGetMetricsRequest\0323.flyt" - "eidl.admin.WorkflowExecutionGetMetricsRe" - "sponse\"E\202\323\344\223\002\?\022=/api/v1/metrics/executio" - "ns/{id.project}/{id.domain}/{id.name}B\?Z" - "=github.com/flyteorg/flyte/flyteidl/gen/" - "pb-go/flyteidl/serviceb\006proto3" + "ntifierList\"j\202\323\344\223\002d\022*/api/v1/launch_plan" + "_ids/{project}/{domain}Z6\0224/api/v1/launc" + "h_plan_ids/org/{org}/{project}/{domain}\022" + "\320\002\n\017ListLaunchPlans\022#.flyteidl.admin.Res" + "ourceListRequest\032\036.flyteidl.admin.Launch" + "PlanList\"\367\001\202\323\344\223\002\360\001\0227/api/v1/launch_plans" + "/{id.project}/{id.domain}/{id.name}ZF\022D/" + "api/v1/launch_plans/org/{id.org}/{id.pro" + "ject}/{id.domain}/{id.name}Z/\022-/api/v1/l" + "aunch_plans/{id.project}/{id.domain}Z<\022:" + "/api/v1/launch_plans/org/{id.org}/{id.pr" + "oject}/{id.domain}\022\215\002\n\020UpdateLaunchPlan\022" + "\'.flyteidl.admin.LaunchPlanUpdateRequest" + "\032(.flyteidl.admin.LaunchPlanUpdateRespon" + "se\"\245\001\202\323\344\223\002\236\001\032D/api/v1/launch_plans/{id.p" + "roject}/{id.domain}/{id.name}/{id.versio" + "n}:\001*ZS\032Q/api/v1/launch_plans/org/{id.or" + "g}/{id.project}/{id.domain}/{id.name}/{i" + "d.version}\022\201\001\n\017CreateExecution\022&.flyteid" + "l.admin.ExecutionCreateRequest\032\'.flyteid" + "l.admin.ExecutionCreateResponse\"\035\202\323\344\223\002\027\"" + "\022/api/v1/executions:\001*\022\216\001\n\021RelaunchExecu" + "tion\022(.flyteidl.admin.ExecutionRelaunchR" + "equest\032\'.flyteidl.admin.ExecutionCreateR" + "esponse\"&\202\323\344\223\002 \"\033/api/v1/executions/rela" + "unch:\001*\022\213\001\n\020RecoverExecution\022\'.flyteidl." + "admin.ExecutionRecoverRequest\032\'.flyteidl" + ".admin.ExecutionCreateResponse\"%\202\323\344\223\002\037\"\032" + "/api/v1/executions/recover:\001*\022\334\001\n\014GetExe" + "cution\022+.flyteidl.admin.WorkflowExecutio" + "nGetRequest\032\031.flyteidl.admin.Execution\"\203" + "\001\202\323\344\223\002}\0225/api/v1/executions/{id.project}" + "/{id.domain}/{id.name}ZD\022B/api/v1/execut" + "ions/org/{id.org}/{id.project}/{id.domai" + "n}/{id.name}\022\357\001\n\017UpdateExecution\022&.flyte" + "idl.admin.ExecutionUpdateRequest\032\'.flyte" + "idl.admin.ExecutionUpdateResponse\"\212\001\202\323\344\223" + "\002\203\001\0325/api/v1/executions/{id.project}/{id" + ".domain}/{id.name}:\001*ZG\032B/api/v1/executi" + "ons/org/{id.org}/{id.project}/{id.domain" + "}/{id.name}:\001*\022\206\002\n\020GetExecutionData\022/.fl" + "yteidl.admin.WorkflowExecutionGetDataReq" + "uest\0320.flyteidl.admin.WorkflowExecutionG" + "etDataResponse\"\216\001\202\323\344\223\002\207\001\022:/api/v1/data/e" + "xecutions/{id.project}/{id.domain}/{id.n" + "ame}ZI\022G/api/v1/data/executions/org/{id." + "org}/{id.project}/{id.domain}/{id.name}\022" + "\305\001\n\016ListExecutions\022#.flyteidl.admin.Reso" + "urceListRequest\032\035.flyteidl.admin.Executi" + "onList\"o\202\323\344\223\002i\022+/api/v1/executions/{id.p" + "roject}/{id.domain}Z:\0228/api/v1/execution" + "s/org/{id.org}/{id.project}/{id.domain}\022" + "\375\001\n\022TerminateExecution\022).flyteidl.admin." + "ExecutionTerminateRequest\032*.flyteidl.adm" + "in.ExecutionTerminateResponse\"\217\001\202\323\344\223\002\210\001*" + "5/api/v1/executions/{id.project}/{id.dom" + "ain}/{id.name}:\001*ZL*G/api/v1/data/execut" + "ions/org/{id.org}/{id.project}/{id.domai" + "n}/{id.name}:\001*\022\342\002\n\020GetNodeExecution\022\'.f" + "lyteidl.admin.NodeExecutionGetRequest\032\035." + "flyteidl.admin.NodeExecution\"\205\002\202\323\344\223\002\376\001\022n" + "/api/v1/node_executions/{id.execution_id" + ".project}/{id.execution_id.domain}/{id.e" + "xecution_id.name}/{id.node_id}Z\213\001\022\210\001/api" + "/v1/node_executions/org/{id.execution_id" + ".org}/{id.execution_id.project}/{id.exec" + "ution_id.domain}/{id.execution_id.name}/" + "{id.node_id}\022\371\002\n\022ListNodeExecutions\022(.fl" + "yteidl.admin.NodeExecutionListRequest\032!." + "flyteidl.admin.NodeExecutionList\"\225\002\202\323\344\223\002" + "\216\002\022s/api/v1/node_executions/{workflow_ex" + "ecution_id.project}/{workflow_execution_" + "id.domain}/{workflow_execution_id.name}Z" + "\226\001\022\223\001/api/v1/node_executions/org/{workfl" + "ow_execution_id.org}/{workflow_execution" + "_id.project}/{workflow_execution_id.doma" + "in}/{workflow_execution_id.name}\022\217\010\n\031Lis" + "tNodeExecutionsForTask\022/.flyteidl.admin." + "NodeExecutionForTaskListRequest\032!.flytei" + "dl.admin.NodeExecutionList\"\235\007\202\323\344\223\002\226\007\022\251\003/" + "api/v1/children/task_executions/{task_ex" + "ecution_id.node_execution_id.execution_i" + "d.project}/{task_execution_id.node_execu" + "tion_id.execution_id.domain}/{task_execu" + "tion_id.node_execution_id.execution_id.n" + "ame}/{task_execution_id.node_execution_i" + "d.node_id}/{task_execution_id.task_id.pr" + "oject}/{task_execution_id.task_id.domain" + "}/{task_execution_id.task_id.name}/{task" + "_execution_id.task_id.version}/{task_exe" + "cution_id.retry_attempt}Z\347\003\022\344\003/api/v1/ch" + "ildren/task_executions/org/{task_executi" + "on_id.node_execution_id.execution_id.org" + "}/{task_execution_id.node_execution_id.e" + "xecution_id.project}/{task_execution_id." + "node_execution_id.execution_id.domain}/{" + "task_execution_id.node_execution_id.exec" + "ution_id.name}/{task_execution_id.node_e" + "xecution_id.node_id}/{task_execution_id." + "task_id.project}/{task_execution_id.task" + "_id.domain}/{task_execution_id.task_id.n" + "ame}/{task_execution_id.task_id.version}" + "/{task_execution_id.retry_attempt}\022\203\003\n\024G" + "etNodeExecutionData\022+.flyteidl.admin.Nod" + "eExecutionGetDataRequest\032,.flyteidl.admi" + "n.NodeExecutionGetDataResponse\"\217\002\202\323\344\223\002\210\002" + "\022s/api/v1/data/node_executions/{id.execu" + "tion_id.project}/{id.execution_id.domain" + "}/{id.execution_id.name}/{id.node_id}Z\220\001" + "\022\215\001/api/v1/data/node_executions/org/{id." + "execution_id.org}/{id.execution_id.proje" + "ct}/{id.execution_id.domain}/{id.executi" + "on_id.name}/{id.node_id}\022\177\n\017RegisterProj" + "ect\022&.flyteidl.admin.ProjectRegisterRequ" + "est\032\'.flyteidl.admin.ProjectRegisterResp" + "onse\"\033\202\323\344\223\002\025\"\020/api/v1/projects:\001*\022\227\001\n\rUp" + "dateProject\022\027.flyteidl.admin.Project\032%.f" + "lyteidl.admin.ProjectUpdateResponse\"F\202\323\344" + "\223\002@\032\025/api/v1/projects/{id}:\001*Z$\032\037/api/v1" + "/projects/org/{org}/{id}:\001*\022f\n\014ListProje" + "cts\022\".flyteidl.admin.ProjectListRequest\032" + "\030.flyteidl.admin.Projects\"\030\202\323\344\223\002\022\022\020/api/" + "v1/projects\022\231\001\n\023CreateWorkflowEvent\022-.fl" + "yteidl.admin.WorkflowExecutionEventReque" + "st\032..flyteidl.admin.WorkflowExecutionEve" + "ntResponse\"#\202\323\344\223\002\035\"\030/api/v1/events/workf" + "lows:\001*\022\211\001\n\017CreateNodeEvent\022).flyteidl.a" + "dmin.NodeExecutionEventRequest\032*.flyteid" + "l.admin.NodeExecutionEventResponse\"\037\202\323\344\223" + "\002\031\"\024/api/v1/events/nodes:\001*\022\211\001\n\017CreateTa" + "skEvent\022).flyteidl.admin.TaskExecutionEv" + "entRequest\032*.flyteidl.admin.TaskExecutio" + "nEventResponse\"\037\202\323\344\223\002\031\"\024/api/v1/events/t" + "asks:\001*\022\313\005\n\020GetTaskExecution\022\'.flyteidl." + "admin.TaskExecutionGetRequest\032\035.flyteidl" + ".admin.TaskExecution\"\356\004\202\323\344\223\002\347\004\022\231\002/api/v1" + "/task_executions/{id.node_execution_id.e" + "xecution_id.project}/{id.node_execution_" + "id.execution_id.domain}/{id.node_executi" + "on_id.execution_id.name}/{id.node_execut" + "ion_id.node_id}/{id.task_id.project}/{id" + ".task_id.domain}/{id.task_id.name}/{id.t" + "ask_id.version}/{id.retry_attempt}Z\310\002\022\305\002" + "/api/v1/task_executions/org/{id.node_exe" + "cution_id.execution_id.org}/{id.node_exe" + "cution_id.execution_id.project}/{id.node" + "_execution_id.execution_id.domain}/{id.n" + "ode_execution_id.execution_id.name}/{id." + "node_execution_id.node_id}/{id.task_id.p" + "roject}/{id.task_id.domain}/{id.task_id." + "name}/{id.task_id.version}/{id.retry_att" + "empt}\022\361\003\n\022ListTaskExecutions\022(.flyteidl." + "admin.TaskExecutionListRequest\032!.flyteid" + "l.admin.TaskExecutionList\"\215\003\202\323\344\223\002\206\003\022\252\001/a" + "pi/v1/task_executions/{node_execution_id" + ".execution_id.project}/{node_execution_i" + "d.execution_id.domain}/{node_execution_i" + "d.execution_id.name}/{node_execution_id." + "node_id}Z\326\001\022\323\001/api/v1/task_executions/or" + "g/{node_execution_id.execution_id.org}/{" + "node_execution_id.execution_id.project}/" + "{node_execution_id.execution_id.domain}/" + "{node_execution_id.execution_id.name}/{n" + "ode_execution_id.node_id}\022\354\005\n\024GetTaskExe" + "cutionData\022+.flyteidl.admin.TaskExecutio" + "nGetDataRequest\032,.flyteidl.admin.TaskExe" + "cutionGetDataResponse\"\370\004\202\323\344\223\002\361\004\022\236\002/api/v" + "1/data/task_executions/{id.node_executio" + "n_id.execution_id.project}/{id.node_exec" + "ution_id.execution_id.domain}/{id.node_e" + "xecution_id.execution_id.name}/{id.node_" + "execution_id.node_id}/{id.task_id.projec" + "t}/{id.task_id.domain}/{id.task_id.name}" + "/{id.task_id.version}/{id.retry_attempt}" + "Z\315\002\022\312\002/api/v1/data/task_executions/org/{" + "id.node_execution_id.execution_id.org}/{" + "id.node_execution_id.execution_id.projec" + "t}/{id.node_execution_id.execution_id.do" + "main}/{id.node_execution_id.execution_id" + ".name}/{id.node_execution_id.node_id}/{i" + "d.task_id.project}/{id.task_id.domain}/{" + "id.task_id.name}/{id.task_id.version}/{i" + "d.retry_attempt}\022\313\002\n\035UpdateProjectDomain" + "Attributes\0224.flyteidl.admin.ProjectDomai" + "nAttributesUpdateRequest\0325.flyteidl.admi" + "n.ProjectDomainAttributesUpdateResponse\"" + "\274\001\202\323\344\223\002\265\001\032J/api/v1/project_domain_attrib" + "utes/{attributes.project}/{attributes.do" + "main}:\001*Zd\032_/api/v1/project_domain_attri" + "butes/org/{attributes.org}/{attributes.p" + "roject}/{attributes.domain}:\001*\022\203\002\n\032GetPr" + "ojectDomainAttributes\0221.flyteidl.admin.P" + "rojectDomainAttributesGetRequest\0322.flyte" + "idl.admin.ProjectDomainAttributesGetResp" + "onse\"~\202\323\344\223\002x\0224/api/v1/project_domain_att" + "ributes/{project}/{domain}Z@\022>/api/v1/pr" + "oject_domain_attributes/org/{org}/{proje" + "ct}/{domain}\022\223\002\n\035DeleteProjectDomainAttr" + "ibutes\0224.flyteidl.admin.ProjectDomainAtt" + "ributesDeleteRequest\0325.flyteidl.admin.Pr" + "ojectDomainAttributesDeleteResponse\"\204\001\202\323" + "\344\223\002~*4/api/v1/project_domain_attributes/" + "{project}/{domain}:\001*ZC*>/api/v1/project" + "_domain_attributes/org/{org}/{project}/{" + "domain}:\001*\022\212\002\n\027UpdateProjectAttributes\022." + ".flyteidl.admin.ProjectAttributesUpdateR" + "equest\032/.flyteidl.admin.ProjectAttribute" + "sUpdateResponse\"\215\001\202\323\344\223\002\206\001\032//api/v1/proje" + "ct_attributes/{attributes.project}:\001*ZP\032" + "K/api/v1/project_domain_attributes/org/{" + "attributes.org}/{attributes.project}:\001*\022" + "\330\001\n\024GetProjectAttributes\022+.flyteidl.admi" + "n.ProjectAttributesGetRequest\032,.flyteidl" + ".admin.ProjectAttributesGetResponse\"e\202\323\344" + "\223\002_\022$/api/v1/project_attributes/{project" + "}Z7\0225/api/v1/project_domain_attributes/o" + "rg/{org}/{project}\022\347\001\n\027DeleteProjectAttr" + "ibutes\022..flyteidl.admin.ProjectAttribute" + "sDeleteRequest\032/.flyteidl.admin.ProjectA" + "ttributesDeleteResponse\"k\202\323\344\223\002e*$/api/v1" + "/project_attributes/{project}:\001*Z:*5/api" + "/v1/project_domain_attributes/org/{org}/" + "{project}:\001*\022\334\002\n\030UpdateWorkflowAttribute" + "s\022/.flyteidl.admin.WorkflowAttributesUpd" + "ateRequest\0320.flyteidl.admin.WorkflowAttr" + "ibutesUpdateResponse\"\334\001\202\323\344\223\002\325\001\032Z/api/v1/" + "workflow_attributes/{attributes.project}" + "/{attributes.domain}/{attributes.workflo" + "w}:\001*Zt\032o/api/v1/workflow_attributes/org" + "/{attributes.org}/{attributes.project}/{" + "attributes.domain}/{attributes.workflow}" + ":\001*\022\200\002\n\025GetWorkflowAttributes\022,.flyteidl" + ".admin.WorkflowAttributesGetRequest\032-.fl" + "yteidl.admin.WorkflowAttributesGetRespon" + "se\"\211\001\202\323\344\223\002\202\001\0229/api/v1/workflow_attribute" + "s/{project}/{domain}/{workflow}ZE\022C/api/" + "v1/workflow_attributes/org/{org}/{projec" + "t}/{domain}/{workflow}\022\217\002\n\030DeleteWorkflo" + "wAttributes\022/.flyteidl.admin.WorkflowAtt" + "ributesDeleteRequest\0320.flyteidl.admin.Wo" + "rkflowAttributesDeleteResponse\"\217\001\202\323\344\223\002\210\001" + "*9/api/v1/workflow_attributes/{project}/" + "{domain}/{workflow}:\001*ZH*C/api/v1/workfl" + "ow_attributes/org/{org}/{project}/{domai" + "n}/{workflow}:\001*\022\240\001\n\027ListMatchableAttrib" + "utes\022..flyteidl.admin.ListMatchableAttri" + "butesRequest\032/.flyteidl.admin.ListMatcha" + "bleAttributesResponse\"$\202\323\344\223\002\036\022\034/api/v1/m" + "atchable_attributes\022\350\001\n\021ListNamedEntitie" + "s\022&.flyteidl.admin.NamedEntityListReques" + "t\032\037.flyteidl.admin.NamedEntityList\"\211\001\202\323\344" + "\223\002\202\001\0229/api/v1/named_entities/{resource_t" + "ype}/{project}/{domain}ZE\022C/api/v1/named" + "_entities/{resource_type}/org/{org}/{pro" + "ject}/{domain}\022\203\002\n\016GetNamedEntity\022%.flyt" + "eidl.admin.NamedEntityGetRequest\032\033.flyte" + "idl.admin.NamedEntity\"\254\001\202\323\344\223\002\245\001\022I/api/v1" + "/named_entities/{resource_type}/{id.proj" + "ect}/{id.domain}/{id.name}ZX\022V/api/v1/na" + "med_entities/{resource_type}/org/{id.org" + "}/{id.project}/{id.domain}/{id.name}\022\235\002\n" + "\021UpdateNamedEntity\022(.flyteidl.admin.Name" + "dEntityUpdateRequest\032).flyteidl.admin.Na" + "medEntityUpdateResponse\"\262\001\202\323\344\223\002\253\001\032I/api/" + "v1/named_entities/{resource_type}/{id.pr" + "oject}/{id.domain}/{id.name}:\001*Z[\032V/api/" + "v1/named_entities/{resource_type}/org/{i" + "d.org}/{id.project}/{id.domain}/{id.name" + "}:\001*\022l\n\nGetVersion\022!.flyteidl.admin.GetV" + "ersionRequest\032\".flyteidl.admin.GetVersio" + "nResponse\"\027\202\323\344\223\002\021\022\017/api/v1/version\022\266\002\n\024G" + "etDescriptionEntity\022 .flyteidl.admin.Obj" + "ectGetRequest\032!.flyteidl.admin.Descripti" + "onEntity\"\330\001\202\323\344\223\002\321\001\022_/api/v1/description_" + "entities/{id.resource_type}/{id.project}" + "/{id.domain}/{id.name}/{id.version}Zn\022l/" + "api/v1/description_entities/org/{id.org}" + "/{id.resource_type}/{id.project}/{id.dom" + "ain}/{id.name}/{id.version}\022\310\003\n\027ListDesc" + "riptionEntities\022,.flyteidl.admin.Descrip" + "tionEntityListRequest\032%.flyteidl.admin.D" + "escriptionEntityList\"\327\002\202\323\344\223\002\320\002\022O/api/v1/" + "description_entities/{resource_type}/{id" + ".project}/{id.domain}/{id.name}Z^\022\\/api/" + "v1/description_entities/{resource_type}/" + "org/{id.org}/{id.project}/{id.domain}/{i" + "d.name}ZG\022E/api/v1/description_entities/" + "{resource_type}/{id.project}/{id.domain}" + "ZT\022R/api/v1/description_entities/{resour" + "ce_type}/org/{id.org}/{id.project}/{id.d" + "omain}\022\225\002\n\023GetExecutionMetrics\0222.flyteid" + "l.admin.WorkflowExecutionGetMetricsReque" + "st\0323.flyteidl.admin.WorkflowExecutionGet" + "MetricsResponse\"\224\001\202\323\344\223\002\215\001\022=/api/v1/metri" + "cs/executions/{id.project}/{id.domain}/{" + "id.name}ZL\022J/api/v1/metrics/executions/o" + "rg/{id.org}/{id.project}/{id.domain}/{id" + ".name}B\?Z=github.com/flyteorg/flyte/flyt" + "eidl/gen/pb-go/flyteidl/serviceb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fservice_2fadmin_2eproto = { false, InitDefaults_flyteidl_2fservice_2fadmin_2eproto, descriptor_table_protodef_flyteidl_2fservice_2fadmin_2eproto, - "flyteidl/service/admin.proto", &assign_descriptors_table_flyteidl_2fservice_2fadmin_2eproto, 10670, + "flyteidl/service/admin.proto", &assign_descriptors_table_flyteidl_2fservice_2fadmin_2eproto, 15199, }; void AddDescriptors_flyteidl_2fservice_2fadmin_2eproto() { diff --git a/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go index 3703dfb22e..d5598fd1db 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go @@ -93,7 +93,9 @@ type NamedEntityIdentifier struct { // User provided value for the resource. // The combination of project + domain + name uniquely identifies the resource. // +optional - in certain contexts - like 'List API', 'Launch plans' - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,4,opt,name=org,proto3" json:"org,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -145,6 +147,13 @@ func (m *NamedEntityIdentifier) GetName() string { return "" } +func (m *NamedEntityIdentifier) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Additional metadata around a named entity. type NamedEntityMetadata struct { // Common description across all versions of the entity @@ -329,7 +338,9 @@ type NamedEntityIdentifierListRequest struct { SortBy *Sort `protobuf:"bytes,5,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"` // Indicates a list of filters passed as string. // +optional - Filters string `protobuf:"bytes,6,opt,name=filters,proto3" json:"filters,omitempty"` + Filters string `protobuf:"bytes,6,opt,name=filters,proto3" json:"filters,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,7,opt,name=org,proto3" json:"org,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -402,6 +413,13 @@ func (m *NamedEntityIdentifierListRequest) GetFilters() string { return "" } +func (m *NamedEntityIdentifierListRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Represents a request structure to list NamedEntity objects type NamedEntityListRequest struct { // Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. @@ -423,7 +441,9 @@ type NamedEntityListRequest struct { SortBy *Sort `protobuf:"bytes,6,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"` // Indicates a list of filters passed as string. // +optional - Filters string `protobuf:"bytes,7,opt,name=filters,proto3" json:"filters,omitempty"` + Filters string `protobuf:"bytes,7,opt,name=filters,proto3" json:"filters,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,8,opt,name=org,proto3" json:"org,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -503,6 +523,13 @@ func (m *NamedEntityListRequest) GetFilters() string { return "" } +func (m *NamedEntityListRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Represents a list of NamedEntityIdentifiers. type NamedEntityIdentifierList struct { // A list of identifiers. @@ -1484,80 +1511,81 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/common.proto", fileDescriptor_7c2cf612a185829c) } var fileDescriptor_7c2cf612a185829c = []byte{ - // 1192 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdf, 0x73, 0xdb, 0xc4, - 0x13, 0x8f, 0x1c, 0xc7, 0xa9, 0x37, 0x6d, 0xea, 0x5e, 0xd2, 0x7e, 0xdd, 0xe4, 0x4b, 0x09, 0x62, - 0xf8, 0xd1, 0x0e, 0xb5, 0x67, 0x52, 0x0a, 0xf4, 0x37, 0x4e, 0xac, 0xb6, 0x99, 0xa6, 0x6e, 0x90, - 0xd3, 0x32, 0x65, 0x60, 0xc4, 0x59, 0x3a, 0xbb, 0x47, 0x24, 0x9d, 0xb8, 0x3b, 0xb5, 0x15, 0x2f, - 0x0c, 0xbc, 0xf1, 0xc6, 0x03, 0xff, 0x10, 0x4f, 0x0c, 0xef, 0xfc, 0x41, 0xcc, 0x9d, 0x24, 0x5b, - 0x56, 0xdc, 0x42, 0xd3, 0xce, 0xf0, 0x76, 0x7b, 0xbb, 0x7b, 0xfb, 0xd9, 0xcf, 0xed, 0xae, 0x4e, - 0xb0, 0x3e, 0xf4, 0x13, 0x49, 0xa8, 0xe7, 0xb7, 0xb1, 0x17, 0xd0, 0xb0, 0xed, 0xb2, 0x20, 0x60, - 0x61, 0x2b, 0xe2, 0x4c, 0x32, 0xb4, 0x9c, 0x2b, 0x5b, 0x5a, 0xb9, 0xf6, 0xd6, 0xd8, 0xd8, 0x65, - 0x9c, 0xb4, 0xc9, 0x73, 0xe2, 0xc6, 0x92, 0xe6, 0xe6, 0x6b, 0xe7, 0xa6, 0xd5, 0xd4, 0x23, 0xa1, - 0xa4, 0x43, 0x4a, 0x78, 0xa6, 0xff, 0xff, 0xb4, 0xde, 0xa7, 0x92, 0x70, 0xec, 0x8b, 0x4c, 0xfb, - 0xf6, 0x88, 0xb1, 0x91, 0x4f, 0xda, 0x5a, 0x1a, 0xc4, 0xc3, 0xb6, 0xa4, 0x01, 0x11, 0x12, 0x07, - 0x51, 0x6a, 0x60, 0x7e, 0x03, 0xa7, 0x7b, 0x38, 0x20, 0x9e, 0x15, 0x4a, 0x2a, 0x93, 0x9d, 0xf1, - 0xe9, 0xa8, 0x09, 0x8b, 0x11, 0x67, 0xdf, 0x11, 0x57, 0x36, 0x8d, 0x0d, 0xe3, 0xc3, 0xba, 0x9d, - 0x8b, 0xe8, 0x0c, 0xd4, 0x3c, 0x16, 0x60, 0x1a, 0x36, 0x2b, 0x5a, 0x91, 0x49, 0x08, 0x41, 0x35, - 0xc4, 0x01, 0x69, 0xce, 0xeb, 0x5d, 0xbd, 0x36, 0x19, 0xac, 0x14, 0x8e, 0xbf, 0x4f, 0x24, 0xf6, - 0xb0, 0xc4, 0x68, 0x03, 0x96, 0x3c, 0x22, 0x5c, 0x4e, 0x23, 0x95, 0x69, 0x16, 0xa0, 0xb8, 0x85, - 0x3e, 0x81, 0x05, 0x21, 0xb1, 0x24, 0x3a, 0xc6, 0xf2, 0xe6, 0x46, 0x6b, 0x9a, 0xb5, 0x56, 0xe1, - 0xd4, 0xbe, 0xb2, 0xb3, 0x53, 0x73, 0xf3, 0x0f, 0x03, 0x96, 0x0a, 0x3a, 0xf4, 0x39, 0x9c, 0xe0, - 0x44, 0xb0, 0x98, 0xbb, 0xc4, 0x91, 0x49, 0x44, 0x74, 0xac, 0xe5, 0xcd, 0xf5, 0xc9, 0x79, 0x8a, - 0xb6, 0x96, 0x9d, 0xd9, 0xec, 0x27, 0x11, 0xb1, 0x8f, 0xf3, 0x82, 0x84, 0x2e, 0x43, 0x85, 0x7a, - 0x1a, 0xc6, 0xd2, 0xe6, 0x7b, 0x2f, 0x81, 0x31, 0xe1, 0xce, 0xae, 0x50, 0x0f, 0xdd, 0x82, 0x63, - 0x41, 0x96, 0xae, 0x66, 0x64, 0x69, 0xf3, 0xdd, 0x97, 0x38, 0xe7, 0xcc, 0xd8, 0x63, 0x27, 0xf3, - 0x67, 0x03, 0xaa, 0x7d, 0xc6, 0x25, 0x6a, 0xc0, 0xfc, 0x01, 0x49, 0x32, 0x92, 0xd4, 0x12, 0x5d, - 0x87, 0xba, 0x47, 0x39, 0x71, 0x35, 0x79, 0x29, 0x41, 0xe7, 0xca, 0x87, 0x2b, 0xd7, 0x56, 0x37, - 0xb7, 0xb2, 0x27, 0x0e, 0xe6, 0x05, 0xa8, 0x8f, 0xf7, 0xd1, 0x32, 0x40, 0xd7, 0xea, 0x6f, 0x5b, - 0xbd, 0xee, 0x4e, 0xef, 0x4e, 0x63, 0x0e, 0x9d, 0x80, 0x7a, 0x67, 0x2c, 0x1a, 0xe6, 0x9f, 0x06, - 0x6c, 0xcc, 0xcc, 0x71, 0x97, 0x0a, 0x69, 0x93, 0xef, 0x63, 0x22, 0xe4, 0x11, 0x4a, 0x65, 0x15, - 0x16, 0x7c, 0x1a, 0x50, 0xa9, 0x99, 0x39, 0x61, 0xa7, 0x82, 0xda, 0x95, 0xec, 0x80, 0x84, 0xcd, - 0xaa, 0x36, 0x4e, 0x05, 0x74, 0x11, 0x16, 0x05, 0xe3, 0xd2, 0x19, 0x24, 0xcd, 0x05, 0xcd, 0xe3, - 0xea, 0xac, 0x54, 0xed, 0x9a, 0x32, 0xda, 0x4a, 0x14, 0x98, 0x21, 0xf5, 0x25, 0xe1, 0xa2, 0x59, - 0x4b, 0xc1, 0x64, 0xa2, 0xf9, 0x53, 0x05, 0xce, 0x14, 0x72, 0x29, 0x66, 0xf0, 0xfa, 0x55, 0x52, - 0xe0, 0xa0, 0xf2, 0x22, 0x0e, 0xe6, 0x67, 0x73, 0x50, 0x9d, 0xc9, 0xc1, 0xc2, 0x0b, 0x38, 0xa8, - 0xbd, 0x1a, 0x07, 0x8b, 0xd3, 0x1c, 0x48, 0x38, 0xfb, 0xc2, 0xeb, 0x44, 0x1d, 0x38, 0xa6, 0x64, - 0x49, 0x89, 0x68, 0x1a, 0x1b, 0xf3, 0xff, 0xbe, 0xde, 0xc7, 0x6e, 0x13, 0xf8, 0x95, 0x02, 0x7c, - 0xf3, 0x5b, 0x38, 0x59, 0x22, 0x1e, 0x7d, 0x7a, 0x28, 0xd6, 0xfa, 0x4b, 0x62, 0xfd, 0x63, 0x84, - 0x5f, 0x8d, 0xa9, 0x39, 0x76, 0x87, 0xbc, 0xc1, 0xab, 0x3d, 0xda, 0x00, 0x30, 0xff, 0x32, 0xa0, - 0x59, 0xd0, 0x3e, 0x8c, 0x3c, 0x35, 0xa6, 0xfe, 0x63, 0x54, 0xaf, 0x3f, 0x96, 0xd6, 0xa7, 0x2a, - 0x28, 0xcf, 0x4a, 0x44, 0x2c, 0x14, 0xc4, 0xbc, 0x01, 0x8d, 0x07, 0x03, 0x55, 0xf5, 0x85, 0x0b, - 0x38, 0xaf, 0x81, 0x1a, 0x3a, 0xd6, 0xd9, 0x52, 0x7e, 0x25, 0xca, 0x7e, 0x37, 0x60, 0x25, 0x4f, - 0xb9, 0xd8, 0x9e, 0x97, 0x0b, 0x47, 0xbc, 0x42, 0xae, 0xe3, 0x0e, 0xab, 0xcc, 0xec, 0xb0, 0xf9, - 0x62, 0x87, 0x15, 0x5a, 0xa6, 0x3a, 0xd5, 0x32, 0xaf, 0x38, 0x7f, 0xcc, 0x9b, 0x70, 0xca, 0x0a, - 0x30, 0xf5, 0x7b, 0x4c, 0x21, 0x71, 0xb1, 0x9e, 0xb2, 0xe7, 0xa1, 0xc1, 0x89, 0x4b, 0x23, 0x4a, - 0x42, 0x29, 0x1c, 0xa2, 0xf4, 0xba, 0xea, 0xeb, 0xf6, 0xc9, 0xc9, 0xbe, 0x76, 0x33, 0xb7, 0xe0, - 0xf4, 0x1e, 0x1e, 0x11, 0xde, 0x8d, 0x65, 0x72, 0xd4, 0x33, 0x6e, 0xc2, 0xa9, 0xbe, 0x8f, 0xdd, - 0x83, 0xa3, 0xfa, 0xff, 0x56, 0x81, 0xe3, 0x53, 0xbe, 0x37, 0xa1, 0x16, 0x3d, 0xc1, 0x22, 0xeb, - 0xd5, 0xe5, 0xcd, 0xf7, 0x4b, 0xf7, 0xf8, 0x25, 0xe3, 0x07, 0x43, 0x9f, 0x3d, 0xb3, 0xc6, 0x8f, - 0x97, 0x3d, 0x65, 0x6e, 0x67, 0x5e, 0xe8, 0x0a, 0x2c, 0xa4, 0x01, 0xd3, 0x7a, 0x7d, 0xa7, 0xcc, - 0xe0, 0x21, 0xc6, 0xee, 0xce, 0xd9, 0xa9, 0x07, 0xba, 0x0d, 0x10, 0x29, 0x3e, 0x1c, 0x2f, 0x96, - 0x49, 0x56, 0xb2, 0x87, 0x6a, 0x60, 0x26, 0x63, 0x77, 0xe7, 0xec, 0x7a, 0x94, 0x2b, 0x14, 0x04, - 0xa1, 0x38, 0xd1, 0xd7, 0x3b, 0x03, 0xc2, 0x21, 0xc2, 0x14, 0x04, 0xed, 0xb1, 0x55, 0x83, 0xaa, - 0xea, 0x51, 0xf3, 0x32, 0x2c, 0x3e, 0xe4, 0xfe, 0x96, 0xcf, 0x06, 0xea, 0x9b, 0x1c, 0x73, 0x3f, - 0xff, 0x26, 0xc7, 0xdc, 0x57, 0x65, 0x35, 0x48, 0x24, 0x11, 0x3a, 0xc5, 0x79, 0x3b, 0x15, 0xae, - 0x56, 0x9a, 0x86, 0xf9, 0x23, 0xd4, 0x76, 0xf1, 0x80, 0xf8, 0x02, 0x5d, 0x85, 0xda, 0x53, 0xec, - 0xc7, 0xe3, 0x91, 0x67, 0x96, 0x41, 0xa4, 0x76, 0xad, 0x47, 0xda, 0xc8, 0x0a, 0x25, 0x4f, 0xec, - 0xcc, 0x63, 0xed, 0x0a, 0x2c, 0x15, 0xb6, 0x67, 0x3c, 0x0a, 0x56, 0x61, 0x41, 0x9b, 0xe6, 0x83, - 0x51, 0x0b, 0x57, 0x2b, 0x9f, 0x19, 0xe6, 0x2f, 0x06, 0x2c, 0x75, 0xc2, 0x90, 0x49, 0x9d, 0x97, - 0x40, 0xb7, 0x4a, 0x30, 0x3e, 0x28, 0xc3, 0x28, 0x18, 0xbf, 0x69, 0x2c, 0xd7, 0xa0, 0x6a, 0x85, - 0x4f, 0x05, 0xba, 0x54, 0xc2, 0x50, 0x9e, 0x7c, 0xf7, 0x48, 0xa2, 0x43, 0xec, 0x61, 0xca, 0xf3, - 0xb8, 0xe6, 0x0f, 0x70, 0xac, 0x13, 0xcb, 0x27, 0x36, 0xf3, 0x09, 0xfa, 0x08, 0x10, 0x16, 0x22, - 0x0e, 0xf0, 0xc0, 0x27, 0x0e, 0xc5, 0x81, 0xc3, 0x99, 0x4f, 0x32, 0x0c, 0x8d, 0xb1, 0x66, 0x07, - 0x07, 0xda, 0xfa, 0x3a, 0xac, 0x1d, 0xc4, 0x03, 0xc2, 0x43, 0x22, 0x89, 0x70, 0x04, 0xe1, 0x4f, - 0xa9, 0x4b, 0x1c, 0xec, 0xba, 0x2c, 0x0e, 0xf3, 0x2f, 0x76, 0x73, 0x62, 0xd1, 0x4f, 0x0d, 0x3a, - 0xa9, 0x5e, 0xdf, 0xe2, 0x3d, 0x58, 0xb1, 0xf1, 0xb3, 0x07, 0xb1, 0x8c, 0x62, 0xd9, 0xc5, 0x12, - 0x6f, 0xb3, 0x70, 0x48, 0x47, 0xe8, 0x63, 0x38, 0xc3, 0xf4, 0x9e, 0xe3, 0xb3, 0xb4, 0x6e, 0x9c, - 0x88, 0x93, 0x21, 0x7d, 0x9e, 0x41, 0x59, 0x4d, 0xb5, 0xbb, 0x99, 0x72, 0x4f, 0xeb, 0xcc, 0x2f, - 0xa0, 0x7e, 0x5b, 0xa5, 0xfb, 0xd0, 0xde, 0x15, 0xea, 0x81, 0x40, 0xc3, 0x28, 0x96, 0x22, 0x73, - 0xc9, 0x24, 0x35, 0x92, 0x52, 0x67, 0x91, 0x3f, 0x29, 0x32, 0x51, 0xbd, 0xb4, 0x3d, 0xe2, 0x1e, - 0xe4, 0x2f, 0x6d, 0xb5, 0xbe, 0xf0, 0x35, 0x34, 0xca, 0x6f, 0x62, 0xf4, 0x3f, 0x58, 0xe9, 0x75, - 0xee, 0x5b, 0x5d, 0xc7, 0xea, 0xed, 0xef, 0xec, 0x3f, 0x76, 0x3a, 0xdb, 0xfb, 0x3b, 0x8f, 0xac, - 0xc6, 0x1c, 0x3a, 0x0b, 0xa7, 0xa7, 0x15, 0xf6, 0xf6, 0xdd, 0x9d, 0x47, 0x56, 0xb7, 0x61, 0xa0, - 0x55, 0x68, 0xf4, 0x1f, 0xf7, 0xf7, 0xad, 0xfb, 0xce, 0x1d, 0xab, 0x67, 0xd9, 0x9d, 0x7d, 0xab, - 0xdb, 0xa8, 0x6c, 0xdd, 0xf8, 0xea, 0xda, 0x88, 0xca, 0x27, 0xf1, 0xa0, 0xe5, 0xb2, 0xa0, 0xad, - 0xaf, 0x8a, 0xf1, 0x51, 0xba, 0x68, 0x8f, 0xff, 0x40, 0x46, 0x24, 0x6c, 0x47, 0x83, 0x8b, 0x23, - 0xd6, 0x9e, 0xfe, 0x01, 0x1a, 0xd4, 0xf4, 0xcf, 0xc6, 0xa5, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, - 0x5a, 0xee, 0x56, 0xed, 0x19, 0x0d, 0x00, 0x00, + // 1207 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x5f, 0x73, 0xdb, 0x44, + 0x10, 0x8f, 0x1c, 0xc7, 0x89, 0x37, 0x6d, 0xea, 0x5e, 0xd2, 0xe2, 0x26, 0x50, 0x82, 0x18, 0xfe, + 0xb4, 0x43, 0xed, 0x99, 0x94, 0x02, 0xfd, 0x8f, 0x13, 0xab, 0x6d, 0xa6, 0xa9, 0x1b, 0xe4, 0xb4, + 0x4c, 0x19, 0x66, 0xc4, 0x59, 0x3a, 0xbb, 0x87, 0x25, 0x9d, 0xb8, 0x3b, 0xb5, 0x35, 0x2f, 0xcc, + 0xf0, 0xc6, 0x1b, 0x33, 0xf0, 0x85, 0x78, 0xe2, 0x0b, 0xf0, 0xc6, 0x97, 0x61, 0xee, 0x24, 0xd9, + 0xb2, 0xe2, 0x16, 0x92, 0x76, 0x86, 0xb7, 0xdb, 0xdb, 0xdd, 0xdb, 0xdf, 0xfe, 0x6e, 0x77, 0x75, + 0x82, 0x8d, 0xbe, 0x3f, 0x92, 0x84, 0x7a, 0x7e, 0x13, 0x7b, 0x01, 0x0d, 0x9b, 0x2e, 0x0b, 0x02, + 0x16, 0x36, 0x22, 0xce, 0x24, 0x43, 0x2b, 0x99, 0xb2, 0xa1, 0x95, 0xeb, 0xef, 0x8c, 0x8d, 0x5d, + 0xc6, 0x49, 0x93, 0xbc, 0x20, 0x6e, 0x2c, 0x69, 0x66, 0xbe, 0x7e, 0x7e, 0x5a, 0x4d, 0x3d, 0x12, + 0x4a, 0xda, 0xa7, 0x84, 0xa7, 0xfa, 0xb7, 0xa7, 0xf5, 0x3e, 0x95, 0x84, 0x63, 0x5f, 0xa4, 0xda, + 0x77, 0x07, 0x8c, 0x0d, 0x7c, 0xd2, 0xd4, 0x52, 0x2f, 0xee, 0x37, 0x25, 0x0d, 0x88, 0x90, 0x38, + 0x88, 0x12, 0x03, 0x93, 0xc1, 0x99, 0x0e, 0x0e, 0x88, 0x67, 0x85, 0x92, 0xca, 0xd1, 0xee, 0xf8, + 0x74, 0x54, 0x87, 0xc5, 0x88, 0xb3, 0xef, 0x89, 0x2b, 0xeb, 0xc6, 0xa6, 0xf1, 0x71, 0xd5, 0xce, + 0x44, 0x74, 0x16, 0x2a, 0x1e, 0x0b, 0x30, 0x0d, 0xeb, 0x25, 0xad, 0x48, 0x25, 0x84, 0xa0, 0x1c, + 0xe2, 0x80, 0xd4, 0xe7, 0xf5, 0xae, 0x5e, 0xa3, 0x1a, 0xcc, 0x33, 0x3e, 0xa8, 0x97, 0xf5, 0x96, + 0x5a, 0x9a, 0x0c, 0x56, 0x73, 0x01, 0x1f, 0x10, 0x89, 0x3d, 0x2c, 0x31, 0xda, 0x84, 0x65, 0x8f, + 0x08, 0x97, 0xd3, 0x48, 0xe5, 0x9e, 0x86, 0xcc, 0x6f, 0xa1, 0xcf, 0x60, 0x41, 0x48, 0x2c, 0x89, + 0x8e, 0xba, 0xb2, 0xb5, 0xd9, 0x98, 0xe6, 0xb1, 0x91, 0x3b, 0xb5, 0xab, 0xec, 0xec, 0xc4, 0xdc, + 0xfc, 0xd3, 0x80, 0xe5, 0x9c, 0x0e, 0x7d, 0x09, 0x27, 0x39, 0x11, 0x2c, 0xe6, 0x2e, 0x71, 0xe4, + 0x28, 0x22, 0x3a, 0xd6, 0xca, 0xd6, 0xc6, 0xe4, 0x3c, 0x45, 0x64, 0xc3, 0x4e, 0x6d, 0x0e, 0x46, + 0x11, 0xb1, 0x4f, 0xf0, 0x9c, 0x84, 0xae, 0x40, 0x89, 0x7a, 0x1a, 0xc6, 0xf2, 0xd6, 0x07, 0xaf, + 0x80, 0x31, 0x61, 0xd3, 0x2e, 0x51, 0x0f, 0xdd, 0x86, 0xa5, 0x20, 0x4d, 0x57, 0x73, 0xb4, 0xbc, + 0xf5, 0xfe, 0x2b, 0x9c, 0x33, 0x66, 0xec, 0xb1, 0x93, 0xf9, 0xb3, 0x01, 0xe5, 0x2e, 0xe3, 0x52, + 0xb1, 0x3a, 0x24, 0xa3, 0x94, 0x24, 0xb5, 0x44, 0x37, 0xa0, 0xea, 0x51, 0x4e, 0x5c, 0x4d, 0x5e, + 0x42, 0xd0, 0xf9, 0xe2, 0xe1, 0xca, 0xb5, 0xd1, 0xce, 0xac, 0xec, 0x89, 0x83, 0x79, 0x11, 0xaa, + 0xe3, 0x7d, 0xb4, 0x02, 0xd0, 0xb6, 0xba, 0x3b, 0x56, 0xa7, 0xbd, 0xdb, 0xb9, 0x5b, 0x9b, 0x43, + 0x27, 0xa1, 0xda, 0x1a, 0x8b, 0x86, 0xf9, 0xb7, 0x01, 0x9b, 0x33, 0x73, 0xdc, 0xa3, 0x42, 0xda, + 0xe4, 0x87, 0x98, 0x08, 0x79, 0x8c, 0xe2, 0x59, 0x83, 0x05, 0x9f, 0x06, 0x54, 0x6a, 0x66, 0x4e, + 0xda, 0x89, 0xa0, 0x76, 0x25, 0x1b, 0x92, 0x30, 0x2d, 0xa0, 0x44, 0x40, 0x97, 0x60, 0x51, 0x30, + 0x2e, 0x9d, 0xde, 0xa8, 0xbe, 0xa0, 0x79, 0x5c, 0x9b, 0x95, 0xaa, 0x5d, 0x51, 0x46, 0xdb, 0x23, + 0x05, 0xa6, 0x4f, 0x7d, 0x49, 0xb8, 0xa8, 0x57, 0x12, 0x30, 0xa9, 0x98, 0x55, 0xe7, 0xe2, 0xa4, + 0x3a, 0x7f, 0x2b, 0xc1, 0xd9, 0x5c, 0x76, 0xf9, 0x9c, 0x5e, 0xbf, 0x6e, 0x72, 0xac, 0x94, 0x5e, + 0xc6, 0xca, 0xfc, 0x6c, 0x56, 0xca, 0x33, 0x59, 0x59, 0x78, 0x09, 0x2b, 0x95, 0xa3, 0xb1, 0xb2, + 0x38, 0x93, 0x95, 0xa5, 0x09, 0x2b, 0x12, 0xce, 0xbd, 0xf4, 0xca, 0x51, 0x0b, 0x96, 0x94, 0x2c, + 0x29, 0x11, 0x75, 0x63, 0x73, 0xfe, 0xbf, 0xf7, 0xc4, 0xd8, 0x6d, 0x92, 0x50, 0x29, 0x97, 0x90, + 0xf9, 0x1d, 0x9c, 0x2a, 0x5c, 0x05, 0xfa, 0xfc, 0x50, 0xac, 0x8d, 0x57, 0xc4, 0xfa, 0xd7, 0x08, + 0xbf, 0x1a, 0x53, 0xd3, 0xef, 0x2e, 0x79, 0x83, 0x97, 0x7d, 0xbc, 0x21, 0x61, 0xfe, 0x65, 0x40, + 0x3d, 0xa7, 0x7d, 0x14, 0x79, 0x6a, 0x94, 0xfd, 0xcf, 0xa8, 0x5e, 0x7f, 0x74, 0x6d, 0x4c, 0x55, + 0x50, 0x96, 0x95, 0x88, 0x58, 0x28, 0x88, 0x79, 0x13, 0x6a, 0x0f, 0x7b, 0xaa, 0x0f, 0x72, 0x17, + 0x70, 0x41, 0x03, 0x35, 0x74, 0xac, 0x73, 0x85, 0xfc, 0x0a, 0x94, 0xfd, 0x61, 0xc0, 0x6a, 0x96, + 0x72, 0xbe, 0x61, 0xaf, 0xe4, 0x8e, 0x38, 0x42, 0xae, 0xe3, 0x9e, 0x2b, 0xcd, 0xec, 0xb9, 0xf9, + 0x7c, 0xcf, 0xe5, 0x9a, 0xa8, 0x3c, 0xdd, 0x44, 0x47, 0x9b, 0x51, 0xe6, 0x2d, 0x38, 0x6d, 0x05, + 0x98, 0xfa, 0x1d, 0xa6, 0x90, 0xb8, 0x58, 0x4f, 0xe2, 0x0b, 0x50, 0xe3, 0xc4, 0xa5, 0x11, 0x25, + 0xa1, 0x14, 0x0e, 0x51, 0x7a, 0x5d, 0xf5, 0x55, 0xfb, 0xd4, 0x64, 0x5f, 0xbb, 0x99, 0xdb, 0x70, + 0x66, 0x1f, 0x0f, 0x08, 0x6f, 0xc7, 0x72, 0x74, 0xdc, 0x33, 0x6e, 0xc1, 0xe9, 0xae, 0x8f, 0xdd, + 0xe1, 0x71, 0xfd, 0x7f, 0x2f, 0xc1, 0x89, 0x29, 0xdf, 0x5b, 0x50, 0x89, 0x9e, 0x62, 0x91, 0xf6, + 0xea, 0xca, 0xd6, 0x87, 0x85, 0x7b, 0xfc, 0x9a, 0xf1, 0x61, 0xdf, 0x67, 0xcf, 0xad, 0xf1, 0x93, + 0x67, 0x5f, 0x99, 0xdb, 0xa9, 0x17, 0xba, 0x0a, 0x0b, 0x49, 0xc0, 0xa4, 0x5e, 0xdf, 0x2b, 0x32, + 0x78, 0x88, 0xb1, 0x7b, 0x73, 0x76, 0xe2, 0x81, 0xee, 0x00, 0x44, 0x8a, 0x0f, 0xc7, 0x8b, 0xe5, + 0x28, 0x2d, 0xd9, 0x43, 0x35, 0x30, 0x93, 0xb1, 0x7b, 0x73, 0x76, 0x35, 0xca, 0x14, 0x0a, 0x82, + 0x50, 0x9c, 0xe8, 0xeb, 0x9d, 0x01, 0xe1, 0x10, 0x61, 0x0a, 0x82, 0xf6, 0xd8, 0xae, 0x40, 0x59, + 0xf5, 0xa8, 0x79, 0x05, 0x16, 0x1f, 0x71, 0x7f, 0xdb, 0x67, 0x3d, 0x35, 0x59, 0x63, 0xee, 0x67, + 0xdf, 0xed, 0x98, 0xfb, 0xaa, 0xac, 0x7a, 0x23, 0x49, 0x84, 0x4e, 0x71, 0xde, 0x4e, 0x84, 0x6b, + 0xa5, 0xba, 0x61, 0xfe, 0x04, 0x95, 0x3d, 0xdc, 0x23, 0xbe, 0x40, 0xd7, 0xa0, 0xf2, 0x0c, 0xfb, + 0xf1, 0x78, 0xe4, 0x99, 0x45, 0x10, 0x89, 0x5d, 0xe3, 0xb1, 0x36, 0xb2, 0x42, 0xc9, 0x47, 0x76, + 0xea, 0xb1, 0x7e, 0x15, 0x96, 0x73, 0xdb, 0x33, 0x1e, 0x0e, 0x6b, 0xb0, 0xa0, 0x4d, 0xb3, 0xc1, + 0xa8, 0x85, 0x6b, 0xa5, 0x2f, 0x0c, 0xf3, 0x17, 0x03, 0x96, 0x5b, 0x61, 0xc8, 0xa4, 0xce, 0x4b, + 0xa0, 0xdb, 0x05, 0x18, 0x1f, 0x15, 0x61, 0xe4, 0x8c, 0xdf, 0x34, 0x96, 0xeb, 0x50, 0xb6, 0xc2, + 0x67, 0x02, 0x5d, 0x2e, 0x60, 0x28, 0x4e, 0xbe, 0xfb, 0x64, 0xa4, 0x43, 0xec, 0x63, 0xca, 0xb3, + 0xb8, 0xe6, 0x8f, 0xb0, 0xd4, 0x8a, 0xe5, 0x53, 0x9b, 0xf9, 0x04, 0x7d, 0x02, 0x08, 0x0b, 0x11, + 0x07, 0xb8, 0xe7, 0x13, 0x87, 0xe2, 0xc0, 0xe1, 0xcc, 0x27, 0x29, 0x86, 0xda, 0x58, 0xb3, 0x8b, + 0x03, 0x6d, 0x7d, 0x03, 0xd6, 0x87, 0x71, 0x8f, 0xf0, 0x90, 0x48, 0x22, 0x1c, 0x41, 0xf8, 0x33, + 0xea, 0x12, 0x07, 0xbb, 0x2e, 0x8b, 0xc3, 0xec, 0x1b, 0x5e, 0x9f, 0x58, 0x74, 0x13, 0x83, 0x56, + 0xa2, 0xd7, 0xb7, 0x78, 0x1f, 0x56, 0x6d, 0xfc, 0xfc, 0x61, 0x2c, 0xa3, 0x58, 0xb6, 0xb1, 0xc4, + 0x3b, 0x2c, 0xec, 0xd3, 0x01, 0xfa, 0x14, 0xce, 0x32, 0xbd, 0xe7, 0xf8, 0x2c, 0xa9, 0x1b, 0x27, + 0xe2, 0xa4, 0x4f, 0x5f, 0xa4, 0x50, 0xd6, 0x12, 0xed, 0x5e, 0xaa, 0xdc, 0xd7, 0x3a, 0xf3, 0x2b, + 0xa8, 0xde, 0x51, 0xe9, 0x3e, 0xb2, 0xf7, 0x84, 0x7a, 0x32, 0xd0, 0x30, 0x8a, 0xa5, 0x48, 0x5d, + 0x52, 0x49, 0x8d, 0xa4, 0xc4, 0x59, 0x64, 0x8f, 0x8c, 0x54, 0x54, 0xef, 0x73, 0x8f, 0xb8, 0xc3, + 0xec, 0x7d, 0xae, 0xd6, 0x17, 0xbf, 0x85, 0x5a, 0xf1, 0xdd, 0x8c, 0xde, 0x82, 0xd5, 0x4e, 0xeb, + 0x81, 0xd5, 0x76, 0xac, 0xce, 0xc1, 0xee, 0xc1, 0x13, 0xa7, 0xb5, 0x73, 0xb0, 0xfb, 0xd8, 0xaa, + 0xcd, 0xa1, 0x73, 0x70, 0x66, 0x5a, 0x61, 0xef, 0xdc, 0xdb, 0x7d, 0x6c, 0xb5, 0x6b, 0x06, 0x5a, + 0x83, 0x5a, 0xf7, 0x49, 0xf7, 0xc0, 0x7a, 0xe0, 0xdc, 0xb5, 0x3a, 0x96, 0xdd, 0x3a, 0xb0, 0xda, + 0xb5, 0xd2, 0xf6, 0xcd, 0x6f, 0xae, 0x0f, 0xa8, 0x7c, 0x1a, 0xf7, 0x1a, 0x2e, 0x0b, 0x9a, 0xfa, + 0xaa, 0x18, 0x1f, 0x24, 0x8b, 0xe6, 0xf8, 0xbf, 0x65, 0x40, 0xc2, 0x66, 0xd4, 0xbb, 0x34, 0x60, + 0xcd, 0xe9, 0xdf, 0xa6, 0x5e, 0x45, 0xff, 0xa2, 0x5c, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0xa8, + 0x9c, 0xe3, 0x6a, 0x4f, 0x0d, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go index 9a95010255..325e32c7da 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go @@ -117,10 +117,12 @@ type ExecutionCreateRequest struct { // +optional // Deprecated: Please use input_data instead. Inputs *core.LiteralMap `protobuf:"bytes,5,opt,name=inputs,proto3" json:"inputs,omitempty"` // Deprecated: Do not use. + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,6,opt,name=org,proto3" json:"org,omitempty"` // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - InputData *core.InputData `protobuf:"bytes,6,opt,name=input_data,json=inputData,proto3" json:"input_data,omitempty"` + InputData *core.InputData `protobuf:"bytes,7,opt,name=input_data,json=inputData,proto3" json:"input_data,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -187,6 +189,13 @@ func (m *ExecutionCreateRequest) GetInputs() *core.LiteralMap { return nil } +func (m *ExecutionCreateRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + func (m *ExecutionCreateRequest) GetInputData() *core.InputData { if m != nil { return m.InputData @@ -1789,125 +1798,126 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/execution.proto", fileDescriptor_4e2785d91b3809ec) } var fileDescriptor_4e2785d91b3809ec = []byte{ - // 1917 bytes of a gzipped FileDescriptorProto + // 1930 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0xdb, 0xc6, - 0x15, 0x16, 0x6f, 0x12, 0x75, 0x28, 0x51, 0xf4, 0x4a, 0x51, 0x60, 0xd9, 0xb1, 0x15, 0x64, 0x5a, + 0x15, 0x16, 0x6f, 0x12, 0x75, 0x68, 0x51, 0xf4, 0xda, 0x51, 0x60, 0xd9, 0xb1, 0x15, 0x64, 0x5a, 0x7b, 0x92, 0x29, 0x39, 0x75, 0xea, 0xc9, 0xc4, 0x89, 0x3d, 0xa6, 0x28, 0x3a, 0x64, 0xaa, 0x8b, - 0xbb, 0xba, 0x38, 0x97, 0xc9, 0xa0, 0x2b, 0x60, 0x49, 0xa1, 0xc1, 0xcd, 0xbb, 0x0b, 0xc9, 0x7e, - 0xec, 0x43, 0x5f, 0xfa, 0xd4, 0xd7, 0xfe, 0x83, 0x3e, 0xf5, 0xb1, 0xbf, 0xa5, 0x3f, 0xa5, 0x8f, - 0x1d, 0x2c, 0x16, 0x20, 0x00, 0x52, 0xb7, 0xb1, 0xde, 0xb0, 0x7b, 0xbe, 0x73, 0xf6, 0xe0, 0xec, - 0xb9, 0x2e, 0x3c, 0x18, 0x39, 0xef, 0x05, 0xb5, 0x2d, 0xa7, 0x43, 0x2c, 0xd7, 0xf6, 0x3a, 0xf4, - 0x1d, 0x35, 0x43, 0x61, 0xfb, 0x5e, 0x3b, 0x60, 0xbe, 0xf0, 0x51, 0x33, 0xa1, 0xb7, 0x25, 0x7d, - 0xe3, 0x51, 0x01, 0x6f, 0x3a, 0x21, 0x17, 0x94, 0x19, 0x84, 0x73, 0x7b, 0xec, 0xb9, 0xd4, 0x13, - 0x31, 0xe3, 0xc6, 0xbd, 0x22, 0xd0, 0x77, 0xdd, 0x44, 0xea, 0xc6, 0xfd, 0x94, 0x68, 0xfa, 0x8c, - 0x76, 0x1c, 0x5b, 0x50, 0x46, 0x1c, 0xae, 0xa8, 0x9f, 0xe4, 0xa9, 0x05, 0x95, 0x36, 0x1e, 0xe6, - 0xc9, 0x84, 0x09, 0x7b, 0x44, 0x4c, 0x61, 0xd8, 0x96, 0x02, 0x3c, 0xc8, 0x03, 0x6c, 0x8b, 0x7a, - 0xc2, 0x1e, 0xd9, 0x94, 0x4d, 0xa9, 0x26, 0xe9, 0x2e, 0x15, 0xcc, 0x36, 0xf9, 0x6c, 0xd5, 0x38, - 0x35, 0x43, 0x66, 0x8b, 0xf7, 0x89, 0xe8, 0xb1, 0xef, 0x8f, 0x1d, 0xda, 0x91, 0xab, 0x93, 0x70, - 0xd4, 0xb1, 0x42, 0x46, 0xb2, 0xba, 0x15, 0xe9, 0xc2, 0x76, 0x29, 0x17, 0xc4, 0x0d, 0x2e, 0x12, - 0x70, 0xce, 0x48, 0x10, 0x50, 0xa6, 0x8e, 0xd7, 0xff, 0x5a, 0x86, 0xf5, 0x7e, 0xf2, 0xc3, 0x3d, - 0x46, 0x89, 0xa0, 0x98, 0xbe, 0x0d, 0x29, 0x17, 0x48, 0x83, 0x85, 0x80, 0xf9, 0x7f, 0xa1, 0xa6, - 0xd0, 0x4a, 0x9b, 0xa5, 0xc7, 0x8b, 0x38, 0x59, 0xa2, 0x75, 0x98, 0xb7, 0x7c, 0x97, 0xd8, 0x9e, - 0x56, 0x96, 0x04, 0xb5, 0x42, 0x08, 0xaa, 0x1e, 0x71, 0xa9, 0x56, 0x91, 0xbb, 0xf2, 0x1b, 0xfd, - 0x1e, 0xaa, 0x3c, 0xa0, 0xa6, 0x56, 0xdd, 0x2c, 0x3d, 0x6e, 0x3c, 0xf9, 0xa4, 0x9d, 0xbf, 0xdf, - 0x76, 0x7a, 0xf6, 0x41, 0x40, 0x4d, 0x2c, 0xa1, 0xe8, 0x29, 0xcc, 0xdb, 0x5e, 0x10, 0x0a, 0xae, - 0xd5, 0x24, 0xd3, 0xdd, 0x09, 0x53, 0x64, 0xa3, 0xf6, 0x4e, 0x7c, 0x7d, 0xbb, 0x24, 0xd8, 0x2a, - 0x6b, 0x25, 0xac, 0xc0, 0xe8, 0x2b, 0x00, 0xf9, 0x65, 0x58, 0x44, 0x10, 0x6d, 0x5e, 0xb2, 0x6a, - 0x05, 0xd6, 0x61, 0x04, 0xd8, 0x26, 0x82, 0xe0, 0x45, 0x3b, 0xf9, 0xd4, 0xff, 0x59, 0x02, 0x2d, - 0xd5, 0x03, 0x53, 0x87, 0x84, 0x9e, 0x79, 0x9a, 0x58, 0xe1, 0x19, 0x94, 0x6d, 0x4b, 0x1a, 0xa0, - 0xf1, 0xe4, 0xf3, 0x82, 0xb4, 0x37, 0x3e, 0xfb, 0x75, 0xe4, 0xf8, 0xe7, 0x29, 0xf3, 0x30, 0xbd, - 0x7a, 0x5c, 0xb6, 0xad, 0x99, 0xf6, 0x78, 0x04, 0x2b, 0xfe, 0x19, 0x65, 0xe7, 0xcc, 0x16, 0xd4, - 0x30, 0x89, 0x79, 0x4a, 0xa5, 0x69, 0xea, 0xb8, 0x99, 0x6e, 0xf7, 0xa2, 0xdd, 0xef, 0xab, 0xf5, - 0x72, 0xab, 0xa2, 0xff, 0xab, 0x04, 0x1f, 0x67, 0x74, 0x33, 0x23, 0xd0, 0x6d, 0xaa, 0x56, 0xce, - 0xa8, 0xf6, 0x1c, 0xea, 0x2e, 0x15, 0x44, 0x9a, 0xaf, 0x22, 0xa5, 0x7e, 0x7a, 0xe1, 0x75, 0xed, - 0x2a, 0x20, 0x4e, 0x59, 0xf4, 0xa3, 0x8c, 0xa6, 0x89, 0x27, 0xf1, 0xc0, 0xf7, 0x38, 0xfd, 0x10, - 0x4d, 0xf5, 0x1f, 0xe1, 0xde, 0x14, 0xe4, 0x3b, 0x2a, 0x6e, 0xc1, 0x08, 0xfa, 0x7f, 0x4a, 0xb0, - 0x98, 0xd2, 0x3e, 0xc8, 0x9c, 0x89, 0x97, 0x97, 0xaf, 0xef, 0xe5, 0xcf, 0x60, 0xc1, 0x74, 0x7c, - 0x1e, 0x32, 0xaa, 0x8c, 0xbd, 0x79, 0x21, 0x57, 0x2f, 0xc6, 0xe1, 0x84, 0x41, 0xff, 0x33, 0x2c, - 0xa7, 0xc4, 0x1d, 0x9b, 0x0b, 0xf4, 0x35, 0x40, 0x9a, 0xb6, 0xb8, 0x56, 0xda, 0xac, 0xe4, 0xc3, - 0xa6, 0x20, 0x0f, 0x67, 0xc0, 0x68, 0x0d, 0x6a, 0xc2, 0xff, 0x95, 0x26, 0xb1, 0x1c, 0x2f, 0x74, - 0x0a, 0xcd, 0x4c, 0x98, 0x39, 0xfe, 0x09, 0xfa, 0x0a, 0xe6, 0xcf, 0x88, 0x13, 0x52, 0xae, 0x4c, - 0x74, 0x79, 0x54, 0x0e, 0xe6, 0xb0, 0x82, 0x23, 0x04, 0x95, 0x90, 0xd9, 0xb1, 0xf8, 0xc1, 0x1c, - 0x8e, 0x16, 0x5b, 0xf3, 0x50, 0x95, 0x3e, 0xd3, 0x83, 0xe5, 0xee, 0x89, 0xcf, 0x44, 0xe2, 0x4e, - 0x91, 0x36, 0x26, 0x09, 0x39, 0x55, 0x29, 0x27, 0x5e, 0xa0, 0xfb, 0xb0, 0x18, 0x30, 0xdb, 0x33, - 0xed, 0x80, 0x38, 0x4a, 0xcf, 0xc9, 0x86, 0xfe, 0xdf, 0x05, 0x68, 0x15, 0x6d, 0x85, 0x5e, 0xc0, - 0x82, 0x1f, 0x0a, 0x99, 0x45, 0x62, 0x7d, 0x1f, 0x14, 0xcd, 0x91, 0xff, 0x3f, 0xa5, 0x74, 0xc2, - 0x84, 0x9e, 0x42, 0x8d, 0x32, 0xe6, 0xb3, 0xe9, 0x2b, 0x95, 0x7f, 0x9b, 0x9e, 0xd7, 0x8f, 0x40, - 0x83, 0x39, 0x1c, 0xa3, 0xd1, 0x6f, 0xa0, 0x41, 0xa2, 0x1f, 0x32, 0xe2, 0xbf, 0x80, 0x48, 0x57, - 0x25, 0x1a, 0x24, 0xa1, 0x27, 0x7f, 0xe8, 0x15, 0x34, 0x63, 0x58, 0x1a, 0x70, 0x4b, 0xb3, 0x3d, - 0x27, 0x67, 0x9d, 0xc1, 0x1c, 0x5e, 0x26, 0x39, 0x73, 0xbd, 0x84, 0x46, 0xac, 0x70, 0x9c, 0xf4, - 0x96, 0xaf, 0x77, 0x33, 0x10, 0xf3, 0x44, 0xc9, 0x0f, 0xbd, 0x80, 0xa5, 0x51, 0xe8, 0x38, 0x46, - 0x62, 0xac, 0x95, 0x99, 0x22, 0xf6, 0x53, 0x86, 0xc1, 0x1c, 0x6e, 0x44, 0x0c, 0xfb, 0xca, 0x4e, - 0xaf, 0x60, 0xc5, 0xf4, 0xdd, 0x20, 0x14, 0xd4, 0x32, 0x54, 0xd6, 0xae, 0x5c, 0x27, 0x6b, 0x37, - 0x13, 0xae, 0x61, 0x9c, 0xbd, 0xbf, 0x85, 0x5a, 0x70, 0x4a, 0x78, 0x9c, 0x0d, 0x9b, 0x4f, 0x7e, - 0x7b, 0x55, 0x00, 0xb6, 0x5f, 0x47, 0x68, 0x1c, 0x33, 0x45, 0xfe, 0xcf, 0x05, 0x61, 0x91, 0x12, - 0x44, 0xa8, 0xb2, 0xb1, 0xd1, 0x8e, 0x6b, 0x5f, 0x3b, 0xa9, 0x7d, 0xed, 0xc3, 0xa4, 0x38, 0xe2, - 0x45, 0x85, 0xee, 0x0a, 0xf4, 0x14, 0xea, 0x49, 0x51, 0x55, 0x45, 0xe3, 0xee, 0x14, 0xe3, 0xb6, - 0x02, 0xe0, 0x14, 0x1a, 0x9d, 0x68, 0xca, 0x24, 0x27, 0x4f, 0x5c, 0xb8, 0xfa, 0x44, 0x85, 0xee, - 0xca, 0x60, 0x0d, 0x03, 0x2b, 0x61, 0xad, 0x5f, 0xcd, 0xaa, 0xd0, 0x5d, 0x81, 0xb6, 0x60, 0xd9, - 0xf3, 0xa3, 0xbc, 0x63, 0x92, 0x38, 0xd4, 0x17, 0x65, 0xa8, 0xdf, 0x2f, 0xba, 0xcd, 0x5e, 0x06, - 0x84, 0xf3, 0x2c, 0xe8, 0x19, 0x34, 0xce, 0x95, 0x35, 0x0d, 0xdb, 0xd2, 0x1a, 0x33, 0x6f, 0x2b, - 0x93, 0xdf, 0x20, 0x41, 0x0f, 0x2d, 0xf4, 0x0b, 0xac, 0x71, 0x41, 0xa2, 0xca, 0x75, 0x4a, 0xbc, - 0x31, 0x35, 0x2c, 0x2a, 0x88, 0xed, 0x70, 0xad, 0x29, 0x85, 0x7c, 0x71, 0x71, 0xde, 0x8b, 0x98, - 0x7a, 0x92, 0x67, 0x3b, 0x66, 0xc1, 0x88, 0x4f, 0xed, 0x6d, 0xad, 0xc0, 0xb2, 0x72, 0x67, 0x46, - 0x79, 0xe8, 0x08, 0xfd, 0x67, 0x68, 0x1e, 0xbc, 0xe7, 0x82, 0xba, 0xa9, 0xc7, 0x7f, 0x01, 0x77, - 0xd2, 0xe4, 0x65, 0xa8, 0x6e, 0x50, 0x25, 0x8b, 0x16, 0x9d, 0x24, 0x01, 0xb9, 0x1f, 0xe5, 0x8d, - 0xa8, 0xb2, 0xf1, 0x80, 0x98, 0x49, 0xa9, 0x9b, 0x6c, 0xe8, 0xff, 0xab, 0xc2, 0x9d, 0xa9, 0x82, - 0x86, 0x7a, 0x50, 0x75, 0x7d, 0x2b, 0x4e, 0x40, 0xcd, 0x27, 0x9d, 0x2b, 0x2b, 0x60, 0x66, 0xc7, - 0xb7, 0x28, 0x96, 0xcc, 0x97, 0x27, 0xac, 0xa8, 0xb3, 0xf2, 0x28, 0x17, 0xb6, 0x37, 0x96, 0xb1, - 0xb2, 0x8c, 0x93, 0x25, 0x7a, 0x0e, 0x4b, 0xdc, 0x3c, 0xa5, 0x56, 0xe8, 0xc4, 0xce, 0x51, 0xbd, - 0xd2, 0x39, 0x1a, 0x29, 0xbe, 0x2b, 0xd0, 0x4f, 0xf0, 0x51, 0x40, 0x18, 0xf5, 0x84, 0xe1, 0xf9, - 0x16, 0x35, 0x52, 0x7b, 0xa8, 0x88, 0x28, 0x06, 0xd5, 0x9e, 0x6f, 0xd1, 0x59, 0x15, 0x6d, 0x35, - 0x16, 0x92, 0x23, 0xa3, 0x9f, 0x61, 0x95, 0xd1, 0x11, 0x65, 0xd4, 0x33, 0xb3, 0x92, 0x5b, 0x37, - 0xae, 0x97, 0x28, 0x15, 0x33, 0x11, 0xfe, 0x1d, 0xac, 0x70, 0x79, 0xcf, 0x93, 0x84, 0x78, 0x67, - 0x76, 0xd6, 0xce, 0xbb, 0x03, 0x6e, 0xf2, 0xbc, 0x7b, 0x7c, 0x0b, 0x4b, 0x99, 0x06, 0x9d, 0x6b, - 0xa8, 0x58, 0x0a, 0xa5, 0x7a, 0x5d, 0x05, 0x19, 0x6e, 0xe3, 0x46, 0x02, 0x1f, 0x5a, 0x5c, 0x1f, - 0x67, 0xea, 0x6a, 0x74, 0x9b, 0x08, 0x60, 0x7e, 0xb7, 0xbb, 0x77, 0xd4, 0xdd, 0x69, 0xcd, 0xa1, - 0x65, 0x58, 0x3c, 0xe8, 0x0d, 0xfa, 0xdb, 0x47, 0x3b, 0xfd, 0xed, 0x56, 0x29, 0x22, 0x1d, 0xfc, - 0x78, 0x70, 0xd8, 0xdf, 0x6d, 0x95, 0xd1, 0x12, 0xd4, 0x71, 0x7f, 0xa7, 0x7b, 0xb4, 0xd7, 0x1b, - 0xb4, 0x2a, 0x08, 0x41, 0xb3, 0x37, 0x18, 0xee, 0x6c, 0x1b, 0x6f, 0xf6, 0xf1, 0x1f, 0x5f, 0xed, - 0xec, 0xbf, 0x69, 0x55, 0x23, 0x66, 0xdc, 0xef, 0xed, 0x1f, 0xf7, 0x71, 0x7f, 0xbb, 0x55, 0xd3, - 0x8f, 0xa1, 0x95, 0x0d, 0x51, 0x59, 0xc3, 0xa7, 0x62, 0xbb, 0x74, 0xe3, 0xd8, 0xd6, 0xff, 0x51, - 0xcf, 0xfc, 0xc1, 0x41, 0xdc, 0x66, 0x34, 0xe2, 0x86, 0xd6, 0x08, 0x1c, 0xe2, 0x5d, 0x50, 0xbb, - 0xb3, 0xd1, 0x1e, 0xa3, 0x5f, 0x3b, 0xc4, 0xcb, 0x34, 0xe2, 0xe5, 0x9b, 0x34, 0xe2, 0x1f, 0xd6, - 0x47, 0xa2, 0x41, 0xd1, 0x0e, 0xb5, 0xd9, 0xed, 0x51, 0xd1, 0x80, 0x51, 0x75, 0xcc, 0x67, 0xba, - 0x4f, 0xa1, 0x61, 0xd9, 0x9c, 0x9c, 0x38, 0xd4, 0x20, 0x8e, 0x23, 0xb3, 0x7b, 0x3d, 0x2a, 0x7f, - 0x6a, 0xb3, 0xeb, 0x38, 0xa8, 0x0d, 0xf3, 0x0e, 0x39, 0xa1, 0x0e, 0x57, 0x29, 0x7c, 0x7d, 0xaa, - 0x4b, 0x90, 0x54, 0xac, 0x50, 0xe8, 0x39, 0x34, 0x88, 0xe7, 0xf9, 0x42, 0xa9, 0x16, 0x27, 0xef, - 0x7b, 0x53, 0x55, 0x7b, 0x02, 0xc1, 0x59, 0x3c, 0x1a, 0x42, 0x2b, 0x99, 0xf0, 0x0c, 0xd3, 0xf7, - 0x04, 0x7d, 0x27, 0x64, 0x8f, 0x90, 0x73, 0x74, 0x69, 0xdb, 0x03, 0x05, 0xeb, 0xc5, 0x28, 0xbc, - 0xc2, 0xf3, 0x1b, 0xe8, 0x6b, 0x58, 0x24, 0xa1, 0x38, 0x35, 0x98, 0xef, 0x50, 0x15, 0x85, 0xda, - 0x94, 0x1e, 0xa1, 0x38, 0xc5, 0xbe, 0x43, 0xe5, 0xf5, 0xd4, 0x89, 0x5a, 0xa1, 0x5d, 0x40, 0x6f, - 0x43, 0xe2, 0x44, 0x4a, 0xf8, 0x23, 0x83, 0x53, 0x76, 0x66, 0x9b, 0x54, 0x05, 0xdc, 0xc3, 0x82, - 0x1e, 0x7f, 0x8a, 0x81, 0xfb, 0xa3, 0x83, 0x18, 0x86, 0x5b, 0x6f, 0x0b, 0x3b, 0xd1, 0x48, 0xe3, - 0x92, 0x77, 0x46, 0x40, 0x18, 0x71, 0x1c, 0xea, 0xd8, 0xdc, 0xd5, 0xd0, 0x66, 0xe9, 0x71, 0x0d, - 0x37, 0x5d, 0xf2, 0xee, 0xf5, 0x64, 0x17, 0xfd, 0x00, 0xeb, 0x8c, 0x9c, 0x1b, 0x99, 0x8e, 0x25, - 0x32, 0xc2, 0xc8, 0x1e, 0x6b, 0xab, 0xf2, 0xec, 0xcf, 0x8a, 0xfa, 0x63, 0x72, 0x3e, 0xe9, 0x3c, - 0x7a, 0x12, 0x8a, 0x57, 0xd9, 0xf4, 0x26, 0x7a, 0x0d, 0x68, 0xfa, 0x65, 0x40, 0x5b, 0x9b, 0xed, - 0x7c, 0xaa, 0x3a, 0x74, 0x53, 0x20, 0xbe, 0x63, 0x16, 0xb7, 0xd0, 0x4b, 0x58, 0xb6, 0x3d, 0x41, - 0x19, 0x0b, 0x03, 0x61, 0x9f, 0x38, 0x54, 0xfb, 0xe8, 0x82, 0x54, 0xbc, 0xe5, 0xfb, 0xce, 0x71, - 0xd4, 0xe9, 0xe2, 0x3c, 0xc3, 0xac, 0x49, 0x6f, 0x7d, 0xd6, 0xa4, 0x87, 0x1e, 0x43, 0x95, 0x7a, - 0x67, 0x5c, 0xfb, 0x58, 0x9e, 0xb0, 0x36, 0x15, 0x2b, 0xde, 0x19, 0xc7, 0x12, 0x11, 0x4d, 0x6d, - 0x82, 0x8c, 0xb9, 0xa6, 0x6d, 0x56, 0xa2, 0xa9, 0x2d, 0xfa, 0xde, 0xd2, 0x60, 0x3d, 0xeb, 0xf5, - 0x46, 0x24, 0x9c, 0xd9, 0x16, 0xe5, 0xdf, 0x57, 0xeb, 0xd5, 0x56, 0x4d, 0x77, 0xe1, 0x6e, 0x1a, - 0x6d, 0x87, 0x94, 0xb9, 0xb6, 0x97, 0x99, 0xf1, 0x3f, 0x64, 0xe6, 0x49, 0x5b, 0xf5, 0x72, 0xa6, - 0x55, 0xd7, 0xef, 0xc3, 0xc6, 0xac, 0xe3, 0xe2, 0x41, 0x50, 0xff, 0x05, 0x1e, 0xce, 0x1a, 0xe6, - 0xe4, 0x44, 0x7e, 0x0b, 0x03, 0xdd, 0xdf, 0x2a, 0xb0, 0x79, 0xb1, 0x7c, 0x35, 0x8c, 0x3e, 0x2d, - 0x4e, 0x06, 0x1f, 0x17, 0x2d, 0x7e, 0xc4, 0x9c, 0x64, 0x24, 0x98, 0x0c, 0x04, 0x5f, 0x16, 0x92, - 0xe1, 0xa5, 0x5c, 0x49, 0x2a, 0x7c, 0x01, 0xb2, 0x59, 0xbe, 0x51, 0x67, 0x0c, 0x11, 0x87, 0xea, - 0x8a, 0x5f, 0x16, 0xba, 0xf3, 0xea, 0x75, 0x04, 0xe4, 0xfa, 0xf3, 0xfc, 0xab, 0x48, 0xed, 0xda, - 0xaf, 0x22, 0x51, 0xe1, 0xc8, 0x8e, 0x16, 0xf3, 0x57, 0xcc, 0x05, 0xd9, 0xa1, 0x42, 0xff, 0x7b, - 0x29, 0xf3, 0xaa, 0x74, 0x24, 0xbb, 0xd7, 0xdb, 0xf0, 0xb8, 0x3f, 0x40, 0x4d, 0x36, 0x8d, 0xf2, - 0x06, 0x9a, 0xd3, 0xbd, 0x41, 0xbe, 0xdd, 0xc4, 0x31, 0x58, 0xff, 0x77, 0x09, 0xee, 0x5d, 0xd2, - 0x88, 0x4e, 0xa4, 0x96, 0x6e, 0x20, 0x15, 0x7d, 0x03, 0x0d, 0xdf, 0x34, 0x43, 0xc6, 0xe2, 0x46, - 0xad, 0x7c, 0x65, 0xa3, 0x06, 0x09, 0xbc, 0x2b, 0xf2, 0xed, 0x61, 0xa5, 0x38, 0xcf, 0xde, 0xcd, - 0x3c, 0xa4, 0x24, 0xc6, 0x53, 0xf1, 0x73, 0x06, 0xfa, 0x2c, 0xff, 0xde, 0x8d, 0x9f, 0x14, 0x6f, - 0x29, 0xaa, 0x2d, 0x1a, 0x88, 0x53, 0xf9, 0x47, 0x35, 0x1c, 0x2f, 0xf4, 0x3d, 0xf8, 0xec, 0xd2, - 0x73, 0x55, 0x68, 0x3d, 0x82, 0x2a, 0x0f, 0xd2, 0x2e, 0x63, 0xb5, 0x58, 0xd2, 0x02, 0xe2, 0x61, - 0x09, 0xf8, 0xfc, 0x05, 0x34, 0xf3, 0x66, 0x45, 0x6b, 0xd0, 0xea, 0xff, 0xd0, 0xef, 0x1d, 0x1d, - 0x0e, 0xf7, 0xf7, 0x8c, 0x6e, 0xef, 0x70, 0x78, 0xdc, 0x6f, 0xcd, 0xa1, 0x75, 0x40, 0x99, 0x5d, - 0xdc, 0x1b, 0x0c, 0x8f, 0xa3, 0xe6, 0x6b, 0xeb, 0xf9, 0x4f, 0xdf, 0x8c, 0x6d, 0x71, 0x1a, 0x9e, - 0xb4, 0x4d, 0xdf, 0xed, 0xc8, 0x63, 0x7c, 0x36, 0x8e, 0x3f, 0x3a, 0xe9, 0x8b, 0xea, 0x98, 0x7a, - 0x9d, 0xe0, 0xe4, 0x77, 0x63, 0xbf, 0x93, 0x7f, 0x1c, 0x3e, 0x99, 0x97, 0xf7, 0xf3, 0xe5, 0xff, - 0x03, 0x00, 0x00, 0xff, 0xff, 0x79, 0x51, 0xab, 0xbb, 0x8e, 0x16, 0x00, 0x00, + 0xbb, 0xb2, 0xe4, 0x5c, 0x26, 0x83, 0xae, 0x80, 0x25, 0x85, 0x06, 0x04, 0xe0, 0xdd, 0x85, 0x64, + 0xff, 0x80, 0xbe, 0xf4, 0xa9, 0x33, 0x7d, 0xea, 0x3f, 0xe8, 0x53, 0x1f, 0xfb, 0x5b, 0xfa, 0x53, + 0xfa, 0xd8, 0xd9, 0xc5, 0x02, 0x04, 0x40, 0xea, 0x36, 0xd6, 0x1b, 0x76, 0xcf, 0x77, 0xce, 0x1e, + 0x9c, 0x3d, 0xd7, 0x85, 0xfb, 0x23, 0xef, 0xbd, 0xa0, 0xae, 0xe3, 0x75, 0x88, 0x33, 0x71, 0xfd, + 0x0e, 0x7d, 0x47, 0xed, 0x48, 0xb8, 0x81, 0xdf, 0x0e, 0x59, 0x20, 0x02, 0xd4, 0x4c, 0xe8, 0x6d, + 0x45, 0x5f, 0x7f, 0x58, 0xc0, 0xdb, 0x5e, 0xc4, 0x05, 0x65, 0x16, 0xe1, 0xdc, 0x1d, 0xfb, 0x13, + 0xea, 0x8b, 0x98, 0x71, 0xfd, 0x6e, 0x11, 0x18, 0x4c, 0x26, 0x89, 0xd4, 0xf5, 0x7b, 0x29, 0xd1, + 0x0e, 0x18, 0xed, 0x78, 0xae, 0xa0, 0x8c, 0x78, 0x5c, 0x53, 0x3f, 0xc9, 0x53, 0x0b, 0x2a, 0xad, + 0x3f, 0xc8, 0x93, 0x09, 0x13, 0xee, 0x88, 0xd8, 0xc2, 0x72, 0x1d, 0x0d, 0xb8, 0x9f, 0x07, 0xb8, + 0x0e, 0xf5, 0x85, 0x3b, 0x72, 0x29, 0x9b, 0x51, 0x4d, 0xd1, 0x27, 0x54, 0x30, 0xd7, 0xe6, 0xf3, + 0x55, 0xe3, 0xd4, 0x8e, 0x98, 0x2b, 0xde, 0x27, 0xa2, 0xc7, 0x41, 0x30, 0xf6, 0x68, 0x47, 0xad, + 0x8e, 0xa2, 0x51, 0xc7, 0x89, 0x18, 0xc9, 0xea, 0x56, 0xa4, 0x0b, 0x77, 0x42, 0xb9, 0x20, 0x93, + 0xf0, 0x2c, 0x01, 0xa7, 0x8c, 0x84, 0x21, 0x65, 0xfa, 0x78, 0xf3, 0x1f, 0x65, 0x58, 0xeb, 0x27, + 0x3f, 0xdc, 0x63, 0x94, 0x08, 0x8a, 0xe9, 0xdb, 0x88, 0x72, 0x81, 0x0c, 0x58, 0x0a, 0x59, 0xf0, + 0x17, 0x6a, 0x0b, 0xa3, 0xb4, 0x51, 0x7a, 0xb4, 0x8c, 0x93, 0x25, 0x5a, 0x83, 0x45, 0x27, 0x98, + 0x10, 0xd7, 0x37, 0xca, 0x8a, 0xa0, 0x57, 0x08, 0x41, 0xd5, 0x27, 0x13, 0x6a, 0x54, 0xd4, 0xae, + 0xfa, 0x46, 0xbf, 0x87, 0x2a, 0x0f, 0xa9, 0x6d, 0x54, 0x37, 0x4a, 0x8f, 0x1a, 0x8f, 0x3f, 0x69, + 0xe7, 0xef, 0xb7, 0x9d, 0x9e, 0xbd, 0x1f, 0x52, 0x1b, 0x2b, 0x28, 0x7a, 0x02, 0x8b, 0xae, 0x1f, + 0x46, 0x82, 0x1b, 0x35, 0xc5, 0x74, 0x67, 0xca, 0x24, 0x6d, 0xd4, 0xde, 0x8e, 0xaf, 0x6f, 0x87, + 0x84, 0x9b, 0x65, 0xa3, 0x84, 0x35, 0x18, 0xb5, 0xa0, 0x12, 0xb0, 0xb1, 0xb1, 0xa8, 0x0e, 0x97, + 0x9f, 0xe8, 0x2b, 0x00, 0x45, 0xb3, 0x1c, 0x22, 0x88, 0xb1, 0xa4, 0x84, 0x19, 0x05, 0x61, 0x43, + 0x09, 0xd8, 0x22, 0x82, 0xe0, 0x65, 0x37, 0xf9, 0x34, 0xff, 0x59, 0x02, 0x23, 0xd5, 0x0c, 0x53, + 0x8f, 0x44, 0xbe, 0x7d, 0x9c, 0xd8, 0xe5, 0x29, 0x94, 0x5d, 0x47, 0x99, 0xa4, 0xf1, 0xf8, 0xf3, + 0x82, 0xb4, 0x37, 0x01, 0xfb, 0x75, 0xe4, 0x05, 0xa7, 0x29, 0xf3, 0x30, 0x75, 0x06, 0x5c, 0x76, + 0x9d, 0xb9, 0x16, 0x7a, 0x08, 0xab, 0xc1, 0x09, 0x65, 0xa7, 0xcc, 0x15, 0xd4, 0xb2, 0x89, 0x7d, + 0x4c, 0x95, 0xb1, 0xea, 0xb8, 0x99, 0x6e, 0xf7, 0xe4, 0xee, 0xf7, 0xd5, 0x7a, 0xb9, 0x55, 0x31, + 0xff, 0x55, 0x82, 0x8f, 0x33, 0xba, 0xd9, 0x12, 0x74, 0x9d, 0xaa, 0x95, 0x33, 0xaa, 0x3d, 0x83, + 0xfa, 0x84, 0x0a, 0xa2, 0xcc, 0x57, 0x51, 0x52, 0x3f, 0x3d, 0xf3, 0x02, 0x77, 0x34, 0x10, 0xa7, + 0x2c, 0xe6, 0x41, 0x46, 0xd3, 0xc4, 0xb7, 0x78, 0x18, 0xf8, 0x9c, 0x7e, 0x88, 0xa6, 0xe6, 0x8f, + 0x70, 0x77, 0x06, 0xf2, 0x1d, 0x15, 0xd7, 0x60, 0x04, 0xf3, 0x3f, 0x25, 0x58, 0x4e, 0x69, 0x1f, + 0x64, 0xce, 0xc4, 0xef, 0xcb, 0x97, 0xf7, 0xfb, 0xa7, 0xb0, 0x64, 0x7b, 0x01, 0x8f, 0x18, 0xd5, + 0xc6, 0xde, 0x38, 0x93, 0xab, 0x17, 0xe3, 0x70, 0xc2, 0x60, 0xfe, 0x19, 0x56, 0x52, 0xe2, 0xb6, + 0xcb, 0x05, 0xfa, 0x1a, 0x20, 0x4d, 0x64, 0xdc, 0x28, 0x6d, 0x54, 0xf2, 0x81, 0x54, 0x90, 0x87, + 0x33, 0x60, 0x74, 0x1b, 0x6a, 0x22, 0xf8, 0x95, 0x26, 0xd1, 0x1d, 0x2f, 0x4c, 0x0a, 0xcd, 0x4c, + 0xe0, 0x79, 0xc1, 0x11, 0xfa, 0x0a, 0x16, 0x4f, 0x88, 0x17, 0x51, 0xae, 0x4d, 0x74, 0x7e, 0x9c, + 0x0e, 0x16, 0xb0, 0x86, 0x23, 0x04, 0x95, 0x88, 0xb9, 0xb1, 0xf8, 0xc1, 0x02, 0x96, 0x8b, 0xcd, + 0x45, 0xa8, 0x2a, 0x9f, 0xe9, 0xc1, 0x4a, 0xf7, 0x28, 0x60, 0x22, 0x71, 0x27, 0xa9, 0x8d, 0x4d, + 0x22, 0x4e, 0x75, 0x12, 0x8a, 0x17, 0xe8, 0x1e, 0x2c, 0x87, 0xcc, 0xf5, 0x6d, 0x37, 0x24, 0x9e, + 0xd6, 0x73, 0xba, 0x61, 0xfe, 0x77, 0x09, 0x5a, 0x45, 0x5b, 0xa1, 0xe7, 0xb0, 0x14, 0x44, 0x42, + 0xe5, 0x95, 0x58, 0xdf, 0xfb, 0x45, 0x73, 0xe4, 0xff, 0x4f, 0x2b, 0x9d, 0x30, 0xa1, 0x27, 0x50, + 0xa3, 0x8c, 0x05, 0x6c, 0xf6, 0x4a, 0xd5, 0xdf, 0xa6, 0xe7, 0xf5, 0x25, 0x68, 0xb0, 0x80, 0x63, + 0x34, 0xfa, 0x0d, 0x34, 0x88, 0xfc, 0x21, 0x2b, 0xfe, 0x0b, 0x90, 0xba, 0x6a, 0xd1, 0xa0, 0x08, + 0x3d, 0xf5, 0x43, 0x2f, 0xa1, 0x19, 0xc3, 0xd2, 0x80, 0xbb, 0x31, 0xdf, 0x73, 0x72, 0xd6, 0x19, + 0x2c, 0xe0, 0x15, 0x92, 0x33, 0xd7, 0x0b, 0x68, 0xc4, 0x0a, 0xc7, 0x49, 0x6f, 0xe5, 0x72, 0x37, + 0x03, 0x31, 0x8f, 0x4c, 0x7e, 0xe8, 0x39, 0xdc, 0x18, 0x45, 0x9e, 0x67, 0x25, 0xc6, 0x5a, 0x9d, + 0x2b, 0x62, 0x2f, 0x65, 0x18, 0x2c, 0xe0, 0x86, 0x64, 0xd8, 0xd3, 0x76, 0x7a, 0x09, 0xab, 0x76, + 0x30, 0x09, 0x23, 0x41, 0x1d, 0x4b, 0xe7, 0xf1, 0xca, 0x65, 0xf2, 0x78, 0x33, 0xe1, 0x1a, 0xc6, + 0xf9, 0xfc, 0x5b, 0xa8, 0x85, 0xc7, 0x84, 0xc7, 0xd9, 0xb0, 0xf9, 0xf8, 0xb7, 0x17, 0x05, 0x60, + 0xfb, 0x95, 0x44, 0xe3, 0x98, 0x49, 0xfa, 0x3f, 0x17, 0x84, 0x49, 0x25, 0x88, 0xd0, 0x85, 0x64, + 0xbd, 0x1d, 0x57, 0xc3, 0x76, 0x52, 0x0d, 0xdb, 0xaf, 0x93, 0x72, 0x89, 0x97, 0x35, 0xba, 0x2b, + 0xd0, 0x13, 0xa8, 0x27, 0x65, 0x56, 0x55, 0x13, 0xa9, 0x79, 0x91, 0x71, 0x4b, 0x03, 0x70, 0x0a, + 0x95, 0x27, 0xda, 0x2a, 0xc9, 0xa9, 0x13, 0x97, 0x2e, 0x3e, 0x51, 0xa3, 0xbb, 0x2a, 0x58, 0xa3, + 0xd0, 0x49, 0x58, 0xeb, 0x17, 0xb3, 0x6a, 0x74, 0x57, 0xa0, 0x4d, 0x58, 0xf1, 0x03, 0x99, 0x77, + 0x6c, 0x12, 0x87, 0xfa, 0xb2, 0x0a, 0xf5, 0x7b, 0x45, 0xb7, 0xd9, 0xcd, 0x80, 0x70, 0x9e, 0x05, + 0x3d, 0x85, 0xc6, 0xa9, 0xb6, 0xa6, 0xe5, 0x3a, 0x46, 0x63, 0xee, 0x6d, 0x65, 0xf2, 0x1b, 0x24, + 0xe8, 0xa1, 0x83, 0x7e, 0x81, 0xdb, 0x5c, 0x10, 0x59, 0xb9, 0x8e, 0x89, 0x3f, 0xa6, 0x96, 0x43, + 0x05, 0x71, 0x3d, 0x6e, 0x34, 0x95, 0x90, 0x2f, 0xce, 0xce, 0x7b, 0x92, 0xa9, 0xa7, 0x78, 0xb6, + 0x62, 0x16, 0x8c, 0xf8, 0xcc, 0xde, 0xe6, 0x2a, 0xac, 0x68, 0x77, 0x66, 0x94, 0x47, 0x9e, 0x30, + 0x7f, 0x86, 0xe6, 0xfe, 0x7b, 0x2e, 0xe8, 0x24, 0xf5, 0xf8, 0x2f, 0xe0, 0x66, 0x9a, 0xbc, 0x2c, + 0xdd, 0x1f, 0xea, 0x64, 0xd1, 0xa2, 0xd3, 0x24, 0xa0, 0xf6, 0x65, 0xde, 0x90, 0x95, 0x8d, 0x87, + 0xc4, 0x4e, 0x4a, 0xdd, 0x74, 0xc3, 0xfc, 0x5f, 0x15, 0x6e, 0xce, 0x14, 0x34, 0xd4, 0x83, 0xea, + 0x24, 0x70, 0xe2, 0x04, 0xd4, 0x7c, 0xdc, 0xb9, 0xb0, 0x02, 0x66, 0x76, 0x02, 0x87, 0x62, 0xc5, + 0x7c, 0x7e, 0xc2, 0x92, 0xbd, 0x96, 0x4f, 0xb9, 0x70, 0xfd, 0xb1, 0x8a, 0x95, 0x15, 0x9c, 0x2c, + 0xd1, 0x33, 0xb8, 0xc1, 0xed, 0x63, 0xea, 0x44, 0x5e, 0xec, 0x1c, 0xd5, 0x0b, 0x9d, 0xa3, 0x91, + 0xe2, 0xbb, 0x02, 0xfd, 0x04, 0x1f, 0x85, 0x84, 0x51, 0x5f, 0x58, 0x7e, 0xe0, 0x50, 0x2b, 0xb5, + 0x87, 0x8e, 0x88, 0x62, 0x50, 0xed, 0x06, 0x0e, 0x9d, 0x57, 0xd1, 0x6e, 0xc5, 0x42, 0x72, 0x64, + 0xf4, 0x33, 0xdc, 0x62, 0x74, 0x44, 0x19, 0xf5, 0xed, 0xac, 0xe4, 0xd6, 0x95, 0xeb, 0x25, 0x4a, + 0xc5, 0x4c, 0x85, 0x7f, 0x07, 0xab, 0x5c, 0xdd, 0xf3, 0x34, 0x21, 0xde, 0x9c, 0x9f, 0xb5, 0xf3, + 0xee, 0x80, 0x9b, 0x3c, 0xef, 0x1e, 0xdf, 0xc2, 0x8d, 0x4c, 0xcb, 0xce, 0x0d, 0x54, 0x2c, 0x85, + 0x4a, 0xbd, 0xae, 0x86, 0x0c, 0xb7, 0x70, 0x23, 0x81, 0x0f, 0x1d, 0x6e, 0x8e, 0x33, 0x75, 0x55, + 0xde, 0x26, 0x02, 0x58, 0xdc, 0xe9, 0xee, 0x1e, 0x74, 0xb7, 0x5b, 0x0b, 0x68, 0x05, 0x96, 0xf7, + 0x7b, 0x83, 0xfe, 0xd6, 0xc1, 0x76, 0x7f, 0xab, 0x55, 0x92, 0xa4, 0xfd, 0x1f, 0xf7, 0x5f, 0xf7, + 0x77, 0x5a, 0x65, 0x74, 0x03, 0xea, 0xb8, 0xbf, 0xdd, 0x3d, 0xd8, 0xed, 0x0d, 0x5a, 0x15, 0x84, + 0xa0, 0xd9, 0x1b, 0x0c, 0xb7, 0xb7, 0xac, 0x37, 0x7b, 0xf8, 0x8f, 0x2f, 0xb7, 0xf7, 0xde, 0xb4, + 0xaa, 0x92, 0x19, 0xf7, 0x7b, 0x7b, 0x87, 0x7d, 0xdc, 0xdf, 0x6a, 0xd5, 0xcc, 0x43, 0x68, 0x65, + 0x43, 0x54, 0xd5, 0xf0, 0x99, 0xd8, 0x2e, 0x5d, 0x39, 0xb6, 0xcd, 0xbf, 0xd7, 0x33, 0x7f, 0xb0, + 0x1f, 0xb7, 0x19, 0x8d, 0xb8, 0xa1, 0xb5, 0x42, 0x8f, 0xf8, 0x67, 0xd4, 0xee, 0x6c, 0xb4, 0xc7, + 0xe8, 0x57, 0x1e, 0xf1, 0x33, 0xad, 0x79, 0xf9, 0x2a, 0xad, 0xf9, 0x87, 0xf5, 0x91, 0x68, 0x50, + 0xb4, 0x43, 0x6d, 0x7e, 0x7b, 0x54, 0x34, 0xa0, 0xac, 0x8e, 0xf9, 0x4c, 0xf7, 0x29, 0x34, 0x1c, + 0x97, 0x93, 0x23, 0x8f, 0x5a, 0xc4, 0xf3, 0x54, 0x76, 0xaf, 0xcb, 0xf2, 0xa7, 0x37, 0xbb, 0x9e, + 0x87, 0xda, 0xb0, 0xe8, 0x91, 0x23, 0xea, 0x71, 0x9d, 0xc2, 0xd7, 0x66, 0xba, 0x04, 0x45, 0xc5, + 0x1a, 0x85, 0x9e, 0x41, 0x83, 0xf8, 0x7e, 0x20, 0xb4, 0x6a, 0x71, 0xf2, 0xbe, 0x3b, 0x53, 0xb5, + 0xa7, 0x10, 0x9c, 0xc5, 0xa3, 0x21, 0xb4, 0x92, 0x99, 0xcf, 0xb2, 0x03, 0x5f, 0xd0, 0x77, 0x42, + 0xf5, 0x08, 0x39, 0x47, 0x57, 0xb6, 0xdd, 0xd7, 0xb0, 0x5e, 0x8c, 0xc2, 0xab, 0x3c, 0xbf, 0x81, + 0xbe, 0x86, 0x65, 0x12, 0x89, 0x63, 0x8b, 0x05, 0x1e, 0xd5, 0x51, 0x68, 0xcc, 0xe8, 0x11, 0x89, + 0x63, 0x1c, 0x78, 0x54, 0x5d, 0x4f, 0x9d, 0xe8, 0x15, 0xda, 0x01, 0xf4, 0x36, 0x22, 0x9e, 0x54, + 0x22, 0x18, 0x59, 0x9c, 0xb2, 0x13, 0xd7, 0xa6, 0x3a, 0xe0, 0x1e, 0x14, 0xf4, 0xf8, 0x53, 0x0c, + 0xdc, 0x1b, 0xed, 0xc7, 0x30, 0xdc, 0x7a, 0x5b, 0xd8, 0x91, 0x23, 0xcd, 0x84, 0xbc, 0xb3, 0x42, + 0xc2, 0x88, 0xe7, 0x51, 0xcf, 0xe5, 0x13, 0x03, 0x6d, 0x94, 0x1e, 0xd5, 0x70, 0x73, 0x42, 0xde, + 0xbd, 0x9a, 0xee, 0xa2, 0x1f, 0x60, 0x8d, 0x91, 0x53, 0x2b, 0xd3, 0xb1, 0x48, 0x23, 0x8c, 0xdc, + 0xb1, 0x71, 0x4b, 0x9d, 0xfd, 0x59, 0x51, 0x7f, 0x4c, 0x4e, 0xa7, 0x9d, 0x47, 0x4f, 0x41, 0xf1, + 0x2d, 0x36, 0xbb, 0x89, 0x5e, 0x01, 0x9a, 0x7d, 0x2b, 0x30, 0x6e, 0xcf, 0x77, 0x3e, 0x5d, 0x1d, + 0xba, 0x29, 0x10, 0xdf, 0xb4, 0x8b, 0x5b, 0xe8, 0x05, 0xac, 0xb8, 0xbe, 0xa0, 0x8c, 0x45, 0xa1, + 0x70, 0x8f, 0x3c, 0x6a, 0x7c, 0x74, 0x46, 0x2a, 0xde, 0x0c, 0x02, 0xef, 0x50, 0x76, 0xba, 0x38, + 0xcf, 0x30, 0x6f, 0xd2, 0x5b, 0x9b, 0x37, 0xe9, 0xa1, 0x47, 0x50, 0xa5, 0xfe, 0x09, 0x37, 0x3e, + 0x56, 0x27, 0xdc, 0x9e, 0x89, 0x15, 0xff, 0x84, 0x63, 0x85, 0x90, 0x53, 0x9b, 0x20, 0x63, 0x6e, + 0x18, 0x1b, 0x15, 0x39, 0xb5, 0xc9, 0xef, 0x4d, 0x03, 0xd6, 0xb2, 0x5e, 0x6f, 0x49, 0xe1, 0xcc, + 0x75, 0x28, 0xff, 0xbe, 0x5a, 0xaf, 0xb6, 0x6a, 0xe6, 0x04, 0xee, 0xa4, 0xd1, 0xf6, 0x9a, 0xb2, + 0x89, 0xeb, 0x67, 0xa6, 0xfe, 0x0f, 0x99, 0x79, 0xd2, 0x56, 0xbd, 0x9c, 0x69, 0xd5, 0xcd, 0x7b, + 0xb0, 0x3e, 0xef, 0xb8, 0x78, 0x10, 0x34, 0x7f, 0x81, 0x07, 0xf3, 0x86, 0x39, 0x35, 0x91, 0x5f, + 0xc3, 0x40, 0xf7, 0xd7, 0x0a, 0x6c, 0x9c, 0x2d, 0x5f, 0x0f, 0xa3, 0x4f, 0x8a, 0x93, 0xc1, 0xc7, + 0x45, 0x8b, 0x1f, 0x30, 0x2f, 0x19, 0x09, 0xa6, 0x03, 0xc1, 0x97, 0x85, 0x64, 0x78, 0x2e, 0x57, + 0x92, 0x0a, 0x9f, 0x83, 0x6a, 0x96, 0xaf, 0xd4, 0x19, 0x83, 0xe4, 0xd0, 0x5d, 0xf1, 0x8b, 0x42, + 0x77, 0x5e, 0xbd, 0x8c, 0x80, 0x5c, 0x7f, 0x9e, 0x7f, 0x15, 0xa9, 0x5d, 0xfa, 0x55, 0x44, 0x16, + 0x8e, 0xec, 0x68, 0xb1, 0x78, 0xc1, 0x5c, 0x90, 0x1d, 0x2a, 0xcc, 0xbf, 0x95, 0x32, 0xef, 0x4c, + 0x07, 0xaa, 0x7b, 0xbd, 0x0e, 0x8f, 0xfb, 0x03, 0xd4, 0x54, 0xd3, 0xa8, 0x6e, 0xa0, 0x39, 0xdb, + 0x1b, 0xe4, 0xdb, 0x4d, 0x1c, 0x83, 0xcd, 0x7f, 0x97, 0xe0, 0xee, 0x39, 0x8d, 0xe8, 0x54, 0x6a, + 0xe9, 0x0a, 0x52, 0xd1, 0x37, 0xd0, 0x08, 0x6c, 0x3b, 0x62, 0x2c, 0x6e, 0xd4, 0xca, 0x17, 0x36, + 0x6a, 0x90, 0xc0, 0xbb, 0x22, 0xdf, 0x1e, 0x56, 0x8a, 0xf3, 0xec, 0x9d, 0xcc, 0x43, 0x4a, 0x62, + 0x3c, 0x1d, 0x3f, 0x27, 0x60, 0xce, 0xf3, 0xef, 0x9d, 0xf8, 0x91, 0xf1, 0x9a, 0xa2, 0xda, 0xa1, + 0xa1, 0x38, 0x56, 0x7f, 0x54, 0xc3, 0xf1, 0xc2, 0xdc, 0x85, 0xcf, 0xce, 0x3d, 0x57, 0x87, 0xd6, + 0x43, 0xa8, 0xf2, 0x30, 0xed, 0x32, 0x6e, 0x15, 0x4b, 0x5a, 0x48, 0x7c, 0xac, 0x00, 0x9f, 0x3f, + 0x87, 0x66, 0xde, 0xac, 0xe8, 0x36, 0xb4, 0xfa, 0x3f, 0xf4, 0x7b, 0x07, 0xaf, 0x87, 0x7b, 0xbb, + 0x56, 0xb7, 0xf7, 0x7a, 0x78, 0xd8, 0x6f, 0x2d, 0xa0, 0x35, 0x40, 0x99, 0x5d, 0xdc, 0x1b, 0x0c, + 0x0f, 0x65, 0xf3, 0xb5, 0xf9, 0xec, 0xa7, 0x6f, 0xc6, 0xae, 0x38, 0x8e, 0x8e, 0xda, 0x76, 0x30, + 0xe9, 0xa8, 0x63, 0x02, 0x36, 0x8e, 0x3f, 0x3a, 0xe9, 0x1b, 0xeb, 0x98, 0xfa, 0x9d, 0xf0, 0xe8, + 0x77, 0xe3, 0xa0, 0x93, 0x7f, 0x2e, 0x3e, 0x5a, 0x54, 0xf7, 0xf3, 0xe5, 0xff, 0x03, 0x00, 0x00, + 0xff, 0xff, 0x6f, 0x09, 0xf7, 0x6f, 0xa0, 0x16, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go index 674da0b48f..555bf6083d 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go @@ -769,7 +769,7 @@ func (m *ActiveLaunchPlanRequest) GetId() *NamedEntityIdentifier { return nil } -// Represents a request structure to list active launch plans within a project/domain. +// Represents a request structure to list active launch plans within a project/domain and optional org. // See :ref:`ref_flyteidl.admin.LaunchPlan` for more details type ActiveLaunchPlanListRequest struct { // Name of the project that contains the identifiers. @@ -787,7 +787,9 @@ type ActiveLaunchPlanListRequest struct { Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` // Sort ordering. // +optional - SortBy *Sort `protobuf:"bytes,5,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"` + SortBy *Sort `protobuf:"bytes,5,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,6,opt,name=org,proto3" json:"org,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -853,6 +855,13 @@ func (m *ActiveLaunchPlanListRequest) GetSortBy() *Sort { return nil } +func (m *ActiveLaunchPlanListRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + func init() { proto.RegisterEnum("flyteidl.admin.LaunchPlanState", LaunchPlanState_name, LaunchPlanState_value) proto.RegisterType((*LaunchPlanCreateRequest)(nil), "flyteidl.admin.LaunchPlanCreateRequest") @@ -872,81 +881,81 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/launch_plan.proto", fileDescriptor_368a863574f5e699) } var fileDescriptor_368a863574f5e699 = []byte{ - // 1203 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x5f, 0x8f, 0x13, 0x37, - 0x10, 0x6f, 0xc2, 0xfd, 0x9d, 0xe3, 0x72, 0xc1, 0xd0, 0x63, 0x09, 0x14, 0xae, 0xa9, 0xaa, 0x5e, - 0x5b, 0x48, 0x24, 0x5a, 0x1e, 0x80, 0x22, 0x91, 0x84, 0x7b, 0x88, 0xca, 0xc1, 0xd5, 0x47, 0x51, - 0xd5, 0x97, 0x95, 0xb3, 0x3b, 0x49, 0x5c, 0xbc, 0xeb, 0xc5, 0xf6, 0xde, 0xe5, 0xd4, 0xe7, 0x7e, - 0x97, 0xaa, 0xdf, 0xa5, 0x0f, 0xfd, 0x46, 0xd5, 0x7a, 0xbd, 0x9b, 0x64, 0x03, 0xa2, 0xad, 0xd4, - 0xa7, 0x5d, 0x7b, 0x7e, 0xbf, 0x9f, 0x3d, 0x33, 0xf6, 0x8c, 0xe1, 0x60, 0x2c, 0x2e, 0x0c, 0xf2, - 0x50, 0x74, 0x59, 0x18, 0xf1, 0xb8, 0x2b, 0x58, 0x1a, 0x07, 0x53, 0x3f, 0x11, 0x2c, 0xee, 0x24, - 0x4a, 0x1a, 0x49, 0x1a, 0x05, 0xa2, 0x63, 0x11, 0xad, 0x4f, 0x4a, 0x46, 0x20, 0x15, 0x76, 0x71, - 0x86, 0x41, 0x6a, 0xb8, 0x74, 0xf0, 0xd6, 0xad, 0x65, 0xb3, 0xe0, 0x06, 0x15, 0x13, 0xda, 0x59, - 0x6f, 0x2f, 0x5b, 0x79, 0x88, 0xb1, 0xe1, 0x63, 0x8e, 0xca, 0xd9, 0x2b, 0xe2, 0x3c, 0x36, 0xa8, - 0xc6, 0x2c, 0xc0, 0x77, 0x8b, 0x6b, 0x0c, 0x52, 0xc5, 0xcd, 0xc5, 0x0a, 0x39, 0xf7, 0x45, 0x07, - 0x53, 0x0c, 0x53, 0x51, 0x90, 0x6f, 0x56, 0xcc, 0x81, 0x8c, 0xa2, 0x72, 0xdb, 0x37, 0x26, 0x52, - 0x4e, 0x04, 0x76, 0xed, 0x68, 0x94, 0x8e, 0xbb, 0x2c, 0x2e, 0x64, 0xef, 0x54, 0x4d, 0x86, 0x47, - 0xa8, 0x0d, 0x8b, 0x92, 0xc2, 0xa9, 0x2a, 0xe0, 0x5c, 0xb1, 0x24, 0x41, 0xe5, 0x9c, 0x6e, 0xcf, - 0xe0, 0xfa, 0x73, 0x1b, 0xd6, 0x13, 0xc1, 0xe2, 0x81, 0x42, 0x66, 0x90, 0xe2, 0xdb, 0x14, 0xb5, - 0x21, 0x5f, 0x42, 0x9d, 0x87, 0x5e, 0xed, 0xa0, 0x76, 0xb8, 0x73, 0xff, 0x46, 0xa7, 0x8c, 0x74, - 0xe6, 0x5d, 0x67, 0x58, 0x06, 0x87, 0xd6, 0x79, 0x48, 0xee, 0xc3, 0x9a, 0x4e, 0x30, 0xf0, 0xea, - 0x16, 0x7c, 0xbb, 0xb3, 0x9c, 0x96, 0xce, 0x7c, 0x85, 0xd3, 0x04, 0x03, 0x6a, 0xb1, 0xed, 0x16, - 0x78, 0xab, 0x2b, 0xeb, 0x44, 0xc6, 0x1a, 0xdb, 0xbf, 0xd7, 0x00, 0xe6, 0xc6, 0xff, 0x79, 0x27, - 0xe4, 0x31, 0x6c, 0x06, 0x42, 0xea, 0x54, 0xa1, 0x77, 0xc9, 0xd2, 0x3e, 0x7d, 0x3f, 0x6d, 0x90, - 0x03, 0x69, 0xc1, 0x68, 0x23, 0x34, 0xe6, 0xd6, 0xe7, 0x5c, 0x1b, 0xf2, 0x04, 0x2e, 0x2f, 0x9c, - 0x54, 0xed, 0xd5, 0x0e, 0x2e, 0x1d, 0xee, 0xdc, 0x6f, 0xbd, 0x5f, 0x93, 0xee, 0x88, 0xf2, 0x5f, - 0x93, 0x6b, 0xb0, 0x6e, 0xe4, 0x1b, 0x8c, 0xad, 0x0b, 0xdb, 0x34, 0x1f, 0xb4, 0xcf, 0x60, 0xad, - 0x97, 0x9a, 0x29, 0xb9, 0x0b, 0x84, 0x69, 0x9d, 0x46, 0x6c, 0x24, 0xd0, 0xe7, 0x2c, 0xf2, 0x95, - 0x14, 0x68, 0x43, 0xb3, 0x4d, 0x9b, 0xa5, 0x65, 0xc8, 0x22, 0x2a, 0x05, 0x92, 0xef, 0xa0, 0xf5, - 0x26, 0x1d, 0xa1, 0x8a, 0xd1, 0xa0, 0xf6, 0x35, 0xaa, 0x33, 0x1e, 0xa0, 0xcf, 0x82, 0x40, 0xa6, - 0xb1, 0x71, 0x0b, 0x78, 0x73, 0xc4, 0x69, 0x0e, 0xe8, 0xe5, 0xf6, 0x47, 0x75, 0xaf, 0xd6, 0xfe, - 0x6d, 0x6b, 0xd1, 0xbf, 0x2c, 0x68, 0xe4, 0x11, 0xec, 0x9c, 0x4b, 0xf5, 0x66, 0x2c, 0xe4, 0xb9, - 0xff, 0x4f, 0xd2, 0x02, 0x05, 0x7a, 0x18, 0x92, 0xef, 0x61, 0x2f, 0x9b, 0x37, 0x17, 0x7e, 0x84, - 0x86, 0x85, 0xcc, 0x30, 0x97, 0xa9, 0xf6, 0xfb, 0xc3, 0x73, 0xec, 0x90, 0xb4, 0x91, 0x53, 0x8b, - 0x31, 0xe9, 0x43, 0x23, 0xc4, 0x31, 0x4b, 0x85, 0xf1, 0x79, 0x9c, 0xa4, 0x46, 0xbb, 0xf4, 0xdd, - 0xac, 0xec, 0xe5, 0x84, 0x29, 0x16, 0xa1, 0x41, 0x75, 0xcc, 0x12, 0xba, 0xeb, 0x28, 0x43, 0xcb, - 0x20, 0x4f, 0xe1, 0xf2, 0x98, 0xcf, 0x30, 0x2c, 0x14, 0xd6, 0xde, 0xe9, 0xcd, 0xf3, 0xbc, 0x52, - 0x1c, 0xb3, 0xa4, 0x5f, 0xf7, 0x6a, 0x74, 0xc7, 0x52, 0x9c, 0x42, 0x1f, 0x9a, 0x0b, 0x0a, 0xbe, - 0xf5, 0x69, 0xdf, 0xaa, 0x78, 0xd5, 0x98, 0x64, 0x80, 0x67, 0xd6, 0x93, 0xb9, 0x40, 0x36, 0x26, - 0xfb, 0xb0, 0x66, 0xf3, 0xb8, 0x9e, 0x65, 0xc4, 0x2e, 0x61, 0xc7, 0xa4, 0x03, 0x1b, 0x82, 0x8d, - 0x50, 0x68, 0x6f, 0xc3, 0x2a, 0xee, 0xaf, 0x46, 0x29, 0xb3, 0x52, 0x87, 0x22, 0x4f, 0x60, 0x87, - 0xc5, 0xb1, 0x34, 0x2c, 0x2b, 0x7a, 0xda, 0xdb, 0xac, 0x86, 0x23, 0x27, 0xf5, 0xe6, 0x10, 0xba, - 0x88, 0x27, 0x77, 0x61, 0x8d, 0xa5, 0x66, 0xea, 0x6d, 0x59, 0xde, 0xb5, 0x15, 0x5e, 0x6a, 0xa6, - 0xf9, 0xe6, 0x32, 0x14, 0x79, 0x08, 0xdb, 0xd9, 0x37, 0x3f, 0x81, 0xdb, 0x55, 0x8f, 0xe7, 0x94, - 0xec, 0x24, 0x5a, 0xda, 0x16, 0x73, 0x23, 0x32, 0x84, 0x66, 0x51, 0x1f, 0xfd, 0x40, 0xc6, 0x06, - 0x67, 0xc6, 0x83, 0xea, 0x8d, 0xb5, 0x31, 0x3b, 0x75, 0xb0, 0x41, 0x8e, 0xa2, 0x7b, 0x7a, 0x79, - 0x82, 0x1c, 0x03, 0x79, 0x9b, 0x32, 0x91, 0x29, 0xc9, 0x71, 0x71, 0xc4, 0xbd, 0xa6, 0x15, 0xbb, - 0x53, 0x11, 0xfb, 0x21, 0x07, 0xbe, 0x1c, 0xbb, 0x83, 0x4e, 0x9b, 0x6f, 0x2b, 0x33, 0xe4, 0x27, - 0xd8, 0x57, 0xec, 0xdc, 0x97, 0xa9, 0x29, 0x92, 0x99, 0x6d, 0x70, 0xcc, 0x27, 0xde, 0x15, 0x2b, - 0xf9, 0x59, 0xd5, 0x43, 0xca, 0xce, 0x5f, 0x5a, 0x70, 0x96, 0xc8, 0x81, 0x85, 0xd2, 0xab, 0x6a, - 0x75, 0x92, 0x7c, 0x01, 0x7b, 0x11, 0x9b, 0xf9, 0x09, 0x53, 0x4c, 0x08, 0x14, 0x5c, 0x47, 0x1e, - 0x39, 0xa8, 0x1d, 0xae, 0xd3, 0x46, 0xc4, 0x66, 0x27, 0xf3, 0x59, 0xf2, 0x14, 0x76, 0x6d, 0x6f, - 0x51, 0x69, 0x62, 0xf8, 0x48, 0xa0, 0x77, 0xd5, 0xae, 0xdc, 0xea, 0xe4, 0xa5, 0xbc, 0x53, 0x94, - 0xf2, 0x4e, 0x5f, 0x4a, 0xf1, 0x9a, 0x89, 0x14, 0xe9, 0x32, 0x21, 0x5b, 0x4a, 0x9e, 0xa1, 0x3a, - 0x57, 0xdc, 0xa0, 0x1f, 0xb0, 0x60, 0x8a, 0xde, 0xb5, 0x83, 0xda, 0xe1, 0x16, 0x6d, 0x94, 0xd3, - 0x83, 0x6c, 0x96, 0x1c, 0xc2, 0x1a, 0xc6, 0x67, 0xda, 0xfb, 0xf8, 0xdd, 0x09, 0x3f, 0x8a, 0xcf, - 0x34, 0xb5, 0x88, 0xf6, 0x9f, 0x75, 0xb8, 0xb2, 0x52, 0x05, 0xc9, 0x03, 0x58, 0xd7, 0x86, 0x99, - 0xbc, 0x00, 0x35, 0x16, 0xe3, 0xbd, 0x52, 0x6e, 0x33, 0x18, 0xcd, 0xd1, 0xe4, 0x19, 0xec, 0xe1, - 0x2c, 0xc1, 0xc0, 0xcc, 0xef, 0x5d, 0xfd, 0xc3, 0x37, 0xb7, 0x51, 0x70, 0xdc, 0xc5, 0x3b, 0x82, - 0x66, 0xa9, 0x92, 0xe7, 0xab, 0x28, 0x00, 0xad, 0x8a, 0xcc, 0x6b, 0xa6, 0x78, 0x56, 0x16, 0x33, - 0x95, 0x72, 0xe5, 0x3c, 0x41, 0x9a, 0x3c, 0x04, 0x08, 0x6c, 0xf7, 0x09, 0x7d, 0x66, 0xdc, 0xfd, - 0x5f, 0x8d, 0xf5, 0xab, 0xa2, 0xaf, 0xd2, 0x6d, 0x87, 0xee, 0x99, 0x8c, 0x9a, 0x26, 0x61, 0x41, - 0x5d, 0xff, 0x30, 0xd5, 0xa1, 0x7b, 0xa6, 0xfd, 0x57, 0x0d, 0xc8, 0x6a, 0x89, 0x23, 0xdf, 0xc2, - 0x56, 0xf1, 0x32, 0x70, 0x85, 0x75, 0xe5, 0x4a, 0x9d, 0x3a, 0x3b, 0x2d, 0x91, 0xa4, 0x0f, 0xbb, - 0xb1, 0xcc, 0xaa, 0x6d, 0xe0, 0x2e, 0x7e, 0xdd, 0xb6, 0x9c, 0x5b, 0x55, 0xea, 0x8b, 0x05, 0x10, - 0x5d, 0xa6, 0x90, 0x1e, 0x5c, 0x71, 0x5d, 0x2b, 0x90, 0x71, 0xc8, 0x73, 0x9d, 0x4b, 0xee, 0x5c, - 0x54, 0x5d, 0xea, 0xc5, 0x17, 0xb4, 0x99, 0xc3, 0x07, 0x25, 0xba, 0xfd, 0xeb, 0xe2, 0x5b, 0xe2, - 0x47, 0xeb, 0xea, 0x7f, 0x78, 0x4b, 0x94, 0x67, 0xaa, 0xfe, 0x6f, 0xce, 0xd4, 0xf2, 0x73, 0xa2, - 0x58, 0xdc, 0x3d, 0x27, 0x4e, 0xe0, 0x7a, 0x2f, 0x30, 0xfc, 0x0c, 0x17, 0x7a, 0xae, 0xdb, 0xd8, - 0x83, 0x85, 0x8d, 0x7d, 0xbe, 0x12, 0x2f, 0x16, 0x61, 0x78, 0x64, 0x9b, 0xce, 0xf2, 0x26, 0xdb, - 0x7f, 0xd4, 0xe0, 0x66, 0x55, 0x32, 0x6b, 0xfe, 0x85, 0xac, 0x07, 0x9b, 0x89, 0x92, 0xbf, 0x60, - 0x60, 0x5c, 0x6f, 0x2e, 0x86, 0x64, 0x1f, 0x36, 0x42, 0x19, 0x31, 0x5e, 0xf4, 0x77, 0x37, 0xca, - 0xda, 0xbe, 0xe0, 0x11, 0x37, 0x36, 0xe6, 0xbb, 0x34, 0x1f, 0xcc, 0x1f, 0x03, 0x6b, 0x0b, 0x8f, - 0x01, 0x72, 0x0f, 0x36, 0xb5, 0x54, 0xc6, 0x1f, 0x5d, 0xb8, 0x43, 0xb7, 0x72, 0x73, 0x4f, 0xa5, - 0x32, 0x74, 0x23, 0x03, 0xf5, 0x2f, 0xbe, 0xfa, 0x1a, 0xf6, 0x2a, 0x41, 0x23, 0x97, 0x61, 0x6b, - 0xf8, 0xa2, 0x37, 0x78, 0x35, 0x7c, 0x7d, 0xd4, 0xfc, 0x88, 0x00, 0x6c, 0xb8, 0xff, 0x5a, 0xff, - 0xc9, 0xcf, 0x8f, 0x27, 0xdc, 0x4c, 0xd3, 0x51, 0x27, 0x90, 0x51, 0xd7, 0xca, 0x4a, 0x35, 0xc9, - 0x7f, 0xba, 0xe5, 0x2b, 0x75, 0x82, 0x71, 0x37, 0x19, 0xdd, 0x9b, 0xc8, 0xee, 0xf2, 0xc3, 0x75, - 0xb4, 0x61, 0xcf, 0xc8, 0x37, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf6, 0xc6, 0x1e, 0x0f, 0xbc, - 0x0b, 0x00, 0x00, + // 1216 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x72, 0x1b, 0x35, + 0x14, 0xc6, 0x8e, 0xf3, 0x77, 0xd2, 0x38, 0xae, 0x5a, 0xd2, 0xad, 0x5b, 0xda, 0x60, 0x86, 0x21, + 0x40, 0x6b, 0xcf, 0x14, 0x7a, 0xd1, 0x96, 0xce, 0xd4, 0x76, 0x73, 0xe1, 0xa1, 0x69, 0x83, 0x52, + 0x3a, 0x0c, 0x37, 0x3b, 0xf2, 0xee, 0xb1, 0x2d, 0xaa, 0x5d, 0x6d, 0x25, 0x6d, 0xe2, 0x0c, 0xd7, + 0xbc, 0x0b, 0x0f, 0xc1, 0x2b, 0x70, 0xc1, 0x1b, 0x31, 0xab, 0xd5, 0xfa, 0x67, 0xdd, 0x4c, 0x81, + 0x19, 0xae, 0x76, 0xa5, 0xf3, 0x7d, 0x9f, 0x74, 0xce, 0x91, 0xce, 0x11, 0x1c, 0x8c, 0xc4, 0x85, + 0x41, 0x1e, 0x8a, 0x0e, 0x0b, 0x23, 0x1e, 0x77, 0x04, 0x4b, 0xe3, 0x60, 0xe2, 0x27, 0x82, 0xc5, + 0xed, 0x44, 0x49, 0x23, 0x49, 0xbd, 0x40, 0xb4, 0x2d, 0xa2, 0xf9, 0xc9, 0x8c, 0x11, 0x48, 0x85, + 0x1d, 0x9c, 0x62, 0x90, 0x1a, 0x2e, 0x1d, 0xbc, 0x79, 0x7b, 0xd9, 0x2c, 0xb8, 0x41, 0xc5, 0x84, + 0x76, 0xd6, 0x3b, 0xcb, 0x56, 0x1e, 0x62, 0x6c, 0xf8, 0x88, 0xa3, 0x72, 0xf6, 0x92, 0x38, 0x8f, + 0x0d, 0xaa, 0x11, 0x0b, 0xf0, 0xfd, 0xe2, 0x1a, 0x83, 0x54, 0x71, 0x73, 0xb1, 0x42, 0xce, 0x7d, + 0xd1, 0xc1, 0x04, 0xc3, 0x54, 0x14, 0xe4, 0x5b, 0x25, 0x73, 0x20, 0xa3, 0x68, 0xb6, 0xed, 0x9b, + 0x63, 0x29, 0xc7, 0x02, 0x3b, 0x76, 0x34, 0x4c, 0x47, 0x1d, 0x16, 0x17, 0xb2, 0x77, 0xcb, 0x26, + 0xc3, 0x23, 0xd4, 0x86, 0x45, 0x49, 0xe1, 0x54, 0x19, 0x70, 0xae, 0x58, 0x92, 0xa0, 0x72, 0x4e, + 0xb7, 0xa6, 0x70, 0xe3, 0x85, 0x0d, 0xeb, 0x89, 0x60, 0x71, 0x5f, 0x21, 0x33, 0x48, 0xf1, 0x5d, + 0x8a, 0xda, 0x90, 0x2f, 0xa1, 0xca, 0x43, 0xaf, 0x72, 0x50, 0x39, 0xdc, 0x79, 0x70, 0xb3, 0x3d, + 0x8b, 0x74, 0xe6, 0x5d, 0x7b, 0x30, 0x0b, 0x0e, 0xad, 0xf2, 0x90, 0x3c, 0x80, 0x9a, 0x4e, 0x30, + 0xf0, 0xaa, 0x16, 0x7c, 0xa7, 0xbd, 0x9c, 0x96, 0xf6, 0x7c, 0x85, 0xd3, 0x04, 0x03, 0x6a, 0xb1, + 0xad, 0x26, 0x78, 0xab, 0x2b, 0xeb, 0x44, 0xc6, 0x1a, 0x5b, 0xbf, 0x57, 0x00, 0xe6, 0xc6, 0xff, + 0x79, 0x27, 0xe4, 0x09, 0x6c, 0x06, 0x42, 0xea, 0x54, 0xa1, 0xb7, 0x66, 0x69, 0x9f, 0x5e, 0x4e, + 0xeb, 0xe7, 0x40, 0x5a, 0x30, 0x5a, 0x08, 0xf5, 0xb9, 0xf5, 0x05, 0xd7, 0x86, 0x3c, 0x85, 0x2b, + 0x0b, 0x27, 0x55, 0x7b, 0x95, 0x83, 0xb5, 0xc3, 0x9d, 0x07, 0xcd, 0xcb, 0x35, 0xe9, 0x8e, 0x98, + 0xfd, 0x6b, 0x72, 0x1d, 0xd6, 0x8d, 0x7c, 0x8b, 0xb1, 0x75, 0x61, 0x9b, 0xe6, 0x83, 0xd6, 0x19, + 0xd4, 0xba, 0xa9, 0x99, 0x90, 0x7b, 0x40, 0x98, 0xd6, 0x69, 0xc4, 0x86, 0x02, 0x7d, 0xce, 0x22, + 0x5f, 0x49, 0x81, 0x36, 0x34, 0xdb, 0xb4, 0x31, 0xb3, 0x0c, 0x58, 0x44, 0xa5, 0x40, 0xf2, 0x1d, + 0x34, 0xdf, 0xa6, 0x43, 0x54, 0x31, 0x1a, 0xd4, 0xbe, 0x46, 0x75, 0xc6, 0x03, 0xf4, 0x59, 0x10, + 0xc8, 0x34, 0x36, 0x6e, 0x01, 0x6f, 0x8e, 0x38, 0xcd, 0x01, 0xdd, 0xdc, 0xfe, 0xb8, 0xea, 0x55, + 0x5a, 0xbf, 0x6d, 0x2d, 0xfa, 0x97, 0x05, 0x8d, 0x3c, 0x86, 0x9d, 0x73, 0xa9, 0xde, 0x8e, 0x84, + 0x3c, 0xf7, 0xff, 0x49, 0x5a, 0xa0, 0x40, 0x0f, 0x42, 0xf2, 0x3d, 0xec, 0x65, 0xf3, 0xe6, 0xc2, + 0x8f, 0xd0, 0xb0, 0x90, 0x19, 0xe6, 0x32, 0xd5, 0xba, 0x3c, 0x3c, 0xc7, 0x0e, 0x49, 0xeb, 0x39, + 0xb5, 0x18, 0x93, 0x1e, 0xd4, 0x43, 0x1c, 0xb1, 0x54, 0x18, 0x9f, 0xc7, 0x49, 0x6a, 0xb4, 0x4b, + 0xdf, 0xad, 0xd2, 0x5e, 0x4e, 0x98, 0x62, 0x11, 0x1a, 0x54, 0xc7, 0x2c, 0xa1, 0xbb, 0x8e, 0x32, + 0xb0, 0x0c, 0xf2, 0x0c, 0xae, 0x8c, 0xf8, 0x14, 0xc3, 0x42, 0xa1, 0xf6, 0x5e, 0x6f, 0x5e, 0xe4, + 0x95, 0xe2, 0x98, 0x25, 0xbd, 0xaa, 0x57, 0xa1, 0x3b, 0x96, 0xe2, 0x14, 0x7a, 0xd0, 0x58, 0x50, + 0xf0, 0xad, 0x4f, 0xfb, 0x56, 0xc5, 0x2b, 0xc7, 0x24, 0x03, 0x3c, 0xb7, 0x9e, 0xcc, 0x05, 0xb2, + 0x31, 0xd9, 0x87, 0x9a, 0xcd, 0xe3, 0x7a, 0x96, 0x11, 0xbb, 0x84, 0x1d, 0x93, 0x36, 0x6c, 0x08, + 0x36, 0x44, 0xa1, 0xbd, 0x0d, 0xab, 0xb8, 0xbf, 0x1a, 0xa5, 0xcc, 0x4a, 0x1d, 0x8a, 0x3c, 0x85, + 0x1d, 0x16, 0xc7, 0xd2, 0xb0, 0xac, 0xe8, 0x69, 0x6f, 0xb3, 0x1c, 0x8e, 0x9c, 0xd4, 0x9d, 0x43, + 0xe8, 0x22, 0x9e, 0xdc, 0x83, 0x1a, 0x4b, 0xcd, 0xc4, 0xdb, 0xb2, 0xbc, 0xeb, 0x2b, 0xbc, 0xd4, + 0x4c, 0xf2, 0xcd, 0x65, 0x28, 0xf2, 0x08, 0xb6, 0xb3, 0x6f, 0x7e, 0x02, 0xb7, 0xcb, 0x1e, 0xcf, + 0x29, 0xd9, 0x49, 0xb4, 0xb4, 0x2d, 0xe6, 0x46, 0x64, 0x00, 0x8d, 0xa2, 0x3e, 0xfa, 0x81, 0x8c, + 0x0d, 0x4e, 0x8d, 0x07, 0xe5, 0x1b, 0x6b, 0x63, 0x76, 0xea, 0x60, 0xfd, 0x1c, 0x45, 0xf7, 0xf4, + 0xf2, 0x04, 0x39, 0x06, 0xf2, 0x2e, 0x65, 0x22, 0x53, 0x92, 0xa3, 0xe2, 0x88, 0x7b, 0x0d, 0x2b, + 0x76, 0xb7, 0x24, 0xf6, 0x43, 0x0e, 0x7c, 0x35, 0x72, 0x07, 0x9d, 0x36, 0xde, 0x95, 0x66, 0xc8, + 0x4f, 0xb0, 0xaf, 0xd8, 0xb9, 0x2f, 0x53, 0x53, 0x24, 0x33, 0xdb, 0xe0, 0x88, 0x8f, 0xbd, 0xab, + 0x56, 0xf2, 0xb3, 0xb2, 0x87, 0x94, 0x9d, 0xbf, 0xb2, 0xe0, 0x2c, 0x91, 0x7d, 0x0b, 0xa5, 0xd7, + 0xd4, 0xea, 0x24, 0xf9, 0x02, 0xf6, 0x22, 0x36, 0xf5, 0x13, 0xa6, 0x98, 0x10, 0x28, 0xb8, 0x8e, + 0x3c, 0x72, 0x50, 0x39, 0x5c, 0xa7, 0xf5, 0x88, 0x4d, 0x4f, 0xe6, 0xb3, 0xe4, 0x19, 0xec, 0xda, + 0xde, 0xa2, 0xd2, 0xc4, 0xf0, 0xa1, 0x40, 0xef, 0x9a, 0x5d, 0xb9, 0xd9, 0xce, 0x4b, 0x79, 0xbb, + 0x28, 0xe5, 0xed, 0x9e, 0x94, 0xe2, 0x0d, 0x13, 0x29, 0xd2, 0x65, 0x42, 0xb6, 0x94, 0x3c, 0x43, + 0x75, 0xae, 0xb8, 0x41, 0x3f, 0x60, 0xc1, 0x04, 0xbd, 0xeb, 0x07, 0x95, 0xc3, 0x2d, 0x5a, 0x9f, + 0x4d, 0xf7, 0xb3, 0x59, 0x72, 0x08, 0x35, 0x8c, 0xcf, 0xb4, 0xf7, 0xf1, 0xfb, 0x13, 0x7e, 0x14, + 0x9f, 0x69, 0x6a, 0x11, 0xad, 0x3f, 0xab, 0x70, 0x75, 0xa5, 0x0a, 0x92, 0x87, 0xb0, 0xae, 0x0d, + 0x33, 0x79, 0x01, 0xaa, 0x2f, 0xc6, 0x7b, 0xa5, 0xdc, 0x66, 0x30, 0x9a, 0xa3, 0xc9, 0x73, 0xd8, + 0xc3, 0x69, 0x82, 0x81, 0x99, 0xdf, 0xbb, 0xea, 0x87, 0x6f, 0x6e, 0xbd, 0xe0, 0xb8, 0x8b, 0x77, + 0x04, 0x8d, 0x99, 0x4a, 0x9e, 0xaf, 0xa2, 0x00, 0x34, 0x4b, 0x32, 0x6f, 0x98, 0xe2, 0x59, 0x59, + 0xcc, 0x54, 0x66, 0x2b, 0xe7, 0x09, 0xd2, 0xe4, 0x11, 0x40, 0x60, 0xbb, 0x4f, 0xe8, 0x33, 0xe3, + 0xee, 0xff, 0x6a, 0xac, 0x5f, 0x17, 0x7d, 0x95, 0x6e, 0x3b, 0x74, 0xd7, 0x64, 0xd4, 0x34, 0x09, + 0x0b, 0xea, 0xfa, 0x87, 0xa9, 0x0e, 0xdd, 0x35, 0xad, 0xbf, 0x2a, 0x40, 0x56, 0x4b, 0x1c, 0xf9, + 0x16, 0xb6, 0x8a, 0x97, 0x81, 0x2b, 0xac, 0x2b, 0x57, 0xea, 0xd4, 0xd9, 0xe9, 0x0c, 0x49, 0x7a, + 0xb0, 0x1b, 0xcb, 0xac, 0xda, 0x06, 0xee, 0xe2, 0x57, 0x6d, 0xcb, 0xb9, 0x5d, 0xa6, 0xbe, 0x5c, + 0x00, 0xd1, 0x65, 0x0a, 0xe9, 0xc2, 0x55, 0xd7, 0xb5, 0x02, 0x19, 0x87, 0x3c, 0xd7, 0x59, 0x73, + 0xe7, 0xa2, 0xec, 0x52, 0x37, 0xbe, 0xa0, 0x8d, 0x1c, 0xde, 0x9f, 0xa1, 0x5b, 0xbf, 0x2e, 0xbe, + 0x25, 0x7e, 0xb4, 0xae, 0xfe, 0x87, 0xb7, 0xc4, 0xec, 0x4c, 0x55, 0xff, 0xcd, 0x99, 0x5a, 0x7e, + 0x4e, 0x14, 0x8b, 0xbb, 0xe7, 0xc4, 0x09, 0xdc, 0xe8, 0x06, 0x86, 0x9f, 0xe1, 0x42, 0xcf, 0x75, + 0x1b, 0x7b, 0xb8, 0xb0, 0xb1, 0xcf, 0x57, 0xe2, 0xc5, 0x22, 0x0c, 0x8f, 0x6c, 0xd3, 0x59, 0xde, + 0x64, 0xeb, 0x8f, 0x0a, 0xdc, 0x2a, 0x4b, 0x66, 0xcd, 0xbf, 0x90, 0xf5, 0x60, 0x33, 0x51, 0xf2, + 0x17, 0x0c, 0x8c, 0xeb, 0xcd, 0xc5, 0x90, 0xec, 0xc3, 0x46, 0x28, 0x23, 0xc6, 0x8b, 0xfe, 0xee, + 0x46, 0x59, 0xdb, 0x17, 0x3c, 0xe2, 0xc6, 0xc6, 0x7c, 0x97, 0xe6, 0x83, 0xf9, 0x63, 0xa0, 0xb6, + 0xf0, 0x18, 0x20, 0xf7, 0x61, 0x53, 0x4b, 0x65, 0xfc, 0xe1, 0x85, 0x3b, 0x74, 0x2b, 0x37, 0xf7, + 0x54, 0x2a, 0x43, 0x37, 0x32, 0x50, 0xef, 0x82, 0x34, 0x60, 0x4d, 0xaa, 0xb1, 0x6d, 0x21, 0xdb, + 0x34, 0xfb, 0xfd, 0xea, 0x6b, 0xd8, 0x2b, 0x85, 0x91, 0x5c, 0x81, 0xad, 0xc1, 0xcb, 0x6e, 0xff, + 0xf5, 0xe0, 0xcd, 0x51, 0xe3, 0x23, 0x02, 0xb0, 0xe1, 0xfe, 0x2b, 0xbd, 0xa7, 0x3f, 0x3f, 0x19, + 0x73, 0x33, 0x49, 0x87, 0xed, 0x40, 0x46, 0x1d, 0xbb, 0x90, 0x54, 0xe3, 0xfc, 0xa7, 0x33, 0x7b, + 0xb7, 0x8e, 0x31, 0xee, 0x24, 0xc3, 0xfb, 0x63, 0xd9, 0x59, 0x7e, 0xca, 0x0e, 0x37, 0xec, 0xa9, + 0xf9, 0xe6, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4b, 0xe0, 0xc4, 0x7a, 0xce, 0x0b, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go index b721e43d73..93810d4040 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go @@ -724,19 +724,21 @@ func (*MatchingAttributes) XXX_OneofWrappers() []interface{} { } } -// Represents a custom set of attributes applied for either a domain; a domain and project; or -// domain, project and workflow name. +// Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org); +// or domain, project and workflow name (and optional org). // These are used to override system level defaults for kubernetes cluster resource management, // default execution values, and more all across different levels of specificity. type MatchableAttributesConfiguration struct { - Attributes *MatchingAttributes `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` - Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` - Workflow string `protobuf:"bytes,4,opt,name=workflow,proto3" json:"workflow,omitempty"` - LaunchPlan string `protobuf:"bytes,5,opt,name=launch_plan,json=launchPlan,proto3" json:"launch_plan,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Attributes *MatchingAttributes `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` + Workflow string `protobuf:"bytes,4,opt,name=workflow,proto3" json:"workflow,omitempty"` + LaunchPlan string `protobuf:"bytes,5,opt,name=launch_plan,json=launchPlan,proto3" json:"launch_plan,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,6,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *MatchableAttributesConfiguration) Reset() { *m = MatchableAttributesConfiguration{} } @@ -799,6 +801,13 @@ func (m *MatchableAttributesConfiguration) GetLaunchPlan() string { return "" } +func (m *MatchableAttributesConfiguration) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Request all matching resource attributes for a resource type. // See :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for more details type ListMatchableAttributesRequest struct { @@ -905,89 +914,90 @@ func init() { } var fileDescriptor_1d15bcabb02640f4 = []byte{ - // 1338 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x59, 0x73, 0x1a, 0x47, - 0x10, 0x66, 0x75, 0x20, 0xd4, 0xc4, 0xb0, 0x1a, 0x5b, 0x12, 0x92, 0x62, 0x5b, 0xd9, 0x1c, 0x56, - 0x92, 0x32, 0xa4, 0x48, 0x1e, 0x9c, 0xc3, 0x55, 0x41, 0x78, 0x31, 0x94, 0x91, 0x90, 0x06, 0xf0, - 0x91, 0x97, 0xad, 0x61, 0x19, 0x96, 0x8d, 0xf6, 0xd2, 0xec, 0xac, 0x10, 0x95, 0x3f, 0x91, 0x87, - 0xe4, 0xa7, 0xe4, 0xa7, 0xe4, 0x3d, 0xef, 0xc9, 0x8f, 0x48, 0xed, 0x09, 0xac, 0xc0, 0xe5, 0xb7, - 0x99, 0x9e, 0xaf, 0x8f, 0xe9, 0xe9, 0xfe, 0x7a, 0xe0, 0xc9, 0xc8, 0x98, 0x72, 0xaa, 0x0f, 0x8d, - 0x0a, 0x19, 0x9a, 0xba, 0x55, 0x31, 0x09, 0x57, 0xc7, 0x64, 0x60, 0x50, 0x85, 0x51, 0xd7, 0xf6, - 0x98, 0x4a, 0xcb, 0x0e, 0xb3, 0xb9, 0x8d, 0x0a, 0x31, 0xb0, 0x1c, 0x00, 0x0f, 0x8f, 0x52, 0x8a, - 0xaa, 0x6d, 0x9a, 0xb6, 0x15, 0x82, 0x0f, 0xd3, 0x56, 0x55, 0xc3, 0x73, 0x39, 0x65, 0x0a, 0x71, - 0x5d, 0x5d, 0xb3, 0x4c, 0x6a, 0xf1, 0x08, 0xf8, 0x30, 0x01, 0xaa, 0x36, 0xa3, 0x15, 0x7a, 0x4b, - 0x55, 0x8f, 0xeb, 0x89, 0x9d, 0x8f, 0x17, 0x8f, 0x5d, 0xaa, 0x7a, 0x4c, 0xe7, 0xd3, 0xe8, 0xf4, - 0x91, 0x66, 0xdb, 0x9a, 0x41, 0x2b, 0xc1, 0x6e, 0xe0, 0x8d, 0x2a, 0x13, 0x46, 0x1c, 0x87, 0x32, - 0x37, 0x3c, 0x97, 0xfe, 0x14, 0x40, 0xec, 0x11, 0xf7, 0x0a, 0x47, 0x37, 0xe9, 0x3a, 0x54, 0x45, - 0x22, 0xac, 0xab, 0x8e, 0x57, 0x12, 0x8e, 0x85, 0x93, 0x6d, 0xec, 0x2f, 0x7d, 0x89, 0xe6, 0x78, - 0xa5, 0xb5, 0x50, 0xa2, 0x39, 0x1e, 0xda, 0x83, 0xac, 0x49, 0x4d, 0x9b, 0x4d, 0x4b, 0xeb, 0x81, - 0x30, 0xda, 0xa1, 0x12, 0x6c, 0xb9, 0xdc, 0x66, 0x44, 0xa3, 0xa5, 0x8d, 0xe0, 0x20, 0xde, 0xa2, - 0xaf, 0x61, 0x87, 0x3a, 0x63, 0x6a, 0x52, 0x46, 0x0c, 0x25, 0xc6, 0x6c, 0x06, 0x18, 0x31, 0x39, - 0xe8, 0x86, 0x72, 0xe9, 0x77, 0x01, 0xf6, 0xe6, 0xe3, 0xaa, 0x71, 0xce, 0xf4, 0x81, 0xc7, 0xa9, - 0x8b, 0x7e, 0x82, 0xdc, 0x90, 0x8e, 0x88, 0x67, 0x70, 0x37, 0x08, 0x31, 0x5f, 0x3d, 0x2e, 0x2f, - 0x26, 0xbe, 0x9c, 0xbe, 0x11, 0x4e, 0x34, 0xd0, 0x33, 0xc8, 0x1a, 0xba, 0xa9, 0x73, 0x37, 0xb8, - 0xcc, 0x87, 0xe8, 0x46, 0x78, 0xe9, 0x2f, 0x01, 0x0e, 0xea, 0xe1, 0x23, 0x2d, 0x89, 0xea, 0x1d, - 0x00, 0x49, 0x76, 0x25, 0xe1, 0x78, 0xfd, 0x24, 0x5f, 0xfd, 0x3e, 0x6d, 0x7b, 0xa5, 0x7a, 0x79, - 0xb6, 0x94, 0x2d, 0xce, 0xa6, 0x78, 0xce, 0xd8, 0xe1, 0x73, 0x28, 0xa6, 0x8e, 0xfd, 0xf7, 0xb8, - 0xa2, 0xd3, 0xf8, 0x85, 0xae, 0xe8, 0x14, 0x3d, 0x80, 0xcd, 0x1b, 0x62, 0x78, 0x34, 0x7a, 0xa3, - 0x70, 0xf3, 0xc3, 0xda, 0x33, 0x41, 0x2a, 0x43, 0x49, 0x8e, 0x6b, 0xe6, 0xd2, 0xa3, 0xde, 0x7c, - 0xd4, 0x08, 0x36, 0x38, 0xd1, 0xc2, 0x78, 0xb7, 0x71, 0xb0, 0x96, 0x9e, 0xc2, 0x6e, 0x82, 0x8f, - 0x02, 0x6e, 0x93, 0x01, 0x35, 0x66, 0x2e, 0x84, 0x39, 0x17, 0xd2, 0x7f, 0x02, 0x14, 0x2e, 0x0c, - 0x4f, 0xd3, 0xad, 0xce, 0x0d, 0x65, 0x4c, 0x1f, 0x52, 0x74, 0x04, 0xdb, 0x9c, 0xb8, 0x57, 0x0a, - 0x9f, 0x3a, 0x31, 0x38, 0xe7, 0x0b, 0x7a, 0x53, 0x27, 0x38, 0x74, 0x02, 0xb8, 0xa2, 0x0f, 0x4b, - 0x6b, 0x81, 0xdf, 0x5c, 0x28, 0x68, 0x0d, 0x91, 0x01, 0xfb, 0xa6, 0xee, 0xba, 0xba, 0xa5, 0x29, - 0x11, 0x68, 0x40, 0xc7, 0xe4, 0x46, 0xb7, 0x59, 0x50, 0x4d, 0x85, 0xea, 0x77, 0xe9, 0x94, 0x2e, - 0xba, 0x2e, 0x9f, 0x85, 0xda, 0xa1, 0xf4, 0x34, 0xd2, 0xc5, 0xbb, 0xe6, 0x32, 0xb1, 0x54, 0x85, - 0xdd, 0xa5, 0x78, 0x94, 0x83, 0x8d, 0x46, 0xad, 0xd5, 0x16, 0x33, 0xa8, 0x08, 0xf9, 0x7e, 0x57, - 0x56, 0x5e, 0xc8, 0x8d, 0x5a, 0xbf, 0xdd, 0x13, 0x05, 0xa9, 0x03, 0xc5, 0x45, 0x97, 0x7e, 0x41, - 0x6e, 0xdb, 0xf1, 0x26, 0x7a, 0xf9, 0x47, 0xef, 0x0f, 0x13, 0xcf, 0x14, 0xa4, 0x7f, 0xd7, 0x61, - 0xff, 0x8d, 0xcd, 0xae, 0x46, 0x86, 0x3d, 0x99, 0xe5, 0xdd, 0xb6, 0x46, 0xba, 0x86, 0x9e, 0x40, - 0xd1, 0x24, 0xb7, 0x8a, 0x43, 0x18, 0x31, 0x0c, 0x6a, 0xe8, 0xae, 0x19, 0xa4, 0x73, 0x13, 0x17, - 0x4c, 0x72, 0x7b, 0x31, 0x93, 0xa2, 0x16, 0x88, 0x71, 0xe3, 0x2b, 0xaa, 0x6d, 0x71, 0x7a, 0xcb, - 0xa3, 0xfa, 0x9e, 0x8b, 0xc4, 0xe7, 0x87, 0x72, 0x37, 0x82, 0xd5, 0x43, 0x14, 0x2e, 0xba, 0x8b, - 0x02, 0xf4, 0x16, 0xf6, 0x18, 0x99, 0x28, 0xb6, 0xc7, 0x1d, 0x8f, 0x2b, 0x43, 0xc2, 0x89, 0x6f, - 0x71, 0xa4, 0x6b, 0x41, 0xa3, 0xe7, 0xab, 0x9f, 0xa6, 0xaf, 0x86, 0xc9, 0xa4, 0x13, 0x80, 0x5f, - 0x10, 0x4e, 0xc2, 0xc0, 0xf1, 0x7d, 0x76, 0x57, 0x88, 0xca, 0x90, 0x35, 0xfc, 0x42, 0x72, 0x83, - 0xb7, 0xcc, 0x57, 0xf7, 0xd2, 0x96, 0x82, 0x32, 0x73, 0x71, 0x84, 0x42, 0xcf, 0x21, 0x4f, 0x2c, - 0xcb, 0xe6, 0xc4, 0xcf, 0x88, 0x1b, 0x50, 0x45, 0xbe, 0x7a, 0x94, 0x56, 0xaa, 0xcd, 0x20, 0x78, - 0x1e, 0x8f, 0x7e, 0x86, 0x7b, 0xba, 0xc5, 0x29, 0x63, 0x9e, 0xc3, 0xf5, 0x81, 0x41, 0x4b, 0xd9, - 0xc0, 0xc0, 0x61, 0x39, 0xa4, 0xc4, 0x72, 0x4c, 0x89, 0xe5, 0x53, 0xdb, 0x36, 0x5e, 0xfb, 0xb5, - 0x8c, 0x17, 0x15, 0xfc, 0xf4, 0xfb, 0xef, 0x34, 0x61, 0x3a, 0xa7, 0x8a, 0x4a, 0xd4, 0x31, 0x2d, - 0x6d, 0x1d, 0x0b, 0x27, 0x39, 0x5c, 0x48, 0xc4, 0x75, 0x5f, 0x8a, 0x4e, 0x60, 0x83, 0x5a, 0x37, - 0x6e, 0x29, 0x17, 0x78, 0x78, 0x90, 0x0e, 0x51, 0xb6, 0x6e, 0x5c, 0x1c, 0x20, 0xa4, 0x3f, 0xb2, - 0x80, 0xce, 0xfc, 0xf9, 0xa1, 0x5b, 0xda, 0x5c, 0x1f, 0x0e, 0xa0, 0x14, 0x74, 0x4c, 0x3c, 0x50, - 0x94, 0x05, 0x2e, 0xf1, 0x8d, 0x7e, 0xf1, 0x3e, 0x9e, 0x9a, 0x59, 0x6a, 0x66, 0xf0, 0x1e, 0x5f, - 0xce, 0x9b, 0x57, 0x70, 0x14, 0xcf, 0x98, 0x65, 0x6e, 0xc2, 0x72, 0xf9, 0xf2, 0x83, 0x29, 0xab, - 0x99, 0xc1, 0x07, 0xea, 0x4a, 0x3a, 0x1c, 0xc3, 0x61, 0x32, 0xa8, 0x94, 0x6b, 0x9f, 0x75, 0xe6, - 0x7d, 0x85, 0x95, 0x74, 0x72, 0x27, 0x4f, 0x2b, 0x68, 0xaa, 0x99, 0xc1, 0x25, 0xba, 0x8a, 0xc2, - 0x14, 0xd8, 0x9f, 0x79, 0x8a, 0x2f, 0x18, 0x54, 0x50, 0x54, 0x66, 0x9f, 0xaf, 0x74, 0x33, 0xcf, - 0x6e, 0xcd, 0x0c, 0xde, 0xa5, 0x4b, 0x69, 0xaf, 0x03, 0xe8, 0xda, 0x23, 0x86, 0xdf, 0x5a, 0xf6, - 0x48, 0x71, 0x29, 0xbb, 0xd1, 0x55, 0x1a, 0x55, 0xe3, 0xe3, 0x54, 0x77, 0x5d, 0x86, 0xc0, 0xce, - 0xa8, 0x1b, 0xc2, 0x9a, 0x19, 0x2c, 0x5e, 0xa7, 0x64, 0xa8, 0x0d, 0x62, 0x44, 0x6e, 0x33, 0xda, - 0xc8, 0xa6, 0xcd, 0x2d, 0xa3, 0x0d, 0x3f, 0x11, 0x45, 0x27, 0xc5, 0x3e, 0x14, 0x0e, 0x26, 0x11, - 0x7d, 0x28, 0x73, 0x89, 0x08, 0x5b, 0x76, 0x2b, 0x30, 0xfb, 0x24, 0x6d, 0x76, 0x05, 0xdf, 0x34, - 0x33, 0x78, 0x7f, 0xb2, 0x82, 0x8a, 0x30, 0xa0, 0xbb, 0x3f, 0x94, 0xa8, 0xe0, 0x3f, 0x59, 0x51, - 0x34, 0xb5, 0x04, 0xd8, 0xcc, 0xe0, 0x1d, 0x35, 0x2d, 0x3c, 0xcd, 0x41, 0x96, 0x13, 0xa6, 0x51, - 0x2e, 0xfd, 0x2d, 0xc0, 0xf1, 0x59, 0xfc, 0xad, 0x9a, 0x3d, 0x6e, 0xe8, 0xdb, 0x63, 0x41, 0x47, - 0xa3, 0xd3, 0xd4, 0x88, 0xf5, 0x5d, 0x4b, 0x69, 0xd7, 0x77, 0x9b, 0x6b, 0x7e, 0x96, 0xfa, 0xdf, - 0x96, 0xa1, 0x6d, 0x12, 0xdd, 0x8a, 0xe6, 0x64, 0xb4, 0xf3, 0xbf, 0x2d, 0x0e, 0xb3, 0x7f, 0xa5, - 0x2a, 0x8f, 0xfe, 0x33, 0xf1, 0x16, 0x1d, 0x42, 0x2e, 0xce, 0x49, 0xf4, 0xa3, 0x49, 0xf6, 0xe8, - 0x31, 0xe4, 0x0d, 0xe2, 0x59, 0xea, 0x58, 0x71, 0x0c, 0x62, 0x45, 0x9f, 0x19, 0x08, 0x45, 0x17, - 0x06, 0xb1, 0xa4, 0x31, 0x3c, 0x6a, 0xeb, 0x2e, 0x5f, 0x72, 0x35, 0x4c, 0xaf, 0x3d, 0xea, 0x72, - 0xd4, 0x80, 0x7b, 0x49, 0x37, 0x26, 0xf3, 0xb2, 0x70, 0x37, 0xa5, 0x89, 0x89, 0xb8, 0xd9, 0xf0, - 0x47, 0xb1, 0x9e, 0x3f, 0x56, 0xa5, 0xdf, 0xe0, 0xf1, 0x4a, 0x4f, 0xae, 0x63, 0x5b, 0x2e, 0x45, - 0x6f, 0xa1, 0xa0, 0xce, 0x27, 0x34, 0x1e, 0x56, 0xdf, 0xac, 0xf4, 0xb5, 0xe2, 0x25, 0x70, 0xca, - 0xce, 0x57, 0xff, 0x08, 0xb0, 0x73, 0x27, 0x40, 0xb4, 0x03, 0xf7, 0x7a, 0xb5, 0xee, 0x2b, 0x05, - 0xcb, 0xdd, 0x4e, 0x1f, 0xd7, 0x65, 0x31, 0x83, 0x1e, 0x80, 0x58, 0x6f, 0xf7, 0xbb, 0x3d, 0x19, - 0xcf, 0xa4, 0x02, 0xba, 0x0f, 0x45, 0xf9, 0xad, 0x5c, 0xef, 0xf7, 0x5a, 0x9d, 0x73, 0xe5, 0xb2, - 0x2f, 0xf7, 0x65, 0x71, 0x0d, 0x1d, 0xc1, 0xfe, 0x4c, 0x18, 0x2b, 0xb5, 0x6b, 0xa7, 0x72, 0x5b, - 0x5c, 0x47, 0x9f, 0xc1, 0xf1, 0x65, 0xbf, 0xd6, 0x6e, 0xf5, 0xde, 0x29, 0x9d, 0x86, 0xd2, 0x95, - 0xf1, 0xeb, 0x56, 0x5d, 0x56, 0xba, 0x17, 0x72, 0xbd, 0xd5, 0x68, 0xd5, 0x6b, 0xbe, 0x8e, 0xb8, - 0xe1, 0xdb, 0xbd, 0x68, 0xf7, 0x5f, 0xb6, 0xce, 0x95, 0xce, 0x6b, 0x19, 0xe3, 0xd6, 0x0b, 0x59, - 0xdc, 0x44, 0x0f, 0xe1, 0xe0, 0x4d, 0x07, 0xbf, 0x6a, 0xb4, 0x3b, 0x6f, 0x94, 0x39, 0x07, 0x9d, - 0xf3, 0x46, 0xeb, 0xa5, 0x98, 0x45, 0x7b, 0x80, 0x62, 0x67, 0xb5, 0x6e, 0xb7, 0xf5, 0xf2, 0xfc, - 0x4c, 0x3e, 0xef, 0x89, 0x5b, 0xa7, 0xcf, 0x7f, 0xf9, 0x51, 0xd3, 0xf9, 0xd8, 0x1b, 0x94, 0x55, - 0xdb, 0xac, 0x04, 0x09, 0xb3, 0x99, 0x16, 0x2e, 0x2a, 0xc9, 0x17, 0x5c, 0xa3, 0x56, 0xc5, 0x19, - 0x3c, 0xd5, 0xec, 0xca, 0xe2, 0xef, 0x7e, 0x90, 0x0d, 0xa6, 0xcd, 0xb7, 0xff, 0x07, 0x00, 0x00, - 0xff, 0xff, 0x9e, 0xa4, 0xff, 0x06, 0x4c, 0x0c, 0x00, 0x00, + // 1350 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x5b, 0x53, 0xdb, 0x46, + 0x14, 0xb6, 0xb9, 0x18, 0x73, 0xdc, 0x80, 0xd8, 0x04, 0x30, 0xd0, 0x24, 0x54, 0xbd, 0x84, 0xb6, + 0x13, 0xbb, 0x43, 0xfb, 0x90, 0x5e, 0x32, 0x53, 0xe3, 0x88, 0xe0, 0x89, 0xc1, 0xb0, 0xb6, 0x73, + 0xe9, 0x8b, 0x66, 0x2d, 0xaf, 0x65, 0x15, 0x49, 0x2b, 0x56, 0x2b, 0xc0, 0xd3, 0x3f, 0xd1, 0x87, + 0xf6, 0xa7, 0xf4, 0xff, 0xf4, 0xad, 0x0f, 0xed, 0x8f, 0xe8, 0x68, 0x75, 0xb1, 0x2d, 0xec, 0x4c, + 0xde, 0x76, 0xcf, 0x7e, 0xe7, 0xb2, 0x67, 0xcf, 0xf9, 0xce, 0xc2, 0x93, 0x81, 0x3d, 0x12, 0xd4, + 0xea, 0xdb, 0x55, 0xd2, 0x77, 0x2c, 0xb7, 0xea, 0x10, 0x61, 0x0c, 0x49, 0xcf, 0xa6, 0x3a, 0xa7, + 0x3e, 0x0b, 0xb8, 0x41, 0x2b, 0x1e, 0x67, 0x82, 0xa1, 0xb5, 0x04, 0x58, 0x91, 0xc0, 0xdd, 0xbd, + 0x8c, 0xa2, 0xc1, 0x1c, 0x87, 0xb9, 0x11, 0x78, 0x37, 0x6b, 0xd5, 0xb0, 0x03, 0x5f, 0x50, 0xae, + 0x13, 0xdf, 0xb7, 0x4c, 0xd7, 0xa1, 0xae, 0x88, 0x81, 0x0f, 0x53, 0xa0, 0xc1, 0x38, 0xad, 0xd2, + 0x5b, 0x6a, 0x04, 0xc2, 0x4a, 0xed, 0x7c, 0x3c, 0x7d, 0xec, 0x53, 0x23, 0xe0, 0x96, 0x18, 0xc5, + 0xa7, 0x8f, 0x4c, 0xc6, 0x4c, 0x9b, 0x56, 0xe5, 0xae, 0x17, 0x0c, 0xaa, 0x37, 0x9c, 0x78, 0x1e, + 0xe5, 0x7e, 0x74, 0xae, 0xfe, 0x99, 0x07, 0xa5, 0x43, 0xfc, 0x4b, 0x1c, 0xdf, 0xa4, 0xed, 0x51, + 0x03, 0x29, 0xb0, 0x68, 0x78, 0x41, 0x39, 0xbf, 0x9f, 0x3f, 0x58, 0xc5, 0xe1, 0x32, 0x94, 0x98, + 0x5e, 0x50, 0x5e, 0x88, 0x24, 0xa6, 0x17, 0xa0, 0x2d, 0x28, 0x38, 0xd4, 0x61, 0x7c, 0x54, 0x5e, + 0x94, 0xc2, 0x78, 0x87, 0xca, 0xb0, 0xe2, 0x0b, 0xc6, 0x89, 0x49, 0xcb, 0x4b, 0xf2, 0x20, 0xd9, + 0xa2, 0xaf, 0x61, 0x83, 0x7a, 0x43, 0xea, 0x50, 0x4e, 0x6c, 0x3d, 0xc1, 0x2c, 0x4b, 0x8c, 0x92, + 0x1e, 0xb4, 0x23, 0xb9, 0xfa, 0x7b, 0x1e, 0xb6, 0x26, 0xe3, 0xaa, 0x09, 0xc1, 0xad, 0x5e, 0x20, + 0xa8, 0x8f, 0x7e, 0x82, 0x62, 0x9f, 0x0e, 0x48, 0x60, 0x0b, 0x5f, 0x86, 0x58, 0x3a, 0xdc, 0xaf, + 0x4c, 0x27, 0xbe, 0x92, 0xbd, 0x11, 0x4e, 0x35, 0xd0, 0x33, 0x28, 0xd8, 0x96, 0x63, 0x09, 0x5f, + 0x5e, 0xe6, 0x43, 0x74, 0x63, 0xbc, 0xfa, 0x57, 0x1e, 0x76, 0xea, 0xd1, 0x23, 0xcd, 0x88, 0xea, + 0x1d, 0x00, 0x49, 0x77, 0xe5, 0xfc, 0xfe, 0xe2, 0x41, 0xe9, 0xf0, 0xfb, 0xac, 0xed, 0xb9, 0xea, + 0x95, 0xf1, 0x52, 0x73, 0x05, 0x1f, 0xe1, 0x09, 0x63, 0xbb, 0xcf, 0x61, 0x3d, 0x73, 0x1c, 0xbe, + 0xc7, 0x25, 0x1d, 0x25, 0x2f, 0x74, 0x49, 0x47, 0xe8, 0x01, 0x2c, 0x5f, 0x13, 0x3b, 0xa0, 0xf1, + 0x1b, 0x45, 0x9b, 0x1f, 0x16, 0x9e, 0xe5, 0xd5, 0x0a, 0x94, 0xb5, 0xa4, 0x66, 0x2e, 0x02, 0x1a, + 0x4c, 0x46, 0x8d, 0x60, 0x49, 0x10, 0x33, 0x8a, 0x77, 0x15, 0xcb, 0xb5, 0xfa, 0x14, 0x36, 0x53, + 0x7c, 0x1c, 0x70, 0x93, 0xf4, 0xa8, 0x3d, 0x76, 0x91, 0x9f, 0x70, 0xa1, 0xfe, 0x97, 0x87, 0xb5, + 0x73, 0x3b, 0x30, 0x2d, 0xb7, 0x75, 0x4d, 0x39, 0xb7, 0xfa, 0x14, 0xed, 0xc1, 0xaa, 0x20, 0xfe, + 0xa5, 0x2e, 0x46, 0x5e, 0x02, 0x2e, 0x86, 0x82, 0xce, 0xc8, 0x93, 0x87, 0x9e, 0x84, 0xeb, 0x56, + 0xbf, 0xbc, 0x20, 0xfd, 0x16, 0x23, 0x41, 0xa3, 0x8f, 0x6c, 0xd8, 0x76, 0x2c, 0xdf, 0xb7, 0x5c, + 0x53, 0x8f, 0x41, 0x3d, 0x3a, 0x24, 0xd7, 0x16, 0xe3, 0xb2, 0x9a, 0xd6, 0x0e, 0xbf, 0xcb, 0xa6, + 0x74, 0xda, 0x75, 0xe5, 0x34, 0xd2, 0x8e, 0xa4, 0x47, 0xb1, 0x2e, 0xde, 0x74, 0x66, 0x89, 0xd5, + 0x43, 0xd8, 0x9c, 0x89, 0x47, 0x45, 0x58, 0x3a, 0xae, 0x35, 0x9a, 0x4a, 0x0e, 0xad, 0x43, 0xa9, + 0xdb, 0xd6, 0xf4, 0x17, 0xda, 0x71, 0xad, 0xdb, 0xec, 0x28, 0x79, 0xb5, 0x05, 0xeb, 0xd3, 0x2e, + 0xc3, 0x82, 0x5c, 0x65, 0xc9, 0x26, 0x7e, 0xf9, 0x47, 0xef, 0x0f, 0x13, 0x8f, 0x15, 0xd4, 0x7f, + 0x17, 0x61, 0xfb, 0x0d, 0xe3, 0x97, 0x03, 0x9b, 0xdd, 0x8c, 0xf3, 0xce, 0xdc, 0x81, 0x65, 0xa2, + 0x27, 0xb0, 0xee, 0x90, 0x5b, 0xdd, 0x23, 0x9c, 0xd8, 0x36, 0xb5, 0x2d, 0xdf, 0x91, 0xe9, 0x5c, + 0xc6, 0x6b, 0x0e, 0xb9, 0x3d, 0x1f, 0x4b, 0x51, 0x03, 0x94, 0xa4, 0xf1, 0x75, 0x83, 0xb9, 0x82, + 0xde, 0x8a, 0xb8, 0xbe, 0x27, 0x22, 0x09, 0xf9, 0xa1, 0xd2, 0x8e, 0x61, 0xf5, 0x08, 0x85, 0xd7, + 0xfd, 0x69, 0x01, 0x7a, 0x0b, 0x5b, 0x9c, 0xdc, 0xe8, 0x2c, 0x10, 0x5e, 0x20, 0xf4, 0x3e, 0x11, + 0x24, 0xb4, 0x38, 0xb0, 0x4c, 0xd9, 0xe8, 0xa5, 0xc3, 0x4f, 0xb3, 0x57, 0xc3, 0xe4, 0xa6, 0x25, + 0xc1, 0x2f, 0x88, 0x20, 0x51, 0xe0, 0xf8, 0x3e, 0xbf, 0x2b, 0x44, 0x15, 0x28, 0xd8, 0x61, 0x21, + 0xf9, 0xf2, 0x2d, 0x4b, 0x87, 0x5b, 0x59, 0x4b, 0xb2, 0xcc, 0x7c, 0x1c, 0xa3, 0xd0, 0x73, 0x28, + 0x11, 0xd7, 0x65, 0x82, 0x84, 0x19, 0xf1, 0x25, 0x55, 0x94, 0x0e, 0xf7, 0xb2, 0x4a, 0xb5, 0x31, + 0x04, 0x4f, 0xe2, 0xd1, 0xcf, 0x70, 0xcf, 0x72, 0x05, 0xe5, 0x3c, 0xf0, 0x84, 0xd5, 0xb3, 0x69, + 0xb9, 0x20, 0x0d, 0xec, 0x56, 0x22, 0x4a, 0xac, 0x24, 0x94, 0x58, 0x39, 0x62, 0xcc, 0x7e, 0x1d, + 0xd6, 0x32, 0x9e, 0x56, 0x08, 0xd3, 0x1f, 0xbe, 0xd3, 0x0d, 0xb7, 0x04, 0xd5, 0x0d, 0x62, 0x0c, + 0x69, 0x79, 0x65, 0x3f, 0x7f, 0x50, 0xc4, 0x6b, 0xa9, 0xb8, 0x1e, 0x4a, 0xd1, 0x01, 0x2c, 0x51, + 0xf7, 0xda, 0x2f, 0x17, 0xa5, 0x87, 0x07, 0xd9, 0x10, 0x35, 0xf7, 0xda, 0xc7, 0x12, 0xa1, 0xfe, + 0x51, 0x00, 0x74, 0x1a, 0xce, 0x0f, 0xcb, 0x35, 0x27, 0xfa, 0xb0, 0x07, 0x65, 0xd9, 0x31, 0xc9, + 0x40, 0xd1, 0xa7, 0xb8, 0x24, 0x34, 0xfa, 0xc5, 0xfb, 0x78, 0x6a, 0x6c, 0xe9, 0x24, 0x87, 0xb7, + 0xc4, 0x6c, 0xde, 0xbc, 0x84, 0xbd, 0x64, 0xc6, 0xcc, 0x72, 0x13, 0x95, 0xcb, 0x97, 0x1f, 0x4c, + 0x59, 0x27, 0x39, 0xbc, 0x63, 0xcc, 0xa5, 0xc3, 0x21, 0xec, 0xa6, 0x83, 0x4a, 0xbf, 0x0a, 0x59, + 0x67, 0xd2, 0x57, 0x54, 0x49, 0x07, 0x77, 0xf2, 0x34, 0x87, 0xa6, 0x4e, 0x72, 0xb8, 0x4c, 0xe7, + 0x51, 0x98, 0x0e, 0xdb, 0x63, 0x4f, 0xc9, 0x05, 0x65, 0x05, 0xc5, 0x65, 0xf6, 0xf9, 0x5c, 0x37, + 0x93, 0xec, 0x76, 0x92, 0xc3, 0x9b, 0x74, 0x26, 0xed, 0xb5, 0x00, 0x5d, 0x05, 0xc4, 0x0e, 0x5b, + 0x8b, 0x0d, 0x74, 0x9f, 0xf2, 0x6b, 0xcb, 0xa0, 0x71, 0x35, 0x3e, 0xce, 0x74, 0xd7, 0x45, 0x04, + 0x6c, 0x0d, 0xda, 0x11, 0xec, 0x24, 0x87, 0x95, 0xab, 0x8c, 0x0c, 0x35, 0x41, 0x89, 0xc9, 0x6d, + 0x4c, 0x1b, 0x85, 0xac, 0xb9, 0x59, 0xb4, 0x11, 0x26, 0x62, 0xdd, 0xcb, 0xb0, 0x0f, 0x85, 0x9d, + 0x9b, 0x98, 0x3e, 0xf4, 0x89, 0x44, 0x44, 0x2d, 0xbb, 0x22, 0xcd, 0x3e, 0xc9, 0x9a, 0x9d, 0xc3, + 0x37, 0x27, 0x39, 0xbc, 0x7d, 0x33, 0x87, 0x8a, 0x30, 0xa0, 0xbb, 0x3f, 0x94, 0xb8, 0xe0, 0x3f, + 0x99, 0x53, 0x34, 0xb5, 0x14, 0x78, 0x92, 0xc3, 0x1b, 0x46, 0x56, 0x78, 0x54, 0x84, 0x82, 0x20, + 0xdc, 0xa4, 0x42, 0xfd, 0x27, 0x0f, 0xfb, 0xa7, 0xc9, 0xb7, 0x6a, 0xfc, 0xb8, 0x91, 0xef, 0x80, + 0xcb, 0x8e, 0x46, 0x47, 0x99, 0x11, 0x1b, 0xba, 0x56, 0xb3, 0xae, 0xef, 0x36, 0xd7, 0xe4, 0x2c, + 0x0d, 0xbf, 0x2d, 0x7d, 0xe6, 0x10, 0xcb, 0x8d, 0xe7, 0x64, 0xbc, 0x0b, 0xbf, 0x2d, 0x1e, 0x67, + 0xbf, 0x52, 0x43, 0xc4, 0xff, 0x99, 0x64, 0x8b, 0x76, 0xa1, 0x98, 0xe4, 0x24, 0xfe, 0xd1, 0xa4, + 0x7b, 0xf4, 0x18, 0x4a, 0x36, 0x09, 0x5c, 0x63, 0xa8, 0x7b, 0x36, 0x71, 0xe3, 0xcf, 0x0c, 0x44, + 0xa2, 0x73, 0x9b, 0xb8, 0xe1, 0x9c, 0x66, 0xdc, 0x94, 0xaf, 0xbb, 0x8a, 0xc3, 0xa5, 0x3a, 0x84, + 0x47, 0x4d, 0xcb, 0x17, 0x33, 0x2e, 0x8b, 0xe9, 0x55, 0x40, 0x7d, 0x81, 0x8e, 0xe1, 0x5e, 0xda, + 0x9f, 0xe9, 0x04, 0x5d, 0xbb, 0x9b, 0xe4, 0xd4, 0x44, 0xd2, 0x7e, 0xf8, 0xa3, 0x44, 0x2f, 0x1c, + 0xb4, 0xea, 0x6f, 0xf0, 0x78, 0xae, 0x27, 0xdf, 0x63, 0xae, 0x4f, 0xd1, 0x5b, 0x58, 0x33, 0x26, + 0x53, 0x9c, 0x8c, 0xaf, 0x6f, 0xe6, 0xfa, 0x9a, 0xf3, 0x36, 0x38, 0x63, 0xe7, 0xab, 0xbf, 0xf3, + 0xb0, 0x71, 0x27, 0x40, 0xb4, 0x01, 0xf7, 0x3a, 0xb5, 0xf6, 0x2b, 0x1d, 0x6b, 0xed, 0x56, 0x17, + 0xd7, 0x35, 0x25, 0x87, 0x1e, 0x80, 0x52, 0x6f, 0x76, 0xdb, 0x1d, 0x0d, 0x8f, 0xa5, 0x79, 0x74, + 0x1f, 0xd6, 0xb5, 0xb7, 0x5a, 0xbd, 0xdb, 0x69, 0xb4, 0xce, 0xf4, 0x8b, 0xae, 0xd6, 0xd5, 0x94, + 0x05, 0xb4, 0x07, 0xdb, 0x63, 0x61, 0xa2, 0xd4, 0xac, 0x1d, 0x69, 0x4d, 0x65, 0x11, 0x7d, 0x06, + 0xfb, 0x17, 0xdd, 0x5a, 0xb3, 0xd1, 0x79, 0xa7, 0xb7, 0x8e, 0xf5, 0xb6, 0x86, 0x5f, 0x37, 0xea, + 0x9a, 0xde, 0x3e, 0xd7, 0xea, 0x8d, 0xe3, 0x46, 0xbd, 0x16, 0xea, 0x28, 0x4b, 0xa1, 0xdd, 0xf3, + 0x66, 0xf7, 0x65, 0xe3, 0x4c, 0x6f, 0xbd, 0xd6, 0x30, 0x6e, 0xbc, 0xd0, 0x94, 0x65, 0xf4, 0x10, + 0x76, 0xde, 0xb4, 0xf0, 0xab, 0xe3, 0x66, 0xeb, 0x8d, 0x3e, 0xe1, 0xa0, 0x75, 0x76, 0xdc, 0x78, + 0xa9, 0x14, 0xd0, 0x16, 0xa0, 0xc4, 0x59, 0xad, 0xdd, 0x6e, 0xbc, 0x3c, 0x3b, 0xd5, 0xce, 0x3a, + 0xca, 0xca, 0xd1, 0xf3, 0x5f, 0x7e, 0x34, 0x2d, 0x31, 0x0c, 0x7a, 0x15, 0x83, 0x39, 0x55, 0x99, + 0x30, 0xc6, 0xcd, 0x68, 0x51, 0x4d, 0x3f, 0xe5, 0x26, 0x75, 0xab, 0x5e, 0xef, 0xa9, 0xc9, 0xaa, + 0xd3, 0xff, 0xfd, 0x5e, 0x41, 0xce, 0x9f, 0x6f, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xeb, 0x2e, + 0x6f, 0x69, 0x5e, 0x0c, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go index 662d2311ac..790ab90e6d 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go @@ -113,11 +113,13 @@ type Project struct { Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // Leverage Labels from flyteidl.admin.common.proto to // tag projects with ownership information. - Labels *Labels `protobuf:"bytes,5,opt,name=labels,proto3" json:"labels,omitempty"` - State Project_ProjectState `protobuf:"varint,6,opt,name=state,proto3,enum=flyteidl.admin.Project_ProjectState" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Labels *Labels `protobuf:"bytes,5,opt,name=labels,proto3" json:"labels,omitempty"` + State Project_ProjectState `protobuf:"varint,6,opt,name=state,proto3,enum=flyteidl.admin.Project_ProjectState" json:"state,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,7,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Project) Reset() { *m = Project{} } @@ -187,6 +189,13 @@ func (m *Project) GetState() Project_ProjectState { return Project_ACTIVE } +func (m *Project) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Represents a list of projects. // See :ref:`ref_flyteidl.admin.Project` for more details type Projects struct { @@ -433,34 +442,35 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/project.proto", fileDescriptor_2db065ce03bf106d) } var fileDescriptor_2db065ce03bf106d = []byte{ - // 459 bytes of a gzipped FileDescriptorProto + // 468 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xc7, 0xb1, 0xdb, 0xd8, 0x61, 0x52, 0xa2, 0x68, 0x14, 0x1a, 0xf3, 0x71, 0xb0, 0x2c, 0x0e, - 0x39, 0x50, 0x1b, 0xd2, 0x1b, 0x08, 0xa4, 0xb4, 0xb1, 0xa0, 0xa2, 0x20, 0xb4, 0x49, 0x2b, 0xc1, - 0xa5, 0xf2, 0xc7, 0xd6, 0x2c, 0xd8, 0x5e, 0xe3, 0xdd, 0x1e, 0xf2, 0x08, 0x3c, 0x0c, 0xef, 0x88, - 0xbc, 0x5e, 0x57, 0x6d, 0x08, 0xa8, 0x27, 0xef, 0xcc, 0xfc, 0x76, 0xe6, 0x3f, 0x33, 0x5e, 0x78, - 0x7a, 0x99, 0xaf, 0x25, 0x65, 0x69, 0x1e, 0x44, 0x69, 0xc1, 0xca, 0xa0, 0xaa, 0xf9, 0x77, 0x9a, - 0x48, 0xbf, 0xaa, 0xb9, 0xe4, 0x38, 0xec, 0xa2, 0xbe, 0x8a, 0x3e, 0x7e, 0xb2, 0x41, 0x27, 0xbc, - 0x28, 0x78, 0xd9, 0xc2, 0xde, 0x73, 0xb0, 0x16, 0xbc, 0x88, 0x58, 0x89, 0x43, 0x30, 0x59, 0xea, - 0x18, 0xae, 0x31, 0xbd, 0x4f, 0x4c, 0x96, 0x22, 0xc2, 0x6e, 0x19, 0x15, 0xd4, 0x31, 0x95, 0x47, - 0x9d, 0xbd, 0xdf, 0x26, 0xd8, 0x9f, 0xdb, 0x62, 0x77, 0xe1, 0xf1, 0x05, 0xd8, 0xa9, 0xca, 0x2e, - 0x9c, 0x1d, 0x77, 0x67, 0x3a, 0x98, 0xed, 0xfb, 0xb7, 0xc5, 0xf9, 0x6d, 0x71, 0xd2, 0x61, 0xe8, - 0xc2, 0x20, 0xa5, 0x22, 0xa9, 0x59, 0x25, 0x19, 0x2f, 0x9d, 0x5d, 0x95, 0xec, 0xa6, 0x0b, 0x7d, - 0xb0, 0xf2, 0x28, 0xa6, 0xb9, 0x70, 0x7a, 0xae, 0xb1, 0x2d, 0xe5, 0xa9, 0x8a, 0x12, 0x4d, 0xe1, - 0x2b, 0xe8, 0x09, 0x19, 0x49, 0xea, 0x58, 0xae, 0x31, 0x1d, 0xce, 0x9e, 0x6d, 0xe2, 0xba, 0x9f, - 0xee, 0xbb, 0x6c, 0x58, 0xd2, 0x5e, 0xf1, 0xde, 0xc2, 0xde, 0x4d, 0x37, 0x02, 0x58, 0xf3, 0xe3, - 0xd5, 0xc9, 0x79, 0x38, 0xba, 0x87, 0x7b, 0xd0, 0x9f, 0x93, 0xe3, 0xf7, 0x27, 0xe7, 0xe1, 0x62, - 0x64, 0xe0, 0x18, 0x46, 0xcb, 0x2f, 0xcb, 0x55, 0xf8, 0xf1, 0xe2, 0x5d, 0xf8, 0x29, 0x24, 0xf3, - 0x55, 0xb8, 0x18, 0x99, 0xde, 0x19, 0xf4, 0xf5, 0x7d, 0x81, 0x87, 0xd0, 0xd7, 0x7b, 0x12, 0x8e, - 0xa1, 0x86, 0x31, 0xf9, 0x87, 0x14, 0x72, 0x0d, 0xe2, 0x18, 0x7a, 0x92, 0xff, 0xa0, 0xa5, 0x9e, - 0x6a, 0x6b, 0x78, 0xbf, 0x0c, 0x40, 0xcd, 0x9e, 0x32, 0x21, 0x09, 0xfd, 0x79, 0x45, 0x85, 0x6c, - 0xe0, 0x9c, 0x15, 0x4c, 0xaa, 0xa5, 0x3c, 0x20, 0xad, 0xb1, 0x3d, 0x05, 0x3a, 0x60, 0x5f, 0xb2, - 0x5c, 0xd2, 0xba, 0xd9, 0x4c, 0xe3, 0xef, 0x4c, 0x3c, 0x00, 0x5b, 0xf0, 0x5a, 0x5e, 0xc4, 0x6b, - 0x35, 0xfd, 0xc1, 0x6c, 0xbc, 0x29, 0x73, 0xc9, 0x6b, 0x49, 0xac, 0x06, 0x3a, 0x5a, 0x7b, 0x1f, - 0x60, 0xbf, 0x93, 0x4d, 0x33, 0x26, 0x24, 0xad, 0x3b, 0x39, 0x2f, 0xc1, 0xd6, 0x7d, 0x28, 0x41, - 0xff, 0xe9, 0xb7, 0xe3, 0xbc, 0x47, 0x30, 0xf9, 0x2b, 0x99, 0xa8, 0x78, 0x29, 0xa8, 0x37, 0x81, - 0x87, 0x3a, 0x74, 0x56, 0xa5, 0xcd, 0x8a, 0x74, 0xe0, 0xe8, 0xcd, 0xd7, 0xd7, 0x19, 0x93, 0xdf, - 0xae, 0x62, 0x3f, 0xe1, 0x45, 0xa0, 0x2a, 0xf0, 0x3a, 0x6b, 0x0f, 0xc1, 0xf5, 0xaf, 0x9f, 0xd1, - 0x32, 0xa8, 0xe2, 0x83, 0x8c, 0x07, 0xb7, 0x5f, 0x43, 0x6c, 0xa9, 0x77, 0x70, 0xf8, 0x27, 0x00, - 0x00, 0xff, 0xff, 0x33, 0x79, 0x69, 0x68, 0x54, 0x03, 0x00, 0x00, + 0x10, 0xc7, 0xb1, 0xd3, 0xd8, 0x61, 0x52, 0x22, 0x6b, 0x15, 0x9a, 0xe5, 0xe3, 0x60, 0x59, 0x1c, + 0x72, 0xa0, 0x36, 0xa4, 0x37, 0x10, 0x48, 0x69, 0x63, 0x41, 0x45, 0x41, 0x68, 0x93, 0x56, 0x82, + 0x4b, 0x65, 0xc7, 0x5b, 0xb3, 0x60, 0x7b, 0xcd, 0xee, 0xf6, 0x90, 0x47, 0xe0, 0xa9, 0x78, 0x35, + 0xe4, 0xf5, 0xba, 0x6a, 0x43, 0x41, 0x3d, 0x79, 0x3e, 0x7e, 0x9e, 0xf9, 0xcf, 0x8e, 0x06, 0x9e, + 0x5e, 0x14, 0x1b, 0x45, 0x59, 0x56, 0x44, 0x49, 0x56, 0xb2, 0x2a, 0xaa, 0x05, 0xff, 0x4e, 0xd7, + 0x2a, 0xac, 0x05, 0x57, 0x1c, 0x8d, 0xba, 0x6c, 0xa8, 0xb3, 0x8f, 0x9f, 0x6c, 0xd1, 0x6b, 0x5e, + 0x96, 0xbc, 0x6a, 0xe1, 0xe0, 0x39, 0x38, 0x0b, 0x5e, 0x26, 0xac, 0x42, 0x23, 0xb0, 0x59, 0x86, + 0x2d, 0xdf, 0x9a, 0xde, 0x27, 0x36, 0xcb, 0x10, 0x82, 0x9d, 0x2a, 0x29, 0x29, 0xb6, 0x75, 0x44, + 0xdb, 0xc1, 0x6f, 0x1b, 0xdc, 0xcf, 0x6d, 0xb3, 0xbb, 0xf0, 0xe8, 0x05, 0xb8, 0x99, 0xae, 0x2e, + 0x71, 0xcf, 0xef, 0x4d, 0x87, 0xb3, 0xbd, 0xf0, 0xa6, 0xb8, 0xb0, 0x6d, 0x4e, 0x3a, 0x0c, 0xf9, + 0x30, 0xcc, 0xa8, 0x5c, 0x0b, 0x56, 0x2b, 0xc6, 0x2b, 0xbc, 0xa3, 0x8b, 0x5d, 0x0f, 0xa1, 0x10, + 0x9c, 0x22, 0x49, 0x69, 0x21, 0x71, 0xdf, 0xb7, 0x6e, 0x2b, 0x79, 0xa2, 0xb3, 0xc4, 0x50, 0xe8, + 0x15, 0xf4, 0xa5, 0x4a, 0x14, 0xc5, 0x8e, 0x6f, 0x4d, 0x47, 0xb3, 0x67, 0xdb, 0xb8, 0x99, 0xa7, + 0xfb, 0x2e, 0x1b, 0x96, 0xb4, 0xbf, 0x20, 0x0f, 0x7a, 0x5c, 0xe4, 0xd8, 0xd5, 0x2a, 0x1a, 0x33, + 0x78, 0x0b, 0xbb, 0xd7, 0x41, 0x04, 0xe0, 0xcc, 0x8f, 0x56, 0xc7, 0x67, 0xb1, 0x77, 0x0f, 0xed, + 0xc2, 0x60, 0x4e, 0x8e, 0xde, 0x1f, 0x9f, 0xc5, 0x0b, 0xcf, 0x42, 0x63, 0xf0, 0x96, 0x5f, 0x96, + 0xab, 0xf8, 0xe3, 0xf9, 0xbb, 0xf8, 0x53, 0x4c, 0xe6, 0xab, 0x78, 0xe1, 0xd9, 0xc1, 0x29, 0x0c, + 0xcc, 0xff, 0x12, 0x1d, 0xc0, 0xc0, 0x6c, 0x4e, 0x62, 0x4b, 0x3f, 0xcf, 0xe4, 0x1f, 0xe2, 0xc8, + 0x15, 0x88, 0xc6, 0xd0, 0x57, 0xfc, 0x07, 0xad, 0xcc, 0x3b, 0xb7, 0x4e, 0xf0, 0xcb, 0x02, 0x64, + 0xd8, 0x13, 0x26, 0x15, 0xa1, 0x3f, 0x2f, 0xa9, 0x54, 0x0d, 0x5c, 0xb0, 0x92, 0x29, 0xbd, 0xa6, + 0x07, 0xa4, 0x75, 0x6e, 0x2f, 0x81, 0x30, 0xb8, 0x17, 0xac, 0x50, 0x54, 0x34, 0xbb, 0x6a, 0xe2, + 0x9d, 0x8b, 0xf6, 0xc1, 0x95, 0x5c, 0xa8, 0xf3, 0x74, 0xa3, 0xf7, 0x31, 0x9c, 0x8d, 0xb7, 0x65, + 0x2e, 0xb9, 0x50, 0xc4, 0x69, 0xa0, 0xc3, 0x4d, 0xf0, 0x01, 0xf6, 0x3a, 0xd9, 0x34, 0x67, 0x52, + 0x51, 0xd1, 0xc9, 0x79, 0x09, 0xae, 0x99, 0x43, 0x0b, 0xfa, 0xcf, 0xbc, 0x1d, 0x17, 0x3c, 0x82, + 0xc9, 0x5f, 0xc5, 0x64, 0xcd, 0x2b, 0x49, 0x83, 0x09, 0x3c, 0x34, 0xa9, 0xd3, 0x3a, 0x6b, 0x96, + 0x66, 0x12, 0x87, 0x6f, 0xbe, 0xbe, 0xce, 0x99, 0xfa, 0x76, 0x99, 0x86, 0x6b, 0x5e, 0x46, 0xba, + 0x03, 0x17, 0x79, 0x6b, 0x44, 0x57, 0xc7, 0x90, 0xd3, 0x2a, 0xaa, 0xd3, 0xfd, 0x9c, 0x47, 0x37, + 0xef, 0x23, 0x75, 0xf4, 0x65, 0x1c, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0xb2, 0x1f, 0xe5, 0x14, + 0x66, 0x03, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go index 349d2cfd85..befb738eb7 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go @@ -24,11 +24,13 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package // For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` type ProjectAttributes struct { // Unique project id for which this set of attributes will be applied. - Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - MatchingAttributes *MatchingAttributes `protobuf:"bytes,2,opt,name=matching_attributes,json=matchingAttributes,proto3" json:"matching_attributes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + MatchingAttributes *MatchingAttributes `protobuf:"bytes,2,opt,name=matching_attributes,json=matchingAttributes,proto3" json:"matching_attributes,omitempty"` + // Optional, org key applied to the project. + Org string `protobuf:"bytes,3,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ProjectAttributes) Reset() { *m = ProjectAttributes{} } @@ -70,6 +72,13 @@ func (m *ProjectAttributes) GetMatchingAttributes() *MatchingAttributes { return nil } +func (m *ProjectAttributes) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Sets custom attributes for a project // For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` type ProjectAttributesUpdateRequest struct { @@ -152,10 +161,12 @@ type ProjectAttributesGetRequest struct { Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` // Which type of matchable attributes to return. // +required - ResourceType MatchableResource `protobuf:"varint,2,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ResourceType MatchableResource `protobuf:"varint,2,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` + // Optional, org key applied to the project. + Org string `protobuf:"bytes,3,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ProjectAttributesGetRequest) Reset() { *m = ProjectAttributesGetRequest{} } @@ -197,6 +208,13 @@ func (m *ProjectAttributesGetRequest) GetResourceType() MatchableResource { return MatchableResource_TASK_RESOURCE } +func (m *ProjectAttributesGetRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Response to get an individual project level attribute override. // For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` type ProjectAttributesGetResponse struct { @@ -246,10 +264,12 @@ type ProjectAttributesDeleteRequest struct { Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` // Which type of matchable attributes to delete. // +required - ResourceType MatchableResource `protobuf:"varint,2,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ResourceType MatchableResource `protobuf:"varint,2,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` + // Optional, org key applied to the project. + Org string `protobuf:"bytes,3,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ProjectAttributesDeleteRequest) Reset() { *m = ProjectAttributesDeleteRequest{} } @@ -291,6 +311,13 @@ func (m *ProjectAttributesDeleteRequest) GetResourceType() MatchableResource { return MatchableResource_TASK_RESOURCE } +func (m *ProjectAttributesDeleteRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Purposefully empty, may be populated in the future. type ProjectAttributesDeleteResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -338,25 +365,26 @@ func init() { } var fileDescriptor_cb8dc9faa9640256 = []byte{ - // 317 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x92, 0x31, 0x4f, 0xc3, 0x30, - 0x10, 0x85, 0x65, 0x06, 0x10, 0x06, 0x2a, 0x11, 0x96, 0x0a, 0x10, 0xb4, 0x5e, 0xe8, 0x42, 0x2c, - 0xc1, 0x88, 0x18, 0x8a, 0x10, 0x4c, 0x95, 0x90, 0x81, 0x85, 0xa5, 0x72, 0xd2, 0x23, 0x0d, 0x4a, - 0x62, 0xe3, 0x5c, 0x86, 0x4c, 0x48, 0xfd, 0xe5, 0x48, 0x4e, 0xdc, 0xa6, 0x4d, 0xba, 0xc1, 0x96, - 0x58, 0xef, 0xde, 0xfb, 0xfc, 0x7c, 0xf4, 0xea, 0x33, 0x29, 0x11, 0xe2, 0x59, 0xc2, 0xe5, 0x2c, - 0x8d, 0x33, 0xae, 0x8d, 0xfa, 0x82, 0x10, 0xa7, 0x12, 0xd1, 0xc4, 0x41, 0x81, 0x90, 0xfb, 0xda, - 0x28, 0x54, 0x5e, 0xcf, 0x09, 0x7d, 0x2b, 0x3c, 0xdd, 0x1c, 0x4c, 0x25, 0x86, 0x73, 0x19, 0x24, - 0x30, 0x35, 0x90, 0xab, 0xc2, 0x84, 0x50, 0x0d, 0xb2, 0x05, 0xa1, 0xc7, 0x2f, 0x95, 0xeb, 0x78, - 0x69, 0xea, 0xf5, 0xe9, 0x5e, 0x1d, 0xd5, 0x27, 0x03, 0x32, 0xda, 0x17, 0xee, 0xd7, 0x7b, 0xa5, - 0x27, 0xd6, 0x2b, 0xce, 0xa2, 0x06, 0x45, 0x7f, 0x67, 0x40, 0x46, 0x07, 0x37, 0xcc, 0x5f, 0xc7, - 0xf0, 0x27, 0xb5, 0x74, 0x65, 0x2d, 0xbc, 0xb4, 0x75, 0xc6, 0x42, 0x7a, 0xd1, 0x62, 0x78, 0xd7, - 0x33, 0x89, 0x20, 0xe0, 0xbb, 0x80, 0x1c, 0xbd, 0x31, 0xa5, 0x8d, 0x34, 0x62, 0xd3, 0x86, 0x9b, - 0x69, 0x2d, 0x0f, 0xd1, 0x18, 0x62, 0x43, 0x7a, 0xb9, 0x35, 0x24, 0xd7, 0x2a, 0xcb, 0x81, 0xfd, - 0xd0, 0xb3, 0x96, 0xe4, 0x19, 0xd0, 0x41, 0x6c, 0x6f, 0xe5, 0x89, 0x1e, 0xb9, 0x5e, 0xa7, 0x58, - 0x6a, 0xb0, 0x7d, 0xf4, 0xda, 0x84, 0x13, 0xf7, 0x0c, 0xa2, 0x56, 0x8b, 0x43, 0x37, 0xf7, 0x56, - 0x6a, 0x60, 0x92, 0x9e, 0x77, 0x03, 0x54, 0x80, 0x7f, 0x51, 0xc3, 0x82, 0x74, 0x94, 0xfd, 0x08, - 0x09, 0xac, 0xca, 0xfe, 0xff, 0x7b, 0x76, 0xbd, 0x85, 0x63, 0xa8, 0xae, 0xfa, 0x70, 0xff, 0x71, - 0x17, 0xc5, 0x38, 0x2f, 0x02, 0x3f, 0x54, 0x29, 0xb7, 0xfe, 0xca, 0x44, 0xd5, 0x07, 0x5f, 0x6e, - 0x77, 0x04, 0x19, 0xd7, 0xc1, 0x75, 0xa4, 0xf8, 0xfa, 0xc2, 0x07, 0xbb, 0x76, 0xbd, 0x6f, 0x7f, - 0x03, 0x00, 0x00, 0xff, 0xff, 0xda, 0x8d, 0xf5, 0x81, 0x42, 0x03, 0x00, 0x00, + // 332 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x93, 0x4f, 0x4b, 0xc3, 0x40, + 0x10, 0xc5, 0x59, 0x0b, 0x8a, 0xa3, 0x16, 0x8d, 0x97, 0xa0, 0xa2, 0x6d, 0x2e, 0xf6, 0x62, 0x02, + 0x7a, 0x14, 0x0f, 0x15, 0xd1, 0x53, 0x41, 0xa2, 0x5e, 0xbc, 0x94, 0x4d, 0x3a, 0x6e, 0x23, 0x49, + 0x76, 0xdd, 0x4c, 0x0e, 0xfd, 0x18, 0x42, 0x3f, 0xb0, 0xb8, 0xe9, 0xf6, 0x5f, 0xd2, 0x9b, 0xe0, + 0x6d, 0x13, 0xde, 0xbc, 0xf7, 0xdb, 0xb7, 0x0c, 0x5c, 0x7e, 0xa4, 0x13, 0xc2, 0x64, 0x94, 0x06, + 0x7c, 0x94, 0x25, 0x79, 0xa0, 0xb4, 0xfc, 0xc4, 0x98, 0x86, 0x9c, 0x48, 0x27, 0x51, 0x49, 0x58, + 0xf8, 0x4a, 0x4b, 0x92, 0x4e, 0xdb, 0x0a, 0x7d, 0x23, 0x3c, 0x59, 0x1f, 0xcc, 0x38, 0xc5, 0x63, + 0x1e, 0xa5, 0x38, 0xd4, 0x58, 0xc8, 0x52, 0xc7, 0x58, 0x0d, 0x7a, 0x53, 0x06, 0x47, 0xcf, 0x95, + 0x6b, 0x7f, 0x6e, 0xea, 0xb8, 0xb0, 0x33, 0x8b, 0x72, 0x59, 0x87, 0xf5, 0x76, 0x43, 0xfb, 0xe9, + 0xbc, 0xc0, 0xb1, 0xf1, 0x4a, 0x72, 0xb1, 0x44, 0xe1, 0x6e, 0x75, 0x58, 0x6f, 0xef, 0xda, 0xf3, + 0x57, 0x31, 0xfc, 0xc1, 0x4c, 0xba, 0xb0, 0x0e, 0x9d, 0xac, 0xf6, 0xcf, 0x39, 0x84, 0x96, 0xd4, + 0xc2, 0x6d, 0x99, 0xa8, 0xdf, 0xa3, 0x17, 0xc3, 0x79, 0x8d, 0xea, 0x4d, 0x8d, 0x38, 0x61, 0x88, + 0x5f, 0x25, 0x16, 0xe4, 0xf4, 0x01, 0x96, 0xf2, 0x99, 0xc9, 0xef, 0xae, 0xe7, 0xd7, 0x3c, 0xc2, + 0xa5, 0x21, 0xaf, 0x0b, 0x17, 0x1b, 0x43, 0x0a, 0x25, 0xf3, 0x02, 0xbd, 0x6f, 0x06, 0xa7, 0x35, + 0xcd, 0x13, 0x92, 0xa5, 0xd8, 0x5c, 0xd4, 0x23, 0x1c, 0xd8, 0xaa, 0x87, 0x34, 0x51, 0x68, 0x2a, + 0x6a, 0xd7, 0x11, 0x07, 0xf6, 0x65, 0xc2, 0x99, 0x3a, 0xdc, 0xb7, 0x73, 0xaf, 0x13, 0x85, 0x0d, + 0xdd, 0x70, 0x38, 0x6b, 0x46, 0xaa, 0x98, 0xff, 0xa2, 0x99, 0x29, 0x6b, 0xe8, 0xff, 0x01, 0x53, + 0x5c, 0xf4, 0xff, 0x1f, 0x37, 0x6f, 0x7a, 0x30, 0x4b, 0x55, 0x5d, 0xfe, 0xfe, 0xee, 0xfd, 0x56, + 0x24, 0x34, 0x2e, 0x23, 0x3f, 0x96, 0x59, 0x60, 0x12, 0xa5, 0x16, 0xd5, 0x21, 0x98, 0x2f, 0x85, + 0xc0, 0x3c, 0x50, 0xd1, 0x95, 0x90, 0xc1, 0xea, 0x9e, 0x44, 0xdb, 0x66, 0x2b, 0x6e, 0x7e, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x54, 0xae, 0x47, 0x2e, 0x79, 0x03, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go index 4708ef1e5e..610eb7d08f 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go @@ -26,11 +26,13 @@ type ProjectDomainAttributes struct { // Unique project id for which this set of attributes will be applied. Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` // Unique domain id for which this set of attributes will be applied. - Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` - MatchingAttributes *MatchingAttributes `protobuf:"bytes,3,opt,name=matching_attributes,json=matchingAttributes,proto3" json:"matching_attributes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + MatchingAttributes *MatchingAttributes `protobuf:"bytes,3,opt,name=matching_attributes,json=matchingAttributes,proto3" json:"matching_attributes,omitempty"` + // Optional, org key applied to the attributes. + Org string `protobuf:"bytes,4,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ProjectDomainAttributes) Reset() { *m = ProjectDomainAttributes{} } @@ -79,6 +81,13 @@ func (m *ProjectDomainAttributes) GetMatchingAttributes() *MatchingAttributes { return nil } +func (m *ProjectDomainAttributes) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Sets custom attributes for a project-domain combination. // For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` type ProjectDomainAttributesUpdateRequest struct { @@ -164,10 +173,12 @@ type ProjectDomainAttributesGetRequest struct { Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // Which type of matchable attributes to return. // +required - ResourceType MatchableResource `protobuf:"varint,3,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ResourceType MatchableResource `protobuf:"varint,3,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` + // Optional, org key applied to the attributes. + Org string `protobuf:"bytes,4,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ProjectDomainAttributesGetRequest) Reset() { *m = ProjectDomainAttributesGetRequest{} } @@ -216,6 +227,13 @@ func (m *ProjectDomainAttributesGetRequest) GetResourceType() MatchableResource return MatchableResource_TASK_RESOURCE } +func (m *ProjectDomainAttributesGetRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Response to get an individual project domain attribute override. // For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` type ProjectDomainAttributesGetResponse struct { @@ -268,10 +286,12 @@ type ProjectDomainAttributesDeleteRequest struct { Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // Which type of matchable attributes to delete. // +required - ResourceType MatchableResource `protobuf:"varint,3,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ResourceType MatchableResource `protobuf:"varint,3,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` + // Optional, org key applied to the attributes. + Org string `protobuf:"bytes,4,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ProjectDomainAttributesDeleteRequest) Reset() { *m = ProjectDomainAttributesDeleteRequest{} } @@ -320,6 +340,13 @@ func (m *ProjectDomainAttributesDeleteRequest) GetResourceType() MatchableResour return MatchableResource_TASK_RESOURCE } +func (m *ProjectDomainAttributesDeleteRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Purposefully empty, may be populated in the future. type ProjectDomainAttributesDeleteResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -367,27 +394,28 @@ func init() { } var fileDescriptor_e8ab0b551a649f05 = []byte{ - // 342 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x53, 0x4f, 0x4b, 0xfb, 0x40, - 0x10, 0x65, 0x7f, 0x3f, 0xa8, 0x38, 0x6a, 0x0f, 0x11, 0x34, 0x78, 0x6a, 0x17, 0xa5, 0xbd, 0x98, - 0x40, 0x3d, 0x8a, 0x07, 0xa5, 0xd8, 0x93, 0x20, 0x51, 0x2f, 0x5e, 0x42, 0xfe, 0x8c, 0x69, 0x24, - 0xc9, 0xae, 0xc9, 0xe4, 0xd0, 0x0f, 0x23, 0xf4, 0xa3, 0x8a, 0xbb, 0xd9, 0xfe, 0xd3, 0x28, 0x82, - 0xe0, 0x2d, 0x93, 0xbc, 0x79, 0xef, 0xe5, 0x3d, 0x06, 0x9c, 0xa7, 0x6c, 0x46, 0x98, 0xc6, 0x99, - 0x1b, 0xc4, 0x79, 0x5a, 0xb8, 0xb2, 0x14, 0xcf, 0x18, 0x91, 0x1f, 0x8b, 0x3c, 0x48, 0x0b, 0x3f, - 0x20, 0x2a, 0xd3, 0xb0, 0x26, 0xac, 0x1c, 0x59, 0x0a, 0x12, 0x56, 0xd7, 0xe0, 0x1d, 0x85, 0x3f, - 0x1a, 0x6c, 0xec, 0xe7, 0x01, 0x45, 0xd3, 0x20, 0xcc, 0xd0, 0x2f, 0xb1, 0x12, 0x75, 0x19, 0xa1, - 0x5e, 0xe4, 0x73, 0x06, 0x87, 0xb7, 0x9a, 0x7c, 0xac, 0xb8, 0x2f, 0x17, 0xd4, 0x96, 0x0d, 0x5b, - 0x8d, 0xae, 0xcd, 0x7a, 0x6c, 0xb8, 0xed, 0x99, 0xd1, 0x3a, 0x80, 0x8e, 0x76, 0x62, 0xff, 0x53, - 0x1f, 0x9a, 0xc9, 0xba, 0x83, 0x7d, 0xa5, 0x94, 0x16, 0xc9, 0x8a, 0x47, 0xfb, 0x7f, 0x8f, 0x0d, - 0x77, 0x46, 0xdc, 0x59, 0x37, 0xe9, 0xdc, 0x34, 0xd0, 0xa5, 0xa4, 0x67, 0xe5, 0x1f, 0xde, 0x71, - 0x01, 0xc7, 0x2d, 0x0e, 0x1f, 0x64, 0x1c, 0x10, 0x7a, 0xf8, 0x52, 0x63, 0x45, 0xd6, 0x04, 0x60, - 0x45, 0x93, 0x29, 0xcd, 0xc1, 0xa6, 0x66, 0x0b, 0x93, 0xb7, 0xb2, 0xca, 0x07, 0x70, 0xf2, 0x8d, - 0x60, 0x25, 0x45, 0x51, 0x21, 0x7f, 0x65, 0xd0, 0x6f, 0x41, 0x4e, 0x90, 0x8c, 0xaf, 0x9f, 0xc7, - 0x78, 0x0d, 0x7b, 0xa6, 0x26, 0x9f, 0x66, 0x12, 0x55, 0x80, 0xdd, 0x51, 0xff, 0xd3, 0x00, 0xdf, - 0x5b, 0xf5, 0x1a, 0xb4, 0xb7, 0x6b, 0xf6, 0xee, 0x67, 0x12, 0x79, 0x0e, 0xfc, 0x2b, 0x7b, 0xfa, - 0x2f, 0x7e, 0x2f, 0xb7, 0x39, 0x6b, 0x6d, 0x6a, 0x8c, 0x19, 0x2e, 0x9b, 0xfa, 0xbb, 0x44, 0xda, - 0xab, 0x35, 0x0e, 0x75, 0x28, 0x57, 0x17, 0x8f, 0xe7, 0x49, 0x4a, 0xd3, 0x3a, 0x74, 0x22, 0x91, - 0xbb, 0x4a, 0x45, 0x94, 0x89, 0x7e, 0x70, 0x17, 0xc7, 0x95, 0x60, 0xe1, 0xca, 0xf0, 0x34, 0x11, - 0xee, 0xfa, 0xbd, 0x85, 0x1d, 0x75, 0x5d, 0x67, 0x6f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd5, 0x3f, - 0x53, 0x68, 0xc8, 0x03, 0x00, 0x00, + // 355 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x4b, 0xc3, 0x40, + 0x10, 0xc5, 0x59, 0x2b, 0x15, 0x47, 0x2d, 0xb2, 0x82, 0x06, 0x4f, 0x6d, 0x50, 0xda, 0x8b, 0x09, + 0xd4, 0xa3, 0x78, 0x50, 0x8a, 0x3d, 0x09, 0x12, 0xf5, 0xe2, 0x25, 0xe4, 0xcf, 0x98, 0x46, 0x92, + 0xec, 0xba, 0xd9, 0x1c, 0xfa, 0xa9, 0x84, 0x7e, 0x42, 0xe9, 0x26, 0xdb, 0xa6, 0xb5, 0x51, 0x04, + 0x0f, 0xde, 0x76, 0x93, 0x99, 0x79, 0xbf, 0x7d, 0x8f, 0x01, 0xeb, 0x35, 0x99, 0x4a, 0x8c, 0xc3, + 0xc4, 0xf6, 0xc2, 0x34, 0xce, 0x6c, 0x2e, 0xd8, 0x1b, 0x06, 0xd2, 0x0d, 0x59, 0xea, 0xc5, 0x99, + 0xeb, 0x49, 0x29, 0x62, 0xbf, 0x90, 0x98, 0x5b, 0x5c, 0x30, 0xc9, 0x68, 0x47, 0xd7, 0x5b, 0xaa, + 0xfe, 0xb4, 0xbf, 0xd6, 0x9f, 0x7a, 0x32, 0x98, 0x78, 0x7e, 0x82, 0xae, 0xc0, 0x9c, 0x15, 0x22, + 0xc0, 0xb2, 0xd1, 0x9c, 0x11, 0x38, 0x79, 0x28, 0x87, 0x8f, 0xd4, 0xec, 0x9b, 0xc5, 0x68, 0x6a, + 0xc0, 0x4e, 0xa5, 0x6b, 0x90, 0x2e, 0x19, 0xec, 0x3a, 0xfa, 0x4a, 0x8f, 0xa1, 0x5d, 0x92, 0x18, + 0x5b, 0xea, 0x47, 0x75, 0xa3, 0x8f, 0x70, 0xa4, 0x94, 0xe2, 0x2c, 0xaa, 0x31, 0x1a, 0xad, 0x2e, + 0x19, 0xec, 0x0d, 0x4d, 0x6b, 0x15, 0xd2, 0xba, 0xaf, 0x4a, 0x97, 0x92, 0x0e, 0x4d, 0xbf, 0x7c, + 0xa3, 0x87, 0xd0, 0x62, 0x22, 0x32, 0xb6, 0x95, 0xd2, 0xfc, 0x68, 0x32, 0x38, 0x6b, 0x60, 0x7e, + 0xe6, 0xa1, 0x27, 0xd1, 0xc1, 0xf7, 0x02, 0x73, 0x49, 0xc7, 0x00, 0x35, 0x0a, 0xa2, 0x28, 0xfa, + 0xeb, 0x14, 0x0d, 0x93, 0x9c, 0x5a, 0xab, 0xd9, 0x87, 0xf3, 0x1f, 0x04, 0x73, 0xce, 0xb2, 0x1c, + 0xcd, 0x0f, 0x02, 0xbd, 0x86, 0xca, 0x31, 0x4a, 0xcd, 0xf5, 0x7b, 0x63, 0xef, 0xe0, 0x40, 0x07, + 0xe7, 0xca, 0x29, 0x47, 0x65, 0x69, 0x67, 0xd8, 0xdb, 0x68, 0xe9, 0x3c, 0x67, 0xa7, 0xaa, 0x76, + 0xf6, 0x75, 0xdf, 0xd3, 0x94, 0xe3, 0x06, 0x2f, 0x53, 0x30, 0xbf, 0x03, 0x2e, 0xdf, 0xf5, 0x77, + 0x4e, 0xce, 0x48, 0x63, 0x76, 0x23, 0x4c, 0x70, 0x99, 0xdd, 0x7f, 0xf2, 0xa8, 0x39, 0x7e, 0xcd, + 0x5c, 0xda, 0x74, 0x7b, 0xfd, 0x72, 0x15, 0xc5, 0x72, 0x52, 0xf8, 0x56, 0xc0, 0x52, 0x5b, 0xe9, + 0x32, 0x11, 0x95, 0x07, 0x7b, 0xb1, 0x92, 0x11, 0x66, 0x36, 0xf7, 0x2f, 0x22, 0x66, 0xaf, 0x6e, + 0xa9, 0xdf, 0x56, 0x3b, 0x79, 0xf9, 0x19, 0x00, 0x00, 0xff, 0xff, 0x21, 0xef, 0xc1, 0x38, 0xfe, + 0x03, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go index 5b3d82dce6..7d7b831b1a 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go @@ -28,11 +28,13 @@ type WorkflowAttributes struct { // Unique domain id for which this set of attributes will be applied. Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // Workflow name for which this set of attributes will be applied. - Workflow string `protobuf:"bytes,3,opt,name=workflow,proto3" json:"workflow,omitempty"` - MatchingAttributes *MatchingAttributes `protobuf:"bytes,4,opt,name=matching_attributes,json=matchingAttributes,proto3" json:"matching_attributes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Workflow string `protobuf:"bytes,3,opt,name=workflow,proto3" json:"workflow,omitempty"` + MatchingAttributes *MatchingAttributes `protobuf:"bytes,4,opt,name=matching_attributes,json=matchingAttributes,proto3" json:"matching_attributes,omitempty"` + // Optional, org key applied to the attributes. + Org string `protobuf:"bytes,5,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *WorkflowAttributes) Reset() { *m = WorkflowAttributes{} } @@ -88,6 +90,13 @@ func (m *WorkflowAttributes) GetMatchingAttributes() *MatchingAttributes { return nil } +func (m *WorkflowAttributes) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Sets custom attributes for a project, domain and workflow combination. // For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` type WorkflowAttributesUpdateRequest struct { @@ -175,10 +184,12 @@ type WorkflowAttributesGetRequest struct { Workflow string `protobuf:"bytes,3,opt,name=workflow,proto3" json:"workflow,omitempty"` // Which type of matchable attributes to return. // +required - ResourceType MatchableResource `protobuf:"varint,4,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ResourceType MatchableResource `protobuf:"varint,4,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` + // Optional, org key applied to the attributes. + Org string `protobuf:"bytes,5,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *WorkflowAttributesGetRequest) Reset() { *m = WorkflowAttributesGetRequest{} } @@ -234,6 +245,13 @@ func (m *WorkflowAttributesGetRequest) GetResourceType() MatchableResource { return MatchableResource_TASK_RESOURCE } +func (m *WorkflowAttributesGetRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Response to get an individual workflow attribute override. type WorkflowAttributesGetResponse struct { Attributes *WorkflowAttributes `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` @@ -288,10 +306,12 @@ type WorkflowAttributesDeleteRequest struct { Workflow string `protobuf:"bytes,3,opt,name=workflow,proto3" json:"workflow,omitempty"` // Which type of matchable attributes to delete. // +required - ResourceType MatchableResource `protobuf:"varint,4,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ResourceType MatchableResource `protobuf:"varint,4,opt,name=resource_type,json=resourceType,proto3,enum=flyteidl.admin.MatchableResource" json:"resource_type,omitempty"` + // Optional, org key applied to the attributes. + Org string `protobuf:"bytes,5,opt,name=org,proto3" json:"org,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *WorkflowAttributesDeleteRequest) Reset() { *m = WorkflowAttributesDeleteRequest{} } @@ -347,6 +367,13 @@ func (m *WorkflowAttributesDeleteRequest) GetResourceType() MatchableResource { return MatchableResource_TASK_RESOURCE } +func (m *WorkflowAttributesDeleteRequest) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Purposefully empty, may be populated in the future. type WorkflowAttributesDeleteResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -394,27 +421,28 @@ func init() { } var fileDescriptor_8ba8a51ab86bc38c = []byte{ - // 349 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x4f, 0x4b, 0xc3, 0x40, - 0x10, 0xc5, 0x59, 0x95, 0xaa, 0xa3, 0xf6, 0xb0, 0x82, 0x84, 0xa2, 0x58, 0xf7, 0x62, 0x2f, 0x26, - 0x50, 0x8f, 0xe2, 0xc1, 0x22, 0x7a, 0xf2, 0x12, 0x15, 0xc1, 0x4b, 0xc9, 0x9f, 0x69, 0x1a, 0x4d, - 0xb2, 0xeb, 0x66, 0x43, 0xe9, 0xf7, 0x12, 0xfa, 0xf5, 0xc4, 0x4d, 0xb6, 0x7f, 0x4c, 0x7a, 0xeb, - 0xc1, 0x5b, 0xa7, 0xfb, 0x66, 0xe6, 0x97, 0xf7, 0x18, 0xe8, 0x8d, 0x92, 0xa9, 0xc2, 0x38, 0x4c, - 0x1c, 0x2f, 0x4c, 0xe3, 0xcc, 0x99, 0x70, 0xf9, 0x39, 0x4a, 0xf8, 0x64, 0xe8, 0x29, 0x25, 0x63, - 0xbf, 0x50, 0x98, 0xdb, 0x42, 0x72, 0xc5, 0x69, 0xdb, 0x28, 0x6d, 0xad, 0xec, 0x5c, 0xfe, 0xe9, - 0x4c, 0x3d, 0x15, 0x8c, 0x3d, 0x3f, 0xc1, 0xa1, 0xc4, 0x9c, 0x17, 0x32, 0xc0, 0xb2, 0x91, 0xcd, - 0x08, 0xd0, 0xb7, 0x6a, 0xec, 0xdd, 0x7c, 0x2a, 0xb5, 0x60, 0x57, 0x48, 0xfe, 0x81, 0x81, 0xb2, - 0x48, 0x97, 0xf4, 0xf6, 0x5d, 0x53, 0xd2, 0x13, 0x68, 0x85, 0x3c, 0xf5, 0xe2, 0xcc, 0xda, 0xd2, - 0x0f, 0x55, 0x45, 0x3b, 0xb0, 0x67, 0xf0, 0xac, 0x6d, 0xfd, 0x32, 0xaf, 0xe9, 0x33, 0x1c, 0x6b, - 0x80, 0x38, 0x8b, 0x96, 0xd0, 0xad, 0x9d, 0x2e, 0xe9, 0x1d, 0xf4, 0x99, 0xbd, 0xca, 0x6e, 0x3f, - 0x55, 0xd2, 0x05, 0x8e, 0x4b, 0xd3, 0xda, 0x7f, 0x0c, 0xe1, 0xbc, 0x0e, 0xfe, 0x2a, 0x42, 0x4f, - 0xa1, 0x8b, 0x5f, 0x05, 0xe6, 0x8a, 0x0e, 0x00, 0x96, 0xd6, 0x91, 0xe6, 0x75, 0xf5, 0x21, 0xee, - 0x52, 0x17, 0x63, 0xd0, 0x5d, 0xbf, 0x26, 0x17, 0x3c, 0xcb, 0x91, 0x7d, 0x13, 0x38, 0xad, 0x8b, - 0x1e, 0x51, 0x19, 0x90, 0xcd, 0xda, 0xf9, 0x00, 0x47, 0x26, 0xc5, 0xa1, 0x9a, 0x0a, 0xd4, 0x46, - 0xb6, 0xfb, 0x17, 0x8d, 0x46, 0xfe, 0x86, 0xee, 0x56, 0x6a, 0xf7, 0xd0, 0xf4, 0xbd, 0x4c, 0x05, - 0xb2, 0x00, 0xce, 0xd6, 0x50, 0x97, 0xdf, 0xb5, 0x11, 0xff, 0x66, 0xa4, 0x29, 0xa7, 0x7b, 0x4c, - 0x70, 0x91, 0xd3, 0xff, 0xb4, 0xa7, 0x31, 0x79, 0x03, 0x5e, 0x3a, 0x34, 0xb8, 0x7d, 0xbf, 0x89, - 0x62, 0x35, 0x2e, 0x7c, 0x3b, 0xe0, 0xa9, 0xa3, 0x17, 0x70, 0x19, 0x95, 0x3f, 0x9c, 0xf9, 0x0d, - 0x46, 0x98, 0x39, 0xc2, 0xbf, 0x8a, 0xb8, 0xb3, 0x7a, 0x96, 0x7e, 0x4b, 0x1f, 0xe1, 0xf5, 0x4f, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x90, 0x9e, 0xe0, 0xf5, 0xe9, 0x03, 0x00, 0x00, + // 362 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x53, 0x4d, 0x4b, 0xc3, 0x40, + 0x10, 0x65, 0xad, 0x56, 0x1d, 0xb5, 0xc8, 0x0a, 0x12, 0x8a, 0x62, 0xcd, 0xc5, 0x5e, 0x4c, 0xa0, + 0x1e, 0xc5, 0x83, 0x45, 0xf4, 0xe4, 0x25, 0x2a, 0x82, 0x97, 0x92, 0x8f, 0x69, 0x1a, 0x4d, 0xb2, + 0xeb, 0x66, 0x43, 0xe9, 0x1f, 0x14, 0xfa, 0xaf, 0xa4, 0x9b, 0x6c, 0x3f, 0x4c, 0x7a, 0xeb, 0xc5, + 0xdb, 0xce, 0xee, 0x9b, 0x99, 0xf7, 0xde, 0xec, 0x40, 0x77, 0x18, 0x4f, 0x24, 0x46, 0x41, 0x6c, + 0xbb, 0x41, 0x12, 0xa5, 0xf6, 0x98, 0x89, 0xaf, 0x61, 0xcc, 0xc6, 0x03, 0x57, 0x4a, 0x11, 0x79, + 0xb9, 0xc4, 0xcc, 0xe2, 0x82, 0x49, 0x46, 0x5b, 0x1a, 0x69, 0x29, 0x64, 0xfb, 0xea, 0x4f, 0x66, + 0xe2, 0x4a, 0x7f, 0xe4, 0x7a, 0x31, 0x0e, 0x04, 0x66, 0x2c, 0x17, 0x3e, 0x16, 0x89, 0xe6, 0x94, + 0x00, 0x7d, 0x2f, 0xcb, 0xde, 0xcf, 0xab, 0x52, 0x03, 0x76, 0xb9, 0x60, 0x9f, 0xe8, 0x4b, 0x83, + 0x74, 0x48, 0x77, 0xdf, 0xd1, 0x21, 0x3d, 0x85, 0x66, 0xc0, 0x12, 0x37, 0x4a, 0x8d, 0x2d, 0xf5, + 0x50, 0x46, 0xb4, 0x0d, 0x7b, 0x9a, 0x9e, 0xd1, 0x50, 0x2f, 0xf3, 0x98, 0xbe, 0xc0, 0x89, 0x22, + 0x10, 0xa5, 0xe1, 0x12, 0x75, 0x63, 0xbb, 0x43, 0xba, 0x07, 0x3d, 0xd3, 0x5a, 0xe5, 0x6e, 0x3d, + 0x97, 0xd0, 0x05, 0x1d, 0x87, 0x26, 0x95, 0x3b, 0x7a, 0x0c, 0x0d, 0x26, 0x42, 0x63, 0x47, 0xf5, + 0x9a, 0x1d, 0x4d, 0x84, 0x8b, 0xaa, 0x94, 0x37, 0x1e, 0xb8, 0x12, 0x1d, 0xfc, 0xce, 0x31, 0x93, + 0xb4, 0x0f, 0xb0, 0x44, 0x80, 0xd4, 0x13, 0xa8, 0x16, 0x71, 0x96, 0xb2, 0x4c, 0x13, 0x3a, 0xeb, + 0xdb, 0x64, 0x9c, 0xa5, 0x19, 0x9a, 0x3f, 0x04, 0xce, 0xaa, 0xa0, 0x27, 0x94, 0x9a, 0xc8, 0x66, + 0x0d, 0x7e, 0x84, 0x23, 0x3d, 0xd7, 0x81, 0x9c, 0x70, 0x54, 0xd6, 0xb6, 0x7a, 0x97, 0xb5, 0xd6, + 0xce, 0xbe, 0x81, 0x53, 0xa2, 0x9d, 0x43, 0x9d, 0xf7, 0x3a, 0xe1, 0x58, 0xe3, 0xa9, 0x0f, 0xe7, + 0x6b, 0x74, 0x14, 0x4a, 0x37, 0xe2, 0xe8, 0x94, 0xd4, 0x4d, 0xee, 0x01, 0x63, 0x5c, 0x4c, 0xee, + 0xbf, 0x18, 0x56, 0xfb, 0x3b, 0xb4, 0x94, 0xc2, 0xb3, 0xfe, 0xdd, 0xc7, 0x6d, 0x18, 0xc9, 0x51, + 0xee, 0x59, 0x3e, 0x4b, 0x6c, 0xd5, 0x92, 0x89, 0xb0, 0x38, 0xd8, 0xf3, 0xcd, 0x0d, 0x31, 0xb5, + 0xb9, 0x77, 0x1d, 0x32, 0x7b, 0x75, 0x99, 0xbd, 0xa6, 0x5a, 0xdd, 0x9b, 0xdf, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xf4, 0x79, 0x1c, 0x80, 0x1f, 0x04, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go index 27f84cb68d..8e7930233b 100644 --- a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.go @@ -1331,116 +1331,111 @@ func init() { func init() { proto.RegisterFile("flyteidl/artifact/artifacts.proto", fileDescriptor_804518da5936dedb) } var fileDescriptor_804518da5936dedb = []byte{ - // 1734 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcb, 0x6f, 0xdb, 0xc8, - 0x19, 0x0f, 0x2d, 0x45, 0xb2, 0x3e, 0xd9, 0x5e, 0x79, 0x36, 0xb5, 0x65, 0x39, 0xed, 0x3a, 0x4c, - 0xda, 0x3a, 0xd9, 0x54, 0xc4, 0x2a, 0xc5, 0x36, 0x36, 0xb0, 0x45, 0x9d, 0x38, 0x5d, 0x68, 0xf3, - 0xf2, 0xd2, 0x4e, 0xdb, 0x35, 0x0a, 0x68, 0x47, 0xe4, 0x98, 0xe6, 0x9a, 0x22, 0xb9, 0xc3, 0x91, - 0x5d, 0x22, 0x08, 0xb6, 0xe8, 0x75, 0x6f, 0xdb, 0x27, 0xda, 0x02, 0xbd, 0xf4, 0xd6, 0x4b, 0xd1, - 0xfe, 0x17, 0xbd, 0xf6, 0xd2, 0x43, 0x8f, 0xfd, 0x07, 0xf6, 0xd0, 0x43, 0xd1, 0x4b, 0xc1, 0xe1, - 0x0c, 0x49, 0x89, 0x94, 0x2c, 0x27, 0x39, 0xf4, 0x46, 0x7e, 0xf3, 0xfb, 0x9e, 0xf3, 0xbd, 0x48, - 0xb8, 0x76, 0xe4, 0x84, 0x8c, 0xd8, 0xa6, 0xa3, 0x61, 0xca, 0xec, 0x23, 0x6c, 0xb0, 0xe4, 0x21, - 0x68, 0xfb, 0xd4, 0x63, 0x1e, 0x5a, 0x96, 0x90, 0xb6, 0x3c, 0x69, 0xad, 0x59, 0x9e, 0x67, 0x39, - 0x44, 0xe3, 0x80, 0xfe, 0xf0, 0x48, 0xc3, 0x6e, 0x18, 0xa3, 0x5b, 0x57, 0xc5, 0x11, 0xf6, 0x6d, - 0x0d, 0xbb, 0xae, 0xc7, 0x30, 0xb3, 0x3d, 0x57, 0xc8, 0x6a, 0x6d, 0xa4, 0xea, 0xcc, 0x81, 0xed, - 0x6a, 0x0e, 0x1e, 0xba, 0xc6, 0x71, 0xcf, 0x77, 0xb0, 0x2b, 0xf9, 0x13, 0x84, 0xe1, 0x51, 0xa2, - 0x39, 0x36, 0x23, 0x14, 0x3b, 0x92, 0x7f, 0x6d, 0xf4, 0x94, 0x85, 0x3e, 0x91, 0x47, 0x5f, 0x1b, - 0x3d, 0xb2, 0x4d, 0xe2, 0x32, 0xfb, 0xc8, 0x26, 0x54, 0x9c, 0xbf, 0x35, 0x7a, 0x2e, 0x7d, 0xe9, - 0xd9, 0xa6, 0x00, 0x7c, 0x75, 0x4c, 0x80, 0xcb, 0x08, 0x3d, 0xc2, 0x06, 0xc9, 0x99, 0x4e, 0x4e, - 0x89, 0xcb, 0x34, 0xc3, 0xf1, 0x86, 0x26, 0x7f, 0x14, 0x16, 0xa8, 0x7f, 0x53, 0x60, 0x7e, 0x47, - 0x88, 0x45, 0xdb, 0x50, 0xcf, 0xa8, 0x68, 0x2a, 0x1b, 0xca, 0x66, 0xbd, 0xb3, 0xd6, 0x4e, 0x62, - 0x19, 0xe9, 0x68, 0x4b, 0x74, 0x77, 0x57, 0x07, 0x89, 0xee, 0x9a, 0xe8, 0x0e, 0x94, 0x03, 0x9f, - 0x18, 0xcd, 0x39, 0xce, 0xf4, 0x56, 0x3b, 0x77, 0x01, 0x09, 0xe3, 0xbe, 0x4f, 0x0c, 0x9d, 0x83, - 0x11, 0x82, 0x32, 0xc3, 0x56, 0xd0, 0x2c, 0x6d, 0x94, 0x36, 0x6b, 0x3a, 0x7f, 0x46, 0x5b, 0x50, - 0x09, 0xbc, 0x21, 0x35, 0x48, 0xb3, 0xcc, 0x45, 0x5d, 0x9b, 0x26, 0x8a, 0x03, 0x75, 0xc1, 0xa0, - 0x7e, 0x5e, 0x82, 0xaf, 0xdc, 0xa7, 0x04, 0x33, 0x22, 0x01, 0x3a, 0xf9, 0x74, 0x48, 0x02, 0x86, - 0xde, 0x83, 0x85, 0xc4, 0xb3, 0x13, 0x12, 0x0a, 0xd7, 0x5a, 0x13, 0x5c, 0x7b, 0x48, 0x42, 0x3d, - 0x89, 0xc4, 0x43, 0x12, 0xa2, 0x26, 0x54, 0x4f, 0x09, 0x0d, 0x6c, 0xcf, 0x6d, 0x96, 0x36, 0x94, - 0xcd, 0x9a, 0x2e, 0x5f, 0x5f, 0xce, 0xed, 0x1f, 0x01, 0xf8, 0xd1, 0x39, 0xcf, 0xb2, 0x66, 0x79, - 0xa3, 0xb4, 0x59, 0xef, 0xdc, 0x2d, 0x60, 0x2d, 0xf4, 0xa5, 0xbd, 0x97, 0xb0, 0x3e, 0x70, 0x19, - 0x0d, 0xf5, 0x8c, 0x2c, 0xd4, 0x80, 0x12, 0xc3, 0x56, 0xf3, 0x32, 0x37, 0x32, 0x7a, 0xcc, 0x84, - 0xb3, 0x72, 0xc1, 0x70, 0xb6, 0xde, 0x83, 0x37, 0xc6, 0x74, 0x45, 0xf2, 0x65, 0xf8, 0x6a, 0x7a, - 0xf4, 0x88, 0xae, 0xc0, 0xe5, 0x53, 0xec, 0x0c, 0x09, 0x8f, 0x40, 0x4d, 0x8f, 0x5f, 0xb6, 0xe7, - 0xee, 0x2a, 0xea, 0x7f, 0x15, 0x58, 0x1a, 0x95, 0x8c, 0x3e, 0x02, 0x74, 0xe6, 0xd1, 0x93, 0x23, - 0xc7, 0x3b, 0xeb, 0x91, 0x9f, 0x10, 0x63, 0x18, 0x89, 0x16, 0x97, 0x71, 0x6b, 0xec, 0x32, 0x7e, - 0x28, 0x80, 0x0f, 0x24, 0xae, 0x9b, 0x54, 0x87, 0xbe, 0x7c, 0x36, 0x7e, 0x88, 0x56, 0xa1, 0xea, - 0x7a, 0x26, 0x89, 0xf2, 0x36, 0xb6, 0xa4, 0x12, 0xbd, 0x76, 0x4d, 0xd4, 0x81, 0x2a, 0xc3, 0xc1, - 0x49, 0x74, 0x50, 0x2a, 0x4c, 0xe8, 0x8c, 0xdc, 0x4a, 0x84, 0xec, 0x9a, 0xe8, 0x3a, 0x2c, 0x52, - 0xc2, 0x68, 0xd8, 0xc3, 0x8c, 0x91, 0x81, 0xcf, 0x78, 0x2a, 0x2e, 0xea, 0x0b, 0x9c, 0xb8, 0x13, - 0xd3, 0xd0, 0x55, 0xa8, 0xf9, 0xd4, 0x76, 0x0d, 0xdb, 0xc7, 0x8e, 0x88, 0x78, 0x4a, 0x50, 0xff, - 0xa3, 0xc0, 0x42, 0xf6, 0xea, 0xd1, 0x6d, 0x19, 0xa8, 0xd8, 0xdd, 0x95, 0x31, 0x2b, 0x1e, 0xc5, - 0x4d, 0x43, 0x04, 0x10, 0xb5, 0xa1, 0x1c, 0x35, 0x0a, 0x91, 0x57, 0xad, 0x62, 0xf0, 0x41, 0xe8, - 0x13, 0x9d, 0xe3, 0xd0, 0xdb, 0xb0, 0x1c, 0x1c, 0x7b, 0x94, 0xf5, 0x4c, 0x12, 0x18, 0xd4, 0xf6, - 0x59, 0x9a, 0xab, 0x0d, 0x7e, 0xb0, 0x9b, 0xd2, 0xd1, 0x16, 0x2c, 0x0e, 0x03, 0x42, 0x7b, 0x03, - 0xc2, 0xb0, 0x89, 0x19, 0x16, 0x95, 0x76, 0xa5, 0x1d, 0xf7, 0xc1, 0xb6, 0x6c, 0x91, 0xed, 0x1d, - 0x37, 0xd4, 0x17, 0x22, 0xe8, 0x63, 0x81, 0x8c, 0x22, 0x23, 0xb9, 0x7a, 0xdc, 0xc0, 0xd8, 0xf1, - 0x05, 0x49, 0x8c, 0x4c, 0x52, 0x3f, 0x84, 0x95, 0xf1, 0xd4, 0x0d, 0x7c, 0xcf, 0x0d, 0x08, 0xfa, - 0x0e, 0xcc, 0xcb, 0xac, 0x13, 0x71, 0x58, 0x9f, 0x92, 0x8f, 0x7a, 0x02, 0x56, 0xfb, 0x80, 0xde, - 0x27, 0x6c, 0xbc, 0xac, 0x3b, 0x70, 0xf9, 0xd3, 0x21, 0xa1, 0xb2, 0x9e, 0xaf, 0x4e, 0xa8, 0xe7, - 0x0f, 0x23, 0x8c, 0x1e, 0x43, 0xa3, 0x5a, 0x36, 0x09, 0xc3, 0xb6, 0x13, 0xf0, 0xe0, 0xce, 0xeb, - 0xf2, 0x55, 0x7d, 0x02, 0x6f, 0x8e, 0xe8, 0x78, 0x55, 0x9b, 0x3f, 0x86, 0xc5, 0x7d, 0x82, 0xa9, - 0x71, 0xfc, 0xd4, 0x8f, 0xab, 0x33, 0xba, 0x24, 0x46, 0x6d, 0x83, 0xf5, 0x32, 0xe5, 0xaf, 0x70, - 0x23, 0x1a, 0xf1, 0x41, 0x5a, 0x6f, 0x48, 0x85, 0x45, 0x07, 0x33, 0x12, 0xb0, 0x5e, 0x3f, 0xe4, - 0x3d, 0x2b, 0xb6, 0xb6, 0x1e, 0x13, 0xef, 0x85, 0x0f, 0x49, 0xa8, 0xfe, 0x65, 0x0e, 0x56, 0x62, - 0x15, 0x52, 0x7d, 0xf0, 0x9a, 0x3a, 0xde, 0xd6, 0x48, 0x8b, 0x9a, 0x2b, 0x2c, 0x9c, 0xd4, 0xd8, - 0x91, 0x1e, 0x34, 0x52, 0x17, 0xa5, 0xb1, 0xba, 0xc8, 0xb6, 0xd2, 0xf2, 0x68, 0x2b, 0xdd, 0x86, - 0xaa, 0x17, 0x07, 0x8a, 0x27, 0x55, 0xbd, 0xb3, 0x51, 0x10, 0xe6, 0x91, 0x80, 0xea, 0x92, 0x21, - 0xea, 0x42, 0xcc, 0x3b, 0x21, 0x2e, 0x6f, 0x72, 0x35, 0x3d, 0x7e, 0x89, 0xa8, 0x8e, 0x3d, 0xb0, - 0x59, 0xb3, 0xba, 0xa1, 0x6c, 0x5e, 0xd6, 0xe3, 0x17, 0xf5, 0x13, 0x58, 0xcd, 0xc5, 0x4c, 0x5c, - 0xf5, 0x16, 0xd4, 0x92, 0x4d, 0xa2, 0xa9, 0xf0, 0xbe, 0x3c, 0xf5, 0xae, 0x53, 0x74, 0x6a, 0xc1, - 0x5c, 0xc6, 0x02, 0xf5, 0x9f, 0x0a, 0xac, 0x7d, 0xdf, 0x76, 0xcd, 0x7b, 0x61, 0xb6, 0x9d, 0xc9, - 0x3b, 0xba, 0x0f, 0xd5, 0xa8, 0x0b, 0xa6, 0xb3, 0xf6, 0x22, 0x3d, 0xb0, 0x12, 0xb1, 0x76, 0x4d, - 0x74, 0x00, 0x35, 0xd3, 0xa6, 0xc4, 0xe0, 0x15, 0x1f, 0x29, 0x5f, 0xea, 0xbc, 0x5b, 0x60, 0xf3, - 0x44, 0x2b, 0xda, 0xbb, 0x92, 0x5b, 0x4f, 0x05, 0xa9, 0x37, 0xa0, 0x96, 0xd0, 0x11, 0x40, 0xa5, - 0xfb, 0x64, 0xef, 0xd9, 0xc1, 0x7e, 0xe3, 0x12, 0xaa, 0x43, 0xf5, 0xe9, 0xb3, 0x03, 0xfe, 0xa2, - 0xa8, 0x9f, 0xc1, 0xe2, 0x8e, 0x69, 0x1e, 0x60, 0x4b, 0x7a, 0xf4, 0x2a, 0x1b, 0x44, 0xe1, 0x24, - 0x89, 0xb2, 0xc9, 0x3b, 0x25, 0xf4, 0x8c, 0xda, 0x8c, 0xf0, 0x6c, 0x9a, 0xd7, 0x53, 0x82, 0xda, - 0x80, 0x25, 0x69, 0x40, 0x7c, 0x85, 0x6a, 0x1f, 0xae, 0xc4, 0xbd, 0xe7, 0x80, 0xda, 0x96, 0x45, - 0xa8, 0xb4, 0xec, 0x03, 0x78, 0x93, 0xc5, 0x94, 0x5e, 0x66, 0x81, 0xcb, 0x97, 0x05, 0xdf, 0xf1, - 0xda, 0x8f, 0x38, 0x64, 0xcf, 0xc1, 0xae, 0xbe, 0x2c, 0xd8, 0x52, 0x92, 0xba, 0x2a, 0xd7, 0x8c, - 0x44, 0x87, 0x50, 0x7e, 0x00, 0xcd, 0x5d, 0x82, 0x0d, 0x66, 0x9f, 0xe6, 0x0d, 0xb8, 0x0b, 0x20, - 0x0d, 0x98, 0x18, 0x99, 0xcc, 0xf5, 0xd6, 0x04, 0xb8, 0x6b, 0xaa, 0xeb, 0xb0, 0x56, 0x20, 0x55, - 0xa8, 0xfc, 0xa9, 0x02, 0x0d, 0x19, 0xd0, 0x3d, 0xea, 0x99, 0x43, 0x83, 0x50, 0xf4, 0x2e, 0xd4, - 0x22, 0x41, 0x2c, 0x9c, 0x49, 0xd5, 0x7c, 0x8c, 0xed, 0x9a, 0xe8, 0xdb, 0x50, 0xf5, 0x86, 0xcc, - 0x1f, 0xb2, 0x60, 0xc2, 0xe0, 0xf9, 0x01, 0xa6, 0x36, 0xee, 0x3b, 0xe4, 0x31, 0xf6, 0x75, 0x09, - 0x55, 0x7f, 0x0c, 0xab, 0x3a, 0xb1, 0xec, 0x80, 0x11, 0x2a, 0x2d, 0x90, 0x4e, 0xef, 0x44, 0xbd, - 0x20, 0x26, 0xc9, 0x82, 0xba, 0x3e, 0xa5, 0xa0, 0x12, 0xf6, 0x94, 0x4b, 0xfd, 0x2c, 0xf5, 0xef, - 0xbe, 0xe7, 0x06, 0xc3, 0xc1, 0x2b, 0xf8, 0x77, 0x07, 0x2a, 0xb6, 0x9b, 0x71, 0x6f, 0x3d, 0xdf, - 0xd1, 0xf0, 0x80, 0x30, 0x42, 0x23, 0xff, 0x04, 0x34, 0xeb, 0x9e, 0x34, 0x20, 0xe3, 0x9e, 0x21, - 0x48, 0xb3, 0xb8, 0x97, 0xb0, 0xa7, 0x5c, 0x2a, 0x82, 0x86, 0x94, 0x9e, 0xdc, 0xe9, 0x6f, 0x15, - 0x58, 0x49, 0x4b, 0x9e, 0x5b, 0x21, 0x35, 0x3e, 0x86, 0x85, 0x64, 0x71, 0x7a, 0xb9, 0xbe, 0x51, - 0x27, 0x29, 0x11, 0xbd, 0x93, 0x09, 0x48, 0x69, 0x7a, 0xa9, 0xca, 0x70, 0xac, 0xc1, 0x6a, 0xce, - 0x36, 0x61, 0xf7, 0x13, 0x68, 0x3c, 0xb2, 0x03, 0xf6, 0x2c, 0xc0, 0x16, 0x79, 0x0d, 0x1d, 0x41, - 0xed, 0xc1, 0x72, 0x46, 0x9e, 0xe8, 0xd1, 0x1f, 0x00, 0x24, 0x1e, 0xc8, 0xa0, 0x5f, 0xc4, 0xff, - 0x0c, 0x77, 0xe7, 0xcb, 0x46, 0x9a, 0x5c, 0xf1, 0x2d, 0xd0, 0x10, 0x59, 0xb0, 0x34, 0xba, 0xbd, - 0xa0, 0xcd, 0x59, 0x77, 0xf3, 0xd6, 0xcd, 0x19, 0x90, 0x22, 0x58, 0x97, 0xd0, 0x97, 0x65, 0xa8, - 0x67, 0x16, 0x0e, 0xf4, 0xf5, 0x02, 0xe6, 0xfc, 0xd2, 0xd3, 0xfa, 0xc6, 0x79, 0x30, 0xa1, 0xe0, - 0x8b, 0xf2, 0xcf, 0xfe, 0xfe, 0xaf, 0x9f, 0xcf, 0x7d, 0x5e, 0x46, 0xeb, 0xe9, 0xf7, 0x31, 0xff, - 0xc6, 0x3d, 0x7d, 0x27, 0x25, 0x1c, 0xfe, 0x55, 0x41, 0x7f, 0x56, 0x26, 0x03, 0x34, 0xdb, 0xd4, - 0x9e, 0xf3, 0xcd, 0xa9, 0x9d, 0xfd, 0xfc, 0xcc, 0xee, 0x16, 0xd1, 0xbe, 0xf8, 0x09, 0x31, 0xd8, - 0x8b, 0x73, 0x81, 0xa6, 0x37, 0xc0, 0xb6, 0x7b, 0x3e, 0xce, 0xc5, 0x03, 0x52, 0x88, 0x12, 0xbb, - 0xc2, 0x8b, 0xc3, 0x5f, 0x2b, 0xe8, 0x17, 0xff, 0x97, 0x56, 0x1f, 0xfe, 0x4e, 0x41, 0xbf, 0x99, - 0x66, 0x19, 0xc3, 0x56, 0x4e, 0x12, 0xc3, 0xd6, 0x8c, 0xb6, 0xe5, 0x90, 0x93, 0x8c, 0xcb, 0x01, - 0xb9, 0x75, 0xe8, 0x57, 0x73, 0xf0, 0xc6, 0xd8, 0xf6, 0x83, 0x6e, 0x4e, 0xdc, 0xb3, 0xc6, 0xb7, - 0xca, 0xd6, 0xad, 0x59, 0xa0, 0x22, 0xff, 0xfe, 0xa4, 0xf0, 0xfc, 0xfb, 0xa3, 0x82, 0x3e, 0xca, - 0x87, 0x23, 0xe0, 0x4c, 0xda, 0xf3, 0x09, 0x5e, 0x17, 0xbb, 0x58, 0x10, 0xed, 0xf7, 0xd1, 0x83, - 0xd7, 0x22, 0x1c, 0x99, 0xb0, 0x38, 0x32, 0xd3, 0xd1, 0x37, 0x27, 0x96, 0xf2, 0xe8, 0x60, 0x6f, - 0x6d, 0x9e, 0x0f, 0x4c, 0x4a, 0xfe, 0x0f, 0x0a, 0x2c, 0xe7, 0x66, 0x39, 0x7a, 0xbb, 0x40, 0xc2, - 0xa4, 0x3d, 0xa2, 0x75, 0x7b, 0x36, 0xb0, 0x50, 0xa9, 0xf1, 0x3b, 0xb8, 0xd9, 0xb9, 0x91, 0x8f, - 0x92, 0x58, 0x30, 0x34, 0x33, 0x61, 0xde, 0x56, 0x6e, 0xa1, 0xa7, 0x50, 0x89, 0x37, 0x2a, 0x54, - 0xb4, 0x7e, 0x8f, 0x6c, 0x7b, 0xad, 0x6b, 0x53, 0x10, 0x89, 0xcb, 0x24, 0x1d, 0x70, 0xc9, 0x7e, - 0x52, 0x94, 0x46, 0x13, 0x56, 0x88, 0xd6, 0xf5, 0x29, 0xd8, 0x62, 0x35, 0xc9, 0x9a, 0x30, 0x4d, - 0xcd, 0xd8, 0x28, 0x9f, 0x55, 0xcd, 0x00, 0xd0, 0x3e, 0x61, 0x63, 0x03, 0xb0, 0xb0, 0x82, 0x8a, - 0x07, 0x78, 0x61, 0x05, 0x4d, 0x9a, 0xa7, 0x97, 0xd0, 0x3f, 0x14, 0x40, 0xf9, 0xcd, 0x1d, 0xdd, - 0xbe, 0xc8, 0x82, 0x7f, 0xa1, 0xa2, 0x3d, 0xe6, 0xf9, 0xd2, 0x47, 0x1f, 0x4f, 0xac, 0xaa, 0x64, - 0x7c, 0x6a, 0xcf, 0xc5, 0xc7, 0x4b, 0xa6, 0xb4, 0x24, 0x25, 0x29, 0x59, 0x49, 0x10, 0x1d, 0x3d, - 0xf9, 0xc0, 0x78, 0x81, 0xfe, 0xad, 0x40, 0x2d, 0x99, 0xee, 0xa8, 0x28, 0xfc, 0xe3, 0xbb, 0x44, - 0xeb, 0xc6, 0x74, 0x90, 0x70, 0xe1, 0xf7, 0x71, 0xdf, 0xf9, 0xa5, 0x82, 0xbe, 0x28, 0xe8, 0xc3, - 0xc3, 0x08, 0x9b, 0xe9, 0x01, 0x93, 0xa7, 0xc2, 0xf9, 0xf3, 0xe0, 0xbc, 0xf9, 0x55, 0x34, 0xb9, - 0xee, 0x7d, 0xef, 0xf0, 0xbb, 0x96, 0xcd, 0x8e, 0x87, 0xfd, 0xb6, 0xe1, 0x0d, 0x34, 0xee, 0x90, - 0x47, 0xad, 0xf8, 0x41, 0x4b, 0xfe, 0xd7, 0x5a, 0xc4, 0xd5, 0xfc, 0xfe, 0xb7, 0x2c, 0x4f, 0xcb, - 0xfd, 0xec, 0xee, 0x57, 0xf8, 0xff, 0x99, 0x3b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x67, - 0x17, 0x6c, 0x08, 0x17, 0x00, 0x00, + // 1654 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x6f, 0xdb, 0x46, + 0x16, 0x0f, 0x2d, 0x5b, 0xb2, 0x9e, 0x6c, 0x47, 0x9e, 0x64, 0x6d, 0x59, 0x4e, 0x36, 0x0a, 0x9d, + 0xcd, 0x3a, 0x1f, 0x2b, 0x22, 0xca, 0x22, 0x1b, 0x1b, 0xc8, 0x62, 0x9d, 0x38, 0xbb, 0x50, 0x3e, + 0x1d, 0xda, 0xd9, 0x2f, 0x2c, 0xa0, 0x8c, 0xc8, 0xb1, 0xcc, 0x98, 0x22, 0x99, 0xe1, 0xc8, 0x5e, + 0x22, 0x30, 0xb2, 0x58, 0xf4, 0x56, 0xf4, 0xd2, 0xa2, 0x97, 0xa2, 0x40, 0xff, 0x87, 0xfe, 0x19, + 0xbd, 0xf6, 0xd2, 0x43, 0x8f, 0xfd, 0x17, 0x7a, 0x28, 0x72, 0x29, 0x38, 0x9c, 0x21, 0x29, 0x89, + 0x52, 0xec, 0x24, 0x37, 0xf2, 0xcd, 0xef, 0xcd, 0xfb, 0x98, 0xf7, 0x7e, 0xf3, 0x48, 0xb8, 0xb8, + 0x6b, 0x07, 0x8c, 0x58, 0xa6, 0xad, 0x61, 0xca, 0xac, 0x5d, 0x6c, 0xb0, 0xf8, 0xc1, 0xaf, 0x7b, + 0xd4, 0x65, 0x2e, 0x9a, 0x97, 0x90, 0xba, 0x5c, 0xa9, 0x2e, 0x75, 0x5c, 0xb7, 0x63, 0x13, 0x8d, + 0x03, 0xda, 0xbd, 0x5d, 0x0d, 0x3b, 0x41, 0x84, 0xae, 0x9e, 0x13, 0x4b, 0xd8, 0xb3, 0x34, 0xec, + 0x38, 0x2e, 0xc3, 0xcc, 0x72, 0x1d, 0xb1, 0x57, 0xb5, 0x96, 0x98, 0x33, 0xbb, 0x96, 0xa3, 0xd9, + 0xb8, 0xe7, 0x18, 0x7b, 0x2d, 0xcf, 0xc6, 0x8e, 0xd4, 0x8f, 0x11, 0x86, 0x4b, 0x89, 0x66, 0x5b, + 0x8c, 0x50, 0x6c, 0x4b, 0xfd, 0xa5, 0xfe, 0x55, 0x16, 0x78, 0x44, 0x2e, 0xfd, 0xb6, 0x7f, 0xc9, + 0x32, 0x89, 0xc3, 0xac, 0x5d, 0x8b, 0x50, 0xb1, 0x7e, 0xa1, 0x7f, 0x5d, 0xc6, 0xd2, 0xb2, 0x4c, + 0x01, 0x38, 0x3f, 0xb0, 0x81, 0xc3, 0x08, 0xdd, 0xc5, 0x06, 0x19, 0x72, 0x9d, 0x1c, 0x10, 0x87, + 0x69, 0x86, 0xed, 0xf6, 0x4c, 0xfe, 0x28, 0x3c, 0x50, 0xbf, 0x53, 0x60, 0x7a, 0x43, 0x6c, 0x8b, + 0xd6, 0xa1, 0x94, 0x32, 0x51, 0x51, 0x6a, 0xca, 0x6a, 0xa9, 0xb1, 0x54, 0x8f, 0x73, 0x19, 0xda, + 0xa8, 0x4b, 0x74, 0x73, 0x53, 0x07, 0x89, 0x6e, 0x9a, 0xe8, 0x26, 0x4c, 0xfa, 0x1e, 0x31, 0x2a, + 0x13, 0x5c, 0xe9, 0x42, 0x7d, 0xe8, 0x00, 0x62, 0xc5, 0x6d, 0x8f, 0x18, 0x3a, 0x07, 0x23, 0x04, + 0x93, 0x0c, 0x77, 0xfc, 0x4a, 0xae, 0x96, 0x5b, 0x2d, 0xea, 0xfc, 0x19, 0xad, 0x41, 0xde, 0x77, + 0x7b, 0xd4, 0x20, 0x95, 0x49, 0xbe, 0xd5, 0xc5, 0x71, 0x5b, 0x71, 0xa0, 0x2e, 0x14, 0xd4, 0x4f, + 0x73, 0xf0, 0x9b, 0x7b, 0x94, 0x60, 0x46, 0x24, 0x40, 0x27, 0xaf, 0x7a, 0xc4, 0x67, 0xe8, 0x0e, + 0xcc, 0xc4, 0x91, 0xed, 0x93, 0x40, 0x84, 0x56, 0x1d, 0x11, 0xda, 0x43, 0x12, 0xe8, 0x71, 0x26, + 0x1e, 0x92, 0x00, 0x55, 0xa0, 0x70, 0x40, 0xa8, 0x6f, 0xb9, 0x4e, 0x25, 0x57, 0x53, 0x56, 0x8b, + 0xba, 0x7c, 0x7d, 0xbf, 0xb0, 0xff, 0x09, 0xe0, 0x85, 0xeb, 0xbc, 0xca, 0x2a, 0x93, 0xb5, 0xdc, + 0x6a, 0xa9, 0x71, 0x3b, 0x43, 0x35, 0x33, 0x96, 0xfa, 0x56, 0xac, 0x7a, 0xdf, 0x61, 0x34, 0xd0, + 0x53, 0x7b, 0xa1, 0x32, 0xe4, 0x18, 0xee, 0x54, 0xa6, 0xb8, 0x93, 0xe1, 0x63, 0x2a, 0x9d, 0xf9, + 0x13, 0xa6, 0xb3, 0x7a, 0x07, 0x4e, 0x0f, 0xd8, 0x0a, 0xf7, 0x97, 0xe9, 0x2b, 0xea, 0xe1, 0x23, + 0x3a, 0x0b, 0x53, 0x07, 0xd8, 0xee, 0x11, 0x9e, 0x81, 0xa2, 0x1e, 0xbd, 0xac, 0x4f, 0xdc, 0x56, + 0xd4, 0xb7, 0x0a, 0xcc, 0xf5, 0xef, 0x8c, 0xfe, 0x05, 0xe8, 0xd0, 0xa5, 0xfb, 0xbb, 0xb6, 0x7b, + 0xd8, 0x22, 0xff, 0x25, 0x46, 0x2f, 0xdc, 0x5a, 0x1c, 0xc6, 0xd5, 0x81, 0xc3, 0xf8, 0x87, 0x00, + 0xde, 0x97, 0xb8, 0x66, 0xdc, 0x1d, 0xfa, 0xfc, 0xe1, 0xe0, 0x22, 0x5a, 0x84, 0x82, 0xe3, 0x9a, + 0x24, 0xac, 0xdb, 0xc8, 0x93, 0x7c, 0xf8, 0xda, 0x34, 0x51, 0x03, 0x0a, 0x0c, 0xfb, 0xfb, 0xe1, + 0x42, 0x2e, 0xb3, 0xa0, 0x53, 0xfb, 0xe6, 0x43, 0x64, 0xd3, 0x44, 0x2b, 0x30, 0x4b, 0x09, 0xa3, + 0x41, 0x0b, 0x33, 0x46, 0xba, 0x1e, 0xe3, 0xa5, 0x38, 0xab, 0xcf, 0x70, 0xe1, 0x46, 0x24, 0x43, + 0xe7, 0xa0, 0xe8, 0x51, 0xcb, 0x31, 0x2c, 0x0f, 0xdb, 0x22, 0xe3, 0x89, 0x40, 0xfd, 0x45, 0x81, + 0x99, 0xf4, 0xd1, 0xa3, 0xeb, 0x32, 0x51, 0x51, 0xb8, 0x0b, 0x03, 0x5e, 0x3c, 0x8a, 0x48, 0x43, + 0x24, 0x10, 0xd5, 0x61, 0x32, 0x24, 0x0a, 0x51, 0x57, 0xd5, 0x6c, 0xf0, 0x4e, 0xe0, 0x11, 0x9d, + 0xe3, 0xd0, 0x35, 0x98, 0xf7, 0xf7, 0x5c, 0xca, 0x5a, 0x26, 0xf1, 0x0d, 0x6a, 0x79, 0x2c, 0xa9, + 0xd5, 0x32, 0x5f, 0xd8, 0x4c, 0xe4, 0x68, 0x0d, 0x66, 0x7b, 0x3e, 0xa1, 0xad, 0x2e, 0x61, 0xd8, + 0xc4, 0x0c, 0x8b, 0x4e, 0x3b, 0x5b, 0x8f, 0x78, 0xb0, 0x2e, 0x29, 0xb2, 0xbe, 0xe1, 0x04, 0xfa, + 0x4c, 0x08, 0x7d, 0x2c, 0x90, 0x61, 0x66, 0xa4, 0x56, 0x8b, 0x3b, 0x18, 0x05, 0x3e, 0x23, 0x85, + 0xa1, 0x4b, 0xea, 0x33, 0x58, 0x18, 0x2c, 0x5d, 0xdf, 0x73, 0x1d, 0x9f, 0xa0, 0x3f, 0xc1, 0xb4, + 0xac, 0x3a, 0x91, 0x87, 0xe5, 0x31, 0xf5, 0xa8, 0xc7, 0x60, 0xb5, 0x0d, 0xe8, 0x6f, 0x84, 0x0d, + 0xb6, 0x75, 0x03, 0xa6, 0x5e, 0xf5, 0x08, 0x95, 0xfd, 0x7c, 0x6e, 0x44, 0x3f, 0x3f, 0x0b, 0x31, + 0x7a, 0x04, 0x0d, 0x7b, 0xd9, 0x24, 0x0c, 0x5b, 0xb6, 0xcf, 0x93, 0x3b, 0xad, 0xcb, 0x57, 0xf5, + 0x09, 0x9c, 0xe9, 0xb3, 0xf1, 0xa1, 0x3e, 0xbf, 0x80, 0xd9, 0x6d, 0x82, 0xa9, 0xb1, 0xf7, 0xd4, + 0x8b, 0xba, 0x33, 0x3c, 0x24, 0x46, 0x2d, 0x83, 0xb5, 0x52, 0xed, 0xaf, 0x70, 0x27, 0xca, 0xd1, + 0x42, 0xd2, 0x6f, 0x48, 0x85, 0x59, 0x1b, 0x33, 0xe2, 0xb3, 0x56, 0x3b, 0xe0, 0x9c, 0x15, 0x79, + 0x5b, 0x8a, 0x84, 0x77, 0x83, 0x87, 0x24, 0x50, 0xbf, 0x9d, 0x80, 0x85, 0xc8, 0x84, 0x34, 0xef, + 0x7f, 0x24, 0xc6, 0x5b, 0xeb, 0xa3, 0xa8, 0x89, 0xcc, 0xc6, 0x49, 0x9c, 0xed, 0xe3, 0xa0, 0xbe, + 0xbe, 0xc8, 0x0d, 0xf4, 0x45, 0x9a, 0x4a, 0x27, 0xfb, 0xa9, 0x74, 0x1d, 0x0a, 0x6e, 0x94, 0x28, + 0x5e, 0x54, 0xa5, 0x46, 0x2d, 0x23, 0xcd, 0x7d, 0x09, 0xd5, 0xa5, 0x42, 0xc8, 0x42, 0xcc, 0xdd, + 0x27, 0x0e, 0x27, 0xb9, 0xa2, 0x1e, 0xbd, 0x84, 0x52, 0xdb, 0xea, 0x5a, 0xac, 0x52, 0xa8, 0x29, + 0xab, 0x53, 0x7a, 0xf4, 0xa2, 0xbe, 0x84, 0xc5, 0xa1, 0x9c, 0x89, 0xa3, 0x5e, 0x83, 0x62, 0x3c, + 0x49, 0x54, 0x14, 0xce, 0xcb, 0x63, 0xcf, 0x3a, 0x41, 0x27, 0x1e, 0x4c, 0xa4, 0x3c, 0x50, 0x7f, + 0x54, 0x60, 0xe9, 0xaf, 0x96, 0x63, 0xde, 0x0d, 0xd2, 0x74, 0x26, 0xcf, 0xe8, 0x1e, 0x14, 0x42, + 0x16, 0x4c, 0xee, 0xda, 0x93, 0x70, 0x60, 0x3e, 0x54, 0x6d, 0x9a, 0x68, 0x07, 0x8a, 0xa6, 0x45, + 0x89, 0xc1, 0x3b, 0x3e, 0x34, 0x3e, 0xd7, 0xb8, 0x95, 0xe1, 0xf3, 0x48, 0x2f, 0xea, 0x9b, 0x52, + 0x5b, 0x4f, 0x36, 0x52, 0x2f, 0x41, 0x31, 0x96, 0x23, 0x80, 0x7c, 0xf3, 0xc9, 0xd6, 0xf3, 0x9d, + 0xed, 0xf2, 0x29, 0x54, 0x82, 0xc2, 0xd3, 0xe7, 0x3b, 0xfc, 0x45, 0x51, 0xdf, 0xc0, 0xec, 0x86, + 0x69, 0xee, 0xe0, 0x8e, 0x8c, 0xe8, 0x43, 0x26, 0x88, 0xcc, 0x9b, 0x24, 0xac, 0x26, 0xf7, 0x80, + 0xd0, 0x43, 0x6a, 0x31, 0xc2, 0xab, 0x69, 0x5a, 0x4f, 0x04, 0x6a, 0x19, 0xe6, 0xa4, 0x03, 0xd1, + 0x11, 0xaa, 0x6d, 0x38, 0x1b, 0x71, 0xcf, 0x0e, 0xb5, 0x3a, 0x1d, 0x42, 0xa5, 0x67, 0x0f, 0xe0, + 0x0c, 0x8b, 0x24, 0xad, 0xd4, 0x00, 0x37, 0xdc, 0x16, 0x7c, 0xc6, 0xab, 0x3f, 0xe2, 0x90, 0x2d, + 0x1b, 0x3b, 0xfa, 0xbc, 0x50, 0x4b, 0x44, 0xea, 0xa2, 0x1c, 0x33, 0x62, 0x1b, 0xc2, 0xf8, 0x0e, + 0x54, 0x36, 0x09, 0x36, 0x98, 0x75, 0x30, 0xec, 0xc0, 0x6d, 0x00, 0xe9, 0xc0, 0xc8, 0xcc, 0xa4, + 0x8e, 0xb7, 0x28, 0xc0, 0x4d, 0x53, 0x5d, 0x86, 0xa5, 0x8c, 0x5d, 0x85, 0xc9, 0xff, 0x29, 0x50, + 0x96, 0x09, 0xdd, 0xa2, 0xae, 0xd9, 0x33, 0x08, 0x45, 0xb7, 0xa0, 0x18, 0x6e, 0xc4, 0x82, 0x63, + 0x99, 0x9a, 0x8e, 0xb0, 0x4d, 0x13, 0xfd, 0x11, 0x0a, 0x6e, 0x8f, 0x79, 0x3d, 0xe6, 0x8f, 0xb8, + 0x78, 0xfe, 0x8e, 0xa9, 0x85, 0xdb, 0x36, 0x79, 0x8c, 0x3d, 0x5d, 0x42, 0xd5, 0xff, 0xc0, 0xa2, + 0x4e, 0x3a, 0x96, 0xcf, 0x08, 0x95, 0x1e, 0xc8, 0xa0, 0x37, 0x42, 0x2e, 0x88, 0x44, 0xb2, 0xa1, + 0x56, 0xc6, 0x34, 0x54, 0xac, 0x9e, 0x68, 0xa9, 0x6f, 0x92, 0xf8, 0xee, 0xb9, 0x8e, 0xdf, 0xeb, + 0x7e, 0x40, 0x7c, 0x37, 0x21, 0x6f, 0x39, 0xa9, 0xf0, 0x96, 0x87, 0x19, 0x0d, 0x77, 0x09, 0x23, + 0x34, 0x8c, 0x4f, 0x40, 0xd3, 0xe1, 0x49, 0x07, 0x52, 0xe1, 0x19, 0x42, 0x74, 0x9c, 0xf0, 0x62, + 0xf5, 0x44, 0x4b, 0x45, 0x50, 0x96, 0xbb, 0xc7, 0x67, 0xfa, 0x95, 0x02, 0x0b, 0x49, 0xcb, 0x73, + 0x2f, 0xa4, 0xc5, 0xc7, 0x30, 0x13, 0x0f, 0x4e, 0xef, 0xc7, 0x1b, 0x25, 0x92, 0x08, 0xd1, 0x8d, + 0x54, 0x42, 0x72, 0xe3, 0x5b, 0x55, 0xa6, 0x63, 0x09, 0x16, 0x87, 0x7c, 0x13, 0x7e, 0x3f, 0x81, + 0xf2, 0x23, 0xcb, 0x67, 0xcf, 0x7d, 0xdc, 0x21, 0x1f, 0x81, 0x11, 0xd4, 0x16, 0xcc, 0xa7, 0xf6, + 0x13, 0x1c, 0xfd, 0x00, 0x20, 0x8e, 0x40, 0x26, 0xfd, 0x24, 0xf1, 0xa7, 0xb4, 0x1b, 0x6f, 0x4b, + 0x49, 0x71, 0x45, 0xa7, 0x40, 0x03, 0xd4, 0x81, 0xb9, 0xfe, 0xe9, 0x05, 0xad, 0x1e, 0x77, 0x36, + 0xaf, 0x5e, 0x39, 0x06, 0x52, 0x24, 0xeb, 0x14, 0xfa, 0x44, 0x81, 0x52, 0x6a, 0xe0, 0x40, 0xbf, + 0xcb, 0x50, 0x1e, 0x1e, 0x7a, 0xaa, 0x97, 0xdf, 0x05, 0x13, 0x06, 0x2e, 0xff, 0xff, 0xfb, 0x9f, + 0xbe, 0x98, 0xa8, 0xa9, 0xcb, 0xc9, 0xd7, 0x31, 0xff, 0xc2, 0x3d, 0xb8, 0x91, 0x08, 0xd6, 0x95, + 0xab, 0xe8, 0x33, 0x05, 0x4e, 0x0f, 0x5c, 0x88, 0xe8, 0xca, 0xc8, 0xab, 0x77, 0x70, 0xd0, 0xa8, + 0x5e, 0x3d, 0x0e, 0x54, 0xb8, 0xb4, 0xc2, 0x5d, 0x3a, 0xaf, 0x56, 0x86, 0x5d, 0xf2, 0xb9, 0x4a, + 0xe8, 0x8f, 0x09, 0xb3, 0x7d, 0xec, 0x8a, 0x7e, 0x3f, 0x32, 0xa9, 0xfd, 0x14, 0x5b, 0x5d, 0x7d, + 0x37, 0x30, 0x4e, 0xfe, 0x37, 0x0a, 0xcc, 0x0f, 0xb1, 0x2a, 0xba, 0x96, 0xb1, 0xc3, 0x28, 0x46, + 0xaf, 0x5e, 0x3f, 0x1e, 0x58, 0x98, 0xd4, 0x78, 0xec, 0x57, 0x1a, 0x97, 0x86, 0x63, 0x17, 0x54, + 0xaf, 0x99, 0xb1, 0x72, 0x98, 0x87, 0xa7, 0x90, 0x8f, 0xee, 0x36, 0x94, 0x35, 0x08, 0xf5, 0xdd, + 0xbb, 0xd5, 0x8b, 0x63, 0x10, 0x71, 0xc8, 0x24, 0xa1, 0x9a, 0xf8, 0xa6, 0xc8, 0x3a, 0xbd, 0x11, + 0x64, 0x5e, 0x5d, 0x19, 0x83, 0xcd, 0x36, 0x13, 0x13, 0xf6, 0x38, 0x33, 0x03, 0xa4, 0x7a, 0x5c, + 0x33, 0x5d, 0x40, 0xdb, 0x84, 0x0d, 0x50, 0x51, 0x66, 0xe1, 0x66, 0x53, 0x69, 0x66, 0xe1, 0x8e, + 0x62, 0xb6, 0x53, 0xe8, 0x07, 0x05, 0xd0, 0xf0, 0x0c, 0x85, 0xae, 0x9f, 0x64, 0xd4, 0x3a, 0x51, + 0xaf, 0xec, 0xf1, 0x7a, 0x69, 0xa3, 0x17, 0xa3, 0x7a, 0x45, 0x8b, 0x89, 0x4c, 0x7b, 0x2d, 0xc6, + 0xc8, 0xf0, 0xcb, 0xed, 0x25, 0x31, 0xd8, 0x51, 0x22, 0x31, 0xdd, 0x2e, 0xb6, 0x9c, 0x94, 0xc0, + 0xc1, 0x5d, 0x72, 0xa4, 0xbd, 0x8e, 0x47, 0xbd, 0x23, 0xf4, 0xb3, 0x02, 0xc5, 0x98, 0x67, 0x51, + 0x56, 0xfa, 0x07, 0x59, 0xbd, 0x7a, 0x69, 0x3c, 0x48, 0x84, 0xf0, 0xb5, 0xc2, 0x63, 0xf8, 0x52, + 0x41, 0x9f, 0x2b, 0xc3, 0x51, 0xf4, 0x42, 0xac, 0xf6, 0x3a, 0xfd, 0x53, 0x2b, 0xfd, 0xc5, 0x92, + 0x8a, 0x65, 0x24, 0x24, 0x0e, 0x6e, 0x24, 0x42, 0x44, 0x9b, 0x5e, 0x17, 0xdf, 0x1b, 0x47, 0x77, + 0xff, 0xf2, 0xef, 0x3f, 0x77, 0x2c, 0xb6, 0xd7, 0x6b, 0xd7, 0x0d, 0xb7, 0xab, 0xf1, 0x80, 0x5c, + 0xda, 0x89, 0x1e, 0xb4, 0xf8, 0xcf, 0x59, 0x87, 0x38, 0x9a, 0xd7, 0xfe, 0x43, 0xc7, 0xd5, 0x86, + 0x7e, 0x3b, 0xb6, 0xf3, 0xfc, 0x4b, 0xf9, 0xe6, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc1, 0x2f, + 0x2d, 0x08, 0x92, 0x14, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.gw.go b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.gw.go index 4d83ccf464..6e92073451 100644 --- a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.gw.go +++ b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.pb.gw.go @@ -28,209 +28,15 @@ var _ status.Status var _ = runtime.String var _ = utilities.NewDoubleArray -var ( - filter_ArtifactRegistry_GetArtifact_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_ArtifactRegistry_GetArtifact_0(ctx context.Context, marshaler runtime.Marshaler, client ArtifactRegistryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetArtifactRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArtifactRegistry_GetArtifact_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetArtifact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_ArtifactRegistry_GetArtifact_1 = &utilities.DoubleArray{Encoding: map[string]int{"query": 0, "artifact_id": 1, "artifact_key": 2, "project": 3, "domain": 4, "name": 5, "version": 6}, Base: []int{1, 13, 1, 1, 1, 4, 3, 2, 0, 0, 9, 7, 6, 0, 9, 9, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 5, 8, 2, 11, 12, 13, 2, 15, 16}} -) - -func request_ArtifactRegistry_GetArtifact_1(ctx context.Context, marshaler runtime.Marshaler, client ArtifactRegistryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetArtifactRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["query.artifact_id.artifact_key.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_id.artifact_key.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_id.artifact_key.project", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_id.artifact_key.project", err) - } - - val, ok = pathParams["query.artifact_id.artifact_key.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_id.artifact_key.domain") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_id.artifact_key.domain", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_id.artifact_key.domain", err) - } - - val, ok = pathParams["query.artifact_id.artifact_key.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_id.artifact_key.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_id.artifact_key.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_id.artifact_key.name", err) - } - - val, ok = pathParams["query.artifact_id.version"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_id.version") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_id.version", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_id.version", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArtifactRegistry_GetArtifact_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetArtifact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_ArtifactRegistry_GetArtifact_2 = &utilities.DoubleArray{Encoding: map[string]int{"query": 0, "artifact_id": 1, "artifact_key": 2, "project": 3, "domain": 4, "name": 5}, Base: []int{1, 9, 1, 1, 1, 4, 4, 0, 3, 0, 9, 7, 7, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 5, 7, 9, 2, 11, 12, 13}} -) - -func request_ArtifactRegistry_GetArtifact_2(ctx context.Context, marshaler runtime.Marshaler, client ArtifactRegistryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetArtifactRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["query.artifact_id.artifact_key.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_id.artifact_key.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_id.artifact_key.project", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_id.artifact_key.project", err) - } - - val, ok = pathParams["query.artifact_id.artifact_key.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_id.artifact_key.domain") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_id.artifact_key.domain", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_id.artifact_key.domain", err) - } - - val, ok = pathParams["query.artifact_id.artifact_key.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_id.artifact_key.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_id.artifact_key.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_id.artifact_key.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArtifactRegistry_GetArtifact_2); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetArtifact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_ArtifactRegistry_GetArtifact_3 = &utilities.DoubleArray{Encoding: map[string]int{"query": 0, "artifact_tag": 1, "artifact_key": 2, "project": 3, "domain": 4, "name": 5}, Base: []int{1, 9, 1, 1, 1, 4, 4, 0, 3, 0, 9, 7, 7, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 5, 7, 9, 2, 11, 12, 13}} -) - -func request_ArtifactRegistry_GetArtifact_3(ctx context.Context, marshaler runtime.Marshaler, client ArtifactRegistryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetArtifactRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["query.artifact_tag.artifact_key.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_tag.artifact_key.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_tag.artifact_key.project", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_tag.artifact_key.project", err) - } - - val, ok = pathParams["query.artifact_tag.artifact_key.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_tag.artifact_key.domain") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_tag.artifact_key.domain", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_tag.artifact_key.domain", err) - } - - val, ok = pathParams["query.artifact_tag.artifact_key.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.artifact_tag.artifact_key.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "query.artifact_tag.artifact_key.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.artifact_tag.artifact_key.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArtifactRegistry_GetArtifact_3); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -239,107 +45,15 @@ func request_ArtifactRegistry_GetArtifact_3(ctx context.Context, marshaler runti } -var ( - filter_ArtifactRegistry_SearchArtifacts_0 = &utilities.DoubleArray{Encoding: map[string]int{"artifact_key": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} -) - func request_ArtifactRegistry_SearchArtifacts_0(ctx context.Context, marshaler runtime.Marshaler, client ArtifactRegistryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq SearchArtifactsRequest var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["artifact_key.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact_key.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "artifact_key.project", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact_key.project", err) - } - - val, ok = pathParams["artifact_key.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact_key.domain") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "artifact_key.domain", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact_key.domain", err) - } - - val, ok = pathParams["artifact_key.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact_key.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "artifact_key.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact_key.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArtifactRegistry_SearchArtifacts_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.SearchArtifacts(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_ArtifactRegistry_SearchArtifacts_1 = &utilities.DoubleArray{Encoding: map[string]int{"artifact_key": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} -) - -func request_ArtifactRegistry_SearchArtifacts_1(ctx context.Context, marshaler runtime.Marshaler, client ArtifactRegistryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SearchArtifactsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["artifact_key.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact_key.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "artifact_key.project", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact_key.project", err) - } - - val, ok = pathParams["artifact_key.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact_key.domain") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "artifact_key.domain", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact_key.domain", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArtifactRegistry_SearchArtifacts_1); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -548,7 +262,7 @@ func RegisterArtifactRegistryHandler(ctx context.Context, mux *runtime.ServeMux, // "ArtifactRegistryClient" to call the correct interceptors. func RegisterArtifactRegistryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ArtifactRegistryClient) error { - mux.Handle("GET", pattern_ArtifactRegistry_GetArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ArtifactRegistry_GetArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -568,67 +282,7 @@ func RegisterArtifactRegistryHandlerClient(ctx context.Context, mux *runtime.Ser }) - mux.Handle("GET", pattern_ArtifactRegistry_GetArtifact_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ArtifactRegistry_GetArtifact_1(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArtifactRegistry_GetArtifact_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ArtifactRegistry_GetArtifact_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ArtifactRegistry_GetArtifact_2(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArtifactRegistry_GetArtifact_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ArtifactRegistry_GetArtifact_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ArtifactRegistry_GetArtifact_3(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArtifactRegistry_GetArtifact_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ArtifactRegistry_SearchArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ArtifactRegistry_SearchArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -648,26 +302,6 @@ func RegisterArtifactRegistryHandlerClient(ctx context.Context, mux *runtime.Ser }) - mux.Handle("GET", pattern_ArtifactRegistry_SearchArtifacts_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ArtifactRegistry_SearchArtifacts_1(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArtifactRegistry_SearchArtifacts_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("PATCH", pattern_ArtifactRegistry_DeactivateTrigger_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -734,15 +368,7 @@ func RegisterArtifactRegistryHandlerClient(ctx context.Context, mux *runtime.Ser var ( pattern_ArtifactRegistry_GetArtifact_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 0}, []string{"artifacts", "api", "v1"}, "")) - pattern_ArtifactRegistry_GetArtifact_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"artifacts", "api", "v1", "artifact", "id", "query.artifact_id.artifact_key.project", "query.artifact_id.artifact_key.domain", "query.artifact_id.artifact_key.name", "query.artifact_id.version"}, "")) - - pattern_ArtifactRegistry_GetArtifact_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"artifacts", "api", "v1", "artifact", "id", "query.artifact_id.artifact_key.project", "query.artifact_id.artifact_key.domain", "query.artifact_id.artifact_key.name"}, "")) - - pattern_ArtifactRegistry_GetArtifact_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"artifacts", "api", "v1", "artifact", "tag", "query.artifact_tag.artifact_key.project", "query.artifact_tag.artifact_key.domain", "query.artifact_tag.artifact_key.name"}, "")) - - pattern_ArtifactRegistry_SearchArtifacts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"artifacts", "api", "v1", "search", "artifact_key.project", "artifact_key.domain", "artifact_key.name"}, "")) - - pattern_ArtifactRegistry_SearchArtifacts_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"artifacts", "api", "v1", "search", "artifact_key.project", "artifact_key.domain"}, "")) + pattern_ArtifactRegistry_SearchArtifacts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"artifacts", "api", "v1", "search"}, "")) pattern_ArtifactRegistry_DeactivateTrigger_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"artifacts", "api", "v1", "trigger", "deactivate"}, "")) @@ -754,16 +380,8 @@ var ( var ( forward_ArtifactRegistry_GetArtifact_0 = runtime.ForwardResponseMessage - forward_ArtifactRegistry_GetArtifact_1 = runtime.ForwardResponseMessage - - forward_ArtifactRegistry_GetArtifact_2 = runtime.ForwardResponseMessage - - forward_ArtifactRegistry_GetArtifact_3 = runtime.ForwardResponseMessage - forward_ArtifactRegistry_SearchArtifacts_0 = runtime.ForwardResponseMessage - forward_ArtifactRegistry_SearchArtifacts_1 = runtime.ForwardResponseMessage - forward_ArtifactRegistry_DeactivateTrigger_0 = runtime.ForwardResponseMessage forward_ArtifactRegistry_FindByWorkflowExec_0 = runtime.ForwardResponseMessage diff --git a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json index 45a55e40a5..320436d945 100644 --- a/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/artifact/artifacts.swagger.json @@ -15,9 +15,9 @@ "application/json" ], "paths": { - "/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}": { - "get": { - "operationId": "GetArtifact3", + "/artifacts/api/v1/artifacts": { + "post": { + "operationId": "GetArtifact", "responses": { "200": { "description": "A successful response.", @@ -28,442 +28,39 @@ }, "parameters": [ { - "name": "query.artifact_id.artifact_key.project", - "description": "Project and domain and suffix needs to be unique across a given artifact store.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_id.artifact_key.domain", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_id.artifact_key.name", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "query.artifact_id.version", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.static_value", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.artifact_tag.value.triggered_binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.input_binding.var", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.uri", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "details", - "description": "If false, then long_description is not returned.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - } - ], - "tags": [ - "ArtifactRegistry" - ] - } - }, - "/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}/{query.artifact_id.version}": { - "get": { - "operationId": "GetArtifact2", - "responses": { - "200": { - "description": "A successful response.", "schema": { - "$ref": "#/definitions/artifactGetArtifactResponse" + "$ref": "#/definitions/artifactGetArtifactRequest" } } - }, - "parameters": [ - { - "name": "query.artifact_id.artifact_key.project", - "description": "Project and domain and suffix needs to be unique across a given artifact store.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_id.artifact_key.domain", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_id.artifact_key.name", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_id.version", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_tag.value.static_value", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.artifact_tag.value.triggered_binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.input_binding.var", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.uri", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "details", - "description": "If false, then long_description is not returned.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - } ], "tags": [ "ArtifactRegistry" ] } }, - "/artifacts/api/v1/artifact/tag/{query.artifact_tag.artifact_key.project}/{query.artifact_tag.artifact_key.domain}/{query.artifact_tag.artifact_key.name}": { - "get": { - "operationId": "GetArtifact4", + "/artifacts/api/v1/search": { + "post": { + "operationId": "SearchArtifacts", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/artifactGetArtifactResponse" + "$ref": "#/definitions/artifactSearchArtifactsResponse" } } }, "parameters": [ { - "name": "query.artifact_tag.artifact_key.project", - "description": "Project and domain and suffix needs to be unique across a given artifact store.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_tag.artifact_key.domain", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "query.artifact_tag.artifact_key.name", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "query.artifact_id.version", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.static_value", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.artifact_tag.value.triggered_binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.input_binding.var", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.uri", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "details", - "description": "If false, then long_description is not returned.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - } - ], - "tags": [ - "ArtifactRegistry" - ] - } - }, - "/artifacts/api/v1/artifacts": { - "get": { - "operationId": "GetArtifact", - "responses": { - "200": { - "description": "A successful response.", "schema": { - "$ref": "#/definitions/artifactGetArtifactResponse" + "$ref": "#/definitions/artifactSearchArtifactsRequest" } } - }, - "parameters": [ - { - "name": "query.artifact_id.artifact_key.project", - "description": "Project and domain and suffix needs to be unique across a given artifact store.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_id.artifact_key.domain", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_id.artifact_key.name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_id.version", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.artifact_key.project", - "description": "Project and domain and suffix needs to be unique across a given artifact store.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.artifact_key.domain", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.artifact_key.name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.static_value", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.artifact_tag.value.triggered_binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.triggered_binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.artifact_tag.value.input_binding.var", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.uri", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "query.binding.partition_key", - "description": "These two fields are only relevant in the partition value case.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "query.binding.transform", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "details", - "description": "If false, then long_description is not returned.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - } ], "tags": [ "ArtifactRegistry" @@ -512,162 +109,13 @@ "INPUTS", "OUTPUTS" ] - } - ], - "tags": [ - "ArtifactRegistry" - ] - } - }, - "/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}": { - "get": { - "operationId": "SearchArtifacts2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/artifactSearchArtifactsResponse" - } - } - }, - "parameters": [ - { - "name": "artifact_key.project", - "description": "Project and domain and suffix needs to be unique across a given artifact store.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "artifact_key.domain", - "in": "path", - "required": true, - "type": "string" }, { - "name": "artifact_key.name", + "name": "exec_id.org", + "description": "Optional, org key applied to the resource.", "in": "query", "required": false, "type": "string" - }, - { - "name": "principal", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "version", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "options.strict_partitions", - "description": "If true, this means a strict partition search. meaning if you don't specify the partition\nfield, that will mean, non-partitioned, rather than any partition.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - }, - { - "name": "options.latest_by_key", - "description": "If true, only one artifact per key will be returned. It will be the latest one by creation time.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - }, - { - "name": "token", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "ArtifactRegistry" - ] - } - }, - "/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}/{artifact_key.name}": { - "get": { - "operationId": "SearchArtifacts", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/artifactSearchArtifactsResponse" - } - } - }, - "parameters": [ - { - "name": "artifact_key.project", - "description": "Project and domain and suffix needs to be unique across a given artifact store.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "artifact_key.domain", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "artifact_key.name", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "principal", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "version", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "options.strict_partitions", - "description": "If true, this means a strict partition search. meaning if you don't specify the partition\nfield, that will mean, non-partitioned, rather than any partition.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - }, - { - "name": "options.latest_by_key", - "description": "If true, only one artifact per key will be returned. It will be the latest one by creation time.", - "in": "query", - "required": false, - "type": "boolean", - "format": "boolean" - }, - { - "name": "token", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" } ], "tags": [ @@ -1285,6 +733,19 @@ ], "default": "INPUTS" }, + "artifactGetArtifactRequest": { + "type": "object", + "properties": { + "query": { + "$ref": "#/definitions/coreArtifactQuery" + }, + "details": { + "type": "boolean", + "format": "boolean", + "description": "If false, then long_description is not returned." + } + } + }, "artifactGetArtifactResponse": { "type": "object", "properties": { @@ -1307,6 +768,33 @@ "artifactRegisterResponse": { "type": "object" }, + "artifactSearchArtifactsRequest": { + "type": "object", + "properties": { + "artifact_key": { + "$ref": "#/definitions/coreArtifactKey" + }, + "partitions": { + "$ref": "#/definitions/corePartitions" + }, + "principal": { + "type": "string" + }, + "version": { + "type": "string" + }, + "options": { + "$ref": "#/definitions/artifactSearchOptions" + }, + "token": { + "type": "string" + }, + "limit": { + "type": "integer", + "format": "int32" + } + } + }, "artifactSearchArtifactsResponse": { "type": "object", "properties": { @@ -1509,6 +997,10 @@ "version": { "type": "string", "description": "Specific version of the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "description": "Encapsulation of fields that uniquely identifies a Flyte resource." @@ -2114,6 +1606,10 @@ "name": { "type": "string", "description": "User or system provided value for the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" diff --git a/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go b/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go index 4ea56b88f2..bb4d3264e4 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go @@ -70,7 +70,9 @@ type Identifier struct { // User provided value for the resource. Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // Specific version of the resource. - Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,6,opt,name=org,proto3" json:"org,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -136,6 +138,13 @@ func (m *Identifier) GetVersion() string { return "" } +func (m *Identifier) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Encapsulation of fields that uniquely identifies a Flyte workflow execution type WorkflowExecutionIdentifier struct { // Name of the project the resource belongs to. @@ -144,7 +153,9 @@ type WorkflowExecutionIdentifier struct { // A domain can be considered as a subset within a specific project. Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // User or system provided value for the resource. - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,5,opt,name=org,proto3" json:"org,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -196,6 +207,13 @@ func (m *WorkflowExecutionIdentifier) GetName() string { return "" } +func (m *WorkflowExecutionIdentifier) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // Encapsulation of fields that identify a Flyte node execution entity. type NodeExecutionIdentifier struct { NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` @@ -362,35 +380,36 @@ func init() { func init() { proto.RegisterFile("flyteidl/core/identifier.proto", fileDescriptor_adfa846a86e1fa0c) } var fileDescriptor_adfa846a86e1fa0c = []byte{ - // 467 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0x41, 0x8f, 0xd2, 0x50, - 0x10, 0xb6, 0x2c, 0x02, 0x3b, 0x05, 0xb7, 0xbe, 0x83, 0xd4, 0x90, 0x98, 0x4d, 0x4d, 0xcc, 0x66, - 0x13, 0xdb, 0x04, 0x6f, 0xc6, 0x83, 0x75, 0x97, 0x8d, 0xcd, 0x22, 0xbb, 0x29, 0x25, 0x24, 0x5e, - 0x48, 0x69, 0x87, 0xfa, 0x04, 0xfa, 0x9a, 0xd7, 0x87, 0xda, 0x8b, 0x89, 0x7f, 0xc8, 0x9f, 0xe1, - 0xef, 0x32, 0xaf, 0x94, 0xdd, 0x42, 0x40, 0x2f, 0x7b, 0xeb, 0xcc, 0xf7, 0xbd, 0xf9, 0xbe, 0x99, - 0xce, 0xc0, 0x8b, 0xd9, 0x22, 0x13, 0x48, 0xc3, 0x85, 0x15, 0x30, 0x8e, 0x16, 0x0d, 0x31, 0x16, - 0x74, 0x46, 0x91, 0x9b, 0x09, 0x67, 0x82, 0x91, 0xd6, 0x06, 0x37, 0x25, 0x6e, 0xfc, 0x56, 0x00, - 0x9c, 0x3b, 0x0e, 0x79, 0x0f, 0x2d, 0x8e, 0x29, 0x5b, 0xf1, 0x00, 0x27, 0x22, 0x4b, 0x50, 0x57, - 0x4e, 0x95, 0xb3, 0x27, 0xdd, 0x8e, 0xb9, 0xf5, 0xca, 0x74, 0x0b, 0x8e, 0x97, 0x25, 0xe8, 0x36, - 0x79, 0x29, 0x22, 0x3a, 0xd4, 0x13, 0xce, 0xbe, 0x62, 0x20, 0xf4, 0xca, 0xa9, 0x72, 0x76, 0xec, - 0x6e, 0x42, 0xf2, 0x0c, 0x6a, 0x21, 0x5b, 0xfa, 0x34, 0xd6, 0x8f, 0x72, 0xa0, 0x88, 0x08, 0x81, - 0x6a, 0xec, 0x2f, 0x51, 0xaf, 0xe6, 0xd9, 0xfc, 0x5b, 0x56, 0xf9, 0x86, 0x3c, 0xa5, 0x2c, 0xd6, - 0x1f, 0xaf, 0xab, 0x14, 0xa1, 0x11, 0x40, 0x67, 0xcc, 0xf8, 0x7c, 0xb6, 0x60, 0xdf, 0x7b, 0x3f, - 0x30, 0x58, 0x09, 0xca, 0xe2, 0x52, 0x03, 0x25, 0x79, 0xe5, 0x90, 0x7c, 0xe5, 0x7f, 0xf2, 0xc6, - 0x2f, 0x05, 0xda, 0x03, 0x16, 0xe2, 0x3e, 0x85, 0x36, 0xd4, 0x63, 0x16, 0xe2, 0x84, 0x86, 0x85, - 0x42, 0x4d, 0x86, 0x4e, 0x48, 0x3e, 0x41, 0x13, 0x37, 0x7c, 0x89, 0x4a, 0x19, 0xb5, 0x7b, 0xbe, - 0x33, 0xba, 0x7f, 0x98, 0x77, 0x55, 0xbc, 0x4f, 0x1a, 0x7f, 0x14, 0x68, 0x7b, 0x7e, 0x3a, 0xdf, - 0xe7, 0xa1, 0x0b, 0x75, 0xe1, 0xa7, 0xf3, 0x8d, 0x07, 0xb5, 0xfb, 0x7c, 0x47, 0xa5, 0x54, 0xb4, - 0x26, 0x99, 0x4e, 0x48, 0x5c, 0x78, 0x9a, 0xfb, 0xde, 0xe3, 0xf1, 0xd5, 0xce, 0xeb, 0x03, 0xad, - 0xbb, 0x27, 0xf1, 0x36, 0x40, 0x5e, 0xca, 0x75, 0x11, 0x3c, 0x9b, 0xf8, 0x42, 0xe0, 0x32, 0x11, - 0xf9, 0x9f, 0x6d, 0xc9, 0x8d, 0x10, 0x3c, 0xb3, 0xd7, 0x39, 0xe3, 0x27, 0x68, 0x43, 0x1a, 0xc5, - 0xfe, 0xa2, 0xd4, 0x40, 0x07, 0x8e, 0xd3, 0x3c, 0x77, 0x3f, 0xc6, 0x46, 0x5a, 0x90, 0x1e, 0x78, - 0x90, 0xe7, 0x23, 0x68, 0x96, 0xf7, 0x95, 0x9c, 0x80, 0x3a, 0x1a, 0x0c, 0x6f, 0x7b, 0x17, 0xce, - 0x95, 0xd3, 0xbb, 0xd4, 0x1e, 0x91, 0x06, 0x54, 0x3d, 0x7b, 0x78, 0xad, 0x29, 0xa4, 0x09, 0x8d, - 0xf1, 0x8d, 0x7b, 0x7d, 0xd5, 0xbf, 0x19, 0x6b, 0x15, 0x49, 0xec, 0xdb, 0xa3, 0xc1, 0xc5, 0xc7, - 0xc9, 0x6d, 0xdf, 0x1e, 0x68, 0x47, 0x44, 0x85, 0xfa, 0xa5, 0xed, 0xd9, 0xc3, 0x9e, 0xa7, 0x55, - 0x3f, 0xbc, 0xfb, 0xfc, 0x36, 0xa2, 0xe2, 0xcb, 0x6a, 0x6a, 0x06, 0x6c, 0x69, 0xe5, 0xde, 0x18, - 0x8f, 0xd6, 0x1f, 0xd6, 0xdd, 0x11, 0x46, 0x18, 0x5b, 0xc9, 0xf4, 0x75, 0xc4, 0xac, 0xad, 0xbb, - 0x9c, 0xd6, 0xf2, 0x6b, 0x7c, 0xf3, 0x37, 0x00, 0x00, 0xff, 0xff, 0x4a, 0x34, 0xd8, 0xe0, 0xaf, - 0x03, 0x00, 0x00, + // 481 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0xcf, 0x8f, 0xd2, 0x40, + 0x14, 0xb6, 0x0b, 0x5b, 0xd8, 0x57, 0x70, 0xeb, 0x1c, 0xa4, 0x86, 0xc4, 0x6c, 0x30, 0x31, 0x9b, + 0x4d, 0x6c, 0x13, 0xbc, 0x19, 0x0f, 0xd6, 0x5d, 0x36, 0x36, 0x8b, 0xec, 0xa6, 0x94, 0x90, 0x78, + 0x21, 0xa5, 0x7d, 0xd4, 0x11, 0xe8, 0x34, 0xd3, 0x41, 0xed, 0xc5, 0xc4, 0xff, 0xcc, 0x93, 0x7f, + 0x97, 0x99, 0x52, 0x96, 0x42, 0x58, 0xbd, 0x78, 0x7b, 0x3f, 0xbe, 0x79, 0xdf, 0xf7, 0xde, 0xbc, + 0x07, 0xcf, 0x67, 0x8b, 0x4c, 0x20, 0x0d, 0x17, 0x56, 0xc0, 0x38, 0x5a, 0x34, 0xc4, 0x58, 0xd0, + 0x19, 0x45, 0x6e, 0x26, 0x9c, 0x09, 0x46, 0x9a, 0x9b, 0xbc, 0x29, 0xf3, 0x9d, 0x5f, 0x0a, 0x80, + 0x73, 0x8f, 0x21, 0xef, 0xa0, 0xc9, 0x31, 0x65, 0x2b, 0x1e, 0xe0, 0x44, 0x64, 0x09, 0x1a, 0xca, + 0x99, 0x72, 0xfe, 0xb8, 0xdb, 0x36, 0x77, 0x5e, 0x99, 0x6e, 0x81, 0xf1, 0xb2, 0x04, 0xdd, 0x06, + 0x2f, 0x79, 0xc4, 0x80, 0x5a, 0xc2, 0xd9, 0x17, 0x0c, 0x84, 0x71, 0x74, 0xa6, 0x9c, 0x9f, 0xb8, + 0x1b, 0x97, 0x3c, 0x05, 0x35, 0x64, 0x4b, 0x9f, 0xc6, 0x46, 0x25, 0x4f, 0x14, 0x1e, 0x21, 0x50, + 0x8d, 0xfd, 0x25, 0x1a, 0xd5, 0x3c, 0x9a, 0xdb, 0xb2, 0xca, 0x57, 0xe4, 0x29, 0x65, 0xb1, 0x71, + 0xbc, 0xae, 0x52, 0xb8, 0x44, 0x87, 0x0a, 0xe3, 0x91, 0xa1, 0xe6, 0x51, 0x69, 0x76, 0x56, 0xd0, + 0x1e, 0x33, 0x3e, 0x9f, 0x2d, 0xd8, 0xb7, 0xde, 0x77, 0x0c, 0x56, 0x82, 0xb2, 0xb8, 0xd4, 0x52, + 0x49, 0x90, 0xf2, 0x90, 0xa0, 0xa3, 0x7f, 0x0a, 0x2a, 0x68, 0x8f, 0xb7, 0xb4, 0x3f, 0x15, 0x68, + 0x0d, 0x58, 0x88, 0x87, 0x38, 0x5b, 0x50, 0x8b, 0x59, 0x88, 0x13, 0x1a, 0x16, 0x9c, 0xaa, 0x74, + 0x9d, 0x90, 0x7c, 0x84, 0x06, 0x6e, 0xf0, 0x32, 0x2b, 0x89, 0xb5, 0xee, 0xc5, 0xde, 0x78, 0xff, + 0xd2, 0x8e, 0xab, 0xe1, 0x36, 0xd8, 0xf9, 0xad, 0x40, 0xcb, 0xf3, 0xd3, 0xf9, 0x21, 0x0d, 0x5d, + 0xa8, 0x09, 0x3f, 0x9d, 0x6f, 0x34, 0x68, 0xdd, 0x67, 0x7b, 0x2c, 0xa5, 0xa2, 0xaa, 0x44, 0x3a, + 0x21, 0x71, 0xe1, 0x49, 0xae, 0xfb, 0x80, 0xc6, 0x97, 0x7b, 0xaf, 0x1f, 0x68, 0xdd, 0x3d, 0x8d, + 0x77, 0x13, 0xe4, 0x85, 0x5c, 0x29, 0xc1, 0xb3, 0x89, 0x2f, 0x04, 0x2e, 0x13, 0x91, 0xff, 0x7e, + 0x53, 0x6e, 0x8d, 0xe0, 0x99, 0xbd, 0x8e, 0x75, 0x7e, 0x80, 0x3e, 0xa4, 0x51, 0xec, 0x2f, 0x4a, + 0x0d, 0xb4, 0xe1, 0x24, 0xcd, 0x63, 0xdb, 0x31, 0xd6, 0xd3, 0x02, 0xf4, 0x9f, 0x07, 0x79, 0x31, + 0x82, 0x46, 0x79, 0xa7, 0xc9, 0x29, 0x68, 0xa3, 0xc1, 0xf0, 0xae, 0x77, 0xe9, 0x5c, 0x3b, 0xbd, + 0x2b, 0xfd, 0x11, 0xa9, 0x43, 0xd5, 0xb3, 0x87, 0x37, 0xba, 0x42, 0x1a, 0x50, 0x1f, 0xdf, 0xba, + 0x37, 0xd7, 0xfd, 0xdb, 0xb1, 0x7e, 0x24, 0x81, 0x7d, 0x7b, 0x34, 0xb8, 0xfc, 0x30, 0xb9, 0xeb, + 0xdb, 0x03, 0xbd, 0x42, 0x34, 0xa8, 0x5d, 0xd9, 0x9e, 0x3d, 0xec, 0x79, 0x7a, 0xf5, 0xfd, 0xdb, + 0x4f, 0x6f, 0x22, 0x2a, 0x3e, 0xaf, 0xa6, 0x66, 0xc0, 0x96, 0x56, 0xae, 0x8d, 0xf1, 0x68, 0x6d, + 0x58, 0xf7, 0x87, 0x1a, 0x61, 0x6c, 0x25, 0xd3, 0x57, 0x11, 0xb3, 0x76, 0x6e, 0x77, 0xaa, 0xe6, + 0x17, 0xfb, 0xfa, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0xea, 0x9d, 0xb8, 0xd3, 0x03, 0x00, + 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go index 1095091b5c..d1d623e792 100644 --- a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go @@ -1319,11 +1319,13 @@ func (m *Partition) GetValue() string { // // DatasetID message that is composed of several string fields. type DatasetID struct { - Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` - Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` - UUID string `protobuf:"bytes,5,opt,name=UUID,proto3" json:"UUID,omitempty"` + Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + UUID string `protobuf:"bytes,5,opt,name=UUID,proto3" json:"UUID,omitempty"` + // Optional, org key applied to the resource. + Org string `protobuf:"bytes,6,opt,name=org,proto3" json:"org,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1389,6 +1391,13 @@ func (m *DatasetID) GetUUID() string { return "" } +func (m *DatasetID) GetOrg() string { + if m != nil { + return m.Org + } + return "" +} + // // Artifact message. It is composed of several string fields. type Artifact struct { @@ -2039,6 +2048,7 @@ type DatasetPropertyFilter struct { // *DatasetPropertyFilter_Name // *DatasetPropertyFilter_Domain // *DatasetPropertyFilter_Version + // *DatasetPropertyFilter_Org Property isDatasetPropertyFilter_Property `protobuf_oneof:"property"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -2090,6 +2100,10 @@ type DatasetPropertyFilter_Version struct { Version string `protobuf:"bytes,4,opt,name=version,proto3,oneof"` } +type DatasetPropertyFilter_Org struct { + Org string `protobuf:"bytes,5,opt,name=org,proto3,oneof"` +} + func (*DatasetPropertyFilter_Project) isDatasetPropertyFilter_Property() {} func (*DatasetPropertyFilter_Name) isDatasetPropertyFilter_Property() {} @@ -2098,6 +2112,8 @@ func (*DatasetPropertyFilter_Domain) isDatasetPropertyFilter_Property() {} func (*DatasetPropertyFilter_Version) isDatasetPropertyFilter_Property() {} +func (*DatasetPropertyFilter_Org) isDatasetPropertyFilter_Property() {} + func (m *DatasetPropertyFilter) GetProperty() isDatasetPropertyFilter_Property { if m != nil { return m.Property @@ -2133,6 +2149,13 @@ func (m *DatasetPropertyFilter) GetVersion() string { return "" } +func (m *DatasetPropertyFilter) GetOrg() string { + if x, ok := m.GetProperty().(*DatasetPropertyFilter_Org); ok { + return x.Org + } + return "" +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*DatasetPropertyFilter) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -2140,6 +2163,7 @@ func (*DatasetPropertyFilter) XXX_OneofWrappers() []interface{} { (*DatasetPropertyFilter_Name)(nil), (*DatasetPropertyFilter_Domain)(nil), (*DatasetPropertyFilter_Version)(nil), + (*DatasetPropertyFilter_Org)(nil), } } @@ -2260,112 +2284,113 @@ func init() { } var fileDescriptor_275951237ff4368a = []byte{ - // 1675 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4b, 0x6f, 0xdb, 0xc6, - 0x13, 0x37, 0x25, 0x47, 0x32, 0x47, 0x96, 0x22, 0x6f, 0x6c, 0x47, 0x56, 0x12, 0x5b, 0x61, 0x02, - 0xff, 0x8d, 0xfc, 0x1b, 0x29, 0xb5, 0x93, 0xa0, 0x49, 0x8b, 0xb6, 0xb2, 0xa5, 0xd8, 0xaa, 0xe3, - 0x47, 0xe8, 0x07, 0xd0, 0x07, 0x20, 0xac, 0xcd, 0x35, 0xc3, 0x9a, 0x12, 0x19, 0x72, 0x9d, 0x5a, - 0xa7, 0xa2, 0x97, 0x1e, 0xda, 0xde, 0x0a, 0xf4, 0x0b, 0xf4, 0x83, 0xf4, 0x98, 0x5b, 0xbf, 0x50, - 0x2f, 0xc5, 0x92, 0xbb, 0x14, 0x49, 0x51, 0xb6, 0xe2, 0x43, 0x80, 0x5e, 0x08, 0xee, 0xee, 0xcc, - 0x6f, 0xe7, 0xb1, 0xb3, 0x33, 0xb3, 0xb0, 0x78, 0x62, 0xf6, 0x28, 0x31, 0x34, 0xb3, 0xa6, 0x61, - 0x8a, 0x8f, 0x31, 0xc5, 0xa6, 0xa5, 0x87, 0xff, 0xab, 0xb6, 0x63, 0x51, 0x0b, 0xe5, 0x42, 0x53, - 0xe5, 0xdb, 0x01, 0xd3, 0xb1, 0xe5, 0x90, 0x9a, 0x69, 0x50, 0xe2, 0x60, 0xd3, 0xf5, 0x49, 0xcb, - 0xf3, 0xba, 0x65, 0xe9, 0x26, 0xa9, 0x79, 0xa3, 0xa3, 0xb3, 0x93, 0x9a, 0x76, 0xe6, 0x60, 0x6a, - 0x58, 0x5d, 0xbe, 0xbe, 0x10, 0x5f, 0xa7, 0x46, 0x87, 0xb8, 0x14, 0x77, 0x6c, 0x9f, 0x40, 0x79, - 0x01, 0xd3, 0x6b, 0x0e, 0xc1, 0x94, 0x34, 0x30, 0xc5, 0x2e, 0xa1, 0x2a, 0x79, 0x73, 0x46, 0x5c, - 0x8a, 0xaa, 0x90, 0xd5, 0xfc, 0x99, 0x92, 0x54, 0x91, 0x96, 0x72, 0xcb, 0xd3, 0xd5, 0xb0, 0xa0, - 0x82, 0x5a, 0x10, 0x29, 0x37, 0x61, 0x26, 0x86, 0xe3, 0xda, 0x56, 0xd7, 0x25, 0x4a, 0x13, 0xa6, - 0xd6, 0x09, 0x8d, 0xa1, 0x3f, 0x8a, 0xa3, 0xcf, 0x26, 0xa1, 0xb7, 0x1a, 0x7d, 0xfc, 0x06, 0xa0, - 0x30, 0x8c, 0x0f, 0xfe, 0xde, 0x52, 0xfe, 0x21, 0x79, 0x30, 0x75, 0x87, 0x1a, 0x27, 0xf8, 0xf8, - 0xea, 0xe2, 0xa0, 0xbb, 0x90, 0xc3, 0x1c, 0xa4, 0x6d, 0x68, 0xa5, 0x54, 0x45, 0x5a, 0x92, 0x37, - 0xc6, 0x54, 0x10, 0x93, 0x2d, 0x0d, 0xdd, 0x82, 0x09, 0x8a, 0xf5, 0x76, 0x17, 0x77, 0x48, 0x29, - 0xcd, 0xd7, 0xb3, 0x14, 0xeb, 0xdb, 0xb8, 0x43, 0x56, 0x0b, 0x30, 0xf9, 0xe6, 0x8c, 0x38, 0xbd, - 0xf6, 0x6b, 0xdc, 0xd5, 0x4c, 0xa2, 0x6c, 0xc0, 0x8d, 0x88, 0x5c, 0x5c, 0xbf, 0x8f, 0x61, 0x42, - 0x20, 0x72, 0xc9, 0x66, 0x22, 0x92, 0x05, 0x0c, 0x01, 0x99, 0xf2, 0x95, 0x70, 0x44, 0x5c, 0xc9, - 0x2b, 0x60, 0x95, 0x60, 0x36, 0x8e, 0xc5, 0xbd, 0xba, 0x02, 0xf9, 0xba, 0xa6, 0xed, 0x63, 0x5d, - 0xa0, 0x2b, 0x90, 0xa6, 0x58, 0xe7, 0xc0, 0xc5, 0x08, 0x30, 0xa3, 0x62, 0x8b, 0x4a, 0x11, 0x0a, - 0x82, 0x89, 0xc3, 0xfc, 0x25, 0xc1, 0xf4, 0x4b, 0xc3, 0x0d, 0x14, 0x77, 0xaf, 0xee, 0x91, 0x27, - 0x90, 0x39, 0x31, 0x4c, 0x4a, 0x1c, 0xcf, 0x19, 0xb9, 0xe5, 0x3b, 0x11, 0x86, 0x17, 0xde, 0x52, - 0xf3, 0xdc, 0x76, 0x88, 0xeb, 0x1a, 0x56, 0x57, 0xe5, 0xc4, 0xe8, 0x73, 0x00, 0x1b, 0xeb, 0x46, - 0xd7, 0x0b, 0x1a, 0xcf, 0x4f, 0xb9, 0xe5, 0xf9, 0x08, 0xeb, 0x6e, 0xb0, 0xbc, 0x63, 0xb3, 0xaf, - 0xab, 0x86, 0x38, 0x94, 0x53, 0x98, 0x89, 0x29, 0xc0, 0x5d, 0xb7, 0x02, 0xb2, 0xb0, 0xa3, 0x5b, - 0x92, 0x2a, 0xe9, 0xe1, 0xf6, 0xee, 0xd3, 0xa1, 0x3b, 0x00, 0x5d, 0x72, 0x4e, 0xdb, 0xd4, 0x3a, - 0x25, 0x5d, 0xff, 0x54, 0xa9, 0x32, 0x9b, 0xd9, 0x67, 0x13, 0xca, 0x6f, 0x12, 0xdc, 0x60, 0xbb, - 0x71, 0xf5, 0x03, 0x6b, 0xf5, 0x75, 0x97, 0xae, 0xae, 0x7b, 0xea, 0xbd, 0x75, 0xd7, 0x7d, 0xe7, - 0xf5, 0xa5, 0xe1, 0xaa, 0x3f, 0x82, 0x09, 0xee, 0x15, 0xa1, 0x79, 0x72, 0x58, 0x06, 0x54, 0x97, - 0xe9, 0xfd, 0x8f, 0x04, 0x33, 0x07, 0xb6, 0x96, 0x70, 0xa8, 0x3f, 0x78, 0xe4, 0xa2, 0x87, 0x30, - 0xce, 0xa0, 0x4a, 0xe3, 0x9e, 0x62, 0x73, 0x89, 0x2e, 0x65, 0xdb, 0xaa, 0x1e, 0x19, 0x8b, 0xba, - 0x0e, 0xa1, 0xd8, 0x63, 0xb9, 0x96, 0x10, 0x75, 0x5b, 0x7c, 0x51, 0x0d, 0xc8, 0x06, 0xee, 0x86, - 0x67, 0x30, 0x1b, 0x57, 0x9e, 0x1b, 0x7a, 0x21, 0xaa, 0x8b, 0xe4, 0xd9, 0x2d, 0xa4, 0x89, 0x82, - 0x21, 0xaf, 0x12, 0x97, 0x38, 0x6f, 0x3d, 0x87, 0xb5, 0x1a, 0xe8, 0x09, 0x00, 0x37, 0x84, 0x60, - 0x18, 0x6e, 0x32, 0x99, 0x53, 0xb6, 0x34, 0x34, 0x17, 0xb2, 0x88, 0xef, 0x1d, 0x61, 0x0f, 0xe5, - 0x9d, 0x04, 0x77, 0xd6, 0x09, 0xdd, 0x71, 0x9a, 0xe7, 0x94, 0x74, 0xb5, 0xd0, 0x76, 0xc2, 0x47, - 0x75, 0x28, 0x38, 0xfd, 0xd9, 0xfe, 0xbe, 0xe5, 0xc8, 0xbe, 0x11, 0x39, 0xd5, 0x7c, 0x88, 0xc3, - 0xdf, 0xdf, 0xfa, 0xa1, 0x4b, 0x9c, 0xc0, 0x63, 0x6a, 0xd6, 0x1b, 0xb7, 0x34, 0xb4, 0x01, 0xe8, - 0x35, 0xc1, 0x0e, 0x3d, 0x22, 0x98, 0xb6, 0x8d, 0x2e, 0x65, 0x5c, 0x26, 0x0f, 0xe4, 0xb9, 0xaa, - 0x9f, 0xfe, 0xaa, 0x22, 0xfd, 0x55, 0x1b, 0x3c, 0x3d, 0xaa, 0x53, 0x01, 0x53, 0x8b, 0xf3, 0x28, - 0x7f, 0xa6, 0x20, 0x17, 0x92, 0xe2, 0xbf, 0x22, 0x37, 0x7a, 0x06, 0x40, 0xce, 0x6d, 0xc3, 0x21, - 0x6e, 0x1b, 0xd3, 0xd2, 0x38, 0x97, 0x31, 0x8e, 0xb0, 0x2f, 0x12, 0xbf, 0x2a, 0x73, 0xea, 0x3a, - 0x8d, 0x9c, 0xce, 0xcc, 0x48, 0xa7, 0x53, 0xf9, 0x0e, 0xe6, 0x87, 0xb9, 0x9b, 0x9f, 0xca, 0xe7, - 0x90, 0x0b, 0x59, 0x81, 0x1b, 0xad, 0x34, 0xcc, 0x68, 0x6a, 0x98, 0x58, 0xe9, 0xc1, 0x9c, 0x4a, - 0x4c, 0x82, 0x5d, 0xf2, 0xa1, 0x0f, 0x92, 0x72, 0x1b, 0xca, 0x49, 0x5b, 0xf3, 0x4c, 0xf5, 0x8b, - 0x04, 0x59, 0x1e, 0x1a, 0x68, 0x11, 0x52, 0x97, 0x06, 0x4f, 0xca, 0xd0, 0x22, 0xd6, 0x4d, 0x8d, - 0x64, 0x5d, 0x74, 0x1f, 0xf2, 0x36, 0x8b, 0x5f, 0xb6, 0xf7, 0x26, 0xe9, 0xb9, 0xa5, 0x74, 0x25, - 0xbd, 0x24, 0xab, 0xd1, 0x49, 0x65, 0x05, 0xe4, 0x5d, 0x31, 0x81, 0x8a, 0x90, 0x3e, 0x25, 0x3d, - 0x1e, 0xfc, 0xec, 0x17, 0x4d, 0xc3, 0xb5, 0xb7, 0xd8, 0x3c, 0x13, 0xa1, 0xea, 0x0f, 0x94, 0x1f, - 0x41, 0x0e, 0xc4, 0x43, 0x25, 0xc8, 0xda, 0x8e, 0xf5, 0x3d, 0xe1, 0xb5, 0x80, 0xac, 0x8a, 0x21, - 0x42, 0x30, 0x1e, 0x0a, 0x73, 0xef, 0x1f, 0xcd, 0x42, 0x46, 0xb3, 0x3a, 0xd8, 0xf0, 0x13, 0xa4, - 0xac, 0xf2, 0x11, 0x43, 0x79, 0x4b, 0x1c, 0x96, 0x53, 0xbc, 0x63, 0x27, 0xab, 0x62, 0xc8, 0x50, - 0x0e, 0x0e, 0x5a, 0x0d, 0xef, 0xca, 0x93, 0x55, 0xef, 0x5f, 0x79, 0x97, 0x82, 0x09, 0x71, 0x85, - 0xa1, 0x42, 0x60, 0x43, 0xd9, 0xb3, 0x55, 0xe8, 0x22, 0x4f, 0x8d, 0x76, 0x91, 0x8b, 0x8b, 0x38, - 0xfd, 0xfe, 0x17, 0xf1, 0xf8, 0x68, 0xce, 0x78, 0xca, 0xf2, 0x23, 0x37, 0xb3, 0x5b, 0xba, 0xe6, - 0xed, 0x33, 0x1b, 0xcb, 0x8f, 0x7c, 0x59, 0x0d, 0x51, 0xa2, 0xfb, 0x30, 0x4e, 0xb1, 0xee, 0x96, - 0x32, 0x1e, 0xc7, 0x60, 0x31, 0xe4, 0xad, 0xb2, 0xb0, 0x3d, 0xf6, 0x8a, 0x2b, 0x8d, 0x85, 0x6d, - 0xf6, 0xf2, 0xb0, 0xe5, 0xd4, 0x75, 0xaa, 0xec, 0xc2, 0x64, 0x58, 0xc3, 0xc0, 0x67, 0x52, 0xc8, - 0x67, 0x1f, 0x85, 0x0f, 0x01, 0x93, 0x5b, 0xf4, 0x11, 0x55, 0xd6, 0x47, 0x54, 0x5f, 0xfa, 0x7d, - 0x84, 0x38, 0x1c, 0x26, 0xa4, 0xf7, 0xb1, 0x9e, 0x08, 0xb4, 0x90, 0x90, 0x30, 0x23, 0xe9, 0x32, - 0xe4, 0xba, 0xf4, 0x68, 0xc5, 0xfc, 0x4f, 0x12, 0x4c, 0x08, 0x7b, 0xa3, 0xe7, 0x90, 0x3d, 0x25, - 0xbd, 0x76, 0x07, 0xdb, 0xbc, 0x58, 0xb8, 0x9b, 0xe8, 0x97, 0xea, 0x26, 0xe9, 0x6d, 0x61, 0xbb, - 0xd9, 0xa5, 0x4e, 0x4f, 0xcd, 0x9c, 0x7a, 0x83, 0xf2, 0x33, 0xc8, 0x85, 0xa6, 0x47, 0x0d, 0x85, - 0xe7, 0xa9, 0x4f, 0x24, 0x65, 0x07, 0x8a, 0xf1, 0xc2, 0x08, 0x7d, 0x0a, 0x59, 0xbf, 0x34, 0x72, - 0x13, 0x45, 0xd9, 0x33, 0xba, 0xba, 0x49, 0x76, 0x1d, 0xcb, 0x26, 0x0e, 0xed, 0xf9, 0xdc, 0xaa, - 0xe0, 0x50, 0xfe, 0x4e, 0xc3, 0x74, 0x12, 0x05, 0xfa, 0x02, 0x80, 0x25, 0xcf, 0x48, 0x85, 0x36, - 0x1f, 0x3f, 0x14, 0x51, 0x9e, 0x8d, 0x31, 0x55, 0xa6, 0x58, 0xe7, 0x00, 0xaf, 0xa0, 0x18, 0x9c, - 0xae, 0x76, 0xa4, 0xc8, 0xbd, 0x9f, 0x7c, 0x1a, 0x07, 0xc0, 0xae, 0x07, 0xfc, 0x1c, 0x72, 0x1b, - 0xae, 0x07, 0x4e, 0xe5, 0x88, 0xbe, 0xef, 0xee, 0x25, 0xc6, 0xd1, 0x00, 0x60, 0x41, 0x70, 0x73, - 0xbc, 0x4d, 0x28, 0x88, 0xba, 0x82, 0xc3, 0xf9, 0x31, 0xa6, 0x24, 0x1d, 0x85, 0x01, 0xb4, 0x3c, - 0xe7, 0xe5, 0x60, 0xbb, 0x30, 0xc1, 0x08, 0x30, 0xb5, 0x9c, 0x12, 0x54, 0xa4, 0xa5, 0xc2, 0xf2, - 0xe3, 0x4b, 0xfd, 0x50, 0x5d, 0xb3, 0x3a, 0x36, 0x76, 0x0c, 0x97, 0x95, 0xaa, 0x3e, 0xaf, 0x1a, - 0xa0, 0x28, 0x15, 0x40, 0x83, 0xeb, 0x08, 0x20, 0xd3, 0x7c, 0x75, 0x50, 0x7f, 0xb9, 0x57, 0x1c, - 0x5b, 0x9d, 0x82, 0xeb, 0x36, 0x07, 0xe4, 0x1a, 0x28, 0xeb, 0x30, 0x9b, 0xac, 0x7f, 0xbc, 0x86, - 0x94, 0x06, 0x6b, 0xc8, 0x55, 0x80, 0x09, 0x81, 0xa7, 0x7c, 0x06, 0x53, 0x03, 0x1e, 0x8e, 0x14, - 0x99, 0x52, 0xbc, 0x3d, 0x0c, 0x73, 0x7f, 0x0b, 0x37, 0x87, 0x38, 0x16, 0x3d, 0xf6, 0x43, 0x87, - 0x15, 0x0e, 0x12, 0x2f, 0x1c, 0xc2, 0x76, 0xda, 0x24, 0xbd, 0x43, 0x76, 0xde, 0x77, 0xb1, 0xc1, - 0xac, 0xcc, 0x82, 0xe6, 0x10, 0x9b, 0x11, 0xf0, 0xa7, 0x30, 0x19, 0xa6, 0x1a, 0x39, 0x99, 0xfc, - 0x2a, 0xc1, 0x4c, 0xa2, 0x37, 0x51, 0x39, 0x96, 0x59, 0x98, 0x5a, 0x22, 0xb7, 0x4c, 0x87, 0x73, - 0xcb, 0xc6, 0x18, 0xbf, 0x60, 0x4a, 0xd1, 0xec, 0xc2, 0x24, 0xe5, 0xf9, 0xa5, 0x1c, 0xcb, 0x2f, - 0x0c, 0x8b, 0x4f, 0x44, 0xb4, 0xf8, 0x3d, 0x05, 0x53, 0x03, 0xad, 0x0a, 0x93, 0xdc, 0x34, 0x3a, - 0x86, 0x2f, 0x47, 0x5e, 0xf5, 0x07, 0x6c, 0x36, 0xdc, 0x65, 0xf8, 0x03, 0xf4, 0x25, 0x64, 0x5d, - 0xcb, 0xa1, 0x9b, 0xa4, 0xe7, 0x09, 0x51, 0x58, 0x5e, 0xbc, 0xb8, 0x0f, 0xaa, 0xee, 0xf9, 0xd4, - 0xaa, 0x60, 0x43, 0x2f, 0x40, 0x66, 0xbf, 0x3b, 0x8e, 0xc6, 0x0f, 0x7f, 0x61, 0x79, 0x69, 0x04, - 0x0c, 0x8f, 0x5e, 0xed, 0xb3, 0x2a, 0x0f, 0x40, 0x0e, 0xe6, 0x51, 0x01, 0xa0, 0xd1, 0xdc, 0x5b, - 0x6b, 0x6e, 0x37, 0x5a, 0xdb, 0xeb, 0xc5, 0x31, 0x94, 0x07, 0xb9, 0x1e, 0x0c, 0x25, 0xe5, 0x36, - 0x64, 0xb9, 0x1c, 0x68, 0x0a, 0xf2, 0x6b, 0x6a, 0xb3, 0xbe, 0xdf, 0xda, 0xd9, 0x6e, 0xef, 0xb7, - 0xb6, 0x9a, 0xc5, 0xb1, 0xe5, 0x9f, 0xb3, 0x90, 0x63, 0x3e, 0x5a, 0xf3, 0x05, 0x40, 0x87, 0x90, - 0x8f, 0x3c, 0xd1, 0xa0, 0xe8, 0xed, 0x96, 0xf4, 0x0c, 0x54, 0x56, 0x2e, 0x22, 0xe1, 0xf5, 0xde, - 0x16, 0x40, 0xff, 0x69, 0x06, 0x45, 0x6f, 0xb6, 0x81, 0xa7, 0x9f, 0xf2, 0xc2, 0xd0, 0x75, 0x0e, - 0xf7, 0x35, 0x14, 0xa2, 0x8f, 0x0e, 0x28, 0x49, 0x88, 0x58, 0x23, 0x58, 0xbe, 0x77, 0x21, 0x0d, - 0x87, 0xde, 0x85, 0x5c, 0xe8, 0x95, 0x05, 0x0d, 0x88, 0x12, 0x07, 0xad, 0x0c, 0x27, 0xe0, 0x88, - 0x75, 0xc8, 0xf8, 0x4f, 0x1a, 0x28, 0x5a, 0x84, 0x46, 0x1e, 0x47, 0xca, 0xb7, 0x12, 0xd7, 0x38, - 0xc4, 0x21, 0xe4, 0x23, 0x2f, 0x08, 0x31, 0xb7, 0x24, 0x3d, 0x8f, 0xc4, 0xdc, 0x92, 0xfc, 0x00, - 0xb1, 0x07, 0x93, 0xe1, 0xee, 0x1c, 0x55, 0x06, 0x78, 0x62, 0xcf, 0x08, 0xe5, 0xbb, 0x17, 0x50, - 0xf4, 0x9d, 0x13, 0xed, 0x45, 0x63, 0xce, 0x49, 0xec, 0xd2, 0x63, 0xce, 0x19, 0xd2, 0xcc, 0xbe, - 0x81, 0xd9, 0xe4, 0xc6, 0x02, 0x3d, 0x88, 0xbb, 0x61, 0x78, 0xb3, 0x59, 0xfe, 0xff, 0x48, 0xb4, - 0x7c, 0x4b, 0x02, 0x68, 0xb0, 0xe4, 0x47, 0x8b, 0xb1, 0x76, 0x62, 0x48, 0x3b, 0x52, 0xfe, 0xdf, - 0xa5, 0x74, 0xfe, 0x36, 0xab, 0x6b, 0xdf, 0xd4, 0x75, 0x83, 0xbe, 0x3e, 0x3b, 0xaa, 0x1e, 0x5b, - 0x9d, 0x9a, 0x57, 0x87, 0x59, 0x8e, 0xee, 0xff, 0xd4, 0x82, 0xe7, 0x5d, 0x9d, 0x74, 0x6b, 0xf6, - 0xd1, 0x43, 0xdd, 0xaa, 0x25, 0x3d, 0x13, 0x1f, 0x65, 0xbc, 0x92, 0x70, 0xe5, 0xdf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x62, 0x68, 0x58, 0x86, 0x45, 0x16, 0x00, 0x00, + // 1694 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcd, 0x6f, 0xdb, 0xc6, + 0x12, 0x37, 0x25, 0x5b, 0x32, 0x47, 0x96, 0x22, 0x6f, 0x6c, 0x47, 0x56, 0x12, 0x5b, 0x61, 0x02, + 0x3f, 0x23, 0xef, 0x45, 0xca, 0xb3, 0x93, 0xe0, 0x25, 0xaf, 0x68, 0x2b, 0x5b, 0x8a, 0xad, 0x3a, + 0xfe, 0x08, 0xfd, 0x01, 0xf4, 0x03, 0x10, 0xd6, 0xe6, 0x9a, 0x61, 0x4d, 0x89, 0x0c, 0xb9, 0x4e, + 0xad, 0x63, 0x2f, 0x3d, 0x14, 0xbd, 0x14, 0x05, 0x7a, 0xed, 0xa1, 0x7f, 0x48, 0x8f, 0xb9, 0xf5, + 0x1f, 0xea, 0xa5, 0x58, 0x72, 0x97, 0x22, 0x29, 0xca, 0x56, 0x7c, 0x08, 0xd0, 0x0b, 0xc1, 0xdd, + 0x9d, 0xf9, 0xed, 0x7c, 0xec, 0xec, 0xcc, 0x2c, 0x2c, 0x9d, 0x9a, 0x3d, 0x4a, 0x0c, 0xcd, 0xac, + 0x69, 0x98, 0xe2, 0x13, 0x4c, 0xb1, 0x69, 0xe9, 0xe1, 0xff, 0xaa, 0xed, 0x58, 0xd4, 0x42, 0xb9, + 0xd0, 0x54, 0xf9, 0x4e, 0xc0, 0x74, 0x62, 0x39, 0xa4, 0x66, 0x1a, 0x94, 0x38, 0xd8, 0x74, 0x7d, + 0xd2, 0xf2, 0x82, 0x6e, 0x59, 0xba, 0x49, 0x6a, 0xde, 0xe8, 0xf8, 0xfc, 0xb4, 0xa6, 0x9d, 0x3b, + 0x98, 0x1a, 0x56, 0x97, 0xaf, 0x2f, 0xc6, 0xd7, 0xa9, 0xd1, 0x21, 0x2e, 0xc5, 0x1d, 0xdb, 0x27, + 0x50, 0x5e, 0xc2, 0xcc, 0xba, 0x43, 0x30, 0x25, 0x0d, 0x4c, 0xb1, 0x4b, 0xa8, 0x4a, 0xde, 0x9e, + 0x13, 0x97, 0xa2, 0x2a, 0x64, 0x35, 0x7f, 0xa6, 0x24, 0x55, 0xa4, 0xe5, 0xdc, 0xca, 0x4c, 0x35, + 0x2c, 0xa8, 0xa0, 0x16, 0x44, 0xca, 0x2d, 0x98, 0x8d, 0xe1, 0xb8, 0xb6, 0xd5, 0x75, 0x89, 0xd2, + 0x84, 0xe9, 0x0d, 0x42, 0x63, 0xe8, 0x8f, 0xe3, 0xe8, 0x73, 0x49, 0xe8, 0xad, 0x46, 0x1f, 0xbf, + 0x01, 0x28, 0x0c, 0xe3, 0x83, 0x7f, 0xb0, 0x94, 0xbf, 0x4a, 0x1e, 0x4c, 0xdd, 0xa1, 0xc6, 0x29, + 0x3e, 0xb9, 0xbe, 0x38, 0xe8, 0x1e, 0xe4, 0x30, 0x07, 0x69, 0x1b, 0x5a, 0x29, 0x55, 0x91, 0x96, + 0xe5, 0xcd, 0x31, 0x15, 0xc4, 0x64, 0x4b, 0x43, 0xb7, 0x61, 0x92, 0x62, 0xbd, 0xdd, 0xc5, 0x1d, + 0x52, 0x4a, 0xf3, 0xf5, 0x2c, 0xc5, 0xfa, 0x0e, 0xee, 0x90, 0xb5, 0x02, 0x4c, 0xbd, 0x3d, 0x27, + 0x4e, 0xaf, 0xfd, 0x06, 0x77, 0x35, 0x93, 0x28, 0x9b, 0x70, 0x33, 0x22, 0x17, 0xd7, 0xef, 0xbf, + 0x30, 0x29, 0x10, 0xb9, 0x64, 0xb3, 0x11, 0xc9, 0x02, 0x86, 0x80, 0x4c, 0xf9, 0x42, 0x38, 0x22, + 0xae, 0xe4, 0x35, 0xb0, 0x4a, 0x30, 0x17, 0xc7, 0xe2, 0x5e, 0x5d, 0x85, 0x7c, 0x5d, 0xd3, 0x0e, + 0xb0, 0x2e, 0xd0, 0x15, 0x48, 0x53, 0xac, 0x73, 0xe0, 0x62, 0x04, 0x98, 0x51, 0xb1, 0x45, 0xa5, + 0x08, 0x05, 0xc1, 0xc4, 0x61, 0xfe, 0x90, 0x60, 0xe6, 0x95, 0xe1, 0x06, 0x8a, 0xbb, 0xd7, 0xf7, + 0xc8, 0x53, 0xc8, 0x9c, 0x1a, 0x26, 0x25, 0x8e, 0xe7, 0x8c, 0xdc, 0xca, 0xdd, 0x08, 0xc3, 0x4b, + 0x6f, 0xa9, 0x79, 0x61, 0x3b, 0xc4, 0x75, 0x0d, 0xab, 0xab, 0x72, 0x62, 0xf4, 0x29, 0x80, 0x8d, + 0x75, 0xa3, 0xeb, 0x05, 0x8d, 0xe7, 0xa7, 0xdc, 0xca, 0x42, 0x84, 0x75, 0x2f, 0x58, 0xde, 0xb5, + 0xd9, 0xd7, 0x55, 0x43, 0x1c, 0xca, 0x19, 0xcc, 0xc6, 0x14, 0xe0, 0xae, 0x5b, 0x05, 0x59, 0xd8, + 0xd1, 0x2d, 0x49, 0x95, 0xf4, 0x70, 0x7b, 0xf7, 0xe9, 0xd0, 0x5d, 0x80, 0x2e, 0xb9, 0xa0, 0x6d, + 0x6a, 0x9d, 0x91, 0xae, 0x7f, 0xaa, 0x54, 0x99, 0xcd, 0x1c, 0xb0, 0x09, 0xe5, 0x27, 0x09, 0x6e, + 0xb2, 0xdd, 0xb8, 0xfa, 0x81, 0xb5, 0xfa, 0xba, 0x4b, 0xd7, 0xd7, 0x3d, 0xf5, 0xc1, 0xba, 0xeb, + 0xbe, 0xf3, 0xfa, 0xd2, 0x70, 0xd5, 0x1f, 0xc3, 0x24, 0xf7, 0x8a, 0xd0, 0x3c, 0x39, 0x2c, 0x03, + 0xaa, 0xab, 0xf4, 0xfe, 0x4b, 0x82, 0xd9, 0x43, 0x5b, 0x4b, 0x38, 0xd4, 0x1f, 0x3d, 0x72, 0xd1, + 0x23, 0x18, 0x67, 0x50, 0xa5, 0x71, 0x4f, 0xb1, 0xf9, 0x44, 0x97, 0xb2, 0x6d, 0x55, 0x8f, 0x8c, + 0x45, 0x5d, 0x87, 0x50, 0xec, 0xb1, 0x4c, 0x24, 0x44, 0xdd, 0x36, 0x5f, 0x54, 0x03, 0xb2, 0x81, + 0xbb, 0xe1, 0x39, 0xcc, 0xc5, 0x95, 0xe7, 0x86, 0x5e, 0x8c, 0xea, 0x22, 0x79, 0x76, 0x0b, 0x69, + 0xa2, 0x60, 0xc8, 0xab, 0xc4, 0x25, 0xce, 0x3b, 0xcf, 0x61, 0xad, 0x06, 0x7a, 0x0a, 0xc0, 0x0d, + 0x21, 0x18, 0x86, 0x9b, 0x4c, 0xe6, 0x94, 0x2d, 0x0d, 0xcd, 0x87, 0x2c, 0xe2, 0x7b, 0x47, 0xd8, + 0x43, 0x79, 0x2f, 0xc1, 0xdd, 0x0d, 0x42, 0x77, 0x9d, 0xe6, 0x05, 0x25, 0x5d, 0x2d, 0xb4, 0x9d, + 0xf0, 0x51, 0x1d, 0x0a, 0x4e, 0x7f, 0xb6, 0xbf, 0x6f, 0x39, 0xb2, 0x6f, 0x44, 0x4e, 0x35, 0x1f, + 0xe2, 0xf0, 0xf7, 0xb7, 0xbe, 0xeb, 0x12, 0x27, 0xf0, 0x98, 0x9a, 0xf5, 0xc6, 0x2d, 0x0d, 0x6d, + 0x02, 0x7a, 0x43, 0xb0, 0x43, 0x8f, 0x09, 0xa6, 0x6d, 0xa3, 0x4b, 0x19, 0x97, 0xc9, 0x03, 0x79, + 0xbe, 0xea, 0xa7, 0xbf, 0xaa, 0x48, 0x7f, 0xd5, 0x06, 0x4f, 0x8f, 0xea, 0x74, 0xc0, 0xd4, 0xe2, + 0x3c, 0xca, 0xef, 0x29, 0xc8, 0x85, 0xa4, 0xf8, 0xa7, 0xc8, 0x8d, 0x9e, 0x03, 0x90, 0x0b, 0xdb, + 0x70, 0x88, 0xdb, 0xc6, 0xb4, 0x34, 0xce, 0x65, 0x8c, 0x23, 0x1c, 0x88, 0xc4, 0xaf, 0xca, 0x9c, + 0xba, 0x4e, 0x23, 0xa7, 0x33, 0x33, 0xd2, 0xe9, 0x54, 0xbe, 0x81, 0x85, 0x61, 0xee, 0xe6, 0xa7, + 0xf2, 0x05, 0xe4, 0x42, 0x56, 0xe0, 0x46, 0x2b, 0x0d, 0x33, 0x9a, 0x1a, 0x26, 0x56, 0x7a, 0x30, + 0xaf, 0x12, 0x93, 0x60, 0x97, 0x7c, 0xec, 0x83, 0xa4, 0xdc, 0x81, 0x72, 0xd2, 0xd6, 0x3c, 0x53, + 0xfd, 0x28, 0x41, 0x96, 0x87, 0x06, 0x5a, 0x82, 0xd4, 0x95, 0xc1, 0x93, 0x32, 0xb4, 0x88, 0x75, + 0x53, 0x23, 0x59, 0x17, 0x3d, 0x80, 0xbc, 0xcd, 0xe2, 0x97, 0xed, 0xbd, 0x45, 0x7a, 0x6e, 0x29, + 0x5d, 0x49, 0x2f, 0xcb, 0x6a, 0x74, 0x52, 0x59, 0x05, 0x79, 0x4f, 0x4c, 0xa0, 0x22, 0xa4, 0xcf, + 0x48, 0x8f, 0x07, 0x3f, 0xfb, 0x45, 0x33, 0x30, 0xf1, 0x0e, 0x9b, 0xe7, 0x22, 0x54, 0xfd, 0x81, + 0xf2, 0xb3, 0x04, 0x72, 0x20, 0x1f, 0x2a, 0x41, 0xd6, 0x76, 0xac, 0x6f, 0x09, 0x2f, 0x06, 0x64, + 0x55, 0x0c, 0x11, 0x82, 0xf1, 0x50, 0x9c, 0x7b, 0xff, 0x68, 0x0e, 0x32, 0x9a, 0xd5, 0xc1, 0x86, + 0x9f, 0x21, 0x65, 0x95, 0x8f, 0x18, 0xca, 0x3b, 0xe2, 0xb0, 0xa4, 0xe2, 0x9d, 0x3b, 0x59, 0x15, + 0x43, 0x86, 0x72, 0x78, 0xd8, 0x6a, 0x78, 0x77, 0x9e, 0xac, 0x7a, 0xff, 0x4c, 0x52, 0xcb, 0xd1, + 0xbd, 0x83, 0x26, 0xab, 0xec, 0x57, 0x79, 0x9f, 0x82, 0x49, 0x71, 0xab, 0xa1, 0x42, 0x60, 0x56, + 0xd9, 0x33, 0x5f, 0xe8, 0x6e, 0x4f, 0x8d, 0x76, 0xb7, 0x8b, 0xbb, 0x39, 0xfd, 0xe1, 0x77, 0xf3, + 0xf8, 0x68, 0xfe, 0x79, 0xc6, 0x52, 0x26, 0xb7, 0xbc, 0x5b, 0x9a, 0xf0, 0xf6, 0x99, 0x8b, 0xa5, + 0x4c, 0xbe, 0xac, 0x86, 0x28, 0xd1, 0x03, 0x18, 0xa7, 0x58, 0x77, 0x4b, 0x19, 0x8f, 0x63, 0xb0, + 0x3e, 0xf2, 0x56, 0x59, 0x24, 0x9f, 0x78, 0xf5, 0x96, 0xc6, 0x22, 0x39, 0x7b, 0x75, 0x24, 0x73, + 0xea, 0x3a, 0x55, 0xf6, 0x60, 0x2a, 0xac, 0x61, 0xe0, 0x45, 0x29, 0xe4, 0xc5, 0xff, 0x84, 0xcf, + 0x05, 0x93, 0x5b, 0xb4, 0x16, 0x55, 0xd6, 0x5a, 0x54, 0x5f, 0xf9, 0xad, 0x85, 0x38, 0x2f, 0x26, + 0xa4, 0x0f, 0xb0, 0x9e, 0x08, 0xb4, 0x98, 0x90, 0x43, 0x23, 0x19, 0x34, 0xe4, 0xba, 0xf4, 0x68, + 0xf5, 0xfd, 0xf7, 0x12, 0x4c, 0x0a, 0x7b, 0xa3, 0x17, 0x90, 0x3d, 0x23, 0xbd, 0x76, 0x07, 0xdb, + 0xbc, 0x7e, 0xb8, 0x97, 0xe8, 0x97, 0xea, 0x16, 0xe9, 0x6d, 0x63, 0xbb, 0xd9, 0xa5, 0x4e, 0x4f, + 0xcd, 0x9c, 0x79, 0x83, 0xf2, 0x73, 0xc8, 0x85, 0xa6, 0x47, 0x8d, 0x8e, 0x17, 0xa9, 0xff, 0x49, + 0xca, 0x2e, 0x14, 0xe3, 0xb5, 0x12, 0xfa, 0x3f, 0x64, 0xfd, 0x6a, 0xc9, 0x4d, 0x14, 0x65, 0xdf, + 0xe8, 0xea, 0x26, 0xd9, 0x73, 0x2c, 0x9b, 0x38, 0xb4, 0xe7, 0x73, 0xab, 0x82, 0x43, 0xf9, 0x33, + 0x0d, 0x33, 0x49, 0x14, 0xe8, 0x33, 0x00, 0x96, 0x4f, 0x23, 0x45, 0xdb, 0x42, 0xfc, 0x50, 0x44, + 0x79, 0x36, 0xc7, 0x54, 0x99, 0x62, 0x9d, 0x03, 0xbc, 0x86, 0x62, 0x70, 0xba, 0xda, 0x91, 0xba, + 0xf7, 0x41, 0xf2, 0x69, 0x1c, 0x00, 0xbb, 0x11, 0xf0, 0x73, 0xc8, 0x1d, 0xb8, 0x11, 0x38, 0x95, + 0x23, 0xfa, 0xbe, 0xbb, 0x9f, 0x18, 0x47, 0x03, 0x80, 0x05, 0xc1, 0xcd, 0xf1, 0xb6, 0xa0, 0x20, + 0x4a, 0x0d, 0x0e, 0xe7, 0xc7, 0x98, 0x92, 0x74, 0x14, 0x06, 0xd0, 0xf2, 0x9c, 0x97, 0x83, 0xed, + 0xc1, 0x24, 0x23, 0xc0, 0xd4, 0x72, 0x4a, 0x50, 0x91, 0x96, 0x0b, 0x2b, 0x4f, 0xae, 0xf4, 0x43, + 0x75, 0xdd, 0xea, 0xd8, 0xd8, 0x31, 0x5c, 0x56, 0xbd, 0xfa, 0xbc, 0x6a, 0x80, 0xa2, 0x54, 0x00, + 0x0d, 0xae, 0x23, 0x80, 0x4c, 0xf3, 0xf5, 0x61, 0xfd, 0xd5, 0x7e, 0x71, 0x6c, 0x6d, 0x1a, 0x6e, + 0xd8, 0x1c, 0x90, 0x6b, 0xa0, 0x6c, 0xc0, 0x5c, 0xb2, 0xfe, 0xf1, 0xb2, 0x52, 0x1a, 0x2c, 0x2b, + 0xd7, 0x00, 0x26, 0x05, 0x9e, 0xf2, 0x09, 0x4c, 0x0f, 0x78, 0x38, 0x52, 0x77, 0x4a, 0xf1, 0x8e, + 0x31, 0xcc, 0xfd, 0x35, 0xdc, 0x1a, 0xe2, 0x58, 0xf4, 0xc4, 0x0f, 0x1d, 0x56, 0x4b, 0x48, 0xbc, + 0x96, 0x08, 0xdb, 0x69, 0x8b, 0xf4, 0x8e, 0xd8, 0x79, 0xdf, 0xc3, 0x06, 0xb3, 0x32, 0x0b, 0x9a, + 0x23, 0x6c, 0x46, 0xc0, 0x9f, 0xc1, 0x54, 0x98, 0x6a, 0xe4, 0xfc, 0xf2, 0x9b, 0x04, 0xb3, 0x89, + 0xde, 0x44, 0xe5, 0x58, 0xae, 0x61, 0x6a, 0x89, 0x6c, 0x33, 0x13, 0xce, 0x36, 0x9b, 0x63, 0xfc, + 0x82, 0x29, 0x45, 0xf3, 0x0d, 0x93, 0x94, 0x67, 0x9c, 0x72, 0x2c, 0xe3, 0x30, 0xac, 0x7e, 0xce, + 0xf1, 0xf2, 0xcb, 0x04, 0x9f, 0x67, 0x83, 0x88, 0x66, 0xbf, 0xa4, 0x60, 0x7a, 0xa0, 0xa3, 0x61, + 0xda, 0x98, 0x46, 0xc7, 0xf0, 0x65, 0xcb, 0xab, 0xfe, 0x80, 0xcd, 0x86, 0x9b, 0x11, 0x7f, 0x80, + 0x3e, 0x87, 0xac, 0x6b, 0x39, 0x74, 0x8b, 0xf4, 0x3c, 0xc1, 0x0a, 0x2b, 0x4b, 0x97, 0xb7, 0x4b, + 0xd5, 0x7d, 0x9f, 0x5a, 0x15, 0x6c, 0xe8, 0x25, 0xc8, 0xec, 0x77, 0xd7, 0xd1, 0x78, 0x40, 0x14, + 0x56, 0x96, 0x47, 0xc0, 0xf0, 0xe8, 0xd5, 0x3e, 0xab, 0xf2, 0x10, 0xe4, 0x60, 0x1e, 0x15, 0x00, + 0x1a, 0xcd, 0xfd, 0xf5, 0xe6, 0x4e, 0xa3, 0xb5, 0xb3, 0x51, 0x1c, 0x43, 0x79, 0x90, 0xeb, 0xc1, + 0x50, 0x52, 0xee, 0x40, 0x96, 0xcb, 0x81, 0xa6, 0x21, 0xbf, 0xae, 0x36, 0xeb, 0x07, 0xad, 0xdd, + 0x9d, 0xf6, 0x41, 0x6b, 0xbb, 0x59, 0x1c, 0x5b, 0xf9, 0x21, 0x0b, 0x39, 0xe6, 0xb7, 0x75, 0x5f, + 0x00, 0x74, 0x04, 0xf9, 0xc8, 0x4b, 0x0e, 0x8a, 0xde, 0x78, 0x49, 0xaf, 0x45, 0x65, 0xe5, 0x32, + 0x12, 0x5e, 0x16, 0x6e, 0x03, 0xf4, 0x5f, 0x70, 0x50, 0xf4, 0xb6, 0x1b, 0x78, 0x21, 0x2a, 0x2f, + 0x0e, 0x5d, 0xe7, 0x70, 0x5f, 0x42, 0x21, 0xfa, 0x36, 0x81, 0x92, 0x84, 0x88, 0xf5, 0x8b, 0xe5, + 0xfb, 0x97, 0xd2, 0x70, 0xe8, 0x3d, 0xc8, 0x85, 0x1e, 0x63, 0xd0, 0x80, 0x28, 0x71, 0xd0, 0xca, + 0x70, 0x02, 0x8e, 0x58, 0x87, 0x8c, 0xff, 0xf2, 0x81, 0xa2, 0xb5, 0x6a, 0xe4, 0x0d, 0xa5, 0x7c, + 0x3b, 0x71, 0x8d, 0x43, 0x1c, 0x41, 0x3e, 0xf2, 0xd0, 0x10, 0x73, 0x4b, 0xd2, 0x2b, 0x4a, 0xcc, + 0x2d, 0xc9, 0xef, 0x14, 0xfb, 0x30, 0x15, 0x6e, 0xe2, 0x51, 0x65, 0x80, 0x27, 0xf6, 0xda, 0x50, + 0xbe, 0x77, 0x09, 0x45, 0xdf, 0x39, 0xd1, 0x96, 0x35, 0xe6, 0x9c, 0xc4, 0x66, 0x3e, 0xe6, 0x9c, + 0x21, 0x3d, 0xef, 0x5b, 0x98, 0x4b, 0xee, 0x3f, 0xd0, 0xc3, 0xb8, 0x1b, 0x86, 0xf7, 0xa4, 0xe5, + 0x7f, 0x8f, 0x44, 0xcb, 0xb7, 0x24, 0x80, 0x06, 0x3b, 0x03, 0xb4, 0x14, 0xeb, 0x3a, 0x86, 0x74, + 0x2d, 0xe5, 0x7f, 0x5d, 0x49, 0xe7, 0x6f, 0xb3, 0xb6, 0xfe, 0x55, 0x5d, 0x37, 0xe8, 0x9b, 0xf3, + 0xe3, 0xea, 0x89, 0xd5, 0xa9, 0x79, 0xb5, 0x99, 0xe5, 0xe8, 0xfe, 0x4f, 0x2d, 0x78, 0x05, 0xd6, + 0x49, 0xb7, 0x66, 0x1f, 0x3f, 0xd2, 0xad, 0x5a, 0xd2, 0x6b, 0xf2, 0x71, 0xc6, 0x2b, 0x13, 0x57, + 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xc0, 0xa3, 0x08, 0x6c, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go index 60bc47c3ec..6b0eaa86a8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go @@ -29,143 +29,172 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("flyteidl/service/admin.proto", fileDescriptor_5cfa31da1d67295d) } var fileDescriptor_5cfa31da1d67295d = []byte{ - // 2165 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x9a, 0xdf, 0x6f, 0x1d, 0x47, - 0x15, 0xc7, 0x35, 0x36, 0x02, 0x31, 0x4d, 0x62, 0x7b, 0x9a, 0x60, 0x67, 0x63, 0x27, 0xe9, 0xba, - 0x8e, 0x7f, 0xdf, 0x75, 0x93, 0xb4, 0x55, 0x43, 0xd3, 0xd4, 0xad, 0x9d, 0x2b, 0x43, 0x9a, 0x14, - 0x93, 0x82, 0x64, 0x21, 0x5d, 0xad, 0xef, 0x4e, 0x9c, 0x4d, 0xee, 0xbd, 0x7b, 0xbb, 0x3b, 0x76, - 0xb1, 0x2c, 0x8b, 0x1f, 0x42, 0x88, 0x0a, 0x89, 0x07, 0x7e, 0x08, 0x0a, 0x11, 0xa5, 0x50, 0xc4, - 0xcf, 0xf2, 0x02, 0x2a, 0xe2, 0xa5, 0x12, 0x02, 0x24, 0x5e, 0x78, 0x81, 0x77, 0x5e, 0xe8, 0x33, - 0x7f, 0x03, 0xda, 0x33, 0x33, 0x7b, 0x77, 0x76, 0x77, 0x76, 0x67, 0x4d, 0xca, 0x13, 0x6f, 0xf6, - 0x3d, 0xdf, 0x99, 0xf9, 0x9c, 0x33, 0x67, 0xce, 0xcc, 0xee, 0x0e, 0x9e, 0xbc, 0xd3, 0xd9, 0x67, - 0xd4, 0xf7, 0x3a, 0x4e, 0x44, 0xc3, 0x3d, 0xbf, 0x4d, 0x1d, 0xd7, 0xeb, 0xfa, 0xbd, 0x46, 0x3f, - 0x0c, 0x58, 0x40, 0x46, 0xa5, 0xb5, 0x21, 0xac, 0xd6, 0xe4, 0x4e, 0x10, 0xec, 0x74, 0xa8, 0xe3, - 0xf6, 0x7d, 0xc7, 0xed, 0xf5, 0x02, 0xe6, 0x32, 0x3f, 0xe8, 0x45, 0x5c, 0x6f, 0x0d, 0x7a, 0x83, - 0x5e, 0x9c, 0x7e, 0x18, 0xdc, 0xa3, 0x6d, 0x26, 0xac, 0x8d, 0x62, 0x6b, 0xcb, 0x0b, 0xba, 0xae, - 0xdf, 0x6b, 0xb9, 0x8c, 0x85, 0xfe, 0xf6, 0x2e, 0xa3, 0xb2, 0xb7, 0x59, 0x8d, 0x3e, 0x27, 0x3c, - 0x9d, 0x11, 0x32, 0x37, 0xba, 0x2f, 0x4c, 0x53, 0x19, 0xd3, 0x6b, 0x41, 0x78, 0xff, 0x4e, 0x27, - 0x78, 0x4d, 0x98, 0xe7, 0x34, 0xe6, 0xfc, 0x18, 0xe7, 0x33, 0xca, 0x8e, 0xbb, 0xdb, 0x6b, 0xdf, - 0x6d, 0xf5, 0x3b, 0xae, 0x08, 0x96, 0x65, 0x65, 0x14, 0x74, 0x8f, 0xf6, 0xa4, 0xeb, 0x67, 0xb3, - 0xb6, 0xcf, 0xd3, 0xf6, 0x6e, 0x1c, 0x39, 0x8d, 0xab, 0x5d, 0x97, 0xb5, 0xef, 0xba, 0xdb, 0x1d, - 0xda, 0x0a, 0x69, 0x14, 0xec, 0x86, 0x6d, 0x2a, 0x84, 0xd3, 0x19, 0x61, 0x2f, 0xf0, 0x68, 0x2b, - 0xdb, 0xdb, 0x74, 0x41, 0x3c, 0x72, 0xa2, 0xec, 0x5c, 0xed, 0xd1, 0x30, 0x1a, 0x58, 0xcf, 0x64, - 0xac, 0xed, 0xa0, 0xdb, 0xd5, 0xd2, 0x7a, 0x34, 0x6a, 0x87, 0x7e, 0x3f, 0xee, 0xbc, 0x45, 0x7b, - 0xcc, 0x67, 0xfb, 0x5c, 0x78, 0xf1, 0x2b, 0x37, 0xf1, 0xb1, 0xd5, 0x58, 0xf2, 0x69, 0x9e, 0x3e, - 0xa4, 0x8b, 0xf1, 0x8b, 0x21, 0x75, 0x19, 0xbd, 0xed, 0x46, 0xf7, 0xc9, 0x63, 0x49, 0x46, 0x34, - 0x78, 0xd6, 0xc5, 0xbf, 0x72, 0xfb, 0x26, 0x7d, 0x75, 0x97, 0x46, 0xcc, 0xb2, 0xcb, 0x24, 0x51, - 0x3f, 0xe8, 0x45, 0xd4, 0x9e, 0xf8, 0xf2, 0x3f, 0xde, 0xff, 0xd6, 0x10, 0xb1, 0x8f, 0x43, 0x56, - 0xee, 0x3d, 0x01, 0xfe, 0x46, 0x57, 0xd0, 0x02, 0xf9, 0x1a, 0xc2, 0x1f, 0x69, 0x52, 0x06, 0x83, - 0x9d, 0xcf, 0xf6, 0x74, 0x6b, 0x3b, 0xce, 0xa6, 0x26, 0x65, 0x72, 0xac, 0x93, 0x45, 0x63, 0xd9, - 0xeb, 0xd0, 0xfb, 0x35, 0x72, 0x55, 0xe9, 0xdd, 0x39, 0xf0, 0xbd, 0x86, 0x48, 0xc8, 0x43, 0xf8, - 0x87, 0x67, 0x31, 0xff, 0xbb, 0xe7, 0x76, 0x29, 0xff, 0x4b, 0x44, 0xf5, 0x90, 0x7c, 0x17, 0xe1, - 0x47, 0x6e, 0xf8, 0x11, 0xb0, 0x6c, 0x78, 0x11, 0x59, 0xc9, 0x0e, 0x76, 0xd3, 0xed, 0x52, 0x6f, - 0x1d, 0xa2, 0xb7, 0xe1, 0xc5, 0x51, 0xbc, 0xe3, 0xd3, 0x30, 0x6e, 0x21, 0xf1, 0xe6, 0x8d, 0x5b, - 0xd8, 0x8b, 0xc0, 0x3c, 0x43, 0xa6, 0xd3, 0xcc, 0x2d, 0xdf, 0x8b, 0x9c, 0x83, 0x01, 0xb3, 0x00, - 0x26, 0xbf, 0x41, 0xf8, 0xa3, 0x92, 0x2c, 0x22, 0xd3, 0xd9, 0x51, 0x36, 0x45, 0x02, 0xa6, 0x51, - 0x26, 0x8a, 0x22, 0x05, 0x23, 0x6f, 0xc3, 0xc8, 0x9f, 0x23, 0x2b, 0x75, 0xa3, 0xb5, 0x35, 0x47, - 0x2e, 0x98, 0xb5, 0x21, 0x87, 0xf8, 0x04, 0xcf, 0x80, 0xcf, 0x8a, 0xd5, 0x4a, 0x66, 0xb2, 0x3c, - 0xd2, 0xa2, 0x26, 0xd3, 0x85, 0x2a, 0x99, 0x48, 0xa8, 0x49, 0x70, 0xe2, 0x63, 0xf6, 0x98, 0x04, - 0x92, 0x65, 0x01, 0x92, 0xea, 0xdb, 0x08, 0x3f, 0xd2, 0xa4, 0x2c, 0x19, 0xbc, 0x3a, 0xb1, 0x26, - 0x74, 0xe3, 0xda, 0x1b, 0x30, 0xd2, 0x8b, 0x64, 0x35, 0x37, 0x52, 0xed, 0x04, 0x7b, 0x13, 0xe1, - 0x91, 0x78, 0x0a, 0x64, 0xdf, 0x1f, 0x78, 0x92, 0x39, 0xc0, 0x3e, 0x4f, 0x66, 0xb3, 0xec, 0xba, - 0x44, 0x7b, 0x0f, 0xe1, 0xe3, 0x69, 0x42, 0xc3, 0x64, 0x9b, 0xd4, 0x45, 0x0f, 0x28, 0xee, 0x01, - 0x85, 0x47, 0x2e, 0x1f, 0x25, 0x82, 0x5b, 0x4b, 0x64, 0xc1, 0xbc, 0x1d, 0xf9, 0x2a, 0xc2, 0xa3, - 0x3c, 0x55, 0x6e, 0x40, 0xf5, 0x7f, 0xb9, 0xe3, 0xf6, 0xc8, 0x6c, 0x16, 0x6f, 0x60, 0x53, 0xb3, - 0x6f, 0xae, 0x5a, 0x28, 0xf2, 0xef, 0x1c, 0xf8, 0x74, 0xda, 0x3e, 0x29, 0xd9, 0x52, 0x9b, 0x0d, - 0xa4, 0xe0, 0x0f, 0x10, 0x3e, 0xde, 0xa4, 0x2c, 0x45, 0x51, 0x9d, 0x84, 0x96, 0x7e, 0x78, 0xfb, - 0x06, 0x0c, 0x78, 0x9d, 0xac, 0x15, 0x0d, 0x58, 0x3b, 0x13, 0x7f, 0x8c, 0xf0, 0xa3, 0x4d, 0xca, - 0x56, 0xdb, 0xcc, 0xdf, 0x2b, 0x8d, 0x54, 0x56, 0x61, 0x82, 0x7a, 0x1d, 0x50, 0x9f, 0x27, 0xcf, - 0x49, 0x54, 0x17, 0x3a, 0x69, 0xd5, 0x24, 0x26, 0x0f, 0x10, 0x3e, 0x15, 0x27, 0x50, 0x96, 0x21, - 0x22, 0x8b, 0x55, 0x98, 0xe9, 0xe4, 0x3c, 0xab, 0x47, 0x85, 0xf4, 0x7c, 0x0a, 0x70, 0x57, 0x48, - 0xa3, 0x14, 0x37, 0xbf, 0x56, 0xde, 0x46, 0x78, 0x2c, 0xee, 0x60, 0xd0, 0xdd, 0x07, 0xbe, 0x9e, - 0x2f, 0x02, 0x6a, 0x6a, 0x45, 0xa4, 0x18, 0x75, 0x4b, 0xfa, 0xaf, 0xa2, 0xe8, 0xa4, 0xe3, 0x67, - 0xb4, 0xa8, 0xab, 0xe2, 0xd6, 0x07, 0x98, 0x7b, 0xe4, 0xe9, 0x23, 0x66, 0xe4, 0x96, 0x43, 0x96, - 0x6b, 0x35, 0x25, 0xef, 0x22, 0x3c, 0xfa, 0x4a, 0xdf, 0x33, 0x5e, 0xdc, 0x5c, 0x6b, 0xb0, 0xb8, - 0xa5, 0x50, 0x2c, 0xee, 0x5b, 0xe0, 0xd9, 0x86, 0xf5, 0x50, 0xd6, 0x5a, 0x5c, 0x0c, 0xbe, 0x84, - 0xf0, 0x08, 0x2f, 0x20, 0xeb, 0xf2, 0x88, 0x47, 0x72, 0x3b, 0x5d, 0x62, 0x52, 0x6b, 0xd2, 0x6c, - 0xa5, 0x4e, 0x50, 0x4f, 0x01, 0xf5, 0xb8, 0x4d, 0x24, 0x75, 0x72, 0x9c, 0x84, 0x82, 0xf4, 0x0d, - 0x84, 0xc7, 0x36, 0x29, 0xf7, 0x64, 0x40, 0x31, 0xa7, 0xed, 0x5d, 0x6a, 0x6b, 0x73, 0x5c, 0x00, - 0x8e, 0xf3, 0xf6, 0x99, 0x3c, 0x87, 0x13, 0x8a, 0x4e, 0x63, 0xa0, 0xaf, 0x23, 0x3c, 0xba, 0x49, - 0xdb, 0xc1, 0x1e, 0x0d, 0x07, 0x3c, 0xb3, 0x25, 0x3c, 0x20, 0xad, 0x8d, 0x33, 0x03, 0x38, 0xe7, - 0x6c, 0xab, 0x10, 0x07, 0xfa, 0x8c, 0x69, 0xbe, 0x83, 0xf0, 0xb1, 0x26, 0x65, 0x03, 0x92, 0x45, - 0xdd, 0x9e, 0x96, 0x48, 0x52, 0x95, 0xfb, 0xb4, 0x96, 0xc6, 0xbe, 0x0a, 0xe3, 0x3f, 0x4d, 0x9e, - 0x2c, 0x18, 0xdf, 0xa0, 0x08, 0xbe, 0x8d, 0xf0, 0x08, 0x4f, 0x4f, 0x93, 0xd4, 0x51, 0x33, 0x7e, - 0xb6, 0x52, 0x27, 0x62, 0xf4, 0x3c, 0x30, 0x5e, 0xb1, 0x8e, 0xc6, 0x18, 0x87, 0xef, 0x0f, 0x08, - 0x8f, 0xa6, 0xc3, 0xb7, 0xe6, 0x32, 0x97, 0x38, 0x26, 0x21, 0x8c, 0x95, 0x12, 0x78, 0xc5, 0xbc, - 0x81, 0x20, 0x7f, 0x01, 0xc8, 0x9f, 0x25, 0x57, 0x24, 0xb9, 0xe7, 0x32, 0xb7, 0x66, 0x88, 0x5f, - 0x47, 0xf8, 0x44, 0x5c, 0xd1, 0x92, 0x41, 0x0c, 0x0b, 0xe4, 0x94, 0x36, 0xbc, 0x50, 0x1f, 0x2f, - 0x01, 0xda, 0x32, 0x59, 0xac, 0x11, 0x54, 0xf2, 0x0e, 0xc2, 0xe4, 0x36, 0x0d, 0xbb, 0x7e, 0x4f, - 0x99, 0xf1, 0x79, 0xed, 0x50, 0x89, 0x58, 0x52, 0x2d, 0x98, 0x48, 0xd5, 0x79, 0x5f, 0x38, 0xfa, - 0xbc, 0xff, 0x9d, 0xcf, 0xfb, 0xcd, 0xc0, 0xa3, 0x25, 0x8b, 0x58, 0x31, 0xa7, 0x96, 0xcd, 0x54, - 0xa9, 0xd0, 0xde, 0x03, 0xbc, 0x3e, 0xe9, 0x49, 0x3c, 0xf5, 0x51, 0x9a, 0x33, 0x26, 0xff, 0xb6, - 0xb2, 0xc0, 0x8a, 0x25, 0x4d, 0xaf, 0x18, 0x06, 0x15, 0x1b, 0x7a, 0xf7, 0xbd, 0x43, 0xf2, 0x4f, - 0x84, 0x49, 0x3c, 0x85, 0x0a, 0x4d, 0x94, 0xaf, 0x95, 0x8a, 0x3d, 0x9d, 0x19, 0x8f, 0x55, 0x2a, - 0xed, 0x03, 0xf0, 0x6d, 0x97, 0x44, 0x5a, 0xdf, 0x92, 0xb3, 0xba, 0xc6, 0xc3, 0x62, 0x7b, 0xe2, - 0x67, 0xb1, 0x99, 0x67, 0xfc, 0x4f, 0x3f, 0x84, 0x4f, 0xe7, 0x1d, 0xbc, 0x1e, 0x84, 0xf0, 0x18, - 0xee, 0x94, 0xd2, 0x0b, 0x55, 0x4d, 0x77, 0x7f, 0x3b, 0x0c, 0xfe, 0xfe, 0x7a, 0x98, 0xfc, 0x62, - 0x58, 0x7a, 0xdc, 0xbe, 0xeb, 0x77, 0xbc, 0x90, 0x66, 0x5f, 0x7e, 0x44, 0xce, 0x81, 0xfa, 0x43, - 0x4b, 0xce, 0x8d, 0xf2, 0x8b, 0x26, 0x2a, 0xb5, 0x9b, 0x26, 0x01, 0xab, 0xdd, 0x52, 0x64, 0x8e, - 0x49, 0x3b, 0x99, 0x5a, 0x45, 0x6a, 0xf1, 0xe0, 0x5f, 0xea, 0x83, 0xd4, 0x94, 0xc0, 0x4a, 0x89, - 0x96, 0x4a, 0x0a, 0xe4, 0xc1, 0xa4, 0x48, 0x13, 0x52, 0x16, 0xee, 0xb7, 0x5c, 0xc6, 0x68, 0xb7, - 0xcf, 0x0e, 0xc9, 0xbf, 0x11, 0x3e, 0x99, 0x5d, 0xdd, 0x50, 0xd9, 0x17, 0xab, 0x56, 0x78, 0xba, - 0xaa, 0x2f, 0x99, 0x89, 0x45, 0x4d, 0xca, 0x2d, 0x0c, 0xa8, 0xe8, 0xff, 0xa3, 0x95, 0xff, 0x05, - 0x3c, 0xb2, 0x49, 0x77, 0xfc, 0x88, 0xd1, 0xf0, 0x65, 0xde, 0x61, 0x7e, 0xb3, 0x15, 0x06, 0xa9, - 0xd3, 0x6e, 0xb6, 0x39, 0x9d, 0x70, 0xf0, 0x0c, 0x38, 0x78, 0xca, 0x1e, 0x95, 0x0e, 0x0a, 0x74, - 0x38, 0xa5, 0xbd, 0x8a, 0x8f, 0xf3, 0xbd, 0x59, 0x0e, 0x3f, 0xae, 0xe9, 0xd6, 0x9a, 0xd1, 0x18, - 0x32, 0x5b, 0xfb, 0x79, 0x18, 0xcd, 0xb2, 0x4e, 0x65, 0x47, 0x8b, 0x1d, 0x87, 0x12, 0x7e, 0x07, - 0x1f, 0x8b, 0x97, 0xa8, 0x68, 0x1e, 0x11, 0x5b, 0xd3, 0x71, 0xe9, 0xdb, 0x25, 0xd9, 0x5a, 0xbe, - 0xe9, 0x23, 0x39, 0xef, 0xc8, 0x1b, 0x08, 0x3f, 0xaa, 0xbe, 0x14, 0x5a, 0xdf, 0xa3, 0x3d, 0x46, - 0x96, 0x2b, 0x37, 0x7d, 0xd0, 0xc9, 0xa1, 0x1b, 0xa6, 0x72, 0x11, 0x80, 0x69, 0x00, 0x9a, 0xb2, - 0x27, 0x92, 0x3d, 0x2e, 0x36, 0x47, 0xea, 0x0b, 0xa3, 0xd7, 0x93, 0x03, 0x3a, 0xe4, 0x26, 0x70, - 0xcd, 0x97, 0xa6, 0xad, 0xc2, 0xb4, 0x60, 0x22, 0xd5, 0xbd, 0x39, 0x10, 0x3c, 0x71, 0x0e, 0x66, - 0x58, 0xe2, 0x3a, 0xab, 0x61, 0x01, 0x93, 0x19, 0x4b, 0x91, 0xb4, 0x82, 0x25, 0x79, 0x3b, 0xfb, - 0xc5, 0x61, 0xd8, 0xde, 0x95, 0x2e, 0xf2, 0xdb, 0xbb, 0x62, 0x2e, 0xdb, 0xde, 0x15, 0xa1, 0xfd, - 0x93, 0x21, 0x18, 0xfe, 0xc1, 0x10, 0x79, 0x63, 0x48, 0x79, 0x0b, 0x9a, 0x59, 0xe7, 0xc6, 0xb5, - 0xbf, 0x46, 0xb1, 0x37, 0xae, 0xee, 0x15, 0xe5, 0xbc, 0xb0, 0x7e, 0x17, 0x15, 0xec, 0x7c, 0x85, - 0x2e, 0x2c, 0xc9, 0xf9, 0x1a, 0xfc, 0xbd, 0x21, 0x7e, 0x18, 0x51, 0x62, 0x57, 0x70, 0x18, 0x51, - 0xec, 0xa5, 0xbb, 0x73, 0x4e, 0x69, 0xff, 0x0e, 0xc1, 0x4c, 0xbc, 0x83, 0xc8, 0x2f, 0x91, 0x76, - 0x26, 0x8c, 0xa7, 0xc1, 0x74, 0x0e, 0xcc, 0x26, 0x40, 0x1f, 0x7d, 0xf2, 0x60, 0x18, 0xb6, 0x27, - 0xc5, 0x9f, 0xe2, 0xed, 0x29, 0x9b, 0xa1, 0xa5, 0xdb, 0x53, 0xb1, 0x58, 0x2c, 0x99, 0x9f, 0xf3, - 0xa4, 0x7d, 0x6b, 0x88, 0xfc, 0x70, 0x48, 0xd9, 0xa1, 0xfe, 0x9f, 0xb9, 0xd9, 0xcc, 0xfd, 0x17, - 0xc2, 0x53, 0xca, 0x66, 0xb6, 0x06, 0x5d, 0xae, 0x26, 0xdf, 0xed, 0xc8, 0x65, 0xcd, 0x36, 0x92, - 0x15, 0xaa, 0x8f, 0xb5, 0x4f, 0xd6, 0x6c, 0x25, 0x66, 0xee, 0x15, 0x98, 0xb8, 0x5b, 0xd6, 0x27, - 0x32, 0x3b, 0x53, 0xfe, 0xe3, 0xa6, 0x73, 0xa0, 0x7e, 0x5b, 0x14, 0xc1, 0x49, 0xfd, 0x28, 0x82, - 0x13, 0x97, 0xc8, 0x3f, 0x22, 0x6c, 0x35, 0x29, 0xd3, 0xb9, 0xf8, 0x84, 0x21, 0x6c, 0xaa, 0x6c, - 0x5e, 0xac, 0xd3, 0x44, 0x38, 0xf7, 0x2c, 0x38, 0xf7, 0xd4, 0xe0, 0x1d, 0x7b, 0x89, 0x73, 0xf9, - 0x77, 0x84, 0x7f, 0x43, 0x78, 0x6a, 0x8d, 0x76, 0xe8, 0x7f, 0x3f, 0x53, 0xbc, 0x97, 0xba, 0x33, - 0x25, 0x5b, 0x09, 0x67, 0xae, 0x81, 0x33, 0xcf, 0x2c, 0x1c, 0xc9, 0x99, 0x78, 0x4e, 0xde, 0x45, - 0x78, 0x5c, 0xc9, 0xbc, 0x94, 0x27, 0x0d, 0x0d, 0x93, 0x2e, 0xdb, 0x1c, 0x63, 0xbd, 0xa0, 0xbf, - 0x02, 0xf4, 0x97, 0x2d, 0x27, 0x4b, 0x5f, 0x91, 0x60, 0x31, 0xf8, 0x9b, 0xfc, 0xc0, 0x9d, 0xa7, - 0x5e, 0xac, 0xa4, 0x48, 0x25, 0xd0, 0x92, 0x99, 0x58, 0xf0, 0x2e, 0x01, 0xef, 0x05, 0xf2, 0x78, - 0x19, 0xaf, 0x84, 0x24, 0xbf, 0x42, 0x78, 0x5c, 0x49, 0x95, 0x5a, 0xa1, 0x55, 0xd3, 0xc3, 0x31, - 0xd6, 0x0b, 0x54, 0xf1, 0x3d, 0x6b, 0xc1, 0x08, 0x35, 0x8e, 0xe7, 0xfb, 0x08, 0x4f, 0xf0, 0xe9, - 0x91, 0xa7, 0xc4, 0x14, 0xae, 0xf6, 0xf5, 0x94, 0x2e, 0x15, 0x56, 0xcc, 0x1b, 0x08, 0x60, 0x0a, - 0xc0, 0x2d, 0x6b, 0x2b, 0xf7, 0x01, 0xee, 0x08, 0xd5, 0x46, 0xf9, 0x4d, 0x76, 0x04, 0x6e, 0xfe, - 0x1e, 0xe1, 0x53, 0xa9, 0xef, 0x9d, 0x29, 0x1f, 0x97, 0xaa, 0x91, 0x53, 0x89, 0xb3, 0x6c, 0xa8, - 0x16, 0xde, 0xad, 0x82, 0x77, 0x1f, 0x27, 0xcf, 0x94, 0x7a, 0x97, 0x5b, 0xa1, 0x83, 0x77, 0x13, - 0x87, 0xe4, 0x4f, 0x08, 0x4f, 0xf0, 0x49, 0x3e, 0xda, 0x04, 0xa9, 0x09, 0xb5, 0x62, 0xde, 0x40, - 0xb8, 0xb0, 0x06, 0x2e, 0x3c, 0xb7, 0x70, 0x74, 0x17, 0xe2, 0xf8, 0xff, 0x08, 0xe1, 0xf1, 0xf8, - 0x20, 0xf5, 0x92, 0xbc, 0x13, 0x52, 0xb6, 0x28, 0x34, 0x42, 0xed, 0xa2, 0xd0, 0xea, 0x85, 0x0b, - 0x8f, 0x83, 0x0b, 0x67, 0xc9, 0xa4, 0x74, 0x61, 0x70, 0x33, 0x65, 0xe0, 0x43, 0x5c, 0x59, 0xe0, - 0x6b, 0xd5, 0xe0, 0xe3, 0x92, 0x4f, 0xa3, 0xfc, 0xc3, 0x6d, 0xea, 0xdb, 0x53, 0xfa, 0x0c, 0x79, - 0xae, 0x42, 0x97, 0x4f, 0x85, 0xf8, 0xa8, 0xe0, 0xf1, 0xab, 0x26, 0x7e, 0x1c, 0x42, 0x79, 0x49, - 0xa6, 0xc5, 0xf6, 0xfb, 0xf1, 0x19, 0x22, 0xbf, 0x09, 0xfd, 0x0c, 0xe1, 0x13, 0x4d, 0x9a, 0x02, - 0xdc, 0xcf, 0x5f, 0x1a, 0x48, 0x19, 0x53, 0x69, 0x7b, 0xa6, 0x44, 0x66, 0x7f, 0x0a, 0xc8, 0x3e, - 0x49, 0x36, 0x4c, 0xc9, 0xaa, 0x5f, 0x18, 0xbf, 0x87, 0xf0, 0x18, 0x5f, 0xe8, 0x69, 0xd8, 0xb9, - 0x12, 0x0a, 0xb5, 0x8e, 0xcc, 0x1b, 0x28, 0xc5, 0xe4, 0xde, 0x06, 0xfa, 0x9b, 0xd6, 0xc3, 0xa3, - 0x8f, 0xf3, 0xb5, 0x83, 0x71, 0x93, 0xb2, 0xcf, 0xf0, 0xb3, 0x5b, 0xfe, 0x8e, 0xcf, 0xc0, 0xa6, - 0xbd, 0xe3, 0x93, 0x96, 0x08, 0xd4, 0x71, 0x40, 0x1d, 0x23, 0x23, 0x12, 0x55, 0x9c, 0x0d, 0xc9, - 0x9f, 0xf9, 0xa6, 0xb6, 0x36, 0xb8, 0x82, 0x24, 0x22, 0x56, 0xfd, 0x45, 0x3c, 0x87, 0x96, 0xeb, - 0xc4, 0xde, 0x81, 0x61, 0x5d, 0xd2, 0x4a, 0x4e, 0xe3, 0xd9, 0xab, 0x4e, 0x10, 0x27, 0x38, 0x9e, - 0xd6, 0x0c, 0x95, 0xfa, 0xcd, 0xfc, 0x9b, 0x43, 0x7c, 0x91, 0x67, 0x11, 0xfc, 0xa2, 0x32, 0x9b, - 0xe3, 0x4c, 0xaf, 0xa6, 0x19, 0x23, 0xb5, 0xfd, 0x16, 0x7f, 0x2a, 0xfb, 0x3e, 0x22, 0xb7, 0xca, - 0x7d, 0xab, 0xed, 0xd8, 0x56, 0x93, 0xac, 0x3f, 0x94, 0x2e, 0xc9, 0x5f, 0xf8, 0x45, 0x82, 0xe4, - 0x71, 0xe9, 0x25, 0xca, 0x42, 0xbf, 0x1d, 0x91, 0x8b, 0x26, 0x5f, 0x72, 0x84, 0x58, 0x86, 0xe5, - 0x52, 0xad, 0x36, 0x22, 0xeb, 0x72, 0x77, 0xbf, 0xba, 0x5c, 0x50, 0xef, 0x53, 0xc6, 0x0b, 0xd7, - 0xb6, 0xae, 0xee, 0xf8, 0xec, 0xee, 0xee, 0x76, 0xa3, 0x1d, 0x74, 0x1d, 0xe0, 0x08, 0xc2, 0x1d, - 0xfe, 0x87, 0x93, 0xdc, 0xa5, 0xdb, 0xa1, 0x3d, 0xa7, 0xbf, 0xbd, 0xbc, 0x13, 0x38, 0xd9, 0x3b, - 0x99, 0xdb, 0x1f, 0x86, 0xeb, 0x74, 0x97, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x69, 0x42, 0xd8, - 0x48, 0xae, 0x29, 0x00, 0x00, + // 2633 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x5b, 0x6c, 0x1c, 0x57, + 0x19, 0xd6, 0x19, 0xa7, 0x04, 0x4e, 0x73, 0x71, 0xfe, 0x26, 0xd8, 0x99, 0xc4, 0x49, 0x3a, 0xb9, + 0x38, 0x59, 0x27, 0x1e, 0x37, 0x69, 0x5a, 0x6a, 0x51, 0xda, 0x34, 0x76, 0x96, 0xb4, 0x49, 0x1a, + 0x9c, 0x50, 0x60, 0x8b, 0x58, 0x8d, 0x77, 0x4f, 0x9c, 0x69, 0x76, 0x77, 0xb6, 0x33, 0x63, 0xb7, + 0x56, 0xe4, 0x02, 0x35, 0x84, 0xb4, 0x95, 0x13, 0xa4, 0x90, 0xa0, 0x8a, 0xb6, 0x42, 0x48, 0x95, + 0xb8, 0x3d, 0x21, 0x95, 0x27, 0x1e, 0x78, 0x89, 0x54, 0x51, 0x21, 0xb5, 0x2a, 0x97, 0x4a, 0xe4, + 0x09, 0x45, 0x4a, 0x25, 0x10, 0x50, 0x78, 0x00, 0x1e, 0x40, 0x68, 0xce, 0x65, 0xe7, 0x7a, 0xe6, + 0xb2, 0xb6, 0xab, 0x4a, 0xe4, 0xcd, 0xde, 0xff, 0x3b, 0xff, 0xf9, 0xff, 0xef, 0xbf, 0x9c, 0x73, + 0x66, 0xce, 0xe0, 0xcd, 0x67, 0x1a, 0xb3, 0x2e, 0x31, 0xeb, 0x0d, 0xdd, 0x21, 0xf6, 0x8c, 0x59, + 0x23, 0xba, 0x51, 0x6f, 0x9a, 0xad, 0xe1, 0xb6, 0x6d, 0xb9, 0x16, 0xf4, 0x0a, 0xe9, 0x30, 0x97, + 0xaa, 0x9b, 0xa7, 0x2c, 0x6b, 0xaa, 0x41, 0x74, 0xa3, 0x6d, 0xea, 0x46, 0xab, 0x65, 0xb9, 0x86, + 0x6b, 0x5a, 0x2d, 0x87, 0xe1, 0x55, 0x5f, 0x1b, 0xd5, 0xa2, 0xb7, 0x6d, 0xeb, 0x29, 0x52, 0x73, + 0xb9, 0x74, 0x38, 0x59, 0x5a, 0xad, 0x5b, 0x4d, 0xc3, 0x6c, 0x55, 0x0d, 0xd7, 0xb5, 0xcd, 0xc9, + 0x69, 0x97, 0x08, 0x6d, 0x83, 0x12, 0x7c, 0x0c, 0xb8, 0x31, 0x02, 0x74, 0x0d, 0xe7, 0x1c, 0x17, + 0x0d, 0x44, 0x44, 0xcf, 0x58, 0xf6, 0xb9, 0x33, 0x0d, 0xeb, 0x19, 0x2e, 0xde, 0x2d, 0x11, 0xc7, + 0xe7, 0xd8, 0x16, 0x41, 0x36, 0x8c, 0xe9, 0x56, 0xed, 0x6c, 0xb5, 0xdd, 0x30, 0x38, 0x59, 0xaa, + 0x1a, 0x41, 0x90, 0x19, 0xd2, 0x12, 0xae, 0x6f, 0x89, 0xca, 0x9e, 0x25, 0xb5, 0x69, 0x8f, 0x39, + 0x89, 0xab, 0x4d, 0xc3, 0xad, 0x9d, 0x35, 0x26, 0x1b, 0xa4, 0x6a, 0x13, 0xc7, 0x9a, 0xb6, 0x6b, + 0x84, 0x03, 0xb7, 0x47, 0x80, 0x2d, 0xab, 0x4e, 0xaa, 0x51, 0x6d, 0xdb, 0x13, 0xf8, 0x88, 0x81, + 0xa2, 0xb1, 0x9a, 0x21, 0xb6, 0xe3, 0x4b, 0x37, 0x45, 0xa4, 0x35, 0xab, 0xd9, 0x94, 0x5a, 0x5b, + 0x27, 0x4e, 0xcd, 0x36, 0xdb, 0x9e, 0xf2, 0x2a, 0x69, 0xb9, 0xa6, 0x3b, 0xcb, 0x80, 0xfb, 0xdf, + 0x78, 0x1a, 0xaf, 0x3a, 0xe4, 0x41, 0x4e, 0xb1, 0xf4, 0x81, 0x26, 0xc6, 0x87, 0x6d, 0x62, 0xb8, + 0xe4, 0xb4, 0xe1, 0x9c, 0x83, 0xbb, 0x3b, 0x19, 0x31, 0xcc, 0xb2, 0xce, 0xfb, 0x95, 0xc9, 0x27, + 0xc8, 0xd3, 0xd3, 0xc4, 0x71, 0x55, 0x2d, 0x0d, 0xe2, 0xb4, 0xad, 0x96, 0x43, 0xb4, 0xfe, 0xe7, + 0xdf, 0xbd, 0x79, 0x45, 0x01, 0x6d, 0x35, 0xcd, 0xca, 0x99, 0x7b, 0xa8, 0xbf, 0xce, 0x28, 0x2a, + 0xc1, 0x7b, 0x08, 0xaf, 0x2c, 0x13, 0x97, 0x4e, 0xb6, 0x2d, 0xaa, 0xe9, 0xf1, 0x49, 0x2f, 0x9b, + 0xca, 0xc4, 0x15, 0x73, 0xad, 0x4f, 0x9a, 0x4b, 0xfb, 0x0e, 0xa2, 0xea, 0x17, 0x10, 0x3c, 0x18, + 0xd2, 0xaf, 0x9f, 0x37, 0xeb, 0xc3, 0x3c, 0x25, 0xe7, 0xe8, 0x3f, 0x2c, 0x8f, 0xd9, 0xdf, 0x2d, + 0xa3, 0x49, 0xd8, 0x5f, 0x9c, 0xd7, 0xb9, 0xca, 0x31, 0x78, 0x34, 0xac, 0xc0, 0xb2, 0xa7, 0x28, + 0xc2, 0xb2, 0xa7, 0xe6, 0x8a, 0x6a, 0x83, 0xeb, 0x08, 0xdf, 0x79, 0xcc, 0x74, 0xa8, 0x6f, 0x47, + 0xeb, 0x0e, 0x8c, 0x44, 0x8d, 0x3f, 0x61, 0x34, 0x49, 0x7d, 0x9c, 0x46, 0xe3, 0x68, 0xdd, 0x8b, + 0xca, 0x19, 0x93, 0xd8, 0xde, 0x08, 0xe1, 0xee, 0x9e, 0xdc, 0x23, 0xb4, 0x2f, 0x51, 0x0a, 0x4e, + 0xc1, 0xf6, 0xa0, 0x03, 0x55, 0xb3, 0xee, 0xe8, 0xe7, 0x7d, 0x9b, 0xb9, 0xc1, 0x95, 0xbd, 0x50, + 0x4a, 0xf0, 0x93, 0x39, 0x19, 0x43, 0xc3, 0x0f, 0x15, 0xfc, 0x09, 0xe1, 0x87, 0x03, 0xdb, 0xa3, + 0x36, 0x4d, 0xf0, 0xf4, 0x0f, 0x1a, 0xde, 0x9f, 0x14, 0x27, 0x6a, 0xe7, 0x1f, 0x58, 0xac, 0x7e, + 0x83, 0x60, 0xa4, 0x68, 0xac, 0x2a, 0x0f, 0x45, 0xe3, 0x5b, 0x30, 0x3c, 0x95, 0xdd, 0xb0, 0x2b, + 0xdf, 0xa4, 0x95, 0x83, 0x70, 0xa0, 0x8b, 0xa9, 0x60, 0x0e, 0xaf, 0x61, 0x99, 0xff, 0x05, 0xde, + 0xa5, 0x60, 0x67, 0x94, 0x09, 0x21, 0x09, 0x17, 0xd1, 0xae, 0x2c, 0x18, 0x2f, 0xa4, 0xcd, 0x94, + 0xbd, 0x4f, 0x6a, 0xeb, 0x84, 0x75, 0xa2, 0x1d, 0xd2, 0x62, 0x7a, 0x1f, 0xe1, 0x3b, 0xcb, 0xc4, + 0xed, 0x4c, 0x9e, 0x5d, 0x50, 0xfd, 0xb2, 0x79, 0xb5, 0x57, 0x58, 0xa0, 0xae, 0x22, 0x38, 0x14, + 0x9b, 0xab, 0x70, 0x61, 0x9d, 0x84, 0x13, 0x71, 0x25, 0x8b, 0x2a, 0xae, 0x77, 0x10, 0x5e, 0xeb, + 0x25, 0x94, 0xb0, 0x77, 0xd9, 0x0b, 0xcc, 0xa0, 0x74, 0x3c, 0x09, 0x83, 0x51, 0x47, 0x64, 0x45, + 0x36, 0x02, 0xc3, 0x12, 0x9f, 0x65, 0x85, 0xf6, 0x4b, 0x05, 0xaf, 0x0e, 0xfa, 0x94, 0xb3, 0xd8, + 0x36, 0xcb, 0x62, 0x48, 0xed, 0xfe, 0x13, 0x8b, 0xe3, 0x4d, 0x04, 0xf7, 0x76, 0x13, 0xc7, 0xca, + 0xe1, 0xa4, 0xf8, 0x17, 0x2d, 0xbc, 0x40, 0xc3, 0xc9, 0x9e, 0xbc, 0xf2, 0x00, 0xdc, 0xdf, 0xe5, + 0x94, 0x70, 0x01, 0xe1, 0x5e, 0x56, 0x32, 0xc7, 0xe8, 0xea, 0x7f, 0xb2, 0x61, 0xb4, 0x60, 0x30, + 0x4a, 0x90, 0x2f, 0x0b, 0x57, 0xe1, 0xee, 0x6c, 0x20, 0xaf, 0xc3, 0xad, 0x94, 0xd4, 0x8d, 0xda, + 0x7a, 0x61, 0x68, 0x60, 0xb3, 0x41, 0x4b, 0xf1, 0xef, 0x08, 0xaf, 0x2e, 0x13, 0x37, 0x60, 0x45, + 0x76, 0x31, 0xaa, 0xf2, 0xe9, 0xb5, 0x1f, 0xb0, 0x30, 0x7e, 0x0f, 0xc1, 0x58, 0xd2, 0x94, 0x85, + 0x2b, 0xf2, 0x14, 0x7c, 0x2e, 0x51, 0xcf, 0xa2, 0x8a, 0xf2, 0x1f, 0x08, 0xdf, 0x55, 0x26, 0xee, + 0xa1, 0x9a, 0x6b, 0xce, 0xa4, 0x06, 0x20, 0x8a, 0xc8, 0xc3, 0xc0, 0x35, 0xc6, 0xc0, 0x65, 0x04, + 0x9f, 0x11, 0x96, 0x1b, 0x54, 0x4d, 0xb5, 0x20, 0x11, 0x95, 0xe3, 0xf0, 0x58, 0x9a, 0x86, 0x82, + 0x14, 0xc0, 0x2b, 0x08, 0x6f, 0xf0, 0x4a, 0x2d, 0xea, 0x94, 0x03, 0x43, 0x59, 0x7e, 0x07, 0xcb, + 0x78, 0x8b, 0xdc, 0x77, 0x5a, 0xc8, 0xf7, 0x51, 0xf7, 0x03, 0x5d, 0x25, 0xd1, 0xfb, 0x78, 0x57, + 0xb9, 0x81, 0xf0, 0x3a, 0x4f, 0x81, 0xaf, 0x6e, 0xd9, 0x7b, 0xe5, 0x53, 0xd4, 0xd4, 0xba, 0x5f, + 0xf4, 0x01, 0x1b, 0x65, 0xed, 0xf2, 0x3e, 0xbf, 0x3f, 0x45, 0xd1, 0xa9, 0x4d, 0xf3, 0x6d, 0x85, + 0x2d, 0x04, 0x41, 0xde, 0x73, 0xb5, 0xcd, 0x2c, 0xbe, 0xff, 0xc9, 0xf2, 0xed, 0x6f, 0xc8, 0xef, + 0x46, 0x45, 0x13, 0xed, 0x88, 0xa4, 0x58, 0x8b, 0xb6, 0x4f, 0x1d, 0xf6, 0x15, 0x32, 0xa1, 0xf2, + 0x69, 0x18, 0xed, 0x7e, 0x62, 0x58, 0x50, 0x70, 0xef, 0xe7, 0xdb, 0xf5, 0xdc, 0x4d, 0x94, 0x61, + 0x73, 0x34, 0x51, 0x01, 0xe4, 0x4d, 0xf4, 0x75, 0xc6, 0xf0, 0x6b, 0x48, 0x5d, 0x92, 0x9e, 0x36, + 0x8a, 0x4a, 0x95, 0x53, 0xea, 0x32, 0xb4, 0xb5, 0xaf, 0x23, 0xbc, 0x96, 0xf5, 0xff, 0x71, 0x71, + 0x42, 0x83, 0xd8, 0x86, 0xad, 0x23, 0x0a, 0x2f, 0x29, 0x83, 0x99, 0x38, 0x4e, 0xc6, 0x00, 0xe5, + 0xa2, 0x4f, 0x03, 0x61, 0x7f, 0xe7, 0x34, 0x48, 0xd7, 0x93, 0x4b, 0x08, 0xaf, 0x9b, 0x20, 0xcc, + 0x27, 0xdf, 0x8a, 0xdd, 0x52, 0xed, 0x02, 0x5b, 0xd8, 0x8e, 0x5d, 0xd4, 0x8e, 0x6d, 0xda, 0xa6, + 0xb8, 0x1d, 0xba, 0xcd, 0x95, 0x7a, 0x06, 0xbd, 0x84, 0x70, 0xef, 0x04, 0xa9, 0x59, 0x33, 0xc4, + 0xf6, 0xed, 0x19, 0x4c, 0xb1, 0x87, 0x42, 0x0b, 0x9b, 0xb3, 0x93, 0x9a, 0xb3, 0x55, 0x53, 0x13, + 0xcd, 0xa1, 0x3a, 0x3d, 0x6b, 0x6e, 0x20, 0xbc, 0xaa, 0x4c, 0x5c, 0xdf, 0x92, 0x21, 0xd9, 0xa6, + 0xa8, 0x03, 0x09, 0x2c, 0xbc, 0x1b, 0xa5, 0xd6, 0x68, 0xf3, 0x2c, 0x47, 0xe7, 0xe0, 0x60, 0x82, + 0x01, 0x39, 0x4a, 0x77, 0x0c, 0x1e, 0x49, 0x18, 0x58, 0x74, 0x89, 0xf9, 0x2b, 0xc2, 0x6b, 0x59, + 0xf1, 0xe4, 0xc9, 0xc0, 0x70, 0x3d, 0x0e, 0x66, 0xe2, 0x38, 0xd5, 0x2f, 0x32, 0x57, 0xe7, 0x91, + 0xda, 0x9d, 0xaf, 0x5e, 0xfd, 0x95, 0xd5, 0x25, 0x70, 0xd7, 0x0b, 0xe8, 0x05, 0x05, 0xf7, 0x06, + 0x03, 0x3a, 0x66, 0xb8, 0x06, 0xe8, 0x79, 0x82, 0xea, 0x21, 0x85, 0xef, 0x23, 0xf9, 0x07, 0x70, + 0x12, 0x2e, 0x31, 0x12, 0xbe, 0x85, 0xfc, 0x0e, 0x5a, 0x37, 0x5c, 0xa3, 0x60, 0xd4, 0x8f, 0x42, + 0x59, 0x36, 0xba, 0x68, 0xe8, 0xaf, 0x23, 0xbc, 0xc6, 0x5b, 0x8f, 0x3a, 0x16, 0xe7, 0x5c, 0xde, + 0x06, 0xa4, 0x61, 0xa7, 0xab, 0x9b, 0x45, 0xdd, 0x34, 0x61, 0xa8, 0x40, 0xa8, 0x2b, 0xa3, 0xf0, + 0xa9, 0x6e, 0xa3, 0x0b, 0xff, 0x41, 0x18, 0x4e, 0x13, 0xbb, 0x69, 0xb6, 0x42, 0x59, 0xbc, 0x47, + 0x6a, 0x66, 0x07, 0x2c, 0x3c, 0x2a, 0xe5, 0x81, 0xf2, 0x30, 0x5e, 0x66, 0x61, 0xbc, 0x88, 0x4a, + 0xdd, 0xe7, 0xf2, 0xb1, 0xd2, 0x52, 0x05, 0xd1, 0x4b, 0xe8, 0x3f, 0xb2, 0x84, 0x3e, 0x61, 0xd5, + 0x49, 0x4a, 0xbf, 0x0c, 0x89, 0x03, 0x1d, 0x6a, 0x20, 0x15, 0xa8, 0x7d, 0x53, 0xa1, 0xee, 0xfe, + 0x17, 0x41, 0x4b, 0x98, 0x1c, 0x7e, 0xec, 0xc8, 0x7c, 0xee, 0xfc, 0x5b, 0x8d, 0x9a, 0x1c, 0x92, + 0x04, 0xed, 0x0f, 0x09, 0xfc, 0xb5, 0x91, 0x6a, 0x37, 0xeb, 0x73, 0x95, 0x97, 0x10, 0x5c, 0x44, + 0xb2, 0x39, 0x05, 0x4d, 0x21, 0x25, 0x1d, 0xce, 0x96, 0xde, 0x1a, 0xf8, 0xb7, 0x82, 0xc1, 0x4b, + 0xef, 0x10, 0x3b, 0x4e, 0x7c, 0x99, 0x0c, 0xc9, 0x83, 0x55, 0x73, 0x77, 0x26, 0x52, 0xbb, 0xca, + 0xb8, 0xbe, 0xa4, 0x80, 0x23, 0xe5, 0xba, 0xf3, 0x6c, 0x40, 0xe2, 0x63, 0xb2, 0xbc, 0xe3, 0x69, + 0xb2, 0x98, 0xb5, 0x96, 0x6b, 0x08, 0xae, 0xa4, 0x13, 0x9e, 0x3c, 0x9a, 0xd1, 0xbe, 0x7c, 0x86, + 0xc1, 0xe5, 0x8f, 0xe3, 0x8d, 0x71, 0xee, 0x8f, 0x58, 0x36, 0x7d, 0xb6, 0xab, 0xa7, 0x12, 0xcb, + 0x51, 0x05, 0x23, 0xf1, 0xea, 0x4a, 0x1a, 0x89, 0x6b, 0x2b, 0xe1, 0x47, 0x3d, 0x82, 0x91, 0xda, + 0x59, 0xb3, 0x51, 0xb7, 0x49, 0xf4, 0x89, 0xba, 0xa3, 0x9f, 0x0f, 0xff, 0x50, 0x15, 0x69, 0x13, + 0xfa, 0x45, 0xc2, 0x4a, 0xe1, 0xa1, 0x1d, 0xc2, 0x0a, 0x8f, 0xe4, 0x49, 0x9d, 0x67, 0x9c, 0xc8, + 0xfa, 0x24, 0x34, 0x7f, 0xfa, 0x9b, 0xea, 0x83, 0xc0, 0xa4, 0x18, 0x2b, 0x20, 0x52, 0xab, 0x04, + 0x40, 0xec, 0x95, 0x93, 0x30, 0x36, 0x71, 0xed, 0xd9, 0xaa, 0xe1, 0xba, 0xa4, 0xd9, 0x76, 0xe7, + 0x2a, 0xb7, 0x7a, 0xe0, 0x66, 0x76, 0xb8, 0x68, 0x26, 0x17, 0x66, 0x8f, 0x25, 0xf9, 0xed, 0x48, + 0x7f, 0x24, 0x22, 0x0d, 0xf3, 0x3d, 0x78, 0x7d, 0x74, 0xc9, 0xa3, 0xfb, 0xb8, 0xa1, 0xac, 0x65, + 0x2f, 0xb8, 0x87, 0xdb, 0x9b, 0x0f, 0x2c, 0x16, 0x7e, 0xd6, 0x9d, 0x2f, 0x06, 0xba, 0x33, 0x5d, + 0xbc, 0x3f, 0xa4, 0xe5, 0xf0, 0xdb, 0x08, 0x16, 0x50, 0xea, 0xc4, 0x1f, 0xfa, 0x9a, 0xf8, 0x55, + 0xbc, 0x76, 0x82, 0x4c, 0x99, 0x8e, 0x4b, 0xec, 0x93, 0x4c, 0x61, 0xfc, 0xe8, 0xc0, 0x05, 0x02, + 0x27, 0x3d, 0x3a, 0xc4, 0x70, 0x9c, 0xf5, 0x4d, 0x94, 0xf4, 0x0d, 0x5a, 0xaf, 0x70, 0x9d, 0x9b, + 0x4e, 0x8f, 0xae, 0xdf, 0x45, 0x78, 0x35, 0x3b, 0x6a, 0x88, 0xf9, 0xfb, 0x24, 0x7a, 0xd5, 0x9d, + 0x12, 0x41, 0xe4, 0xa4, 0x72, 0x84, 0x4e, 0xf7, 0xb0, 0xba, 0x21, 0x3a, 0x9d, 0xe7, 0x39, 0xdd, + 0xbb, 0xed, 0x50, 0xb7, 0xc6, 0x64, 0x81, 0xc7, 0x48, 0x0c, 0x05, 0x67, 0xf0, 0x2a, 0x6f, 0x21, + 0xe1, 0x93, 0x38, 0xa0, 0x49, 0xa6, 0x4f, 0x7d, 0xb5, 0x25, 0x46, 0x8b, 0x97, 0x9c, 0x10, 0x23, + 0x01, 0x5e, 0x46, 0xf8, 0xae, 0xf0, 0x7b, 0xa1, 0xf1, 0x19, 0xd2, 0x72, 0x61, 0x5f, 0xe6, 0xf1, + 0x84, 0xe2, 0xc4, 0xd4, 0xc3, 0x79, 0xe1, 0x9c, 0xa6, 0xed, 0xd4, 0xa0, 0x01, 0xad, 0xbf, 0xb3, + 0x05, 0xf6, 0xc4, 0x4e, 0xf8, 0x9d, 0xd1, 0x0b, 0x9d, 0x87, 0x1b, 0xb4, 0xae, 0xa8, 0x5d, 0x7b, + 0x52, 0x4b, 0x2e, 0x64, 0x53, 0x29, 0x0f, 0x54, 0xf6, 0xd0, 0x9c, 0xdb, 0xe3, 0xa5, 0x6a, 0xc4, + 0x16, 0x6f, 0x37, 0x20, 0xb1, 0x85, 0x8a, 0xf2, 0xd9, 0x92, 0x04, 0xcd, 0xb0, 0xa5, 0xf3, 0x62, + 0xfa, 0xad, 0x3b, 0xe8, 0x7e, 0x3d, 0xa4, 0x22, 0xbe, 0x5f, 0x0f, 0x89, 0xd3, 0xf6, 0xeb, 0x21, + 0xa0, 0xf6, 0x97, 0x15, 0x74, 0xfa, 0x5b, 0x2b, 0xe0, 0x65, 0x25, 0xf4, 0xc2, 0x36, 0xd2, 0xa1, + 0x72, 0xaf, 0x5b, 0x05, 0x16, 0xaa, 0xdc, 0x2b, 0x53, 0xc6, 0x52, 0x94, 0xb8, 0xf6, 0x24, 0x2d, + 0x36, 0xf1, 0xd5, 0x25, 0x71, 0x39, 0x89, 0xef, 0x14, 0xde, 0x54, 0xe0, 0xba, 0x94, 0x1e, 0xd1, + 0x47, 0x73, 0xed, 0x08, 0xfe, 0xdf, 0xa9, 0x84, 0x0f, 0x7a, 0xd8, 0xc1, 0x28, 0x94, 0x86, 0x09, + 0x07, 0xa3, 0x90, 0x3c, 0x75, 0x3b, 0x1e, 0x43, 0x6a, 0x0b, 0x3d, 0x34, 0xa9, 0x2f, 0xf4, 0xc0, + 0x8f, 0x91, 0x34, 0xa9, 0x73, 0x87, 0x21, 0x6f, 0x0c, 0xf2, 0x05, 0x40, 0xce, 0x7e, 0xe5, 0x77, + 0x08, 0xde, 0x45, 0xa9, 0x59, 0x96, 0x2b, 0xc5, 0x3e, 0x72, 0x8e, 0xc1, 0x9f, 0xef, 0xa0, 0xdb, + 0xaf, 0x50, 0xa0, 0x92, 0xb7, 0x5f, 0xd1, 0x2e, 0x96, 0xba, 0xfd, 0x4a, 0x06, 0xf3, 0xb6, 0xfa, + 0x2f, 0xd6, 0xd8, 0x3e, 0x58, 0x01, 0xaf, 0x29, 0xa1, 0x6d, 0xd0, 0xed, 0xee, 0x16, 0xed, 0x6e, + 0xbf, 0x56, 0xe0, 0x57, 0xe9, 0x1c, 0xdd, 0x6e, 0x71, 0x45, 0x5a, 0xdc, 0x5b, 0x0a, 0x1e, 0x08, + 0x6d, 0x33, 0xc7, 0xa8, 0xca, 0x43, 0x9d, 0x6b, 0x82, 0x70, 0xaf, 0x64, 0xeb, 0x16, 0x05, 0x86, + 0x9f, 0x9f, 0x1f, 0x2c, 0x38, 0x8a, 0x57, 0xc2, 0x2f, 0xd8, 0x13, 0xc8, 0x37, 0x90, 0xfa, 0x68, + 0x64, 0x3f, 0x18, 0xbf, 0x4d, 0xa9, 0x9f, 0x0f, 0x5f, 0x66, 0xe4, 0xf4, 0x04, 0x7e, 0xe4, 0xf4, + 0x78, 0x5b, 0xdb, 0xba, 0x5a, 0xcd, 0x56, 0x48, 0x53, 0x27, 0x30, 0x9e, 0xe5, 0x48, 0xfe, 0x59, + 0x60, 0x5e, 0xc1, 0x6a, 0x99, 0xb8, 0x32, 0x2a, 0xef, 0xc9, 0x49, 0x4a, 0x60, 0x4b, 0xb4, 0xbf, + 0xc8, 0x10, 0x4e, 0xe2, 0x73, 0x94, 0xc3, 0x67, 0xfd, 0x57, 0xc3, 0x29, 0x14, 0xc6, 0x5f, 0x29, + 0x3f, 0xec, 0xdf, 0x14, 0xc8, 0x60, 0x4a, 0xf6, 0x72, 0xf9, 0x8a, 0x82, 0x07, 0xc6, 0x48, 0x83, + 0x2c, 0x3e, 0xa7, 0x98, 0x96, 0xa2, 0x39, 0x25, 0x46, 0x71, 0x3a, 0xbe, 0xc1, 0x72, 0xea, 0xb9, + 0x52, 0x57, 0x7c, 0x78, 0xc9, 0x73, 0xb8, 0xb4, 0x48, 0x4a, 0xbc, 0xdc, 0x78, 0x51, 0xc1, 0x7d, + 0xa1, 0x4a, 0x0b, 0xf0, 0x31, 0x2c, 0xf1, 0x4c, 0x56, 0x5d, 0x7a, 0x6e, 0x3c, 0xe7, 0x60, 0x81, + 0x71, 0x70, 0x01, 0xa9, 0x7a, 0xd4, 0x93, 0x8c, 0x82, 0xf2, 0xfc, 0x3f, 0xa9, 0x3e, 0xb6, 0x84, + 0xc5, 0xc3, 0x2f, 0xb0, 0xae, 0xf7, 0x0b, 0x25, 0xc0, 0xc4, 0x50, 0xa6, 0x67, 0x81, 0xe2, 0xd8, + 0x9b, 0x0f, 0xcc, 0x39, 0x20, 0x94, 0x82, 0x2a, 0xec, 0x48, 0x63, 0x40, 0x18, 0x59, 0xb9, 0xdf, + 0x7f, 0x77, 0x59, 0x28, 0xe6, 0x70, 0x0b, 0xe1, 0xbe, 0x50, 0xf6, 0x17, 0x8a, 0x73, 0x38, 0xe3, + 0xf5, 0xdc, 0x78, 0xee, 0xe3, 0x39, 0xea, 0x23, 0x29, 0xe5, 0xf2, 0xd1, 0x0b, 0xed, 0x68, 0xa9, + 0x3b, 0x37, 0xe9, 0xeb, 0x63, 0x05, 0xf7, 0xb3, 0x3c, 0x13, 0x47, 0xea, 0x80, 0xab, 0xd2, 0xb7, + 0x8e, 0xb2, 0x9c, 0x1e, 0xc9, 0x3f, 0x80, 0x3b, 0x7b, 0x83, 0x25, 0xf5, 0x6f, 0x91, 0x5a, 0x89, + 0x5d, 0x2f, 0xec, 0x62, 0x99, 0x08, 0xfd, 0x26, 0x14, 0x51, 0x92, 0x5c, 0xd5, 0x4a, 0x9b, 0x60, + 0x51, 0xcb, 0x86, 0x74, 0x56, 0xf8, 0x9a, 0x82, 0x37, 0x04, 0xee, 0xa5, 0x06, 0xb8, 0xdd, 0x9b, + 0x4d, 0x55, 0xa0, 0x4a, 0xf6, 0xe5, 0x44, 0x73, 0x56, 0x5f, 0x60, 0xac, 0x3e, 0x8f, 0xe0, 0x81, + 0x54, 0x56, 0x63, 0x4d, 0xce, 0x7f, 0xd1, 0x31, 0x57, 0x19, 0x87, 0xc3, 0x99, 0x8c, 0x49, 0x7a, + 0x65, 0x40, 0x0d, 0x5c, 0x56, 0x70, 0x3f, 0xcb, 0xf0, 0xee, 0x32, 0x2c, 0x5c, 0x4d, 0x23, 0xf9, + 0x07, 0xc4, 0x5e, 0x88, 0x76, 0xcf, 0x85, 0x97, 0x40, 0x9f, 0x2d, 0x2d, 0x05, 0x1d, 0x5e, 0x52, + 0x7c, 0x1f, 0xe1, 0x3e, 0xef, 0xdc, 0x78, 0x5c, 0x7c, 0x48, 0x91, 0xd6, 0x5d, 0x24, 0x40, 0x69, + 0x77, 0x91, 0xe2, 0x39, 0x1d, 0x3b, 0x28, 0x1b, 0x5b, 0x60, 0xb3, 0x70, 0xc6, 0xff, 0x9c, 0xc3, + 0xf7, 0x06, 0xde, 0xe7, 0x57, 0xe7, 0xfc, 0x9b, 0x6e, 0x26, 0x71, 0xe2, 0x4f, 0x4f, 0x03, 0x17, + 0xe1, 0x82, 0x47, 0xe6, 0xad, 0x19, 0xb8, 0xa4, 0xfc, 0xf4, 0xb6, 0xbc, 0x75, 0xf6, 0x85, 0x86, + 0xe9, 0x85, 0x43, 0x7c, 0x5b, 0x52, 0x75, 0x67, 0xdb, 0x24, 0x89, 0xd4, 0x60, 0x7e, 0x66, 0x0c, + 0x4e, 0xdd, 0xe9, 0xcc, 0x2b, 0x78, 0x4d, 0x99, 0x04, 0x3c, 0x9d, 0x8d, 0x5f, 0x5d, 0x0f, 0x08, + 0x03, 0x45, 0xb9, 0x29, 0x05, 0xa6, 0xfd, 0x94, 0xb9, 0xf8, 0x3a, 0x82, 0xa3, 0x79, 0x5d, 0xcc, + 0xbe, 0x5d, 0xf1, 0x45, 0x78, 0xa2, 0x88, 0xcb, 0x05, 0x2e, 0x5b, 0xbc, 0xaa, 0xe0, 0x75, 0xac, + 0x35, 0x07, 0x89, 0xd8, 0x9d, 0xe2, 0x61, 0xb8, 0xf3, 0xef, 0xc9, 0x81, 0xe4, 0x19, 0xf8, 0x33, + 0xc6, 0xcc, 0x4f, 0x90, 0xba, 0x74, 0xcc, 0x78, 0x05, 0xfa, 0xa4, 0xba, 0x4c, 0xe4, 0x78, 0x35, + 0xdb, 0xc0, 0xb8, 0x4c, 0xdc, 0x27, 0xd8, 0x29, 0x2c, 0xfe, 0x71, 0x90, 0x2f, 0x93, 0x7e, 0x1c, + 0x14, 0x84, 0x70, 0x26, 0xfa, 0x28, 0x11, 0xeb, 0x60, 0xad, 0xb0, 0x9b, 0x9f, 0xf2, 0xe0, 0xe7, + 0x0a, 0xdd, 0x5a, 0x8d, 0xf9, 0xdf, 0x2e, 0xf1, 0x80, 0x64, 0x5f, 0xa5, 0x8e, 0x99, 0x16, 0x53, + 0xa2, 0xbd, 0xc7, 0x02, 0xf0, 0x0e, 0x82, 0xce, 0x79, 0x2a, 0xf6, 0x95, 0x14, 0xa5, 0x8d, 0x1e, + 0x35, 0x0b, 0x46, 0x22, 0x7c, 0xd9, 0xba, 0x05, 0x8d, 0xd4, 0x29, 0x62, 0x91, 0x58, 0xdc, 0x7c, + 0xf0, 0x66, 0x0f, 0x6b, 0xad, 0x51, 0xa7, 0xcd, 0xa4, 0x15, 0x37, 0xc6, 0x4c, 0xb0, 0x87, 0xed, + 0xcc, 0x85, 0xd6, 0x7e, 0xcf, 0xde, 0xba, 0xbd, 0xad, 0xc0, 0xe3, 0xe9, 0x5c, 0x16, 0x2f, 0xf6, + 0xaf, 0xc0, 0x97, 0x0b, 0xa9, 0x2c, 0x7a, 0xb7, 0xb6, 0x0c, 0xe3, 0x4b, 0x62, 0x72, 0xe5, 0x34, + 0x4c, 0x2c, 0xbd, 0xa1, 0x70, 0x55, 0xa1, 0x57, 0xea, 0x3b, 0x0f, 0xdc, 0x8e, 0x13, 0xd7, 0x36, + 0x6b, 0x0e, 0xec, 0xcf, 0x73, 0xb3, 0x8d, 0x83, 0x45, 0x30, 0x0f, 0x14, 0x1a, 0xc3, 0xab, 0x33, + 0xe1, 0xe3, 0xba, 0x26, 0x83, 0x14, 0xbc, 0x13, 0x17, 0xf8, 0xb8, 0x2e, 0x41, 0x41, 0xc1, 0xb0, + 0x3d, 0xf2, 0x50, 0xe5, 0xc1, 0x29, 0xd3, 0x3d, 0x3b, 0x3d, 0x39, 0x5c, 0xb3, 0x9a, 0x3a, 0xf5, + 0xcb, 0x53, 0x41, 0xff, 0xd0, 0x3b, 0x1f, 0x3f, 0x4e, 0x91, 0x96, 0xde, 0x9e, 0xdc, 0x37, 0x65, + 0xe9, 0xd1, 0x8f, 0x68, 0x27, 0x3f, 0x46, 0xbf, 0x7f, 0x3c, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xfe, 0xfe, 0x7b, 0xca, 0x5f, 0x3b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.gw.go b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.gw.go index ea8c99459c..fcdbb30992 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.gw.go +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.gw.go @@ -119,11 +119,11 @@ func request_AdminService_GetTask_0(ctx context.Context, marshaler runtime.Marsh } var ( - filter_AdminService_ListTaskIds_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + filter_AdminService_GetTask_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4, "version": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7}} ) -func request_AdminService_ListTaskIds_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NamedEntityIdentifierListRequest +func request_AdminService_GetTask_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ObjectGetRequest var metadata runtime.ServerMetadata var ( @@ -133,46 +133,79 @@ func request_AdminService_ListTaskIds_0(ctx context.Context, marshaler runtime.M _ = err ) - val, ok = pathParams["project"] + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - val, ok = pathParams["domain"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - protoReq.Domain, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTaskIds_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetTask_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListTaskIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetTask(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListTasks_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_ListTaskIds_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) -func request_AdminService_ListTasks_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ResourceListRequest +func request_AdminService_ListTaskIds_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityIdentifierListRequest var metadata runtime.ServerMetadata var ( @@ -182,57 +215,46 @@ func request_AdminService_ListTasks_0(ctx context.Context, marshaler runtime.Mar _ = err ) - val, ok = pathParams["id.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) - } - - val, ok = pathParams["id.domain"] + val, ok = pathParams["project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + protoReq.Project, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) } - val, ok = pathParams["id.name"] + val, ok = pathParams["domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + protoReq.Domain, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTasks_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTaskIds_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListTasks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListTaskIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListTasks_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} + filter_AdminService_ListTaskIds_1 = &utilities.DoubleArray{Encoding: map[string]int{"org": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} ) -func request_AdminService_ListTasks_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ResourceListRequest +func request_AdminService_ListTaskIds_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityIdentifierListRequest var metadata runtime.ServerMetadata var ( @@ -242,63 +264,57 @@ func request_AdminService_ListTasks_1(ctx context.Context, marshaler runtime.Mar _ = err ) - val, ok = pathParams["id.project"] + val, ok = pathParams["org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + protoReq.Org, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) } - val, ok = pathParams["id.domain"] + val, ok = pathParams["project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + protoReq.Project, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTasks_1); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") } - msg, err := client.ListTasks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} + protoReq.Domain, err = runtime.String(val) -func request_AdminService_CreateWorkflow_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowCreateRequest - var metadata runtime.ServerMetadata + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTaskIds_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateWorkflow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListTaskIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetWorkflow_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3, "version": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} + filter_AdminService_ListTasks_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} ) -func request_AdminService_GetWorkflow_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ObjectGetRequest +func request_AdminService_ListTasks_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata var ( @@ -341,35 +357,24 @@ func request_AdminService_GetWorkflow_0(ctx context.Context, marshaler runtime.M return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } - val, ok = pathParams["id.version"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) - } - if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetWorkflow_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTasks_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetWorkflow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListTasks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListWorkflowIds_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + filter_AdminService_ListTasks_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} ) -func request_AdminService_ListWorkflowIds_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NamedEntityIdentifierListRequest +func request_AdminService_ListTasks_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata var ( @@ -379,45 +384,67 @@ func request_AdminService_ListWorkflowIds_0(ctx context.Context, marshaler runti _ = err ) - val, ok = pathParams["project"] + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - val, ok = pathParams["domain"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - protoReq.Domain, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflowIds_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTasks_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListWorkflowIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListTasks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListWorkflows_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_ListTasks_2 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} ) -func request_AdminService_ListWorkflows_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_AdminService_ListTasks_2(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata @@ -450,34 +477,23 @@ func request_AdminService_ListWorkflows_0(ctx context.Context, marshaler runtime return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["id.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) - } - if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflows_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTasks_2); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListWorkflows(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListTasks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListWorkflows_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} + filter_AdminService_ListTasks_3 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} ) -func request_AdminService_ListWorkflows_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_AdminService_ListTasks_3(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata @@ -488,6 +504,17 @@ func request_AdminService_ListWorkflows_1(ctx context.Context, marshaler runtime _ = err ) + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + val, ok = pathParams["id.project"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") @@ -513,17 +540,17 @@ func request_AdminService_ListWorkflows_1(ctx context.Context, marshaler runtime if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflows_1); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTasks_3); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListWorkflows(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListTasks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_CreateLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.LaunchPlanCreateRequest +func request_AdminService_CreateWorkflow_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowCreateRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -534,16 +561,16 @@ func request_AdminService_CreateLaunchPlan_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateWorkflow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetLaunchPlan_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3, "version": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} + filter_AdminService_GetWorkflow_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3, "version": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} ) -func request_AdminService_GetLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_AdminService_GetWorkflow_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq admin.ObjectGetRequest var metadata runtime.ServerMetadata @@ -601,21 +628,21 @@ func request_AdminService_GetLaunchPlan_0(ctx context.Context, marshaler runtime if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetLaunchPlan_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetWorkflow_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetWorkflow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetActiveLaunchPlan_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_GetWorkflow_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4, "version": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7}} ) -func request_AdminService_GetActiveLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ActiveLaunchPlanRequest +func request_AdminService_GetWorkflow_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ObjectGetRequest var metadata runtime.ServerMetadata var ( @@ -625,6 +652,17 @@ func request_AdminService_GetActiveLaunchPlan_0(ctx context.Context, marshaler r _ = err ) + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + val, ok = pathParams["id.project"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") @@ -658,24 +696,35 @@ func request_AdminService_GetActiveLaunchPlan_0(ctx context.Context, marshaler r return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetActiveLaunchPlan_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") } - msg, err := client.GetActiveLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetWorkflow_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetWorkflow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListActiveLaunchPlans_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + filter_AdminService_ListWorkflowIds_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) -func request_AdminService_ListActiveLaunchPlans_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ActiveLaunchPlanListRequest +func request_AdminService_ListWorkflowIds_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityIdentifierListRequest var metadata runtime.ServerMetadata var ( @@ -710,20 +759,20 @@ func request_AdminService_ListActiveLaunchPlans_0(ctx context.Context, marshaler if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListActiveLaunchPlans_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflowIds_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListActiveLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListWorkflowIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListLaunchPlanIds_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + filter_AdminService_ListWorkflowIds_1 = &utilities.DoubleArray{Encoding: map[string]int{"org": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} ) -func request_AdminService_ListLaunchPlanIds_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_AdminService_ListWorkflowIds_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq admin.NamedEntityIdentifierListRequest var metadata runtime.ServerMetadata @@ -734,6 +783,17 @@ func request_AdminService_ListLaunchPlanIds_0(ctx context.Context, marshaler run _ = err ) + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + val, ok = pathParams["project"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") @@ -759,20 +819,20 @@ func request_AdminService_ListLaunchPlanIds_0(ctx context.Context, marshaler run if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlanIds_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflowIds_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListLaunchPlanIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListWorkflowIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListLaunchPlans_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_ListWorkflows_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} ) -func request_AdminService_ListLaunchPlans_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_AdminService_ListWorkflows_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata @@ -819,20 +879,20 @@ func request_AdminService_ListLaunchPlans_0(ctx context.Context, marshaler runti if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlans_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflows_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListWorkflows(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListLaunchPlans_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} + filter_AdminService_ListWorkflows_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} ) -func request_AdminService_ListLaunchPlans_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_AdminService_ListWorkflows_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata @@ -843,6 +903,17 @@ func request_AdminService_ListLaunchPlans_1(ctx context.Context, marshaler runti _ = err ) + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + val, ok = pathParams["id.project"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") @@ -865,29 +936,36 @@ func request_AdminService_ListLaunchPlans_1(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlans_1); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflows_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListWorkflows(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_UpdateLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.LaunchPlanUpdateRequest - var metadata runtime.ServerMetadata +var ( + filter_AdminService_ListWorkflows_2 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_AdminService_ListWorkflows_2(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest + var metadata runtime.ServerMetadata var ( val string @@ -918,69 +996,80 @@ func request_AdminService_UpdateLaunchPlan_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["id.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflows_2); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + msg, err := client.ListWorkflows(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) - } +} - val, ok = pathParams["id.version"] +var ( + filter_AdminService_ListWorkflows_3 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} +) + +func request_AdminService_ListWorkflows_3(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - msg, err := client.UpdateLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } -func request_AdminService_CreateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ExecutionCreateRequest - var metadata runtime.ServerMetadata + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - msg, err := client.CreateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } -} + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) -func request_AdminService_RelaunchExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ExecutionRelaunchRequest - var metadata runtime.ServerMetadata + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListWorkflows_3); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.RelaunchExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListWorkflows(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_RecoverExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ExecutionRecoverRequest +func request_AdminService_CreateLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.LaunchPlanCreateRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -991,17 +1080,17 @@ func request_AdminService_RecoverExecution_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.RecoverExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_GetLaunchPlan_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3, "version": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} ) -func request_AdminService_GetExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowExecutionGetRequest +func request_AdminService_GetLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ObjectGetRequest var metadata runtime.ServerMetadata var ( @@ -1044,29 +1133,36 @@ func request_AdminService_GetExecution_0(ctx context.Context, marshaler runtime. return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecution_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetLaunchPlan_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_UpdateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ExecutionUpdateRequest - var metadata runtime.ServerMetadata +var ( + filter_AdminService_GetLaunchPlan_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4, "version": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_AdminService_GetLaunchPlan_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ObjectGetRequest + var metadata runtime.ServerMetadata var ( val string @@ -1075,6 +1171,17 @@ func request_AdminService_UpdateExecution_0(ctx context.Context, marshaler runti _ = err ) + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + val, ok = pathParams["id.project"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") @@ -1108,17 +1215,35 @@ func request_AdminService_UpdateExecution_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } - msg, err := client.UpdateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetLaunchPlan_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetExecutionData_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_GetActiveLaunchPlan_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} ) -func request_AdminService_GetExecutionData_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowExecutionGetDataRequest +func request_AdminService_GetActiveLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ActiveLaunchPlanRequest var metadata runtime.ServerMetadata var ( @@ -1164,21 +1289,21 @@ func request_AdminService_GetExecutionData_0(ctx context.Context, marshaler runt if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecutionData_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetActiveLaunchPlan_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetActiveLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} + filter_AdminService_GetActiveLaunchPlan_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} ) -func request_AdminService_ListExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ResourceListRequest +func request_AdminService_GetActiveLaunchPlan_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ActiveLaunchPlanRequest var metadata runtime.ServerMetadata var ( @@ -1188,6 +1313,17 @@ func request_AdminService_ListExecutions_0(ctx context.Context, marshaler runtim _ = err ) + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + val, ok = pathParams["id.project"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") @@ -1210,29 +1346,36 @@ func request_AdminService_ListExecutions_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListExecutions_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetActiveLaunchPlan_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetActiveLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_TerminateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ExecutionTerminateRequest - var metadata runtime.ServerMetadata +var ( + filter_AdminService_ListActiveLaunchPlans_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_AdminService_ListActiveLaunchPlans_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ActiveLaunchPlanListRequest + var metadata runtime.ServerMetadata var ( val string @@ -1241,50 +1384,46 @@ func request_AdminService_TerminateExecution_0(ctx context.Context, marshaler ru _ = err ) - val, ok = pathParams["id.project"] + val, ok = pathParams["project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + protoReq.Project, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) } - val, ok = pathParams["id.domain"] + val, ok = pathParams["domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + protoReq.Domain, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) } - val, ok = pathParams["id.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListActiveLaunchPlans_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.TerminateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListActiveLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetNodeExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "execution_id": 1, "project": 2, "domain": 3, "name": 4, "node_id": 5}, Base: []int{1, 6, 1, 1, 2, 2, 5, 0, 0, 4, 0, 6, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 4, 6, 7, 10, 2, 12}} + filter_AdminService_ListLaunchPlanIds_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) -func request_AdminService_GetNodeExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NodeExecutionGetRequest +func request_AdminService_ListLaunchPlanIds_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityIdentifierListRequest var metadata runtime.ServerMetadata var ( @@ -1294,68 +1433,46 @@ func request_AdminService_GetNodeExecution_0(ctx context.Context, marshaler runt _ = err ) - val, ok = pathParams["id.execution_id.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.project", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.project", err) - } - - val, ok = pathParams["id.execution_id.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.domain") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.domain", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.domain", err) - } - - val, ok = pathParams["id.execution_id.name"] + val, ok = pathParams["project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.name", val) + protoReq.Project, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) } - val, ok = pathParams["id.node_id"] + val, ok = pathParams["domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_id", val) + protoReq.Domain, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_id", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNodeExecution_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlanIds_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetNodeExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListLaunchPlanIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListNodeExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"workflow_execution_id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_ListLaunchPlanIds_1 = &utilities.DoubleArray{Encoding: map[string]int{"org": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} ) -func request_AdminService_ListNodeExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NodeExecutionListRequest +func request_AdminService_ListLaunchPlanIds_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityIdentifierListRequest var metadata runtime.ServerMetadata var ( @@ -1365,57 +1482,57 @@ func request_AdminService_ListNodeExecutions_0(ctx context.Context, marshaler ru _ = err ) - val, ok = pathParams["workflow_execution_id.project"] + val, ok = pathParams["org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") } - err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.project", val) + protoReq.Org, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) } - val, ok = pathParams["workflow_execution_id.domain"] + val, ok = pathParams["project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") } - err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.domain", val) + protoReq.Project, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) } - val, ok = pathParams["workflow_execution_id.name"] + val, ok = pathParams["domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.name", val) + protoReq.Domain, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNodeExecutions_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlanIds_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListNodeExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListLaunchPlanIds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListNodeExecutionsForTask_0 = &utilities.DoubleArray{Encoding: map[string]int{"task_execution_id": 0, "node_execution_id": 1, "execution_id": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6, "task_id": 7, "version": 8, "retry_attempt": 9}, Base: []int{1, 20, 1, 1, 1, 4, 3, 2, 7, 5, 3, 0, 0, 0, 9, 6, 0, 15, 9, 0, 17, 12, 0, 19, 15, 0, 19, 18, 0, 20, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 5, 8, 11, 2, 15, 16, 2, 18, 19, 2, 21, 22, 2, 24, 25, 2, 27, 28, 2, 30}} + filter_AdminService_ListLaunchPlans_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} ) -func request_AdminService_ListNodeExecutionsForTask_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NodeExecutionForTaskListRequest +func request_AdminService_ListLaunchPlans_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata var ( @@ -1425,123 +1542,128 @@ func request_AdminService_ListNodeExecutionsForTask_0(ctx context.Context, marsh _ = err ) - val, ok = pathParams["task_execution_id.node_execution_id.execution_id.project"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["task_execution_id.node_execution_id.execution_id.domain"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["task_execution_id.node_execution_id.execution_id.name"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } - val, ok = pathParams["task_execution_id.node_execution_id.node_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.node_id") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlans_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.node_id", val) + msg, err := client.ListLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.node_id", err) - } +} - val, ok = pathParams["task_execution_id.task_id.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.project") - } +var ( + filter_AdminService_ListLaunchPlans_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} +) - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.project", val) +func request_AdminService_ListLaunchPlans_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest + var metadata runtime.ServerMetadata - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.project", err) - } + var ( + val string + ok bool + err error + _ = err + ) - val, ok = pathParams["task_execution_id.task_id.domain"] + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - val, ok = pathParams["task_execution_id.task_id.name"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["task_execution_id.task_id.version"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.version") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.version", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.version", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["task_execution_id.retry_attempt"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.retry_attempt") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.retry_attempt", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.retry_attempt", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNodeExecutionsForTask_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlans_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListNodeExecutionsForTask(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetNodeExecutionData_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "execution_id": 1, "project": 2, "domain": 3, "name": 4, "node_id": 5}, Base: []int{1, 6, 1, 1, 2, 2, 5, 0, 0, 4, 0, 6, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 4, 6, 7, 10, 2, 12}} + filter_AdminService_ListLaunchPlans_2 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} ) -func request_AdminService_GetNodeExecutionData_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NodeExecutionGetDataRequest +func request_AdminService_ListLaunchPlans_2(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest var metadata runtime.ServerMetadata var ( @@ -1551,81 +1673,102 @@ func request_AdminService_GetNodeExecutionData_0(ctx context.Context, marshaler _ = err ) - val, ok = pathParams["id.execution_id.project"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["id.execution_id.domain"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["id.execution_id.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.name") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.name", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlans_2); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - val, ok = pathParams["id.node_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_id") - } + msg, err := client.ListLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_id", val) +} + +var ( + filter_AdminService_ListLaunchPlans_3 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} +) + +func request_AdminService_ListLaunchPlans_3(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_id", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNodeExecutionData_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - msg, err := client.GetNodeExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } -} + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) -func request_AdminService_RegisterProject_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectRegisterRequest - var metadata runtime.ServerMetadata + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListLaunchPlans_3); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.RegisterProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListLaunchPlans(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_UpdateProject_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.Project +func request_AdminService_UpdateLaunchPlan_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.LaunchPlanUpdateRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -1643,44 +1786,139 @@ func request_AdminService_UpdateProject_0(ctx context.Context, marshaler runtime _ = err ) - val, ok = pathParams["id"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - protoReq.Id, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - msg, err := client.UpdateProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + } + + msg, err := client.UpdateLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListProjects_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_AdminService_UpdateLaunchPlan_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4, "version": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7}} ) -func request_AdminService_ListProjects_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectListRequest +func request_AdminService_UpdateLaunchPlan_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.LaunchPlanUpdateRequest var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + } + if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListProjects_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_UpdateLaunchPlan_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListProjects(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.UpdateLaunchPlan(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_CreateWorkflowEvent_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowExecutionEventRequest +func request_AdminService_CreateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ExecutionCreateRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -1691,13 +1929,13 @@ func request_AdminService_CreateWorkflowEvent_0(ctx context.Context, marshaler r return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateWorkflowEvent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_CreateNodeEvent_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NodeExecutionEventRequest +func request_AdminService_RelaunchExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ExecutionRelaunchRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -1708,13 +1946,13 @@ func request_AdminService_CreateNodeEvent_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateNodeEvent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.RelaunchExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_CreateTaskEvent_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.TaskExecutionEventRequest +func request_AdminService_RecoverExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ExecutionRecoverRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -1725,17 +1963,17 @@ func request_AdminService_CreateTaskEvent_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateTaskEvent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.RecoverExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetTaskExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "node_execution_id": 1, "execution_id": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6, "task_id": 7, "version": 8, "retry_attempt": 9}, Base: []int{1, 20, 1, 1, 1, 4, 3, 2, 7, 5, 3, 0, 0, 0, 9, 6, 0, 15, 9, 0, 17, 12, 0, 19, 15, 0, 19, 18, 0, 20, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 5, 8, 11, 2, 15, 16, 2, 18, 19, 2, 21, 22, 2, 24, 25, 2, 27, 28, 2, 30}} + filter_AdminService_GetExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} ) -func request_AdminService_GetTaskExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.TaskExecutionGetRequest +func request_AdminService_GetExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowExecutionGetRequest var metadata runtime.ServerMetadata var ( @@ -1745,125 +1983,134 @@ func request_AdminService_GetTaskExecution_0(ctx context.Context, marshaler runt _ = err ) - val, ok = pathParams["id.node_execution_id.execution_id.project"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["id.node_execution_id.execution_id.domain"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["id.node_execution_id.execution_id.name"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } - val, ok = pathParams["id.node_execution_id.node_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.node_id") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.node_id", val) + msg, err := client.GetExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.node_id", err) - } +} - val, ok = pathParams["id.task_id.project"] +var ( + filter_AdminService_GetExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} +) + +func request_AdminService_GetExecution_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowExecutionGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - val, ok = pathParams["id.task_id.domain"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["id.task_id.name"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.name", val) - - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.name", err) - } - - val, ok = pathParams["id.task_id.version"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.version") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.version", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.version", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["id.retry_attempt"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.retry_attempt") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.retry_attempt", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.retry_attempt", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetTaskExecution_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecution_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetTaskExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -var ( - filter_AdminService_ListTaskExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"node_execution_id": 0, "execution_id": 1, "project": 2, "domain": 3, "name": 4, "node_id": 5}, Base: []int{1, 6, 1, 1, 2, 2, 5, 0, 0, 4, 0, 6, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 4, 6, 7, 10, 2, 12}} -) - -func request_AdminService_ListTaskExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.TaskExecutionListRequest +func request_AdminService_UpdateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ExecutionUpdateRequest var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + var ( val string ok bool @@ -1871,70 +2118,56 @@ func request_AdminService_ListTaskExecutions_0(ctx context.Context, marshaler ru _ = err ) - val, ok = pathParams["node_execution_id.execution_id.project"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["node_execution_id.execution_id.domain"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["node_execution_id.execution_id.name"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } - val, ok = pathParams["node_execution_id.node_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.node_id") - } + msg, err := client.UpdateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err - err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.node_id", val) +} - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.node_id", err) - } +func request_AdminService_UpdateExecution_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ExecutionUpdateRequest + var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTaskExecutions_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListTaskExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_AdminService_GetTaskExecutionData_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "node_execution_id": 1, "execution_id": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6, "task_id": 7, "version": 8, "retry_attempt": 9}, Base: []int{1, 20, 1, 1, 1, 4, 3, 2, 7, 5, 3, 0, 0, 0, 9, 6, 0, 15, 9, 0, 17, 12, 0, 19, 15, 0, 19, 18, 0, 20, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 5, 8, 11, 2, 15, 16, 2, 18, 19, 2, 21, 22, 2, 24, 25, 2, 27, 28, 2, 30}} -) - -func request_AdminService_GetTaskExecutionData_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.TaskExecutionGetDataRequest - var metadata runtime.ServerMetadata - var ( val string ok bool @@ -1942,128 +2175,122 @@ func request_AdminService_GetTaskExecutionData_0(ctx context.Context, marshaler _ = err ) - val, ok = pathParams["id.node_execution_id.execution_id.project"] + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - val, ok = pathParams["id.node_execution_id.execution_id.domain"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["id.node_execution_id.execution_id.name"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["id.node_execution_id.node_id"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.node_id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.node_id", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.node_id", err) - } - - val, ok = pathParams["id.task_id.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.project", val) + msg, err := client.UpdateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.project", err) - } +} - val, ok = pathParams["id.task_id.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.domain") - } +var ( + filter_AdminService_GetExecutionData_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} +) - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.domain", val) +func request_AdminService_GetExecutionData_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowExecutionGetDataRequest + var metadata runtime.ServerMetadata - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.domain", err) - } + var ( + val string + ok bool + err error + _ = err + ) - val, ok = pathParams["id.task_id.name"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["id.task_id.version"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.version") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.version", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.version", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["id.retry_attempt"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.retry_attempt") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.retry_attempt", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.retry_attempt", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetTaskExecutionData_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecutionData_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetTaskExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_UpdateProjectDomainAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectDomainAttributesUpdateRequest - var metadata runtime.ServerMetadata +var ( + filter_AdminService_GetExecutionData_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_AdminService_GetExecutionData_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowExecutionGetDataRequest + var metadata runtime.ServerMetadata var ( val string @@ -2072,93 +2299,69 @@ func request_AdminService_UpdateProjectDomainAttributes_0(ctx context.Context, m _ = err ) - val, ok = pathParams["attributes.project"] + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - val, ok = pathParams["attributes.domain"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "attributes.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - msg, err := client.UpdateProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_AdminService_GetProjectDomainAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_AdminService_GetProjectDomainAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectDomainAttributesGetRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["project"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - val, ok = pathParams["domain"] + val, ok = pathParams["id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") } - protoReq.Domain, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetProjectDomainAttributes_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecutionData_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_DeleteProjectDomainAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectDomainAttributesDeleteRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +var ( + filter_AdminService_ListExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} +) + +func request_AdminService_ListExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest + var metadata runtime.ServerMetadata var ( val string @@ -2167,44 +2370,47 @@ func request_AdminService_DeleteProjectDomainAttributes_0(ctx context.Context, m _ = err ) - val, ok = pathParams["project"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["domain"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - protoReq.Domain, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - msg, err := client.DeleteProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_UpdateProjectAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectAttributesUpdateRequest - var metadata runtime.ServerMetadata +var ( + filter_AdminService_ListExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_AdminService_ListExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ResourceListRequest + var metadata runtime.ServerMetadata var ( val string @@ -2213,62 +2419,53 @@ func request_AdminService_UpdateProjectAttributes_0(ctx context.Context, marshal _ = err ) - val, ok = pathParams["attributes.project"] + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - msg, err := client.UpdateProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_AdminService_GetProjectAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } -func request_AdminService_GetProjectAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectAttributesGetRequest - var metadata runtime.ServerMetadata + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) - var ( - val string - ok bool - err error - _ = err - ) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } - val, ok = pathParams["project"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetProjectAttributes_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListExecutions_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_DeleteProjectAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ProjectAttributesDeleteRequest +func request_AdminService_TerminateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ExecutionTerminateRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -2286,24 +2483,46 @@ func request_AdminService_DeleteProjectAttributes_0(ctx context.Context, marshal _ = err ) - val, ok = pathParams["project"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - msg, err := client.DeleteProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + msg, err := client.TerminateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_UpdateWorkflowAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowAttributesUpdateRequest +func request_AdminService_TerminateExecution_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ExecutionTerminateRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -2321,50 +2540,61 @@ func request_AdminService_UpdateWorkflowAttributes_0(ctx context.Context, marsha _ = err ) - val, ok = pathParams["attributes.project"] + val, ok = pathParams["id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") } - err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) } - val, ok = pathParams["attributes.domain"] + val, ok = pathParams["id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "attributes.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) } - val, ok = pathParams["attributes.workflow"] + val, ok = pathParams["id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.workflow") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "attributes.workflow", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.workflow", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) } - msg, err := client.UpdateWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + msg, err := client.TerminateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetWorkflowAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1, "workflow": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} + filter_AdminService_GetNodeExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "execution_id": 1, "project": 2, "domain": 3, "name": 4, "node_id": 5}, Base: []int{1, 6, 1, 1, 2, 2, 5, 0, 0, 4, 0, 6, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 4, 6, 7, 10, 2, 12}} ) -func request_AdminService_GetWorkflowAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowAttributesGetRequest +func request_AdminService_GetNodeExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionGetRequest var metadata runtime.ServerMetadata var ( @@ -2374,62 +2604,69 @@ func request_AdminService_GetWorkflowAttributes_0(ctx context.Context, marshaler _ = err ) - val, ok = pathParams["project"] + val, ok = pathParams["id.execution_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.project") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.project", err) } - val, ok = pathParams["domain"] + val, ok = pathParams["id.execution_id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.domain") } - protoReq.Domain, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.domain", err) } - val, ok = pathParams["workflow"] + val, ok = pathParams["id.execution_id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.name") } - protoReq.Workflow, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.name", err) + } + + val, ok = pathParams["id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_id", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetWorkflowAttributes_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNodeExecution_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetNodeExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_DeleteWorkflowAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowAttributesDeleteRequest - var metadata runtime.ServerMetadata +var ( + filter_AdminService_GetNodeExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "execution_id": 1, "org": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6}, Base: []int{1, 8, 1, 1, 2, 2, 3, 3, 0, 0, 0, 7, 6, 0, 8, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 7, 4, 6, 8, 2, 12, 13, 2, 15}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_AdminService_GetNodeExecution_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionGetRequest + var metadata runtime.ServerMetadata var ( val string @@ -2438,602 +2675,4398 @@ func request_AdminService_DeleteWorkflowAttributes_0(ctx context.Context, marsha _ = err ) - val, ok = pathParams["project"] + val, ok = pathParams["id.execution_id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.org") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.org", err) } - val, ok = pathParams["domain"] + val, ok = pathParams["id.execution_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.project") } - protoReq.Domain, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.project", err) } - val, ok = pathParams["workflow"] + val, ok = pathParams["id.execution_id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.domain") } - protoReq.Workflow, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.domain", err) } - msg, err := client.DeleteWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} + val, ok = pathParams["id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.name") + } -var ( - filter_AdminService_ListMatchableAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.name", val) -func request_AdminService_ListMatchableAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ListMatchableAttributesRequest - var metadata runtime.ServerMetadata + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.name", err) + } + + val, ok = pathParams["id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_id", err) + } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListMatchableAttributes_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNodeExecution_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListMatchableAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetNodeExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListNamedEntities_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} + filter_AdminService_ListNodeExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"workflow_execution_id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} ) -func request_AdminService_ListNamedEntities_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NamedEntityListRequest +func request_AdminService_ListNodeExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionListRequest var metadata runtime.ServerMetadata var ( val string - e int32 ok bool err error _ = err ) - val, ok = pathParams["resource_type"] + val, ok = pathParams["workflow_execution_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.project") } - e, err = runtime.Enum(val, core.ResourceType_value) + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.project", err) } - protoReq.ResourceType = core.ResourceType(e) - - val, ok = pathParams["project"] + val, ok = pathParams["workflow_execution_id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.domain") } - protoReq.Project, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.domain", err) } - val, ok = pathParams["domain"] + val, ok = pathParams["workflow_execution_id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.name") } - protoReq.Domain, err = runtime.String(val) + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.name", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNamedEntities_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNodeExecutions_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListNamedEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListNodeExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetNamedEntity_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 3, 2, 4, 5, 6}} + filter_AdminService_ListNodeExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"workflow_execution_id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} ) -func request_AdminService_GetNamedEntity_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NamedEntityGetRequest +func request_AdminService_ListNodeExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionListRequest var metadata runtime.ServerMetadata var ( val string - e int32 ok bool err error _ = err ) - val, ok = pathParams["resource_type"] + val, ok = pathParams["workflow_execution_id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.org") } - e, err = runtime.Enum(val, core.ResourceType_value) + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.org", err) } - protoReq.ResourceType = core.ResourceType(e) - - val, ok = pathParams["id.project"] + val, ok = pathParams["workflow_execution_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.project", err) } - val, ok = pathParams["id.domain"] + val, ok = pathParams["workflow_execution_id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.domain", err) } - val, ok = pathParams["id.name"] + val, ok = pathParams["workflow_execution_id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution_id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution_id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution_id.name", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNamedEntity_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNodeExecutions_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetNamedEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListNodeExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_AdminService_UpdateNamedEntity_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.NamedEntityUpdateRequest - var metadata runtime.ServerMetadata +var ( + filter_AdminService_ListNodeExecutionsForTask_0 = &utilities.DoubleArray{Encoding: map[string]int{"task_execution_id": 0, "node_execution_id": 1, "execution_id": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6, "task_id": 7, "version": 8, "retry_attempt": 9}, Base: []int{1, 20, 1, 1, 1, 4, 3, 2, 7, 5, 3, 0, 0, 0, 9, 6, 0, 15, 9, 0, 17, 12, 0, 19, 15, 0, 19, 18, 0, 20, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 5, 8, 11, 2, 15, 16, 2, 18, 19, 2, 21, 22, 2, 24, 25, 2, 27, 28, 2, 30}} +) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } +func request_AdminService_ListNodeExecutionsForTask_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionForTaskListRequest + var metadata runtime.ServerMetadata var ( val string - e int32 ok bool err error _ = err ) - val, ok = pathParams["resource_type"] + val, ok = pathParams["task_execution_id.node_execution_id.execution_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.project") } - e, err = runtime.Enum(val, core.ResourceType_value) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.project", err) } - protoReq.ResourceType = core.ResourceType(e) - - val, ok = pathParams["id.project"] + val, ok = pathParams["task_execution_id.node_execution_id.execution_id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.domain", err) } - val, ok = pathParams["id.domain"] + val, ok = pathParams["task_execution_id.node_execution_id.execution_id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.name", err) } - val, ok = pathParams["id.name"] + val, ok = pathParams["task_execution_id.node_execution_id.node_id"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.node_id") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.node_id", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.node_id", err) } - msg, err := client.UpdateNamedEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func request_AdminService_GetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.GetVersionRequest - var metadata runtime.ServerMetadata - - msg, err := client.GetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -var ( - filter_AdminService_GetDescriptionEntity_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "resource_type": 1, "project": 2, "domain": 3, "name": 4, "version": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7}} -) - -func request_AdminService_GetDescriptionEntity_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.ObjectGetRequest - var metadata runtime.ServerMetadata - - var ( - val string - e int32 - ok bool - err error - _ = err - ) - - val, ok = pathParams["id.resource_type"] + val, ok = pathParams["task_execution_id.task_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.resource_type") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.resource_type", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.resource_type", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.project", err) } - protoReq.Id.ResourceType = core.ResourceType(e) - - val, ok = pathParams["id.project"] + val, ok = pathParams["task_execution_id.task_id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.domain", err) } - val, ok = pathParams["id.domain"] + val, ok = pathParams["task_execution_id.task_id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.name", err) } - val, ok = pathParams["id.name"] + val, ok = pathParams["task_execution_id.task_id.version"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.version") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.version", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.version", err) } - val, ok = pathParams["id.version"] + val, ok = pathParams["task_execution_id.retry_attempt"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.retry_attempt") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.retry_attempt", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.retry_attempt", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetDescriptionEntity_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNodeExecutionsForTask_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetDescriptionEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListNodeExecutionsForTask(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListDescriptionEntities_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 3, 2, 4, 5, 6}} + filter_AdminService_ListNodeExecutionsForTask_1 = &utilities.DoubleArray{Encoding: map[string]int{"task_execution_id": 0, "node_execution_id": 1, "execution_id": 2, "org": 3, "project": 4, "domain": 5, "name": 6, "node_id": 7, "task_id": 8, "version": 9, "retry_attempt": 10}, Base: []int{1, 23, 1, 1, 1, 4, 3, 2, 7, 5, 3, 13, 0, 0, 0, 10, 6, 0, 12, 9, 0, 18, 12, 0, 20, 15, 0, 22, 18, 0, 22, 21, 0, 23, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 2, 5, 8, 11, 12, 16, 17, 2, 19, 20, 2, 22, 23, 2, 25, 26, 2, 28, 29, 2, 31, 32, 2, 34}} ) -func request_AdminService_ListDescriptionEntities_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.DescriptionEntityListRequest +func request_AdminService_ListNodeExecutionsForTask_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionForTaskListRequest var metadata runtime.ServerMetadata var ( val string - e int32 ok bool err error _ = err ) - val, ok = pathParams["resource_type"] + val, ok = pathParams["task_execution_id.node_execution_id.execution_id.org"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.org") } - e, err = runtime.Enum(val, core.ResourceType_value) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.org", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.org", err) } - protoReq.ResourceType = core.ResourceType(e) - - val, ok = pathParams["id.project"] + val, ok = pathParams["task_execution_id.node_execution_id.execution_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.project") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.project", err) } - val, ok = pathParams["id.domain"] + val, ok = pathParams["task_execution_id.node_execution_id.execution_id.domain"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.domain") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.domain", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.domain", err) } - val, ok = pathParams["id.name"] + val, ok = pathParams["task_execution_id.node_execution_id.execution_id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.execution_id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.execution_id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.execution_id.name", err) + } + + val, ok = pathParams["task_execution_id.node_execution_id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.node_execution_id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.node_execution_id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.node_execution_id.node_id", err) + } + + val, ok = pathParams["task_execution_id.task_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.project", err) + } + + val, ok = pathParams["task_execution_id.task_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.domain", err) + } + + val, ok = pathParams["task_execution_id.task_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.name", err) + } + + val, ok = pathParams["task_execution_id.task_id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.task_id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.task_id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.task_id.version", err) + } + + val, ok = pathParams["task_execution_id.retry_attempt"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_execution_id.retry_attempt") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "task_execution_id.retry_attempt", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_execution_id.retry_attempt", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListDescriptionEntities_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNodeExecutionsForTask_1); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListDescriptionEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ListNodeExecutionsForTask(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_ListDescriptionEntities_1 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "project": 2, "domain": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + filter_AdminService_GetNodeExecutionData_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "execution_id": 1, "project": 2, "domain": 3, "name": 4, "node_id": 5}, Base: []int{1, 6, 1, 1, 2, 2, 5, 0, 0, 4, 0, 6, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 4, 6, 7, 10, 2, 12}} ) -func request_AdminService_ListDescriptionEntities_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.DescriptionEntityListRequest +func request_AdminService_GetNodeExecutionData_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionGetDataRequest var metadata runtime.ServerMetadata var ( val string - e int32 ok bool err error _ = err ) - val, ok = pathParams["resource_type"] + val, ok = pathParams["id.execution_id.project"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.project") } - e, err = runtime.Enum(val, core.ResourceType_value) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.project", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.project", err) } - protoReq.ResourceType = core.ResourceType(e) + val, ok = pathParams["id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.domain") + } - val, ok = pathParams["id.project"] + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.domain", err) + } + + val, ok = pathParams["id.execution_id.name"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.name") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.name", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.name", err) } - val, ok = pathParams["id.domain"] + val, ok = pathParams["id.node_id"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_id") } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_id", val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_id", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListDescriptionEntities_1); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNodeExecutionData_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ListDescriptionEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetNodeExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } var ( - filter_AdminService_GetExecutionMetrics_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} + filter_AdminService_GetNodeExecutionData_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "execution_id": 1, "org": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6}, Base: []int{1, 8, 1, 1, 2, 2, 3, 3, 0, 0, 0, 7, 6, 0, 8, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 7, 4, 6, 8, 2, 12, 13, 2, 15}} ) -func request_AdminService_GetExecutionMetrics_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq admin.WorkflowExecutionGetMetricsRequest - var metadata runtime.ServerMetadata +func request_AdminService_GetNodeExecutionData_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionGetDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.execution_id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.org", err) + } + + val, ok = pathParams["id.execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.project", err) + } + + val, ok = pathParams["id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.domain", err) + } + + val, ok = pathParams["id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.execution_id.name", err) + } + + val, ok = pathParams["id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNodeExecutionData_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetNodeExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_RegisterProject_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectRegisterRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.RegisterProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateProject_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.Project + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.UpdateProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateProject_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.Project + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.UpdateProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListProjects_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_AdminService_ListProjects_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectListRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListProjects_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjects(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_CreateWorkflowEvent_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowExecutionEventRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateWorkflowEvent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_CreateNodeEvent_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NodeExecutionEventRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateNodeEvent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_CreateTaskEvent_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.TaskExecutionEventRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateTaskEvent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetTaskExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "node_execution_id": 1, "execution_id": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6, "task_id": 7, "version": 8, "retry_attempt": 9}, Base: []int{1, 20, 1, 1, 1, 4, 3, 2, 7, 5, 3, 0, 0, 0, 9, 6, 0, 15, 9, 0, 17, 12, 0, 19, 15, 0, 19, 18, 0, 20, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 5, 8, 11, 2, 15, 16, 2, 18, 19, 2, 21, 22, 2, 24, 25, 2, 27, 28, 2, 30}} +) + +func request_AdminService_GetTaskExecution_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.TaskExecutionGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.node_execution_id.execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.project", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.domain", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.name", err) + } + + val, ok = pathParams["id.node_execution_id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.node_id", err) + } + + val, ok = pathParams["id.task_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.project", err) + } + + val, ok = pathParams["id.task_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.domain", err) + } + + val, ok = pathParams["id.task_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.name", err) + } + + val, ok = pathParams["id.task_id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.version", err) + } + + val, ok = pathParams["id.retry_attempt"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.retry_attempt") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.retry_attempt", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.retry_attempt", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetTaskExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetTaskExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetTaskExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "node_execution_id": 1, "execution_id": 2, "org": 3, "project": 4, "domain": 5, "name": 6, "node_id": 7, "task_id": 8, "version": 9, "retry_attempt": 10}, Base: []int{1, 23, 1, 1, 1, 4, 3, 2, 7, 5, 3, 13, 0, 0, 0, 10, 6, 0, 12, 9, 0, 18, 12, 0, 20, 15, 0, 22, 18, 0, 22, 21, 0, 23, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 2, 5, 8, 11, 12, 16, 17, 2, 19, 20, 2, 22, 23, 2, 25, 26, 2, 28, 29, 2, 31, 32, 2, 34}} +) + +func request_AdminService_GetTaskExecution_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.TaskExecutionGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.node_execution_id.execution_id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.org", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.project", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.domain", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.name", err) + } + + val, ok = pathParams["id.node_execution_id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.node_id", err) + } + + val, ok = pathParams["id.task_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.project", err) + } + + val, ok = pathParams["id.task_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.domain", err) + } + + val, ok = pathParams["id.task_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.name", err) + } + + val, ok = pathParams["id.task_id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.version", err) + } + + val, ok = pathParams["id.retry_attempt"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.retry_attempt") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.retry_attempt", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.retry_attempt", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetTaskExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetTaskExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListTaskExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"node_execution_id": 0, "execution_id": 1, "project": 2, "domain": 3, "name": 4, "node_id": 5}, Base: []int{1, 6, 1, 1, 2, 2, 5, 0, 0, 4, 0, 6, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 4, 6, 7, 10, 2, 12}} +) + +func request_AdminService_ListTaskExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.TaskExecutionListRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["node_execution_id.execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.project", err) + } + + val, ok = pathParams["node_execution_id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.domain", err) + } + + val, ok = pathParams["node_execution_id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.name", err) + } + + val, ok = pathParams["node_execution_id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.node_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTaskExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListTaskExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListTaskExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"node_execution_id": 0, "execution_id": 1, "org": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6}, Base: []int{1, 8, 1, 1, 2, 2, 3, 3, 0, 0, 0, 7, 6, 0, 8, 0}, Check: []int{0, 1, 2, 3, 2, 5, 2, 7, 4, 6, 8, 2, 12, 13, 2, 15}} +) + +func request_AdminService_ListTaskExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.TaskExecutionListRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["node_execution_id.execution_id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.org", err) + } + + val, ok = pathParams["node_execution_id.execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.project", err) + } + + val, ok = pathParams["node_execution_id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.domain", err) + } + + val, ok = pathParams["node_execution_id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.execution_id.name", err) + } + + val, ok = pathParams["node_execution_id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "node_execution_id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "node_execution_id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "node_execution_id.node_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListTaskExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListTaskExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetTaskExecutionData_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "node_execution_id": 1, "execution_id": 2, "project": 3, "domain": 4, "name": 5, "node_id": 6, "task_id": 7, "version": 8, "retry_attempt": 9}, Base: []int{1, 20, 1, 1, 1, 4, 3, 2, 7, 5, 3, 0, 0, 0, 9, 6, 0, 15, 9, 0, 17, 12, 0, 19, 15, 0, 19, 18, 0, 20, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 5, 8, 11, 2, 15, 16, 2, 18, 19, 2, 21, 22, 2, 24, 25, 2, 27, 28, 2, 30}} +) + +func request_AdminService_GetTaskExecutionData_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.TaskExecutionGetDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.node_execution_id.execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.project", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.domain", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.name", err) + } + + val, ok = pathParams["id.node_execution_id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.node_id", err) + } + + val, ok = pathParams["id.task_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.project", err) + } + + val, ok = pathParams["id.task_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.domain", err) + } + + val, ok = pathParams["id.task_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.name", err) + } + + val, ok = pathParams["id.task_id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.version", err) + } + + val, ok = pathParams["id.retry_attempt"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.retry_attempt") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.retry_attempt", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.retry_attempt", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetTaskExecutionData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetTaskExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetTaskExecutionData_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "node_execution_id": 1, "execution_id": 2, "org": 3, "project": 4, "domain": 5, "name": 6, "node_id": 7, "task_id": 8, "version": 9, "retry_attempt": 10}, Base: []int{1, 23, 1, 1, 1, 4, 3, 2, 7, 5, 3, 13, 0, 0, 0, 10, 6, 0, 12, 9, 0, 18, 12, 0, 20, 15, 0, 22, 18, 0, 22, 21, 0, 23, 0}, Check: []int{0, 1, 2, 3, 4, 2, 6, 7, 2, 9, 10, 2, 5, 8, 11, 12, 16, 17, 2, 19, 20, 2, 22, 23, 2, 25, 26, 2, 28, 29, 2, 31, 32, 2, 34}} +) + +func request_AdminService_GetTaskExecutionData_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.TaskExecutionGetDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.node_execution_id.execution_id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.org", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.project", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.domain", err) + } + + val, ok = pathParams["id.node_execution_id.execution_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.execution_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.execution_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.execution_id.name", err) + } + + val, ok = pathParams["id.node_execution_id.node_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.node_execution_id.node_id") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.node_execution_id.node_id", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.node_execution_id.node_id", err) + } + + val, ok = pathParams["id.task_id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.project", err) + } + + val, ok = pathParams["id.task_id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.domain", err) + } + + val, ok = pathParams["id.task_id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.name", err) + } + + val, ok = pathParams["id.task_id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.task_id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.task_id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.task_id.version", err) + } + + val, ok = pathParams["id.retry_attempt"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.retry_attempt") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.retry_attempt", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.retry_attempt", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetTaskExecutionData_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetTaskExecutionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateProjectDomainAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectDomainAttributesUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["attributes.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + } + + val, ok = pathParams["attributes.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.domain", err) + } + + msg, err := client.UpdateProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateProjectDomainAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectDomainAttributesUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["attributes.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.org", err) + } + + val, ok = pathParams["attributes.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + } + + val, ok = pathParams["attributes.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.domain", err) + } + + msg, err := client.UpdateProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetProjectDomainAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_AdminService_GetProjectDomainAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectDomainAttributesGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetProjectDomainAttributes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetProjectDomainAttributes_1 = &utilities.DoubleArray{Encoding: map[string]int{"org": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} +) + +func request_AdminService_GetProjectDomainAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectDomainAttributesGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetProjectDomainAttributes_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_DeleteProjectDomainAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectDomainAttributesDeleteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + msg, err := client.DeleteProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_DeleteProjectDomainAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectDomainAttributesDeleteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + msg, err := client.DeleteProjectDomainAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateProjectAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectAttributesUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["attributes.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + } + + msg, err := client.UpdateProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateProjectAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectAttributesUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["attributes.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.org", err) + } + + val, ok = pathParams["attributes.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + } + + msg, err := client.UpdateProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetProjectAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_AdminService_GetProjectAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectAttributesGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetProjectAttributes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetProjectAttributes_1 = &utilities.DoubleArray{Encoding: map[string]int{"org": 0, "project": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_AdminService_GetProjectAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectAttributesGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetProjectAttributes_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_DeleteProjectAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectAttributesDeleteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + msg, err := client.DeleteProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_DeleteProjectAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ProjectAttributesDeleteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + msg, err := client.DeleteProjectAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateWorkflowAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowAttributesUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["attributes.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + } + + val, ok = pathParams["attributes.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.domain", err) + } + + val, ok = pathParams["attributes.workflow"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.workflow") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.workflow", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.workflow", err) + } + + msg, err := client.UpdateWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateWorkflowAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowAttributesUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["attributes.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.org", err) + } + + val, ok = pathParams["attributes.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.project", err) + } + + val, ok = pathParams["attributes.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.domain", err) + } + + val, ok = pathParams["attributes.workflow"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "attributes.workflow") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "attributes.workflow", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "attributes.workflow", err) + } + + msg, err := client.UpdateWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetWorkflowAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{"project": 0, "domain": 1, "workflow": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} +) + +func request_AdminService_GetWorkflowAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowAttributesGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + val, ok = pathParams["workflow"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow") + } + + protoReq.Workflow, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetWorkflowAttributes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetWorkflowAttributes_1 = &utilities.DoubleArray{Encoding: map[string]int{"org": 0, "project": 1, "domain": 2, "workflow": 3}, Base: []int{1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 1, 1, 2, 3, 4, 5}} +) + +func request_AdminService_GetWorkflowAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowAttributesGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + val, ok = pathParams["workflow"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow") + } + + protoReq.Workflow, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetWorkflowAttributes_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_DeleteWorkflowAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowAttributesDeleteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + val, ok = pathParams["workflow"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow") + } + + protoReq.Workflow, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow", err) + } + + msg, err := client.DeleteWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_DeleteWorkflowAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowAttributesDeleteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + val, ok = pathParams["workflow"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow") + } + + protoReq.Workflow, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow", err) + } + + msg, err := client.DeleteWorkflowAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListMatchableAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_AdminService_ListMatchableAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ListMatchableAttributesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListMatchableAttributes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListMatchableAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListNamedEntities_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "project": 1, "domain": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}} +) + +func request_AdminService_ListNamedEntities_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityListRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNamedEntities_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNamedEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListNamedEntities_1 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "org": 1, "project": 2, "domain": 3}, Base: []int{1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 1, 1, 2, 3, 4, 5}} +) + +func request_AdminService_ListNamedEntities_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityListRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org") + } + + protoReq.Org, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org", err) + } + + val, ok = pathParams["project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project") + } + + protoReq.Project, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project", err) + } + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListNamedEntities_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNamedEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetNamedEntity_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 3, 2, 4, 5, 6}} +) + +func request_AdminService_GetNamedEntity_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNamedEntity_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetNamedEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetNamedEntity_1 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "org": 2, "project": 3, "domain": 4, "name": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 3, 3, 2, 4, 5, 6, 7}} +) + +func request_AdminService_GetNamedEntity_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetNamedEntity_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetNamedEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateNamedEntity_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + msg, err := client.UpdateNamedEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_UpdateNamedEntity_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.NamedEntityUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + msg, err := client.UpdateNamedEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func request_AdminService_GetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.GetVersionRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetDescriptionEntity_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "resource_type": 1, "project": 2, "domain": 3, "name": 4, "version": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7}} +) + +func request_AdminService_GetDescriptionEntity_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ObjectGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.resource_type") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.resource_type", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.resource_type", err) + } + + protoReq.Id.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetDescriptionEntity_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDescriptionEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetDescriptionEntity_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "resource_type": 2, "project": 3, "domain": 4, "name": 5, "version": 6}, Base: []int{1, 1, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7, 8}} +) + +func request_AdminService_GetDescriptionEntity_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.ObjectGetRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + + val, ok = pathParams["id.resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.resource_type") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.resource_type", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.resource_type", err) + } + + protoReq.Id.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + val, ok = pathParams["id.version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.version") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.version", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.version", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetDescriptionEntity_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDescriptionEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListDescriptionEntities_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 3, 2, 4, 5, 6}} +) + +func request_AdminService_ListDescriptionEntities_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.DescriptionEntityListRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListDescriptionEntities_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDescriptionEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListDescriptionEntities_1 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "org": 2, "project": 3, "domain": 4, "name": 5}, Base: []int{1, 1, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 3, 3, 2, 4, 5, 6, 7}} +) + +func request_AdminService_ListDescriptionEntities_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.DescriptionEntityListRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListDescriptionEntities_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDescriptionEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListDescriptionEntities_2 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "project": 2, "domain": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} +) + +func request_AdminService_ListDescriptionEntities_2(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.DescriptionEntityListRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListDescriptionEntities_2); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDescriptionEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_ListDescriptionEntities_3 = &utilities.DoubleArray{Encoding: map[string]int{"resource_type": 0, "id": 1, "org": 2, "project": 3, "domain": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 3, 2, 4, 5, 6}} +) + +func request_AdminService_ListDescriptionEntities_3(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.DescriptionEntityListRequest + var metadata runtime.ServerMetadata + + var ( + val string + e int32 + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_type") + } + + e, err = runtime.Enum(val, core.ResourceType_value) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_type", err) + } + + protoReq.ResourceType = core.ResourceType(e) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_ListDescriptionEntities_3); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDescriptionEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetExecutionMetrics_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "project": 1, "domain": 2, "name": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 3, 4, 5}} +) + +func request_AdminService_GetExecutionMetrics_0(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowExecutionGetMetricsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecutionMetrics_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetExecutionMetrics(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +var ( + filter_AdminService_GetExecutionMetrics_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0, "org": 1, "project": 2, "domain": 3, "name": 4}, Base: []int{1, 1, 1, 2, 3, 4, 0, 0, 0, 0}, Check: []int{0, 1, 2, 2, 2, 2, 3, 4, 5, 6}} +) + +func request_AdminService_GetExecutionMetrics_1(ctx context.Context, marshaler runtime.Marshaler, client AdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq admin.WorkflowExecutionGetMetricsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id.org"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.org") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.org", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.org", err) + } + + val, ok = pathParams["id.project"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) + } + + val, ok = pathParams["id.domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) + } + + val, ok = pathParams["id.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecutionMetrics_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetExecutionMetrics(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +// RegisterAdminServiceHandlerFromEndpoint is same as RegisterAdminServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterAdminServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterAdminServiceHandler(ctx, mux, conn) +} + +// RegisterAdminServiceHandler registers the http handlers for service AdminService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterAdminServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterAdminServiceHandlerClient(ctx, mux, NewAdminServiceClient(conn)) +} + +// RegisterAdminServiceHandlerClient registers the http handlers for service AdminService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AdminServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AdminServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "AdminServiceClient" to call the correct interceptors. +func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AdminServiceClient) error { + + mux.Handle("POST", pattern_AdminService_CreateTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_CreateTask_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_CreateTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetTask_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetTask_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListTaskIds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListTaskIds_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListTaskIds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListTaskIds_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListTaskIds_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListTaskIds_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListTasks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListTasks_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListTasks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListTasks_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListTasks_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListTasks_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListTasks_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListTasks_2(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListTasks_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListTasks_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListTasks_3(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListTasks_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_CreateWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_CreateWorkflow_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_CreateWorkflow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetWorkflow_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetWorkflow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetWorkflow_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetWorkflow_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetWorkflow_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListWorkflowIds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListWorkflowIds_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListWorkflowIds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListWorkflowIds_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListWorkflowIds_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListWorkflowIds_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListWorkflows_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListWorkflows_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListWorkflows_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListWorkflows_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListWorkflows_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListWorkflows_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListWorkflows_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListWorkflows_2(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListWorkflows_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListWorkflows_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListWorkflows_3(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListWorkflows_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_CreateLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_CreateLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_CreateLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetLaunchPlan_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetLaunchPlan_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetLaunchPlan_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetActiveLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetActiveLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetActiveLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetActiveLaunchPlan_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetActiveLaunchPlan_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetActiveLaunchPlan_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListActiveLaunchPlans_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListActiveLaunchPlans_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListActiveLaunchPlans_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListLaunchPlanIds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListLaunchPlanIds_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListLaunchPlanIds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListLaunchPlanIds_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListLaunchPlanIds_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListLaunchPlanIds_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListLaunchPlans_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListLaunchPlans_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListLaunchPlans_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListLaunchPlans_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListLaunchPlans_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListLaunchPlans_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListLaunchPlans_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListLaunchPlans_2(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListLaunchPlans_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_ListLaunchPlans_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListLaunchPlans_3(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_ListLaunchPlans_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_UpdateLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_UpdateLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_UpdateLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_UpdateLaunchPlan_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_UpdateLaunchPlan_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_UpdateLaunchPlan_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_CreateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_CreateExecution_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_CreateExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_RelaunchExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_RelaunchExecution_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_RelaunchExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AdminService_RecoverExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_RecoverExecution_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_RecoverExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetExecution_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AdminService_GetExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetExecution_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_GetExecution_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_AdminService_UpdateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_UpdateExecution_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_AdminService_UpdateExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - var ( - val string - ok bool - err error - _ = err - ) + }) - val, ok = pathParams["id.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.project") - } + mux.Handle("PUT", pattern_AdminService_UpdateExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_UpdateExecution_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } - err = runtime.PopulateFieldFromPath(&protoReq, "id.project", val) + forward_AdminService_UpdateExecution_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.project", err) - } + }) - val, ok = pathParams["id.domain"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.domain") - } + mux.Handle("GET", pattern_AdminService_GetExecutionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetExecutionData_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } - err = runtime.PopulateFieldFromPath(&protoReq, "id.domain", val) + forward_AdminService_GetExecutionData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.domain", err) - } + }) - val, ok = pathParams["id.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id.name") - } + mux.Handle("GET", pattern_AdminService_GetExecutionData_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_GetExecutionData_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } - err = runtime.PopulateFieldFromPath(&protoReq, "id.name", val) + forward_AdminService_GetExecutionData_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id.name", err) - } + }) - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AdminService_GetExecutionMetrics_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } + mux.Handle("GET", pattern_AdminService_ListExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListExecutions_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } - msg, err := client.GetExecutionMetrics(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + forward_AdminService_ListExecutions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -} + }) -// RegisterAdminServiceHandlerFromEndpoint is same as RegisterAdminServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterAdminServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { + mux.Handle("GET", pattern_AdminService_ListExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AdminService_ListExecutions_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterAdminServiceHandler(ctx, mux, conn) -} -// RegisterAdminServiceHandler registers the http handlers for service AdminService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterAdminServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterAdminServiceHandlerClient(ctx, mux, NewAdminServiceClient(conn)) -} + forward_AdminService_ListExecutions_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -// RegisterAdminServiceHandlerClient registers the http handlers for service AdminService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AdminServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AdminServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "AdminServiceClient" to call the correct interceptors. -func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AdminServiceClient) error { + }) - mux.Handle("POST", pattern_AdminService_CreateTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_TerminateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3042,18 +7075,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_CreateTask_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_TerminateExecution_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_CreateTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_TerminateExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_TerminateExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3062,18 +7095,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetTask_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_TerminateExecution_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_TerminateExecution_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListTaskIds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetNodeExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3082,18 +7115,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListTaskIds_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetNodeExecution_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListTaskIds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetNodeExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListTasks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetNodeExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3102,18 +7135,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListTasks_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetNodeExecution_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListTasks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetNodeExecution_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListTasks_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListNodeExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3122,18 +7155,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListTasks_1(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListNodeExecutions_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListTasks_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListNodeExecutions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_CreateWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListNodeExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3142,18 +7175,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_CreateWorkflow_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListNodeExecutions_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_CreateWorkflow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListNodeExecutions_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListNodeExecutionsForTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3162,18 +7195,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetWorkflow_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListNodeExecutionsForTask_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetWorkflow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListNodeExecutionsForTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListWorkflowIds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListNodeExecutionsForTask_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3182,18 +7215,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListWorkflowIds_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListNodeExecutionsForTask_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListWorkflowIds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListNodeExecutionsForTask_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListWorkflows_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetNodeExecutionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3202,18 +7235,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListWorkflows_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetNodeExecutionData_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListWorkflows_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetNodeExecutionData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListWorkflows_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetNodeExecutionData_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3222,18 +7255,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListWorkflows_1(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetNodeExecutionData_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListWorkflows_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetNodeExecutionData_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_CreateLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_AdminService_RegisterProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3242,18 +7275,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_CreateLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_RegisterProject_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_CreateLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_RegisterProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3262,18 +7295,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateProject_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetActiveLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateProject_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3282,18 +7315,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetActiveLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateProject_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetActiveLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateProject_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListActiveLaunchPlans_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3302,18 +7335,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListActiveLaunchPlans_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListProjects_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListActiveLaunchPlans_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListLaunchPlanIds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_AdminService_CreateWorkflowEvent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3322,18 +7355,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListLaunchPlanIds_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_CreateWorkflowEvent_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListLaunchPlanIds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_CreateWorkflowEvent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListLaunchPlans_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_AdminService_CreateNodeEvent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3342,18 +7375,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListLaunchPlans_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_CreateNodeEvent_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListLaunchPlans_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_CreateNodeEvent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListLaunchPlans_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_AdminService_CreateTaskEvent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3362,18 +7395,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListLaunchPlans_1(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_CreateTaskEvent_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListLaunchPlans_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_CreateTaskEvent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_AdminService_UpdateLaunchPlan_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetTaskExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3382,18 +7415,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_UpdateLaunchPlan_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetTaskExecution_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_UpdateLaunchPlan_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetTaskExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_CreateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetTaskExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3402,18 +7435,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_CreateExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetTaskExecution_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_CreateExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetTaskExecution_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_RelaunchExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListTaskExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3422,18 +7455,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_RelaunchExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListTaskExecutions_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_RelaunchExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListTaskExecutions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_RecoverExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListTaskExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3442,18 +7475,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_RecoverExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListTaskExecutions_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_RecoverExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListTaskExecutions_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetTaskExecutionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3462,18 +7495,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetTaskExecutionData_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetTaskExecutionData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_AdminService_UpdateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetTaskExecutionData_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3482,18 +7515,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_UpdateExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetTaskExecutionData_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_UpdateExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetTaskExecutionData_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetExecutionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateProjectDomainAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3502,18 +7535,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetExecutionData_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateProjectDomainAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetExecutionData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateProjectDomainAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateProjectDomainAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3522,18 +7555,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListExecutions_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateProjectDomainAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListExecutions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateProjectDomainAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_AdminService_TerminateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetProjectDomainAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3542,18 +7575,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_TerminateExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetProjectDomainAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_TerminateExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetProjectDomainAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetNodeExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetProjectDomainAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3562,18 +7595,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetNodeExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetProjectDomainAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetNodeExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetProjectDomainAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListNodeExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_DeleteProjectDomainAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3582,18 +7615,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListNodeExecutions_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_DeleteProjectDomainAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListNodeExecutions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_DeleteProjectDomainAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListNodeExecutionsForTask_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_DeleteProjectDomainAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3602,18 +7635,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListNodeExecutionsForTask_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_DeleteProjectDomainAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListNodeExecutionsForTask_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_DeleteProjectDomainAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetNodeExecutionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateProjectAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3622,18 +7655,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetNodeExecutionData_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateProjectAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetNodeExecutionData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateProjectAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_RegisterProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateProjectAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3642,18 +7675,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_RegisterProject_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateProjectAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_RegisterProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateProjectAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_AdminService_UpdateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetProjectAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3662,18 +7695,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_UpdateProject_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetProjectAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_UpdateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetProjectAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetProjectAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3682,18 +7715,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListProjects_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetProjectAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetProjectAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_CreateWorkflowEvent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_DeleteProjectAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3702,18 +7735,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_CreateWorkflowEvent_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_DeleteProjectAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_CreateWorkflowEvent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_DeleteProjectAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_CreateNodeEvent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_DeleteProjectAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3722,18 +7755,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_CreateNodeEvent_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_DeleteProjectAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_CreateNodeEvent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_DeleteProjectAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_AdminService_CreateTaskEvent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateWorkflowAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3742,18 +7775,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_CreateTaskEvent_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateWorkflowAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_CreateTaskEvent_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateWorkflowAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetTaskExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateWorkflowAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3762,18 +7795,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetTaskExecution_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateWorkflowAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetTaskExecution_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateWorkflowAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListTaskExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetWorkflowAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3782,18 +7815,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListTaskExecutions_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetWorkflowAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListTaskExecutions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetWorkflowAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetTaskExecutionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetWorkflowAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3802,18 +7835,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetTaskExecutionData_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetWorkflowAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetTaskExecutionData_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetWorkflowAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_AdminService_UpdateProjectDomainAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_DeleteWorkflowAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3822,18 +7855,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_UpdateProjectDomainAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_DeleteWorkflowAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_UpdateProjectDomainAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_DeleteWorkflowAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetProjectDomainAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_AdminService_DeleteWorkflowAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3842,18 +7875,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetProjectDomainAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_DeleteWorkflowAttributes_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetProjectDomainAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_DeleteWorkflowAttributes_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_AdminService_DeleteProjectDomainAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListMatchableAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3862,18 +7895,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_DeleteProjectDomainAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListMatchableAttributes_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_DeleteProjectDomainAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListMatchableAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_AdminService_UpdateProjectAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListNamedEntities_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3882,18 +7915,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_UpdateProjectAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListNamedEntities_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_UpdateProjectAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListNamedEntities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetProjectAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListNamedEntities_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3902,18 +7935,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetProjectAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListNamedEntities_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetProjectAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListNamedEntities_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_AdminService_DeleteProjectAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetNamedEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3922,18 +7955,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_DeleteProjectAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetNamedEntity_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_DeleteProjectAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetNamedEntity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_AdminService_UpdateWorkflowAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetNamedEntity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3942,18 +7975,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_UpdateWorkflowAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetNamedEntity_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_UpdateWorkflowAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetNamedEntity_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetWorkflowAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateNamedEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3962,18 +7995,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetWorkflowAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateNamedEntity_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetWorkflowAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateNamedEntity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("DELETE", pattern_AdminService_DeleteWorkflowAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_AdminService_UpdateNamedEntity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -3982,18 +8015,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_DeleteWorkflowAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_UpdateNamedEntity_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_DeleteWorkflowAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_UpdateNamedEntity_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListMatchableAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4002,18 +8035,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListMatchableAttributes_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetVersion_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListMatchableAttributes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListNamedEntities_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetDescriptionEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4022,18 +8055,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListNamedEntities_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetDescriptionEntity_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListNamedEntities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetDescriptionEntity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetNamedEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetDescriptionEntity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4042,18 +8075,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetNamedEntity_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetDescriptionEntity_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetNamedEntity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetDescriptionEntity_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_AdminService_UpdateNamedEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListDescriptionEntities_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4062,18 +8095,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_UpdateNamedEntity_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListDescriptionEntities_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_UpdateNamedEntity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListDescriptionEntities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListDescriptionEntities_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4082,18 +8115,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetVersion_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListDescriptionEntities_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListDescriptionEntities_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetDescriptionEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListDescriptionEntities_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4102,18 +8135,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetDescriptionEntity_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListDescriptionEntities_2(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetDescriptionEntity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListDescriptionEntities_2(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListDescriptionEntities_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_ListDescriptionEntities_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4122,18 +8155,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListDescriptionEntities_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_ListDescriptionEntities_3(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListDescriptionEntities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_ListDescriptionEntities_3(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_ListDescriptionEntities_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetExecutionMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4142,18 +8175,18 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_ListDescriptionEntities_1(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetExecutionMetrics_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_ListDescriptionEntities_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetExecutionMetrics_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_AdminService_GetExecutionMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_AdminService_GetExecutionMetrics_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4162,14 +8195,14 @@ func RegisterAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMu runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_AdminService_GetExecutionMetrics_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_AdminService_GetExecutionMetrics_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_AdminService_GetExecutionMetrics_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_AdminService_GetExecutionMetrics_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4181,38 +8214,66 @@ var ( pattern_AdminService_GetTask_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "tasks", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_GetTask_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "tasks", "org", "id.org", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_ListTaskIds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "task_ids", "project", "domain"}, "")) + pattern_AdminService_ListTaskIds_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "tasks", "org", "project", "domain"}, "")) + pattern_AdminService_ListTasks_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "tasks", "id.project", "id.domain", "id.name"}, "")) - pattern_AdminService_ListTasks_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "tasks", "id.project", "id.domain"}, "")) + pattern_AdminService_ListTasks_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "tasks", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + + pattern_AdminService_ListTasks_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "tasks", "id.project", "id.domain"}, "")) + + pattern_AdminService_ListTasks_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "tasks", "org", "id.org", "id.project", "id.domain"}, "")) pattern_AdminService_CreateWorkflow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "workflows"}, "")) pattern_AdminService_GetWorkflow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "workflows", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_GetWorkflow_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "workflows", "org", "id.org", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_ListWorkflowIds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "workflow_ids", "project", "domain"}, "")) + pattern_AdminService_ListWorkflowIds_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "workflows", "org", "project", "domain"}, "")) + pattern_AdminService_ListWorkflows_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "workflows", "id.project", "id.domain", "id.name"}, "")) - pattern_AdminService_ListWorkflows_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "workflows", "id.project", "id.domain"}, "")) + pattern_AdminService_ListWorkflows_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "workflows", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + + pattern_AdminService_ListWorkflows_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "workflows", "id.project", "id.domain"}, "")) + + pattern_AdminService_ListWorkflows_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "workflows", "org", "id.org", "id.project", "id.domain"}, "")) pattern_AdminService_CreateLaunchPlan_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "launch_plans"}, "")) pattern_AdminService_GetLaunchPlan_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "launch_plans", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_GetLaunchPlan_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "launch_plans", "org", "id.org", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_GetActiveLaunchPlan_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "active_launch_plans", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_GetActiveLaunchPlan_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "active_launch_plans", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_ListActiveLaunchPlans_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "active_launch_plans", "project", "domain"}, "")) pattern_AdminService_ListLaunchPlanIds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "launch_plan_ids", "project", "domain"}, "")) + pattern_AdminService_ListLaunchPlanIds_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "launch_plan_ids", "org", "project", "domain"}, "")) + pattern_AdminService_ListLaunchPlans_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "launch_plans", "id.project", "id.domain", "id.name"}, "")) - pattern_AdminService_ListLaunchPlans_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "launch_plans", "id.project", "id.domain"}, "")) + pattern_AdminService_ListLaunchPlans_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "launch_plans", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + + pattern_AdminService_ListLaunchPlans_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "launch_plans", "id.project", "id.domain"}, "")) + + pattern_AdminService_ListLaunchPlans_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "launch_plans", "org", "id.org", "id.project", "id.domain"}, "")) pattern_AdminService_UpdateLaunchPlan_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "launch_plans", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_UpdateLaunchPlan_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "launch_plans", "org", "id.org", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_CreateExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "executions"}, "")) pattern_AdminService_RelaunchExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "executions", "relaunch"}, "")) @@ -4221,26 +8282,46 @@ var ( pattern_AdminService_GetExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "executions", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_GetExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "executions", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_UpdateExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "executions", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_UpdateExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "executions", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_GetExecutionData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "data", "executions", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_GetExecutionData_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "data", "executions", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_ListExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "executions", "id.project", "id.domain"}, "")) + pattern_AdminService_ListExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "executions", "org", "id.org", "id.project", "id.domain"}, "")) + pattern_AdminService_TerminateExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "executions", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_TerminateExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "data", "executions", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_GetNodeExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "node_executions", "id.execution_id.project", "id.execution_id.domain", "id.execution_id.name", "id.node_id"}, "")) + pattern_AdminService_GetNodeExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "node_executions", "org", "id.execution_id.org", "id.execution_id.project", "id.execution_id.domain", "id.execution_id.name", "id.node_id"}, "")) + pattern_AdminService_ListNodeExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "node_executions", "workflow_execution_id.project", "workflow_execution_id.domain", "workflow_execution_id.name"}, "")) + pattern_AdminService_ListNodeExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "node_executions", "org", "workflow_execution_id.org", "workflow_execution_id.project", "workflow_execution_id.domain", "workflow_execution_id.name"}, "")) + pattern_AdminService_ListNodeExecutionsForTask_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9, 1, 0, 4, 1, 5, 10, 1, 0, 4, 1, 5, 11, 1, 0, 4, 1, 5, 12}, []string{"api", "v1", "children", "task_executions", "task_execution_id.node_execution_id.execution_id.project", "task_execution_id.node_execution_id.execution_id.domain", "task_execution_id.node_execution_id.execution_id.name", "task_execution_id.node_execution_id.node_id", "task_execution_id.task_id.project", "task_execution_id.task_id.domain", "task_execution_id.task_id.name", "task_execution_id.task_id.version", "task_execution_id.retry_attempt"}, "")) + pattern_AdminService_ListNodeExecutionsForTask_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9, 1, 0, 4, 1, 5, 10, 1, 0, 4, 1, 5, 11, 1, 0, 4, 1, 5, 12, 1, 0, 4, 1, 5, 13, 1, 0, 4, 1, 5, 14}, []string{"api", "v1", "children", "task_executions", "org", "task_execution_id.node_execution_id.execution_id.org", "task_execution_id.node_execution_id.execution_id.project", "task_execution_id.node_execution_id.execution_id.domain", "task_execution_id.node_execution_id.execution_id.name", "task_execution_id.node_execution_id.node_id", "task_execution_id.task_id.project", "task_execution_id.task_id.domain", "task_execution_id.task_id.name", "task_execution_id.task_id.version", "task_execution_id.retry_attempt"}, "")) + pattern_AdminService_GetNodeExecutionData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "data", "node_executions", "id.execution_id.project", "id.execution_id.domain", "id.execution_id.name", "id.node_id"}, "")) + pattern_AdminService_GetNodeExecutionData_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9}, []string{"api", "v1", "data", "node_executions", "org", "id.execution_id.org", "id.execution_id.project", "id.execution_id.domain", "id.execution_id.name", "id.node_id"}, "")) + pattern_AdminService_RegisterProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "projects"}, "")) pattern_AdminService_UpdateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "projects", "id"}, "")) + pattern_AdminService_UpdateProject_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "projects", "org", "id"}, "")) + pattern_AdminService_ListProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "projects"}, "")) pattern_AdminService_CreateWorkflowEvent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "events", "workflows"}, "")) @@ -4251,45 +8332,83 @@ var ( pattern_AdminService_GetTaskExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9, 1, 0, 4, 1, 5, 10, 1, 0, 4, 1, 5, 11}, []string{"api", "v1", "task_executions", "id.node_execution_id.execution_id.project", "id.node_execution_id.execution_id.domain", "id.node_execution_id.execution_id.name", "id.node_execution_id.node_id", "id.task_id.project", "id.task_id.domain", "id.task_id.name", "id.task_id.version", "id.retry_attempt"}, "")) + pattern_AdminService_GetTaskExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9, 1, 0, 4, 1, 5, 10, 1, 0, 4, 1, 5, 11, 1, 0, 4, 1, 5, 12, 1, 0, 4, 1, 5, 13}, []string{"api", "v1", "task_executions", "org", "id.node_execution_id.execution_id.org", "id.node_execution_id.execution_id.project", "id.node_execution_id.execution_id.domain", "id.node_execution_id.execution_id.name", "id.node_execution_id.node_id", "id.task_id.project", "id.task_id.domain", "id.task_id.name", "id.task_id.version", "id.retry_attempt"}, "")) + pattern_AdminService_ListTaskExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "task_executions", "node_execution_id.execution_id.project", "node_execution_id.execution_id.domain", "node_execution_id.execution_id.name", "node_execution_id.node_id"}, "")) + pattern_AdminService_ListTaskExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "task_executions", "org", "node_execution_id.execution_id.org", "node_execution_id.execution_id.project", "node_execution_id.execution_id.domain", "node_execution_id.execution_id.name", "node_execution_id.node_id"}, "")) + pattern_AdminService_GetTaskExecutionData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9, 1, 0, 4, 1, 5, 10, 1, 0, 4, 1, 5, 11, 1, 0, 4, 1, 5, 12}, []string{"api", "v1", "data", "task_executions", "id.node_execution_id.execution_id.project", "id.node_execution_id.execution_id.domain", "id.node_execution_id.execution_id.name", "id.node_execution_id.node_id", "id.task_id.project", "id.task_id.domain", "id.task_id.name", "id.task_id.version", "id.retry_attempt"}, "")) + pattern_AdminService_GetTaskExecutionData_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9, 1, 0, 4, 1, 5, 10, 1, 0, 4, 1, 5, 11, 1, 0, 4, 1, 5, 12, 1, 0, 4, 1, 5, 13, 1, 0, 4, 1, 5, 14}, []string{"api", "v1", "data", "task_executions", "org", "id.node_execution_id.execution_id.org", "id.node_execution_id.execution_id.project", "id.node_execution_id.execution_id.domain", "id.node_execution_id.execution_id.name", "id.node_execution_id.node_id", "id.task_id.project", "id.task_id.domain", "id.task_id.name", "id.task_id.version", "id.retry_attempt"}, "")) + pattern_AdminService_UpdateProjectDomainAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "project_domain_attributes", "attributes.project", "attributes.domain"}, "")) + pattern_AdminService_UpdateProjectDomainAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "project_domain_attributes", "org", "attributes.org", "attributes.project", "attributes.domain"}, "")) + pattern_AdminService_GetProjectDomainAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "project_domain_attributes", "project", "domain"}, "")) + pattern_AdminService_GetProjectDomainAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "project_domain_attributes", "org", "project", "domain"}, "")) + pattern_AdminService_DeleteProjectDomainAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "project_domain_attributes", "project", "domain"}, "")) + pattern_AdminService_DeleteProjectDomainAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "project_domain_attributes", "org", "project", "domain"}, "")) + pattern_AdminService_UpdateProjectAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "project_attributes", "attributes.project"}, "")) + pattern_AdminService_UpdateProjectAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "project_domain_attributes", "org", "attributes.org", "attributes.project"}, "")) + pattern_AdminService_GetProjectAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "project_attributes", "project"}, "")) + pattern_AdminService_GetProjectAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "project_domain_attributes", "org", "project"}, "")) + pattern_AdminService_DeleteProjectAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "project_attributes", "project"}, "")) + pattern_AdminService_DeleteProjectAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "project_domain_attributes", "org", "project"}, "")) + pattern_AdminService_UpdateWorkflowAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "workflow_attributes", "attributes.project", "attributes.domain", "attributes.workflow"}, "")) + pattern_AdminService_UpdateWorkflowAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "workflow_attributes", "org", "attributes.org", "attributes.project", "attributes.domain", "attributes.workflow"}, "")) + pattern_AdminService_GetWorkflowAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "workflow_attributes", "project", "domain", "workflow"}, "")) + pattern_AdminService_GetWorkflowAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "workflow_attributes", "org", "project", "domain", "workflow"}, "")) + pattern_AdminService_DeleteWorkflowAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "workflow_attributes", "project", "domain", "workflow"}, "")) + pattern_AdminService_DeleteWorkflowAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "workflow_attributes", "org", "project", "domain", "workflow"}, "")) + pattern_AdminService_ListMatchableAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "matchable_attributes"}, "")) pattern_AdminService_ListNamedEntities_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "named_entities", "resource_type", "project", "domain"}, "")) + pattern_AdminService_ListNamedEntities_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "named_entities", "resource_type", "org", "project", "domain"}, "")) + pattern_AdminService_GetNamedEntity_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "named_entities", "resource_type", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_GetNamedEntity_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "named_entities", "resource_type", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_UpdateNamedEntity_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "named_entities", "resource_type", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_UpdateNamedEntity_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "named_entities", "resource_type", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + pattern_AdminService_GetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "version"}, "")) pattern_AdminService_GetDescriptionEntity_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "description_entities", "id.resource_type", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_GetDescriptionEntity_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8, 1, 0, 4, 1, 5, 9}, []string{"api", "v1", "description_entities", "org", "id.org", "id.resource_type", "id.project", "id.domain", "id.name", "id.version"}, "")) + pattern_AdminService_ListDescriptionEntities_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "description_entities", "resource_type", "id.project", "id.domain", "id.name"}, "")) - pattern_AdminService_ListDescriptionEntities_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "description_entities", "resource_type", "id.project", "id.domain"}, "")) + pattern_AdminService_ListDescriptionEntities_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "description_entities", "resource_type", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) + + pattern_AdminService_ListDescriptionEntities_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "description_entities", "resource_type", "id.project", "id.domain"}, "")) + + pattern_AdminService_ListDescriptionEntities_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "description_entities", "resource_type", "org", "id.org", "id.project", "id.domain"}, "")) pattern_AdminService_GetExecutionMetrics_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "metrics", "executions", "id.project", "id.domain", "id.name"}, "")) + + pattern_AdminService_GetExecutionMetrics_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"api", "v1", "metrics", "executions", "org", "id.org", "id.project", "id.domain", "id.name"}, "")) ) var ( @@ -4297,38 +8416,66 @@ var ( forward_AdminService_GetTask_0 = runtime.ForwardResponseMessage + forward_AdminService_GetTask_1 = runtime.ForwardResponseMessage + forward_AdminService_ListTaskIds_0 = runtime.ForwardResponseMessage + forward_AdminService_ListTaskIds_1 = runtime.ForwardResponseMessage + forward_AdminService_ListTasks_0 = runtime.ForwardResponseMessage forward_AdminService_ListTasks_1 = runtime.ForwardResponseMessage + forward_AdminService_ListTasks_2 = runtime.ForwardResponseMessage + + forward_AdminService_ListTasks_3 = runtime.ForwardResponseMessage + forward_AdminService_CreateWorkflow_0 = runtime.ForwardResponseMessage forward_AdminService_GetWorkflow_0 = runtime.ForwardResponseMessage + forward_AdminService_GetWorkflow_1 = runtime.ForwardResponseMessage + forward_AdminService_ListWorkflowIds_0 = runtime.ForwardResponseMessage + forward_AdminService_ListWorkflowIds_1 = runtime.ForwardResponseMessage + forward_AdminService_ListWorkflows_0 = runtime.ForwardResponseMessage forward_AdminService_ListWorkflows_1 = runtime.ForwardResponseMessage + forward_AdminService_ListWorkflows_2 = runtime.ForwardResponseMessage + + forward_AdminService_ListWorkflows_3 = runtime.ForwardResponseMessage + forward_AdminService_CreateLaunchPlan_0 = runtime.ForwardResponseMessage forward_AdminService_GetLaunchPlan_0 = runtime.ForwardResponseMessage + forward_AdminService_GetLaunchPlan_1 = runtime.ForwardResponseMessage + forward_AdminService_GetActiveLaunchPlan_0 = runtime.ForwardResponseMessage + forward_AdminService_GetActiveLaunchPlan_1 = runtime.ForwardResponseMessage + forward_AdminService_ListActiveLaunchPlans_0 = runtime.ForwardResponseMessage forward_AdminService_ListLaunchPlanIds_0 = runtime.ForwardResponseMessage + forward_AdminService_ListLaunchPlanIds_1 = runtime.ForwardResponseMessage + forward_AdminService_ListLaunchPlans_0 = runtime.ForwardResponseMessage forward_AdminService_ListLaunchPlans_1 = runtime.ForwardResponseMessage + forward_AdminService_ListLaunchPlans_2 = runtime.ForwardResponseMessage + + forward_AdminService_ListLaunchPlans_3 = runtime.ForwardResponseMessage + forward_AdminService_UpdateLaunchPlan_0 = runtime.ForwardResponseMessage + forward_AdminService_UpdateLaunchPlan_1 = runtime.ForwardResponseMessage + forward_AdminService_CreateExecution_0 = runtime.ForwardResponseMessage forward_AdminService_RelaunchExecution_0 = runtime.ForwardResponseMessage @@ -4337,26 +8484,46 @@ var ( forward_AdminService_GetExecution_0 = runtime.ForwardResponseMessage + forward_AdminService_GetExecution_1 = runtime.ForwardResponseMessage + forward_AdminService_UpdateExecution_0 = runtime.ForwardResponseMessage + forward_AdminService_UpdateExecution_1 = runtime.ForwardResponseMessage + forward_AdminService_GetExecutionData_0 = runtime.ForwardResponseMessage + forward_AdminService_GetExecutionData_1 = runtime.ForwardResponseMessage + forward_AdminService_ListExecutions_0 = runtime.ForwardResponseMessage + forward_AdminService_ListExecutions_1 = runtime.ForwardResponseMessage + forward_AdminService_TerminateExecution_0 = runtime.ForwardResponseMessage + forward_AdminService_TerminateExecution_1 = runtime.ForwardResponseMessage + forward_AdminService_GetNodeExecution_0 = runtime.ForwardResponseMessage + forward_AdminService_GetNodeExecution_1 = runtime.ForwardResponseMessage + forward_AdminService_ListNodeExecutions_0 = runtime.ForwardResponseMessage + forward_AdminService_ListNodeExecutions_1 = runtime.ForwardResponseMessage + forward_AdminService_ListNodeExecutionsForTask_0 = runtime.ForwardResponseMessage + forward_AdminService_ListNodeExecutionsForTask_1 = runtime.ForwardResponseMessage + forward_AdminService_GetNodeExecutionData_0 = runtime.ForwardResponseMessage + forward_AdminService_GetNodeExecutionData_1 = runtime.ForwardResponseMessage + forward_AdminService_RegisterProject_0 = runtime.ForwardResponseMessage forward_AdminService_UpdateProject_0 = runtime.ForwardResponseMessage + forward_AdminService_UpdateProject_1 = runtime.ForwardResponseMessage + forward_AdminService_ListProjects_0 = runtime.ForwardResponseMessage forward_AdminService_CreateWorkflowEvent_0 = runtime.ForwardResponseMessage @@ -4367,43 +8534,81 @@ var ( forward_AdminService_GetTaskExecution_0 = runtime.ForwardResponseMessage + forward_AdminService_GetTaskExecution_1 = runtime.ForwardResponseMessage + forward_AdminService_ListTaskExecutions_0 = runtime.ForwardResponseMessage + forward_AdminService_ListTaskExecutions_1 = runtime.ForwardResponseMessage + forward_AdminService_GetTaskExecutionData_0 = runtime.ForwardResponseMessage + forward_AdminService_GetTaskExecutionData_1 = runtime.ForwardResponseMessage + forward_AdminService_UpdateProjectDomainAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_UpdateProjectDomainAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_GetProjectDomainAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_GetProjectDomainAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_DeleteProjectDomainAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_DeleteProjectDomainAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_UpdateProjectAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_UpdateProjectAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_GetProjectAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_GetProjectAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_DeleteProjectAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_DeleteProjectAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_UpdateWorkflowAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_UpdateWorkflowAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_GetWorkflowAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_GetWorkflowAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_DeleteWorkflowAttributes_0 = runtime.ForwardResponseMessage + forward_AdminService_DeleteWorkflowAttributes_1 = runtime.ForwardResponseMessage + forward_AdminService_ListMatchableAttributes_0 = runtime.ForwardResponseMessage forward_AdminService_ListNamedEntities_0 = runtime.ForwardResponseMessage + forward_AdminService_ListNamedEntities_1 = runtime.ForwardResponseMessage + forward_AdminService_GetNamedEntity_0 = runtime.ForwardResponseMessage + forward_AdminService_GetNamedEntity_1 = runtime.ForwardResponseMessage + forward_AdminService_UpdateNamedEntity_0 = runtime.ForwardResponseMessage + forward_AdminService_UpdateNamedEntity_1 = runtime.ForwardResponseMessage + forward_AdminService_GetVersion_0 = runtime.ForwardResponseMessage forward_AdminService_GetDescriptionEntity_0 = runtime.ForwardResponseMessage + forward_AdminService_GetDescriptionEntity_1 = runtime.ForwardResponseMessage + forward_AdminService_ListDescriptionEntities_0 = runtime.ForwardResponseMessage forward_AdminService_ListDescriptionEntities_1 = runtime.ForwardResponseMessage + forward_AdminService_ListDescriptionEntities_2 = runtime.ForwardResponseMessage + + forward_AdminService_ListDescriptionEntities_3 = runtime.ForwardResponseMessage + forward_AdminService_GetExecutionMetrics_0 = runtime.ForwardResponseMessage + + forward_AdminService_GetExecutionMetrics_1 = runtime.ForwardResponseMessage ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json index 8ada0f5e50..32500dd4a7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json @@ -15,6 +15,53 @@ "application/json" ], "paths": { + "/api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`.", + "operationId": "GetActiveLaunchPlan2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlan" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, "/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}": { "get": { "summary": "Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`.", @@ -48,6 +95,13 @@ "in": "path", "required": true, "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -115,6 +169,13 @@ "ASCENDING" ], "default": "DESCENDING" + }, + { + "name": "org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -122,10 +183,10 @@ ] } }, - "/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}": { + "/api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}": { "get": { "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`.", - "operationId": "ListNodeExecutionsForTask", + "operationId": "ListNodeExecutionsForTask2", "responses": { "200": { "description": "A successful response.", @@ -135,6 +196,13 @@ } }, "parameters": [ + { + "name": "task_execution_id.node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "task_execution_id.node_execution_id.execution_id.project", "description": "Name of the project the resource belongs to.", @@ -212,6 +280,13 @@ ], "default": "UNSPECIFIED" }, + { + "name": "task_execution_id.task_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, { "name": "limit", "description": "Indicates the number of resources to be returned.\n+required.", @@ -259,181 +334,150 @@ ] } }, - "/api/v1/data/executions/{id.project}/{id.domain}/{id.name}": { + "/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}": { "get": { - "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`.", - "operationId": "GetExecutionData", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`.", + "operationId": "ListNodeExecutionsForTask", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminWorkflowExecutionGetDataResponse" + "$ref": "#/definitions/adminNodeExecutionList" } } }, "parameters": [ { - "name": "id.project", + "name": "task_execution_id.node_execution_id.execution_id.project", "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", + "name": "task_execution_id.node_execution_id.execution_id.domain", "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", + "name": "task_execution_id.node_execution_id.execution_id.name", "description": "User or system provided value for the resource.", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}": { - "get": { - "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`.", - "operationId": "GetNodeExecutionData", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminNodeExecutionGetDataResponse" - } - } - }, - "parameters": [ + }, { - "name": "id.execution_id.project", - "description": "Name of the project the resource belongs to.", + "name": "task_execution_id.node_execution_id.node_id", "in": "path", "required": true, "type": "string" }, { - "name": "id.execution_id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "name": "task_execution_id.task_id.project", + "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "id.execution_id.name", - "description": "User or system provided value for the resource.", + "name": "task_execution_id.task_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "id.node_id", + "name": "task_execution_id.task_id.name", + "description": "User provided value for the resource.", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}": { - "get": { - "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`.", - "operationId": "GetTaskExecutionData", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminTaskExecutionGetDataResponse" - } - } - }, - "parameters": [ + }, { - "name": "id.node_execution_id.execution_id.project", - "description": "Name of the project the resource belongs to.", + "name": "task_execution_id.task_id.version", + "description": "Specific version of the resource.", "in": "path", "required": true, "type": "string" }, { - "name": "id.node_execution_id.execution_id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "name": "task_execution_id.retry_attempt", "in": "path", "required": true, - "type": "string" + "type": "integer", + "format": "int64" }, { - "name": "id.node_execution_id.execution_id.name", - "description": "User or system provided value for the resource.", - "in": "path", - "required": true, - "type": "string" + "name": "task_execution_id.task_id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ], + "default": "UNSPECIFIED" }, { - "name": "id.node_execution_id.node_id", - "in": "path", - "required": true, + "name": "task_execution_id.task_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, "type": "string" }, { - "name": "id.task_id.project", - "description": "Name of the project the resource belongs to.", - "in": "path", - "required": true, + "name": "task_execution_id.node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, "type": "string" }, { - "name": "id.task_id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", - "in": "path", - "required": true, - "type": "string" + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" }, { - "name": "id.task_id.name", - "description": "User provided value for the resource.", - "in": "path", - "required": true, + "name": "token", + "description": "In the case of multiple pages of results, the, server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, "type": "string" }, { - "name": "id.task_id.version", - "description": "Specific version of the resource.", - "in": "path", - "required": true, + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, "type": "string" }, { - "name": "id.retry_attempt", - "in": "path", - "required": true, - "type": "integer", - "format": "int64" + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" }, { - "name": "id.task_id.resource_type", - "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", "in": "query", "required": false, "type": "string", "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" + "DESCENDING", + "ASCENDING" ], - "default": "UNSPECIFIED" + "default": "DESCENDING" } ], "tags": [ @@ -441,32 +485,25 @@ ] } }, - "/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}": { + "/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}": { "get": { - "summary": "Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object.", - "operationId": "GetDescriptionEntity", + "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "GetExecutionData2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminDescriptionEntity" + "$ref": "#/definitions/adminWorkflowExecutionGetDataResponse" } } }, "parameters": [ { - "name": "id.resource_type", - "description": "Identifies the specific type of resource that this identifier corresponds to.", + "name": "id.org", + "description": "Optional, org key applied to the resource.", "in": "path", "required": true, - "type": "string", - "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" - ] + "type": "string" }, { "name": "id.project", @@ -484,14 +521,7 @@ }, { "name": "id.name", - "description": "User provided value for the resource.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.version", - "description": "Specific version of the resource.", + "description": "User or system provided value for the resource.", "in": "path", "required": true, "type": "string" @@ -500,154 +530,3773 @@ "tags": [ "AdminService" ] - } - }, - "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}": { - "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions.", - "operationId": "ListDescriptionEntities2", + }, + "delete": { + "summary": "Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "TerminateExecution2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionTerminateResponse" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminExecutionTerminateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/data/executions/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "GetExecutionData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminWorkflowExecutionGetDataResponse" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}": { + "get": { + "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`.", + "operationId": "GetNodeExecutionData2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNodeExecutionGetDataResponse" + } + } + }, + "parameters": [ + { + "name": "id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_id", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}": { + "get": { + "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`.", + "operationId": "GetNodeExecutionData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNodeExecutionGetDataResponse" + } + } + }, + "parameters": [ + { + "name": "id.execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}": { + "get": { + "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`.", + "operationId": "GetTaskExecutionData2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminTaskExecutionGetDataResponse" + } + } + }, + "parameters": [ + { + "name": "id.node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.node_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.retry_attempt", + "in": "path", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "id.task_id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ], + "default": "UNSPECIFIED" + }, + { + "name": "id.task_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}": { + "get": { + "summary": "Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`.", + "operationId": "GetTaskExecutionData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminTaskExecutionGetDataResponse" + } + } + }, + "parameters": [ + { + "name": "id.node_execution_id.execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.node_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.task_id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.retry_attempt", + "in": "path", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "id.task_id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ], + "default": "UNSPECIFIED" + }, + { + "name": "id.task_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "id.node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}": { + "get": { + "summary": "Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object.", + "operationId": "GetDescriptionEntity2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminDescriptionEntity" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}": { + "get": { + "summary": "Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object.", + "operationId": "GetDescriptionEntity", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminDescriptionEntity" + } + } + }, + "parameters": [ + { + "name": "id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions.", + "operationId": "ListDescriptionEntities4", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminDescriptionEntityList" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions.", + "operationId": "ListDescriptionEntities2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminDescriptionEntityList" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions.", + "operationId": "ListDescriptionEntities3", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminDescriptionEntityList" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions.", + "operationId": "ListDescriptionEntities", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminDescriptionEntityList" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/events/nodes": { + "post": { + "summary": "Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred.", + "operationId": "CreateNodeEvent", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNodeExecutionEventResponse" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminNodeExecutionEventRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/events/tasks": { + "post": { + "summary": "Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred.", + "operationId": "CreateTaskEvent", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminTaskExecutionEventResponse" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminTaskExecutionEventRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/events/workflows": { + "post": { + "summary": "Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred.", + "operationId": "CreateWorkflowEvent", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminWorkflowExecutionEventResponse" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminWorkflowExecutionEventRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/executions": { + "post": { + "summary": "Triggers the creation of a :ref:`ref_flyteidl.admin.Execution`", + "operationId": "CreateExecution", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionCreateResponse" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminExecutionCreateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "ListExecutions2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionList" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetches a :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "GetExecution2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecution" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + }, + "put": { + "summary": "Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "UpdateExecution2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminExecutionUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/executions/recover": { + "post": { + "summary": "Recreates a previously-run workflow execution that will only start executing from the last known failure point.\nIn Recover mode, users cannot change any input parameters or update the version of the execution.\nThis is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures,\ndownstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again.\nSee :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details.", + "operationId": "RecoverExecution", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionCreateResponse" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminExecutionRecoverRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/executions/relaunch": { + "post": { + "summary": "Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution`", + "operationId": "RelaunchExecution", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionCreateResponse" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminExecutionRelaunchRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/executions/{id.project}/{id.domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "ListExecutions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionList" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/executions/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetches a :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "GetExecution", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecution" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + }, + "delete": { + "summary": "Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "TerminateExecution", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionTerminateResponse" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminExecutionTerminateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + }, + "put": { + "summary": "Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "UpdateExecution", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminExecutionUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminExecutionUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plan_ids/org/{org}/{project}/{domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects.", + "operationId": "ListLaunchPlanIds2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntityIdentifierList" + } + } + }, + "parameters": [ + { + "name": "org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", + "description": "Name of the project that contains the identifiers.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "description": "Name of the domain the identifiers belongs to within the project.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\n+optional.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plan_ids/{project}/{domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects.", + "operationId": "ListLaunchPlanIds", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntityIdentifierList" + } + } + }, + "parameters": [ + { + "name": "project", + "description": "Name of the project that contains the identifiers.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "description": "Name of the domain the identifiers belongs to within the project.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plans": { + "post": { + "summary": "Create and upload a :ref:`ref_flyteidl.admin.LaunchPlan` definition", + "operationId": "CreateLaunchPlan", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlanCreateResponse" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminLaunchPlanCreateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions.", + "operationId": "ListLaunchPlans4", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlanList" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions.", + "operationId": "ListLaunchPlans2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlanList" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}": { + "get": { + "summary": "Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition.", + "operationId": "GetLaunchPlan2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlan" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ], + "default": "UNSPECIFIED" + } + ], + "tags": [ + "AdminService" + ] + }, + "put": { + "summary": "Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`.", + "operationId": "UpdateLaunchPlan2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlanUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plans/{id.project}/{id.domain}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions.", + "operationId": "ListLaunchPlans3", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlanList" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions.", + "operationId": "ListLaunchPlans", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlanList" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}": { + "get": { + "summary": "Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition.", + "operationId": "GetLaunchPlan", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlan" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ], + "default": "UNSPECIFIED" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + }, + "put": { + "summary": "Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`.", + "operationId": "UpdateLaunchPlan", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminLaunchPlanUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminLaunchPlanUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/matchable_attributes": { + "get": { + "summary": "Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type.", + "operationId": "ListMatchableAttributes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminListMatchableAttributesResponse" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "TASK_RESOURCE", + "CLUSTER_RESOURCE", + "EXECUTION_QUEUE", + "EXECUTION_CLUSTER_LABEL", + "QUALITY_OF_SERVICE_SPECIFICATION", + "PLUGIN_OVERRIDE", + "WORKFLOW_EXECUTION_CONFIG", + "CLUSTER_ASSIGNMENT" + ], + "default": "TASK_RESOURCE" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "GetExecutionMetrics2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminWorkflowExecutionGetMetricsResponse" + } + } + }, + "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "depth", + "description": "depth defines the number of Flyte entity levels to traverse when breaking down execution details.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`.", + "operationId": "GetExecutionMetrics", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminWorkflowExecutionGetMetricsResponse" + } + } + }, + "parameters": [ + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "depth", + "description": "depth defines the number of Flyte entity levels to traverse when breaking down execution details.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Returns a :ref:`ref_flyteidl.admin.NamedEntity` object.", + "operationId": "GetNamedEntity2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntity" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Resource type of the metadata to get. One of Task, Workflow or LaunchPlan.\n+required", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + }, + "put": { + "summary": "Updates a :ref:`ref_flyteidl.admin.NamedEntity` object.", + "operationId": "UpdateNamedEntity2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntityUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Resource type of the metadata to update\n+required", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminNamedEntityUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain}": { + "get": { + "summary": "Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects.", + "operationId": "ListNamedEntities2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntityList" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Resource type of the metadata to query. One of Task, Workflow or LaunchPlan.\n+required", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", + "description": "Name of the project that contains the identifiers.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "description": "Name of the domain the identifiers belongs to within the project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\n+optional.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}": { + "get": { + "summary": "Returns a :ref:`ref_flyteidl.admin.NamedEntity` object.", + "operationId": "GetNamedEntity", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntity" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Resource type of the metadata to get. One of Task, Workflow or LaunchPlan.\n+required", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + }, + "put": { + "summary": "Updates a :ref:`ref_flyteidl.admin.NamedEntity` object.", + "operationId": "UpdateNamedEntity", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntityUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Resource type of the metadata to update\n+required", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminNamedEntityUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/named_entities/{resource_type}/{project}/{domain}": { + "get": { + "summary": "Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects.", + "operationId": "ListNamedEntities", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNamedEntityList" + } + } + }, + "parameters": [ + { + "name": "resource_type", + "description": "Resource type of the metadata to query. One of Task, Workflow or LaunchPlan.\n+required", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ] + }, + { + "name": "project", + "description": "Name of the project that contains the identifiers.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "description": "Name of the domain the identifiers belongs to within the project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}": { + "get": { + "summary": "Fetches a :ref:`ref_flyteidl.admin.NodeExecution`.", + "operationId": "GetNodeExecution2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/flyteidladminNodeExecution" + } + } + }, + "parameters": [ + { + "name": "id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_id", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`.", + "operationId": "ListNodeExecutions2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNodeExecutionList" + } + } + }, + "parameters": [ + { + "name": "workflow_execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + }, + { + "name": "unique_parent_id", + "description": "Unique identifier of the parent node in the execution\n+optional.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}": { + "get": { + "summary": "Fetches a :ref:`ref_flyteidl.admin.NodeExecution`.", + "operationId": "GetNodeExecution", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/flyteidladminNodeExecution" + } + } + }, + "parameters": [ + { + "name": "id.execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}": { + "get": { + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`.", + "operationId": "ListNodeExecutions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminNodeExecutionList" + } + } + }, + "parameters": [ + { + "name": "workflow_execution_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow_execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" + }, + { + "name": "unique_parent_id", + "description": "Unique identifier of the parent node in the execution\n+optional.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_attributes/{attributes.project}": { + "put": { + "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level", + "operationId": "UpdateProjectAttributes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectAttributesUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "attributes.project", + "description": "Unique project id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminProjectAttributesUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_attributes/{project}": { + "get": { + "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "GetProjectAttributes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectAttributesGetResponse" + } + } + }, + "parameters": [ + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "resource_type", + "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "TASK_RESOURCE", + "CLUSTER_RESOURCE", + "EXECUTION_QUEUE", + "EXECUTION_CLUSTER_LABEL", + "QUALITY_OF_SERVICE_SPECIFICATION", + "PLUGIN_OVERRIDE", + "WORKFLOW_EXECUTION_CONFIG", + "CLUSTER_ASSIGNMENT" + ], + "default": "TASK_RESOURCE" + }, + { + "name": "org", + "description": "Optional, org key applied to the project.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "AdminService" + ] + }, + "delete": { + "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "DeleteProjectAttributes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectAttributesDeleteResponse" + } + } + }, + "parameters": [ + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminProjectAttributesDeleteRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}": { + "put": { + "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level", + "operationId": "UpdateProjectAttributes2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectAttributesUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "attributes.org", + "description": "Optional, org key applied to the project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attributes.project", + "description": "Unique project id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminProjectAttributesUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}": { + "put": { + "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "UpdateProjectDomainAttributes2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "attributes.org", + "description": "Optional, org key applied to the attributes.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attributes.project", + "description": "Unique project id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attributes.domain", + "description": "Unique domain id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_domain_attributes/org/{org}/{project}": { + "get": { + "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "GetProjectAttributes2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminDescriptionEntityList" + "$ref": "#/definitions/adminProjectAttributesGetResponse" } } }, "parameters": [ + { + "name": "org", + "description": "Optional, org key applied to the project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, { "name": "resource_type", - "description": "Identifies the specific type of resource that this identifier corresponds to.", + "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "TASK_RESOURCE", + "CLUSTER_RESOURCE", + "EXECUTION_QUEUE", + "EXECUTION_CLUSTER_LABEL", + "QUALITY_OF_SERVICE_SPECIFICATION", + "PLUGIN_OVERRIDE", + "WORKFLOW_EXECUTION_CONFIG", + "CLUSTER_ASSIGNMENT" + ], + "default": "TASK_RESOURCE" + } + ], + "tags": [ + "AdminService" + ] + }, + "delete": { + "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "DeleteProjectAttributes2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectAttributesDeleteResponse" + } + } + }, + "parameters": [ + { + "name": "org", + "description": "Optional, org key applied to the project.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminProjectAttributesDeleteRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_domain_attributes/org/{org}/{project}/{domain}": { + "get": { + "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "GetProjectDomainAttributes2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesGetResponse" + } + } + }, + "parameters": [ + { + "name": "org", + "description": "Optional, org key applied to the attributes.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "description": "Unique domain id which this set of attributes references.\n+required", "in": "path", "required": true, + "type": "string" + }, + { + "name": "resource_type", + "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "in": "query", + "required": false, "type": "string", "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" - ] + "TASK_RESOURCE", + "CLUSTER_RESOURCE", + "EXECUTION_QUEUE", + "EXECUTION_CLUSTER_LABEL", + "QUALITY_OF_SERVICE_SPECIFICATION", + "PLUGIN_OVERRIDE", + "WORKFLOW_EXECUTION_CONFIG", + "CLUSTER_ASSIGNMENT" + ], + "default": "TASK_RESOURCE" + } + ], + "tags": [ + "AdminService" + ] + }, + "delete": { + "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "DeleteProjectDomainAttributes2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesDeleteResponse" + } + } + }, + "parameters": [ + { + "name": "org", + "description": "Optional, org key applied to the attributes.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "description": "Unique domain id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesDeleteRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}": { + "put": { + "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "UpdateProjectDomainAttributes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesUpdateResponse" + } + } + }, + "parameters": [ + { + "name": "attributes.project", + "description": "Unique project id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attributes.domain", + "description": "Unique domain id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "id.project", - "description": "Name of the project the resource belongs to.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesUpdateRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/project_domain_attributes/{project}/{domain}": { + "get": { + "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "GetProjectDomainAttributes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesGetResponse" + } + } + }, + "parameters": [ + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "name": "domain", + "description": "Unique domain id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", - "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "description": "Indicates the number of resources to be returned.\n+required.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "token", - "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "filters", - "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "name": "resource_type", + "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", "in": "query", "required": false, - "type": "string" + "type": "string", + "enum": [ + "TASK_RESOURCE", + "CLUSTER_RESOURCE", + "EXECUTION_QUEUE", + "EXECUTION_CLUSTER_LABEL", + "QUALITY_OF_SERVICE_SPECIFICATION", + "PLUGIN_OVERRIDE", + "WORKFLOW_EXECUTION_CONFIG", + "CLUSTER_ASSIGNMENT" + ], + "default": "TASK_RESOURCE" }, { - "name": "sort_by.key", - "description": "Indicates an attribute to sort the response values.\n+required.", + "name": "org", + "description": "Optional, org key applied to the attributes.", "in": "query", "required": false, "type": "string" - }, - { - "name": "sort_by.direction", - "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "DESCENDING", - "ASCENDING" - ], - "default": "DESCENDING" } ], "tags": [ "AdminService" ] - } - }, - "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}": { - "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions.", - "operationId": "ListDescriptionEntities", + }, + "delete": { + "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", + "operationId": "DeleteProjectDomainAttributes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminDescriptionEntityList" + "$ref": "#/definitions/adminProjectDomainAttributesDeleteResponse" } } }, "parameters": [ { - "name": "resource_type", - "description": "Identifies the specific type of resource that this identifier corresponds to.", - "in": "path", - "required": true, - "type": "string", - "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" - ] - }, - { - "name": "id.project", - "description": "Name of the project the resource belongs to.", + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "name": "domain", + "description": "Unique domain id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", - "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, + "schema": { + "$ref": "#/definitions/adminProjectDomainAttributesDeleteRequest" + } + } + ], + "tags": [ + "AdminService" + ] + } + }, + "/api/v1/projects": { + "get": { + "summary": "Fetches a list of :ref:`ref_flyteidl.admin.Project`", + "operationId": "ListProjects", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/adminProjects" + } + } + }, + "parameters": [ { "name": "limit", - "description": "Indicates the number of resources to be returned.\n+required.", + "description": "Indicates the number of projects to be returned.\n+required.", "in": "query", "required": false, "type": "integer", @@ -655,7 +4304,7 @@ }, { "name": "token", - "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", "in": "query", "required": false, "type": "string" @@ -690,17 +4339,15 @@ "tags": [ "AdminService" ] - } - }, - "/api/v1/events/nodes": { + }, "post": { - "summary": "Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred.", - "operationId": "CreateNodeEvent", + "summary": "Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment.", + "operationId": "RegisterProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminNodeExecutionEventResponse" + "$ref": "#/definitions/adminProjectRegisterResponse" } } }, @@ -710,7 +4357,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/adminNodeExecutionEventRequest" + "$ref": "#/definitions/adminProjectRegisterRequest" } } ], @@ -719,79 +4366,39 @@ ] } }, - "/api/v1/events/tasks": { - "post": { - "summary": "Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred.", - "operationId": "CreateTaskEvent", + "/api/v1/projects/org/{org}/{id}": { + "put": { + "summary": "Updates an existing :ref:`ref_flyteidl.admin.Project`\nflyteidl.admin.Project should be passed but the domains property should be empty;\nit will be ignored in the handler as domains cannot be updated via this API.", + "operationId": "UpdateProject2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminTaskExecutionEventResponse" + "$ref": "#/definitions/adminProjectUpdateResponse" } } }, "parameters": [ { - "name": "body", - "in": "body", + "name": "org", + "description": "Optional, org key applied to the resource.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/adminTaskExecutionEventRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/events/workflows": { - "post": { - "summary": "Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred.", - "operationId": "CreateWorkflowEvent", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminWorkflowExecutionEventResponse" - } - } - }, - "parameters": [ + "type": "string" + }, { - "name": "body", - "in": "body", + "name": "id", + "description": "Globally unique project name.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/adminWorkflowExecutionEventRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/executions": { - "post": { - "summary": "Triggers the creation of a :ref:`ref_flyteidl.admin.Execution`", - "operationId": "CreateExecution", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminExecutionCreateResponse" - } - } - }, - "parameters": [ + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/adminExecutionCreateRequest" + "$ref": "#/definitions/adminProject" } } ], @@ -800,52 +4407,32 @@ ] } }, - "/api/v1/executions/recover": { - "post": { - "summary": "Recreates a previously-run workflow execution that will only start executing from the last known failure point.\nIn Recover mode, users cannot change any input parameters or update the version of the execution.\nThis is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures,\ndownstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again.\nSee :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details.", - "operationId": "RecoverExecution", + "/api/v1/projects/{id}": { + "put": { + "summary": "Updates an existing :ref:`ref_flyteidl.admin.Project`\nflyteidl.admin.Project should be passed but the domains property should be empty;\nit will be ignored in the handler as domains cannot be updated via this API.", + "operationId": "UpdateProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminExecutionCreateResponse" + "$ref": "#/definitions/adminProjectUpdateResponse" } } }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "Globally unique project name.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/adminExecutionRecoverRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/executions/relaunch": { - "post": { - "summary": "Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution`", - "operationId": "RelaunchExecution", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminExecutionCreateResponse" - } - } - }, - "parameters": [ + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/adminExecutionRelaunchRequest" + "$ref": "#/definitions/adminProject" } } ], @@ -854,80 +4441,109 @@ ] } }, - "/api/v1/executions/{id.project}/{id.domain}": { + "/api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}": { "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Execution`.", - "operationId": "ListExecutions", + "summary": "Fetches a :ref:`ref_flyteidl.admin.TaskExecution`.", + "operationId": "GetTaskExecution2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminExecutionList" + "$ref": "#/definitions/flyteidladminTaskExecution" } } }, "parameters": [ { - "name": "id.project", + "name": "id.node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.node_execution_id.execution_id.project", "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", + "name": "id.node_execution_id.execution_id.domain", "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", - "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", - "in": "query", - "required": false, + "name": "id.node_execution_id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, "type": "string" }, { - "name": "limit", - "description": "Indicates the number of resources to be returned.\n+required.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" + "name": "id.node_execution_id.node_id", + "in": "path", + "required": true, + "type": "string" }, { - "name": "token", - "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", - "in": "query", - "required": false, + "name": "id.task_id.project", + "description": "Name of the project the resource belongs to.", + "in": "path", + "required": true, "type": "string" }, { - "name": "filters", - "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", - "in": "query", - "required": false, + "name": "id.task_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", + "required": true, "type": "string" }, { - "name": "sort_by.key", - "description": "Indicates an attribute to sort the response values.\n+required.", - "in": "query", - "required": false, + "name": "id.task_id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, "type": "string" }, { - "name": "sort_by.direction", - "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "name": "id.task_id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.retry_attempt", + "in": "path", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "id.task_id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", "in": "query", "required": false, "type": "string", "enum": [ - "DESCENDING", - "ASCENDING" + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" ], - "default": "DESCENDING" + "default": "UNSPECIFIED" + }, + { + "name": "id.task_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -935,232 +4551,203 @@ ] } }, - "/api/v1/executions/{id.project}/{id.domain}/{id.name}": { + "/api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}": { "get": { - "summary": "Fetches a :ref:`ref_flyteidl.admin.Execution`.", - "operationId": "GetExecution", + "summary": "Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`.", + "operationId": "ListTaskExecutions2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminExecution" + "$ref": "#/definitions/adminTaskExecutionList" } } }, "parameters": [ { - "name": "id.project", + "name": "node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "node_execution_id.execution_id.project", "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", + "name": "node_execution_id.execution_id.domain", "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", + "name": "node_execution_id.execution_id.name", "description": "User or system provided value for the resource.", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "AdminService" - ] - }, - "delete": { - "summary": "Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`.", - "operationId": "TerminateExecution", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminExecutionTerminateResponse" - } - } - }, - "parameters": [ + }, { - "name": "id.project", - "description": "Name of the project the resource belongs to.", + "name": "node_execution_id.node_id", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", - "in": "path", - "required": true, + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, "type": "string" }, { - "name": "id.name", - "description": "User or system provided value for the resource.", - "in": "path", - "required": true, + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/adminExecutionTerminateRequest" - } + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" } ], "tags": [ "AdminService" ] - }, - "put": { - "summary": "Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`.", - "operationId": "UpdateExecution", + } + }, + "/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}": { + "get": { + "summary": "Fetches a :ref:`ref_flyteidl.admin.TaskExecution`.", + "operationId": "GetTaskExecution", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminExecutionUpdateResponse" + "$ref": "#/definitions/flyteidladminTaskExecution" } } }, "parameters": [ { - "name": "id.project", + "name": "id.node_execution_id.execution_id.project", "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", + "name": "id.node_execution_id.execution_id.domain", "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", + "name": "id.node_execution_id.execution_id.name", "description": "User or system provided value for the resource.", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", + "name": "id.node_execution_id.node_id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/adminExecutionUpdateRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/launch_plan_ids/{project}/{domain}": { - "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects.", - "operationId": "ListLaunchPlanIds", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminNamedEntityIdentifierList" - } - } - }, - "parameters": [ + "type": "string" + }, { - "name": "project", - "description": "Name of the project that contains the identifiers.\n+required", + "name": "id.task_id.project", + "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "domain", - "description": "Name of the domain the identifiers belongs to within the project.\n+required", + "name": "id.task_id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "limit", - "description": "Indicates the number of resources to be returned.\n+required.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" + "name": "id.task_id.name", + "description": "User provided value for the resource.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "token", - "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", - "in": "query", - "required": false, + "name": "id.task_id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, "type": "string" }, { - "name": "sort_by.key", - "description": "Indicates an attribute to sort the response values.\n+required.", - "in": "query", - "required": false, - "type": "string" + "name": "id.retry_attempt", + "in": "path", + "required": true, + "type": "integer", + "format": "int64" }, { - "name": "sort_by.direction", - "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "name": "id.task_id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", "in": "query", "required": false, "type": "string", "enum": [ - "DESCENDING", - "ASCENDING" + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" ], - "default": "DESCENDING" + "default": "UNSPECIFIED" }, { - "name": "filters", - "description": "Indicates a list of filters passed as string.\n+optional.", + "name": "id.task_id.org", + "description": "Optional, org key applied to the resource.", "in": "query", "required": false, "type": "string" - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/launch_plans": { - "post": { - "summary": "Create and upload a :ref:`ref_flyteidl.admin.LaunchPlan` definition", - "operationId": "CreateLaunchPlan", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminLaunchPlanCreateResponse" - } - } - }, - "parameters": [ + }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/adminLaunchPlanCreateRequest" - } + "name": "id.node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -1168,36 +4755,49 @@ ] } }, - "/api/v1/launch_plans/{id.project}/{id.domain}": { + "/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}": { "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions.", - "operationId": "ListLaunchPlans2", + "summary": "Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`.", + "operationId": "ListTaskExecutions", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminLaunchPlanList" + "$ref": "#/definitions/adminTaskExecutionList" } } }, "parameters": [ { - "name": "id.project", + "name": "node_execution_id.execution_id.project", "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "id.domain", + "name": "node_execution_id.execution_id.domain", "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", - "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "name": "node_execution_id.execution_id.name", + "description": "User or system provided value for the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "node_execution_id.node_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "node_execution_id.execution_id.org", + "description": "Optional, org key applied to the resource.", "in": "query", "required": false, "type": "string" @@ -1212,7 +4812,7 @@ }, { "name": "token", - "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", "in": "query", "required": false, "type": "string" @@ -1249,36 +4849,29 @@ ] } }, - "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}": { + "/api/v1/task_ids/{project}/{domain}": { "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions.", - "operationId": "ListLaunchPlans", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects.", + "operationId": "ListTaskIds", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminLaunchPlanList" + "$ref": "#/definitions/adminNamedEntityIdentifierList" } } }, "parameters": [ { - "name": "id.project", - "description": "Name of the project the resource belongs to.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "name": "project", + "description": "Name of the project that contains the identifiers.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.name", - "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "name": "domain", + "description": "Name of the domain the identifiers belongs to within the project.\n+required", "in": "path", "required": true, "type": "string" @@ -1293,14 +4886,7 @@ }, { "name": "token", - "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "filters", - "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", "in": "query", "required": false, "type": "string" @@ -1323,120 +4909,46 @@ "ASCENDING" ], "default": "DESCENDING" - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}": { - "get": { - "summary": "Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition.", - "operationId": "GetLaunchPlan", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminLaunchPlan" - } - } - }, - "parameters": [ - { - "name": "id.project", - "description": "Name of the project the resource belongs to.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.name", - "description": "User provided value for the resource.", - "in": "path", - "required": true, - "type": "string" }, { - "name": "id.version", - "description": "Specific version of the resource.", - "in": "path", - "required": true, + "name": "filters", + "description": "Indicates a list of filters passed as string.\n+optional.", + "in": "query", + "required": false, "type": "string" }, { - "name": "id.resource_type", - "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "name": "org", + "description": "Optional, org key applied to the resource.", "in": "query", "required": false, - "type": "string", - "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" - ], - "default": "UNSPECIFIED" + "type": "string" } ], "tags": [ "AdminService" ] - }, - "put": { - "summary": "Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`.", - "operationId": "UpdateLaunchPlan", + } + }, + "/api/v1/tasks": { + "post": { + "summary": "Create and upload a :ref:`ref_flyteidl.admin.Task` definition", + "operationId": "CreateTask", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminLaunchPlanUpdateResponse" + "$ref": "#/definitions/flyteidladminTaskCreateResponse" } } }, "parameters": [ - { - "name": "id.project", - "description": "Name of the project the resource belongs to.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.name", - "description": "User provided value for the resource.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.version", - "description": "Specific version of the resource.", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/adminLaunchPlanUpdateRequest" + "$ref": "#/definitions/flyteidladminTaskCreateRequest" } } ], @@ -1445,56 +4957,26 @@ ] } }, - "/api/v1/matchable_attributes": { + "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}": { "get": { - "summary": "Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type.", - "operationId": "ListMatchableAttributes", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions.", + "operationId": "ListTasks4", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminListMatchableAttributesResponse" + "$ref": "#/definitions/adminTaskList" } } }, "parameters": [ { - "name": "resource_type", - "description": "+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "TASK_RESOURCE", - "CLUSTER_RESOURCE", - "EXECUTION_QUEUE", - "EXECUTION_CLUSTER_LABEL", - "QUALITY_OF_SERVICE_SPECIFICATION", - "PLUGIN_OVERRIDE", - "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" - ], - "default": "TASK_RESOURCE" - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}": { - "get": { - "summary": "Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`.", - "operationId": "GetExecutionMetrics", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminWorkflowExecutionGetMetricsResponse" - } - } - }, - "parameters": [ + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "id.project", "description": "Name of the project the resource belongs to.", @@ -1511,18 +4993,51 @@ }, { "name": "id.name", - "description": "User or system provided value for the resource.", - "in": "path", - "required": true, + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, "type": "string" }, { - "name": "depth", - "description": "depth defines the number of Flyte entity levels to traverse when breaking down execution details.", + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", "in": "query", "required": false, "type": "integer", - "format": "int32" + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" } ], "tags": [ @@ -1530,32 +5045,25 @@ ] } }, - "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}": { + "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}": { "get": { - "summary": "Returns a :ref:`ref_flyteidl.admin.NamedEntity` object.", - "operationId": "GetNamedEntity", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions.", + "operationId": "ListTasks2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminNamedEntity" + "$ref": "#/definitions/adminTaskList" } } }, "parameters": [ { - "name": "resource_type", - "description": "Resource type of the metadata to get. One of Task, Workflow or LaunchPlan.\n+required", + "name": "id.org", + "description": "Optional, org key applied to the resource.", "in": "path", "required": true, - "type": "string", - "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" - ] + "type": "string" }, { "name": "id.project", @@ -1577,37 +5085,73 @@ "in": "path", "required": true, "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" } ], "tags": [ "AdminService" ] - }, - "put": { - "summary": "Updates a :ref:`ref_flyteidl.admin.NamedEntity` object.", - "operationId": "UpdateNamedEntity", + } + }, + "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}": { + "get": { + "summary": "Fetch a :ref:`ref_flyteidl.admin.Task` definition.", + "operationId": "GetTask2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminNamedEntityUpdateResponse" + "$ref": "#/definitions/adminTask" } } }, "parameters": [ { - "name": "resource_type", - "description": "Resource type of the metadata to update\n+required", + "name": "id.org", + "description": "Optional, org key applied to the resource.", "in": "path", "required": true, - "type": "string", - "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" - ] + "type": "string" }, { "name": "id.project", @@ -1625,18 +5169,32 @@ }, { "name": "id.name", - "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", + "description": "User provided value for the resource.", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/adminNamedEntityUpdateRequest" - } + "type": "string" + }, + { + "name": "id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" + ], + "default": "UNSPECIFIED" } ], "tags": [ @@ -1644,32 +5202,25 @@ ] } }, - "/api/v1/named_entities/{resource_type}/{project}/{domain}": { + "/api/v1/tasks/org/{org}/{project}/{domain}": { "get": { - "summary": "Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects.", - "operationId": "ListNamedEntities", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects.", + "operationId": "ListTaskIds2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminNamedEntityList" + "$ref": "#/definitions/adminNamedEntityIdentifierList" } } }, "parameters": [ { - "name": "resource_type", - "description": "Resource type of the metadata to query. One of Task, Workflow or LaunchPlan.\n+required", + "name": "org", + "description": "Optional, org key applied to the resource.", "in": "path", "required": true, - "type": "string", - "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" - ] + "type": "string" }, { "name": "project", @@ -1680,14 +5231,14 @@ }, { "name": "domain", - "description": "Name of the domain the identifiers belongs to within the project.", + "description": "Name of the domain the identifiers belongs to within the project.\n+required", "in": "path", "required": true, "type": "string" }, { "name": "limit", - "description": "Indicates the number of resources to be returned.", + "description": "Indicates the number of resources to be returned.\n+required.", "in": "query", "required": false, "type": "integer", @@ -1732,45 +5283,87 @@ ] } }, - "/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}": { + "/api/v1/tasks/{id.project}/{id.domain}": { "get": { - "summary": "Fetches a :ref:`ref_flyteidl.admin.NodeExecution`.", - "operationId": "GetNodeExecution", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions.", + "operationId": "ListTasks3", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/flyteidladminNodeExecution" + "$ref": "#/definitions/adminTaskList" } } }, "parameters": [ { - "name": "id.execution_id.project", + "name": "id.project", "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "id.execution_id.domain", + "name": "id.domain", "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "id.execution_id.name", - "description": "User or system provided value for the resource.", - "in": "path", - "required": true, + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'.", + "in": "query", + "required": false, "type": "string" }, { - "name": "id.node_id", - "in": "path", - "required": true, + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "Indicates the number of resources to be returned.\n+required.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filters", + "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "sort_by.key", + "description": "Indicates an attribute to sort the response values.\n+required.", + "in": "query", + "required": false, "type": "string" + }, + { + "name": "sort_by.direction", + "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "DESCENDING", + "ASCENDING" + ], + "default": "DESCENDING" } ], "tags": [ @@ -1778,40 +5371,47 @@ ] } }, - "/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}": { + "/api/v1/tasks/{id.project}/{id.domain}/{id.name}": { "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`.", - "operationId": "ListNodeExecutions", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions.", + "operationId": "ListTasks", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminNodeExecutionList" + "$ref": "#/definitions/adminTaskList" } } }, "parameters": [ { - "name": "workflow_execution_id.project", + "name": "id.project", "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "workflow_execution_id.domain", + "name": "id.domain", "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", "in": "path", "required": true, "type": "string" }, { - "name": "workflow_execution_id.name", - "description": "User or system provided value for the resource.", + "name": "id.name", + "description": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'", "in": "path", "required": true, "type": "string" }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, { "name": "limit", "description": "Indicates the number of resources to be returned.\n+required.", @@ -1822,6 +5422,7 @@ }, { "name": "token", + "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", "in": "query", "required": false, "type": "string" @@ -1851,13 +5452,6 @@ "ASCENDING" ], "default": "DESCENDING" - }, - { - "name": "unique_parent_id", - "description": "Unique identifier of the parent node in the execution\n+optional.", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ @@ -1865,129 +5459,111 @@ ] } }, - "/api/v1/project_attributes/{attributes.project}": { - "put": { - "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level", - "operationId": "UpdateProjectAttributes", + "/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}": { + "get": { + "summary": "Fetch a :ref:`ref_flyteidl.admin.Task` definition.", + "operationId": "GetTask", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminProjectAttributesUpdateResponse" + "$ref": "#/definitions/adminTask" } } }, "parameters": [ { - "name": "attributes.project", - "description": "Unique project id for which this set of attributes will be applied.", + "name": "id.project", + "description": "Name of the project the resource belongs to.", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", + "name": "id.domain", + "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/adminProjectAttributesUpdateRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/project_attributes/{project}": { - "get": { - "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", - "operationId": "GetProjectAttributes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminProjectAttributesGetResponse" - } - } - }, - "parameters": [ + "type": "string" + }, { - "name": "project", - "description": "Unique project id which this set of attributes references.\n+required", + "name": "id.name", + "description": "User provided value for the resource.", "in": "path", "required": true, "type": "string" }, { - "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "name": "id.version", + "description": "Specific version of the resource.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "id.resource_type", + "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", "in": "query", "required": false, "type": "string", "enum": [ - "TASK_RESOURCE", - "CLUSTER_RESOURCE", - "EXECUTION_QUEUE", - "EXECUTION_CLUSTER_LABEL", - "QUALITY_OF_SERVICE_SPECIFICATION", - "PLUGIN_OVERRIDE", - "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "UNSPECIFIED", + "TASK", + "WORKFLOW", + "LAUNCH_PLAN", + "DATASET" ], - "default": "TASK_RESOURCE" + "default": "UNSPECIFIED" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ "AdminService" ] - }, - "delete": { - "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", - "operationId": "DeleteProjectAttributes", + } + }, + "/api/v1/version": { + "get": { + "operationId": "GetVersion", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminProjectAttributesDeleteResponse" + "$ref": "#/definitions/adminGetVersionResponse" } } }, - "parameters": [ - { - "name": "project", - "description": "Unique project id which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/adminProjectAttributesDeleteRequest" - } - } - ], "tags": [ "AdminService" ] } }, - "/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}": { + "/api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow}": { "put": { - "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", - "operationId": "UpdateProjectDomainAttributes", + "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", + "operationId": "UpdateWorkflowAttributes2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminProjectDomainAttributesUpdateResponse" + "$ref": "#/definitions/adminWorkflowAttributesUpdateResponse" } } }, "parameters": [ + { + "name": "attributes.org", + "description": "Optional, org key applied to the attributes.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "attributes.project", "description": "Unique project id for which this set of attributes will be applied.", @@ -2002,12 +5578,19 @@ "required": true, "type": "string" }, + { + "name": "attributes.workflow", + "description": "Workflow name for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/adminProjectDomainAttributesUpdateRequest" + "$ref": "#/definitions/adminWorkflowAttributesUpdateRequest" } } ], @@ -2016,19 +5599,26 @@ ] } }, - "/api/v1/project_domain_attributes/{project}/{domain}": { + "/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}": { "get": { - "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", - "operationId": "GetProjectDomainAttributes", + "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", + "operationId": "GetWorkflowAttributes2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminProjectDomainAttributesGetResponse" + "$ref": "#/definitions/adminWorkflowAttributesGetResponse" } } }, "parameters": [ + { + "name": "org", + "description": "Optional, org key applied to the attributes.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "project", "description": "Unique project id which this set of attributes references.\n+required", @@ -2043,6 +5633,13 @@ "required": true, "type": "string" }, + { + "name": "workflow", + "description": "Workflow name which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, { "name": "resource_type", "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", @@ -2059,130 +5656,59 @@ "WORKFLOW_EXECUTION_CONFIG", "CLUSTER_ASSIGNMENT" ], - "default": "TASK_RESOURCE" - } - ], - "tags": [ - "AdminService" - ] - }, - "delete": { - "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain.", - "operationId": "DeleteProjectDomainAttributes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminProjectDomainAttributesDeleteResponse" - } - } - }, - "parameters": [ - { - "name": "project", - "description": "Unique project id which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "domain", - "description": "Unique domain id which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/adminProjectDomainAttributesDeleteRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/projects": { - "get": { - "summary": "Fetches a list of :ref:`ref_flyteidl.admin.Project`", - "operationId": "ListProjects", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminProjects" - } - } - }, - "parameters": [ - { - "name": "limit", - "description": "Indicates the number of projects to be returned.\n+required.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "token", - "description": "In the case of multiple pages of results, this server-provided token can be used to fetch the next page\nin a query.\n+optional.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "filters", - "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "sort_by.key", - "description": "Indicates an attribute to sort the response values.\n+required.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "sort_by.direction", - "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "DESCENDING", - "ASCENDING" - ], - "default": "DESCENDING" + "default": "TASK_RESOURCE" } ], "tags": [ "AdminService" ] }, - "post": { - "summary": "Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment.", - "operationId": "RegisterProject", + "delete": { + "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", + "operationId": "DeleteWorkflowAttributes2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminProjectRegisterResponse" + "$ref": "#/definitions/adminWorkflowAttributesDeleteResponse" } } }, "parameters": [ + { + "name": "org", + "description": "Optional, org key applied to the attributes.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "description": "Unique domain id which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflow", + "description": "Workflow name which this set of attributes references.\n+required", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/adminProjectRegisterRequest" + "$ref": "#/definitions/adminWorkflowAttributesDeleteRequest" } } ], @@ -2191,22 +5717,36 @@ ] } }, - "/api/v1/projects/{id}": { + "/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}": { "put": { - "summary": "Updates an existing :ref:`ref_flyteidl.admin.Project` \nflyteidl.admin.Project should be passed but the domains property should be empty;\nit will be ignored in the handler as domains cannot be updated via this API.", - "operationId": "UpdateProject", + "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", + "operationId": "UpdateWorkflowAttributes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminProjectUpdateResponse" + "$ref": "#/definitions/adminWorkflowAttributesUpdateResponse" } } }, "parameters": [ { - "name": "id", - "description": "Globally unique project name.", + "name": "attributes.project", + "description": "Unique project id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attributes.domain", + "description": "Unique domain id for which this set of attributes will be applied.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attributes.workflow", + "description": "Workflow name for which this set of attributes will be applied.", "in": "path", "required": true, "type": "string" @@ -2216,7 +5756,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/adminProject" + "$ref": "#/definitions/adminWorkflowAttributesUpdateRequest" } } ], @@ -2225,182 +5765,110 @@ ] } }, - "/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}": { + "/api/v1/workflow_attributes/{project}/{domain}/{workflow}": { "get": { - "summary": "Fetches a :ref:`ref_flyteidl.admin.TaskExecution`.", - "operationId": "GetTaskExecution", + "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", + "operationId": "GetWorkflowAttributes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/flyteidladminTaskExecution" + "$ref": "#/definitions/adminWorkflowAttributesGetResponse" } } }, "parameters": [ { - "name": "id.node_execution_id.execution_id.project", - "description": "Name of the project the resource belongs to.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.node_execution_id.execution_id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.node_execution_id.execution_id.name", - "description": "User or system provided value for the resource.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.node_execution_id.node_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.task_id.project", - "description": "Name of the project the resource belongs to.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "id.task_id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.task_id.name", - "description": "User provided value for the resource.", + "name": "domain", + "description": "Unique domain id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.task_id.version", - "description": "Specific version of the resource.", + "name": "workflow", + "description": "Workflow name which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "id.retry_attempt", - "in": "path", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "id.task_id.resource_type", - "description": "Identifies the specific type of resource that this identifier corresponds to.\n\n - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.\nEventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects \nin a similar manner to other Flyte objects", + "name": "resource_type", + "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", "in": "query", "required": false, "type": "string", "enum": [ - "UNSPECIFIED", - "TASK", - "WORKFLOW", - "LAUNCH_PLAN", - "DATASET" + "TASK_RESOURCE", + "CLUSTER_RESOURCE", + "EXECUTION_QUEUE", + "EXECUTION_CLUSTER_LABEL", + "QUALITY_OF_SERVICE_SPECIFICATION", + "PLUGIN_OVERRIDE", + "WORKFLOW_EXECUTION_CONFIG", + "CLUSTER_ASSIGNMENT" ], - "default": "UNSPECIFIED" + "default": "TASK_RESOURCE" + }, + { + "name": "org", + "description": "Optional, org key applied to the attributes.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ "AdminService" ] - } - }, - "/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}": { - "get": { - "summary": "Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`.", - "operationId": "ListTaskExecutions", + }, + "delete": { + "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", + "operationId": "DeleteWorkflowAttributes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminTaskExecutionList" + "$ref": "#/definitions/adminWorkflowAttributesDeleteResponse" } } }, "parameters": [ { - "name": "node_execution_id.execution_id.project", - "description": "Name of the project the resource belongs to.", + "name": "project", + "description": "Unique project id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "node_execution_id.execution_id.domain", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project.", + "name": "domain", + "description": "Unique domain id which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "node_execution_id.execution_id.name", - "description": "User or system provided value for the resource.", + "name": "workflow", + "description": "Workflow name which this set of attributes references.\n+required", "in": "path", "required": true, "type": "string" }, { - "name": "node_execution_id.node_id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "limit", - "description": "Indicates the number of resources to be returned.\n+required.", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "token", - "description": "In the case of multiple pages of results, the server-provided token can be used to fetch the next page\nin a query.\n+optional.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "filters", - "description": "Indicates a list of filters passed as string.\nMore info on constructing filters : \u003cLink\u003e\n+optional.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "sort_by.key", - "description": "Indicates an attribute to sort the response values.\n+required.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "sort_by.direction", - "description": "Indicates the direction to apply sort key for response values.\n+optional.\n\n - DESCENDING: By default, fields are sorted in descending order.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "DESCENDING", - "ASCENDING" - ], - "default": "DESCENDING" + "schema": { + "$ref": "#/definitions/adminWorkflowAttributesDeleteRequest" + } } ], "tags": [ @@ -2408,10 +5876,10 @@ ] } }, - "/api/v1/task_ids/{project}/{domain}": { + "/api/v1/workflow_ids/{project}/{domain}": { "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects.", - "operationId": "ListTaskIds", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects.", + "operationId": "ListWorkflowIds", "responses": { "200": { "description": "A successful response.", @@ -2475,6 +5943,13 @@ "in": "query", "required": false, "type": "string" + }, + { + "name": "org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -2482,15 +5957,15 @@ ] } }, - "/api/v1/tasks": { + "/api/v1/workflows": { "post": { - "summary": "Create and upload a :ref:`ref_flyteidl.admin.Task` definition", - "operationId": "CreateTask", + "summary": "Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition", + "operationId": "CreateWorkflow", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/flyteidladminTaskCreateResponse" + "$ref": "#/definitions/adminWorkflowCreateResponse" } } }, @@ -2500,7 +5975,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/flyteidladminTaskCreateRequest" + "$ref": "#/definitions/adminWorkflowCreateRequest" } } ], @@ -2509,19 +5984,26 @@ ] } }, - "/api/v1/tasks/{id.project}/{id.domain}": { + "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}": { "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions.", - "operationId": "ListTasks2", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions.", + "operationId": "ListWorkflows4", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminTaskList" + "$ref": "#/definitions/adminWorkflowList" } } }, "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "id.project", "description": "Name of the project the resource belongs to.", @@ -2590,19 +6072,26 @@ ] } }, - "/api/v1/tasks/{id.project}/{id.domain}/{id.name}": { + "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}": { "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions.", - "operationId": "ListTasks", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions.", + "operationId": "ListWorkflows2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminTaskList" + "$ref": "#/definitions/adminWorkflowList" } } }, "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "id.project", "description": "Name of the project the resource belongs to.", @@ -2671,19 +6160,26 @@ ] } }, - "/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}": { + "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}": { "get": { - "summary": "Fetch a :ref:`ref_flyteidl.admin.Task` definition.", - "operationId": "GetTask", + "summary": "Fetch a :ref:`ref_flyteidl.admin.Workflow` definition.", + "operationId": "GetWorkflow2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminTask" + "$ref": "#/definitions/adminWorkflow" } } }, "parameters": [ + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "path", + "required": true, + "type": "string" + }, { "name": "id.project", "description": "Name of the project the resource belongs to.", @@ -2733,187 +6229,26 @@ ] } }, - "/api/v1/version": { - "get": { - "operationId": "GetVersion", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminGetVersionResponse" - } - } - }, - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}": { - "put": { - "summary": "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", - "operationId": "UpdateWorkflowAttributes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminWorkflowAttributesUpdateResponse" - } - } - }, - "parameters": [ - { - "name": "attributes.project", - "description": "Unique project id for which this set of attributes will be applied.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attributes.domain", - "description": "Unique domain id for which this set of attributes will be applied.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attributes.workflow", - "description": "Workflow name for which this set of attributes will be applied.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/adminWorkflowAttributesUpdateRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/workflow_attributes/{project}/{domain}/{workflow}": { + "/api/v1/workflows/org/{org}/{project}/{domain}": { "get": { - "summary": "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", - "operationId": "GetWorkflowAttributes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminWorkflowAttributesGetResponse" - } - } - }, - "parameters": [ - { - "name": "project", - "description": "Unique project id which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "domain", - "description": "Unique domain id which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "workflow", - "description": "Workflow name which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "TASK_RESOURCE", - "CLUSTER_RESOURCE", - "EXECUTION_QUEUE", - "EXECUTION_CLUSTER_LABEL", - "QUALITY_OF_SERVICE_SPECIFICATION", - "PLUGIN_OVERRIDE", - "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" - ], - "default": "TASK_RESOURCE" - } - ], - "tags": [ - "AdminService" - ] - }, - "delete": { - "summary": "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow.", - "operationId": "DeleteWorkflowAttributes", + "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects.", + "operationId": "ListWorkflowIds2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/adminWorkflowAttributesDeleteResponse" + "$ref": "#/definitions/adminNamedEntityIdentifierList" } } }, "parameters": [ { - "name": "project", - "description": "Unique project id which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "domain", - "description": "Unique domain id which this set of attributes references.\n+required", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "workflow", - "description": "Workflow name which this set of attributes references.\n+required", + "name": "org", + "description": "Optional, org key applied to the resource.", "in": "path", "required": true, "type": "string" }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/adminWorkflowAttributesDeleteRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, - "/api/v1/workflow_ids/{project}/{domain}": { - "get": { - "summary": "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects.", - "operationId": "ListWorkflowIds", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminNamedEntityIdentifierList" - } - } - }, - "parameters": [ { "name": "project", "description": "Name of the project that contains the identifiers.\n+required", @@ -2975,37 +6310,10 @@ ] } }, - "/api/v1/workflows": { - "post": { - "summary": "Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition", - "operationId": "CreateWorkflow", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/adminWorkflowCreateResponse" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/adminWorkflowCreateRequest" - } - } - ], - "tags": [ - "AdminService" - ] - } - }, "/api/v1/workflows/{id.project}/{id.domain}": { "get": { "summary": "Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions.", - "operationId": "ListWorkflows2", + "operationId": "ListWorkflows3", "responses": { "200": { "description": "A successful response.", @@ -3036,6 +6344,13 @@ "required": false, "type": "string" }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, { "name": "limit", "description": "Indicates the number of resources to be returned.\n+required.", @@ -3117,6 +6432,13 @@ "required": true, "type": "string" }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, { "name": "limit", "description": "Indicates the number of resources to be returned.\n+required.", @@ -3219,6 +6541,13 @@ "DATASET" ], "default": "UNSPECIFIED" + }, + { + "name": "id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -3844,6 +7173,10 @@ "$ref": "#/definitions/coreLiteralMap", "description": "The inputs required to start the execution. All required inputs must be\nincluded in this map. If not required and not provided, defaults apply.\n+optional\nDeprecated: Please use input_data instead." }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." + }, "input_data": { "$ref": "#/definitions/coreInputData", "title": "The inputs required to start the execution. All required inputs must be\nincluded in this map. If not required and not provided, defaults apply.\n+optional" @@ -4415,9 +7748,13 @@ }, "launch_plan": { "type": "string" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, - "description": "Represents a custom set of attributes applied for either a domain; a domain and project; or\ndomain, project and workflow name.\nThese are used to override system level defaults for kubernetes cluster resource management,\ndefault execution values, and more all across different levels of specificity." + "description": "Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org);\nor domain, project and workflow name (and optional org).\nThese are used to override system level defaults for kubernetes cluster resource management,\ndefault execution values, and more all across different levels of specificity." }, "adminMatchableResource": { "type": "string", @@ -4495,6 +7832,10 @@ "name": { "type": "string", "title": "User provided value for the resource.\nThe combination of project + domain + name uniquely identifies the resource.\n+optional - in certain contexts - like 'List API', 'Launch plans'" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "description": "Encapsulation of fields that identifies a Flyte resource.\nA Flyte resource can be a task, workflow or launch plan.\nA resource can internally have multiple versions and is uniquely identified\nby project, domain, and name." @@ -4841,6 +8182,10 @@ }, "state": { "$ref": "#/definitions/ProjectProjectState" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "description": "Top-level namespace used to classify different entities like workflows and executions." @@ -4854,6 +8199,10 @@ }, "matching_attributes": { "$ref": "#/definitions/adminMatchingAttributes" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the project." } }, "title": "Defines a set of custom matching attributes at the project level.\nFor more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" @@ -4868,6 +8217,10 @@ "resource_type": { "$ref": "#/definitions/adminMatchableResource", "title": "Which type of matchable attributes to delete.\n+required" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the project." } }, "title": "Request to delete a set matchable project level attribute override.\nFor more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" @@ -4912,6 +8265,10 @@ }, "matching_attributes": { "$ref": "#/definitions/adminMatchingAttributes" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the attributes." } }, "title": "Defines a set of custom matching attributes which defines resource defaults for a project and domain.\nFor more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" @@ -4930,6 +8287,10 @@ "resource_type": { "$ref": "#/definitions/adminMatchableResource", "title": "Which type of matchable attributes to delete.\n+required" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the attributes." } }, "title": "Request to delete a set matchable project domain attribute override.\nFor more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" @@ -5402,6 +8763,10 @@ }, "matching_attributes": { "$ref": "#/definitions/adminMatchingAttributes" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the attributes." } }, "title": "Defines a set of custom matching attributes which defines resource defaults for a project, domain and workflow.\nFor more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" @@ -5424,6 +8789,10 @@ "resource_type": { "$ref": "#/definitions/adminMatchableResource", "title": "Which type of matchable attributes to delete.\n+required" + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the attributes." } }, "title": "Request to delete a set matchable workflow attribute override.\nFor more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" @@ -6245,6 +9614,10 @@ "version": { "type": "string", "description": "Specific version of the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "description": "Encapsulation of fields that uniquely identifies a Flyte resource." @@ -7435,6 +10808,10 @@ "name": { "type": "string", "description": "User or system provided value for the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" diff --git a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json index 5e6d54b34c..35f92d0f8e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/agent.swagger.json @@ -645,6 +645,10 @@ "version": { "type": "string", "description": "Specific version of the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "description": "Encapsulation of fields that uniquely identifies a Flyte resource." @@ -1475,6 +1479,10 @@ "name": { "type": "string", "description": "User or system provided value for the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" diff --git a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json index e041ccb2c8..db44c0ac0b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.swagger.json @@ -599,6 +599,10 @@ "name": { "type": "string", "description": "User or system provided value for the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" diff --git a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json index d71f8441db..f1f5467260 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.swagger.json @@ -449,6 +449,10 @@ "version": { "type": "string", "description": "Specific version of the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "description": "Encapsulation of fields that uniquely identifies a Flyte resource." diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md index 4f7523a112..9448146f4c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md @@ -29,55 +29,98 @@ Class | Method | HTTP request | Description *AdminServiceApi* | [**CreateWorkflow**](docs/AdminServiceApi.md#createworkflow) | **Post** /api/v1/workflows | Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition *AdminServiceApi* | [**CreateWorkflowEvent**](docs/AdminServiceApi.md#createworkflowevent) | **Post** /api/v1/events/workflows | Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred. *AdminServiceApi* | [**DeleteProjectAttributes**](docs/AdminServiceApi.md#deleteprojectattributes) | **Delete** /api/v1/project_attributes/{project} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**DeleteProjectAttributes2**](docs/AdminServiceApi.md#deleteprojectattributes2) | **Delete** /api/v1/project_domain_attributes/org/{org}/{project} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**DeleteProjectDomainAttributes**](docs/AdminServiceApi.md#deleteprojectdomainattributes) | **Delete** /api/v1/project_domain_attributes/{project}/{domain} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**DeleteProjectDomainAttributes2**](docs/AdminServiceApi.md#deleteprojectdomainattributes2) | **Delete** /api/v1/project_domain_attributes/org/{org}/{project}/{domain} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**DeleteWorkflowAttributes**](docs/AdminServiceApi.md#deleteworkflowattributes) | **Delete** /api/v1/workflow_attributes/{project}/{domain}/{workflow} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +*AdminServiceApi* | [**DeleteWorkflowAttributes2**](docs/AdminServiceApi.md#deleteworkflowattributes2) | **Delete** /api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. *AdminServiceApi* | [**GetActiveLaunchPlan**](docs/AdminServiceApi.md#getactivelaunchplan) | **Get** /api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name} | Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. +*AdminServiceApi* | [**GetActiveLaunchPlan2**](docs/AdminServiceApi.md#getactivelaunchplan2) | **Get** /api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. *AdminServiceApi* | [**GetDescriptionEntity**](docs/AdminServiceApi.md#getdescriptionentity) | **Get** /api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. +*AdminServiceApi* | [**GetDescriptionEntity2**](docs/AdminServiceApi.md#getdescriptionentity2) | **Get** /api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. *AdminServiceApi* | [**GetExecution**](docs/AdminServiceApi.md#getexecution) | **Get** /api/v1/executions/{id.project}/{id.domain}/{id.name} | Fetches a :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**GetExecution2**](docs/AdminServiceApi.md#getexecution2) | **Get** /api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetches a :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**GetExecutionData**](docs/AdminServiceApi.md#getexecutiondata) | **Get** /api/v1/data/executions/{id.project}/{id.domain}/{id.name} | Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**GetExecutionData2**](docs/AdminServiceApi.md#getexecutiondata2) | **Get** /api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**GetExecutionMetrics**](docs/AdminServiceApi.md#getexecutionmetrics) | **Get** /api/v1/metrics/executions/{id.project}/{id.domain}/{id.name} | Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**GetExecutionMetrics2**](docs/AdminServiceApi.md#getexecutionmetrics2) | **Get** /api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**GetLaunchPlan**](docs/AdminServiceApi.md#getlaunchplan) | **Get** /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. +*AdminServiceApi* | [**GetLaunchPlan2**](docs/AdminServiceApi.md#getlaunchplan2) | **Get** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. *AdminServiceApi* | [**GetNamedEntity**](docs/AdminServiceApi.md#getnamedentity) | **Get** /api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name} | Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. +*AdminServiceApi* | [**GetNamedEntity2**](docs/AdminServiceApi.md#getnamedentity2) | **Get** /api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name} | Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. *AdminServiceApi* | [**GetNodeExecution**](docs/AdminServiceApi.md#getnodeexecution) | **Get** /api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. +*AdminServiceApi* | [**GetNodeExecution2**](docs/AdminServiceApi.md#getnodeexecution2) | **Get** /api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. *AdminServiceApi* | [**GetNodeExecutionData**](docs/AdminServiceApi.md#getnodeexecutiondata) | **Get** /api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. +*AdminServiceApi* | [**GetNodeExecutionData2**](docs/AdminServiceApi.md#getnodeexecutiondata2) | **Get** /api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. *AdminServiceApi* | [**GetProjectAttributes**](docs/AdminServiceApi.md#getprojectattributes) | **Get** /api/v1/project_attributes/{project} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**GetProjectAttributes2**](docs/AdminServiceApi.md#getprojectattributes2) | **Get** /api/v1/project_domain_attributes/org/{org}/{project} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**GetProjectDomainAttributes**](docs/AdminServiceApi.md#getprojectdomainattributes) | **Get** /api/v1/project_domain_attributes/{project}/{domain} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**GetProjectDomainAttributes2**](docs/AdminServiceApi.md#getprojectdomainattributes2) | **Get** /api/v1/project_domain_attributes/org/{org}/{project}/{domain} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**GetTask**](docs/AdminServiceApi.md#gettask) | **Get** /api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Task` definition. +*AdminServiceApi* | [**GetTask2**](docs/AdminServiceApi.md#gettask2) | **Get** /api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Task` definition. *AdminServiceApi* | [**GetTaskExecution**](docs/AdminServiceApi.md#gettaskexecution) | **Get** /api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**GetTaskExecution2**](docs/AdminServiceApi.md#gettaskexecution2) | **Get** /api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**GetTaskExecutionData**](docs/AdminServiceApi.md#gettaskexecutiondata) | **Get** /api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**GetTaskExecutionData2**](docs/AdminServiceApi.md#gettaskexecutiondata2) | **Get** /api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**GetVersion**](docs/AdminServiceApi.md#getversion) | **Get** /api/v1/version | *AdminServiceApi* | [**GetWorkflow**](docs/AdminServiceApi.md#getworkflow) | **Get** /api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. +*AdminServiceApi* | [**GetWorkflow2**](docs/AdminServiceApi.md#getworkflow2) | **Get** /api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. *AdminServiceApi* | [**GetWorkflowAttributes**](docs/AdminServiceApi.md#getworkflowattributes) | **Get** /api/v1/workflow_attributes/{project}/{domain}/{workflow} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +*AdminServiceApi* | [**GetWorkflowAttributes2**](docs/AdminServiceApi.md#getworkflowattributes2) | **Get** /api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. *AdminServiceApi* | [**ListActiveLaunchPlans**](docs/AdminServiceApi.md#listactivelaunchplans) | **Get** /api/v1/active_launch_plans/{project}/{domain} | List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. *AdminServiceApi* | [**ListDescriptionEntities**](docs/AdminServiceApi.md#listdescriptionentities) | **Get** /api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. -*AdminServiceApi* | [**ListDescriptionEntities2**](docs/AdminServiceApi.md#listdescriptionentities2) | **Get** /api/v1/description_entities/{resource_type}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +*AdminServiceApi* | [**ListDescriptionEntities2**](docs/AdminServiceApi.md#listdescriptionentities2) | **Get** /api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +*AdminServiceApi* | [**ListDescriptionEntities3**](docs/AdminServiceApi.md#listdescriptionentities3) | **Get** /api/v1/description_entities/{resource_type}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +*AdminServiceApi* | [**ListDescriptionEntities4**](docs/AdminServiceApi.md#listdescriptionentities4) | **Get** /api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. *AdminServiceApi* | [**ListExecutions**](docs/AdminServiceApi.md#listexecutions) | **Get** /api/v1/executions/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**ListExecutions2**](docs/AdminServiceApi.md#listexecutions2) | **Get** /api/v1/executions/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**ListLaunchPlanIds**](docs/AdminServiceApi.md#listlaunchplanids) | **Get** /api/v1/launch_plan_ids/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. +*AdminServiceApi* | [**ListLaunchPlanIds2**](docs/AdminServiceApi.md#listlaunchplanids2) | **Get** /api/v1/launch_plan_ids/org/{org}/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. *AdminServiceApi* | [**ListLaunchPlans**](docs/AdminServiceApi.md#listlaunchplans) | **Get** /api/v1/launch_plans/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. -*AdminServiceApi* | [**ListLaunchPlans2**](docs/AdminServiceApi.md#listlaunchplans2) | **Get** /api/v1/launch_plans/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +*AdminServiceApi* | [**ListLaunchPlans2**](docs/AdminServiceApi.md#listlaunchplans2) | **Get** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +*AdminServiceApi* | [**ListLaunchPlans3**](docs/AdminServiceApi.md#listlaunchplans3) | **Get** /api/v1/launch_plans/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +*AdminServiceApi* | [**ListLaunchPlans4**](docs/AdminServiceApi.md#listlaunchplans4) | **Get** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. *AdminServiceApi* | [**ListMatchableAttributes**](docs/AdminServiceApi.md#listmatchableattributes) | **Get** /api/v1/matchable_attributes | Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. *AdminServiceApi* | [**ListNamedEntities**](docs/AdminServiceApi.md#listnamedentities) | **Get** /api/v1/named_entities/{resource_type}/{project}/{domain} | Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. +*AdminServiceApi* | [**ListNamedEntities2**](docs/AdminServiceApi.md#listnamedentities2) | **Get** /api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain} | Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. *AdminServiceApi* | [**ListNodeExecutions**](docs/AdminServiceApi.md#listnodeexecutions) | **Get** /api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. +*AdminServiceApi* | [**ListNodeExecutions2**](docs/AdminServiceApi.md#listnodeexecutions2) | **Get** /api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. *AdminServiceApi* | [**ListNodeExecutionsForTask**](docs/AdminServiceApi.md#listnodeexecutionsfortask) | **Get** /api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**ListNodeExecutionsForTask2**](docs/AdminServiceApi.md#listnodeexecutionsfortask2) | **Get** /api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**ListProjects**](docs/AdminServiceApi.md#listprojects) | **Get** /api/v1/projects | Fetches a list of :ref:`ref_flyteidl.admin.Project` *AdminServiceApi* | [**ListTaskExecutions**](docs/AdminServiceApi.md#listtaskexecutions) | **Get** /api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id} | Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**ListTaskExecutions2**](docs/AdminServiceApi.md#listtaskexecutions2) | **Get** /api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id} | Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**ListTaskIds**](docs/AdminServiceApi.md#listtaskids) | **Get** /api/v1/task_ids/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. +*AdminServiceApi* | [**ListTaskIds2**](docs/AdminServiceApi.md#listtaskids2) | **Get** /api/v1/tasks/org/{org}/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. *AdminServiceApi* | [**ListTasks**](docs/AdminServiceApi.md#listtasks) | **Get** /api/v1/tasks/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. -*AdminServiceApi* | [**ListTasks2**](docs/AdminServiceApi.md#listtasks2) | **Get** /api/v1/tasks/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +*AdminServiceApi* | [**ListTasks2**](docs/AdminServiceApi.md#listtasks2) | **Get** /api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +*AdminServiceApi* | [**ListTasks3**](docs/AdminServiceApi.md#listtasks3) | **Get** /api/v1/tasks/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +*AdminServiceApi* | [**ListTasks4**](docs/AdminServiceApi.md#listtasks4) | **Get** /api/v1/tasks/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. *AdminServiceApi* | [**ListWorkflowIds**](docs/AdminServiceApi.md#listworkflowids) | **Get** /api/v1/workflow_ids/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. +*AdminServiceApi* | [**ListWorkflowIds2**](docs/AdminServiceApi.md#listworkflowids2) | **Get** /api/v1/workflows/org/{org}/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. *AdminServiceApi* | [**ListWorkflows**](docs/AdminServiceApi.md#listworkflows) | **Get** /api/v1/workflows/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. -*AdminServiceApi* | [**ListWorkflows2**](docs/AdminServiceApi.md#listworkflows2) | **Get** /api/v1/workflows/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +*AdminServiceApi* | [**ListWorkflows2**](docs/AdminServiceApi.md#listworkflows2) | **Get** /api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +*AdminServiceApi* | [**ListWorkflows3**](docs/AdminServiceApi.md#listworkflows3) | **Get** /api/v1/workflows/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +*AdminServiceApi* | [**ListWorkflows4**](docs/AdminServiceApi.md#listworkflows4) | **Get** /api/v1/workflows/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. *AdminServiceApi* | [**RecoverExecution**](docs/AdminServiceApi.md#recoverexecution) | **Post** /api/v1/executions/recover | Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. *AdminServiceApi* | [**RegisterProject**](docs/AdminServiceApi.md#registerproject) | **Post** /api/v1/projects | Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. *AdminServiceApi* | [**RelaunchExecution**](docs/AdminServiceApi.md#relaunchexecution) | **Post** /api/v1/executions/relaunch | Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` *AdminServiceApi* | [**TerminateExecution**](docs/AdminServiceApi.md#terminateexecution) | **Delete** /api/v1/executions/{id.project}/{id.domain}/{id.name} | Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**TerminateExecution2**](docs/AdminServiceApi.md#terminateexecution2) | **Delete** /api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**UpdateExecution**](docs/AdminServiceApi.md#updateexecution) | **Put** /api/v1/executions/{id.project}/{id.domain}/{id.name} | Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**UpdateExecution2**](docs/AdminServiceApi.md#updateexecution2) | **Put** /api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**UpdateLaunchPlan**](docs/AdminServiceApi.md#updatelaunchplan) | **Put** /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version} | Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. +*AdminServiceApi* | [**UpdateLaunchPlan2**](docs/AdminServiceApi.md#updatelaunchplan2) | **Put** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. *AdminServiceApi* | [**UpdateNamedEntity**](docs/AdminServiceApi.md#updatenamedentity) | **Put** /api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name} | Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. -*AdminServiceApi* | [**UpdateProject**](docs/AdminServiceApi.md#updateproject) | **Put** /api/v1/projects/{id} | Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. +*AdminServiceApi* | [**UpdateNamedEntity2**](docs/AdminServiceApi.md#updatenamedentity2) | **Put** /api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name} | Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. +*AdminServiceApi* | [**UpdateProject**](docs/AdminServiceApi.md#updateproject) | **Put** /api/v1/projects/{id} | Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. +*AdminServiceApi* | [**UpdateProject2**](docs/AdminServiceApi.md#updateproject2) | **Put** /api/v1/projects/org/{org}/{id} | Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. *AdminServiceApi* | [**UpdateProjectAttributes**](docs/AdminServiceApi.md#updateprojectattributes) | **Put** /api/v1/project_attributes/{attributes.project} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level +*AdminServiceApi* | [**UpdateProjectAttributes2**](docs/AdminServiceApi.md#updateprojectattributes2) | **Put** /api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level *AdminServiceApi* | [**UpdateProjectDomainAttributes**](docs/AdminServiceApi.md#updateprojectdomainattributes) | **Put** /api/v1/project_domain_attributes/{attributes.project}/{attributes.domain} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**UpdateProjectDomainAttributes2**](docs/AdminServiceApi.md#updateprojectdomainattributes2) | **Put** /api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**UpdateWorkflowAttributes**](docs/AdminServiceApi.md#updateworkflowattributes) | **Put** /api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +*AdminServiceApi* | [**UpdateWorkflowAttributes2**](docs/AdminServiceApi.md#updateworkflowattributes2) | **Put** /api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. ## Documentation For Models diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml index 817bc3d89a..e513103821 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml @@ -11,6 +11,45 @@ consumes: produces: - "application/json" paths: + /api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`." + operationId: "GetActiveLaunchPlan2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" + required: true + type: "string" + x-exportParamName: "IdName" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminLaunchPlan" /api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}: get: tags: @@ -39,6 +78,13 @@ paths: required: true type: "string" x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." @@ -100,11 +146,163 @@ paths: - "ASCENDING" x-exportParamName: "SortByDirection" x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: $ref: "#/definitions/adminLaunchPlanList" + ? /api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt} + : get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by\ + \ the reference :ref:`ref_flyteidl.admin.TaskExecution`." + operationId: "ListNodeExecutionsForTask2" + parameters: + - name: "task_execution_id.node_execution_id.execution_id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdNodeExecutionIdExecutionIdOrg" + - name: "task_execution_id.node_execution_id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdNodeExecutionIdExecutionIdProject" + - name: "task_execution_id.node_execution_id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdNodeExecutionIdExecutionIdDomain" + - name: "task_execution_id.node_execution_id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdNodeExecutionIdExecutionIdName" + - name: "task_execution_id.node_execution_id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "TaskExecutionIdNodeExecutionIdNodeId" + - name: "task_execution_id.task_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdTaskIdProject" + - name: "task_execution_id.task_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdTaskIdDomain" + - name: "task_execution_id.task_id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdTaskIdName" + - name: "task_execution_id.task_id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "TaskExecutionIdTaskIdVersion" + - name: "task_execution_id.retry_attempt" + in: "path" + required: true + type: "integer" + format: "int64" + x-exportParamName: "TaskExecutionIdRetryAttempt" + - name: "task_execution_id.task_id.resource_type" + in: "query" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" + required: false + type: "string" + default: "UNSPECIFIED" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "TaskExecutionIdTaskIdResourceType" + x-optionalDataType: "String" + - name: "task_execution_id.task_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "TaskExecutionIdTaskIdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the, server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNodeExecutionList" ? /api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt} : get: tags: @@ -188,6 +386,20 @@ paths: - "DATASET" x-exportParamName: "TaskExecutionIdTaskIdResourceType" x-optionalDataType: "String" + - name: "task_execution_id.task_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "TaskExecutionIdTaskIdOrg" + x-optionalDataType: "String" + - name: "task_execution_id.node_execution_id.execution_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "TaskExecutionIdNodeExecutionIdExecutionIdOrg" + x-optionalDataType: "String" - name: "limit" in: "query" description: "Indicates the number of resources to be returned.\n+required." @@ -237,6 +449,85 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminNodeExecutionList" + /api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`." + operationId: "GetExecutionData2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminWorkflowExecutionGetDataResponse" + delete: + tags: + - "AdminService" + summary: "Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`." + operationId: "TerminateExecution2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminExecutionTerminateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminExecutionTerminateResponse" /api/v1/data/executions/{id.project}/{id.domain}/{id.name}: get: tags: @@ -263,11 +554,60 @@ paths: required: true type: "string" x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: $ref: "#/definitions/adminWorkflowExecutionGetDataResponse" + ? /api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} + : get: + tags: + - "AdminService" + summary: "Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`." + operationId: "GetNodeExecutionData2" + parameters: + - name: "id.execution_id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdExecutionIdOrg" + - name: "id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdExecutionIdProject" + - name: "id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdExecutionIdDomain" + - name: "id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdExecutionIdName" + - name: "id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "IdNodeId" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNodeExecutionGetDataResponse" /api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}: get: tags: @@ -299,11 +639,118 @@ paths: required: true type: "string" x-exportParamName: "IdNodeId" + - name: "id.execution_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdExecutionIdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: $ref: "#/definitions/adminNodeExecutionGetDataResponse" + ? /api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} + : get: + tags: + - "AdminService" + summary: "Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`." + operationId: "GetTaskExecutionData2" + parameters: + - name: "id.node_execution_id.execution_id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdOrg" + - name: "id.node_execution_id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdProject" + - name: "id.node_execution_id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdDomain" + - name: "id.node_execution_id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdName" + - name: "id.node_execution_id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdNodeId" + - name: "id.task_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdTaskIdProject" + - name: "id.task_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdTaskIdDomain" + - name: "id.task_id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdTaskIdName" + - name: "id.task_id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdTaskIdVersion" + - name: "id.retry_attempt" + in: "path" + required: true + type: "integer" + format: "int64" + x-exportParamName: "IdRetryAttempt" + - name: "id.task_id.resource_type" + in: "query" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" + required: false + type: "string" + default: "UNSPECIFIED" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdTaskIdResourceType" + x-optionalDataType: "String" + - name: "id.task_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdTaskIdOrg" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTaskExecutionGetDataResponse" ? /api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} : get: tags: @@ -386,11 +833,81 @@ paths: - "DATASET" x-exportParamName: "IdTaskIdResourceType" x-optionalDataType: "String" + - name: "id.task_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdTaskIdOrg" + x-optionalDataType: "String" + - name: "id.node_execution_id.execution_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: $ref: "#/definitions/adminTaskExecutionGetDataResponse" + /api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}: + get: + tags: + - "AdminService" + summary: "Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object." + operationId: "GetDescriptionEntity2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.resource_type" + in: "path" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to." + required: true + type: "string" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdResourceType" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdVersion" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminDescriptionEntity" /api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}: get: tags: @@ -436,17 +953,24 @@ paths: required: true type: "string" x-exportParamName: "IdVersion" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: $ref: "#/definitions/adminDescriptionEntity" - /api/v1/description_entities/{resource_type}/{id.project}/{id.domain}: + /api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}: get: tags: - "AdminService" summary: "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions." - operationId: "ListDescriptionEntities2" + operationId: "ListDescriptionEntities4" parameters: - name: "resource_type" in: "path" @@ -461,6 +985,12 @@ paths: - "LAUNCH_PLAN" - "DATASET" x-exportParamName: "ResourceType" + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -532,12 +1062,12 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminDescriptionEntityList" - /api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}: + /api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}: get: tags: - "AdminService" summary: "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions." - operationId: "ListDescriptionEntities" + operationId: "ListDescriptionEntities2" parameters: - name: "resource_type" in: "path" @@ -552,6 +1082,12 @@ paths: - "LAUNCH_PLAN" - "DATASET" x-exportParamName: "ResourceType" + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -622,37 +1158,232 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminDescriptionEntityList" - /api/v1/events/nodes: - post: + /api/v1/description_entities/{resource_type}/{id.project}/{id.domain}: + get: tags: - "AdminService" - summary: "Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred." - operationId: "CreateNodeEvent" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions." + operationId: "ListDescriptionEntities3" parameters: - - in: "body" - name: "body" + - name: "resource_type" + in: "path" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to." required: true - schema: - $ref: "#/definitions/adminNodeExecutionEventRequest" - x-exportParamName: "Body" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminNodeExecutionEventResponse" - /api/v1/events/tasks: - post: - tags: - - "AdminService" - summary: "Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred." - operationId: "CreateTaskEvent" - parameters: - - in: "body" - name: "body" + type: "string" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "ResourceType" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." required: true - schema: - $ref: "#/definitions/adminTaskExecutionEventRequest" - x-exportParamName: "Body" + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "query" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'." + required: false + type: "string" + x-exportParamName: "IdName" + x-optionalDataType: "String" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminDescriptionEntityList" + /api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions." + operationId: "ListDescriptionEntities" + parameters: + - name: "resource_type" + in: "path" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to." + required: true + type: "string" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "ResourceType" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminDescriptionEntityList" + /api/v1/events/nodes: + post: + tags: + - "AdminService" + summary: "Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred." + operationId: "CreateNodeEvent" + parameters: + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminNodeExecutionEventRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNodeExecutionEventResponse" + /api/v1/events/tasks: + post: + tags: + - "AdminService" + summary: "Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred." + operationId: "CreateTaskEvent" + parameters: + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminTaskExecutionEventRequest" + x-exportParamName: "Body" responses: 200: description: "A successful response." @@ -694,6 +1425,169 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminExecutionCreateResponse" + /api/v1/executions/org/{id.org}/{id.project}/{id.domain}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.Execution`." + operationId: "ListExecutions2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "query" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'." + required: false + type: "string" + x-exportParamName: "IdName" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminExecutionList" + /api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetches a :ref:`ref_flyteidl.admin.Execution`." + operationId: "GetExecution2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminExecution" + put: + tags: + - "AdminService" + summary: "Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`." + operationId: "UpdateExecution2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminExecutionUpdateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminExecutionUpdateResponse" /api/v1/executions/recover: post: tags: @@ -766,6 +1660,13 @@ paths: type: "string" x-exportParamName: "IdName" x-optionalDataType: "String" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" - name: "limit" in: "query" description: "Indicates the number of resources to be returned.\n+required." @@ -841,6 +1742,13 @@ paths: required: true type: "string" x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." @@ -918,6 +1826,81 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminExecutionTerminateResponse" + /api/v1/launch_plan_ids/org/{org}/{project}/{domain}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of\ + \ launch plan objects." + operationId: "ListLaunchPlanIds2" + parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "Org" + - name: "project" + in: "path" + description: "Name of the project that contains the identifiers.\n+required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Name of the domain the identifiers belongs to within the project.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNamedEntityIdentifierList" /api/v1/launch_plan_ids/{project}/{domain}: get: tags: @@ -982,6 +1965,13 @@ paths: type: "string" x-exportParamName: "Filters" x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" responses: 200: description: "A successful response." @@ -1005,13 +1995,19 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminLaunchPlanCreateResponse" - /api/v1/launch_plans/{id.project}/{id.domain}: + /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}: get: tags: - "AdminService" summary: "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions." - operationId: "ListLaunchPlans2" + operationId: "ListLaunchPlans4" parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -1083,13 +2079,19 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminLaunchPlanList" - /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}: + /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}: get: tags: - "AdminService" summary: "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions." - operationId: "ListLaunchPlans" + operationId: "ListLaunchPlans2" parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -1160,13 +2162,19 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminLaunchPlanList" - /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}: + /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}: get: tags: - "AdminService" summary: "Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition." - operationId: "GetLaunchPlan" + operationId: "GetLaunchPlan2" parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -1221,8 +2229,14 @@ paths: tags: - "AdminService" summary: "Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`." - operationId: "UpdateLaunchPlan" + operationId: "UpdateLaunchPlan2" parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -1248,63 +2262,17 @@ paths: required: true type: "string" x-exportParamName: "IdVersion" - - in: "body" - name: "body" - required: true - schema: - $ref: "#/definitions/adminLaunchPlanUpdateRequest" - x-exportParamName: "Body" responses: 200: description: "A successful response." schema: $ref: "#/definitions/adminLaunchPlanUpdateResponse" - /api/v1/matchable_attributes: - get: - tags: - - "AdminService" - summary: "Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a specific resource type." - operationId: "ListMatchableAttributes" - parameters: - - name: "resource_type" - in: "query" - description: "+required.\n\n - TASK_RESOURCE: Applies to customizable task\ - \ resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring\ - \ templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures\ - \ task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL:\ - \ Configures the K8s cluster label to be used for execution to be run\n\ - \ - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service\ - \ when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable\ - \ plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG:\ - \ Adds defaults for customizable workflow-execution specifications and overrides.\n\ - \ - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which\ - \ this execution should run." - required: false - type: "string" - default: "TASK_RESOURCE" - enum: - - "TASK_RESOURCE" - - "CLUSTER_RESOURCE" - - "EXECUTION_QUEUE" - - "EXECUTION_CLUSTER_LABEL" - - "QUALITY_OF_SERVICE_SPECIFICATION" - - "PLUGIN_OVERRIDE" - - "WORKFLOW_EXECUTION_CONFIG" - - "CLUSTER_ASSIGNMENT" - x-exportParamName: "ResourceType" - x-optionalDataType: "String" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminListMatchableAttributesResponse" - /api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}: + /api/v1/launch_plans/{id.project}/{id.domain}: get: tags: - "AdminService" - summary: "Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`." - operationId: "GetExecutionMetrics" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions." + operationId: "ListLaunchPlans3" parameters: - name: "id.project" in: "path" @@ -1320,18 +2288,339 @@ paths: type: "string" x-exportParamName: "IdDomain" - name: "id.name" - in: "path" - description: "User or system provided value for the resource." - required: true + in: "query" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'." + required: false type: "string" x-exportParamName: "IdName" - - name: "depth" + x-optionalDataType: "String" + - name: "id.org" in: "query" - description: "depth defines the number of Flyte entity levels to traverse\ - \ when breaking down execution details." + description: "Optional, org key applied to the resource." required: false - type: "integer" - format: "int32" + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminLaunchPlanList" + /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions." + operationId: "ListLaunchPlans" + parameters: + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminLaunchPlanList" + /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}: + get: + tags: + - "AdminService" + summary: "Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition." + operationId: "GetLaunchPlan" + parameters: + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdVersion" + - name: "id.resource_type" + in: "query" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" + required: false + type: "string" + default: "UNSPECIFIED" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdResourceType" + x-optionalDataType: "String" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminLaunchPlan" + put: + tags: + - "AdminService" + summary: "Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`." + operationId: "UpdateLaunchPlan" + parameters: + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdVersion" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminLaunchPlanUpdateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminLaunchPlanUpdateResponse" + /api/v1/matchable_attributes: + get: + tags: + - "AdminService" + summary: "Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a specific resource type." + operationId: "ListMatchableAttributes" + parameters: + - name: "resource_type" + in: "query" + description: "+required.\n\n - TASK_RESOURCE: Applies to customizable task\ + \ resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring\ + \ templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures\ + \ task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL:\ + \ Configures the K8s cluster label to be used for execution to be run\n\ + \ - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service\ + \ when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable\ + \ plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG:\ + \ Adds defaults for customizable workflow-execution specifications and overrides.\n\ + \ - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which\ + \ this execution should run." + required: false + type: "string" + default: "TASK_RESOURCE" + enum: + - "TASK_RESOURCE" + - "CLUSTER_RESOURCE" + - "EXECUTION_QUEUE" + - "EXECUTION_CLUSTER_LABEL" + - "QUALITY_OF_SERVICE_SPECIFICATION" + - "PLUGIN_OVERRIDE" + - "WORKFLOW_EXECUTION_CONFIG" + - "CLUSTER_ASSIGNMENT" + x-exportParamName: "ResourceType" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminListMatchableAttributesResponse" + /api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`." + operationId: "GetExecutionMetrics2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - name: "depth" + in: "query" + description: "depth defines the number of Flyte entity levels to traverse\ + \ when breaking down execution details." + required: false + type: "integer" + format: "int32" x-exportParamName: "Depth" x-optionalDataType: "Int32" responses: @@ -1339,12 +2628,59 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminWorkflowExecutionGetMetricsResponse" - /api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}: + /api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`." + operationId: "GetExecutionMetrics" + parameters: + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + - name: "depth" + in: "query" + description: "depth defines the number of Flyte entity levels to traverse\ + \ when breaking down execution details." + required: false + type: "integer" + format: "int32" + x-exportParamName: "Depth" + x-optionalDataType: "Int32" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminWorkflowExecutionGetMetricsResponse" + /api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}: get: tags: - "AdminService" summary: "Returns a :ref:`ref_flyteidl.admin.NamedEntity` object." - operationId: "GetNamedEntity" + operationId: "GetNamedEntity2" parameters: - name: "resource_type" in: "path" @@ -1359,6 +2695,12 @@ paths: - "LAUNCH_PLAN" - "DATASET" x-exportParamName: "ResourceType" + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -1389,7 +2731,7 @@ paths: tags: - "AdminService" summary: "Updates a :ref:`ref_flyteidl.admin.NamedEntity` object." - operationId: "UpdateNamedEntity" + operationId: "UpdateNamedEntity2" parameters: - name: "resource_type" in: "path" @@ -1403,6 +2745,12 @@ paths: - "LAUNCH_PLAN" - "DATASET" x-exportParamName: "ResourceType" + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -1435,12 +2783,12 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminNamedEntityUpdateResponse" - /api/v1/named_entities/{resource_type}/{project}/{domain}: + /api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain}: get: tags: - "AdminService" summary: "Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects." - operationId: "ListNamedEntities" + operationId: "ListNamedEntities2" parameters: - name: "resource_type" in: "path" @@ -1455,6 +2803,12 @@ paths: - "LAUNCH_PLAN" - "DATASET" x-exportParamName: "ResourceType" + - name: "org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "Org" - name: "project" in: "path" description: "Name of the project that contains the identifiers.\n+required" @@ -1515,71 +2869,144 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminNamedEntityList" - /api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}: + /api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}: get: tags: - "AdminService" - summary: "Fetches a :ref:`ref_flyteidl.admin.NodeExecution`." - operationId: "GetNodeExecution" + summary: "Returns a :ref:`ref_flyteidl.admin.NamedEntity` object." + operationId: "GetNamedEntity" parameters: - - name: "id.execution_id.project" + - name: "resource_type" + in: "path" + description: "Resource type of the metadata to get. One of Task, Workflow\ + \ or LaunchPlan.\n+required" + required: true + type: "string" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "ResourceType" + - name: "id.project" in: "path" description: "Name of the project the resource belongs to." required: true type: "string" - x-exportParamName: "IdExecutionIdProject" - - name: "id.execution_id.domain" + x-exportParamName: "IdProject" + - name: "id.domain" in: "path" description: "Name of the domain the resource belongs to.\nA domain can be\ \ considered as a subset within a specific project." required: true type: "string" - x-exportParamName: "IdExecutionIdDomain" - - name: "id.execution_id.name" + x-exportParamName: "IdDomain" + - name: "id.name" in: "path" - description: "User or system provided value for the resource." + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" required: true type: "string" - x-exportParamName: "IdExecutionIdName" - - name: "id.node_id" - in: "path" - required: true + x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false type: "string" - x-exportParamName: "IdNodeId" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/flyteidladminNodeExecution" - /api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}: - get: + $ref: "#/definitions/adminNamedEntity" + put: tags: - "AdminService" - summary: "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`." - operationId: "ListNodeExecutions" + summary: "Updates a :ref:`ref_flyteidl.admin.NamedEntity` object." + operationId: "UpdateNamedEntity" parameters: - - name: "workflow_execution_id.project" + - name: "resource_type" + in: "path" + description: "Resource type of the metadata to update\n+required" + required: true + type: "string" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "ResourceType" + - name: "id.project" in: "path" description: "Name of the project the resource belongs to." required: true type: "string" - x-exportParamName: "WorkflowExecutionIdProject" - - name: "workflow_execution_id.domain" + x-exportParamName: "IdProject" + - name: "id.domain" in: "path" description: "Name of the domain the resource belongs to.\nA domain can be\ \ considered as a subset within a specific project." required: true type: "string" - x-exportParamName: "WorkflowExecutionIdDomain" - - name: "workflow_execution_id.name" + x-exportParamName: "IdDomain" + - name: "id.name" in: "path" - description: "User or system provided value for the resource." + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" required: true type: "string" - x-exportParamName: "WorkflowExecutionIdName" + x-exportParamName: "IdName" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminNamedEntityUpdateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNamedEntityUpdateResponse" + /api/v1/named_entities/{resource_type}/{project}/{domain}: + get: + tags: + - "AdminService" + summary: "Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects." + operationId: "ListNamedEntities" + parameters: + - name: "resource_type" + in: "path" + description: "Resource type of the metadata to query. One of Task, Workflow\ + \ or LaunchPlan.\n+required" + required: true + type: "string" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "ResourceType" + - name: "project" + in: "path" + description: "Name of the project that contains the identifiers.\n+required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Name of the domain the identifiers belongs to within the project." + required: true + type: "string" + x-exportParamName: "Domain" - name: "limit" in: "query" - description: "Indicates the number of resources to be returned.\n+required." + description: "Indicates the number of resources to be returned." required: false type: "integer" format: "int64" @@ -1587,18 +3014,12 @@ paths: x-optionalDataType: "Int64" - name: "token" in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." required: false type: "string" x-exportParamName: "Token" x-optionalDataType: "String" - - name: "filters" - in: "query" - description: "Indicates a list of filters passed as string.\nMore info on\ - \ constructing filters : \n+optional." - required: false - type: "string" - x-exportParamName: "Filters" - x-optionalDataType: "String" - name: "sort_by.key" in: "query" description: "Indicates an attribute to sort the response values.\n+required." @@ -1613,57 +3034,1976 @@ paths: \ order." required: false type: "string" - default: "DESCENDING" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNamedEntityList" + ? /api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} + : get: + tags: + - "AdminService" + summary: "Fetches a :ref:`ref_flyteidl.admin.NodeExecution`." + operationId: "GetNodeExecution2" + parameters: + - name: "id.execution_id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdExecutionIdOrg" + - name: "id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdExecutionIdProject" + - name: "id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdExecutionIdDomain" + - name: "id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdExecutionIdName" + - name: "id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "IdNodeId" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/flyteidladminNodeExecution" + ? /api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name} + : get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`." + operationId: "ListNodeExecutions2" + parameters: + - name: "workflow_execution_id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "WorkflowExecutionIdOrg" + - name: "workflow_execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "WorkflowExecutionIdProject" + - name: "workflow_execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "WorkflowExecutionIdDomain" + - name: "workflow_execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "WorkflowExecutionIdName" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + - name: "unique_parent_id" + in: "query" + description: "Unique identifier of the parent node in the execution\n+optional." + required: false + type: "string" + x-exportParamName: "UniqueParentId" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNodeExecutionList" + /api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}: + get: + tags: + - "AdminService" + summary: "Fetches a :ref:`ref_flyteidl.admin.NodeExecution`." + operationId: "GetNodeExecution" + parameters: + - name: "id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdExecutionIdProject" + - name: "id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdExecutionIdDomain" + - name: "id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdExecutionIdName" + - name: "id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "IdNodeId" + - name: "id.execution_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdExecutionIdOrg" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/flyteidladminNodeExecution" + /api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`." + operationId: "ListNodeExecutions" + parameters: + - name: "workflow_execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "WorkflowExecutionIdProject" + - name: "workflow_execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "WorkflowExecutionIdDomain" + - name: "workflow_execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "WorkflowExecutionIdName" + - name: "workflow_execution_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "WorkflowExecutionIdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + - name: "unique_parent_id" + in: "query" + description: "Unique identifier of the parent node in the execution\n+optional." + required: false + type: "string" + x-exportParamName: "UniqueParentId" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNodeExecutionList" + /api/v1/project_attributes/{attributes.project}: + put: + tags: + - "AdminService" + summary: "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ at the project level" + operationId: "UpdateProjectAttributes" + parameters: + - name: "attributes.project" + in: "path" + description: "Unique project id for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesProject" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectAttributesUpdateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectAttributesUpdateResponse" + /api/v1/project_attributes/{project}: + get: + tags: + - "AdminService" + summary: "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "GetProjectAttributes" + parameters: + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "resource_type" + in: "query" + description: "Which type of matchable attributes to return.\n+required.\n\n\ + \ - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n\ + \ - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster\ + \ resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution\ + \ queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster\ + \ label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION:\ + \ Configures default quality of service when undefined in an execution spec.\n\ + \ - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior\ + \ for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for\ + \ customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT:\ + \ Controls how to select an available cluster on which this execution should\ + \ run." + required: false + type: "string" + default: "TASK_RESOURCE" + enum: + - "TASK_RESOURCE" + - "CLUSTER_RESOURCE" + - "EXECUTION_QUEUE" + - "EXECUTION_CLUSTER_LABEL" + - "QUALITY_OF_SERVICE_SPECIFICATION" + - "PLUGIN_OVERRIDE" + - "WORKFLOW_EXECUTION_CONFIG" + - "CLUSTER_ASSIGNMENT" + x-exportParamName: "ResourceType" + x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the project." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectAttributesGetResponse" + delete: + tags: + - "AdminService" + summary: "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "DeleteProjectAttributes" + parameters: + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectAttributesDeleteRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectAttributesDeleteResponse" + /api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}: + put: + tags: + - "AdminService" + summary: "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ at the project level" + operationId: "UpdateProjectAttributes2" + parameters: + - name: "attributes.org" + in: "path" + description: "Optional, org key applied to the project." + required: true + type: "string" + x-exportParamName: "AttributesOrg" + - name: "attributes.project" + in: "path" + description: "Unique project id for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesProject" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectAttributesUpdateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectAttributesUpdateResponse" + /api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}: + put: + tags: + - "AdminService" + summary: "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "UpdateProjectDomainAttributes2" + parameters: + - name: "attributes.org" + in: "path" + description: "Optional, org key applied to the attributes." + required: true + type: "string" + x-exportParamName: "AttributesOrg" + - name: "attributes.project" + in: "path" + description: "Unique project id for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesProject" + - name: "attributes.domain" + in: "path" + description: "Unique domain id for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesDomain" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectDomainAttributesUpdateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectDomainAttributesUpdateResponse" + /api/v1/project_domain_attributes/org/{org}/{project}: + get: + tags: + - "AdminService" + summary: "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "GetProjectAttributes2" + parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the project." + required: true + type: "string" + x-exportParamName: "Org" + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "resource_type" + in: "query" + description: "Which type of matchable attributes to return.\n+required.\n\n\ + \ - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n\ + \ - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster\ + \ resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution\ + \ queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster\ + \ label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION:\ + \ Configures default quality of service when undefined in an execution spec.\n\ + \ - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior\ + \ for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for\ + \ customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT:\ + \ Controls how to select an available cluster on which this execution should\ + \ run." + required: false + type: "string" + default: "TASK_RESOURCE" + enum: + - "TASK_RESOURCE" + - "CLUSTER_RESOURCE" + - "EXECUTION_QUEUE" + - "EXECUTION_CLUSTER_LABEL" + - "QUALITY_OF_SERVICE_SPECIFICATION" + - "PLUGIN_OVERRIDE" + - "WORKFLOW_EXECUTION_CONFIG" + - "CLUSTER_ASSIGNMENT" + x-exportParamName: "ResourceType" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectAttributesGetResponse" + delete: + tags: + - "AdminService" + summary: "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "DeleteProjectAttributes2" + parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the project." + required: true + type: "string" + x-exportParamName: "Org" + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectAttributesDeleteRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectAttributesDeleteResponse" + /api/v1/project_domain_attributes/org/{org}/{project}/{domain}: + get: + tags: + - "AdminService" + summary: "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "GetProjectDomainAttributes2" + parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the attributes." + required: true + type: "string" + x-exportParamName: "Org" + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Unique domain id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - name: "resource_type" + in: "query" + description: "Which type of matchable attributes to return.\n+required.\n\n\ + \ - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n\ + \ - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster\ + \ resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution\ + \ queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster\ + \ label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION:\ + \ Configures default quality of service when undefined in an execution spec.\n\ + \ - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior\ + \ for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for\ + \ customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT:\ + \ Controls how to select an available cluster on which this execution should\ + \ run." + required: false + type: "string" + default: "TASK_RESOURCE" + enum: + - "TASK_RESOURCE" + - "CLUSTER_RESOURCE" + - "EXECUTION_QUEUE" + - "EXECUTION_CLUSTER_LABEL" + - "QUALITY_OF_SERVICE_SPECIFICATION" + - "PLUGIN_OVERRIDE" + - "WORKFLOW_EXECUTION_CONFIG" + - "CLUSTER_ASSIGNMENT" + x-exportParamName: "ResourceType" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectDomainAttributesGetResponse" + delete: + tags: + - "AdminService" + summary: "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "DeleteProjectDomainAttributes2" + parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the attributes." + required: true + type: "string" + x-exportParamName: "Org" + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Unique domain id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectDomainAttributesDeleteRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectDomainAttributesDeleteResponse" + /api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}: + put: + tags: + - "AdminService" + summary: "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "UpdateProjectDomainAttributes" + parameters: + - name: "attributes.project" + in: "path" + description: "Unique project id for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesProject" + - name: "attributes.domain" + in: "path" + description: "Unique domain id for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesDomain" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectDomainAttributesUpdateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectDomainAttributesUpdateResponse" + /api/v1/project_domain_attributes/{project}/{domain}: + get: + tags: + - "AdminService" + summary: "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "GetProjectDomainAttributes" + parameters: + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Unique domain id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - name: "resource_type" + in: "query" + description: "Which type of matchable attributes to return.\n+required.\n\n\ + \ - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n\ + \ - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster\ + \ resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution\ + \ queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster\ + \ label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION:\ + \ Configures default quality of service when undefined in an execution spec.\n\ + \ - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior\ + \ for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for\ + \ customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT:\ + \ Controls how to select an available cluster on which this execution should\ + \ run." + required: false + type: "string" + default: "TASK_RESOURCE" + enum: + - "TASK_RESOURCE" + - "CLUSTER_RESOURCE" + - "EXECUTION_QUEUE" + - "EXECUTION_CLUSTER_LABEL" + - "QUALITY_OF_SERVICE_SPECIFICATION" + - "PLUGIN_OVERRIDE" + - "WORKFLOW_EXECUTION_CONFIG" + - "CLUSTER_ASSIGNMENT" + x-exportParamName: "ResourceType" + x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the attributes." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectDomainAttributesGetResponse" + delete: + tags: + - "AdminService" + summary: "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ + \ for a project and domain." + operationId: "DeleteProjectDomainAttributes" + parameters: + - name: "project" + in: "path" + description: "Unique project id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Unique domain id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectDomainAttributesDeleteRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectDomainAttributesDeleteResponse" + /api/v1/projects: + get: + tags: + - "AdminService" + summary: "Fetches a list of :ref:`ref_flyteidl.admin.Project`" + operationId: "ListProjects" + parameters: + - name: "limit" + in: "query" + description: "Indicates the number of projects to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjects" + post: + tags: + - "AdminService" + summary: "Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment." + operationId: "RegisterProject" + parameters: + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProjectRegisterRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectRegisterResponse" + /api/v1/projects/org/{org}/{id}: + put: + tags: + - "AdminService" + summary: "Updates an existing :ref:`ref_flyteidl.admin.Project`\nflyteidl.admin.Project\ + \ should be passed but the domains property should be empty;\nit will be ignored\ + \ in the handler as domains cannot be updated via this API." + operationId: "UpdateProject2" + parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "Org" + - name: "id" + in: "path" + description: "Globally unique project name." + required: true + type: "string" + x-exportParamName: "Id" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProject" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectUpdateResponse" + /api/v1/projects/{id}: + put: + tags: + - "AdminService" + summary: "Updates an existing :ref:`ref_flyteidl.admin.Project`\nflyteidl.admin.Project\ + \ should be passed but the domains property should be empty;\nit will be ignored\ + \ in the handler as domains cannot be updated via this API." + operationId: "UpdateProject" + parameters: + - name: "id" + in: "path" + description: "Globally unique project name." + required: true + type: "string" + x-exportParamName: "Id" + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/adminProject" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminProjectUpdateResponse" + ? /api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} + : get: + tags: + - "AdminService" + summary: "Fetches a :ref:`ref_flyteidl.admin.TaskExecution`." + operationId: "GetTaskExecution2" + parameters: + - name: "id.node_execution_id.execution_id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdOrg" + - name: "id.node_execution_id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdProject" + - name: "id.node_execution_id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdDomain" + - name: "id.node_execution_id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdName" + - name: "id.node_execution_id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdNodeId" + - name: "id.task_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdTaskIdProject" + - name: "id.task_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdTaskIdDomain" + - name: "id.task_id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdTaskIdName" + - name: "id.task_id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdTaskIdVersion" + - name: "id.retry_attempt" + in: "path" + required: true + type: "integer" + format: "int64" + x-exportParamName: "IdRetryAttempt" + - name: "id.task_id.resource_type" + in: "query" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" + required: false + type: "string" + default: "UNSPECIFIED" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdTaskIdResourceType" + x-optionalDataType: "String" + - name: "id.task_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdTaskIdOrg" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/flyteidladminTaskExecution" + ? /api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id} + : get: + tags: + - "AdminService" + summary: "Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`." + operationId: "ListTaskExecutions2" + parameters: + - name: "node_execution_id.execution_id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdOrg" + - name: "node_execution_id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdProject" + - name: "node_execution_id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdDomain" + - name: "node_execution_id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdName" + - name: "node_execution_id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "NodeExecutionIdNodeId" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTaskExecutionList" + ? /api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} + : get: + tags: + - "AdminService" + summary: "Fetches a :ref:`ref_flyteidl.admin.TaskExecution`." + operationId: "GetTaskExecution" + parameters: + - name: "id.node_execution_id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdProject" + - name: "id.node_execution_id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdDomain" + - name: "id.node_execution_id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdName" + - name: "id.node_execution_id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "IdNodeExecutionIdNodeId" + - name: "id.task_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdTaskIdProject" + - name: "id.task_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdTaskIdDomain" + - name: "id.task_id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdTaskIdName" + - name: "id.task_id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdTaskIdVersion" + - name: "id.retry_attempt" + in: "path" + required: true + type: "integer" + format: "int64" + x-exportParamName: "IdRetryAttempt" + - name: "id.task_id.resource_type" + in: "query" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" + required: false + type: "string" + default: "UNSPECIFIED" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdTaskIdResourceType" + x-optionalDataType: "String" + - name: "id.task_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdTaskIdOrg" + x-optionalDataType: "String" + - name: "id.node_execution_id.execution_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdNodeExecutionIdExecutionIdOrg" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/flyteidladminTaskExecution" + ? /api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id} + : get: + tags: + - "AdminService" + summary: "Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`." + operationId: "ListTaskExecutions" + parameters: + - name: "node_execution_id.execution_id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdProject" + - name: "node_execution_id.execution_id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdDomain" + - name: "node_execution_id.execution_id.name" + in: "path" + description: "User or system provided value for the resource." + required: true + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdName" + - name: "node_execution_id.node_id" + in: "path" + required: true + type: "string" + x-exportParamName: "NodeExecutionIdNodeId" + - name: "node_execution_id.execution_id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "NodeExecutionIdExecutionIdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTaskExecutionList" + /api/v1/task_ids/{project}/{domain}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of\ + \ task objects." + operationId: "ListTaskIds" + parameters: + - name: "project" + in: "path" + description: "Name of the project that contains the identifiers.\n+required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Name of the domain the identifiers belongs to within the project.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNamedEntityIdentifierList" + /api/v1/tasks: + post: + tags: + - "AdminService" + summary: "Create and upload a :ref:`ref_flyteidl.admin.Task` definition" + operationId: "CreateTask" + parameters: + - in: "body" + name: "body" + required: true + schema: + $ref: "#/definitions/flyteidladminTaskCreateRequest" + x-exportParamName: "Body" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/flyteidladminTaskCreateResponse" + /api/v1/tasks/org/{id.org}/{id.project}/{id.domain}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions." + operationId: "ListTasks4" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "query" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'." + required: false + type: "string" + x-exportParamName: "IdName" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTaskList" + /api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions." + operationId: "ListTasks2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" + required: true + type: "string" + x-exportParamName: "IdName" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTaskList" + /api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}: + get: + tags: + - "AdminService" + summary: "Fetch a :ref:`ref_flyteidl.admin.Task` definition." + operationId: "GetTask2" + parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdVersion" + - name: "id.resource_type" + in: "query" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" + required: false + type: "string" + default: "UNSPECIFIED" + enum: + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdResourceType" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTask" + /api/v1/tasks/org/{org}/{project}/{domain}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of\ + \ task objects." + operationId: "ListTaskIds2" + parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "Org" + - name: "project" + in: "path" + description: "Name of the project that contains the identifiers.\n+required" + required: true + type: "string" + x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Name of the domain the identifiers belongs to within the project.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, the server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminNamedEntityIdentifierList" + /api/v1/tasks/{id.project}/{id.domain}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions." + operationId: "ListTasks3" + parameters: + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "query" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'." + required: false + type: "string" + x-exportParamName: "IdName" + x-optionalDataType: "String" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTaskList" + /api/v1/tasks/{id.project}/{id.domain}/{id.name}: + get: + tags: + - "AdminService" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions." + operationId: "ListTasks" + parameters: + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false + type: "string" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" + in: "query" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." + required: false + type: "string" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" + enum: + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" + x-optionalDataType: "String" + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminTaskList" + /api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}: + get: + tags: + - "AdminService" + summary: "Fetch a :ref:`ref_flyteidl.admin.Task` definition." + operationId: "GetTask" + parameters: + - name: "id.project" + in: "path" + description: "Name of the project the resource belongs to." + required: true + type: "string" + x-exportParamName: "IdProject" + - name: "id.domain" + in: "path" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." + required: true + type: "string" + x-exportParamName: "IdDomain" + - name: "id.name" + in: "path" + description: "User provided value for the resource." + required: true + type: "string" + x-exportParamName: "IdName" + - name: "id.version" + in: "path" + description: "Specific version of the resource." + required: true + type: "string" + x-exportParamName: "IdVersion" + - name: "id.resource_type" + in: "query" + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" + required: false + type: "string" + default: "UNSPECIFIED" enum: - - "DESCENDING" - - "ASCENDING" - x-exportParamName: "SortByDirection" + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdResourceType" x-optionalDataType: "String" - - name: "unique_parent_id" + - name: "id.org" in: "query" - description: "Unique identifier of the parent node in the execution\n+optional." + description: "Optional, org key applied to the resource." required: false type: "string" - x-exportParamName: "UniqueParentId" + x-exportParamName: "IdOrg" x-optionalDataType: "String" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminNodeExecutionList" - /api/v1/project_attributes/{attributes.project}: + $ref: "#/definitions/adminTask" + /api/v1/version: + get: + tags: + - "AdminService" + operationId: "GetVersion" + parameters: [] + responses: + 200: + description: "A successful response." + schema: + $ref: "#/definitions/adminGetVersionResponse" + /api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow}: put: tags: - "AdminService" summary: "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ at the project level" - operationId: "UpdateProjectAttributes" + \ for a project, domain and workflow." + operationId: "UpdateWorkflowAttributes2" parameters: + - name: "attributes.org" + in: "path" + description: "Optional, org key applied to the attributes." + required: true + type: "string" + x-exportParamName: "AttributesOrg" - name: "attributes.project" in: "path" description: "Unique project id for which this set of attributes will be applied." required: true type: "string" x-exportParamName: "AttributesProject" + - name: "attributes.domain" + in: "path" + description: "Unique domain id for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesDomain" + - name: "attributes.workflow" + in: "path" + description: "Workflow name for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesWorkflow" - in: "body" name: "body" required: true schema: - $ref: "#/definitions/adminProjectAttributesUpdateRequest" + $ref: "#/definitions/adminWorkflowAttributesUpdateRequest" x-exportParamName: "Body" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminProjectAttributesUpdateResponse" - /api/v1/project_attributes/{project}: + $ref: "#/definitions/adminWorkflowAttributesUpdateResponse" + /api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}: get: tags: - "AdminService" summary: "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project and domain." - operationId: "GetProjectAttributes" + \ for a project, domain and workflow." + operationId: "GetWorkflowAttributes2" parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the attributes." + required: true + type: "string" + x-exportParamName: "Org" - name: "project" in: "path" description: "Unique project id which this set of attributes references.\n\ @@ -1671,6 +5011,19 @@ paths: required: true type: "string" x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Unique domain id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - name: "workflow" + in: "path" + description: "Workflow name which this set of attributes references.\n+required" + required: true + type: "string" + x-exportParamName: "Workflow" - name: "resource_type" in: "query" description: "Which type of matchable attributes to return.\n+required.\n\n\ @@ -1703,14 +5056,20 @@ paths: 200: description: "A successful response." schema: - $ref: "#/definitions/adminProjectAttributesGetResponse" + $ref: "#/definitions/adminWorkflowAttributesGetResponse" delete: tags: - "AdminService" summary: "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project and domain." - operationId: "DeleteProjectAttributes" + \ for a project, domain and workflow." + operationId: "DeleteWorkflowAttributes2" parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the attributes." + required: true + type: "string" + x-exportParamName: "Org" - name: "project" in: "path" description: "Unique project id which this set of attributes references.\n\ @@ -1718,24 +5077,37 @@ paths: required: true type: "string" x-exportParamName: "Project" + - name: "domain" + in: "path" + description: "Unique domain id which this set of attributes references.\n\ + +required" + required: true + type: "string" + x-exportParamName: "Domain" + - name: "workflow" + in: "path" + description: "Workflow name which this set of attributes references.\n+required" + required: true + type: "string" + x-exportParamName: "Workflow" - in: "body" name: "body" required: true schema: - $ref: "#/definitions/adminProjectAttributesDeleteRequest" + $ref: "#/definitions/adminWorkflowAttributesDeleteRequest" x-exportParamName: "Body" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminProjectAttributesDeleteResponse" - /api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}: + $ref: "#/definitions/adminWorkflowAttributesDeleteResponse" + /api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}: put: tags: - "AdminService" summary: "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project and domain." - operationId: "UpdateProjectDomainAttributes" + \ for a project, domain and workflow." + operationId: "UpdateWorkflowAttributes" parameters: - name: "attributes.project" in: "path" @@ -1749,24 +5121,30 @@ paths: required: true type: "string" x-exportParamName: "AttributesDomain" + - name: "attributes.workflow" + in: "path" + description: "Workflow name for which this set of attributes will be applied." + required: true + type: "string" + x-exportParamName: "AttributesWorkflow" - in: "body" name: "body" required: true schema: - $ref: "#/definitions/adminProjectDomainAttributesUpdateRequest" + $ref: "#/definitions/adminWorkflowAttributesUpdateRequest" x-exportParamName: "Body" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminProjectDomainAttributesUpdateResponse" - /api/v1/project_domain_attributes/{project}/{domain}: + $ref: "#/definitions/adminWorkflowAttributesUpdateResponse" + /api/v1/workflow_attributes/{project}/{domain}/{workflow}: get: tags: - "AdminService" summary: "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project and domain." - operationId: "GetProjectDomainAttributes" + \ for a project, domain and workflow." + operationId: "GetWorkflowAttributes" parameters: - name: "project" in: "path" @@ -1782,6 +5160,12 @@ paths: required: true type: "string" x-exportParamName: "Domain" + - name: "workflow" + in: "path" + description: "Workflow name which this set of attributes references.\n+required" + required: true + type: "string" + x-exportParamName: "Workflow" - name: "resource_type" in: "query" description: "Which type of matchable attributes to return.\n+required.\n\n\ @@ -1810,17 +5194,24 @@ paths: - "CLUSTER_ASSIGNMENT" x-exportParamName: "ResourceType" x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the attributes." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminProjectDomainAttributesGetResponse" + $ref: "#/definitions/adminWorkflowAttributesGetResponse" delete: tags: - "AdminService" summary: "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project and domain." - operationId: "DeleteProjectDomainAttributes" + \ for a project, domain and workflow." + operationId: "DeleteWorkflowAttributes" parameters: - name: "project" in: "path" @@ -1836,290 +5227,30 @@ paths: required: true type: "string" x-exportParamName: "Domain" - - in: "body" - name: "body" - required: true - schema: - $ref: "#/definitions/adminProjectDomainAttributesDeleteRequest" - x-exportParamName: "Body" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminProjectDomainAttributesDeleteResponse" - /api/v1/projects: - get: - tags: - - "AdminService" - summary: "Fetches a list of :ref:`ref_flyteidl.admin.Project`" - operationId: "ListProjects" - parameters: - - name: "limit" - in: "query" - description: "Indicates the number of projects to be returned.\n+required." - required: false - type: "integer" - format: "int64" - x-exportParamName: "Limit" - x-optionalDataType: "Int64" - - name: "token" - in: "query" - description: "In the case of multiple pages of results, this server-provided\ - \ token can be used to fetch the next page\nin a query.\n+optional." - required: false - type: "string" - x-exportParamName: "Token" - x-optionalDataType: "String" - - name: "filters" - in: "query" - description: "Indicates a list of filters passed as string.\nMore info on\ - \ constructing filters : \n+optional." - required: false - type: "string" - x-exportParamName: "Filters" - x-optionalDataType: "String" - - name: "sort_by.key" - in: "query" - description: "Indicates an attribute to sort the response values.\n+required." - required: false - type: "string" - x-exportParamName: "SortByKey" - x-optionalDataType: "String" - - name: "sort_by.direction" - in: "query" - description: "Indicates the direction to apply sort key for response values.\n\ - +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ - \ order." - required: false - type: "string" - default: "DESCENDING" - enum: - - "DESCENDING" - - "ASCENDING" - x-exportParamName: "SortByDirection" - x-optionalDataType: "String" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminProjects" - post: - tags: - - "AdminService" - summary: "Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment." - operationId: "RegisterProject" - parameters: - - in: "body" - name: "body" - required: true - schema: - $ref: "#/definitions/adminProjectRegisterRequest" - x-exportParamName: "Body" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminProjectRegisterResponse" - /api/v1/projects/{id}: - put: - tags: - - "AdminService" - summary: "Updates an existing :ref:`ref_flyteidl.admin.Project` \nflyteidl.admin.Project\ - \ should be passed but the domains property should be empty;\nit will be ignored\ - \ in the handler as domains cannot be updated via this API." - operationId: "UpdateProject" - parameters: - - name: "id" + - name: "workflow" in: "path" - description: "Globally unique project name." + description: "Workflow name which this set of attributes references.\n+required" required: true type: "string" - x-exportParamName: "Id" + x-exportParamName: "Workflow" - in: "body" name: "body" required: true schema: - $ref: "#/definitions/adminProject" + $ref: "#/definitions/adminWorkflowAttributesDeleteRequest" x-exportParamName: "Body" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminProjectUpdateResponse" - ? /api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} - : get: - tags: - - "AdminService" - summary: "Fetches a :ref:`ref_flyteidl.admin.TaskExecution`." - operationId: "GetTaskExecution" - parameters: - - name: "id.node_execution_id.execution_id.project" - in: "path" - description: "Name of the project the resource belongs to." - required: true - type: "string" - x-exportParamName: "IdNodeExecutionIdExecutionIdProject" - - name: "id.node_execution_id.execution_id.domain" - in: "path" - description: "Name of the domain the resource belongs to.\nA domain can be\ - \ considered as a subset within a specific project." - required: true - type: "string" - x-exportParamName: "IdNodeExecutionIdExecutionIdDomain" - - name: "id.node_execution_id.execution_id.name" - in: "path" - description: "User or system provided value for the resource." - required: true - type: "string" - x-exportParamName: "IdNodeExecutionIdExecutionIdName" - - name: "id.node_execution_id.node_id" - in: "path" - required: true - type: "string" - x-exportParamName: "IdNodeExecutionIdNodeId" - - name: "id.task_id.project" - in: "path" - description: "Name of the project the resource belongs to." - required: true - type: "string" - x-exportParamName: "IdTaskIdProject" - - name: "id.task_id.domain" - in: "path" - description: "Name of the domain the resource belongs to.\nA domain can be\ - \ considered as a subset within a specific project." - required: true - type: "string" - x-exportParamName: "IdTaskIdDomain" - - name: "id.task_id.name" - in: "path" - description: "User provided value for the resource." - required: true - type: "string" - x-exportParamName: "IdTaskIdName" - - name: "id.task_id.version" - in: "path" - description: "Specific version of the resource." - required: true - type: "string" - x-exportParamName: "IdTaskIdVersion" - - name: "id.retry_attempt" - in: "path" - required: true - type: "integer" - format: "int64" - x-exportParamName: "IdRetryAttempt" - - name: "id.task_id.resource_type" - in: "query" - description: "Identifies the specific type of resource that this identifier\ - \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ - \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ - \ a compilation of multiple individual objects.\nEventually all Catalog\ - \ objects should be modeled similar to Flyte Objects. The Dataset entities\ - \ makes it possible for the UI and CLI to act on the objects \nin a similar\ - \ manner to other Flyte objects" - required: false - type: "string" - default: "UNSPECIFIED" - enum: - - "UNSPECIFIED" - - "TASK" - - "WORKFLOW" - - "LAUNCH_PLAN" - - "DATASET" - x-exportParamName: "IdTaskIdResourceType" - x-optionalDataType: "String" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/flyteidladminTaskExecution" - ? /api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id} - : get: - tags: - - "AdminService" - summary: "Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`." - operationId: "ListTaskExecutions" - parameters: - - name: "node_execution_id.execution_id.project" - in: "path" - description: "Name of the project the resource belongs to." - required: true - type: "string" - x-exportParamName: "NodeExecutionIdExecutionIdProject" - - name: "node_execution_id.execution_id.domain" - in: "path" - description: "Name of the domain the resource belongs to.\nA domain can be\ - \ considered as a subset within a specific project." - required: true - type: "string" - x-exportParamName: "NodeExecutionIdExecutionIdDomain" - - name: "node_execution_id.execution_id.name" - in: "path" - description: "User or system provided value for the resource." - required: true - type: "string" - x-exportParamName: "NodeExecutionIdExecutionIdName" - - name: "node_execution_id.node_id" - in: "path" - required: true - type: "string" - x-exportParamName: "NodeExecutionIdNodeId" - - name: "limit" - in: "query" - description: "Indicates the number of resources to be returned.\n+required." - required: false - type: "integer" - format: "int64" - x-exportParamName: "Limit" - x-optionalDataType: "Int64" - - name: "token" - in: "query" - description: "In the case of multiple pages of results, the server-provided\ - \ token can be used to fetch the next page\nin a query.\n+optional." - required: false - type: "string" - x-exportParamName: "Token" - x-optionalDataType: "String" - - name: "filters" - in: "query" - description: "Indicates a list of filters passed as string.\nMore info on\ - \ constructing filters : \n+optional." - required: false - type: "string" - x-exportParamName: "Filters" - x-optionalDataType: "String" - - name: "sort_by.key" - in: "query" - description: "Indicates an attribute to sort the response values.\n+required." - required: false - type: "string" - x-exportParamName: "SortByKey" - x-optionalDataType: "String" - - name: "sort_by.direction" - in: "query" - description: "Indicates the direction to apply sort key for response values.\n\ - +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ - \ order." - required: false - type: "string" - default: "DESCENDING" - enum: - - "DESCENDING" - - "ASCENDING" - x-exportParamName: "SortByDirection" - x-optionalDataType: "String" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminTaskExecutionList" - /api/v1/task_ids/{project}/{domain}: + $ref: "#/definitions/adminWorkflowAttributesDeleteResponse" + /api/v1/workflow_ids/{project}/{domain}: get: tags: - "AdminService" summary: "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of\ - \ task objects." - operationId: "ListTaskIds" + \ workflow objects." + operationId: "ListWorkflowIds" parameters: - name: "project" in: "path" @@ -2177,36 +5308,49 @@ paths: type: "string" x-exportParamName: "Filters" x-optionalDataType: "String" + - name: "org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "Org" + x-optionalDataType: "String" responses: 200: description: "A successful response." schema: $ref: "#/definitions/adminNamedEntityIdentifierList" - /api/v1/tasks: + /api/v1/workflows: post: tags: - "AdminService" - summary: "Create and upload a :ref:`ref_flyteidl.admin.Task` definition" - operationId: "CreateTask" + summary: "Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition" + operationId: "CreateWorkflow" parameters: - in: "body" name: "body" required: true schema: - $ref: "#/definitions/flyteidladminTaskCreateRequest" + $ref: "#/definitions/adminWorkflowCreateRequest" x-exportParamName: "Body" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/flyteidladminTaskCreateResponse" - /api/v1/tasks/{id.project}/{id.domain}: + $ref: "#/definitions/adminWorkflowCreateResponse" + /api/v1/workflows/org/{id.org}/{id.project}/{id.domain}: get: tags: - "AdminService" - summary: "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions." - operationId: "ListTasks2" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions." + operationId: "ListWorkflows4" parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -2277,91 +5421,20 @@ paths: 200: description: "A successful response." schema: - $ref: "#/definitions/adminTaskList" - /api/v1/tasks/{id.project}/{id.domain}/{id.name}: - get: - tags: - - "AdminService" - summary: "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions." - operationId: "ListTasks" - parameters: - - name: "id.project" - in: "path" - description: "Name of the project the resource belongs to." - required: true - type: "string" - x-exportParamName: "IdProject" - - name: "id.domain" - in: "path" - description: "Name of the domain the resource belongs to.\nA domain can be\ - \ considered as a subset within a specific project." - required: true - type: "string" - x-exportParamName: "IdDomain" - - name: "id.name" - in: "path" - description: "User provided value for the resource.\nThe combination of project\ - \ + domain + name uniquely identifies the resource.\n+optional - in certain\ - \ contexts - like 'List API', 'Launch plans'" - required: true - type: "string" - x-exportParamName: "IdName" - - name: "limit" - in: "query" - description: "Indicates the number of resources to be returned.\n+required." - required: false - type: "integer" - format: "int64" - x-exportParamName: "Limit" - x-optionalDataType: "Int64" - - name: "token" - in: "query" - description: "In the case of multiple pages of results, this server-provided\ - \ token can be used to fetch the next page\nin a query.\n+optional." - required: false - type: "string" - x-exportParamName: "Token" - x-optionalDataType: "String" - - name: "filters" - in: "query" - description: "Indicates a list of filters passed as string.\nMore info on\ - \ constructing filters : \n+optional." - required: false - type: "string" - x-exportParamName: "Filters" - x-optionalDataType: "String" - - name: "sort_by.key" - in: "query" - description: "Indicates an attribute to sort the response values.\n+required." - required: false - type: "string" - x-exportParamName: "SortByKey" - x-optionalDataType: "String" - - name: "sort_by.direction" - in: "query" - description: "Indicates the direction to apply sort key for response values.\n\ - +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ - \ order." - required: false - type: "string" - default: "DESCENDING" - enum: - - "DESCENDING" - - "ASCENDING" - x-exportParamName: "SortByDirection" - x-optionalDataType: "String" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminTaskList" - /api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}: + $ref: "#/definitions/adminWorkflowList" + /api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}: get: tags: - "AdminService" - summary: "Fetch a :ref:`ref_flyteidl.admin.Task` definition." - operationId: "GetTask" + summary: "Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions." + operationId: "ListWorkflows2" parameters: + - name: "id.org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "IdOrg" - name: "id.project" in: "path" description: "Name of the project the resource belongs to." @@ -2377,196 +5450,138 @@ paths: x-exportParamName: "IdDomain" - name: "id.name" in: "path" - description: "User provided value for the resource." + description: "User provided value for the resource.\nThe combination of project\ + \ + domain + name uniquely identifies the resource.\n+optional - in certain\ + \ contexts - like 'List API', 'Launch plans'" required: true type: "string" x-exportParamName: "IdName" - - name: "id.version" - in: "path" - description: "Specific version of the resource." - required: true + - name: "limit" + in: "query" + description: "Indicates the number of resources to be returned.\n+required." + required: false + type: "integer" + format: "int64" + x-exportParamName: "Limit" + x-optionalDataType: "Int64" + - name: "token" + in: "query" + description: "In the case of multiple pages of results, this server-provided\ + \ token can be used to fetch the next page\nin a query.\n+optional." + required: false type: "string" - x-exportParamName: "IdVersion" - - name: "id.resource_type" + x-exportParamName: "Token" + x-optionalDataType: "String" + - name: "filters" in: "query" - description: "Identifies the specific type of resource that this identifier\ - \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ - \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ - \ a compilation of multiple individual objects.\nEventually all Catalog\ - \ objects should be modeled similar to Flyte Objects. The Dataset entities\ - \ makes it possible for the UI and CLI to act on the objects \nin a similar\ - \ manner to other Flyte objects" + description: "Indicates a list of filters passed as string.\nMore info on\ + \ constructing filters : \n+optional." required: false type: "string" - default: "UNSPECIFIED" + x-exportParamName: "Filters" + x-optionalDataType: "String" + - name: "sort_by.key" + in: "query" + description: "Indicates an attribute to sort the response values.\n+required." + required: false + type: "string" + x-exportParamName: "SortByKey" + x-optionalDataType: "String" + - name: "sort_by.direction" + in: "query" + description: "Indicates the direction to apply sort key for response values.\n\ + +optional.\n\n - DESCENDING: By default, fields are sorted in descending\ + \ order." + required: false + type: "string" + default: "DESCENDING" enum: - - "UNSPECIFIED" - - "TASK" - - "WORKFLOW" - - "LAUNCH_PLAN" - - "DATASET" - x-exportParamName: "IdResourceType" + - "DESCENDING" + - "ASCENDING" + x-exportParamName: "SortByDirection" x-optionalDataType: "String" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminTask" - /api/v1/version: + $ref: "#/definitions/adminWorkflowList" + /api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}: get: tags: - "AdminService" - operationId: "GetVersion" - parameters: [] - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminGetVersionResponse" - /api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}: - put: - tags: - - "AdminService" - summary: "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project, domain and workflow." - operationId: "UpdateWorkflowAttributes" + summary: "Fetch a :ref:`ref_flyteidl.admin.Workflow` definition." + operationId: "GetWorkflow2" parameters: - - name: "attributes.project" + - name: "id.org" in: "path" - description: "Unique project id for which this set of attributes will be applied." + description: "Optional, org key applied to the resource." required: true type: "string" - x-exportParamName: "AttributesProject" - - name: "attributes.domain" - in: "path" - description: "Unique domain id for which this set of attributes will be applied." - required: true - type: "string" - x-exportParamName: "AttributesDomain" - - name: "attributes.workflow" + x-exportParamName: "IdOrg" + - name: "id.project" in: "path" - description: "Workflow name for which this set of attributes will be applied." + description: "Name of the project the resource belongs to." required: true type: "string" - x-exportParamName: "AttributesWorkflow" - - in: "body" - name: "body" - required: true - schema: - $ref: "#/definitions/adminWorkflowAttributesUpdateRequest" - x-exportParamName: "Body" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminWorkflowAttributesUpdateResponse" - /api/v1/workflow_attributes/{project}/{domain}/{workflow}: - get: - tags: - - "AdminService" - summary: "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project, domain and workflow." - operationId: "GetWorkflowAttributes" - parameters: - - name: "project" + x-exportParamName: "IdProject" + - name: "id.domain" in: "path" - description: "Unique project id which this set of attributes references.\n\ - +required" + description: "Name of the domain the resource belongs to.\nA domain can be\ + \ considered as a subset within a specific project." required: true type: "string" - x-exportParamName: "Project" - - name: "domain" + x-exportParamName: "IdDomain" + - name: "id.name" in: "path" - description: "Unique domain id which this set of attributes references.\n\ - +required" + description: "User provided value for the resource." required: true type: "string" - x-exportParamName: "Domain" - - name: "workflow" + x-exportParamName: "IdName" + - name: "id.version" in: "path" - description: "Workflow name which this set of attributes references.\n+required" + description: "Specific version of the resource." required: true type: "string" - x-exportParamName: "Workflow" - - name: "resource_type" + x-exportParamName: "IdVersion" + - name: "id.resource_type" in: "query" - description: "Which type of matchable attributes to return.\n+required.\n\n\ - \ - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n\ - \ - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster\ - \ resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution\ - \ queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster\ - \ label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION:\ - \ Configures default quality of service when undefined in an execution spec.\n\ - \ - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior\ - \ for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for\ - \ customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT:\ - \ Controls how to select an available cluster on which this execution should\ - \ run." + description: "Identifies the specific type of resource that this identifier\ + \ corresponds to.\n\n - DATASET: A dataset represents an entity modeled\ + \ in Flyte DataCatalog. A Dataset is also a versioned entity and can be\ + \ a compilation of multiple individual objects.\nEventually all Catalog\ + \ objects should be modeled similar to Flyte Objects. The Dataset entities\ + \ makes it possible for the UI and CLI to act on the objects \nin a similar\ + \ manner to other Flyte objects" required: false type: "string" - default: "TASK_RESOURCE" + default: "UNSPECIFIED" enum: - - "TASK_RESOURCE" - - "CLUSTER_RESOURCE" - - "EXECUTION_QUEUE" - - "EXECUTION_CLUSTER_LABEL" - - "QUALITY_OF_SERVICE_SPECIFICATION" - - "PLUGIN_OVERRIDE" - - "WORKFLOW_EXECUTION_CONFIG" - - "CLUSTER_ASSIGNMENT" - x-exportParamName: "ResourceType" + - "UNSPECIFIED" + - "TASK" + - "WORKFLOW" + - "LAUNCH_PLAN" + - "DATASET" + x-exportParamName: "IdResourceType" x-optionalDataType: "String" responses: 200: description: "A successful response." schema: - $ref: "#/definitions/adminWorkflowAttributesGetResponse" - delete: - tags: - - "AdminService" - summary: "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`\ - \ for a project, domain and workflow." - operationId: "DeleteWorkflowAttributes" - parameters: - - name: "project" - in: "path" - description: "Unique project id which this set of attributes references.\n\ - +required" - required: true - type: "string" - x-exportParamName: "Project" - - name: "domain" - in: "path" - description: "Unique domain id which this set of attributes references.\n\ - +required" - required: true - type: "string" - x-exportParamName: "Domain" - - name: "workflow" - in: "path" - description: "Workflow name which this set of attributes references.\n+required" - required: true - type: "string" - x-exportParamName: "Workflow" - - in: "body" - name: "body" - required: true - schema: - $ref: "#/definitions/adminWorkflowAttributesDeleteRequest" - x-exportParamName: "Body" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminWorkflowAttributesDeleteResponse" - /api/v1/workflow_ids/{project}/{domain}: + $ref: "#/definitions/adminWorkflow" + /api/v1/workflows/org/{org}/{project}/{domain}: get: tags: - "AdminService" summary: "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of\ \ workflow objects." - operationId: "ListWorkflowIds" + operationId: "ListWorkflowIds2" parameters: + - name: "org" + in: "path" + description: "Optional, org key applied to the resource." + required: true + type: "string" + x-exportParamName: "Org" - name: "project" in: "path" description: "Name of the project that contains the identifiers.\n+required" @@ -2628,30 +5643,12 @@ paths: description: "A successful response." schema: $ref: "#/definitions/adminNamedEntityIdentifierList" - /api/v1/workflows: - post: - tags: - - "AdminService" - summary: "Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition" - operationId: "CreateWorkflow" - parameters: - - in: "body" - name: "body" - required: true - schema: - $ref: "#/definitions/adminWorkflowCreateRequest" - x-exportParamName: "Body" - responses: - 200: - description: "A successful response." - schema: - $ref: "#/definitions/adminWorkflowCreateResponse" /api/v1/workflows/{id.project}/{id.domain}: get: tags: - "AdminService" summary: "Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions." - operationId: "ListWorkflows2" + operationId: "ListWorkflows3" parameters: - name: "id.project" in: "path" @@ -2675,6 +5672,13 @@ paths: type: "string" x-exportParamName: "IdName" x-optionalDataType: "String" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" - name: "limit" in: "query" description: "Indicates the number of resources to be returned.\n+required." @@ -2752,6 +5756,13 @@ paths: required: true type: "string" x-exportParamName: "IdName" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" - name: "limit" in: "query" description: "Indicates the number of resources to be returned.\n+required." @@ -2853,6 +5864,13 @@ paths: - "DATASET" x-exportParamName: "IdResourceType" x-optionalDataType: "String" + - name: "id.org" + in: "query" + description: "Optional, org key applied to the resource." + required: false + type: "string" + x-exportParamName: "IdOrg" + x-optionalDataType: "String" responses: 200: description: "A successful response." @@ -3300,6 +6318,7 @@ definitions: example: short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -3334,6 +6353,7 @@ definitions: descriptionEntities: - short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -3351,6 +6371,7 @@ definitions: - "tags" - short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -3441,6 +6462,7 @@ definitions: \ Get and List execution requests." example: id: + org: "org" domain: "domain" name: "name" project: "project" @@ -3451,6 +6473,7 @@ definitions: uri: "uri" phase: {} workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -3517,11 +6540,13 @@ definitions: principal: "principal" parent_node_execution: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" reference_execution: + org: "org" domain: "domain" name: "name" project: "project" @@ -3582,6 +6607,7 @@ definitions: - "tags" - "tags" launch_plan: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -3745,6 +6771,7 @@ definitions: uri: "uri" phase: {} workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -3835,6 +6862,9 @@ definitions: \ must be\nincluded in this map. If not required and not provided, defaults\ \ apply.\n+optional\nDeprecated: Please use input_data instead." $ref: "#/definitions/coreLiteralMap" + org: + type: "string" + description: "Optional, org key applied to the resource." input_data: title: "The inputs required to start the execution. All required inputs must\ \ be\nincluded in this map. If not required and not provided, defaults apply.\n\ @@ -3852,6 +6882,7 @@ definitions: \ a generated name." example: id: + org: "org" domain: "domain" name: "name" project: "project" @@ -3872,6 +6903,7 @@ definitions: example: executions: - id: + org: "org" domain: "domain" name: "name" project: "project" @@ -3882,6 +6914,7 @@ definitions: uri: "uri" phase: {} workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -3948,11 +6981,13 @@ definitions: principal: "principal" parent_node_execution: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" reference_execution: + org: "org" domain: "domain" name: "name" project: "project" @@ -4013,6 +7048,7 @@ definitions: - "tags" - "tags" launch_plan: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -4107,6 +7143,7 @@ definitions: kubernetes_service_account: "kubernetes_service_account" assumable_iam_role: "assumable_iam_role" - id: + org: "org" domain: "domain" name: "name" project: "project" @@ -4117,6 +7154,7 @@ definitions: uri: "uri" phase: {} workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -4183,11 +7221,13 @@ definitions: principal: "principal" parent_node_execution: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" reference_execution: + org: "org" domain: "domain" name: "name" project: "project" @@ -4248,6 +7288,7 @@ definitions: - "tags" - "tags" launch_plan: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -4391,11 +7432,13 @@ definitions: principal: "principal" parent_node_execution: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" reference_execution: + org: "org" domain: "domain" name: "name" project: "project" @@ -4567,11 +7610,13 @@ definitions: principal: "principal" parent_node_execution: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" reference_execution: + org: "org" domain: "domain" name: "name" project: "project" @@ -4632,6 +7677,7 @@ definitions: - "tags" - "tags" launch_plan: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -4864,6 +7910,7 @@ definitions: \ have a default value for said input." example: id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -5211,6 +8258,7 @@ definitions: required: true spec: workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -5988,6 +9036,7 @@ definitions: example: launch_plans: - id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -6335,6 +9384,7 @@ definitions: required: true spec: workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -6713,6 +9763,7 @@ definitions: kubernetes_service_account: "kubernetes_service_account" assumable_iam_role: "assumable_iam_role" - id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -7060,6 +10111,7 @@ definitions: required: true spec: workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -7574,6 +10626,7 @@ definitions: description: "User-provided launch plan definition and configuration values." example: workflow_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -7991,6 +11044,7 @@ definitions: configurations: - launch_plan: "launch_plan" workflow: "workflow" + org: "org" domain: "domain" project: "project" attributes: @@ -8098,6 +11152,7 @@ definitions: task_type: "task_type" - launch_plan: "launch_plan" workflow: "workflow" + org: "org" domain: "domain" project: "project" attributes: @@ -8231,13 +11286,18 @@ definitions: type: "string" launch_plan: type: "string" - description: "Represents a custom set of attributes applied for either a domain;\ - \ a domain and project; or\ndomain, project and workflow name.\nThese are used\ - \ to override system level defaults for kubernetes cluster resource management,\n\ - default execution values, and more all across different levels of specificity." + org: + type: "string" + description: "Optional, org key applied to the resource." + description: "Represents a custom set of attributes applied for either a domain\ + \ (and optional org); a domain and project (and optional org);\nor domain, project\ + \ and workflow name (and optional org).\nThese are used to override system level\ + \ defaults for kubernetes cluster resource management,\ndefault execution values,\ + \ and more all across different levels of specificity." example: launch_plan: "launch_plan" workflow: "workflow" + org: "org" domain: "domain" project: "project" attributes: @@ -8511,6 +11571,7 @@ definitions: state: {} resource_type: {} id: + org: "org" domain: "domain" name: "name" project: "project" @@ -8529,11 +11590,15 @@ definitions: title: "User provided value for the resource.\nThe combination of project\ \ + domain + name uniquely identifies the resource.\n+optional - in certain\ \ contexts - like 'List API', 'Launch plans'" + org: + type: "string" + description: "Optional, org key applied to the resource." description: "Encapsulation of fields that identifies a Flyte resource.\nA Flyte\ \ resource can be a task, workflow or launch plan.\nA resource can internally\ \ have multiple versions and is uniquely identified\nby project, domain, and\ \ name." example: + org: "org" domain: "domain" name: "name" project: "project" @@ -8553,10 +11618,12 @@ definitions: description: "Represents a list of NamedEntityIdentifiers." example: entities: - - domain: "domain" + - org: "org" + domain: "domain" name: "name" project: "project" - - domain: "domain" + - org: "org" + domain: "domain" name: "name" project: "project" token: "token" @@ -8581,6 +11648,7 @@ definitions: state: {} resource_type: {} id: + org: "org" domain: "domain" name: "name" project: "project" @@ -8589,6 +11657,7 @@ definitions: state: {} resource_type: {} id: + org: "org" domain: "domain" name: "name" project: "project" @@ -8692,6 +11761,7 @@ definitions: phase: {} workflow_node_metadata: executionId: + org: "org" domain: "domain" name: "name" project: "project" @@ -8699,6 +11769,7 @@ definitions: catalog_key: source_task_execution: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -8706,12 +11777,14 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" retry_attempt: 0 dataset_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -10277,6 +13350,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -10302,12 +13376,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -11433,6 +14509,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -11458,12 +14535,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -12588,6 +15667,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -12613,12 +15693,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -12627,6 +15709,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -14288,6 +17371,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -14313,12 +17397,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -15444,6 +18530,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -15469,12 +18556,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -16599,6 +19688,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -16624,12 +19714,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -16638,6 +19730,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -16931,6 +20024,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -17262,6 +20356,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -18963,6 +22058,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -18988,12 +22084,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -20119,6 +23217,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -20144,12 +23243,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21274,6 +24375,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21299,12 +24401,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21313,6 +24417,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21502,6 +24607,7 @@ definitions: - "ids" dynamic_job_spec_uri: "dynamic_job_spec_uri" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21540,6 +24646,7 @@ definitions: input_uri: "input_uri" id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -21548,6 +24655,7 @@ definitions: phase: {} workflow_node_metadata: executionId: + org: "org" domain: "domain" name: "name" project: "project" @@ -21555,6 +24663,7 @@ definitions: catalog_key: source_task_execution: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21562,12 +24671,14 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" retry_attempt: 0 dataset_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21604,6 +24715,7 @@ definitions: input_uri: "input_uri" id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -21612,6 +24724,7 @@ definitions: phase: {} workflow_node_metadata: executionId: + org: "org" domain: "domain" name: "name" project: "project" @@ -21619,6 +24732,7 @@ definitions: catalog_key: source_task_execution: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21626,12 +24740,14 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" retry_attempt: 0 dataset_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -21850,9 +24966,13 @@ definitions: $ref: "#/definitions/adminLabels" state: $ref: "#/definitions/ProjectProjectState" + org: + type: "string" + description: "Optional, org key applied to the resource." description: "Top-level namespace used to classify different entities like workflows\ \ and executions." example: + org: "org" name: "name" domains: - name: "name" @@ -21873,9 +24993,13 @@ definitions: description: "Unique project id for which this set of attributes will be applied." matching_attributes: $ref: "#/definitions/adminMatchingAttributes" + org: + type: "string" + description: "Optional, org key applied to the project." title: "Defines a set of custom matching attributes at the project level.\nFor\ \ more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" example: + org: "org" project: "project" matching_attributes: quality_of_service: @@ -21989,6 +25113,9 @@ definitions: resource_type: title: "Which type of matchable attributes to delete.\n+required" $ref: "#/definitions/adminMatchableResource" + org: + type: "string" + description: "Optional, org key applied to the project." title: "Request to delete a set matchable project level attribute override.\n\ For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" adminProjectAttributesDeleteResponse: @@ -22003,6 +25130,7 @@ definitions: \ info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" example: attributes: + org: "org" project: "project" matching_attributes: quality_of_service: @@ -22129,9 +25257,13 @@ definitions: description: "Unique domain id for which this set of attributes will be applied." matching_attributes: $ref: "#/definitions/adminMatchingAttributes" + org: + type: "string" + description: "Optional, org key applied to the attributes." title: "Defines a set of custom matching attributes which defines resource defaults\ \ for a project and domain.\nFor more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" example: + org: "org" domain: "domain" project: "project" matching_attributes: @@ -22249,6 +25381,9 @@ definitions: resource_type: title: "Which type of matchable attributes to delete.\n+required" $ref: "#/definitions/adminMatchableResource" + org: + type: "string" + description: "Optional, org key applied to the attributes." title: "Request to delete a set matchable project domain attribute override.\n\ For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" adminProjectDomainAttributesDeleteResponse: @@ -22263,6 +25398,7 @@ definitions: \ more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" example: attributes: + org: "org" domain: "domain" project: "project" matching_attributes: @@ -22409,7 +25545,8 @@ definitions: \ for more details" example: projects: - - name: "name" + - org: "org" + name: "name" domains: - name: "name" id: "id" @@ -22421,7 +25558,8 @@ definitions: labels: values: key: "values" - - name: "name" + - org: "org" + name: "name" domains: - name: "name" id: "id" @@ -22554,6 +25692,7 @@ definitions: example: short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -22667,6 +25806,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -23014,6 +26154,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -23476,6 +26617,7 @@ definitions: - input_uri: "input_uri" id: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -23483,6 +26625,7 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -23573,6 +26716,7 @@ definitions: - input_uri: "input_uri" id: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -23580,6 +26724,7 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -23687,6 +26832,7 @@ definitions: tasks: - short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -23800,6 +26946,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -24028,6 +27175,7 @@ definitions: statement: "statement" - short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -24141,6 +27289,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -24474,6 +27623,7 @@ definitions: example: short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -25956,6 +29106,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -25981,12 +29132,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -27112,6 +30265,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -27137,12 +30291,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -28267,6 +31423,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -28292,12 +31449,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -28306,6 +31465,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -29967,6 +33127,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -29992,12 +33153,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -31123,6 +34286,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -31148,12 +34312,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -32278,6 +35444,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -32303,12 +35470,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -32317,6 +35486,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -32610,6 +35780,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -32941,6 +36112,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -34642,6 +37814,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -34667,12 +37840,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -35798,6 +38973,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -35823,12 +38999,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -36953,6 +40131,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -36978,12 +40157,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -36992,6 +40173,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -37194,11 +40376,15 @@ definitions: description: "Workflow name for which this set of attributes will be applied." matching_attributes: $ref: "#/definitions/adminMatchingAttributes" + org: + type: "string" + description: "Optional, org key applied to the attributes." title: "Defines a set of custom matching attributes which defines resource defaults\ \ for a project, domain and workflow.\nFor more info on matchable attributes,\ \ see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" example: workflow: "workflow" + org: "org" domain: "domain" project: "project" matching_attributes: @@ -37319,6 +40505,9 @@ definitions: resource_type: title: "Which type of matchable attributes to delete.\n+required" $ref: "#/definitions/adminMatchableResource" + org: + type: "string" + description: "Optional, org key applied to the attributes." title: "Request to delete a set matchable workflow attribute override.\nFor more\ \ info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration`" adminWorkflowAttributesDeleteResponse: @@ -37333,6 +40522,7 @@ definitions: example: attributes: workflow: "workflow" + org: "org" domain: "domain" project: "project" matching_attributes: @@ -38938,6 +42128,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -38963,12 +42154,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -40094,6 +43287,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -40119,12 +43313,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -41249,6 +44445,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -41274,12 +44471,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -41288,6 +44487,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -42949,6 +46149,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -42974,12 +46175,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -44105,6 +47308,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -44130,12 +47334,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -45260,6 +48466,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -45285,12 +48492,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -45299,6 +48508,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -45592,6 +48802,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -45923,6 +49134,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -47624,6 +50836,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -47649,12 +50862,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -48780,6 +51995,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -48805,12 +52021,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -49935,6 +53153,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -49960,12 +53179,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -49974,6 +53195,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -50355,12 +53577,14 @@ definitions: - null - null workflow_id: + org: "org" domain: "domain" name: "name" project: "project" end_time: "2000-01-23T04:56:07.000+00:00" task_id: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -50368,6 +53592,7 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -50376,6 +53601,7 @@ definitions: operation_id: "operation_id" node_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -50399,6 +53625,7 @@ definitions: workflows: - short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -51881,6 +55108,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -51906,12 +55134,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -53037,6 +56267,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -53062,12 +56293,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -54192,6 +57425,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -54217,12 +57451,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -54231,6 +57467,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -55892,6 +59129,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -55917,12 +59155,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -57048,6 +60288,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -57073,12 +60314,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -58203,6 +61446,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -58228,12 +61472,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -58242,6 +61488,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -58535,6 +61782,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -58866,6 +62114,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -60567,6 +63816,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -60592,12 +63842,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -61723,6 +64975,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -61748,12 +65001,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -62878,6 +66133,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -62903,12 +66159,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -62917,6 +66175,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -63107,6 +66366,7 @@ definitions: created_at: "2000-01-23T04:56:07.000+00:00" - short_description: "short_description" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -64589,6 +67849,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -64614,12 +67875,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -65745,6 +69008,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -65770,12 +69034,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -66900,6 +70166,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -66925,12 +70192,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -66939,6 +70208,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -68600,6 +71870,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -68625,12 +71896,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -69756,6 +73029,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -69781,12 +73055,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -70911,6 +74187,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -70936,12 +74213,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -70950,6 +74229,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -71243,6 +74523,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -71574,6 +74855,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -73275,6 +76557,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -73300,12 +76583,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -74431,6 +77716,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -74456,12 +77742,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -75586,6 +78874,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -75611,12 +78900,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -75625,6 +78916,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -77471,6 +80763,7 @@ definitions: example: source_task_execution: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -77478,12 +80771,14 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" retry_attempt: 0 dataset_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -77844,6 +81139,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -79557,6 +82853,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -79582,12 +82879,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -80713,6 +84012,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -80738,12 +84038,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -81868,6 +85170,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -81893,12 +85196,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -81907,6 +85212,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -83595,6 +86901,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -83620,12 +86927,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -84751,6 +88060,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -84776,12 +88086,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -85906,6 +89218,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -85931,12 +89244,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -85945,6 +89260,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -87606,6 +90922,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -87631,12 +90948,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -88762,6 +92081,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -88787,12 +92107,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -89917,6 +93239,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -89942,12 +93265,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -89956,6 +93281,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -90249,6 +93575,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -90580,6 +93907,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -92281,6 +95609,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -92306,12 +95635,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -93437,6 +96768,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -93462,12 +96794,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -94592,6 +97926,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -94617,12 +97952,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -94631,6 +97968,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -95208,8 +98546,12 @@ definitions: version: type: "string" description: "Specific version of the resource." + org: + type: "string" + description: "Optional, org key applied to the resource." description: "Encapsulation of fields that uniquely identifies a Flyte resource." example: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -97743,6 +101085,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -97768,12 +101111,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -97789,6 +101134,7 @@ definitions: description: "Encapsulation of fields that identify a Flyte node execution entity." example: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -99143,12 +102489,14 @@ definitions: - null - null workflow_id: + org: "org" domain: "domain" name: "name" project: "project" end_time: "2000-01-23T04:56:07.000+00:00" task_id: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -99156,6 +102504,7 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -99164,6 +102513,7 @@ definitions: operation_id: "operation_id" node_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -99268,6 +102618,7 @@ definitions: description: "Encapsulation of fields that identify a Flyte task execution entity." example: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -99275,6 +102626,7 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -99404,6 +102756,7 @@ definitions: description: "Refers to the task that the Node is to execute." example: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -99614,6 +102967,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -100413,8 +103767,12 @@ definitions: name: type: "string" description: "User or system provided value for the resource." + org: + type: "string" + description: "Optional, org key applied to the resource." title: "Encapsulation of fields that uniquely identifies a Flyte workflow execution" example: + org: "org" domain: "domain" name: "name" project: "project" @@ -100489,12 +103847,14 @@ definitions: description: "Refers to a the workflow the node is to execute." example: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -102017,6 +105377,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -102042,12 +105403,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -103173,6 +106536,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -103198,12 +106562,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -104328,6 +107694,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -104353,12 +107720,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -104367,6 +107736,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -106351,6 +109721,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -106376,12 +109747,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -107507,6 +110880,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -107532,12 +110906,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -108662,6 +112038,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -108687,12 +112064,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -108701,6 +112080,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -110362,6 +113742,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -110387,12 +113768,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -111518,6 +114901,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -111543,12 +114927,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -112673,6 +116059,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -112698,12 +116085,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -112712,6 +116101,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -113005,6 +116395,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -113336,6 +116727,7 @@ definitions: enabled: true input_path: "input_path" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -115037,6 +118429,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -115062,12 +118455,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -116193,6 +119588,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -116218,12 +119614,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117348,6 +120746,7 @@ definitions: alias: "alias" task_node: reference_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117373,12 +120772,14 @@ definitions: id: "id" workflow_node: launchplan_ref: + org: "org" domain: "domain" resource_type: {} name: "name" project: "project" version: "version" sub_workflow_ref: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117387,6 +120788,7 @@ definitions: metadata_defaults: interruptible: true id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117576,6 +120978,7 @@ definitions: - "ids" dynamic_job_spec_uri: "dynamic_job_spec_uri" id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117611,6 +121014,7 @@ definitions: input_uri: "input_uri" id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -117619,6 +121023,7 @@ definitions: phase: {} workflow_node_metadata: executionId: + org: "org" domain: "domain" name: "name" project: "project" @@ -117626,6 +121031,7 @@ definitions: catalog_key: source_task_execution: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117633,12 +121039,14 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" retry_attempt: 0 dataset_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117704,6 +121112,7 @@ definitions: input_uri: "input_uri" id: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117711,6 +121120,7 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" @@ -117815,6 +121225,7 @@ definitions: catalog_key: source_task_execution: task_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117822,12 +121233,14 @@ definitions: version: "version" node_execution_id: execution_id: + org: "org" domain: "domain" name: "name" project: "project" node_id: "node_id" retry_attempt: 0 dataset_id: + org: "org" domain: "domain" resource_type: {} name: "name" @@ -117847,6 +121260,7 @@ definitions: title: "Metadata for a WorkflowNode" example: executionId: + org: "org" domain: "domain" name: "name" project: "project" diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go index 1ad9e1f583..e106763b6c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go @@ -743,25 +743,25 @@ func (a *AdminServiceApiService) DeleteProjectAttributes(ctx context.Context, pr /* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the project. * @param project Unique project id which this set of attributes references. +required - * @param domain Unique domain id which this set of attributes references. +required * @param body -@return AdminProjectDomainAttributesDeleteResponse +@return AdminProjectAttributesDeleteResponse */ -func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Context, project string, domain string, body AdminProjectDomainAttributesDeleteRequest) (AdminProjectDomainAttributesDeleteResponse, *http.Response, error) { +func (a *AdminServiceApiService) DeleteProjectAttributes2(ctx context.Context, org string, project string, body AdminProjectAttributesDeleteRequest) (AdminProjectAttributesDeleteResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Delete") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjectDomainAttributesDeleteResponse + localVarReturnValue AdminProjectAttributesDeleteResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/{project}/{domain}" + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/org/{org}/{project}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) - localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -817,7 +817,7 @@ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Conte } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjectDomainAttributesDeleteResponse + var v AdminProjectAttributesDeleteResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -834,29 +834,27 @@ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Conte } /* -AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required * @param domain Unique domain id which this set of attributes references. +required - * @param workflow Workflow name which this set of attributes references. +required * @param body -@return AdminWorkflowAttributesDeleteResponse +@return AdminProjectDomainAttributesDeleteResponse */ -func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, body AdminWorkflowAttributesDeleteRequest) (AdminWorkflowAttributesDeleteResponse, *http.Response, error) { +func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Context, project string, domain string, body AdminProjectDomainAttributesDeleteRequest) (AdminProjectDomainAttributesDeleteResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Delete") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminWorkflowAttributesDeleteResponse + localVarReturnValue AdminProjectDomainAttributesDeleteResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/{project}/{domain}/{workflow}" + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/{project}/{domain}" localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"workflow"+"}", fmt.Sprintf("%v", workflow), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -912,7 +910,7 @@ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, p } if localVarHttpResponse.StatusCode == 200 { - var v AdminWorkflowAttributesDeleteResponse + var v AdminProjectDomainAttributesDeleteResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -929,28 +927,29 @@ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, p } /* -AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. +AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param org Optional, org key applied to the attributes. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param body -@return AdminLaunchPlan +@return AdminProjectDomainAttributesDeleteResponse */ -func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string) (AdminLaunchPlan, *http.Response, error) { +func (a *AdminServiceApiService) DeleteProjectDomainAttributes2(ctx context.Context, org string, project string, domain string, body AdminProjectDomainAttributesDeleteRequest) (AdminProjectDomainAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") + localVarHttpMethod = strings.ToUpper("Delete") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminLaunchPlan + localVarReturnValue AdminProjectDomainAttributesDeleteResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/org/{org}/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -973,6 +972,8 @@ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProj if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } + // body params + localVarPostBody = &body r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return localVarReturnValue, nil, err @@ -1004,7 +1005,7 @@ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProj } if localVarHttpResponse.StatusCode == 200 { - var v AdminLaunchPlan + var v AdminProjectDomainAttributesDeleteResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1021,32 +1022,29 @@ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProj } /* -AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. +AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idResourceType Identifies the specific type of resource that this identifier corresponds to. - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. - * @param idVersion Specific version of the resource. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param workflow Workflow name which this set of attributes references. +required + * @param body -@return AdminDescriptionEntity +@return AdminWorkflowAttributesDeleteResponse */ -func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idResourceType string, idProject string, idDomain string, idName string, idVersion string) (AdminDescriptionEntity, *http.Response, error) { +func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, body AdminWorkflowAttributesDeleteRequest) (AdminWorkflowAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") + localVarHttpMethod = strings.ToUpper("Delete") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminDescriptionEntity + localVarReturnValue AdminWorkflowAttributesDeleteResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}" - localVarPath = strings.Replace(localVarPath, "{"+"id.resource_type"+"}", fmt.Sprintf("%v", idResourceType), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/{project}/{domain}/{workflow}" + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow"+"}", fmt.Sprintf("%v", workflow), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -1069,6 +1067,8 @@ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idRes if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } + // body params + localVarPostBody = &body r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return localVarReturnValue, nil, err @@ -1100,7 +1100,7 @@ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idRes } if localVarHttpResponse.StatusCode == 200 { - var v AdminDescriptionEntity + var v AdminWorkflowAttributesDeleteResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1117,28 +1117,31 @@ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idRes } /* -AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. +AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. + * @param org Optional, org key applied to the attributes. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param workflow Workflow name which this set of attributes references. +required + * @param body -@return AdminExecution +@return AdminWorkflowAttributesDeleteResponse */ -func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject string, idDomain string, idName string) (AdminExecution, *http.Response, error) { +func (a *AdminServiceApiService) DeleteWorkflowAttributes2(ctx context.Context, org string, project string, domain string, workflow string, body AdminWorkflowAttributesDeleteRequest) (AdminWorkflowAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") + localVarHttpMethod = strings.ToUpper("Delete") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminExecution + localVarReturnValue AdminWorkflowAttributesDeleteResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow"+"}", fmt.Sprintf("%v", workflow), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -1161,6 +1164,8 @@ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject str if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } + // body params + localVarPostBody = &body r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return localVarReturnValue, nil, err @@ -1192,7 +1197,7 @@ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject str } if localVarHttpResponse.StatusCode == 200 { - var v AdminExecution + var v AdminWorkflowAttributesDeleteResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1209,25 +1214,32 @@ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject str } /* -AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. +AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *GetActiveLaunchPlanOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminWorkflowExecutionGetDataResponse +@return AdminLaunchPlan */ -func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject string, idDomain string, idName string) (AdminWorkflowExecutionGetDataResponse, *http.Response, error) { + +type GetActiveLaunchPlanOpts struct { + IdOrg optional.String +} + +func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetActiveLaunchPlanOpts) (AdminLaunchPlan, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminWorkflowExecutionGetDataResponse + localVarReturnValue AdminLaunchPlan ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/data/executions/{id.project}/{id.domain}/{id.name}" + localVarPath := a.client.cfg.BasePath + "/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}" localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) @@ -1236,6 +1248,9 @@ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject localVarQueryParams := url.Values{} localVarFormParams := url.Values{} + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -1284,7 +1299,7 @@ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject } if localVarHttpResponse.StatusCode == 200 { - var v AdminWorkflowExecutionGetDataResponse + var v AdminLaunchPlan err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1301,32 +1316,27 @@ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject } /* -AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. +AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. - * @param optional nil or *GetExecutionMetricsOpts - Optional Parameters: - * @param "Depth" (optional.Int32) - depth defines the number of Flyte entity levels to traverse when breaking down execution details. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' -@return AdminWorkflowExecutionGetMetricsResponse +@return AdminLaunchPlan */ - -type GetExecutionMetricsOpts struct { - Depth optional.Int32 -} - -func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionMetricsOpts) (AdminWorkflowExecutionGetMetricsResponse, *http.Response, error) { +func (a *AdminServiceApiService) GetActiveLaunchPlan2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string) (AdminLaunchPlan, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminWorkflowExecutionGetMetricsResponse + localVarReturnValue AdminLaunchPlan ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}" + localVarPath := a.client.cfg.BasePath + "/api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) @@ -1335,9 +1345,6 @@ func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProj localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Depth.IsSet() { - localVarQueryParams.Add("depth", parameterToString(localVarOptionals.Depth.Value(), "")) - } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -1386,7 +1393,7 @@ func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProj } if localVarHttpResponse.StatusCode == 200 { - var v AdminWorkflowExecutionGetMetricsResponse + var v AdminLaunchPlan err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1403,33 +1410,35 @@ func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProj } /* -AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idResourceType Identifies the specific type of resource that this identifier corresponds to. * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. * @param idName User provided value for the resource. * @param idVersion Specific version of the resource. - * @param optional nil or *GetLaunchPlanOpts - Optional Parameters: - * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param optional nil or *GetDescriptionEntityOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminLaunchPlan +@return AdminDescriptionEntity */ -type GetLaunchPlanOpts struct { - IdResourceType optional.String +type GetDescriptionEntityOpts struct { + IdOrg optional.String } -func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetLaunchPlanOpts) (AdminLaunchPlan, *http.Response, error) { +func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idResourceType string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetDescriptionEntityOpts) (AdminDescriptionEntity, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminLaunchPlan + localVarReturnValue AdminDescriptionEntity ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.resource_type"+"}", fmt.Sprintf("%v", idResourceType), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) @@ -1439,8 +1448,8 @@ func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject st localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { - localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -1490,7 +1499,7 @@ func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject st } if localVarHttpResponse.StatusCode == 200 { - var v AdminLaunchPlan + var v AdminDescriptionEntity err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1507,30 +1516,34 @@ func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject st } /* -AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required + * @param idOrg Optional, org key applied to the resource. + * @param idResourceType Identifies the specific type of resource that this identifier corresponds to. * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. -@return AdminNamedEntity +@return AdminDescriptionEntity */ -func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string) (AdminNamedEntity, *http.Response, error) { +func (a *AdminServiceApiService) GetDescriptionEntity2(ctx context.Context, idOrg string, idResourceType string, idProject string, idDomain string, idName string, idVersion string) (AdminDescriptionEntity, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNamedEntity + localVarReturnValue AdminDescriptionEntity ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.resource_type"+"}", fmt.Sprintf("%v", idResourceType), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -1584,7 +1597,7 @@ func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceTyp } if localVarHttpResponse.StatusCode == 200 { - var v AdminNamedEntity + var v AdminDescriptionEntity err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1601,35 +1614,43 @@ func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceTyp } /* -AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. +AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idExecutionIdProject Name of the project the resource belongs to. - * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idExecutionIdName User or system provided value for the resource. - * @param idNodeId + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param optional nil or *GetExecutionOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. -@return FlyteidladminNodeExecution +@return AdminExecution */ -func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (FlyteidladminNodeExecution, *http.Response, error) { + +type GetExecutionOpts struct { + IdOrg optional.String +} + +func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionOpts) (AdminExecution, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue FlyteidladminNodeExecution + localVarReturnValue AdminExecution ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" - localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.project"+"}", fmt.Sprintf("%v", idExecutionIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.domain"+"}", fmt.Sprintf("%v", idExecutionIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.name"+"}", fmt.Sprintf("%v", idExecutionIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_id"+"}", fmt.Sprintf("%v", idNodeId), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -1678,7 +1699,7 @@ func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecuti } if localVarHttpResponse.StatusCode == 200 { - var v FlyteidladminNodeExecution + var v AdminExecution err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1695,30 +1716,30 @@ func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecuti } /* -AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. +AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idExecutionIdProject Name of the project the resource belongs to. - * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idExecutionIdName User or system provided value for the resource. - * @param idNodeId + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. -@return AdminNodeExecutionGetDataResponse +@return AdminExecution */ -func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (AdminNodeExecutionGetDataResponse, *http.Response, error) { +func (a *AdminServiceApiService) GetExecution2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string) (AdminExecution, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNodeExecutionGetDataResponse + localVarReturnValue AdminExecution ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" - localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.project"+"}", fmt.Sprintf("%v", idExecutionIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.domain"+"}", fmt.Sprintf("%v", idExecutionIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.name"+"}", fmt.Sprintf("%v", idExecutionIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_id"+"}", fmt.Sprintf("%v", idNodeId), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -1772,7 +1793,7 @@ func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExe } if localVarHttpResponse.StatusCode == 200 { - var v AdminNodeExecutionGetDataResponse + var v AdminExecution err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1789,38 +1810,42 @@ func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExe } /* -AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Unique project id which this set of attributes references. +required - * @param optional nil or *GetProjectAttributesOpts - Optional Parameters: - * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param optional nil or *GetExecutionDataOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminProjectAttributesGetResponse +@return AdminWorkflowExecutionGetDataResponse */ -type GetProjectAttributesOpts struct { - ResourceType optional.String +type GetExecutionDataOpts struct { + IdOrg optional.String } -func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, project string, localVarOptionals *GetProjectAttributesOpts) (AdminProjectAttributesGetResponse, *http.Response, error) { +func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionDataOpts) (AdminWorkflowExecutionGetDataResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjectAttributesGetResponse + localVarReturnValue AdminWorkflowExecutionGetDataResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/project_attributes/{project}" - localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/data/executions/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { - localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -1870,7 +1895,7 @@ func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, proje } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjectAttributesGetResponse + var v AdminWorkflowExecutionGetDataResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1887,41 +1912,35 @@ func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, proje } /* -AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Unique project id which this set of attributes references. +required - * @param domain Unique domain id which this set of attributes references. +required - * @param optional nil or *GetProjectDomainAttributesOpts - Optional Parameters: - * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. -@return AdminProjectDomainAttributesGetResponse +@return AdminWorkflowExecutionGetDataResponse */ - -type GetProjectDomainAttributesOpts struct { - ResourceType optional.String -} - -func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, project string, domain string, localVarOptionals *GetProjectDomainAttributesOpts) (AdminProjectDomainAttributesGetResponse, *http.Response, error) { +func (a *AdminServiceApiService) GetExecutionData2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string) (AdminWorkflowExecutionGetDataResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjectDomainAttributesGetResponse + localVarReturnValue AdminWorkflowExecutionGetDataResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/{project}/{domain}" - localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) - localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { - localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) - } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -1970,7 +1989,7 @@ func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjectDomainAttributesGetResponse + var v AdminWorkflowExecutionGetDataResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -1987,44 +2006,47 @@ func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, } /* -AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definition. +AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. - * @param idVersion Specific version of the resource. - * @param optional nil or *GetTaskOpts - Optional Parameters: - * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param idName User or system provided value for the resource. + * @param optional nil or *GetExecutionMetricsOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Depth" (optional.Int32) - depth defines the number of Flyte entity levels to traverse when breaking down execution details. -@return AdminTask +@return AdminWorkflowExecutionGetMetricsResponse */ -type GetTaskOpts struct { - IdResourceType optional.String +type GetExecutionMetricsOpts struct { + IdOrg optional.String + Depth optional.Int32 } -func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetTaskOpts) (AdminTask, *http.Response, error) { +func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionMetricsOpts) (AdminWorkflowExecutionGetMetricsResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminTask + localVarReturnValue AdminWorkflowExecutionGetMetricsResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath := a.client.cfg.BasePath + "/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}" localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { - localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Depth.IsSet() { + localVarQueryParams.Add("depth", parameterToString(localVarOptionals.Depth.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2074,7 +2096,7 @@ func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, } if localVarHttpResponse.StatusCode == 200 { - var v AdminTask + var v AdminWorkflowExecutionGetMetricsResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2091,54 +2113,44 @@ func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, } /* -AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. +AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. - * @param idNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idNodeExecutionIdExecutionIdName User or system provided value for the resource. - * @param idNodeExecutionIdNodeId - * @param idTaskIdProject Name of the project the resource belongs to. - * @param idTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idTaskIdName User provided value for the resource. - * @param idTaskIdVersion Specific version of the resource. - * @param idRetryAttempt - * @param optional nil or *GetTaskExecutionOpts - Optional Parameters: - * @param "IdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param optional nil or *GetExecutionMetrics2Opts - Optional Parameters: + * @param "Depth" (optional.Int32) - depth defines the number of Flyte entity levels to traverse when breaking down execution details. -@return FlyteidladminTaskExecution +@return AdminWorkflowExecutionGetMetricsResponse */ -type GetTaskExecutionOpts struct { - IdTaskIdResourceType optional.String +type GetExecutionMetrics2Opts struct { + Depth optional.Int32 } -func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionOpts) (FlyteidladminTaskExecution, *http.Response, error) { +func (a *AdminServiceApiService) GetExecutionMetrics2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionMetrics2Opts) (AdminWorkflowExecutionGetMetricsResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue FlyteidladminTaskExecution + localVarReturnValue AdminWorkflowExecutionGetMetricsResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", idNodeExecutionIdNodeId), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.project"+"}", fmt.Sprintf("%v", idTaskIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.domain"+"}", fmt.Sprintf("%v", idTaskIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.name"+"}", fmt.Sprintf("%v", idTaskIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.version"+"}", fmt.Sprintf("%v", idTaskIdVersion), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.retry_attempt"+"}", fmt.Sprintf("%v", idRetryAttempt), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdTaskIdResourceType.IsSet() { - localVarQueryParams.Add("id.task_id.resource_type", parameterToString(localVarOptionals.IdTaskIdResourceType.Value(), "")) + if localVarOptionals != nil && localVarOptionals.Depth.IsSet() { + localVarQueryParams.Add("depth", parameterToString(localVarOptionals.Depth.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2188,7 +2200,7 @@ func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExe } if localVarHttpResponse.StatusCode == 200 { - var v FlyteidladminTaskExecution + var v AdminWorkflowExecutionGetMetricsResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2205,54 +2217,49 @@ func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExe } /* -AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. - * @param idNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idNodeExecutionIdExecutionIdName User or system provided value for the resource. - * @param idNodeExecutionIdNodeId - * @param idTaskIdProject Name of the project the resource belongs to. - * @param idTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idTaskIdName User provided value for the resource. - * @param idTaskIdVersion Specific version of the resource. - * @param idRetryAttempt - * @param optional nil or *GetTaskExecutionDataOpts - Optional Parameters: - * @param "IdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param optional nil or *GetLaunchPlanOpts - Optional Parameters: + * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminTaskExecutionGetDataResponse +@return AdminLaunchPlan */ -type GetTaskExecutionDataOpts struct { - IdTaskIdResourceType optional.String +type GetLaunchPlanOpts struct { + IdResourceType optional.String + IdOrg optional.String } -func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionDataOpts) (AdminTaskExecutionGetDataResponse, *http.Response, error) { +func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetLaunchPlanOpts) (AdminLaunchPlan, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminTaskExecutionGetDataResponse + localVarReturnValue AdminLaunchPlan ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", idNodeExecutionIdNodeId), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.project"+"}", fmt.Sprintf("%v", idTaskIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.domain"+"}", fmt.Sprintf("%v", idTaskIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.name"+"}", fmt.Sprintf("%v", idTaskIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.version"+"}", fmt.Sprintf("%v", idTaskIdVersion), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.retry_attempt"+"}", fmt.Sprintf("%v", idRetryAttempt), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdTaskIdResourceType.IsSet() { - localVarQueryParams.Add("id.task_id.resource_type", parameterToString(localVarOptionals.IdTaskIdResourceType.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { + localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2302,7 +2309,7 @@ func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNod } if localVarHttpResponse.StatusCode == 200 { - var v AdminTaskExecutionGetDataResponse + var v AdminLaunchPlan err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2319,27 +2326,47 @@ func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNod } /* -AdminServiceApiService +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param optional nil or *GetLaunchPlan2Opts - Optional Parameters: + * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects -@return AdminGetVersionResponse +@return AdminLaunchPlan */ -func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersionResponse, *http.Response, error) { + +type GetLaunchPlan2Opts struct { + IdResourceType optional.String +} + +func (a *AdminServiceApiService) GetLaunchPlan2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetLaunchPlan2Opts) (AdminLaunchPlan, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminGetVersionResponse + localVarReturnValue AdminLaunchPlan ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/version" + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} + if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { + localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) + } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2388,7 +2415,7 @@ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersio } if localVarHttpResponse.StatusCode == 200 { - var v AdminGetVersionResponse + var v AdminLaunchPlan err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2405,44 +2432,44 @@ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersio } /* -AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. +AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. - * @param idVersion Specific version of the resource. - * @param optional nil or *GetWorkflowOpts - Optional Parameters: - * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *GetNamedEntityOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminWorkflow +@return AdminNamedEntity */ -type GetWorkflowOpts struct { - IdResourceType optional.String +type GetNamedEntityOpts struct { + IdOrg optional.String } -func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetWorkflowOpts) (AdminWorkflow, *http.Response, error) { +func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, localVarOptionals *GetNamedEntityOpts) (AdminNamedEntity, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminWorkflow + localVarReturnValue AdminNamedEntity ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { - localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2492,7 +2519,7 @@ func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject stri } if localVarHttpResponse.StatusCode == 200 { - var v AdminWorkflow + var v AdminNamedEntity err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2509,43 +2536,37 @@ func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject stri } /* -AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Unique project id which this set of attributes references. +required - * @param domain Unique domain id which this set of attributes references. +required - * @param workflow Workflow name which this set of attributes references. +required - * @param optional nil or *GetWorkflowAttributesOpts - Optional Parameters: - * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + * @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' -@return AdminWorkflowAttributesGetResponse +@return AdminNamedEntity */ - -type GetWorkflowAttributesOpts struct { - ResourceType optional.String -} - -func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, localVarOptionals *GetWorkflowAttributesOpts) (AdminWorkflowAttributesGetResponse, *http.Response, error) { +func (a *AdminServiceApiService) GetNamedEntity2(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, idName string) (AdminNamedEntity, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminWorkflowAttributesGetResponse + localVarReturnValue AdminNamedEntity ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/{project}/{domain}/{workflow}" - localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) - localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"workflow"+"}", fmt.Sprintf("%v", workflow), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { - localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) - } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2594,7 +2615,7 @@ func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, proj } if localVarHttpResponse.StatusCode == 200 { - var v AdminWorkflowAttributesGetResponse + var v AdminNamedEntity err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2611,55 +2632,44 @@ func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, proj } /* -AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. +AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Name of the project that contains the identifiers. +required. - * @param domain Name of the domain the identifiers belongs to within the project. +required. - * @param optional nil or *ListActiveLaunchPlansOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId + * @param optional nil or *GetNodeExecutionOpts - Optional Parameters: + * @param "IdExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminLaunchPlanList +@return FlyteidladminNodeExecution */ -type ListActiveLaunchPlansOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String - SortByDirection optional.String +type GetNodeExecutionOpts struct { + IdExecutionIdOrg optional.String } -func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, project string, domain string, localVarOptionals *ListActiveLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { +func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string, localVarOptionals *GetNodeExecutionOpts) (FlyteidladminNodeExecution, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminLaunchPlanList + localVarReturnValue FlyteidladminNodeExecution ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/active_launch_plans/{project}/{domain}" - localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) - localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.project"+"}", fmt.Sprintf("%v", idExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.domain"+"}", fmt.Sprintf("%v", idExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.name"+"}", fmt.Sprintf("%v", idExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_id"+"}", fmt.Sprintf("%v", idNodeId), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdExecutionIdOrg.IsSet() { + localVarQueryParams.Add("id.execution_id.org", parameterToString(localVarOptionals.IdExecutionIdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2709,7 +2719,7 @@ func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, proj } if localVarHttpResponse.StatusCode == 200 { - var v AdminLaunchPlanList + var v FlyteidladminNodeExecution err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2726,65 +2736,37 @@ func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, proj } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param resourceType Identifies the specific type of resource that this identifier corresponds to. - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - * @param optional nil or *ListDescriptionEntitiesOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idExecutionIdOrg Optional, org key applied to the resource. + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId -@return AdminDescriptionEntityList +@return FlyteidladminNodeExecution */ - -type ListDescriptionEntitiesOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String -} - -func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, localVarOptionals *ListDescriptionEntitiesOpts) (AdminDescriptionEntityList, *http.Response, error) { +func (a *AdminServiceApiService) GetNodeExecution2(ctx context.Context, idExecutionIdOrg string, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (FlyteidladminNodeExecution, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminDescriptionEntityList + localVarReturnValue FlyteidladminNodeExecution ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.org"+"}", fmt.Sprintf("%v", idExecutionIdOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.project"+"}", fmt.Sprintf("%v", idExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.domain"+"}", fmt.Sprintf("%v", idExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.name"+"}", fmt.Sprintf("%v", idExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_id"+"}", fmt.Sprintf("%v", idNodeId), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) - } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2833,7 +2815,7 @@ func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, re } if localVarHttpResponse.StatusCode == 200 { - var v AdminDescriptionEntityList + var v FlyteidladminNodeExecution err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2850,67 +2832,44 @@ func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, re } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param resourceType Identifies the specific type of resource that this identifier corresponds to. - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param optional nil or *ListDescriptionEntities2Opts - Optional Parameters: - * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId + * @param optional nil or *GetNodeExecutionDataOpts - Optional Parameters: + * @param "IdExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminDescriptionEntityList +@return AdminNodeExecutionGetDataResponse */ -type ListDescriptionEntities2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetNodeExecutionDataOpts struct { + IdExecutionIdOrg optional.String } -func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, resourceType string, idProject string, idDomain string, localVarOptionals *ListDescriptionEntities2Opts) (AdminDescriptionEntityList, *http.Response, error) { +func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string, localVarOptionals *GetNodeExecutionDataOpts) (AdminNodeExecutionGetDataResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminDescriptionEntityList + localVarReturnValue AdminNodeExecutionGetDataResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}" - localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.project"+"}", fmt.Sprintf("%v", idExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.domain"+"}", fmt.Sprintf("%v", idExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.name"+"}", fmt.Sprintf("%v", idExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_id"+"}", fmt.Sprintf("%v", idNodeId), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { - localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdExecutionIdOrg.IsSet() { + localVarQueryParams.Add("id.execution_id.org", parameterToString(localVarOptionals.IdExecutionIdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -2960,7 +2919,7 @@ func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, r } if localVarHttpResponse.StatusCode == 200 { - var v AdminDescriptionEntityList + var v AdminNodeExecutionGetDataResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -2977,66 +2936,37 @@ func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, r } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution`. +AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param optional nil or *ListExecutionsOpts - Optional Parameters: - * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idExecutionIdOrg Optional, org key applied to the resource. + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId -@return AdminExecutionList +@return AdminNodeExecutionGetDataResponse */ - -type ListExecutionsOpts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String -} - -func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListExecutionsOpts) (AdminExecutionList, *http.Response, error) { +func (a *AdminServiceApiService) GetNodeExecutionData2(ctx context.Context, idExecutionIdOrg string, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (AdminNodeExecutionGetDataResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminExecutionList + localVarReturnValue AdminNodeExecutionGetDataResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.org"+"}", fmt.Sprintf("%v", idExecutionIdOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.project"+"}", fmt.Sprintf("%v", idExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.domain"+"}", fmt.Sprintf("%v", idExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.execution_id.name"+"}", fmt.Sprintf("%v", idExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_id"+"}", fmt.Sprintf("%v", idNodeId), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { - localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) - } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -3085,7 +3015,7 @@ func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject s } if localVarHttpResponse.StatusCode == 200 { - var v AdminExecutionList + var v AdminNodeExecutionGetDataResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3102,60 +3032,43 @@ func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject s } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. +AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Name of the project that contains the identifiers. +required - * @param domain Name of the domain the identifiers belongs to within the project. +required - * @param optional nil or *ListLaunchPlanIdsOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param project Unique project id which this set of attributes references. +required + * @param optional nil or *GetProjectAttributesOpts - Optional Parameters: + * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + * @param "Org" (optional.String) - Optional, org key applied to the project. -@return AdminNamedEntityIdentifierList +@return AdminProjectAttributesGetResponse */ -type ListLaunchPlanIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String - SortByDirection optional.String - Filters optional.String +type GetProjectAttributesOpts struct { + ResourceType optional.String + Org optional.String } -func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project string, domain string, localVarOptionals *ListLaunchPlanIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { +func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, project string, localVarOptionals *GetProjectAttributesOpts) (AdminProjectAttributesGetResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNamedEntityIdentifierList + localVarReturnValue AdminProjectAttributesGetResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plan_ids/{project}/{domain}" + localVarPath := a.client.cfg.BasePath + "/api/v1/project_attributes/{project}" localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) - localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { + localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -3205,7 +3118,7 @@ func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project } if localVarHttpResponse.StatusCode == 200 { - var v AdminNamedEntityIdentifierList + var v AdminProjectAttributesGetResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3222,62 +3135,40 @@ func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - * @param optional nil or *ListLaunchPlansOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param org Optional, org key applied to the project. + * @param project Unique project id which this set of attributes references. +required + * @param optional nil or *GetProjectAttributes2Opts - Optional Parameters: + * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. -@return AdminLaunchPlanList +@return AdminProjectAttributesGetResponse */ -type ListLaunchPlansOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetProjectAttributes2Opts struct { + ResourceType optional.String } -func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { +func (a *AdminServiceApiService) GetProjectAttributes2(ctx context.Context, org string, project string, localVarOptionals *GetProjectAttributes2Opts) (AdminProjectAttributesGetResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminLaunchPlanList + localVarReturnValue AdminProjectAttributesGetResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/org/{org}/{project}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { + localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -3327,7 +3218,7 @@ func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject } if localVarHttpResponse.StatusCode == 200 { - var v AdminLaunchPlanList + var v AdminProjectAttributesGetResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3344,65 +3235,45 @@ func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param optional nil or *ListLaunchPlans2Opts - Optional Parameters: - * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param optional nil or *GetProjectDomainAttributesOpts - Optional Parameters: + * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + * @param "Org" (optional.String) - Optional, org key applied to the attributes. -@return AdminLaunchPlanList +@return AdminProjectDomainAttributesGetResponse */ -type ListLaunchPlans2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetProjectDomainAttributesOpts struct { + ResourceType optional.String + Org optional.String } -func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListLaunchPlans2Opts) (AdminLaunchPlanList, *http.Response, error) { +func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, project string, domain string, localVarOptionals *GetProjectDomainAttributesOpts) (AdminProjectDomainAttributesGetResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminLaunchPlanList + localVarReturnValue AdminProjectDomainAttributesGetResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { - localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { + localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -3452,7 +3323,7 @@ func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idProject } if localVarHttpResponse.StatusCode == 200 { - var v AdminLaunchPlanList + var v AdminProjectDomainAttributesGetResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3469,29 +3340,35 @@ func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idProject } /* -AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. +AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param optional nil or *ListMatchableAttributesOpts - Optional Parameters: - * @param "ResourceType" (optional.String) - +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + * @param org Optional, org key applied to the attributes. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param optional nil or *GetProjectDomainAttributes2Opts - Optional Parameters: + * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. -@return AdminListMatchableAttributesResponse +@return AdminProjectDomainAttributesGetResponse */ -type ListMatchableAttributesOpts struct { +type GetProjectDomainAttributes2Opts struct { ResourceType optional.String } -func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, localVarOptionals *ListMatchableAttributesOpts) (AdminListMatchableAttributesResponse, *http.Response, error) { +func (a *AdminServiceApiService) GetProjectDomainAttributes2(ctx context.Context, org string, project string, domain string, localVarOptionals *GetProjectDomainAttributes2Opts) (AdminProjectDomainAttributesGetResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminListMatchableAttributesResponse + localVarReturnValue AdminProjectDomainAttributesGetResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/matchable_attributes" + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/org/{org}/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -3548,7 +3425,7 @@ func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, lo } if localVarHttpResponse.StatusCode == 200 { - var v AdminListMatchableAttributesResponse + var v AdminProjectDomainAttributesGetResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3565,62 +3442,49 @@ func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, lo } /* -AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param resourceType Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required - * @param project Name of the project that contains the identifiers. +required - * @param domain Name of the domain the identifiers belongs to within the project. - * @param optional nil or *ListNamedEntitiesOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param optional nil or *GetTaskOpts - Optional Parameters: + * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminNamedEntityList +@return AdminTask */ -type ListNamedEntitiesOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String - SortByDirection optional.String - Filters optional.String +type GetTaskOpts struct { + IdResourceType optional.String + IdOrg optional.String } -func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resourceType string, project string, domain string, localVarOptionals *ListNamedEntitiesOpts) (AdminNamedEntityList, *http.Response, error) { +func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetTaskOpts) (AdminTask, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNamedEntityList + localVarReturnValue AdminTask ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/{project}/{domain}" - localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) - localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) - localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { + localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -3670,7 +3534,7 @@ func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resource } if localVarHttpResponse.StatusCode == 200 { - var v AdminNamedEntityList + var v AdminTask err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3687,67 +3551,46 @@ func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resource } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param workflowExecutionIdProject Name of the project the resource belongs to. - * @param workflowExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param workflowExecutionIdName User or system provided value for the resource. - * @param optional nil or *ListNodeExecutionsOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - * @param "UniqueParentId" (optional.String) - Unique identifier of the parent node in the execution +optional. + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param optional nil or *GetTask2Opts - Optional Parameters: + * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects -@return AdminNodeExecutionList +@return AdminTask */ -type ListNodeExecutionsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String - UniqueParentId optional.String +type GetTask2Opts struct { + IdResourceType optional.String } -func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflowExecutionIdProject string, workflowExecutionIdDomain string, workflowExecutionIdName string, localVarOptionals *ListNodeExecutionsOpts) (AdminNodeExecutionList, *http.Response, error) { +func (a *AdminServiceApiService) GetTask2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetTask2Opts) (AdminTask, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNodeExecutionList + localVarReturnValue AdminTask ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.project"+"}", fmt.Sprintf("%v", workflowExecutionIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.domain"+"}", fmt.Sprintf("%v", workflowExecutionIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.name"+"}", fmt.Sprintf("%v", workflowExecutionIdName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.UniqueParentId.IsSet() { - localVarQueryParams.Add("unique_parent_id", parameterToString(localVarOptionals.UniqueParentId.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { + localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -3797,7 +3640,7 @@ func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflo } if localVarHttpResponse.StatusCode == 200 { - var v AdminNodeExecutionList + var v AdminTask err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3814,79 +3657,64 @@ func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflo } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. +AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param taskExecutionIdNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. - * @param taskExecutionIdNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param taskExecutionIdNodeExecutionIdExecutionIdName User or system provided value for the resource. - * @param taskExecutionIdNodeExecutionIdNodeId - * @param taskExecutionIdTaskIdProject Name of the project the resource belongs to. - * @param taskExecutionIdTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param taskExecutionIdTaskIdName User provided value for the resource. - * @param taskExecutionIdTaskIdVersion Specific version of the resource. - * @param taskExecutionIdRetryAttempt - * @param optional nil or *ListNodeExecutionsForTaskOpts - Optional Parameters: - * @param "TaskExecutionIdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param idNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idNodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param idNodeExecutionIdNodeId + * @param idTaskIdProject Name of the project the resource belongs to. + * @param idTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idTaskIdName User provided value for the resource. + * @param idTaskIdVersion Specific version of the resource. + * @param idRetryAttempt + * @param optional nil or *GetTaskExecutionOpts - Optional Parameters: + * @param "IdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "IdTaskIdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "IdNodeExecutionIdExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminNodeExecutionList +@return FlyteidladminTaskExecution */ -type ListNodeExecutionsForTaskOpts struct { - TaskExecutionIdTaskIdResourceType optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetTaskExecutionOpts struct { + IdTaskIdResourceType optional.String + IdTaskIdOrg optional.String + IdNodeExecutionIdExecutionIdOrg optional.String } -func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, taskExecutionIdNodeExecutionIdExecutionIdProject string, taskExecutionIdNodeExecutionIdExecutionIdDomain string, taskExecutionIdNodeExecutionIdExecutionIdName string, taskExecutionIdNodeExecutionIdNodeId string, taskExecutionIdTaskIdProject string, taskExecutionIdTaskIdDomain string, taskExecutionIdTaskIdName string, taskExecutionIdTaskIdVersion string, taskExecutionIdRetryAttempt int64, localVarOptionals *ListNodeExecutionsForTaskOpts) (AdminNodeExecutionList, *http.Response, error) { +func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionOpts) (FlyteidladminTaskExecution, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNodeExecutionList + localVarReturnValue FlyteidladminTaskExecution ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}" - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdNodeId), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.project"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.domain"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.name"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.version"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdVersion), -1) - localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.retry_attempt"+"}", fmt.Sprintf("%v", taskExecutionIdRetryAttempt), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", idNodeExecutionIdNodeId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.project"+"}", fmt.Sprintf("%v", idTaskIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.domain"+"}", fmt.Sprintf("%v", idTaskIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.name"+"}", fmt.Sprintf("%v", idTaskIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.version"+"}", fmt.Sprintf("%v", idTaskIdVersion), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.retry_attempt"+"}", fmt.Sprintf("%v", idRetryAttempt), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.TaskExecutionIdTaskIdResourceType.IsSet() { - localVarQueryParams.Add("task_execution_id.task_id.resource_type", parameterToString(localVarOptionals.TaskExecutionIdTaskIdResourceType.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdResourceType.IsSet() { + localVarQueryParams.Add("id.task_id.resource_type", parameterToString(localVarOptionals.IdTaskIdResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdOrg.IsSet() { + localVarQueryParams.Add("id.task_id.org", parameterToString(localVarOptionals.IdTaskIdOrg.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdNodeExecutionIdExecutionIdOrg.IsSet() { + localVarQueryParams.Add("id.node_execution_id.execution_id.org", parameterToString(localVarOptionals.IdNodeExecutionIdExecutionIdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -3936,7 +3764,7 @@ func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, } if localVarHttpResponse.StatusCode == 200 { - var v AdminNodeExecutionList + var v FlyteidladminTaskExecution err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -3953,56 +3781,61 @@ func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, } /* -AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project` +AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param optional nil or *ListProjectsOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of projects to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. + * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param idNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idNodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param idNodeExecutionIdNodeId + * @param idTaskIdProject Name of the project the resource belongs to. + * @param idTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idTaskIdName User provided value for the resource. + * @param idTaskIdVersion Specific version of the resource. + * @param idRetryAttempt + * @param optional nil or *GetTaskExecution2Opts - Optional Parameters: + * @param "IdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "IdTaskIdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminProjects +@return FlyteidladminTaskExecution */ -type ListProjectsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetTaskExecution2Opts struct { + IdTaskIdResourceType optional.String + IdTaskIdOrg optional.String } -func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptionals *ListProjectsOpts) (AdminProjects, *http.Response, error) { +func (a *AdminServiceApiService) GetTaskExecution2(ctx context.Context, idNodeExecutionIdExecutionIdOrg string, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecution2Opts) (FlyteidladminTaskExecution, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjects + localVarReturnValue FlyteidladminTaskExecution ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/projects" + localVarPath := a.client.cfg.BasePath + "/api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.org"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", idNodeExecutionIdNodeId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.project"+"}", fmt.Sprintf("%v", idTaskIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.domain"+"}", fmt.Sprintf("%v", idTaskIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.name"+"}", fmt.Sprintf("%v", idTaskIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.version"+"}", fmt.Sprintf("%v", idTaskIdVersion), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.retry_attempt"+"}", fmt.Sprintf("%v", idRetryAttempt), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdResourceType.IsSet() { + localVarQueryParams.Add("id.task_id.resource_type", parameterToString(localVarOptionals.IdTaskIdResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdOrg.IsSet() { + localVarQueryParams.Add("id.task_id.org", parameterToString(localVarOptionals.IdTaskIdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -4052,7 +3885,7 @@ func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptio } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjects + var v FlyteidladminTaskExecution err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4069,64 +3902,64 @@ func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptio } /* -AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. +AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param nodeExecutionIdExecutionIdProject Name of the project the resource belongs to. - * @param nodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param nodeExecutionIdExecutionIdName User or system provided value for the resource. - * @param nodeExecutionIdNodeId - * @param optional nil or *ListTaskExecutionsOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param idNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idNodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param idNodeExecutionIdNodeId + * @param idTaskIdProject Name of the project the resource belongs to. + * @param idTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idTaskIdName User provided value for the resource. + * @param idTaskIdVersion Specific version of the resource. + * @param idRetryAttempt + * @param optional nil or *GetTaskExecutionDataOpts - Optional Parameters: + * @param "IdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "IdTaskIdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "IdNodeExecutionIdExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminTaskExecutionList +@return AdminTaskExecutionGetDataResponse */ -type ListTaskExecutionsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetTaskExecutionDataOpts struct { + IdTaskIdResourceType optional.String + IdTaskIdOrg optional.String + IdNodeExecutionIdExecutionIdOrg optional.String } -func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExecutionIdExecutionIdProject string, nodeExecutionIdExecutionIdDomain string, nodeExecutionIdExecutionIdName string, nodeExecutionIdNodeId string, localVarOptionals *ListTaskExecutionsOpts) (AdminTaskExecutionList, *http.Response, error) { +func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionDataOpts) (AdminTaskExecutionGetDataResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminTaskExecutionList + localVarReturnValue AdminTaskExecutionGetDataResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}" - localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.node_id"+"}", fmt.Sprintf("%v", nodeExecutionIdNodeId), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", idNodeExecutionIdNodeId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.project"+"}", fmt.Sprintf("%v", idTaskIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.domain"+"}", fmt.Sprintf("%v", idTaskIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.name"+"}", fmt.Sprintf("%v", idTaskIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.version"+"}", fmt.Sprintf("%v", idTaskIdVersion), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.retry_attempt"+"}", fmt.Sprintf("%v", idRetryAttempt), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdResourceType.IsSet() { + localVarQueryParams.Add("id.task_id.resource_type", parameterToString(localVarOptionals.IdTaskIdResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdOrg.IsSet() { + localVarQueryParams.Add("id.task_id.org", parameterToString(localVarOptionals.IdTaskIdOrg.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdNodeExecutionIdExecutionIdOrg.IsSet() { + localVarQueryParams.Add("id.node_execution_id.execution_id.org", parameterToString(localVarOptionals.IdNodeExecutionIdExecutionIdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -4176,7 +4009,7 @@ func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExe } if localVarHttpResponse.StatusCode == 200 { - var v AdminTaskExecutionList + var v AdminTaskExecutionGetDataResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4193,60 +4026,61 @@ func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExe } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. +AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Name of the project that contains the identifiers. +required - * @param domain Name of the domain the identifiers belongs to within the project. +required - * @param optional nil or *ListTaskIdsOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param idNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. + * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param idNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idNodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param idNodeExecutionIdNodeId + * @param idTaskIdProject Name of the project the resource belongs to. + * @param idTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idTaskIdName User provided value for the resource. + * @param idTaskIdVersion Specific version of the resource. + * @param idRetryAttempt + * @param optional nil or *GetTaskExecutionData2Opts - Optional Parameters: + * @param "IdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "IdTaskIdOrg" (optional.String) - Optional, org key applied to the resource. -@return AdminNamedEntityIdentifierList +@return AdminTaskExecutionGetDataResponse */ -type ListTaskIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String - SortByDirection optional.String - Filters optional.String +type GetTaskExecutionData2Opts struct { + IdTaskIdResourceType optional.String + IdTaskIdOrg optional.String } -func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string, domain string, localVarOptionals *ListTaskIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { +func (a *AdminServiceApiService) GetTaskExecutionData2(ctx context.Context, idNodeExecutionIdExecutionIdOrg string, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionData2Opts) (AdminTaskExecutionGetDataResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNamedEntityIdentifierList + localVarReturnValue AdminTaskExecutionGetDataResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/task_ids/{project}/{domain}" - localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) - localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.org"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", idNodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", idNodeExecutionIdNodeId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.project"+"}", fmt.Sprintf("%v", idTaskIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.domain"+"}", fmt.Sprintf("%v", idTaskIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.name"+"}", fmt.Sprintf("%v", idTaskIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.task_id.version"+"}", fmt.Sprintf("%v", idTaskIdVersion), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.retry_attempt"+"}", fmt.Sprintf("%v", idRetryAttempt), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdResourceType.IsSet() { + localVarQueryParams.Add("id.task_id.resource_type", parameterToString(localVarOptionals.IdTaskIdResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdTaskIdOrg.IsSet() { + localVarQueryParams.Add("id.task_id.org", parameterToString(localVarOptionals.IdTaskIdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -4296,7 +4130,7 @@ func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string } if localVarHttpResponse.StatusCode == 200 { - var v AdminNamedEntityIdentifierList + var v AdminTaskExecutionGetDataResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4313,62 +4147,135 @@ func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +AdminServiceApiService * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - * @param optional nil or *ListTasksOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. -@return AdminTaskList +@return AdminGetVersionResponse */ +func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersionResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminGetVersionResponse + ) -type ListTasksOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/version" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminGetVersionResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil } -func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListTasksOpts) (AdminTaskList, *http.Response, error) { +/* +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param optional nil or *GetWorkflowOpts - Optional Parameters: + * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + +@return AdminWorkflow +*/ + +type GetWorkflowOpts struct { + IdResourceType optional.String + IdOrg optional.String +} + +func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetWorkflowOpts) (AdminWorkflow, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminTaskList + localVarReturnValue AdminWorkflow ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/{id.project}/{id.domain}/{id.name}" + localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}" localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { + localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -4418,7 +4325,7 @@ func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string } if localVarHttpResponse.StatusCode == 200 { - var v AdminTaskList + var v AdminWorkflow err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4435,65 +4342,46 @@ func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param optional nil or *ListTasks2Opts - Optional Parameters: - * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param optional nil or *GetWorkflow2Opts - Optional Parameters: + * @param "IdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects -@return AdminTaskList +@return AdminWorkflow */ -type ListTasks2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetWorkflow2Opts struct { + IdResourceType optional.String } -func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListTasks2Opts) (AdminTaskList, *http.Response, error) { +func (a *AdminServiceApiService) GetWorkflow2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetWorkflow2Opts) (AdminWorkflow, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminTaskList + localVarReturnValue AdminWorkflow ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/{id.project}/{id.domain}" + localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { - localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.IdResourceType.IsSet() { + localVarQueryParams.Add("id.resource_type", parameterToString(localVarOptionals.IdResourceType.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -4543,7 +4431,7 @@ func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idProject strin } if localVarHttpResponse.StatusCode == 200 { - var v AdminTaskList + var v AdminWorkflow err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4560,60 +4448,47 @@ func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idProject strin } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. +AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param project Name of the project that contains the identifiers. +required - * @param domain Name of the domain the identifiers belongs to within the project. +required - * @param optional nil or *ListWorkflowIdsOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param workflow Workflow name which this set of attributes references. +required + * @param optional nil or *GetWorkflowAttributesOpts - Optional Parameters: + * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + * @param "Org" (optional.String) - Optional, org key applied to the attributes. -@return AdminNamedEntityIdentifierList +@return AdminWorkflowAttributesGetResponse */ -type ListWorkflowIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String - SortByDirection optional.String - Filters optional.String +type GetWorkflowAttributesOpts struct { + ResourceType optional.String + Org optional.String } -func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project string, domain string, localVarOptionals *ListWorkflowIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { +func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, localVarOptionals *GetWorkflowAttributesOpts) (AdminWorkflowAttributesGetResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNamedEntityIdentifierList + localVarReturnValue AdminWorkflowAttributesGetResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_ids/{project}/{domain}" + localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/{project}/{domain}/{workflow}" localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow"+"}", fmt.Sprintf("%v", workflow), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { + localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -4663,7 +4538,7 @@ func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project st } if localVarHttpResponse.StatusCode == 200 { - var v AdminNamedEntityIdentifierList + var v AdminWorkflowAttributesGetResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4680,56 +4555,287 @@ func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project st } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - * @param optional nil or *ListWorkflowsOpts - Optional Parameters: - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param org Optional, org key applied to the attributes. + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param workflow Workflow name which this set of attributes references. +required + * @param optional nil or *GetWorkflowAttributes2Opts - Optional Parameters: + * @param "ResourceType" (optional.String) - Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. -@return AdminWorkflowList +@return AdminWorkflowAttributesGetResponse */ -type ListWorkflowsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String +type GetWorkflowAttributes2Opts struct { + ResourceType optional.String } -func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListWorkflowsOpts) (AdminWorkflowList, *http.Response, error) { +func (a *AdminServiceApiService) GetWorkflowAttributes2(ctx context.Context, org string, project string, domain string, workflow string, localVarOptionals *GetWorkflowAttributes2Opts) (AdminWorkflowAttributesGetResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminWorkflowList + localVarReturnValue AdminWorkflowAttributesGetResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow"+"}", fmt.Sprintf("%v", workflow), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { + localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminWorkflowAttributesGetResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Name of the project that contains the identifiers. +required. + * @param domain Name of the domain the identifiers belongs to within the project. +required. + * @param optional nil or *ListActiveLaunchPlansOpts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Org" (optional.String) - Optional, org key applied to the resource. + +@return AdminLaunchPlanList +*/ + +type ListActiveLaunchPlansOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Org optional.String +} + +func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, project string, domain string, localVarOptionals *ListActiveLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminLaunchPlanList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/active_launch_plans/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminLaunchPlanList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Identifies the specific type of resource that this identifier corresponds to. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListDescriptionEntitiesOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminDescriptionEntityList +*/ + +type ListDescriptionEntitiesOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, localVarOptionals *ListDescriptionEntitiesOpts) (AdminDescriptionEntityList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminDescriptionEntityList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) } if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) @@ -4785,7 +4891,4841 @@ func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject st } if localVarHttpResponse.StatusCode == 200 { - var v AdminWorkflowList + var v AdminDescriptionEntityList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Identifies the specific type of resource that this identifier corresponds to. + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListDescriptionEntities2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminDescriptionEntityList +*/ + +type ListDescriptionEntities2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListDescriptionEntities2Opts) (AdminDescriptionEntityList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminDescriptionEntityList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminDescriptionEntityList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Identifies the specific type of resource that this identifier corresponds to. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListDescriptionEntities3Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminDescriptionEntityList +*/ + +type ListDescriptionEntities3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListDescriptionEntities3(ctx context.Context, resourceType string, idProject string, idDomain string, localVarOptionals *ListDescriptionEntities3Opts) (AdminDescriptionEntityList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminDescriptionEntityList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminDescriptionEntityList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Identifies the specific type of resource that this identifier corresponds to. + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListDescriptionEntities4Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminDescriptionEntityList +*/ + +type ListDescriptionEntities4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListDescriptionEntities4(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, localVarOptionals *ListDescriptionEntities4Opts) (AdminDescriptionEntityList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminDescriptionEntityList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminDescriptionEntityList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListExecutionsOpts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminExecutionList +*/ + +type ListExecutionsOpts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListExecutionsOpts) (AdminExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListExecutions2Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminExecutionList +*/ + +type ListExecutions2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListExecutions2(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListExecutions2Opts) (AdminExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. +required + * @param optional nil or *ListLaunchPlanIdsOpts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param "Org" (optional.String) - Optional, org key applied to the resource. + +@return AdminNamedEntityIdentifierList +*/ + +type ListLaunchPlanIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String + Org optional.String +} + +func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project string, domain string, localVarOptionals *ListLaunchPlanIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityIdentifierList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plan_ids/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityIdentifierList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the resource. + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. +required + * @param optional nil or *ListLaunchPlanIds2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + +@return AdminNamedEntityIdentifierList +*/ + +type ListLaunchPlanIds2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String +} + +func (a *AdminServiceApiService) ListLaunchPlanIds2(ctx context.Context, org string, project string, domain string, localVarOptionals *ListLaunchPlanIds2Opts) (AdminNamedEntityIdentifierList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityIdentifierList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plan_ids/org/{org}/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityIdentifierList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListLaunchPlansOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminLaunchPlanList +*/ + +type ListLaunchPlansOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminLaunchPlanList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminLaunchPlanList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListLaunchPlans2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminLaunchPlanList +*/ + +type ListLaunchPlans2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListLaunchPlans2Opts) (AdminLaunchPlanList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminLaunchPlanList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminLaunchPlanList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListLaunchPlans3Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminLaunchPlanList +*/ + +type ListLaunchPlans3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListLaunchPlans3(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListLaunchPlans3Opts) (AdminLaunchPlanList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminLaunchPlanList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminLaunchPlanList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListLaunchPlans4Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminLaunchPlanList +*/ + +type ListLaunchPlans4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListLaunchPlans4(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListLaunchPlans4Opts) (AdminLaunchPlanList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminLaunchPlanList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminLaunchPlanList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param optional nil or *ListMatchableAttributesOpts - Optional Parameters: + * @param "ResourceType" (optional.String) - +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + +@return AdminListMatchableAttributesResponse +*/ + +type ListMatchableAttributesOpts struct { + ResourceType optional.String +} + +func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, localVarOptionals *ListMatchableAttributesOpts) (AdminListMatchableAttributesResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminListMatchableAttributesResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/matchable_attributes" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.ResourceType.IsSet() { + localVarQueryParams.Add("resource_type", parameterToString(localVarOptionals.ResourceType.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminListMatchableAttributesResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. + * @param optional nil or *ListNamedEntitiesOpts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param "Org" (optional.String) - Optional, org key applied to the resource. + +@return AdminNamedEntityList +*/ + +type ListNamedEntitiesOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String + Org optional.String +} + +func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resourceType string, project string, domain string, localVarOptionals *ListNamedEntitiesOpts) (AdminNamedEntityList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required + * @param org Optional, org key applied to the resource. + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. + * @param optional nil or *ListNamedEntities2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + +@return AdminNamedEntityList +*/ + +type ListNamedEntities2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String +} + +func (a *AdminServiceApiService) ListNamedEntities2(ctx context.Context, resourceType string, org string, project string, domain string, localVarOptionals *ListNamedEntities2Opts) (AdminNamedEntityList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param workflowExecutionIdProject Name of the project the resource belongs to. + * @param workflowExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param workflowExecutionIdName User or system provided value for the resource. + * @param optional nil or *ListNodeExecutionsOpts - Optional Parameters: + * @param "WorkflowExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "UniqueParentId" (optional.String) - Unique identifier of the parent node in the execution +optional. + +@return AdminNodeExecutionList +*/ + +type ListNodeExecutionsOpts struct { + WorkflowExecutionIdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String + UniqueParentId optional.String +} + +func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflowExecutionIdProject string, workflowExecutionIdDomain string, workflowExecutionIdName string, localVarOptionals *ListNodeExecutionsOpts) (AdminNodeExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNodeExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.project"+"}", fmt.Sprintf("%v", workflowExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.domain"+"}", fmt.Sprintf("%v", workflowExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.name"+"}", fmt.Sprintf("%v", workflowExecutionIdName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.WorkflowExecutionIdOrg.IsSet() { + localVarQueryParams.Add("workflow_execution_id.org", parameterToString(localVarOptionals.WorkflowExecutionIdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.UniqueParentId.IsSet() { + localVarQueryParams.Add("unique_parent_id", parameterToString(localVarOptionals.UniqueParentId.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNodeExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param workflowExecutionIdOrg Optional, org key applied to the resource. + * @param workflowExecutionIdProject Name of the project the resource belongs to. + * @param workflowExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param workflowExecutionIdName User or system provided value for the resource. + * @param optional nil or *ListNodeExecutions2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "UniqueParentId" (optional.String) - Unique identifier of the parent node in the execution +optional. + +@return AdminNodeExecutionList +*/ + +type ListNodeExecutions2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String + UniqueParentId optional.String +} + +func (a *AdminServiceApiService) ListNodeExecutions2(ctx context.Context, workflowExecutionIdOrg string, workflowExecutionIdProject string, workflowExecutionIdDomain string, workflowExecutionIdName string, localVarOptionals *ListNodeExecutions2Opts) (AdminNodeExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNodeExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.org"+"}", fmt.Sprintf("%v", workflowExecutionIdOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.project"+"}", fmt.Sprintf("%v", workflowExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.domain"+"}", fmt.Sprintf("%v", workflowExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"workflow_execution_id.name"+"}", fmt.Sprintf("%v", workflowExecutionIdName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.UniqueParentId.IsSet() { + localVarQueryParams.Add("unique_parent_id", parameterToString(localVarOptionals.UniqueParentId.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNodeExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param taskExecutionIdNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param taskExecutionIdNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param taskExecutionIdNodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param taskExecutionIdNodeExecutionIdNodeId + * @param taskExecutionIdTaskIdProject Name of the project the resource belongs to. + * @param taskExecutionIdTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param taskExecutionIdTaskIdName User provided value for the resource. + * @param taskExecutionIdTaskIdVersion Specific version of the resource. + * @param taskExecutionIdRetryAttempt + * @param optional nil or *ListNodeExecutionsForTaskOpts - Optional Parameters: + * @param "TaskExecutionIdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "TaskExecutionIdTaskIdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "TaskExecutionIdNodeExecutionIdExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminNodeExecutionList +*/ + +type ListNodeExecutionsForTaskOpts struct { + TaskExecutionIdTaskIdResourceType optional.String + TaskExecutionIdTaskIdOrg optional.String + TaskExecutionIdNodeExecutionIdExecutionIdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, taskExecutionIdNodeExecutionIdExecutionIdProject string, taskExecutionIdNodeExecutionIdExecutionIdDomain string, taskExecutionIdNodeExecutionIdExecutionIdName string, taskExecutionIdNodeExecutionIdNodeId string, taskExecutionIdTaskIdProject string, taskExecutionIdTaskIdDomain string, taskExecutionIdTaskIdName string, taskExecutionIdTaskIdVersion string, taskExecutionIdRetryAttempt int64, localVarOptionals *ListNodeExecutionsForTaskOpts) (AdminNodeExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNodeExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}" + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdNodeId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.project"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.domain"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.name"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.version"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdVersion), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.retry_attempt"+"}", fmt.Sprintf("%v", taskExecutionIdRetryAttempt), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.TaskExecutionIdTaskIdResourceType.IsSet() { + localVarQueryParams.Add("task_execution_id.task_id.resource_type", parameterToString(localVarOptionals.TaskExecutionIdTaskIdResourceType.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.TaskExecutionIdTaskIdOrg.IsSet() { + localVarQueryParams.Add("task_execution_id.task_id.org", parameterToString(localVarOptionals.TaskExecutionIdTaskIdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.TaskExecutionIdNodeExecutionIdExecutionIdOrg.IsSet() { + localVarQueryParams.Add("task_execution_id.node_execution_id.execution_id.org", parameterToString(localVarOptionals.TaskExecutionIdNodeExecutionIdExecutionIdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNodeExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param taskExecutionIdNodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. + * @param taskExecutionIdNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param taskExecutionIdNodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param taskExecutionIdNodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param taskExecutionIdNodeExecutionIdNodeId + * @param taskExecutionIdTaskIdProject Name of the project the resource belongs to. + * @param taskExecutionIdTaskIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param taskExecutionIdTaskIdName User provided value for the resource. + * @param taskExecutionIdTaskIdVersion Specific version of the resource. + * @param taskExecutionIdRetryAttempt + * @param optional nil or *ListNodeExecutionsForTask2Opts - Optional Parameters: + * @param "TaskExecutionIdTaskIdResourceType" (optional.String) - Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + * @param "TaskExecutionIdTaskIdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminNodeExecutionList +*/ + +type ListNodeExecutionsForTask2Opts struct { + TaskExecutionIdTaskIdResourceType optional.String + TaskExecutionIdTaskIdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListNodeExecutionsForTask2(ctx context.Context, taskExecutionIdNodeExecutionIdExecutionIdOrg string, taskExecutionIdNodeExecutionIdExecutionIdProject string, taskExecutionIdNodeExecutionIdExecutionIdDomain string, taskExecutionIdNodeExecutionIdExecutionIdName string, taskExecutionIdNodeExecutionIdNodeId string, taskExecutionIdTaskIdProject string, taskExecutionIdTaskIdDomain string, taskExecutionIdTaskIdName string, taskExecutionIdTaskIdVersion string, taskExecutionIdRetryAttempt int64, localVarOptionals *ListNodeExecutionsForTask2Opts) (AdminNodeExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNodeExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}" + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.org"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.node_execution_id.node_id"+"}", fmt.Sprintf("%v", taskExecutionIdNodeExecutionIdNodeId), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.project"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.domain"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.name"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.task_id.version"+"}", fmt.Sprintf("%v", taskExecutionIdTaskIdVersion), -1) + localVarPath = strings.Replace(localVarPath, "{"+"task_execution_id.retry_attempt"+"}", fmt.Sprintf("%v", taskExecutionIdRetryAttempt), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.TaskExecutionIdTaskIdResourceType.IsSet() { + localVarQueryParams.Add("task_execution_id.task_id.resource_type", parameterToString(localVarOptionals.TaskExecutionIdTaskIdResourceType.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.TaskExecutionIdTaskIdOrg.IsSet() { + localVarQueryParams.Add("task_execution_id.task_id.org", parameterToString(localVarOptionals.TaskExecutionIdTaskIdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNodeExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project` + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param optional nil or *ListProjectsOpts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of projects to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminProjects +*/ + +type ListProjectsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptionals *ListProjectsOpts) (AdminProjects, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminProjects + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/projects" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminProjects + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param nodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param nodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param nodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param nodeExecutionIdNodeId + * @param optional nil or *ListTaskExecutionsOpts - Optional Parameters: + * @param "NodeExecutionIdExecutionIdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminTaskExecutionList +*/ + +type ListTaskExecutionsOpts struct { + NodeExecutionIdExecutionIdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExecutionIdExecutionIdProject string, nodeExecutionIdExecutionIdDomain string, nodeExecutionIdExecutionIdName string, nodeExecutionIdNodeId string, localVarOptionals *ListTaskExecutionsOpts) (AdminTaskExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminTaskExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}" + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.node_id"+"}", fmt.Sprintf("%v", nodeExecutionIdNodeId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.NodeExecutionIdExecutionIdOrg.IsSet() { + localVarQueryParams.Add("node_execution_id.execution_id.org", parameterToString(localVarOptionals.NodeExecutionIdExecutionIdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminTaskExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param nodeExecutionIdExecutionIdOrg Optional, org key applied to the resource. + * @param nodeExecutionIdExecutionIdProject Name of the project the resource belongs to. + * @param nodeExecutionIdExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param nodeExecutionIdExecutionIdName User or system provided value for the resource. + * @param nodeExecutionIdNodeId + * @param optional nil or *ListTaskExecutions2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminTaskExecutionList +*/ + +type ListTaskExecutions2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListTaskExecutions2(ctx context.Context, nodeExecutionIdExecutionIdOrg string, nodeExecutionIdExecutionIdProject string, nodeExecutionIdExecutionIdDomain string, nodeExecutionIdExecutionIdName string, nodeExecutionIdNodeId string, localVarOptionals *ListTaskExecutions2Opts) (AdminTaskExecutionList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminTaskExecutionList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}" + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.org"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.project"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.domain"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.execution_id.name"+"}", fmt.Sprintf("%v", nodeExecutionIdExecutionIdName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"node_execution_id.node_id"+"}", fmt.Sprintf("%v", nodeExecutionIdNodeId), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminTaskExecutionList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. +required + * @param optional nil or *ListTaskIdsOpts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param "Org" (optional.String) - Optional, org key applied to the resource. + +@return AdminNamedEntityIdentifierList +*/ + +type ListTaskIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String + Org optional.String +} + +func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string, domain string, localVarOptionals *ListTaskIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityIdentifierList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/task_ids/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityIdentifierList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the resource. + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. +required + * @param optional nil or *ListTaskIds2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + +@return AdminNamedEntityIdentifierList +*/ + +type ListTaskIds2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String +} + +func (a *AdminServiceApiService) ListTaskIds2(ctx context.Context, org string, project string, domain string, localVarOptionals *ListTaskIds2Opts) (AdminNamedEntityIdentifierList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityIdentifierList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/org/{org}/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityIdentifierList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListTasksOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminTaskList +*/ + +type ListTasksOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListTasksOpts) (AdminTaskList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminTaskList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminTaskList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListTasks2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminTaskList +*/ + +type ListTasks2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListTasks2Opts) (AdminTaskList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminTaskList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminTaskList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListTasks3Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminTaskList +*/ + +type ListTasks3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListTasks3(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListTasks3Opts) (AdminTaskList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminTaskList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminTaskList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListTasks4Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminTaskList +*/ + +type ListTasks4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListTasks4(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListTasks4Opts) (AdminTaskList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminTaskList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminTaskList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. +required + * @param optional nil or *ListWorkflowIdsOpts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + * @param "Org" (optional.String) - Optional, org key applied to the resource. + +@return AdminNamedEntityIdentifierList +*/ + +type ListWorkflowIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String + Org optional.String +} + +func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project string, domain string, localVarOptionals *ListWorkflowIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityIdentifierList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_ids/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Org.IsSet() { + localVarQueryParams.Add("org", parameterToString(localVarOptionals.Org.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityIdentifierList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param org Optional, org key applied to the resource. + * @param project Name of the project that contains the identifiers. +required + * @param domain Name of the domain the identifiers belongs to within the project. +required + * @param optional nil or *ListWorkflowIds2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. +optional. + +@return AdminNamedEntityIdentifierList +*/ + +type ListWorkflowIds2Opts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String + SortByDirection optional.String + Filters optional.String +} + +func (a *AdminServiceApiService) ListWorkflowIds2(ctx context.Context, org string, project string, domain string, localVarOptionals *ListWorkflowIds2Opts) (AdminNamedEntityIdentifierList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminNamedEntityIdentifierList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/org/{org}/{project}/{domain}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"project"+"}", fmt.Sprintf("%v", project), -1) + localVarPath = strings.Replace(localVarPath, "{"+"domain"+"}", fmt.Sprintf("%v", domain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminNamedEntityIdentifierList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListWorkflowsOpts - Optional Parameters: + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminWorkflowList +*/ + +type ListWorkflowsOpts struct { + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListWorkflowsOpts) (AdminWorkflowList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminWorkflowList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminWorkflowList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param optional nil or *ListWorkflows2Opts - Optional Parameters: + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminWorkflowList +*/ + +type ListWorkflows2Opts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, localVarOptionals *ListWorkflows2Opts) (AdminWorkflowList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminWorkflowList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminWorkflowList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListWorkflows3Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "IdOrg" (optional.String) - Optional, org key applied to the resource. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminWorkflowList +*/ + +type ListWorkflows3Opts struct { + IdName optional.String + IdOrg optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListWorkflows3(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListWorkflows3Opts) (AdminWorkflowList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminWorkflowList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.IdOrg.IsSet() { + localVarQueryParams.Add("id.org", parameterToString(localVarOptionals.IdOrg.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminWorkflowList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param optional nil or *ListWorkflows4Opts - Optional Parameters: + * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. + * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. + * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. + * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + +@return AdminWorkflowList +*/ + +type ListWorkflows4Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String +} + +func (a *AdminServiceApiService) ListWorkflows4(ctx context.Context, idOrg string, idProject string, idDomain string, localVarOptionals *ListWorkflows4Opts) (AdminWorkflowList, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminWorkflowList + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { + localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { + localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Token.IsSet() { + localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { + localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { + localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { + localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminWorkflowList + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body + +@return AdminExecutionCreateResponse +*/ +func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body AdminExecutionRecoverRequest) (AdminExecutionCreateResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionCreateResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/recover" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionCreateResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body + +@return AdminProjectRegisterResponse +*/ +func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body AdminProjectRegisterRequest) (AdminProjectRegisterResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminProjectRegisterResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/projects" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminProjectRegisterResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body + +@return AdminExecutionCreateResponse +*/ +func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body AdminExecutionRelaunchRequest) (AdminExecutionCreateResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionCreateResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/relaunch" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionCreateResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body + +@return AdminExecutionTerminateResponse +*/ +func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionTerminateRequest) (AdminExecutionTerminateResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionTerminateResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionTerminateResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body + +@return AdminExecutionTerminateResponse +*/ +func (a *AdminServiceApiService) TerminateExecution2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, body AdminExecutionTerminateRequest) (AdminExecutionTerminateResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionTerminateResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionTerminateResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body + +@return AdminExecutionUpdateResponse +*/ +func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionUpdateRequest) (AdminExecutionUpdateResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionUpdateResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionUpdateResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + +/* +AdminServiceApiService Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body + +@return AdminExecutionUpdateResponse +*/ +func (a *AdminServiceApiService) UpdateExecution2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, body AdminExecutionUpdateRequest) (AdminExecutionUpdateResponse, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AdminExecutionUpdateResponse + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHttpContentTypes := []string{"application/json"} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + // body params + localVarPostBody = &body + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminExecutionUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4802,66 +9742,36 @@ func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject st } /* -AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +AdminServiceApiService Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param optional nil or *ListWorkflows2Opts - Optional Parameters: - * @param "IdName" (optional.String) - User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. - * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. - * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param body -@return AdminWorkflowList +@return AdminLaunchPlanUpdateResponse */ - -type ListWorkflows2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String -} - -func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListWorkflows2Opts) (AdminWorkflowList, *http.Response, error) { +func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, body AdminLaunchPlanUpdateRequest) (AdminLaunchPlanUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") + localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminWorkflowList + localVarReturnValue AdminLaunchPlanUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/workflows/{id.project}/{id.domain}" + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}" localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} - if localVarOptionals != nil && localVarOptionals.IdName.IsSet() { - localVarQueryParams.Add("id.name", parameterToString(localVarOptionals.IdName.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { - localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Token.IsSet() { - localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.Filters.IsSet() { - localVarQueryParams.Add("filters", parameterToString(localVarOptionals.Filters.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByKey.IsSet() { - localVarQueryParams.Add("sort_by.key", parameterToString(localVarOptionals.SortByKey.Value(), "")) - } - if localVarOptionals != nil && localVarOptionals.SortByDirection.IsSet() { - localVarQueryParams.Add("sort_by.direction", parameterToString(localVarOptionals.SortByDirection.Value(), "")) - } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} @@ -4879,6 +9789,8 @@ func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject s if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } + // body params + localVarPostBody = &body r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return localVarReturnValue, nil, err @@ -4910,7 +9822,7 @@ func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject s } if localVarHttpResponse.StatusCode == 200 { - var v AdminWorkflowList + var v AdminLaunchPlanUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -4927,23 +9839,32 @@ func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject s } /* -AdminServiceApiService Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. +AdminServiceApiService Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param body + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. -@return AdminExecutionCreateResponse +@return AdminLaunchPlanUpdateResponse */ -func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body AdminExecutionRecoverRequest) (AdminExecutionCreateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateLaunchPlan2(ctx context.Context, idOrg string, idProject string, idDomain string, idName string, idVersion string) (AdminLaunchPlanUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") + localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminExecutionCreateResponse + localVarReturnValue AdminLaunchPlanUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/executions/recover" + localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -4966,8 +9887,6 @@ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body Admi if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } - // body params - localVarPostBody = &body r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return localVarReturnValue, nil, err @@ -4999,7 +9918,7 @@ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body Admi } if localVarHttpResponse.StatusCode == 200 { - var v AdminExecutionCreateResponse + var v AdminLaunchPlanUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5016,23 +9935,31 @@ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body Admi } /* -AdminServiceApiService Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. +AdminServiceApiService Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to update +required + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' * @param body -@return AdminProjectRegisterResponse +@return AdminNamedEntityUpdateResponse */ -func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body AdminProjectRegisterRequest) (AdminProjectRegisterResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, body AdminNamedEntityUpdateRequest) (AdminNamedEntityUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") + localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjectRegisterResponse + localVarReturnValue AdminNamedEntityUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/projects" + localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5088,7 +10015,7 @@ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body Admin } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjectRegisterResponse + var v AdminNamedEntityUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5105,23 +10032,33 @@ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body Admin } /* -AdminServiceApiService Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` +AdminServiceApiService Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to update +required + * @param idOrg Optional, org key applied to the resource. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' * @param body -@return AdminExecutionCreateResponse +@return AdminNamedEntityUpdateResponse */ -func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body AdminExecutionRelaunchRequest) (AdminExecutionCreateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateNamedEntity2(ctx context.Context, resourceType string, idOrg string, idProject string, idDomain string, idName string, body AdminNamedEntityUpdateRequest) (AdminNamedEntityUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") + localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminExecutionCreateResponse + localVarReturnValue AdminNamedEntityUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/executions/relaunch" + localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}" + localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.org"+"}", fmt.Sprintf("%v", idOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5177,7 +10114,7 @@ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body Adm } if localVarHttpResponse.StatusCode == 200 { - var v AdminExecutionCreateResponse + var v AdminNamedEntityUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5194,29 +10131,25 @@ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body Adm } /* -AdminServiceApiService Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. +AdminServiceApiService Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. + * @param id Globally unique project name. * @param body -@return AdminExecutionTerminateResponse +@return AdminProjectUpdateResponse */ -func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionTerminateRequest) (AdminExecutionTerminateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, body AdminProject) (AdminProjectUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") + localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminExecutionTerminateResponse + localVarReturnValue AdminProjectUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/projects/{id}" + localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5272,7 +10205,7 @@ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProje } if localVarHttpResponse.StatusCode == 200 { - var v AdminExecutionTerminateResponse + var v AdminProjectUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5289,29 +10222,27 @@ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProje } /* -AdminServiceApiService Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. +AdminServiceApiService Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User or system provided value for the resource. + * @param org Optional, org key applied to the resource. + * @param id Globally unique project name. * @param body -@return AdminExecutionUpdateResponse +@return AdminProjectUpdateResponse */ -func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionUpdateRequest) (AdminExecutionUpdateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateProject2(ctx context.Context, org string, id string, body AdminProject) (AdminProjectUpdateResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminExecutionUpdateResponse + localVarReturnValue AdminProjectUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/executions/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/projects/org/{org}/{id}" + localVarPath = strings.Replace(localVarPath, "{"+"org"+"}", fmt.Sprintf("%v", org), -1) + localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5367,7 +10298,7 @@ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject } if localVarHttpResponse.StatusCode == 200 { - var v AdminExecutionUpdateResponse + var v AdminProjectUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5384,31 +10315,25 @@ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject } /* -AdminServiceApiService Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. +AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. - * @param idVersion Specific version of the resource. + * @param attributesProject Unique project id for which this set of attributes will be applied. * @param body -@return AdminLaunchPlanUpdateResponse +@return AdminProjectAttributesUpdateResponse */ -func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, body AdminLaunchPlanUpdateRequest) (AdminLaunchPlanUpdateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, attributesProject string, body AdminProjectAttributesUpdateRequest) (AdminProjectAttributesUpdateResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminLaunchPlanUpdateResponse + localVarReturnValue AdminProjectAttributesUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}" - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.version"+"}", fmt.Sprintf("%v", idVersion), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/project_attributes/{attributes.project}" + localVarPath = strings.Replace(localVarPath, "{"+"attributes.project"+"}", fmt.Sprintf("%v", attributesProject), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5464,7 +10389,7 @@ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject } if localVarHttpResponse.StatusCode == 200 { - var v AdminLaunchPlanUpdateResponse + var v AdminProjectAttributesUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5481,31 +10406,27 @@ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject } /* -AdminServiceApiService Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. +AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param resourceType Resource type of the metadata to update +required - * @param idProject Name of the project the resource belongs to. - * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param attributesOrg Optional, org key applied to the project. + * @param attributesProject Unique project id for which this set of attributes will be applied. * @param body -@return AdminNamedEntityUpdateResponse +@return AdminProjectAttributesUpdateResponse */ -func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, body AdminNamedEntityUpdateRequest) (AdminNamedEntityUpdateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateProjectAttributes2(ctx context.Context, attributesOrg string, attributesProject string, body AdminProjectAttributesUpdateRequest) (AdminProjectAttributesUpdateResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminNamedEntityUpdateResponse + localVarReturnValue AdminProjectAttributesUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" - localVarPath = strings.Replace(localVarPath, "{"+"resource_type"+"}", fmt.Sprintf("%v", resourceType), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.project"+"}", fmt.Sprintf("%v", idProject), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.domain"+"}", fmt.Sprintf("%v", idDomain), -1) - localVarPath = strings.Replace(localVarPath, "{"+"id.name"+"}", fmt.Sprintf("%v", idName), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}" + localVarPath = strings.Replace(localVarPath, "{"+"attributes.org"+"}", fmt.Sprintf("%v", attributesOrg), -1) + localVarPath = strings.Replace(localVarPath, "{"+"attributes.project"+"}", fmt.Sprintf("%v", attributesProject), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5561,7 +10482,7 @@ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resource } if localVarHttpResponse.StatusCode == 200 { - var v AdminNamedEntityUpdateResponse + var v AdminProjectAttributesUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5578,25 +10499,27 @@ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resource } /* -AdminServiceApiService Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. +AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - * @param id Globally unique project name. + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. * @param body -@return AdminProjectUpdateResponse +@return AdminProjectDomainAttributesUpdateResponse */ -func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, body AdminProject) (AdminProjectUpdateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Context, attributesProject string, attributesDomain string, body AdminProjectDomainAttributesUpdateRequest) (AdminProjectDomainAttributesUpdateResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjectUpdateResponse + localVarReturnValue AdminProjectDomainAttributesUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/projects/{id}" - localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1) + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"attributes.project"+"}", fmt.Sprintf("%v", attributesProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"attributes.domain"+"}", fmt.Sprintf("%v", attributesDomain), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5652,7 +10575,7 @@ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, b } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjectUpdateResponse + var v AdminProjectDomainAttributesUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5669,25 +10592,29 @@ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, b } /* -AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level +AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesOrg Optional, org key applied to the attributes. * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. * @param body -@return AdminProjectAttributesUpdateResponse +@return AdminProjectDomainAttributesUpdateResponse */ -func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, attributesProject string, body AdminProjectAttributesUpdateRequest) (AdminProjectAttributesUpdateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateProjectDomainAttributes2(ctx context.Context, attributesOrg string, attributesProject string, attributesDomain string, body AdminProjectDomainAttributesUpdateRequest) (AdminProjectDomainAttributesUpdateResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjectAttributesUpdateResponse + localVarReturnValue AdminProjectDomainAttributesUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/project_attributes/{attributes.project}" + localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}" + localVarPath = strings.Replace(localVarPath, "{"+"attributes.org"+"}", fmt.Sprintf("%v", attributesOrg), -1) localVarPath = strings.Replace(localVarPath, "{"+"attributes.project"+"}", fmt.Sprintf("%v", attributesProject), -1) + localVarPath = strings.Replace(localVarPath, "{"+"attributes.domain"+"}", fmt.Sprintf("%v", attributesDomain), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5743,7 +10670,7 @@ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, at } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjectAttributesUpdateResponse + var v AdminProjectDomainAttributesUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5760,27 +10687,29 @@ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, at } /* -AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param attributesProject Unique project id for which this set of attributes will be applied. * @param attributesDomain Unique domain id for which this set of attributes will be applied. + * @param attributesWorkflow Workflow name for which this set of attributes will be applied. * @param body -@return AdminProjectDomainAttributesUpdateResponse +@return AdminWorkflowAttributesUpdateResponse */ -func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Context, attributesProject string, attributesDomain string, body AdminProjectDomainAttributesUpdateRequest) (AdminProjectDomainAttributesUpdateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, attributesProject string, attributesDomain string, attributesWorkflow string, body AdminWorkflowAttributesUpdateRequest) (AdminWorkflowAttributesUpdateResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte - localVarReturnValue AdminProjectDomainAttributesUpdateResponse + localVarReturnValue AdminWorkflowAttributesUpdateResponse ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}" + localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}" localVarPath = strings.Replace(localVarPath, "{"+"attributes.project"+"}", fmt.Sprintf("%v", attributesProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"attributes.domain"+"}", fmt.Sprintf("%v", attributesDomain), -1) + localVarPath = strings.Replace(localVarPath, "{"+"attributes.workflow"+"}", fmt.Sprintf("%v", attributesWorkflow), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} @@ -5836,7 +10765,7 @@ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Conte } if localVarHttpResponse.StatusCode == 200 { - var v AdminProjectDomainAttributesUpdateResponse + var v AdminWorkflowAttributesUpdateResponse err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { newErr.error = err.Error() @@ -5855,6 +10784,7 @@ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Conte /* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesOrg Optional, org key applied to the attributes. * @param attributesProject Unique project id for which this set of attributes will be applied. * @param attributesDomain Unique domain id for which this set of attributes will be applied. * @param attributesWorkflow Workflow name for which this set of attributes will be applied. @@ -5862,7 +10792,7 @@ AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.M @return AdminWorkflowAttributesUpdateResponse */ -func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, attributesProject string, attributesDomain string, attributesWorkflow string, body AdminWorkflowAttributesUpdateRequest) (AdminWorkflowAttributesUpdateResponse, *http.Response, error) { +func (a *AdminServiceApiService) UpdateWorkflowAttributes2(ctx context.Context, attributesOrg string, attributesProject string, attributesDomain string, attributesWorkflow string, body AdminWorkflowAttributesUpdateRequest) (AdminWorkflowAttributesUpdateResponse, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Put") localVarPostBody interface{} @@ -5872,7 +10802,8 @@ func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, a ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}" + localVarPath := a.client.cfg.BasePath + "/api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow}" + localVarPath = strings.Replace(localVarPath, "{"+"attributes.org"+"}", fmt.Sprintf("%v", attributesOrg), -1) localVarPath = strings.Replace(localVarPath, "{"+"attributes.project"+"}", fmt.Sprintf("%v", attributesProject), -1) localVarPath = strings.Replace(localVarPath, "{"+"attributes.domain"+"}", fmt.Sprintf("%v", attributesDomain), -1) localVarPath = strings.Replace(localVarPath, "{"+"attributes.workflow"+"}", fmt.Sprintf("%v", attributesWorkflow), -1) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go index 5d6b2739e3..c4676a6ba2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go @@ -17,5 +17,7 @@ type AdminExecutionCreateRequest struct { Spec *AdminExecutionSpec `json:"spec,omitempty"` // The inputs required to start the execution. All required inputs must be included in this map. If not required and not provided, defaults apply. +optional Deprecated: Please use input_data instead. Inputs *CoreLiteralMap `json:"inputs,omitempty"` + // Optional, org key applied to the resource. + Org string `json:"org,omitempty"` InputData *CoreInputData `json:"input_data,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go index df6a99884c..a9381abc9b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go @@ -9,11 +9,13 @@ package flyteadmin -// Represents a custom set of attributes applied for either a domain; a domain and project; or domain, project and workflow name. These are used to override system level defaults for kubernetes cluster resource management, default execution values, and more all across different levels of specificity. +// Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org); or domain, project and workflow name (and optional org). These are used to override system level defaults for kubernetes cluster resource management, default execution values, and more all across different levels of specificity. type AdminMatchableAttributesConfiguration struct { Attributes *AdminMatchingAttributes `json:"attributes,omitempty"` Domain string `json:"domain,omitempty"` Project string `json:"project,omitempty"` Workflow string `json:"workflow,omitempty"` LaunchPlan string `json:"launch_plan,omitempty"` + // Optional, org key applied to the resource. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go index 9fa96c57b2..ac55ee330b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go @@ -16,4 +16,6 @@ type AdminNamedEntityIdentifier struct { // Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. Domain string `json:"domain,omitempty"` Name string `json:"name,omitempty"` + // Optional, org key applied to the resource. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go index 59da87f6cc..fafa42e708 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go @@ -20,4 +20,6 @@ type AdminProject struct { // Leverage Labels from flyteidl.admin.common.proto to tag projects with ownership information. Labels *AdminLabels `json:"labels,omitempty"` State *ProjectProjectState `json:"state,omitempty"` + // Optional, org key applied to the resource. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go index a719e4737b..7772a1b781 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go @@ -13,4 +13,6 @@ type AdminProjectAttributes struct { // Unique project id for which this set of attributes will be applied. Project string `json:"project,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` + // Optional, org key applied to the project. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go index 3081254e92..c94bdf8d78 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go @@ -12,4 +12,6 @@ package flyteadmin type AdminProjectAttributesDeleteRequest struct { Project string `json:"project,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` + // Optional, org key applied to the project. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go index 8cc141bc42..7f25ab536c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go @@ -15,4 +15,6 @@ type AdminProjectDomainAttributes struct { // Unique domain id for which this set of attributes will be applied. Domain string `json:"domain,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` + // Optional, org key applied to the attributes. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go index 00b251417d..6431b0ffc9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go @@ -13,4 +13,6 @@ type AdminProjectDomainAttributesDeleteRequest struct { Project string `json:"project,omitempty"` Domain string `json:"domain,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` + // Optional, org key applied to the attributes. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go index dba5c88346..f8fdf30748 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go @@ -17,4 +17,6 @@ type AdminWorkflowAttributes struct { // Workflow name for which this set of attributes will be applied. Workflow string `json:"workflow,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` + // Optional, org key applied to the attributes. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go index 31bca658db..26df12fc94 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go @@ -14,4 +14,6 @@ type AdminWorkflowAttributesDeleteRequest struct { Domain string `json:"domain,omitempty"` Workflow string `json:"workflow,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` + // Optional, org key applied to the attributes. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identifier.go index 36a08549cb..33cc281aa9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identifier.go @@ -21,4 +21,6 @@ type CoreIdentifier struct { Name string `json:"name,omitempty"` // Specific version of the resource. Version string `json:"version,omitempty"` + // Optional, org key applied to the resource. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_identifier.go index cf61bea6ca..92f6945956 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_identifier.go @@ -16,4 +16,6 @@ type CoreWorkflowExecutionIdentifier struct { Domain string `json:"domain,omitempty"` // User or system provided value for the resource. Name string `json:"name,omitempty"` + // Optional, org key applied to the resource. + Org string `json:"org,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go index 5102fc0838..fa9255343d 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go +++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go @@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x73\xeb\xb8\x95\x2f\x0c\xff\x3f\x9f\x02\x67\xcf\xa9\xea\xee\x44\xb6\x3b\xc9\x4c\xde\x94\xa7\x4e\xbd\x8f\xda\xd6\xde\xad\xd3\xbe\xc5\x97\xee\xe9\x67\x94\x52\x43\x24\x24\x21\x26\x01\x06\x00\xed\xad\x4e\xe5\xbb\x3f\x85\x85\x0b\x41\x8a\x94\xa8\x8b\x6d\x79\x37\x67\xaa\xd2\xde\x22\x89\xeb\xc2\xc2\xba\xfe\xd6\x3f\xff\x0d\xa1\x0f\xf2\x19\xcf\x66\x44\x7c\x38\x45\x1f\xfe\x78\xfc\xed\x87\x9e\xfe\x8d\xb2\x29\xff\x70\x8a\xf4\x73\x84\x3e\x28\xaa\x12\xa2\x9f\x4f\x93\x85\x22\x34\x4e\x4e\x24\x11\x4f\x34\x22\x27\x38\x4e\x29\x3b\xce\x04\x57\x1c\x3e\x44\xe8\xc3\x13\x11\x92\x72\xa6\x5f\xb7\x7f\x22\xc6\x15\x92\x44\x7d\xf8\x37\x84\xfe\x05\xcd\xcb\x68\x4e\x52\x22\x3f\x9c\xa2\xff\x31\x1f\xcd\x95\xca\x5c\x03\xfa\x6f\xa9\xdf\xfd\x1b\xbc\x1b\x71\x26\xf3\xd2\xcb\x38\xcb\x12\x1a\x61\x45\x39\x3b\xf9\xbb\xe4\xac\x78\x37\x13\x3c\xce\xa3\x96\xef\x62\x35\x97\xc5\x1c\x4f\x70\x46\x4f\x9e\xfe\x70\x82\x23\x45\x9f\xc8\x38\xc1\x39\x8b\xe6\xe3\x2c\xc1\x4c\x9e\xfc\x93\xc6\x7a\x8e\x7f\x27\x91\xfa\x17\xfc\x23\xe6\x29\xa6\xcc\xfc\xcd\x70\x4a\xfe\xe5\xdb\x41\xe8\xc3\x8c\xa8\xe0\x9f\x7a\xb6\x79\x9a\x62\xb1\xd0\x2b\xf2\x91\xa8\x68\x8e\xd4\x9c\x20\xd3\x0f\x72\x4b\xc4\xa7\x08\xa3\x53\x41\xa6\xa7\xbf\x08\x32\x1d\xbb\x85\x3e\x36\x0b\x7c\x01\xa3\xb9\x49\x30\xfb\xe5\xd8\x2e\x13\xb4\xcc\x33\x22\x60\x6e\xc3\x58\xb7\xfe\x89\xa8\x3e\x34\x5b\xbc\x1f\xbe\x2d\x88\xcc\x38\x93\x44\x96\x86\x87\xd0\x87\x3f\x7e\xfb\x6d\xe5\x27\x84\x3e\xc4\x44\x46\x82\x66\xca\xee\x65\x1f\xc9\x3c\x8a\x88\x94\xd3\x3c\x41\xae\xa5\x70\x30\x66\xaa\x7a\x63\xf1\x52\x63\x08\x7d\xf8\xdf\x82\x4c\x75\x3b\xff\x7e\x12\x93\x29\x65\x54\xb7\x2b\x0d\xfd\x04\xa3\x2d\x7d\xf5\xaf\x7f\xab\xfb\xfb\x5f\xc1\x8c\x32\x2c\x70\x4a\x14\x11\xc5\x8e\x9b\xff\xab\xcc\x45\xef\x91\xee\xbc\xd8\xc7\xea\xc0\x2b\xb3\xbd\xc2\x29\xd1\x7b\xa2\x77\xca\x7e\x01\x7f\x0b\x22\x79\x2e\x22\x82\x26\x24\xe1\x6c\x26\x91\xe2\x4b\x6b\x40\xa1\x05\x4d\x5e\xd5\x27\x82\xfc\x23\xa7\x82\xe8\xbd\x52\x22\x27\x95\xa7\x6a\x91\xc1\x20\xa5\x12\x94\xcd\xc2\xa5\xf8\x57\xaf\xd5\xd4\x0c\x55\x6e\x30\x33\xf3\x41\xe3\xc4\x46\xac\xef\x5e\x89\x30\x43\x13\x82\xf4\x59\xa4\x31\x11\x24\x46\x58\x22\x8c\x64\x3e\x91\x44\xa1\x67\xaa\xe6\x94\xe9\x7f\x67\x24\xa2\x53\x1a\xb9\x35\x3b\x9c\xb5\x81\x3f\x57\xaf\xcc\x83\x24\x42\x0f\xfc\x89\xc6\x24\x46\x4f\x38\xc9\x09\x9a\x72\x51\x5a\x9e\xe3\x11\xbb\x9f\xeb\x75\x48\x27\x94\xc1\xc9\xd3\x6b\xe9\x28\xe4\xf7\x6e\xb9\x7e\x8f\x74\x7f\x28\x67\xf4\x1f\x39\x49\x16\x88\xc6\x84\x29\x3a\xa5\x44\x56\x5b\xfb\x3d\x87\xfe\x71\x82\x8e\x90\x5e\x67\x22\x14\xac\x37\x67\x8a\x7c\x56\x12\x1d\xa1\x84\x3e\x12\xf4\xd5\x05\x95\x0a\xf5\x6f\x86\x5f\xf5\xd0\x57\xe6\xbc\x20\xe0\x4d\x5f\xbd\xc2\x0a\xfb\xbf\xff\x16\x1c\x3d\x85\x67\xd5\x43\xf7\xa1\xaf\x4f\xf3\x9d\xb9\x1a\x8a\x16\xfe\xf6\x6f\x61\x3b\x76\xbf\x56\xf3\xdb\x82\xd9\x5a\x4e\xdb\x96\xbf\xc2\x32\x95\x59\xab\xd4\x3b\xb4\x2b\x67\xd5\xed\x56\x59\xab\x7c\x5f\xbc\x55\x4f\xe1\xa5\xf9\xeb\x2e\xcc\x15\x2b\xa0\x7a\x4c\x99\x39\x24\xfe\xcc\x08\xa9\xcf\x89\xa3\xde\x03\x61\x29\xbb\xf0\xda\x60\x66\x01\xbb\x75\x5c\x34\x58\x95\x03\x9c\x77\x42\x53\xba\x6e\x7f\x87\x2c\xd6\x22\x97\x65\x76\x2c\x4f\x27\x44\xe8\x65\x70\x6c\x0f\x66\x3b\xd1\x6c\x50\xe5\x82\x91\xb8\xc5\x34\xff\x91\x13\xb1\x58\x31\xcf\x29\x4e\x64\xd3\x44\x29\x53\x44\xcb\xb7\x95\xc7\x53\x2e\x52\xac\xec\x0b\x7f\xfe\x8f\x4d\x17\x42\xf1\x47\xb2\x6e\xff\x87\x66\x37\x23\x2c\x81\x0c\xd2\x3c\x51\x34\x4b\x08\xca\xf0\x8c\x48\xbb\x22\x79\xa2\x64\x0f\x5e\xd3\x32\x35\x11\x47\xfe\x06\x82\x1e\xdc\xcd\x9b\x4b\xf8\x05\x4d\xbd\x00\xc9\xc8\x67\x05\x2d\x8d\x18\xdc\xbd\xb0\x44\xe1\x8d\xf2\x02\x4b\xb9\x1d\xcd\x48\x2e\xd4\x78\xb2\x38\x7e\x24\x4b\xfd\x36\x52\x0e\x66\x08\x2b\x25\xe8\x24\x57\x44\xcf\x5b\xb7\xe1\xee\x4e\x60\x8f\xe6\x82\x6e\xc3\x1a\xde\x6e\xc2\x31\x15\x24\x82\xb9\x6d\x72\x60\xfc\x57\x7a\xde\x5a\x7f\x59\x98\xd9\x3f\x92\x05\xc8\x23\x35\x2b\xe0\xb7\x7c\xc4\x46\x0c\x1d\xa1\xf3\xc1\xdd\xd9\xe0\xea\x7c\x78\xf5\xe9\x14\x7d\xb7\x40\x31\x99\xe2\x3c\x51\x3d\x34\xa5\x24\x89\x25\xc2\x82\x40\x93\x24\xd6\x32\x87\x1e\x0c\x61\x31\x65\x33\xc4\x45\x4c\xc4\xcb\x2d\x63\xe5\x29\x61\x79\x5a\xb9\x57\xe0\xf7\x62\xf4\x95\x2f\xb4\x88\xe1\x1f\x95\x9e\xfc\x6d\x69\x81\x61\xc6\xba\xef\xa0\xb5\x57\x13\x6a\xa2\x39\x4d\x62\x41\xd8\x89\xc2\xf2\x71\x4c\x3e\x93\x28\x37\x77\xf2\x3f\xcb\x3f\x8c\xb5\x64\xca\x63\x52\xfe\xa5\xf4\x8f\x42\x14\xda\xf8\x53\xaf\xa5\x6e\xfc\x25\xe8\xb4\xed\xbe\x83\x5f\x68\x5c\xfb\x36\xfc\xb2\x66\x0e\xee\x9d\x15\x83\x75\xaf\x34\x8e\xca\xbd\x60\x25\xbe\xda\x77\x04\x51\x62\x31\xc6\x4a\x91\x34\x53\x1b\xea\xeb\x18\x25\x5a\xae\x5c\x25\x47\x5e\xf1\x98\x0c\x5c\x7f\xbf\x20\x23\xce\x92\x18\x4d\x16\x96\x6b\x4d\x89\x20\x2c\x22\xcd\x2d\xdc\x63\xf9\x58\xb4\xb0\x4e\x18\x2d\xf5\x27\x3f\x72\xa1\x3f\x7f\x0f\x02\x69\x69\xe0\xaf\x21\x93\x6e\x7b\xe2\xbe\x38\x0b\xc1\x96\xfc\xa3\xb3\x27\xec\xbe\x92\x6d\xad\x0f\x5c\x20\xb9\x90\x8a\xa4\x6b\xed\x10\xef\x67\x21\xec\x05\x71\xa8\x03\xae\xdc\x51\xbf\x81\x53\x5f\xbe\x71\xbb\xe3\xbd\xc1\x92\xed\xcb\x8a\x78\xe8\xf3\x74\x3e\x9c\xd5\x53\xbd\x73\xdb\x17\x38\x31\xde\xc5\x34\x4b\xb2\xe0\xbe\x07\xf9\x42\xe6\x86\xc6\xbd\x72\xab\x3d\x86\x01\xac\x51\x34\xcb\x76\x68\x7f\xfe\xf4\xa7\xa1\x85\xc6\x98\xe3\xd4\x9c\xca\xc0\x58\x85\x22\x2e\x8c\x2c\x18\xdb\xf3\x6e\x74\xcd\xfe\x7d\xff\x6e\x70\x7f\x8a\xfa\x28\xc6\x0a\xeb\x03\x2e\x48\x26\x88\x24\x4c\x81\x1e\xaf\xbf\x57\x0b\x94\xf2\x98\x24\x46\xe3\xfc\xa8\x25\x5f\x74\x8e\x15\x3e\xc3\x0a\x27\x7c\x76\x8c\xfa\xf0\x4f\xfd\x31\x95\x08\x27\x92\x23\xec\xc8\x8a\xc4\xae\x09\xcc\x62\xc7\x5a\x30\x8a\x78\x9a\xd1\xc4\xdb\xe0\xbd\x71\x85\xb2\x98\x3e\xd1\x38\xc7\x09\xe2\x13\xcd\x55\xb4\x86\x3c\x78\x22\x4c\xe5\x38\x49\x16\x08\x27\x09\xb2\xdd\xba\x17\x90\x9c\xf3\x3c\x89\x75\xbb\x6e\x94\x92\xa6\x34\xc1\x42\xab\xe0\x66\xb4\xd7\xb6\x2d\x74\x3f\x27\x7e\xac\x30\x2e\xbd\x9a\x29\x7e\x24\x12\x51\x85\x32\x2e\x25\x9d\x24\xc5\x99\x7f\x18\x22\x18\xf7\xd9\xc5\x10\xf4\xf9\x48\x21\x6e\x78\xa8\xeb\xdc\xda\x6f\x5c\x8f\x29\x66\x8c\x40\xc7\x5c\xcd\x89\xb0\xdd\xdb\x97\xdf\x5a\x35\x7f\xb8\xba\xbb\x19\x9c\x0d\x3f\x0e\x07\xe7\xcb\xba\xf9\x7d\xff\xee\x87\xe5\x5f\x7f\xba\xbe\xfd\xe1\xe3\xc5\xf5\x4f\xcb\x4f\x2e\xfa\x0f\x57\x67\xdf\x8f\x6f\x2e\xfa\x57\xcb\x0f\x2d\x59\xb5\x56\xf3\xc3\x91\x6d\x78\xb6\x3a\x9b\xe6\x4b\xd9\x34\x7b\x5f\xae\x51\x73\x4a\x13\xd0\x41\x5b\x1b\x34\xbd\x0d\xc1\x7e\x89\x32\x2c\xa5\x91\x8c\xcc\x08\x8e\x47\xec\x92\x0b\xcd\xc0\xa6\x5c\xf3\x08\x2d\x3d\x29\x91\x47\x8a\xb2\x99\xff\xe8\x14\x8d\xf2\x6f\xbf\xfd\x53\x74\x41\xd9\x23\xfc\x45\x0e\x71\x71\x3a\x8b\x6f\x67\xf1\xfd\x6d\x59\x7c\xb5\xe8\x73\x12\x1a\x7a\xf7\x1b\x32\xa4\x85\x0b\x96\xe5\x0a\x44\x09\x9e\x2b\xfd\xa7\xee\x12\xc8\x63\x45\xe0\x50\x3b\x83\xe2\x27\xa2\xfc\x8b\x5a\xb4\x79\x0f\x76\xc4\x9f\xb8\x78\x9c\x26\xfc\xd9\x0f\xfc\x13\x51\x7a\xec\xb7\xb6\x97\x2e\x94\xa8\x0b\x25\x7a\xdb\x50\xa2\x83\x32\xe6\xbd\x3c\xf3\x2b\x5b\xfe\x0c\x07\x6c\xf0\x64\x35\x3a\xaa\x1a\xfc\x50\x81\x9b\xe9\x55\xb8\x66\xd9\x99\xb3\x86\x73\x96\x5e\x7e\x2f\xdc\xb3\x34\xe8\xd7\xe7\x9c\xbf\x09\x7f\x4b\xe7\x4e\xd9\x72\xa1\xde\x25\x83\x6d\x79\x77\xbc\x9a\x33\xe4\xe5\x19\xfe\x52\x6c\xc3\x26\xc1\x0c\x1b\x44\x2f\xb4\x0e\x57\x58\x13\x9f\x50\x1b\x90\x50\x17\x81\xb0\x1c\x72\x50\x1b\x63\xb0\x5b\x50\xc1\xb6\x77\x53\xfb\x30\x81\x4f\x44\x95\x5e\x7e\x2f\x77\x53\x69\xd0\xaf\x7f\x37\xfd\x46\xa3\x03\xba\x70\x80\x17\x5c\xba\x2f\xfd\x46\x3b\x5c\x87\xff\x6f\xc0\xc3\xdf\xb9\xf4\x37\x5a\xa3\x2f\xcb\x87\xff\xa5\x3a\xed\xdf\xa7\x97\xbe\x73\xcb\x77\x6e\xf9\xb7\xf0\x9f\xbc\x3f\xb7\xfc\xcb\xaa\xa7\xc5\xf1\x1a\x3b\x5a\xb0\xfa\x5a\x70\x28\xff\xd5\xc2\x49\x03\x7f\x39\x95\x6f\xd3\xa0\xf1\x46\x1d\xee\xbc\x18\xdf\x00\x8e\xd0\x2f\x96\x90\xd6\xa8\x73\x4b\xdf\xbd\x07\x75\x6e\x79\xd0\x2f\xaf\xc3\xbd\x19\xf3\x7d\xa1\xcb\xf3\x9d\xb0\x81\xcd\x6f\xcb\x2f\x58\x26\xef\x64\xf1\x97\xcf\xc6\x3f\x98\x09\xbd\x1f\xd9\xfb\x0d\x2e\xde\x96\xb7\xee\xde\x73\xb2\x6a\xae\xd9\xe0\x76\x5a\x97\x61\x55\xfd\x9a\x12\xf9\xc7\x77\x79\xdf\xbe\x46\x92\x55\x77\xe1\x76\x17\xae\x6d\xaa\xbb\x70\xbf\xe0\x0b\xf7\xe0\xe0\x6f\x0e\x26\x02\xb4\x0b\x22\xef\x80\x31\xba\x18\xf2\x3d\x2e\x4e\x17\x43\xde\xc5\x90\xff\xc6\x62\xc8\x77\xd1\x9e\xb6\xc5\xa2\x7c\x0b\x3d\xaa\x53\xa3\x3a\x35\x2a\xfc\xbd\x53\xa3\x3a\x35\xaa\x53\xa3\xbe\x70\x14\xd1\x4e\x87\x6a\xbf\x10\x9d\x0e\xd5\x7a\xa9\x3a\x1d\x6a\xc5\xe2\x74\x3a\x54\xa7\x43\xfd\xb6\x74\x28\xf2\x44\x98\x92\x90\x8c\x16\x6a\x14\x1f\x32\x2e\x9b\x35\xa1\x90\x3b\xd4\x68\x41\xd0\x66\x39\x29\x0c\x02\x97\x7e\x41\x73\x2c\x11\x8f\xa2\x5c\x54\xce\x40\x55\x0f\x3a\x13\x04\x2b\x02\x2d\xe8\x0f\xdf\x83\xfe\xb3\x3c\xdd\xd7\x8a\xc1\x9f\xf0\x78\x89\xda\xcd\x41\xa8\x7b\xb2\x5a\x1e\xd9\xdb\xd4\xff\x91\x93\x76\xea\xdf\x0b\x12\xb5\xc2\xf2\x71\xcf\x44\x5d\xca\xb5\xd8\x8a\xa8\xa1\x85\xf7\x42\xd4\xcb\xd3\xfd\xcd\x10\x75\xdd\xd4\x0f\x81\xa8\x9f\x6d\x1e\xff\x9e\x09\x7b\x09\x1e\x60\x2b\xe2\xf6\xad\xbc\x17\x02\xaf\x9f\xf6\x6f\x86\xc8\x9b\xa6\xff\xb6\x84\xee\x53\x24\x5b\x93\xf8\xbd\xa0\xb3\x99\x56\x33\x40\xc3\xd3\xa4\xb8\xbe\x46\x50\x91\x14\xb8\x96\xac\xfd\xab\xef\x81\xa4\xfd\x60\xcd\xd8\x7f\x33\xb4\xbc\x34\xef\x03\x21\xe2\x13\x41\x22\xfe\x04\xf5\xc2\xda\x11\xf3\x2d\x01\x0a\x06\x7e\x9d\x09\xf2\x44\x79\x2e\x93\xc5\x91\xc8\x19\x72\xcc\x1f\xf9\xe6\x8d\xb5\xfa\x99\x26\x09\xe2\x4c\xeb\x5f\x0a\x0b\xe5\x1e\x6b\xfd\x5b\xf0\x14\x4e\x45\x82\xa5\x42\x8f\x8c\x3f\x33\x34\xc5\x34\xc9\x05\x41\x19\xa7\x4c\x1d\x8f\xd8\x90\xa1\x5b\x33\x46\xc8\x1b\xe8\xa1\x5c\xea\xb3\x14\x61\xc6\xb8\x42\xd1\x1c\xb3\x19\x41\x98\x2d\x6c\x02\x6e\x41\x19\x88\x0b\x94\x67\x31\xd6\x8a\xef\x9c\x54\xa3\xf4\xfc\x18\xc1\x7c\x47\x25\xa2\x12\x91\xcf\x4a\x90\x94\x24\x0b\xdd\x87\xa6\x7d\xc5\x91\x5d\x1f\x33\x54\x9b\xce\x47\x84\xe0\x42\x42\xc6\xc1\x64\xf1\x2b\x66\x8a\x32\x82\x40\x51\x92\xc6\x34\x77\x84\x2e\xb8\x04\xb3\xcd\x0f\x7f\x91\x28\x4a\x72\xa9\x88\xe8\xa1\x49\x3e\x93\x5a\x53\xcc\x12\xac\xa6\x5c\xa4\x7a\x84\x94\x49\x85\x27\x34\xa1\x6a\xd1\x43\x29\x8e\xe6\xa6\x2d\x58\x03\xd9\x1b\xb1\x98\x3f\x33\xa9\x04\xc1\xbe\x77\xf7\x10\x7d\x1d\x3e\x33\x04\x20\xbf\xe9\x41\xda\x21\x4d\xb5\xba\x1b\x0c\xbf\xd8\x71\xb3\x27\xba\x11\x12\xa3\x09\x89\x70\x2e\xad\x87\x41\x89\x05\x22\x9f\xe7\x38\x97\xb0\x77\x7a\x7a\x36\x67\x23\xe2\x69\x96\x10\x45\x10\x9d\x22\x25\x28\x89\x11\x9e\x61\xaa\x97\xee\x8e\xac\x00\x41\xf7\x44\x6f\x37\xd0\x52\xfd\x2f\xa0\x7e\xa7\x5c\x10\x14\x13\x85\x69\xb2\xd2\xeb\x64\xbf\xed\xb8\xdc\x7b\xe2\x72\xe5\x0d\x3f\x08\x36\x67\x40\xfc\xf7\x70\x69\x33\x6b\xba\x8f\x70\xb2\xe3\xfd\x7d\x6b\x07\xd5\xd1\xf6\xfb\xa2\x6d\xb3\x6b\x87\x43\xdc\xaf\x16\x83\xdd\xbe\xa2\x45\x51\xcd\xe2\x5d\xd1\xf4\x6b\x84\x05\x74\x0e\xe7\xce\xe1\xdc\xb8\x32\xef\xd3\xe1\x7c\x30\x1e\xa3\xce\xe7\xfc\x42\x3e\x67\x2a\x3b\xa7\x73\xe7\x74\x6e\xbb\x40\x9d\xd3\xb9\x73\x3a\xbf\x5f\xa7\xf3\x4b\xe2\x3e\xef\x15\xdd\xf9\x5d\x89\xd6\x9d\x58\xdd\x89\xd5\x1d\x84\xb3\x9f\xda\xbe\x58\x98\xfb\xfa\x43\x4c\x12\xa2\x48\xb3\x3d\x8b\x88\x54\x6b\x0b\xe6\x7a\xa6\x4c\xcb\x71\x33\x41\xa4\xdc\x95\x21\xf9\x86\xdf\x27\x5b\xf2\xc3\xef\xa0\xe6\x3b\x3e\xd5\xf1\xa9\x6d\xa6\x76\x38\xa6\xd9\xe0\x30\xbf\x96\x6d\xd6\xf3\xdf\x2c\x6f\x96\xfe\x1e\x8c\x1b\xb2\xf0\x8b\x1a\x0a\xd7\x52\xbb\xe2\xfe\x70\x5b\x3a\xdf\x91\x1f\x9b\xbe\xde\x27\x33\x36\x63\xef\x38\x71\xc7\x89\x3b\x4e\xfc\xbe\x39\xb1\x3b\xc9\x6f\xea\x22\x33\x7e\xba\x71\x96\x60\x36\xa6\xb1\x3c\xf9\x67\xa1\xcb\xbf\x94\x87\x4c\x1f\xa8\xd8\xa4\x98\xfa\x94\x4e\xf1\x8b\xfe\x24\x29\x0c\xe6\x1e\x33\x73\x8d\x13\xcd\xd8\xd8\x6f\x12\xcc\x86\xf1\xbb\xf0\xa3\xd5\xce\xfe\x35\x7c\x6a\xbb\xf0\x71\xac\xc0\xd3\x81\x29\x33\x26\xbc\x22\xaf\xb6\x64\xa0\x3c\x8c\x13\xbe\x0b\x57\x0f\x26\x16\x30\x76\xc7\xaf\x83\x45\x39\xbc\x69\x77\x7e\x9d\x2e\x97\xb0\xf3\x5c\xb4\x9c\x70\xe7\xb9\x38\x5c\xcf\xc5\x5b\xb9\x23\x5f\xf9\x78\xbe\x96\x58\xd7\x3e\x08\xdf\x44\xab\x41\x50\x6b\x9e\x25\x1c\xc7\xab\x5c\x31\x85\xe0\x15\x82\xa3\xac\x8d\xc4\x2f\x3e\x7b\x0f\xc2\x5a\x31\xda\xdf\x58\x24\xdf\xf2\xc4\x0f\x45\x4b\x79\xc5\x50\xbe\x7a\x12\xdf\x40\x25\x79\x1f\xf8\xa9\xc5\x78\xbb\xd0\xbe\xce\xa2\xf4\xf6\x16\xa5\x2e\xb4\xaf\x53\x01\x0f\x4c\x05\xec\x42\xfb\xba\xd0\xbe\x4e\x41\x5e\x3d\xed\x4e\x41\xfe\x22\x42\xfb\x5a\x89\xda\x2f\x88\xbd\xb9\xbb\xd0\xdd\xc9\xdc\xee\xbd\x4e\xe6\xee\x64\xee\x2f\x54\xe6\x3e\x8c\x15\xee\x04\xee\x4e\xe0\xee\x04\xee\x4e\xe0\xee\x04\xee\xbd\x2f\x63\x27\x70\xbf\x66\x81\xce\x7a\xa9\x7b\x4d\x92\xcd\x7b\xf5\xe5\x74\xe2\x76\x27\x6e\x1f\xb6\xb8\x7d\x30\x13\x7a\x3f\x65\x1e\xdb\xcd\xa7\x2b\x52\xde\x15\x29\xef\x8a\x94\xbf\x78\x91\x72\xf7\x75\x8b\x8c\x0f\x7b\xb8\x14\x56\xb9\x34\x80\x8f\x82\xcc\xa8\x54\xc0\xfe\xdb\xc8\x2b\xeb\x13\x3d\xde\xab\x9c\xd2\xa5\x7a\xf8\xa7\x9d\xd4\xd2\x49\x2d\xbf\x51\xa9\xe5\x80\x62\xc1\x0e\x22\x63\x25\xc5\x2a\x9a\xe3\x49\x42\xc6\xde\xe8\x23\xdb\xea\xc1\x17\x54\x2a\x89\xa2\x5c\x2a\x9e\x36\x5f\x2e\x97\xae\x87\xbe\xef\xe0\x8c\xb3\x29\x9d\xe5\xe6\x6e\x31\xe0\x9c\xc1\x89\x2e\x24\xc1\x45\x46\xd6\x79\xaa\x6a\x5a\x7f\x17\xd7\x52\xfd\xd0\x5f\xeb\x76\xda\x44\x70\x2f\x8c\x7c\x56\xea\xd6\xb2\xd6\xf8\x76\x70\x77\xfd\x70\x7b\x36\x38\x45\xfd\x2c\x4b\xa8\xb1\xbb\x1b\x52\xa0\xbf\xea\x49\x21\x85\xe5\x63\xb1\x97\xc2\x90\xb9\xc1\xb0\x05\x43\xbf\x96\x8d\xd1\x11\x3a\xbb\x78\xb8\xbb\x1f\xdc\x36\x34\x68\x09\x05\xf2\x56\x49\x9a\x25\x58\x91\x18\x3d\xe6\x13\x22\x18\xd1\xd2\x8e\x45\xba\x2d\xcc\xff\xa6\xd1\xc1\x7f\x0f\xce\x1e\xee\x87\xd7\x57\xe3\xbf\x3e\x0c\x1e\x06\xa7\xc8\x51\x9c\x6e\x56\x8f\x4b\x8f\x22\x5e\x30\x9c\x6a\x0d\x44\xff\x50\x64\xca\xfe\x23\x27\x39\x41\x58\x4a\x3a\x63\x29\x01\x44\xe0\x52\x8b\x6e\xc0\x17\xfd\xef\x06\x17\xe5\x96\xe7\x24\x84\xdf\x45\x09\x9e\x90\xc4\xfa\x23\xc0\xc4\xae\x09\x3d\x80\x2a\x36\x8e\x8a\xdc\xac\xea\x5f\x1f\xfa\x17\xc3\xfb\x9f\xc7\xd7\x1f\xc7\x77\x83\xdb\x1f\x87\x67\x83\xb1\x95\x2a\xcf\xfa\xba\xdf\x52\x4f\x56\xf8\x44\xff\xc8\x71\xa2\xb5\x13\x3e\x75\x78\xbc\xe8\x79\x4e\x18\xca\x19\x50\x9c\x51\x79\xb4\x1e\xe4\x3b\xd5\xa7\xcc\xcc\xe8\xe6\xe2\xe1\xd3\xf0\x6a\x7c\xfd\xe3\xe0\xf6\x76\x78\x3e\x38\x45\x77\x24\x01\xa5\xc0\x2d\x3a\xec\x62\x96\xe4\x33\xca\x10\x4d\xb3\x84\xe8\xd5\xc0\x36\x9b\x78\x8e\x9f\x28\x17\xf6\xe8\xce\xe8\x13\x61\x66\x1d\xe1\xcc\x42\xfb\x4e\xf8\x1e\x07\x4b\x77\x7d\xf5\x71\xf8\xe9\x14\xf5\xe3\xd8\xcf\x41\x42\x1b\x25\xca\x71\xb0\xce\x47\xe5\x61\x6b\xe6\x00\xdd\x1b\x22\xe2\x4f\x44\x08\x1a\x93\x0a\x1d\xf5\xef\xee\x86\x9f\xae\x2e\x07\x57\xf7\xb0\x62\x4a\xf0\x44\xa2\x39\x7f\x06\x53\x36\xcc\x10\x2c\xdc\x4f\x98\x26\xd0\x99\xdb\x2c\xce\xd0\xf3\x9c\x82\xfb\x03\x80\x99\x7d\xcf\x46\x3f\x13\x39\x7b\x73\xeb\x6c\xe9\xe0\x2d\xab\x2d\xd5\x93\xb4\xfc\x46\xe5\x58\xac\x7a\xa1\x44\xe5\xcb\x2f\xae\xa3\xd6\xe5\x2f\x2a\xe4\xd6\xac\xac\x2d\xd1\x4b\xf3\x4c\x8b\xbd\x6e\xad\xab\x95\xd7\xf0\xf5\xae\x59\xa2\x04\x8d\xe4\xcb\x42\x3d\x89\x9c\x29\x9a\x12\x64\x3b\xb3\x87\x73\x8f\xf0\x4f\x97\xa6\xe1\xf7\x70\xc1\x2e\x95\x72\xf8\x44\x94\x1d\x7e\xa7\x02\x76\x2a\xe0\x61\xa8\x80\xef\x2d\xdb\x3f\x26\xd9\x72\x87\x95\x89\xc1\x3b\xc6\xeb\xb5\x14\xa4\x61\xec\x89\xd6\xa2\x9a\x90\x27\x92\x80\x94\xa7\x04\xd6\x4a\xa3\x95\x5d\x26\x82\xe0\x47\x2d\xf0\xc5\xfc\x39\x94\x5c\x6a\x90\xfb\xd1\x7e\x6e\xe1\x36\x41\x1c\x7f\xfa\xe3\xeb\x5d\x16\x7a\xb9\xe3\xd7\x28\xe1\x7d\x0b\x41\x32\x2b\x31\x02\x83\x04\xfb\x5f\xac\x25\x78\xcd\x6d\x11\x7c\xf1\x1e\x2e\x8a\x70\xb8\x07\xa4\x75\xdd\x86\x4a\xb0\x63\xa1\x29\x51\x38\xc6\x0a\xeb\x43\x33\x23\xea\x18\x5d\x33\x78\x76\x8f\xe5\x63\x0f\xb9\x2b\x4f\xb3\x95\xc2\xca\xf0\x0a\xa9\xf5\xef\xc4\x80\xbf\x39\x1f\xef\xae\xef\xee\xfa\xae\x5f\x99\x2e\xcc\xb3\x61\x85\xf7\x75\x31\x6e\xe4\xf3\xda\xdf\xfd\x65\x5a\x7c\xbf\x57\xd8\xeb\x3a\xb9\xf6\x7a\xa1\x99\xca\x59\xdd\x6d\x65\xfe\xaf\xbb\xad\xba\xdb\xaa\xbb\xad\x0e\x60\x85\xdf\xdc\x61\x58\xc3\xdd\xdf\xd4\x63\xb8\x4e\x3b\xdd\x1a\xf2\xae\xd0\x46\x37\x01\xbd\xfb\xa5\x2d\xb6\x5d\xf1\x0d\x7d\x1f\x3e\xc2\x60\x92\xaf\x91\xd6\xb6\xd7\xcb\xdc\xe4\x8b\x74\xfa\xe9\x0b\xde\xf8\x1d\x02\xe1\x5e\x11\x08\x0f\x63\xae\x2f\x92\x02\xf7\x36\x16\xd3\xb7\x4f\x7b\xeb\xa0\x06\xbb\xc4\xae\x2e\xb1\x0b\x7e\xef\xa0\x06\xf7\x47\xad\x2f\x2b\x5d\xf3\x98\x8c\x2b\x51\x02\xfe\x9f\xe3\xaa\xe7\xa7\xf4\x24\x74\x03\x95\x1e\x14\x99\x6e\xd0\x3a\x8d\xf7\x59\x44\xea\x8a\xc7\xa4\x75\x24\x41\xe9\xe5\x03\x97\xc1\xdd\x3c\x8d\x2c\x5e\x1a\xf8\x0b\x4b\xe2\x0d\x5b\xfe\x25\x1a\x76\x6a\x08\xb8\xb3\xf2\xac\x5d\xa8\x2f\x35\xbe\xa0\xe0\x50\xef\xc8\x53\xd1\x8e\x8d\xbb\x98\xc6\x71\x03\x33\xaf\x7f\xee\x59\x7a\xfd\xe3\x97\xc1\x0c\x6a\xcf\xd1\xc1\xac\x12\xbe\xfd\x3e\xec\x2a\xe1\x88\x5f\xc3\xb2\xb2\x72\xef\xbf\x38\xae\xbe\x8a\x92\x3b\xde\xde\x72\xb9\xbe\x54\x0e\xdf\x41\xfc\xac\xb2\x75\x74\x18\x3a\x9d\xa9\xe5\x70\x26\xdc\x99\x5a\xde\xb5\xa9\xc5\xb8\x68\xc7\x19\x16\x84\xa9\x1a\x91\xba\x7a\x9d\xc0\xeb\x21\xe6\x82\x93\x3a\xa0\x01\xa4\x25\x5a\x64\x2f\x64\x7f\x55\x7d\x59\xb6\x17\x2b\x18\x04\x99\x90\x27\xff\x2c\xfe\xf6\xc2\x7a\xa9\x02\xc4\x8a\xe8\x24\x83\xf5\x2f\xf5\x1d\x9d\xdb\x40\xa5\xdd\x73\x25\xb1\x2a\x89\x82\x10\x44\xbd\x36\x9e\xe9\xc6\xbc\xfd\xbe\x52\x24\x97\x06\xfd\xba\xb1\x4d\xcb\x1b\xdf\xee\x00\xb9\x9d\xa1\x26\xdd\x2f\xc8\x29\xd3\xd2\x28\x9f\x16\x17\x83\x44\xcf\x34\x49\x00\x51\x04\x32\x1e\x9b\x6e\x80\xdf\x5c\xc4\x43\xe3\xce\xbf\x69\xdc\x43\x1d\x77\xa8\x63\x09\x6d\xec\xa9\xfb\xca\x99\x76\xc4\x06\xe9\xac\xa0\x0d\xad\x31\xc0\x7e\x19\x9c\xe0\x13\x51\xaf\xc5\x06\xb6\x3d\xfb\x2b\xcf\xbd\x20\x53\x22\x08\x8b\xc8\x01\x7a\xdb\x37\x09\x03\xf9\xc9\x4c\xd2\xc6\x80\x78\x28\x81\x70\xaa\x8a\x5b\x3d\xad\x24\xea\x76\x99\xe4\x5d\x26\x79\x97\x49\x5e\x3d\xea\x5d\x26\x79\x97\x49\x5e\x9b\x03\x11\x93\x84\x28\xd2\x28\x55\x9c\xc3\xe3\xb7\x92\x2a\x4c\xef\x5f\x86\x60\x61\xe6\xd2\xc9\x16\xbf\x19\xcd\xc2\x6d\xf8\x41\x68\x16\xe6\xac\xad\x33\x3f\x94\x7e\xac\x09\xb1\x7e\x75\x93\xc4\x36\x4c\xa3\x64\x97\x38\x87\xd7\xdf\x25\xeb\xa8\x0e\xbd\xb3\x51\xa0\x60\xeb\x5e\x8e\x93\x2c\x1d\x81\x76\x13\xb7\x1e\xc3\xf7\x3b\xef\x43\xe1\xa0\x4d\x74\x7f\xa8\x7c\x74\xeb\xa4\x94\x43\xb1\xd8\x7c\x41\x3c\xb2\xb3\xde\xbc\x71\xae\xc4\x12\x33\x7c\xb7\xd3\xed\x8c\x55\x9d\xb1\xaa\x33\x56\x75\xc6\xaa\xce\x58\x85\x3a\x63\xd5\xc6\xc6\xaa\x2f\x48\xa6\xea\x0c\x57\x9d\x58\xb5\xbf\xe9\x1e\xaa\x96\x79\x48\xd6\xba\xd6\x28\xe9\x45\x0e\xd5\xda\xc8\x7b\x3b\xed\x5f\xd6\x84\xdc\xdf\xb8\x11\xbc\x1f\x7e\x25\x5f\x9a\x25\xed\x12\x58\xec\x76\xf4\x8b\x8d\x2b\xee\x4a\x87\xd6\xae\x55\x17\xf6\xbc\x62\x71\xba\xb0\xe7\x2e\xec\xf9\xe0\xc2\x9e\xf7\xae\xac\x64\x5c\xae\x02\x24\x32\xa5\xb3\x56\xe6\x3f\xbb\x3b\x1b\x12\x8d\x80\x14\x0c\xca\x71\x4c\xb2\x84\x2f\xc0\x92\xb2\xe2\x3a\x77\x5d\xdc\x2c\x49\xd4\x87\x7e\xa3\xbb\x91\xbf\x96\xce\x71\x28\x32\x69\x31\xef\x83\x90\x42\x4f\xfe\x59\x49\xe7\x6f\x85\x97\xc9\x10\xf9\x4c\x25\xdc\x4a\xeb\x09\x7b\xc4\xea\x9f\x04\xa5\x0b\xed\x3d\x38\xc9\x55\x90\xbb\x27\xb5\x60\x95\x11\xa1\x16\xc1\x9b\x24\xcd\xd4\xe2\xbf\x46\x8c\x2a\xef\x61\xa3\x33\xc6\x85\xe1\x6a\xfa\xe3\x39\x66\x71\x42\x84\xbe\x54\x5d\x3b\x11\x66\x8c\x2b\x10\x37\x60\x06\x31\x7a\xa2\xd8\x08\x27\xfd\x9b\x61\x6b\x3f\xf3\x3b\x3a\x5d\xaf\x5d\xac\x6e\xcd\x5d\xf7\x29\xe1\x13\xa8\x60\x99\x97\x75\x7a\xdd\x40\xe7\x19\x2d\xed\xdc\x5b\x31\x04\x85\xe5\x63\x15\x38\xa4\x9c\x85\x3e\x5e\x09\x25\xb2\xe6\xdd\x12\xc6\xfc\xea\x57\x2b\x70\x23\xe5\x67\x16\x80\x04\x1e\xc3\x90\xab\xe3\x70\x3f\x86\x1d\xba\xdf\x8a\x96\xdd\x2f\xae\x74\x37\xfc\x28\x88\x12\x8b\x31\x56\x4a\x33\x99\x7d\x62\x9c\xdc\x63\xf9\xd8\x1a\xe3\xa4\xf4\xf2\x81\xb3\x9c\x12\xc6\x49\x79\xe0\x2f\xce\x72\x5a\x52\xe7\x1a\xce\xf4\xfe\xf2\xe3\xdb\x9e\xb5\x0d\x26\xfe\x5b\xc9\x95\x6f\xc7\x7b\xd6\x99\x69\xdf\x63\xde\xfc\x2a\x66\x7a\x30\x23\xac\xf0\xf3\x2f\xf1\xe4\x96\x6f\xa7\xee\x88\xae\x5a\xa3\x2f\xae\x10\x6e\x45\xe8\x58\x33\xb7\x77\x52\x10\xb7\x2a\x37\xed\x7b\x54\x2f\x63\xe6\x0e\x76\x63\x93\x18\xa0\x61\x19\xad\xdc\x9f\x21\x17\x15\x54\x94\x9e\x9d\x43\xa2\x35\x95\x61\x42\x7c\xc4\x85\x91\xbc\x62\x7b\x66\x8d\xd9\xce\x80\xf9\x9e\xa2\x3e\x8a\x6d\x6d\x7e\x41\x32\x41\x24\x61\xca\xa8\xda\xa6\xde\x95\x2b\xef\x4f\x99\xb5\x10\x9d\x63\x85\xcf\xb0\xc2\x09\x9f\x1d\xa3\xbe\x2f\xec\x4f\x25\xc2\x89\xe4\x08\x3b\xc2\x21\xb1\x6b\x02\xb3\xd8\xb1\x07\x8c\x22\x9e\x66\x34\xf1\x48\xed\xde\x8a\x4f\x59\x4c\x9f\x68\x9c\xe3\xc4\x23\x63\x8f\xd8\xe0\x89\x30\x95\x83\x0a\x87\x93\x04\xd9\x6e\xdd\x0b\x81\x7e\xee\x46\x29\x69\x4a\x13\x2c\x90\xe2\x76\xb4\xd7\xb6\x2d\x74\x3f\x27\x7e\xac\x0e\x05\x1c\xa5\xf8\x91\x48\x44\x15\xca\xb8\x94\x74\x92\x14\xc7\xf8\x61\x88\x60\xdc\x67\x17\x43\x30\x8d\x46\x0a\x71\xc3\x07\x5d\xe7\xd6\x4f\xe0\x7a\x4c\x31\x63\x04\x3a\xe6\x6a\x4e\x84\xed\xde\xbe\xfc\xd6\x56\xce\xb7\xc6\x88\x6e\xb6\x98\x86\x23\x7b\x3b\xa5\xb3\xb5\xc6\xd9\x56\xdd\x6c\xa7\x6b\x36\x2b\x9a\x2f\xe0\xa5\x6d\xaf\x0d\x5e\x50\x59\x56\x07\xdf\x85\xcb\xb6\x34\xe2\xd7\xc0\x47\xfb\x8d\x2a\x82\x9d\x16\xf8\x22\xeb\xf6\xa5\xaa\x80\x07\xae\xff\x75\xc8\x6e\x1d\x8a\x7d\x17\x80\xb1\xc7\xc5\xe9\x02\x30\xba\x00\x8c\x2f\x36\x00\xa3\x59\x9b\xa0\xf1\xce\xe9\x7a\x1b\x56\x90\xf2\x46\x01\xf1\x0b\x88\x52\x58\x3e\xb6\xad\x29\xa5\x45\xe5\x61\xfc\x2e\xa4\xfa\xda\x09\xbf\x86\x74\xdf\xd5\x29\xda\x6b\x9d\xa2\x83\x9b\x76\x27\xf8\x75\x82\x5f\x27\xdb\xb4\x9c\x70\x27\xdb\x1c\xae\x6c\xf3\x56\x0a\xcb\x97\x04\xa1\xab\x85\xa7\x52\x66\xcc\xca\x00\x5b\x03\x47\x03\xee\x81\x3c\x4b\x38\x8e\xd7\x05\xe1\xfc\x82\x0a\xb9\x66\x85\x68\x66\xda\xd5\x1f\x1c\xb8\x64\xb6\x14\x7f\x63\x46\xfe\x5b\x88\xa9\x6d\x9c\xfa\x9b\x86\xd5\x02\xfd\x42\x30\x59\x29\x28\xed\xa5\xb4\x90\x2a\x4d\xb7\x52\x38\xe4\x1f\x0f\x9c\xaa\xfd\x96\xbe\x86\x7a\xf1\x05\x3b\x08\x3a\x27\xc0\x6f\xb3\xf0\xf9\xc1\x48\xad\x9d\x6a\xd7\x65\x55\x76\x46\xfd\x4e\xf1\xed\x14\xdf\xbd\x2f\xe3\x21\x29\xbe\x6f\x28\x51\x9b\x34\x91\x17\x29\x63\xb8\x9d\x6c\xdd\x89\xd6\x9d\x68\xdd\x89\xd6\x5f\xac\x68\x7d\x18\x2b\xdc\xc9\xd5\x9d\x5c\xdd\xc9\xd5\x9d\x5c\xdd\xc9\xd5\x7b\x5f\xc6\x4e\xae\xae\xc8\xd5\xf0\x97\x4b\x93\xde\x54\xc8\x6e\x2d\x5c\xb7\xc8\x89\x7e\x2f\x92\x75\x27\x55\x77\x52\xf5\x61\x4b\xd5\x07\x33\xa1\x2f\x2f\x11\xb2\x4b\x25\xec\x52\x09\xbb\x54\xc2\xb7\x48\x25\x74\xbc\x64\x95\x84\xb2\x2c\x58\xfc\xb8\xc4\x81\x0e\x56\xb6\x28\x46\xbb\x6d\x78\xc7\xbe\x96\xda\x01\xcd\x6f\x53\x69\xaa\xf4\x9b\x6b\xe8\x80\xea\x4f\xf5\x9c\xb4\xa0\x19\x85\x1b\xdf\x7a\x84\xb0\x9f\xec\x9b\xef\x0b\x0c\x7c\x79\xd4\x5d\xfd\x29\x14\xec\x5a\x57\x7f\xea\x05\xe7\xed\x0e\xd7\x9a\x99\x3b\x1a\x35\x36\xde\x77\x3a\xed\x37\x07\x97\x6b\x3e\xe9\x6f\x1a\x2e\x57\x7b\x93\x2c\x25\xef\x9c\xfc\xb3\xf6\xa2\x78\x83\xb2\x5b\x1b\xdf\x0e\x9f\x88\xfa\x52\xae\x86\xae\xec\x56\x57\x1f\x62\x4f\xd3\xdd\x8a\xf5\xbf\xdb\xd9\x76\x45\xc6\xba\x22\x63\x5d\x91\xb1\xae\xc8\x58\x57\x64\x0c\xfd\xc6\x8b\x8c\x6d\x2c\x3e\x9a\x71\x7c\x29\x12\x64\x57\x64\xac\x13\x22\xf7\x37\xdd\xdf\x96\x10\x79\x80\x16\x84\x83\xa8\xa6\xe6\x2d\x08\x6f\x8e\xfb\xe1\x46\xd2\x16\xfb\xc3\x2d\x68\x87\xff\x61\xff\xaf\xc3\xff\xe8\xf0\x3f\x1a\x66\xdd\x05\xb3\x76\xf8\x1f\xa8\x0b\xd7\xec\xc2\x35\x0f\x39\x5c\xb3\xc5\x36\x76\xf8\x1f\x2d\xc5\xb9\x17\xc2\x00\x71\x32\xd7\x46\x38\x20\x3f\x2d\x2b\x1a\x07\x2b\xa5\xb9\xb1\xfe\x76\x70\x40\x6a\xa7\x7d\x10\x2a\xc9\x2b\xe2\x80\xd4\xd1\x75\x6b\x05\xe4\x7d\xe0\x81\xb8\xd1\x76\x89\x8b\x5d\x88\xf5\xe1\x87\x58\x1f\x5c\xe2\xe2\xc1\x48\xb2\x9d\xba\xd7\xe5\x2e\x76\xb9\x8b\x9d\x32\xdc\x29\xc3\x7b\x5f\xc6\x43\x52\x86\xdf\x58\xc2\x7e\x41\x5c\x90\xdd\x64\xed\x4e\xd4\x36\xef\x75\xa2\x76\x27\x6a\x7f\xa1\xa2\xf6\x61\xac\x70\x27\x67\x77\x72\x76\x27\x67\x77\x72\x76\x27\x67\xef\x7d\x19\x3b\x39\xfb\xd5\x70\x42\xea\x84\xed\x96\xf9\x36\xef\x49\xd2\xee\xa4\xec\x4e\xca\x3e\x6c\x29\xfb\x60\x26\xd4\x61\x86\x74\x98\x21\x1d\x66\x48\x87\x19\xb2\x95\x7c\xf3\x6f\xf6\x58\x7e\x08\x6e\x62\x7f\x65\x7f\xf8\x2e\xe1\x93\xfb\x45\x46\xf4\x7f\xcf\x69\x4a\x98\x04\x69\x94\xaa\x45\x28\xcf\x34\xac\xfc\xf2\x9a\x7f\xb8\x1b\x5e\x7d\xba\x08\xb3\x69\x3e\x5c\x3e\x5c\xdc\x0f\x6f\xfa\xb7\x7e\x5d\xfc\xac\xc2\xb5\xb0\xdf\x95\x44\x32\x4b\xf2\xb7\x44\xeb\x9e\x70\x6a\xee\x14\x56\xb9\xdc\x6e\x64\xb7\x83\xbb\xc1\xed\x8f\x90\x0d\x34\x3e\x1f\xde\xf5\xbf\xbb\x28\x11\x44\xe9\x79\xff\xec\xaf\x0f\xc3\xdb\xe6\xe7\x83\xff\x1e\xde\xdd\xdf\x35\x3d\xbd\x1d\x5c\x0c\xfa\x77\xcd\x5f\x7f\xec\x0f\x2f\x1e\x6e\x07\x2b\xd7\x63\xe5\x68\x57\x2b\x21\x12\x16\x09\xe2\xfc\x51\x64\xb9\x86\x28\xd6\x10\x79\xf1\xd1\xb1\xc3\xba\xbe\x4e\xd1\x83\xd5\xe9\xa9\x6d\xdc\x30\xd8\xa0\x21\xa3\x8c\xc4\x54\xe2\x49\x42\xe2\xa5\x96\xdc\x1a\x36\xb5\x84\x4b\x83\x7a\xd6\xda\xb3\x17\x39\x35\xcf\x8b\x0c\x2f\x40\x90\xa3\xa8\x08\x8b\x6b\xfa\x30\xfb\xd0\xd8\x03\xd3\xbc\x8b\x3e\x91\x52\x4f\x51\x2e\x04\x61\x2a\x59\x20\xf2\x99\x4a\x25\x97\x1a\x75\xdb\xd7\xd4\xac\xbd\x53\x7d\x83\x73\x2c\xd1\x84\x10\x56\x1e\xbf\x20\x09\xc1\xb2\x66\xcc\x76\xf7\xdb\x2d\x8b\xdf\x2b\x6b\x8d\x31\x97\xd1\x14\xd3\x24\x17\xa4\x72\x5a\x78\x9a\x61\x41\x25\x67\x83\xcf\xfa\x2e\xd3\x07\xf9\x1a\x3e\xe7\x62\xbb\x13\x33\xf8\x6b\x48\xc1\x57\xe5\x7f\x7e\xba\x2f\xff\xab\x74\xe6\x2f\xee\xcb\xff\x5a\x4d\xeb\x41\xc3\x55\xca\x3e\x42\x9f\xee\x4f\xd1\x27\x08\x71\x12\xe8\x7e\x8e\x0d\xc5\x5e\xdc\x9f\xa2\x0b\x22\x25\xfc\x52\x7c\xac\xa8\x4a\x60\x6e\xdf\x51\x86\xc5\x02\xb9\xe9\x9b\x44\x57\x1c\xcd\x11\xf1\x4b\x53\x5d\x3c\xf6\xf7\x9c\x81\xea\x5e\xac\xde\x05\x9f\xd1\x08\x27\xbb\x2d\x62\xff\xaa\xc4\x07\xae\x6f\x57\x2e\x45\xf8\xf6\xf2\x5a\xf4\xaf\xce\x21\x89\xd4\x0d\xb5\x66\xe6\x57\x44\x6a\x22\x89\x38\x8b\xad\x97\x46\xdf\xfe\x8b\x40\xa8\xff\x3b\x87\x44\xdc\x5c\x52\x36\xd3\x2d\xa2\x13\x74\x7d\x3b\x62\xd7\x22\x36\x86\x50\xa2\xa5\x61\x43\x73\x54\x22\xc6\x15\xa2\x69\xc6\x85\xc2\x4c\x69\x45\x00\xc4\x00\xbb\x22\x86\x03\x9c\xf1\x34\xcd\x15\xd6\x07\x6d\x69\x51\x99\x31\x87\xdc\x11\x35\x8c\xc1\xb5\x52\xb3\x86\x46\x4e\x28\xe6\x92\x09\xdd\xbe\x96\x51\xca\x3a\x34\x8d\x97\x54\x59\xd7\x04\x16\x02\x97\xa5\x89\x0f\x54\x91\xb4\xfa\x7e\xcb\x20\xcf\x7f\xd5\x1a\x08\xce\x4c\x52\x05\x11\x7d\x11\xcd\xa9\x22\x91\xd2\x47\x70\x2b\x9a\x78\xb8\xfa\xe1\xea\xfa\xa7\x50\x82\xf8\xd0\xbf\x3c\xff\xf3\x7f\x94\x7e\xb8\xbd\x5c\xfa\x61\xfc\xe3\x9f\x97\x7e\xf9\xff\xad\xa4\xa7\x6a\x4f\x4b\x7a\x7e\x30\x97\x23\x10\xa9\xc1\x26\xec\xa6\x8a\x68\x8a\x67\x04\xc9\x3c\xd3\x14\x20\x8f\xcb\xfb\xab\x45\xca\x0b\x8e\x63\xca\x66\x26\x03\xf4\x82\x2a\x22\x70\x72\x89\xb3\x8f\xce\x7e\xbd\xc5\xea\xfc\xdf\xbb\x52\xbe\xee\x87\x9f\xfb\x97\x61\xc6\xef\x87\x9b\xdb\xeb\xfb\xeb\x95\xb3\x2e\xb5\xb0\x7c\x8c\xf4\xe3\x53\xf8\x5f\x74\x82\x74\xeb\x5e\xf2\x4d\x89\xc2\x5a\x23\x40\x5f\x9b\xa4\x39\x9f\x48\x43\x59\x02\xa7\x26\x13\x34\xa5\x70\xa5\x18\x0b\xde\x37\x46\xb8\xf6\xda\x83\x3f\x37\xe6\x03\xd0\x96\xdd\xa5\xcc\x62\x2c\x62\xf4\x77\x59\x4d\x1f\x07\xc3\xb1\xf9\x81\xc4\xe8\x08\xcd\x95\xca\xe4\xe9\xc9\xc9\xf3\xf3\xf3\xb1\x7e\xfb\x98\x8b\xd9\x89\xfe\xe3\x88\xb0\xe3\xb9\x4a\x13\x93\x2e\xaf\x57\xe1\x14\xdd\x08\xae\xaf\x10\x50\xd0\x89\xa0\x38\xa1\xbf\x92\x18\x4d\x0c\xff\xe3\x53\xf4\x4b\xc4\x05\x39\x2e\x36\xc6\x1a\x95\xec\x3d\x62\x0d\x4f\x27\xfa\xa5\x1a\x66\x52\xdd\x4f\x14\x93\x88\xc6\x56\xcc\x20\x2c\xe2\x60\x79\x34\xbe\x0a\xdd\x9e\xcb\x34\xd4\x1a\x4d\x96\xab\x62\x39\x03\x65\x05\xc7\x24\xc8\x76\x57\xbc\x4c\x70\x5a\xf1\x19\x1a\xb5\x35\xd7\x2a\xba\xbe\x5b\x31\xdc\xaa\xee\xd5\x4c\x4f\x38\xe2\x09\x9a\xe4\xd3\x29\x11\xa1\x43\xba\xa7\xb5\x19\x2a\x91\x20\x11\x4f\x53\x90\x18\xf4\x57\xb9\x34\x54\x0d\x2b\x66\x47\x7b\x3c\x62\xb0\xff\x5a\xcd\x01\x0a\x88\x39\xb0\x3a\x46\x48\x8c\x30\x5b\x98\x6e\x26\xf9\x34\x6c\xdf\xc0\x50\xe0\x18\x51\x35\x62\xfd\x24\x41\x82\xa4\x5c\x91\x20\x87\x12\x9c\x67\xe5\x05\x07\x16\x29\x48\x96\xe0\x88\xc4\x86\x1e\x12\x1e\xe1\x04\x4d\x69\x42\xe4\x42\x2a\x92\x86\x0d\x7c\x0d\xb6\x1a\xbd\x66\x54\xa2\x98\x3f\xb3\x84\x63\x3b\x8f\xea\x67\xdf\x94\x4f\xe3\xc0\x41\x04\x0c\x84\xe0\x02\xfe\xe7\x07\xca\xe2\xbd\x71\xa8\x87\xbb\xc1\x6d\xf8\xef\xbb\x9f\xef\xee\x07\x97\x9b\x71\x1f\x4f\x59\x30\x3c\xd0\xe1\x4f\xd1\x9d\x59\x04\x2e\xb4\x44\x24\x1a\x26\x75\x69\x49\xa9\xf8\x81\xc7\x5b\x72\xdf\xcb\xfe\xd5\x43\xbf\xc4\x51\xee\xce\xbe\x1f\x9c\x3f\x54\xf4\x01\x3b\xbf\x92\x0c\x6f\xd4\xbf\xf0\xb7\xb3\xef\x87\x17\xe7\xe3\x1a\x85\xf1\xc3\xed\xe0\xec\xfa\xc7\xc1\x6d\xa1\xdb\xd5\x2e\x51\x65\x30\x55\x66\x75\x6f\x98\xd2\x9c\xc7\x68\xb2\xa8\x07\x84\xd0\x92\x73\x02\xbe\xd8\x02\x12\xc5\xb4\x7a\x0a\xbc\xc9\x61\x73\x14\x5f\xa4\x3c\x26\x3d\xfb\x0e\x20\x69\x18\xe3\x8a\x91\x98\xeb\x1b\xd6\xbd\x63\x16\x18\x2a\x0c\xc8\x85\x5f\xb8\x53\xd4\x47\x52\xbf\x98\xeb\x43\x2d\xe8\x6c\x06\x86\xc3\xca\x50\x4d\x6b\xf6\x53\x58\x5e\xf8\xce\xec\x7f\x26\x38\x9c\x73\xdd\xad\xb5\x38\x7b\xab\x84\xf9\x10\x50\x57\xca\x2d\x0a\x0c\x06\x87\x9a\xa1\xb9\xcd\xd2\x8b\xd0\xb8\x5e\xe6\x3c\x1a\x7b\x91\x3e\x5c\xc0\xb6\xa4\xb1\x77\x66\x82\x3c\x51\x9e\x07\x9f\x5a\x60\x8f\xd2\x8e\xd7\x36\x5f\x2c\x00\x2c\x9b\x31\x8a\x54\x9a\xf1\xe4\x51\xdb\x82\x66\x61\x4f\xd0\xc2\x54\xf0\xb4\xa6\x8d\xf2\x31\x19\x5e\xdf\x29\x81\x15\x99\x2d\xce\x2d\xcb\xd8\xfe\x78\x9c\x5f\xff\x74\x75\x71\xdd\x3f\x1f\x0f\xfa\x9f\xca\x27\xde\x3f\xb9\xbb\xbf\x1d\xf4\x2f\xcb\x8f\xc6\x57\xd7\xf7\x63\xf7\xc6\x4a\x92\x6f\xe8\x60\xf9\x9e\x2e\xbf\x78\x8a\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x21\x53\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x53\xb0\x8c\xd5\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb0\xf8\xe8\x7a\x7a\x74\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x63\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd1\x05\x16\xb3\xc2\x0e\xf7\x35\x9f\x4e\x4d\x63\xdf\x98\x61\xe8\x3b\xac\x34\x8b\x1a\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\xcb\x54\xf5\x90\xed\x46\x53\x0f\x37\xb0\xe2\x46\x63\x2f\xe9\x86\xf6\x49\x0d\xad\xc1\xc4\xcd\xe3\xd5\x97\x4c\x7d\xdb\xcb\xe4\x54\x7e\xb1\x86\x9c\x4c\x2e\x95\xde\xf9\xa9\xd6\x36\x6b\x68\x89\x7c\xa6\xd6\x60\x10\x8e\xbb\x42\x42\x45\x33\x60\x5e\xc5\x59\x46\xb0\x90\x75\xbb\x5d\x16\x03\x1b\xf6\xde\xf4\x14\xf6\x61\x37\xd9\xf5\xd3\x43\x9c\x81\xc1\xc1\x0b\x11\x15\x8a\x6c\x41\x03\xa6\xad\x25\x0a\xb8\x01\xb4\xa5\x6b\x8b\x6c\x74\x49\xa5\x56\x1a\xcd\x8f\xdf\x59\xc8\xa5\xed\x08\xe2\x63\x7f\x78\x51\x11\x2e\xc6\xe7\x83\x8f\xfd\x87\x8b\xd5\x66\xc2\xd2\x77\xd5\x2d\x46\x47\x48\x3f\x2f\xfb\xcd\xe9\xd4\xdc\x19\x0e\x38\xca\xa8\xb4\x84\x81\xd1\xca\x42\xd5\x18\x7b\x75\x4c\xb2\x84\x2f\x52\xc2\xc0\xc4\x53\xba\x09\xf5\x7a\x4e\x31\xb5\x57\x4b\x30\x58\xb0\xe2\x58\xb3\x1b\x5c\x63\x47\x0e\xad\x8a\xc4\xfe\xe6\x2d\x83\x55\x55\x58\xf7\x8d\xf1\x9e\xd9\xff\xdc\x29\xac\xb6\x3c\x63\xfd\xb3\xfb\xe1\x8f\x83\xb2\x7e\x78\xf6\xfd\xf0\xc7\x3a\xa9\x66\xfc\x69\x70\x35\xb8\xed\xdf\xaf\x11\x4e\x2a\x4d\xd6\x09\x27\x52\x0f\xb8\xea\x3d\xa5\xd2\x47\x04\x45\x06\xf2\x0a\x51\x25\xd1\x13\x95\x74\x42\x01\x20\xcc\x7a\x22\x1f\x86\xc0\x59\x9f\x70\x42\x63\xaa\x16\x4e\x7c\x31\xfd\x96\xf7\x51\x73\x52\xdb\xbe\x31\x3b\x84\xfe\x49\xb0\xf2\x99\xcd\x71\x93\x3e\x45\xa0\xdb\x3e\x81\xd2\x16\x7c\xc6\xb4\x20\xcd\x66\x44\x98\xe1\x80\xf7\x25\x1c\x4b\xf0\x5c\x8f\x2a\x14\x56\x8a\x55\xf3\x42\xeb\x8c\x30\x22\x00\x04\xce\x77\x62\x04\x29\x41\xd8\x57\x5a\xe6\xca\x12\x1a\x51\x95\x2c\x50\x04\x36\x2c\x30\x67\xa6\x98\xe1\x99\x15\x0e\x40\xcd\xa9\x90\xc4\x5f\x0d\x8a\xda\xf5\xd4\x9a\xf6\xef\x29\xd9\xf2\x98\x3d\x5c\x9d\x0f\x3e\x0e\xaf\xca\x24\xf0\xfd\xf0\x53\x49\x84\xbd\x1c\x9c\x0f\x1f\x4a\xb7\xb9\x96\x64\x57\xcb\xf5\xd5\x66\x6b\x8e\xa2\x7f\xe9\x14\x9d\x9b\x4f\x4f\xf5\xe2\xd6\x40\xc4\x79\xe5\xb7\xb2\x0e\xb7\x2e\x24\xcf\xfd\x31\x60\x4a\xd4\xfa\x25\xda\x9a\x90\xac\x0f\xb2\x64\x43\xaa\x0f\x55\x58\xea\xfb\xaa\xea\x54\xae\x4e\xd9\xbd\x08\x41\x97\xc7\x85\x65\x29\x8c\x61\x00\xa3\x41\x93\x11\xab\xc6\xad\x55\x30\xec\x1f\xc1\x45\x9d\xe6\x52\x19\x57\x22\x10\x27\x7a\xfc\x8b\xd4\x0b\x0a\xae\xc6\x63\x74\x47\xc8\x88\x39\xeb\xc1\x8c\xaa\x79\x3e\x39\x8e\x78\x7a\x52\xe0\x13\x9e\xe0\x8c\xa6\x58\x4b\xd2\x44\x2c\x4e\x26\x09\x9f\x9c\xa4\x58\x2a\x22\x4e\xb2\xc7\x19\x44\xc0\x38\x77\xea\x89\x6f\x76\xc6\xff\xfd\xe2\x4f\xdf\x1e\x5d\xfc\xe5\xdb\x0f\xcb\x16\xb2\xa6\xfd\x1f\xb0\x08\x67\x32\x4f\x6c\xc4\x9c\x08\xd7\xc6\x1d\xf9\x9c\xac\xdb\xef\xab\xf2\x76\xed\xa6\xbf\x9e\xdd\x3c\x94\x2c\xd6\xe5\x7f\x5e\x0e\x2e\xaf\x6f\x7f\x2e\x71\xca\xfb\xeb\xdb\xfe\xa7\x12\x43\x1d\xdc\x7c\x3f\xb8\x1c\xdc\xf6\x2f\xc6\xee\xe1\x2e\xb6\xb7\x1f\x18\x7f\x66\xe5\xa5\x91\x8e\x03\x2e\xf5\x74\x8a\x3e\x72\x81\x7e\xf0\x3b\x79\x34\xc1\x12\xae\x18\x77\x67\xc9\x1e\xca\x78\x0c\x8c\x17\x91\x6c\x4e\x52\x22\x70\x62\x6d\x06\x52\x71\x81\x67\xe6\xa6\x97\x91\xc0\x2a\x9a\x23\x99\xe1\x88\xf4\x50\x04\xd4\x30\xeb\xc1\xa6\x80\xaa\xc5\x67\x55\x3b\xdf\x6d\xce\x14\x4d\x89\x53\xc1\xed\x3f\xef\xcd\x66\x6c\xb1\x39\xd7\xf7\xdf\x97\x85\xbd\x8f\x17\x3f\xdf\x0f\xc6\x77\xe7\x3f\xac\x5c\x4f\xf3\x59\x69\x64\x77\x10\x80\x74\xc6\x93\x3c\x65\xe1\xdf\xdb\x8f\x6d\x78\x75\x3f\xf8\x54\x1d\xdd\x75\xff\xbe\x4c\x19\xb7\xe5\x00\xb7\x0f\xdf\x5d\x5f\x5f\x0c\x4a\x2e\xe1\x0f\xe7\xfd\xfb\xc1\xfd\xf0\xb2\x44\x3f\xe7\x0f\xb7\x06\x8d\x70\xd5\x34\xdd\x08\x6a\x26\xaa\xa7\x15\x4e\x73\xdf\xac\xb0\x15\x27\xea\xdb\x80\x72\x73\x96\x8f\x02\xb8\x1d\x13\x0e\x06\x56\x9d\x23\x6f\x52\x8d\xcc\x48\x6b\xd9\xa1\x2a\x6f\x13\x6a\x66\xc7\x2b\x37\x7a\x15\x57\xbe\xf7\x43\x30\x50\xa0\x46\xd9\xc6\x49\xc2\x9f\x4d\x28\x6f\x4a\xf5\xad\x6c\x81\xd1\xf4\x2b\xb2\xf0\x10\x1e\xd7\x70\xbc\xf2\xb6\x90\x48\x10\x75\xc9\x73\xa6\xb6\x27\xb9\xfe\x55\x89\xef\x0c\xae\x7e\x1c\xff\xd8\x2f\x53\xe0\xf0\x62\x35\xab\x09\x9b\xa8\xb9\x8a\xfb\x57\x3f\xfb\x4b\x18\x02\xbe\x7b\x5e\x43\x35\xb2\x6b\x94\x50\x2d\xf6\x46\x58\x6b\xaf\x09\x48\x34\x88\x50\x30\x39\xa4\x7a\x72\x10\x60\x9a\x19\x7f\x92\xe1\x4f\x66\x90\xa7\xee\x8f\x4a\x7b\x12\xd6\x05\xac\xa9\x2e\x9e\x1e\xda\xb1\x5a\x35\x43\x84\x3d\x51\xc1\x01\xcf\x16\x3d\x61\x41\xb5\x34\x6e\x5a\xd6\x73\x3d\x85\xff\xdd\xac\x4d\x30\x8c\x56\x18\xd7\x1d\x17\xea\xdc\x07\xf2\x6e\x67\x0d\xa9\x0b\x68\x5d\x0e\x65\xad\x37\x74\x2c\x7f\x5b\xb3\x39\x3b\x06\xfc\x96\x27\xfc\x8f\xe4\x9c\xe2\x44\x33\x80\xfd\xc9\x8b\xfd\xab\xbb\x61\x59\x7e\x2c\xab\x19\x01\x5f\xde\x5a\x5e\x04\x43\xa5\x19\xb9\x53\x26\xee\xfe\x7a\x61\xb4\x0b\x00\x3d\x36\xe7\x36\x50\x2c\x40\x00\x72\x28\x28\x19\x16\xb2\xf2\x85\x44\x00\x84\x56\x04\x5c\xe9\x3b\x0b\xc2\x99\x9e\x38\x8d\x47\x8c\x7c\xce\x08\x93\x10\x1c\x60\xee\xb3\xc2\xd7\x2e\x8f\xd1\x70\x0a\x2c\x41\xbf\xce\x50\xce\xac\x03\x4c\x5f\xb8\x66\x90\x3d\x2d\xca\xda\x21\x78\x0d\x11\x0c\x2f\x8c\xb8\x60\xa9\x62\xf0\x23\xf6\x93\x77\xa2\xc1\xa3\x29\xd7\x0c\x48\xef\xa2\x6d\xef\x14\x61\x26\x69\x0f\x69\x85\xa5\xba\xa7\x90\x3a\xa0\x15\x4a\x1b\xc2\xa5\x39\x8d\xfd\xf3\xf5\xaf\x81\xa5\x38\xe1\xf0\x32\xa8\xbf\x0b\x2a\x57\x41\x83\x68\x9c\x18\x8f\xc9\xb8\xfd\x9d\x10\x71\x41\xac\x9f\x65\xe3\x6b\x60\x1d\x63\xbf\xc7\xf2\x71\xc9\xf7\x30\x64\x52\x61\x16\x91\xb3\x04\xcb\x2d\x83\x90\x9c\x8d\xa3\x57\x96\x38\x6e\x6f\x1f\x6e\xee\x87\xdf\xad\xe1\xf2\xd5\x8f\x97\xc3\x80\xa2\x24\x77\xee\xb9\x89\xe0\x38\x46\x9a\x7d\xce\xb8\x71\x05\x5a\xc1\xbf\x80\xfe\x36\x79\x3d\x3e\xa0\xb2\x04\x3b\x5e\xa4\x23\x58\x3b\x47\xe8\x4a\xa0\x76\x21\x50\xa4\x57\x02\x05\x26\x0f\xb7\xd5\xe0\x59\x34\x05\x49\xac\x75\x2b\x4b\xb0\x9a\x72\x91\x1a\x2e\x5f\x9a\xb4\x69\x7c\x75\xa3\x94\x29\x22\x44\x9e\x29\xea\xb0\xdc\xab\x52\x2a\x54\x78\xe7\xb3\x4b\x22\x25\x9e\x91\x5d\x1c\xd0\x75\xca\xc3\xdd\x8f\xe1\x3f\xc1\xc1\xdc\x46\xf6\x2f\x8d\xd0\x45\xbe\x3b\x7a\xba\x66\x1f\x4d\x20\xcf\x0d\x4f\x68\xb4\x65\xc0\xdd\xc7\xfe\xf0\x62\x3c\xbc\xd4\x4a\x7c\xff\x7e\x70\x51\x12\x25\xe0\x59\xff\xe3\xfd\xe0\xd6\x82\x58\xf7\xbf\xbb\x18\x8c\xaf\xae\xcf\x07\x77\xe3\xb3\xeb\xcb\x9b\x8b\xc1\x9a\xc8\x9c\xc6\xc6\x97\xad\xab\xd5\x57\x4f\x97\x7e\x81\x1d\xd6\xbc\x2c\xb4\x97\x41\xd6\x18\xa6\x09\x38\xc1\xb9\x71\x86\x63\xc4\x78\x4c\xe0\x67\xe9\xac\x33\x1e\x39\x1a\x0d\xd5\x57\x49\x82\x70\xae\x78\x8a\xc1\x6b\x93\x2c\x46\x0c\x4f\x34\x6b\xc5\x49\x12\x84\x77\x89\x9c\x31\xcd\x62\x75\x63\x06\xa2\x3d\x4a\x88\x66\xe7\x59\x90\xec\x67\xfd\x06\x53\xca\x20\xd2\x36\xc5\xe2\xd1\xb8\x99\x8a\x2e\x8b\x43\x21\x11\x96\x23\xa6\xc7\x45\xac\x61\xa8\xcd\x0a\x9f\xb6\x7a\xab\x71\x75\x52\xfc\x48\xf4\xaa\xa4\x79\x34\x47\x99\xe0\x33\x41\xa4\xb4\xb6\xe5\x08\x33\x13\x80\x60\x5f\xd7\xd7\xd0\x88\x31\xae\x97\xc2\x99\xb0\x63\x92\x11\x16\x13\x16\x51\x93\xd6\x07\xbe\x7b\x6f\xda\x9c\x09\x9c\xcd\x91\xe4\xe0\xf4\x86\x65\x07\xfb\x95\xf9\xc8\xdd\x64\x66\xc6\xe6\x71\x68\x81\x16\xb9\xe6\x13\xd7\x20\x27\x9a\x55\x86\x8f\xdd\x65\xe8\xdc\x2e\xc6\x0e\x98\x66\x09\x51\x06\xac\x1f\x96\x1c\x36\x43\xaf\x75\x69\x3f\xf4\x36\xd5\x6d\x82\xbe\xb0\xdd\x98\xb1\xb4\x23\x3a\xae\xb1\x6c\xdb\x23\x85\xbe\xc7\x2c\x4e\x74\x2b\xce\x87\x51\x3e\x8b\x90\x8a\xd2\xd7\x54\xe3\x4e\xe3\x2e\xb7\x68\x84\x73\xb9\xcb\x35\x5a\xc9\xc5\x34\x56\xc1\xa3\x22\x28\x04\xc8\xdb\x26\x62\xc2\xea\x66\x9a\x45\xe2\x84\xdb\x55\x32\xaf\xe7\xa6\xfe\x13\x82\xd1\x34\x5c\xb3\x99\xa0\x2c\xa2\x19\x4e\xb6\xd2\xfd\x2a\xc1\xf8\x36\xc6\xfd\x6b\x3a\xd5\xe4\xf3\xcd\x92\xdb\x56\x11\x91\x42\x82\xb2\x1d\xa6\xdf\xc2\x0d\x2c\x49\x36\xab\x81\xc8\x22\x9a\x04\x0b\x9e\x1b\x7f\x1c\xac\x0b\x89\x6b\x8e\xea\x71\xdd\x76\xeb\x93\x81\xcb\x01\xd0\x5b\x6c\xb6\x89\xfc\x69\x5a\xbf\x4a\x2b\xb6\x77\x13\x8c\x87\x93\x9b\xfa\x36\xeb\x76\x20\x78\xf8\xaf\x55\xb4\x73\x89\x33\x4d\x33\x16\xb6\x1f\x17\x73\xb4\x4a\x92\xad\x0a\xe6\xe2\x67\x02\xdf\xb9\xcf\x0b\x69\xbf\x1b\xc5\x12\xda\x00\xa8\xe5\x4e\x4a\x31\x04\x41\x8e\xb9\xa5\xf1\x69\xae\x65\x59\x84\x21\x0a\x01\x7d\x4d\x8e\x67\xc7\xc8\x15\x61\xe8\xa1\xfe\xcd\xcd\xe0\xea\xbc\x87\x88\x8a\xbe\x71\x31\x8b\x36\x60\x69\xc4\x14\xb7\xd2\xca\xc2\x15\xd0\x48\x89\x98\x91\xd2\x9c\x5d\x74\x13\x84\x2a\xcf\xa8\x54\x36\x7c\x56\xf3\x95\xa0\xd4\x09\x4d\xab\x62\xb6\xa1\x90\x5c\xcd\x77\x21\x0d\x2c\x65\x9e\x6a\x5d\x76\x4c\x71\x3a\x16\x3c\xd9\x85\x29\x9c\xc3\x54\x40\x5d\xf6\xe9\xf9\x14\xa7\x48\x37\x6b\x43\x41\xbc\xcb\xd1\x8b\x74\x5a\x30\xd2\x7c\x59\xdf\x9b\xc1\xbd\xe5\xbc\x0f\x36\x1e\x8d\xba\x10\x08\x48\xdf\x6f\x60\x15\x85\xd9\x78\x6c\x2d\xf5\x63\x1c\x45\x5a\xe5\xde\xf3\xa4\x82\xfa\x39\xce\x25\x60\x3b\x7a\xb1\x69\xae\xa3\x73\x37\xcc\x4c\x73\x30\x08\x06\xd6\x57\xae\xe4\x11\x2d\xda\xaf\xe9\x77\xb2\x58\xea\xd5\x55\xb8\x79\x90\xde\xa4\x62\x2e\x61\x49\x60\x27\xa5\xa9\x90\xa3\xe6\x64\x81\xe6\xf8\x89\x94\xba\x74\x09\x31\xba\xe1\x05\xcf\x45\x1d\xa3\x1b\xb1\x73\x92\x09\xa2\x25\xfd\xaa\x03\xc5\xd3\xf4\x6d\x99\x12\x3b\xba\xee\xe8\xfa\xdd\xd3\xf5\x99\x29\x94\xd4\xf7\x85\xb1\x76\x12\xe0\x4c\x63\xe3\x8c\xf3\x64\xdc\xc2\x26\xd2\x7e\xc5\x4b\x9e\xb0\x4a\xd9\x28\x80\x04\xe0\x39\xc8\x47\xa5\x6b\x93\xeb\xbb\x2e\x48\xb1\xb5\xc3\x5b\xb1\x0c\xce\x65\x16\xd4\xcb\xd9\xe5\xbc\xd7\xb5\xb2\xaa\x25\xf4\xe2\x62\xce\x99\x91\x6f\xbc\xbb\x2c\xac\x7f\x5a\x3a\x4c\x4e\x14\xa1\x6c\xa9\x1a\x9b\xa1\x67\xbd\xc0\x46\xee\xf8\x47\xce\x15\x96\xdf\x1c\x8f\x98\x16\xa2\x1e\xc9\xc2\x98\x5b\xb5\x98\xf2\x3b\x2d\x8b\x1f\x49\xc2\x24\x84\x7b\xff\xce\xb8\xe7\x34\x89\x3b\x73\xb5\x51\x4d\x4d\x11\x38\x08\xba\xf6\xbd\x40\x88\xae\x6d\xd4\x4a\x49\x45\x00\x34\xc8\xf9\x66\x2e\xf6\x99\x19\xfe\x8c\x28\x48\xb1\x56\x54\x81\xce\x14\x9b\x2a\x73\x4b\x43\x5f\x6b\xba\x32\x54\x21\x38\xf8\x49\xe2\x7c\x37\xc6\x2f\x97\xdb\x58\xcb\x19\xbd\xb6\x70\x67\x63\xde\x4f\x9c\xdd\x28\x12\x7c\xa9\x74\x1b\x96\xc8\xec\xf4\xc4\xb0\x03\xe7\xbf\x26\xec\xf8\x99\x3e\xd2\x8c\xc4\x14\x43\x04\xbc\xfe\xd7\x89\x9e\xd7\xbf\x9f\xdd\x5e\x5f\x8d\x8b\x4c\x9e\xff\x1a\xb1\x7e\x22\xb9\xcf\x52\x40\x8c\x33\x1f\x6e\x9f\x09\xe2\x44\x42\x3b\x17\xb0\xba\x16\x66\xc4\x11\x6b\x1a\x41\xcc\x23\x79\x8c\x9f\xe5\x31\x4e\xf1\xaf\x9c\x81\x2b\xbd\x0f\x7f\x9e\x25\x3c\x8f\x7f\xc2\x2a\x9a\x9f\xc0\xb9\x56\x27\xe4\x89\x30\x65\xdc\x54\x7a\xb9\x62\x48\xde\x95\x10\xad\xff\xef\x7a\xcc\x45\x52\x91\xd4\x9a\x6c\x44\x32\x85\xfe\x1f\x41\x26\x9c\xab\xfa\x4b\x8a\x4f\xa7\x92\x6c\x74\x21\x15\x4a\xda\xdd\x35\xfa\xcb\x9f\xbf\xfd\x83\x26\xa1\x6d\xd6\x78\x78\x77\x3d\xd6\xdf\xff\xfb\xb9\xfd\x5e\x6e\xc0\xee\xae\xb3\x82\xb5\x39\xe2\x31\x81\xf3\x39\x83\xdb\x4f\x80\xf3\x02\xd8\x1b\x90\x43\xb1\x8f\x75\xdc\xed\xbc\xd4\xfa\x6e\x2a\xdb\x56\x8b\x09\x2a\x76\x30\x47\x74\x84\x18\x47\xa9\x89\x35\xc5\x0c\xfd\xc7\x0f\xdf\xd5\x6f\x60\x2e\xe8\x56\x1d\x52\x0b\xd7\x10\x74\x29\xe9\xaf\x44\x22\x4d\x35\x9a\x8a\x79\xaa\xbb\x16\x44\xce\x79\x12\xa3\x67\x02\x6a\x92\x8d\x03\xf5\x5a\xb9\x20\x23\x16\x36\x01\x21\x87\x08\x27\x8a\xcf\x08\xdc\xd5\x4e\x51\x53\x44\x68\x51\xc5\x64\x69\x28\x2e\x48\xcf\x40\x7d\xdd\xfd\xc9\xc5\x56\xc3\x34\xe1\x91\x4b\x6a\xb1\x26\xb9\x78\x52\x3f\xf3\x69\xd5\xf4\x8a\x9a\x6d\xf8\xd5\x4d\xb6\x66\xdb\xfa\xa5\xb1\x49\x28\xd6\x86\x55\xdd\x99\xfa\xc1\xd0\x88\xb3\x71\x42\xd9\xe3\x56\x9b\x71\xed\x44\x39\xdd\x82\x5d\x33\xdd\xa2\xb7\x73\x1b\x0b\xc8\x06\xe7\xe3\x63\x9e\x24\x26\xb5\x25\xdc\x1e\x90\xbb\xcc\xba\x81\x30\x90\x99\x1c\x50\x12\x5b\xbf\x97\xd5\x84\x05\x61\x10\xf0\x36\x62\x93\x85\xf5\xd9\xca\x1e\x92\x79\x34\x77\x99\x79\x11\x67\x52\x8b\xd1\x5c\xa0\x88\xa7\xa9\x29\x6e\xca\x08\x52\x9c\x27\xd2\x46\xbb\xb3\x23\x85\x23\x35\x62\x45\x7f\x6b\x4e\x9e\xa9\x80\xb4\x5b\xea\x5e\x7b\x97\x4e\x51\x69\x69\xa5\xc0\x4d\xe3\x10\xb3\x01\x8c\x60\xc6\x13\x15\xa0\x3f\xf0\xe5\xb3\x64\x36\xac\x41\x33\x90\x73\x2e\xd4\x38\xae\xe5\x39\x6b\x89\xa6\xca\x08\x19\x39\x4a\x20\x68\x98\x3f\x69\xe1\x9f\x3c\x7b\xe3\xeb\xaa\x21\x68\xaa\x5e\x35\x82\x76\xc7\x68\xe5\xc8\x36\x25\xc1\x86\xb5\x32\x08\x1e\x51\x39\x26\x7c\xdd\x18\xef\xe0\xab\x33\xfd\xd1\xca\xc5\xab\x9e\x3b\x27\x04\xf1\xb8\x00\x9b\x33\xf7\xba\xcd\x08\x59\xb5\xa6\x16\x3a\xe1\xe5\x32\x47\x57\x4d\xe5\xa1\x6c\xc9\xd5\x63\x01\x93\xbd\x24\x20\x6b\x62\x31\xa1\x4a\x60\x51\x42\x0a\xf1\xfa\xa0\x24\x58\x40\x7c\xd6\x88\x19\xdc\x38\xa3\x29\xc4\x28\xa6\x12\x12\x44\xe0\x2e\x0d\x9c\x61\xa8\x9d\x12\x58\x39\xda\x45\x9e\xa3\x89\x3f\x87\xc0\xb2\x82\x34\x1c\xb3\xd3\x1d\x79\x7c\x2c\xad\x9f\xf1\x28\x2f\x04\xb9\x08\x24\x5c\x8b\xa9\x83\x28\x93\x74\x36\x57\x88\x32\x6b\x77\xc4\xc9\x8c\x0b\xaa\xe6\xa9\xec\xa1\x49\x2e\xb5\x16\x6a\x82\xd5\x4c\x3c\x0a\x51\x51\x2b\x2e\xb4\x6b\x12\x71\x5c\x69\x70\x59\x45\xd9\x82\x34\xda\x1d\xca\x41\xe5\xae\x58\x43\x38\x7d\x8f\x33\x58\x6d\x83\x42\xdd\x46\x03\x4f\x89\x4c\x1c\x20\x77\xc8\x4e\x50\x05\xa4\xe9\x1c\x00\x2a\xe4\xde\xbc\x14\xaf\x51\x88\x0b\x99\x64\x50\x41\x5c\xec\x36\x48\x5e\x65\x64\x4a\x83\xde\xe4\x9d\x4e\x69\xa6\x6a\x03\xb7\x96\x5d\x45\xb7\x01\xe6\x4f\xbb\xc5\x86\x64\x2c\xa0\x66\x40\x6a\x1b\xb1\x3b\x42\x9a\x81\xdc\x96\xf6\xde\x94\xc6\x85\x29\xd8\x44\x8f\xd5\x24\xbf\x8b\x13\xfb\x7c\x70\x77\x76\x3b\xbc\x31\x90\x13\xd7\xb7\x97\xfd\xfb\x71\x8d\x5f\xbb\xe6\xad\xcb\xfe\xed\x0f\xe7\xeb\x5f\xfb\xfe\xbe\x9c\x95\x5d\xf3\xca\xed\xdd\xea\x64\x8e\x16\x43\xac\x49\x0a\xab\xed\xe7\x14\x65\x0b\x35\xe7\xcc\x87\x28\xc4\x25\xde\x74\x84\x4c\x46\xb0\x82\x10\x22\x21\x55\x8d\xe3\xf0\x1e\xe2\x72\xd6\x4b\x98\xe5\xcd\x32\x30\x6c\x7b\x15\x8d\x36\x38\x91\x9f\x12\x3e\x01\xbf\x75\x5e\x2a\x71\xbb\x22\x02\x7d\xc7\x78\x9f\x73\x2a\xb3\x04\x2f\x96\x7a\x58\x77\xe5\x5c\xe1\x94\x40\xc4\x71\x81\x1f\xe7\x92\x45\xf4\xce\x40\x02\x93\xbf\xd7\xe9\x14\x32\x99\x14\xc5\x8a\xa0\x09\x51\xcf\x90\x37\xe7\x7e\xf5\xb6\x54\x17\x30\x22\x8f\x47\x0c\xcc\x39\x23\xbd\xc8\x71\x0e\xd1\x7e\xa3\x0f\x3d\x34\xfa\x10\x93\x27\x92\xf0\x4c\xef\xbc\xfe\xa1\xe1\x92\x19\xa4\x98\x26\x57\x5c\x79\xcb\xdc\x2e\xfb\x29\x48\x44\x33\x90\xcc\xc7\x44\xb7\xfb\x7a\x82\x47\x89\x92\x1d\x3b\x83\x31\x20\x1c\xc7\x5a\xc9\x06\x56\xe6\x86\x57\x84\x00\xb1\x60\xea\xa5\x5a\x99\x9b\x88\x14\xde\xfc\x6d\x7a\x0c\xdb\x2c\x9b\x3d\x6b\x77\x80\x3d\xbd\xa0\x4b\x76\xd7\x8b\x5c\x6b\x25\x3f\x90\x05\xa4\x60\xdc\x60\x2a\xb6\x74\xcd\xd6\xc5\xbc\xbe\x88\x93\x76\x50\xd3\xd1\x01\xb9\x6b\xeb\xd7\x61\x37\xc7\xad\x8f\xd5\x7b\x2d\x2d\xd5\xc5\x72\xf9\x8e\x5b\xaa\xad\x0f\x4d\x4a\x6a\x63\x08\x03\xaa\x2a\x5e\x19\x89\x36\xd0\xb8\xfc\x00\xef\xf4\x77\x6b\x35\x15\x2f\xae\x45\x61\x4d\x7f\xd8\x05\x9b\x1c\x5f\xcd\xc7\x27\x6b\x47\x1c\x25\x5c\x96\xb1\x72\x5a\x0f\xfa\xcc\x7e\xba\x6a\xdc\x83\x90\x7c\xb5\x5c\xb8\x51\x40\x43\xcd\xc2\x57\xc0\x20\xcd\x3d\xa3\xac\x87\xcc\xbe\xdd\x43\x14\xa2\x2d\x41\x21\x4b\x0a\xe4\x00\x16\xa3\xc2\x0d\x32\x62\x45\xcc\x8a\x44\xcf\x24\x81\x30\xb7\x88\xa7\x19\x98\xf8\xed\x70\x6d\x4b\x24\x36\x11\xc3\x3d\xc4\x73\xa5\x1b\x33\x39\x39\xce\x88\x6b\x13\x7e\x0a\xb7\x87\xf1\xbd\xd9\xe0\x77\x0f\x2c\x6d\x68\xdd\xdc\xa5\x94\xa1\x4f\x44\x41\x2b\x00\xdc\x1f\x4e\x10\xf4\x84\x6a\x08\x65\xfd\xda\xef\x70\xa2\xec\x4c\x36\xd8\xf9\x02\x38\xe5\xbb\x84\x4f\x56\x1b\x09\xa0\x71\xf4\x70\x3b\x74\x16\xc9\x22\x7e\x2a\x40\x2f\x2e\x79\x14\x07\x37\xb7\x83\xb3\xfe\xfd\xe0\xfc\x18\x3d\x48\xa2\x97\xc7\x4f\x17\xf2\xab\xbd\x4a\x62\x46\x6e\x91\x58\x98\x54\x04\x37\x19\x42\x88\x10\xa5\x2c\xe8\x35\x8c\xa3\x0c\xd3\xb2\x9a\xb0\x01\x24\x85\x5a\x43\x1d\x00\x0b\x55\xe7\x69\x23\xf3\xd6\x9d\x40\x88\x93\x1a\xbf\x9f\x28\x35\x33\xde\x74\x39\x32\x6f\x1d\xf9\x94\x23\xfa\x5e\x7a\x32\x70\xb4\xd4\x9c\x50\x81\x5a\x4d\xcb\x10\xd5\xb8\xfd\x9c\x82\x10\xf7\x4b\x9c\xad\x4e\x3f\xc5\xcf\x25\xa2\x35\xa2\x70\xe0\xbb\x7f\xe9\x73\x30\xcd\x93\x64\xbc\xd1\x81\xd7\xb3\x33\x87\xf8\x7c\xdd\x6e\xbd\xf9\xec\x1c\xd3\x1e\x1b\x46\xbf\xfb\xf6\x15\xee\x3a\x73\x73\xf8\x5b\xc1\xe4\xb3\x48\x67\x02\x0c\x27\x56\x19\x84\x8d\xd2\x95\x08\x38\x03\xfc\x42\x19\x2a\x5d\xf8\x3d\x34\xa5\x9f\x6d\xa3\x45\xf4\xbe\x7b\x35\x08\xe7\x68\x88\x16\x9d\xe3\x65\x8e\xb1\x81\x50\x74\x03\xdf\xaf\x14\x91\xb9\xd4\x02\x5f\xa4\x85\x41\x41\x22\x2e\xf4\x3d\x08\xdd\x16\x3e\x96\x75\x02\x91\xc2\x42\x2f\xca\xb2\xcf\x69\x15\x6f\x2b\x2a\xac\xc4\x58\x91\x23\x2d\x58\xae\x49\xef\xb6\x19\x40\x90\x2b\x84\x55\x00\x76\x56\xdc\xab\x13\x32\xc3\xcc\x05\x9e\x37\x0c\xd7\x5d\xe8\x3b\x30\x62\xad\xe0\x61\x48\x7e\x03\xe9\x11\x12\x9b\x4a\xe3\x90\x19\xac\xe7\xca\x71\xd8\xd8\x9e\x43\x58\xb6\x67\xec\x43\x8d\x1a\x06\x9b\x67\xf1\x21\x0d\x36\xc1\x52\x21\x3b\xa6\x26\x43\x4b\xa0\x00\xbf\xac\x89\xb9\x64\xb9\x68\xab\x9a\x6a\x12\x2a\xeb\xe8\x04\xfc\x3e\xd2\xa1\xc2\x18\x0c\x1c\xad\xb1\x39\x31\xdf\x14\x9a\xf6\x67\xdb\x56\x9c\x76\x77\x60\xc8\x4c\x20\x05\x61\xb9\xe9\x63\xd4\x67\x4b\x68\x60\x2e\xea\xac\xb4\x5e\xe6\xc6\xc5\xc9\x33\x5e\x48\x94\x09\x03\x9c\x63\xf2\x12\xdc\xe4\x41\xbf\x2c\x7f\xe4\x03\x3d\x94\x4b\x0c\x41\x60\x69\x5a\x1f\x12\xe8\xa4\xfa\xf1\x0b\x38\x2a\x2b\x31\xf3\x5e\xdd\x28\x9a\x2b\x2c\x31\x2d\x58\x9d\x22\xe3\x68\x8e\xd9\x8c\x8c\x9d\x09\x79\x1b\x5d\x50\xb7\x73\x06\xcd\x9c\xdb\x56\xea\x2f\xa7\x1b\xa3\x0e\xda\xea\x36\xe6\x55\x6f\x1e\xd5\x87\x40\x2a\x3c\x23\xc8\x8c\xa8\x95\xd1\xbd\x14\x0f\x67\xa1\x94\x41\x0b\xb2\xad\x0e\xca\x39\x02\x4d\xaa\x09\x04\x76\x5d\xe0\x09\x49\xde\x26\x2e\x04\xba\xb6\xae\x07\xf0\x45\x9a\x5c\x07\x82\x9e\xc1\x5b\x51\x61\x19\xd6\x37\x21\xf2\xba\xcc\x87\x55\xf3\x2c\xd5\x76\xdf\x61\xa2\xae\x12\xca\x36\x53\x6d\xaa\x8f\x12\x5e\x7b\x41\x1d\x91\x3a\xf3\x61\x78\xfd\x55\x2d\xe6\xdb\x0d\x24\x28\x67\xd2\x30\x8e\x9d\xeb\x99\xac\x9d\xca\xd6\x10\x0a\x2d\x6b\xfc\x0d\xa7\x88\x71\x46\x10\x95\xc5\xcb\xaa\x9c\xec\xe5\x01\x88\xb4\x02\x63\x4c\x4b\xbe\x06\x99\x2f\x2d\xf5\xd2\x76\xa4\x02\x1a\xc2\x5b\x3e\x5c\xf6\x3a\x23\x5a\x0d\xc7\x62\x01\x00\xa6\x86\x0f\x97\x65\xba\xb5\xe3\xdc\x97\xc0\x5d\x73\x01\x5a\x49\xd8\x47\x23\x2b\x8e\x40\x98\xac\x0c\x11\x19\xac\x57\xfb\x92\xfd\xc8\x42\xf1\x8c\x98\xb7\xde\x00\x39\x52\x89\x52\x9c\x81\xdf\x92\x71\x55\x7c\x65\xa0\xa5\x94\xdf\xc8\x9e\x13\xc7\xa5\xa9\x13\x16\xae\x43\x18\xf9\x7c\x8a\x6e\x00\x47\x1e\xee\x64\xe8\x7a\xdc\x42\x5b\x29\x5e\xdc\xe0\x3a\x63\xb5\x8a\x58\xc9\xab\x70\xa0\x0b\xb6\x81\xbd\xcf\x49\x2d\x05\x39\x96\x31\x4f\x1d\x5e\xf3\x8c\x3e\x11\xe6\x58\x41\xcf\xb1\x12\x3d\x28\xd7\x69\xb2\x38\xc2\x10\x7b\x4e\xe2\xd0\x1d\xb6\x9a\x91\x1b\x2b\xdd\x21\x18\xa9\xdb\x2f\xd9\x7d\x6d\x6c\x95\x41\xce\x2b\x95\x3c\x70\xd9\x02\xe1\xe1\xb6\x60\xce\x06\x1e\x00\x4b\xf4\x3b\xc6\xd5\xef\x02\xb8\x6b\x67\xd1\x82\x4f\x9d\x5d\xb2\xb7\x54\xc7\x07\x78\x9d\x25\x1c\x84\x03\xd8\xb5\xb5\x2b\xbf\x6b\xc0\x48\x91\x0d\xf1\xa2\x42\xfc\x60\x39\x35\xb2\xa9\x10\x5a\x17\xc6\x81\xaa\xb7\x69\xd5\x0a\x6e\x6a\x2d\x16\x27\xbd\x64\xfd\x96\xeb\xe2\x36\xfc\x5e\xb4\x8a\xd7\x58\x82\x89\xd8\x85\xda\xd2\xd6\xe1\x74\x6b\x90\xb1\xeb\xcd\x39\xdb\x24\xff\x36\xa9\x33\xa2\x1c\xcf\x68\x6b\xa3\x34\x40\x3f\x1f\x8f\xd8\x47\x2e\xac\xe4\x22\x6d\xf1\x89\x09\x8e\x1e\x8f\x08\x8b\x11\xce\xd5\xdc\x40\x30\x5b\x67\xd3\xc2\x52\x83\x16\xd0\x80\x6c\x3c\xbe\x0a\x95\x11\x16\xb1\x2b\x83\xf2\xc4\xdd\x28\x46\x2c\x68\x04\xca\x5b\x40\xf5\x2f\xa8\x5f\xdc\xa4\xa1\x13\xa9\xd5\xd2\xa6\xb5\xa8\xab\xcc\xbb\x54\x97\x77\xf5\x39\x2b\x55\x1a\x86\xc2\x1c\x10\xf5\xc6\xa7\xcb\xab\x33\x74\x26\x68\xa7\x16\x6b\x7a\x5e\x76\x4d\xf5\xac\x22\x66\x2c\x79\x76\x06\x5a\x40\xfc\xd6\xf1\xda\x12\x94\xf4\x34\x17\x10\xc3\x5d\xd7\xe6\xd7\xd1\x9c\x26\x85\x43\xeb\x9b\x9e\x1f\xa6\x6e\x32\x21\x4f\x24\x31\x85\x0c\x22\x01\xe9\x1a\xc6\xd8\xfa\x2d\xfa\x3f\xa6\x5a\x2d\xfa\xc3\x88\x7d\x02\x36\x9c\x24\x0b\x80\x59\xf5\x2d\x63\x55\x69\xe6\xb1\x76\x00\xca\xe6\x87\xa1\xf2\x40\xcc\x5e\xcf\xf1\x13\x19\x31\xd7\xcc\xff\x41\x8f\xe8\xf7\xe8\x0f\x4d\x5a\xb1\xcb\xba\x78\x61\xf3\xd0\xc7\x20\xa7\x21\xb8\xe5\x2c\xa3\xb4\xfc\xc6\x59\x8f\x4a\xb6\xdb\x1a\xb8\x15\x8f\x96\x4e\xd9\x13\x8f\x96\x52\x7b\xc2\x53\x8b\x05\x61\x6a\xcc\x78\x4c\xc6\xa4\xc6\xcf\xbd\x82\x49\x68\x21\xe0\x8a\xc7\x64\xad\x97\xda\x33\xd3\x9f\xc0\xe2\x25\xf3\x89\xdf\x0e\x40\x7d\xf0\x29\xfe\xde\x68\x53\xa6\xb4\xfa\x91\x7b\x48\xe2\x6d\xc6\xbd\xad\x87\xdd\xc5\x0e\xf7\xe0\x42\xb0\x03\xa8\xf7\xf2\x26\x58\xb9\x98\x8b\xea\x71\xac\x7a\x87\xf4\xcb\x7a\xe6\xf6\xb2\x0a\xc0\x96\xa1\x20\x8e\xa0\x33\xaa\xd5\x9e\xf6\x5e\x7c\xe0\x84\xdb\xb8\xb8\x0c\xf2\x6c\x2b\x1f\x57\xb1\x14\x0e\x7d\xe7\xc8\xd3\x5f\xe1\x99\x9e\xf0\xbc\x2a\xc0\xdb\x05\xa0\x32\x8c\x01\xb1\xb2\xfa\x42\xf3\xe1\x99\x49\x0b\x25\x73\x6a\x80\x18\xfa\x67\x17\x48\x9f\x0e\x9e\x1a\xb4\x32\x58\xb4\x5c\xcd\xb9\xa0\xbf\xae\xa2\x6d\x2c\x14\x9d\xe2\x48\x8d\xf7\x52\xdc\xa7\x99\x98\xfa\xb6\x9f\xe1\x79\x6b\x0b\xe9\x1d\x7e\x22\x41\x5c\x28\x44\x7d\xda\x56\xa4\xf7\xaf\x57\xf9\x2d\x17\x88\xf1\xe7\x02\xad\xcc\x7d\x0f\x00\xdd\x41\x3e\x0d\xd6\x4a\x4f\x06\x81\xdd\x92\x02\x7d\x02\x76\xd8\x57\xca\xe4\xca\x02\xee\xbc\x41\xfd\xd2\xe4\x39\xc7\x2c\x4e\xdc\x15\x82\xb8\x09\xb4\x5a\x3c\xe3\xc5\x46\xa1\x0e\x61\xb8\x6b\x91\x3c\x69\xb6\xbf\xac\x04\x01\x0f\x30\x92\x9a\x2a\x29\x7b\x75\x1a\x3c\x9a\xe4\x80\x77\xac\xd7\x64\x9a\x27\xa6\x48\x4a\xc4\x45\x7c\x3c\x62\x36\xce\x3d\xe8\x4d\x8b\x80\x4e\x6b\xc2\xca\x37\x48\x2d\x2c\xac\x2d\xc3\x62\xec\x89\x2b\xe5\xfa\xbf\xe6\x24\xdf\x53\xb6\xeb\x9b\xe6\x07\xdc\xe3\x99\x2c\x02\xfe\xcd\xda\xe8\x2b\xaf\x58\xdf\x7f\xe8\x99\xca\x20\x3f\xdc\xd9\xb9\x3d\xdc\x9a\x31\x10\x99\x22\xbc\x1b\xd9\x17\x6f\x4d\x99\x89\x3d\x18\x18\x5f\x23\x76\x6a\x59\xf4\xac\xe1\xea\x96\xfc\x9e\x7c\xb6\x34\x7a\x1d\xab\x9d\xab\xd7\x51\x11\xea\x5e\xd0\x80\xb7\xc5\xdd\xb1\xac\xab\xac\xcc\x40\x28\xcc\x79\xfe\xb6\xa8\x01\x2e\x50\x1c\x52\x9c\x9e\x05\x05\x34\xc6\x45\xf1\xb2\xaf\x37\xed\x6e\xe1\x90\xc7\x68\xe1\xcf\x68\x0b\x10\x43\xe5\x96\x70\x51\x7f\x75\x6e\x60\xd7\xb1\x0d\x95\xbb\x5e\x8e\x91\x69\x3a\x11\x86\x25\x1d\xea\x91\x58\x86\x62\x5a\x7b\x18\x7c\xd5\x9d\xb7\x31\x67\x7b\x89\xf1\xf5\x4e\x86\x27\xc7\x71\x84\xa3\x79\xe3\xa4\x26\x9c\x27\x04\xb3\x26\xa5\xa0\xf6\x71\xf5\x88\x18\x20\x61\x60\xdd\x49\x02\x68\xda\x6e\x09\x6c\x05\xd6\x42\x2b\x62\x31\x54\x41\x30\x3c\xdc\xc4\xe1\xba\x81\x2a\xc2\x9c\x41\x8d\xb2\x59\x42\xaa\x6b\x65\xcb\x55\xf4\x6c\x27\x49\x94\x27\x41\x09\xd6\x8c\x08\x3d\x6a\xbd\xc4\x4f\x84\x69\x55\xcc\x8e\xc3\xb9\xd6\x9e\x1d\xf8\x80\x2f\xbc\xd6\xf3\x5d\x3b\xef\x2e\x64\xf8\xc6\x23\x06\x07\x97\x97\x0f\xab\xa6\x55\xa9\xb5\xb7\xd0\xdc\xb7\xf5\xe9\x0c\x84\x88\x8d\x8f\xe7\x5d\xd9\x69\xb1\xf1\x99\x34\x7d\x8f\x21\xe2\x65\x67\x47\x6f\xe0\x0c\x2c\x60\x51\xcc\xc6\x3a\xe8\xbb\x97\x75\x69\x94\x63\x88\xca\x21\xde\x41\x08\x51\x13\xf4\xda\x8b\xde\x25\x45\xa9\x19\x77\x1b\xb4\x1c\xca\xca\xc0\x89\x96\x61\x10\x60\xf4\x5d\x75\x6e\x2f\xac\x54\x5f\x0e\x20\xf0\xb9\x74\x45\x48\xb1\x2d\xa6\xac\x04\x06\x24\x10\xc0\x6f\xf8\xc9\x18\x2e\xa8\x34\xc2\xbd\x2b\x29\x93\x66\x6a\x61\x2b\x10\xc2\xbd\x58\x92\xf7\x01\x5d\xb1\x2e\x58\xa1\x7a\x47\xc6\xa5\x70\x85\xba\xce\xa0\x23\x6b\xad\xa9\x6d\xd2\x2d\x74\x88\xd6\x53\x41\x47\x69\x8a\x4d\x32\xc5\x9c\xc7\x38\x69\x34\x11\xee\x81\x69\x82\x72\x54\x20\xa2\x58\xa0\x65\x25\x72\xa2\x79\x17\x4e\x92\xca\xbc\x30\x40\x0f\x28\x5f\xd0\x71\x52\x54\x9d\x6e\x1f\x3a\x91\xe0\x09\xd9\x28\x58\xe2\xc2\x7c\xb0\x92\x8a\xe0\x15\xc8\xa2\xc8\xb2\x64\xd1\x2e\x7b\x23\xd4\x7e\x6b\x01\x09\xd7\x0d\x2c\x84\x31\x5c\x79\x37\x95\xa1\x00\xb7\x1b\xa2\x24\x51\x2e\xa8\x5a\x8c\xad\x2d\xb5\x3d\xd3\xba\xb3\x5f\x9e\xd9\x0f\xdb\x18\x2a\x4e\x91\xeb\xcf\xd9\x6e\xe1\x9e\x12\xd4\x54\xab\xb2\x53\x68\xb3\xdd\x38\x57\xf3\x5a\xa0\xb2\x55\x0b\xeb\x90\xd2\xda\x0d\x55\x77\xb1\xed\xf0\x6c\x15\x9c\x31\x9f\x3a\x0c\xb2\xf6\x0b\x5b\x2d\x0f\xb4\x81\x11\xda\x41\x9d\x67\x82\x72\x61\xab\xf0\xb4\x09\xb1\x4c\xf1\xe7\x71\x86\x05\x4e\x12\x92\x50\x99\x6e\x6f\x32\xff\xd3\x1f\x57\x8e\xf6\xcc\x54\x8b\x32\x83\x4d\xf1\x67\x9a\xe6\x29\x62\x79\x3a\xb1\x52\x2e\x96\x8f\x21\xd0\xac\x83\xc5\x30\x78\x69\x6e\x80\x25\x70\x0e\x11\x40\x07\x8f\x58\x00\x22\x6f\x4d\x15\x38\x9a\x53\xf2\x04\x10\xb7\x82\x11\x29\x8f\xd1\x15\x57\xe4\x14\x5d\xe2\xec\x1e\x04\x35\x53\xbe\x75\x66\x9c\x0e\x58\x22\x2d\xb5\xe6\x8c\xaa\xde\x88\x59\xe4\x79\xb7\x2a\x27\x11\x67\x06\x7d\x38\x82\x85\xf5\x4d\x80\x15\xdd\xc1\xf0\x2a\x97\x44\x4c\x65\xc3\x62\x0b\xfc\x3c\x0e\x22\xc5\xc7\x26\x13\x67\x03\x3a\xbe\xc5\xcf\x45\x58\xb5\xa9\xcc\xbc\x4a\x72\xb7\xe1\x79\xb6\x5a\x97\x01\xdd\x76\x61\x4c\xdc\x22\xbf\xf8\x3a\x83\x26\x56\xfa\x6b\x7a\x4c\x8e\xd1\x77\x09\x9f\xc8\x5e\x61\xaa\x32\x0f\x25\x51\xb2\x67\xfc\x7e\xf0\x6f\x93\x76\xf9\x8d\x5b\xfd\x82\xef\x43\x89\xcd\x29\xfd\x6c\x00\x67\xe4\x9f\x4e\x4f\x4e\xd2\xc5\xd1\x24\x8f\x1e\x89\xd2\x7f\x81\x4c\x51\xbb\x42\x0e\xad\x0d\xd7\x61\xbf\xad\x5b\x9d\x65\xdc\xb8\x56\x14\x69\x53\xd8\x24\x81\x1a\x05\xfa\x4a\xf7\x45\x8c\x1d\xcc\x18\x67\xf5\x15\x5a\xed\x94\x45\xde\x74\xbc\x4a\xe0\xe6\xaf\xa3\xad\x98\x22\xcd\x21\xa6\xfa\x34\xc1\xb3\x8a\xca\xb2\x81\x92\x72\x9d\x52\x4b\x45\x7a\xee\x10\xfd\xa3\x4f\x59\x39\xe6\xf1\x2b\xe7\xe5\x05\x6f\xad\xf5\x62\x1d\x8f\x58\x5f\xa2\x67\x62\x6a\x2f\x43\xfe\x2f\x38\x7d\x72\x2a\xe7\x3e\xfb\x17\xcc\xd0\xd0\xa8\x81\x9e\x36\x08\x25\x56\x71\x74\x9a\x95\x73\x8b\x59\x0d\x14\x27\x92\xf4\x74\xc3\x60\x52\x75\x61\xad\xe8\x59\xe0\x2c\x23\x62\xc4\x2c\x8c\x30\x80\xe5\x73\x6e\x43\x96\x9a\x32\x37\x3a\x8d\xf2\x75\x35\xca\x60\xed\x49\x39\x39\x78\xdd\xf9\x86\x5c\xe2\x55\x2b\x5c\x97\x1e\xeb\x96\x4f\xcb\xa2\x6d\xf3\x0e\xde\xde\x6c\xdc\x72\xcc\xeb\xb4\xf3\x7e\x25\x69\x04\x4a\xbb\xa7\xa0\x40\xca\xa2\x82\xad\xb3\xf5\x79\xf5\xbd\x24\xe6\x00\x0a\x3d\x7c\x1c\x73\x22\x03\x23\x3e\xf2\xb6\xb8\x84\x4e\x89\x96\x3e\x46\x4c\x93\x71\xe8\x70\x30\x60\xf6\x0e\xdb\x5e\x77\x1a\x09\x2e\xa5\xcd\x03\x31\xed\xac\xce\x55\xdc\xa1\x6e\xa6\x41\xe4\x1f\x5e\x5f\x8d\x97\x2b\x68\x06\xcf\x5c\x2d\x4d\xfb\xb0\x16\xd0\xa2\xb1\xa9\xb5\x95\x33\x8b\xb5\xd8\xa0\x76\xe6\xc9\xd9\xc5\xd0\x17\x8c\xab\x74\xbd\x5c\x3c\x33\xac\x62\xd0\x5c\x3e\x73\x79\xc6\x41\x21\xcd\x4a\x13\x2b\x4a\x69\xae\xdf\xac\x72\xf4\xf9\x2e\x10\x95\x95\xad\x5f\xcb\x1f\xca\x34\xb3\x2e\x46\x74\x4f\xdb\xd4\x70\xad\x44\x20\x30\xbe\x74\xe0\x02\x08\x5e\xfa\x2d\xa9\x70\x9a\x85\xe9\xcd\x0e\xa3\xd7\x4e\xd3\x1c\xb5\xa6\x4b\xf0\x55\x6b\x07\x44\xd8\x04\x09\x55\x07\xb7\xb4\x15\x9b\x79\xbc\xee\x6d\x49\x82\x7d\x04\xd5\xbf\x1e\x5e\x40\xb2\x28\x82\x21\xa5\x95\xdd\x5c\xb9\xfb\x06\xbb\xff\x84\xf8\xf2\x0b\x8d\x1b\xba\x6b\x42\xb0\x87\x69\x13\x04\x4b\xeb\xfe\x86\xbc\xd9\x4a\xd6\xd9\x06\xe6\x61\x3f\x66\x93\x79\x7f\xe4\x0b\x9e\x04\x57\x8d\xad\xe1\x17\xb9\x83\x48\x85\x20\x4f\x44\x00\xed\xd8\x50\x2a\x56\x3e\xaa\x38\x11\x04\xc7\x8b\x60\x45\x7c\x1c\x87\xe9\x19\xcc\x63\x92\xa6\x5a\x81\x07\xd5\x84\xf1\x23\x9e\x39\x9d\xa5\xf4\x16\x54\xab\xa1\x53\x7d\x63\x05\x51\x20\xfa\x0b\x76\x44\x3e\x53\xa9\xb4\x5c\x51\x13\x02\xeb\x1a\x01\x89\x07\x6a\xd8\xcd\x89\xbd\xe1\x46\x1f\xfa\xdf\x5d\xdf\xde\x0f\xce\x47\x1f\x8a\x5c\x11\x97\x0c\xe9\xd1\xd7\x5c\x31\x0d\xce\x46\xcc\xc7\x29\x7b\xb0\x71\xd8\x4b\x84\xe3\xb8\x40\x11\xb1\x4a\xa4\x91\xd9\x56\x72\xe4\xe0\x54\xac\x8d\x50\x5e\xd1\xcc\x03\x64\xc4\x1d\xea\xc9\x5a\xe1\x3a\x2b\x9d\x1c\x93\xd7\xb7\x22\x01\x6b\x4f\x97\x4d\x88\x93\xac\x8c\xae\x4d\x94\x03\xf2\x64\xe4\xd9\xe9\x4a\x70\x3b\x9f\x60\x73\x09\x6f\xc6\xed\xdc\x86\x6c\xb1\xa9\x1f\xe9\x67\x12\xdf\x36\x48\x55\x7b\xc9\xaf\x6a\x15\x60\x59\xbb\x0b\x39\xa3\x9b\x68\xfc\x7e\x2a\x0f\xfa\xbb\xf6\x6c\xe9\xba\x80\x3f\x2c\xa0\x8c\x01\xc7\x58\x21\x8c\x22\x22\x14\xa6\x0c\x4d\xe1\x60\xb3\x68\x81\x00\x1c\x87\x80\x0f\xfb\x8f\x28\xa5\x0c\x50\x3a\x56\x2d\xed\x43\x79\x1e\x1b\x08\xad\x97\xc3\xab\x87\xfb\x92\xa8\xfa\xfd\xf5\x43\xa9\x66\xe8\x79\xff\xe7\x95\xb2\x6a\xa5\x85\x55\xc1\x42\xc1\x14\x8b\x9c\x58\x8b\xe8\xec\x57\xa6\x76\xa2\xc9\x42\x91\x87\xdb\x8b\x9d\xe4\xbb\x7a\x67\x59\x23\x1e\x7f\x28\x5d\xd5\x83\x11\xb4\xf9\x34\x26\xd1\x3a\xc4\xe0\xf6\x74\x64\xa2\xa0\xf4\x3a\x58\x6b\xa2\x45\x13\xc4\x12\x65\x58\x58\x3f\x54\x6c\x02\xa0\xca\x55\xf8\x8c\xe6\xb5\x0a\xad\xe5\x13\x51\x3f\xea\xab\x8f\xb3\x7d\x24\x97\x58\x51\x16\xfc\xa3\x64\xfc\x64\x1a\xde\xe0\xa4\xd9\xa1\xac\xc8\x20\x72\xc2\x32\xf4\x80\x6c\x0f\x21\xc6\xc9\x31\x02\xaa\xe9\xeb\xe6\x60\x45\x5c\x98\xa6\x56\x49\x39\xd3\x14\x69\xa0\x8b\x1d\xde\x71\xd0\x1c\x9f\x9a\x8f\x5b\xa2\x3f\x06\xc9\x02\xba\xad\x62\x29\x51\xff\x66\x58\xb3\xd6\x17\x55\x17\xd2\x97\x55\x3a\x2a\xf1\xde\xac\x7d\x03\x92\x05\xc9\xb2\x07\x81\x40\x66\x67\xba\x1b\xe4\x98\x71\xfa\xdf\x94\x23\x09\x0e\x01\x19\xbb\x4e\x65\x28\x25\xc1\xaf\x01\xc1\xde\x2c\x2f\xb4\x58\x86\x0d\x01\xc6\xc2\x01\xd9\xec\x9a\x10\x54\x6b\x39\x74\xbb\x17\x82\x6c\x71\x53\x9c\xda\xc6\x16\xec\x0d\x78\xac\x98\x4d\x1b\xe4\xb1\x1f\x0d\x45\x7b\xe8\x16\x00\xa3\x71\xc5\x4f\x5d\xc8\xb5\x45\x52\x08\xa7\x1b\x52\xdb\x66\x60\x65\xc5\xf8\x9c\xf9\xdb\xe2\xbe\xe3\x0c\x5b\xbb\x03\x28\x51\xae\x2a\x49\x5d\x11\xcb\xe3\x11\x0b\x02\x56\xa4\x51\x7b\xf4\x19\x71\x85\x80\xa0\xba\x34\x03\x10\x79\xc8\x7d\xf2\xc2\x4f\x69\x07\xaa\x80\x0d\x6a\x5e\x2e\xe5\xb3\xd4\x8f\x3d\x9d\x72\x8e\x5d\x7e\xa7\xb3\xa0\xd8\x38\xc0\xd0\xbe\x04\xed\x05\xc5\x3b\x6c\xc7\x60\x8e\x06\xa3\x05\x0e\x4a\x43\x06\x50\x0a\x31\x27\x92\x7d\xa5\x7c\xe2\x31\x4d\x16\x2e\xa4\xba\xe2\x1e\xd0\x52\x1d\xa6\xb6\xe5\xd5\x07\x7c\x0f\x48\x68\x9b\x2a\x0e\xc1\xb1\x5a\x6b\xa6\x72\x3e\x5e\xa0\x84\x30\x16\x09\x3a\x6d\xb2\xaa\x7f\xce\x48\xb4\x0d\xa0\xd1\x0d\x16\x38\x25\x8a\x88\x55\xe1\x48\xe5\xc2\xed\x20\xe2\xb8\x1d\xb4\xfd\x9a\x5d\x34\x55\x6d\xaa\xe5\x8f\xbc\x76\x7b\xb1\x0e\xa0\xc8\xcf\x62\x63\xe0\xa9\x1f\xad\xe5\x7f\xc3\x59\xd8\x7e\x8a\x69\xd8\x68\xab\x00\x8f\x6a\xd7\x39\xbd\x0e\x30\xcf\xfd\x12\xc4\x4d\x29\x5c\xe8\x40\x10\x79\xd6\x8f\xb2\x09\x8a\x67\x1d\x2f\xdd\x0b\xef\x76\x19\x0e\x2e\x33\xb9\x72\xa8\x4a\xb9\x13\x40\x25\xa0\x52\x19\x54\x9a\x7a\x38\x1d\x10\x5a\xea\x22\x24\x03\xb7\x9f\x85\x92\x2c\x0c\xba\x56\xb2\xaa\x16\x72\xab\x2c\xd7\x1a\x1e\xb7\x2f\xa8\x91\x4e\xa2\xd9\xb7\x44\xb3\x8e\x94\x4b\xd1\xb5\x9a\x3a\x89\xa8\xa0\x1e\xd9\x02\xeb\x16\x77\xa1\x3c\x41\x48\xe9\xb2\x57\xa4\xad\xd2\x0c\x57\x3f\x65\xfe\x5f\x65\x0e\xee\x88\x3a\x24\xd5\xba\x5c\xd5\xe3\xc0\x05\x05\x1e\xa8\x24\x94\x06\x6c\x5c\x0d\x8c\xd6\x84\x41\x1a\x2b\xff\xf0\xca\x38\xb0\x20\x67\x7c\xc1\x73\xf4\x4c\xe5\x1c\x29\x3e\x62\x10\x27\xe8\xbd\x01\x8a\x23\xf3\x62\x0f\xde\x02\x74\x09\x99\x4f\x52\xaa\x10\x0e\x66\x58\x32\x49\xf6\xec\x79\xd6\x1f\xc0\x8c\x6b\xe1\x0b\xea\x00\xa3\xd6\x1c\x9a\x2d\xec\x6b\x45\x23\xbb\x22\x14\x04\x31\xcd\x2f\x8b\x51\x10\x68\x3c\xa1\x86\x59\x7b\xe6\x3a\x90\x02\x54\x6f\x6d\xb0\x00\xbd\x80\xa2\x4c\xa5\xaa\xdc\x2d\xd6\xd0\xb3\x06\xa0\xa0\xd8\x88\x56\x08\x05\xc5\xeb\xfb\x80\x28\x68\x2a\x09\xb8\x2a\x65\xd5\x7d\xd2\x60\xff\x76\xa9\xd0\x8a\xbb\xc0\xf9\x50\x52\xba\x69\x94\x94\x0e\x0d\x63\xaf\x48\x08\xd8\x3e\xbc\xbc\x29\x7a\x19\xce\x78\xc4\x59\x4c\x37\x88\x17\x86\xb2\x6f\x93\x7c\xda\x67\x8b\xf5\x90\x4d\x69\x18\xa8\x6f\xed\x25\x81\x24\x52\x0f\x16\xba\x56\x65\x2d\xda\x0f\x29\x3d\x48\x09\x2d\xc3\x01\x91\xea\xed\xc4\xb8\x82\xbc\x9f\x48\x25\x8b\x9a\x5c\xd4\x11\xab\x97\x92\x56\xf3\xed\x5d\xd3\x48\xf6\x8a\x17\x18\xf0\x08\x37\x0b\x6b\x75\xfb\xc9\x07\xe2\x19\x85\x9e\x58\x90\x8d\x8a\x18\x5c\xb8\x21\x9b\x02\xa8\xb4\x70\xb4\x4d\xae\x79\x0d\xe7\xa8\x1f\xfa\x52\x92\xc7\xda\xb3\x6b\x05\x83\x3d\xaa\x9f\x4b\x37\x48\xeb\x9c\x18\x2f\xc7\xdb\x1b\xc3\x06\x75\xc7\xde\xd6\x50\x71\x27\x6f\x53\x75\x1a\x70\x78\xf7\x8f\x1e\x0c\xbe\xa4\x1e\x38\x9f\xed\xa8\xb1\x09\xc4\xf1\x58\xfd\x95\xdd\x28\xcd\xd5\x04\x53\xee\x38\xdf\x46\xb8\x32\x3d\xe5\x68\xbc\x0c\x5a\xb6\x76\x81\xf6\x83\x5c\x56\x45\xef\x78\xfb\x95\x6a\x88\xf7\xde\xb0\x9c\x7a\xe0\x37\x16\x36\x6e\x9b\x86\x16\x20\xa8\xa3\x6e\xc3\x5d\x2b\x37\xaa\x17\xd2\x73\x16\x13\xc1\x08\x56\xf3\xd7\xcb\x96\x39\xdb\xd5\xcd\x10\x8c\xef\x65\x33\x67\xec\x48\x71\x39\x81\x66\x97\xe1\xe6\x6a\xbe\x61\x22\xca\x06\x59\x1d\x45\x65\xf5\x25\x13\x40\x8d\xf9\x37\xc0\x68\xda\x84\x4a\x77\x4a\xa8\xa9\x57\xcb\x5f\x26\xb5\xa8\xc6\x7e\xb7\x94\x54\xa4\x4f\x7b\x58\x8f\x7e\xcd\x92\x7c\x11\x39\x3c\x2f\x9f\x56\xb2\xaa\xf2\x7d\x1e\x64\x9a\x48\xbd\xf6\x0a\x53\x66\xb9\xd7\xaa\xe4\x12\xad\x1b\xa4\xb8\x2e\x9f\xe4\xe0\x33\x95\xbe\xf8\x44\xa5\x2e\x6d\xa5\x4b\x5b\xa9\xd9\xa3\x2e\x6d\x05\xa1\x43\x4b\x5b\x59\xa7\xa6\xaf\x32\x64\x7b\xdf\x2a\x54\x28\x2e\x95\x05\x33\xfb\xbb\x46\xd7\xde\x3e\x35\xc3\xd9\x82\xc3\xb8\x36\xfb\x8b\xfd\xa1\x36\xb4\x6d\xe9\xb3\xea\x6c\x43\xbb\x34\x5b\x54\xdd\x3b\x58\xc4\x89\x85\x69\xb4\x81\xe7\x65\x3b\xe2\x2a\x93\xf7\x88\x7d\xcf\x9f\xc9\x13\x11\x3d\x84\x15\x4a\x39\x60\x7f\x15\x71\x4e\x70\x10\x4a\x85\x12\x4c\x3c\x0b\x46\x57\x38\x25\xb1\xa9\x12\x1b\x84\xa7\x5a\xc3\xbb\x75\x99\xd7\xa1\x11\x03\xb0\xae\xd9\x06\x17\xff\x32\x62\x26\x64\xd4\x84\x29\x82\xac\x40\xdd\xc4\x80\x60\x7e\xe7\x1d\xfa\xbf\x3b\x46\xf7\xfa\x7e\xa2\xb2\x3c\xde\x00\x9c\xb0\x69\x6c\x23\x36\x13\x3c\xcf\xbc\x2d\x94\x4f\x4c\xb9\x70\x13\xc5\xb6\xec\xd0\x87\xc1\x38\x6f\x7e\x84\x63\xc2\xa2\x35\x61\x35\x6f\x12\x4d\xbc\x15\x14\x55\x48\x40\xfa\x18\xfa\x10\x49\x9b\xb2\x60\xfc\xf0\x01\x00\xcf\xaa\xf2\x0e\x2f\x14\x24\x70\x4e\x24\x58\xce\xbc\xf7\xa4\x84\x07\x50\xd6\xe7\x6b\xc7\xb9\xca\xb6\xed\xfd\x4f\xce\x47\x53\x0f\x67\x51\x74\x6e\x63\xf7\x4c\xb2\xb1\xbd\x27\x5e\xcc\xea\xdd\x3a\x0a\xba\x89\x5f\xdc\xe4\x22\xe3\x20\x89\x25\x0b\x07\xbf\x61\x81\x10\x33\x9e\xe5\x26\x3e\x91\x86\xe1\x6a\xb5\x94\x4d\xa5\xba\xc4\x2a\x9a\x6b\xce\x5d\x20\xd7\xed\x29\x6e\xb3\xe0\xca\x2f\x6b\x09\xaf\x99\xc1\x59\xd8\x7b\x83\x6b\x68\x15\xf5\x04\x71\x98\x3e\xd8\xd5\x4b\x12\xa9\xee\xcf\xb8\x4f\x8d\x8a\x1d\xda\x8e\xdd\x27\xf6\x89\x9e\xe8\x3a\x2a\x5a\x37\xfe\x76\xb4\x55\xae\x52\xb8\xf7\x88\xd0\x1d\x0c\x82\xe7\x16\x78\xad\x78\xd1\x56\xb5\x6e\x08\xe3\x10\x74\xbb\x6c\x2e\x5b\x7b\xe3\x49\x8b\x23\xde\x2a\x9d\xe2\x4c\x2b\x11\x8a\xeb\x5b\x52\xcc\x8c\x1c\x6b\xe2\x9d\x11\x46\xb9\xa0\xee\xec\x57\x72\xfb\x9b\xa9\x03\x6c\x7b\x27\x61\x9d\xb6\x08\x07\x05\x3a\x4d\xe0\x06\x8e\x54\x8e\x7d\x80\x29\xd0\x44\x42\xd9\xa3\xee\xcc\xe0\x18\xb8\x00\x09\xe1\xc4\xbb\x9a\x3d\x5d\x4b\xd8\x3b\xec\x32\xae\xc3\xa9\x6c\x75\xd2\x28\x9b\x05\x20\x97\xf5\x96\xf4\x36\x15\x55\x6a\xbf\x6c\x57\x15\xa6\xf6\x53\x27\xfb\x6c\xf3\xed\x0a\x10\xae\xad\x63\xec\x4b\xf9\x0a\x36\xa0\xd9\x4a\x4f\x21\xfc\xa8\xb5\xdf\x01\x38\x33\x85\x80\x0b\x6c\xa5\xa9\xff\xf2\x7f\x99\x0a\x7c\x66\x69\xfe\x0b\x71\x31\x62\xe6\xf7\x9e\xaf\x7e\xa3\x5f\x28\xf0\x91\x71\x4a\x0a\xa8\x53\x51\x06\x45\x04\x68\x18\x0b\x6a\x67\xb0\xb0\x7d\x15\x0b\x3d\x86\xc7\x7c\x42\x04\x23\x7a\x68\x0e\x44\xc2\x33\xb3\x14\x33\x3c\x03\xe4\xed\x1e\x44\x38\x82\xb8\x5a\xa8\x22\x86\xa4\x4d\x8d\x58\xe0\x56\x9a\x59\xda\xbc\xe9\xa2\x56\x3a\xf4\x69\x44\x59\x0b\xfc\x5b\x84\xc9\xd4\x53\xff\xad\xed\x7f\x3b\x89\xfd\xbe\x7f\xf7\xc3\xf8\x76\x70\x77\xfd\x70\x7b\x56\x12\xdb\xcf\x2e\x1e\xee\xee\x07\xb7\xb5\xcf\x8a\x9c\xe3\xbf\x3e\x0c\x1e\x1a\x1e\xb9\x06\x2e\xfa\xdf\x0d\x2e\xc2\x57\xfe\xfa\xd0\xbf\x18\xde\xff\x3c\xbe\xfe\x38\xbe\x1b\xdc\xfe\x38\x3c\x1b\x8c\xef\x6e\x06\x67\xc3\x8f\xc3\xb3\xbe\xfe\x32\x7c\xf7\xe6\xe2\xe1\xd3\xf0\x6a\xec\xc2\xc7\xc3\x47\x3f\x5d\xdf\xfe\xf0\xf1\xe2\xfa\xa7\x71\xd0\xe5\xf5\xd5\xc7\xe1\xa7\xba\x59\xf4\xef\xee\x86\x9f\xae\x2e\x07\x57\xf7\x2b\x15\x91\xfa\xd5\x68\xac\x9d\x1e\x5c\x64\x81\xd1\x28\x10\x93\x26\x0b\x4b\xda\xf4\x57\xf0\x5d\xdc\x18\x7a\x3c\xea\xb9\xbf\xce\x81\x50\x8f\x34\x0b\x74\xbe\xc3\x82\x7b\x8c\x98\x77\x40\xfb\x4b\x55\xe1\x99\x74\x29\xe4\xa5\xd1\x9e\xa2\x3e\x9c\x15\x50\x18\x4a\x9d\x42\x86\x8a\x1f\xa9\x0b\x59\x00\x3a\x4c\x68\x4a\x21\x7a\x01\x1d\xa1\xea\x86\x97\x1b\xb4\x73\x82\x21\x58\xdf\x66\xbc\xea\x34\xc8\x6a\x76\x3a\x50\xca\x29\x72\x1c\x9a\x18\x73\x82\xc1\x10\x5e\x30\x9c\xd2\xa8\x9a\x4a\x03\x30\xba\xa8\x80\x8c\xa9\xb6\x58\x22\xb0\x72\xcb\x73\x82\x7e\xf8\x4b\x31\x28\xf0\x60\x58\xcd\x3b\x5f\xaa\xd3\x69\x1f\x88\xdc\xac\xea\x3a\xf2\x2c\xf5\xe4\x8e\xb9\x35\x2d\xc3\xb9\x35\x06\x62\xe3\x6e\xca\x59\x00\x1b\x57\xf2\x3d\xe9\xe3\x6d\x66\x54\xa1\xf1\x53\x74\x07\x90\x35\xb2\x50\xdd\xf5\x2e\x66\x49\x3e\xa3\x0c\xd1\x34\x4b\x80\xc7\x18\x7d\x7e\x42\xe6\xf8\x89\x72\x57\xdd\xc5\x14\xc1\x81\x75\xb4\xa2\x15\x3a\x42\x8d\x07\xe5\x14\xf5\xe3\x58\x96\x19\x5c\x89\x72\x1c\xcb\x3c\x2a\x0f\x3b\x44\x7a\x63\xb1\x67\x9b\x15\x3a\x2a\x8e\x1c\xac\xd8\xfe\x41\x79\x96\xd9\x61\xf9\xee\xdd\xe1\xfa\xd7\x2b\x38\x76\xa4\x3c\xde\x4a\x18\xb8\xc7\xf2\xd1\xb1\xe6\x75\x02\x81\x83\x47\xda\xad\x47\x8b\x93\xd4\xb6\x53\xbf\xb2\x63\x38\x68\xdb\xf5\xd9\x88\xee\xbd\xa6\x4b\x37\xe3\xa4\x52\x10\xb0\x75\x7f\xa5\x82\x82\xb5\x9d\xed\xd5\xdb\x53\x2f\x8d\xc1\x91\x1c\x7b\xfa\xdf\x60\x1e\x37\xf0\xe9\xb5\xff\x72\xa5\xc8\x36\x0e\xd6\x6d\x53\x1f\xd0\x52\xb2\xb5\xf5\x03\xad\xa4\xc3\x3d\xc1\x74\xb5\x17\x06\xa1\x2e\x09\x8d\xc0\xdd\x87\x29\xb3\xd5\xaa\x88\xf7\x47\xb9\xa2\xfd\xfa\x1c\xfb\xc2\x93\x78\xc2\x9f\x4a\xca\x65\x4a\xa4\xc4\x0d\xc0\x33\x81\x49\x6c\x17\xc6\xe0\x4f\xa8\xfd\xb0\x25\x3d\xb9\x33\x79\xaf\xbf\x5a\x65\xf4\xb9\x0d\x35\x63\x37\x51\x2d\xb0\xc6\x2e\x62\x1a\x5d\x9b\xbc\x49\xcd\x5f\x7a\x45\xc0\x11\x17\x41\x1c\x56\x93\xfb\xa7\xa5\x59\xad\xba\x60\xb5\x45\xc8\x42\x17\xde\xe6\x71\x4a\x41\xeb\x5b\x23\x9b\x5b\xbf\x0a\x2e\xaf\xcf\x06\x54\x57\xf2\x77\x86\x55\xfb\x23\x9e\xa6\x46\x2e\x28\xd9\x52\x7b\x08\x9b\x74\xd5\x42\x9a\x92\x79\x34\x37\x5e\x26\x7d\x65\xf4\x46\xec\x39\xd8\x90\x52\x40\x77\x3f\x6c\x09\x50\x61\x3f\xeb\xe3\x46\x9f\x4a\x61\xf2\x20\x32\x52\x88\xd9\x0e\x08\xc1\x38\x04\x8b\xea\x6a\x6b\x08\x3c\xd8\xaf\x1d\x48\x7d\x8b\x0a\xa4\x95\xf5\x6d\xaa\x43\xea\xe7\x16\x94\xff\xdc\x41\x53\x6e\x3b\x84\xa0\x02\x69\xdd\x08\xf6\x50\x80\xf4\x55\x61\xda\x7d\xda\xad\xc9\xd2\x4e\x27\x16\x6b\x44\x4f\xd7\xad\xf6\xef\xdd\x8c\x7e\x6f\xfc\x0e\x79\x03\x38\x4d\xd0\x9a\x47\x6a\x47\x47\x5a\x66\x75\xa0\x09\x36\x10\x43\xa2\x23\x83\xfe\xf8\x15\x44\xcc\xf6\x6f\x86\x5f\xf5\xd0\x57\x61\xd6\xe0\x57\x5b\x1d\x40\x3b\x6e\x5b\x84\x14\xb4\xa9\x52\xea\x48\xf9\xd8\xc1\x5e\x55\x4e\xa2\xdd\x33\x7b\x10\x51\xd3\x39\xd4\x5f\x96\xbe\x01\xe7\x34\x54\x87\x34\xfe\x5b\x1f\xb8\x6e\x5d\x40\x46\xc6\xa5\xb2\x66\xed\xe2\x11\x9b\x2c\xaa\x4e\x9e\x9e\xf7\xf2\xb4\x3e\xa5\x3b\x57\x3c\xd4\xed\x2d\xa7\x99\xef\x39\xa0\x7a\xf5\x7d\xb0\x26\x71\xbd\xef\xcb\xf2\x14\x5c\xac\x29\x4a\xa1\xcb\x44\xa8\x9b\x55\xc9\x5e\xe6\x16\xb3\x76\x53\xd6\xc9\x3f\xef\x8d\xdc\x5a\x84\xef\xf7\xeb\x56\xc4\x66\x6e\x34\x08\xd7\x1d\x95\xbd\x2c\x95\xed\x23\x73\xa5\x3c\xb8\xcd\x2f\xd0\x33\x23\xc7\x05\xcd\x38\x83\xab\x56\x26\x3c\x83\x2f\x95\xc5\x5c\x5f\x86\x7b\x43\x9f\x6f\xb0\x26\xeb\x9d\xbe\x77\x26\x70\xc0\xb8\x5d\x97\xc7\x5a\x1d\x6a\x5f\xd9\x62\x52\x9c\x9a\x2c\x55\x45\x53\xd2\x33\xd5\xcb\x8a\x60\x07\x7b\x5e\x81\xdc\x4c\x8c\xd2\x9c\x50\xe1\x3a\xb1\x58\x91\x1b\xc1\x1a\x6c\x28\x8d\x37\xd1\xc8\x0e\x91\x26\x57\xfd\xcb\xc1\xf9\x78\x70\x75\x3f\xbc\xff\xb9\x06\x07\xb4\xfc\xd8\x41\x81\x06\x2f\xdc\xfd\x7c\x77\x3f\xb8\x1c\x7f\x1a\x5c\x0d\x6e\xfb\xf7\x6b\x60\x42\x57\x75\xd6\x04\x41\x99\xcb\x3a\xf5\x6d\x13\x18\x4a\x67\xe6\xad\xe9\x7d\x19\x2c\x34\xe8\x84\x92\x06\xc0\x50\x03\xe1\xc0\x62\x22\x50\x4c\x9e\x48\xc2\xb3\xc2\xac\x5a\xbb\x60\x01\x92\x68\x4d\xfb\xab\xd0\x44\xa1\xcd\xea\x1a\x9f\x22\x53\x0a\x31\xa8\x06\xed\x1b\x04\x91\x0f\x0b\xc2\xbe\x52\x88\x7c\xce\x12\x1a\x51\x15\xa4\x78\x72\x61\xdd\x2b\xc6\x7d\x08\xd1\xa9\x6b\x88\x6b\x6f\xd1\x28\x7b\xd7\xf9\x43\x4f\xfa\xb2\xb6\xef\x4f\x94\x47\xb6\x5b\x5b\x08\x6a\x0f\x8a\x7d\x83\xd3\x78\x09\x78\x6f\x8b\xd1\xbd\x84\x79\x60\x39\x8f\xc9\xa6\x69\x36\x80\xf2\xd5\x0f\x72\xfd\x6d\xb8\x2a\x4e\xa6\x74\xae\x57\x07\xca\xb4\xa3\xd4\x37\x0e\x77\x29\xd5\x9d\xdd\x03\x82\x8a\x8d\x5d\xdf\x30\x60\x61\xa9\xee\x0f\x33\x31\xa7\x18\x09\x92\x72\xa5\x15\x30\x13\x11\xd0\xd3\x42\x15\xc5\x09\xfd\x15\xb0\xc6\x04\x39\x0e\x22\x28\x1c\x42\x5b\xe1\x3e\xb0\x38\x20\xc7\x23\x76\x3e\xb8\xb9\x1d\x9c\x69\x86\x74\x8c\x1e\x24\xc0\x88\x95\xa6\x7e\x6e\xc9\xdb\x88\x63\x61\x24\x83\x4d\x87\x6a\x8a\x1f\x15\x82\x8b\xf6\xfc\xc1\xf7\x37\x80\xef\xea\xc9\x1b\x9e\x95\x6c\x53\xce\x00\x70\xd5\x58\x34\x3c\xc8\x19\xd8\x3d\x4c\xa5\x7a\x22\xf0\x73\x69\x45\x42\x18\x15\x90\x44\xca\xab\xfe\x82\xab\xad\x89\x7d\x73\x10\x99\x22\x1f\x62\xaf\xd3\x6c\xf0\x0f\xcc\xf1\x32\x5a\x6f\xcb\xba\xcf\x37\xf0\xed\xaa\x31\xde\x43\x14\xa0\x54\x05\xf0\xac\xc1\xa6\xf5\x05\x96\x5a\x8d\x51\x2a\x2c\xde\x02\x15\xa6\x72\x3a\x27\x64\x86\x19\x12\x39\x63\x15\x24\xe2\xd0\x18\xb8\x1c\xd7\xb3\x76\xa0\x35\x6b\x86\x53\x9e\x33\x53\x21\x58\x8f\xaa\x66\x30\x32\x23\x4c\xad\x19\xcc\x5b\x61\xfe\x54\x86\x7a\xb8\xb0\x3f\x35\x03\x6d\x42\xfe\xa9\x73\x79\x41\xf1\xf4\xcd\x24\x07\x17\x37\x58\xf2\x7b\xe9\x43\xe5\x45\x88\x7a\x43\x00\x96\x8f\x3b\x77\x77\x8f\xe5\xe3\xfa\xae\x62\x12\x3d\x6e\x7a\x1f\x56\x93\x47\x13\x5b\x7b\x7e\xc9\x1e\xb9\xd0\x4f\x6d\x15\xa0\x39\x41\xba\x2f\xf4\xfd\xfd\xe5\x05\x9a\x52\x2d\x9a\xeb\x9b\xef\x0a\x6b\x35\xe0\x41\x24\xce\x74\x6d\xcd\xbf\xb9\x48\xbc\x78\x00\x1b\xef\xa4\xbd\x40\x90\xd1\x97\x2e\x9e\x11\x67\x8f\x16\x16\xd8\xb1\x52\x05\x48\x60\x16\xf3\xd4\xcc\xe3\x44\xe6\xd3\x29\xfd\x7c\xac\xb0\xf8\xa6\x61\x3d\x4c\xe0\xc7\xf8\xef\x7c\x32\xd6\x23\xda\x51\x56\xa8\x6b\x0e\xd9\x92\xe8\x7e\xd9\xec\xcc\xce\xcd\xbb\xff\x97\x4f\x00\xb4\x00\x70\x17\x9c\x03\xd1\x06\x53\xd8\x57\x1c\x25\x15\x35\xc2\x4b\x78\x3a\x11\x17\x82\x58\xac\x03\x53\xc6\x36\xc3\x42\x51\x30\x28\x3b\x3c\x9e\x52\x21\x86\x62\x8b\xc2\xa2\xfd\x73\x5c\x80\x9e\x4f\x08\x01\x1f\x54\x46\x93\xcd\xf4\xf2\xb3\x92\xfb\xb4\x72\x02\x6d\x70\xac\x85\x68\x05\x9b\xd1\x5a\x29\x70\xf0\x44\x98\xda\x8b\x0a\x05\x4d\xd4\xa0\x2f\xb4\x73\x84\x98\x6a\xb2\xc3\xf3\xe2\x72\x73\x51\xc7\x61\xe0\x95\x12\x18\xee\x68\x9b\xcb\x65\xbd\xfe\x4d\xb1\x08\x4f\xad\xdd\xdb\xf0\xea\xf2\xba\xac\x89\xde\xb7\xab\x5d\x14\xeb\x2f\x22\x6f\x5d\x15\x89\x2d\x31\xa3\x24\x31\x86\x96\x00\xab\xc4\xea\xcf\xd5\x3d\x37\x7d\x6a\xda\xaa\x74\xb9\x76\xcb\xb7\x00\x48\x2a\x35\xf3\x89\x80\x94\xb5\x8f\x58\xf9\x4d\x20\x18\x60\x20\x0f\x22\x81\x28\xef\x95\x86\x36\x53\xd1\x5e\x73\x3e\x2f\x7c\xe2\x16\x6a\x84\x19\xcc\x0a\x08\x05\x2d\x96\x5a\x88\x82\xd5\x02\xec\x46\xb2\xeb\x8b\xcf\x2b\x50\x8f\x56\x4c\xcc\x81\x29\xb6\x10\xcd\xf7\x05\x9c\x51\x05\x85\x08\xd6\x17\xac\xdc\x60\xeb\x2c\x2b\xba\xc0\xe1\x17\x26\xb4\x17\xac\x5d\xb8\x74\x91\xd1\x5f\x35\xfb\x15\x44\xce\x79\x12\x37\x4f\x78\x19\x06\x63\xaf\x9a\xc8\x26\xf3\x75\xcb\xfe\xb2\x13\x0e\xf4\xc6\x35\x33\x7e\x39\xcc\x0f\xff\xd6\x7e\xe6\xba\x47\x05\xb9\xa5\xe6\x58\xbc\xf6\x92\x33\x70\x92\x4e\x53\x50\x7f\x0b\x89\xb5\x22\xdd\x94\x84\xd7\x95\x13\x74\xe1\x01\x3e\xf4\xc8\x82\x36\x5b\xa9\xc9\x0e\x0d\xe4\x9f\xc2\xce\x1b\x02\x28\x16\x7e\xb3\x42\x4d\x5d\x18\xc7\xbf\xff\xbc\xf0\x5e\x14\xf9\x28\x54\xc9\xa2\x74\x25\xd2\x52\x54\xd3\x81\xd4\xf3\x1c\xe7\x62\x23\x3c\x94\xa2\xf4\xc1\x26\x77\xb2\xcd\x84\x2a\x86\xa5\x17\xa1\xfe\x22\xb4\x15\x69\x40\x41\xb2\x71\x6e\xb2\x04\x27\x69\x0f\xb9\x59\xc6\x5a\xe5\xbd\xf9\xba\xdd\xd5\xa7\x0b\xfa\x4f\x21\xa4\xbe\x94\x6b\xb7\x44\x81\xa5\x09\x74\x00\x85\x9b\x03\x14\xda\xf2\x44\x9e\xf6\x00\x4e\x54\x09\x40\x9d\x28\xbc\xb7\x55\x91\xd0\x7a\x5c\xd6\xa5\xdd\x95\x76\xa7\x55\x8e\x5d\xe9\x0b\xcd\x4b\xce\x77\x74\xff\xea\xc9\x2c\xc6\x90\xb5\xbc\x4b\x08\x58\x69\xfe\xc6\x75\x05\x6d\x92\x18\x19\xe8\x0c\x03\x9f\x6e\xd7\xce\xbb\xed\x32\x2c\x08\x53\x23\x76\xab\x47\x61\xbe\x28\xc2\x80\x5c\x10\x98\x2b\x69\x01\x85\xaf\xa7\x08\xdb\xaf\x60\xd1\x9b\x2e\x4f\x39\x36\x2f\x81\xd1\xe1\x05\x11\x1e\xbe\x33\xef\x18\xc0\x0d\x0b\x38\xa5\xa7\x4a\xa7\x85\x81\x46\xab\x06\xd1\x9c\x02\xde\x45\x4c\xa4\xbd\x90\xa8\xb2\x80\x26\x5e\xb1\xca\x89\x03\x71\x87\xcf\x3c\xff\xaa\x63\xd8\xce\x04\xc4\x9c\xd9\x54\x8e\x58\xd0\xc7\x0a\xcc\x5f\x63\x86\xd9\x52\x49\x84\x7d\xa6\xb1\xf7\xba\xc2\x3f\xcd\x0e\x71\x41\x67\x94\x05\x95\xd7\xec\xf4\x52\x9c\x81\x6f\xc1\x9c\x41\x3e\xf5\x77\xda\xbd\x4d\x71\x39\x86\x11\xff\xcf\x7f\xff\xed\x98\x36\xb9\xde\xe4\xd8\xae\xc0\x21\xec\xe4\x66\xdb\x12\xee\x7c\x00\x61\xd3\x00\x8d\x12\x58\x2b\x64\x29\x6d\xa7\xf8\xd5\x5e\x6e\x9a\x68\xb8\x9a\x9b\x58\x83\x32\xb9\x83\x63\x4e\xe4\x2b\xce\x86\xb9\x62\xde\x76\x2d\xa9\x84\xd4\x14\x3d\x12\x73\x92\xbd\xe9\x87\x32\x45\x98\xad\xd8\xb6\x64\x80\x1b\xb1\xe2\x13\x69\xc0\x78\x0c\x46\xb4\xf9\xa1\x58\x9d\x96\x0b\xb3\x8a\xf7\x17\x61\x3a\x45\x2c\x46\x10\x0a\xef\x6a\xf0\x98\x10\x66\xdd\x7e\xe5\xa6\xad\x70\xee\x00\x2c\x75\x97\x90\xe1\x39\x96\x2f\x17\x17\x56\x5b\x3b\xce\xf8\x49\x42\xe1\x61\x5d\x84\x98\x19\xa4\x49\x35\xd6\x1b\x92\x4b\x22\x0c\xa7\xf3\x58\x6c\x96\x12\x42\x28\x58\x08\x10\x5e\xe3\xe8\x26\x29\xa6\x1b\x25\xb3\xe8\xf7\xeb\x81\x6a\x4b\x6e\x24\x3c\x23\x62\x1c\xe7\x6a\xe9\x58\xac\x4a\x30\xd1\x1f\x9d\xe7\x6a\xb1\xbe\x7d\x99\xe0\xe5\xda\x59\xab\xc0\x81\xf5\xfb\x0d\xcd\xae\x97\x98\x83\xf8\xb2\xb2\xd4\xdc\x00\xbd\x4b\x2a\xd0\xbb\x36\xe0\xb9\x64\xfc\x82\x1b\x98\x29\xc0\x73\x2c\x34\x29\x7b\x45\x9b\x02\x01\x30\x72\x34\xc9\x0b\x63\xa1\x2f\xb9\xa2\x55\xe2\x8f\xa6\x66\x11\xe8\xe4\x66\x00\x11\x64\x9b\x91\xcf\x19\x97\xa4\x94\xfe\x58\x53\x46\xc5\xa6\x2f\xdb\x61\xd4\x0b\xeb\xc5\x47\xbb\xcb\xea\x6f\x0e\xa2\xbc\xbc\xe1\xcb\x53\xae\xa7\xc0\x9d\xc4\xc1\x88\x66\x54\xd3\xce\xb8\xf6\xa4\xbd\x5c\x29\xef\x22\xa0\x10\x40\xd8\x54\xb2\xe8\x21\x3f\xbd\x0a\x41\x24\xe4\x89\x80\xa3\x04\xc6\x18\x16\xcb\x29\x5b\x6c\x1b\xd8\xc9\xba\x03\x54\xe4\x1e\x03\x5b\x40\x71\x75\x04\xe5\x0c\xcd\x3a\x5a\x2c\xe7\x9e\xed\x9c\x26\x59\x17\x15\xb5\x81\x78\xde\x0f\x8b\x06\x2d\x88\x42\xe4\xb3\x22\xb6\xac\xf0\xbd\x4b\x64\x5d\xce\x7d\x41\xf5\xb9\x78\xcd\xb2\xe3\x8b\x17\x78\xef\x3b\xf8\x02\x97\xa9\x1b\xbb\x2b\xdf\x66\xae\xce\x31\x8b\x6d\x3a\xb6\x55\x32\xb4\xb0\x05\xb3\x33\xd6\x36\x9f\xa8\x62\x93\x8a\x83\x6a\x0b\xa6\x4d\x53\x16\x02\x2e\x32\xa7\x30\x6a\x95\x05\x62\x7b\xb8\xd0\x92\x7b\xce\x14\x4d\x34\x71\xd8\x31\x48\x34\x85\xb0\x4c\x8b\x92\x09\x69\x15\x4d\x40\x8c\x54\x4a\xca\x66\x63\xbb\x92\x2e\xb3\xb8\xdd\xc5\x50\xa6\xa9\x4b\xd3\x94\xf9\xf1\x3b\xd7\xd0\x6a\x77\x89\x21\x6b\x00\xc9\x73\x39\xcd\xa0\x71\x30\xee\x26\x63\xd1\x0d\x5d\x2a\xf4\x98\xc6\x66\x29\xa8\xa9\x5e\x0f\x13\xdd\xc4\xa3\x02\x32\xdd\x32\x88\x48\x71\x85\x48\x9b\xa7\x6c\xb2\x0f\x21\x4d\x44\x35\x24\x62\xcb\xc6\x04\xec\x21\xf3\x22\x9a\xad\x9d\xe7\x61\x26\x2a\xb9\xdc\xd8\x75\x67\x73\x61\x70\x92\x4c\x70\xf4\xe8\xb5\x30\x6f\x8b\xe0\xc2\xd5\x1e\xd1\x72\x25\x14\x57\x34\xc4\xa5\x07\x1a\x81\x74\x13\xfa\x81\x0d\x8c\x94\x1d\x76\xd1\xb9\x59\x35\x8b\xcf\x67\x70\xc3\xcc\xe8\x4d\x62\x4d\x4c\xb2\x84\x2f\xd2\x86\xfb\xac\x9a\xbf\xba\x4b\x98\x58\x53\xfa\xec\x5e\xaf\xb2\x0a\xd3\xdb\xf8\x32\x5b\x4a\x86\xdb\x03\xa8\xd9\x06\x5c\xf2\x53\xc2\x27\x60\x52\xb5\xe6\x07\x97\xe0\x15\xe4\x19\x55\xcf\xf3\xa6\x69\x67\xd5\x13\x49\x65\x96\x68\x65\xa6\xb9\x07\x93\xf0\xf4\xb2\xfb\x66\x00\x32\xd6\x5b\x07\xdb\xa7\x0a\xd4\x7e\xfe\x12\xf0\xd9\x17\x4e\x12\x30\xef\x1a\xfe\x55\xb1\xb2\x99\x4c\xd3\x63\x13\x7e\xa0\xf8\x88\x29\x3c\x73\x9b\x6b\x85\x4b\xfe\xcc\x88\x90\x73\x9a\x95\x8a\xae\xee\x9c\x9b\x60\x29\xda\xfe\xc7\x44\xe2\x6f\xc0\x3b\x79\x76\x64\xe0\x71\x34\x7d\xc8\x0c\x47\x85\x55\x34\x4a\xb0\x94\x74\xba\x08\x50\x6d\x7c\x98\x37\xe4\x0e\x96\xcd\x08\x41\x9d\xc3\x3a\x46\x63\xc6\xb7\x1f\x58\x87\xdd\x53\x5a\x1f\xca\xc7\x8f\xc6\x21\x7c\xa0\xbe\x4f\x96\x21\x8c\xdc\x4d\x6d\xa1\x8c\x1a\x61\x90\x0d\x7e\xc5\x76\x30\x0c\x2b\x91\xa7\x9a\xcd\x08\x85\x30\x69\x87\x6d\x15\x19\x8f\x36\x13\x22\x31\xa9\x52\x1e\x2f\x6c\xbe\x56\x9c\x9c\x5d\x58\x13\xa7\x47\xaa\x01\x40\x8f\xe2\xe3\x1e\x92\x3b\x21\xbc\xb5\xa1\x8b\x73\x92\x90\xbd\x84\xfb\x6f\x41\x24\xd5\x40\x95\x80\x3c\x56\x92\x46\x51\x07\x64\xbd\x71\x61\x8b\x2c\x84\x06\x9c\xa8\xfa\xa1\xff\x64\x06\x6a\x13\x11\xea\x76\x11\x0c\x83\xb0\xca\x6d\x75\x97\x3a\xc0\x49\xd3\x82\x25\xb9\xa2\x9b\x12\x5d\x15\x9d\x7a\x79\xe5\x10\x49\xed\x8d\xe3\xf5\x97\xc6\xf5\x89\xb4\x09\xdc\x59\x7b\x00\xb6\xe2\x40\xcb\x7c\xba\x1d\x5d\x58\x07\xaa\xe2\x68\x46\x00\x10\x88\xb2\x98\x3e\xd1\x38\xc7\xc9\xbb\xa2\x89\xbd\x65\x1b\xed\x69\xf5\xeb\x0f\xf9\x66\xa7\xf6\x8e\x28\xe9\xae\x84\x25\x0c\x4f\xbb\x39\x07\xb8\x05\x87\x71\x2c\x8d\xe0\xfa\xc5\xcb\x2d\x3b\x23\x74\xd8\x91\x59\x9c\x8a\xdf\x90\x40\x65\xe6\x18\xdb\x2f\x3c\x26\x45\x09\x8d\x0d\x97\x10\x2c\xcd\x1a\xbd\x3d\xd7\xab\x92\xf6\x97\x2e\x7a\x6d\x4e\xe3\xd5\x51\x15\xd4\xdd\xc9\x83\x9b\xc9\x83\x0e\xe1\xf5\x00\x2f\xff\xa6\x63\x70\x98\xf7\xcf\x01\x08\x87\x4b\x57\xe2\xfe\x44\xc4\x77\x44\x26\x07\x21\x29\x2e\x6d\xc5\x6b\xc9\x8b\x47\x0e\x62\xab\x00\xac\x3a\xdc\x2d\x3a\x8c\x93\x7c\x6b\xdd\x40\x2f\x77\xc1\xae\xa7\x97\xbd\xd0\x07\xa0\xcd\x62\x48\xca\xcf\x6d\xf9\x1a\x38\xbc\x41\x2c\xdd\x92\xef\x61\x4d\x94\xa2\x1d\x5e\xab\xf8\xc4\xa5\xe5\x7c\x89\xed\xb5\xe9\x8d\xad\x37\xf7\x25\x49\x6d\xd3\xb1\xec\x43\x47\x79\x61\x2f\x8e\xa5\xc6\xe0\x83\x2e\x58\xb8\xdd\x2d\x5a\x83\xeb\xe4\xb6\x6c\x9f\x87\xac\xae\xe6\xe0\xee\x18\x12\x2e\x7b\x73\x9c\x09\x32\xa5\x9f\xb7\x12\xc5\x6f\xe0\x53\xab\x5e\xea\x65\xae\x54\x31\x04\xf7\x0c\x54\x3d\x0c\x02\x1a\xed\x4a\xdb\x4a\x67\x23\x56\xe4\xbc\xda\x84\xd7\x47\xb2\x40\x5c\x94\x7e\xda\x16\x81\x74\xff\x15\x17\xcd\xbe\xce\x95\xca\xe4\xe9\xc9\xc9\x8c\xaa\x79\x3e\x39\x8e\x78\x6a\xe2\xf0\xb9\x98\x99\x3f\x4e\xa8\x94\x39\x91\x27\x7f\xfc\xc3\x1f\x8a\x2d\x9e\xe0\xe8\x71\x66\x30\x9d\x96\xfd\x4e\xe5\x2d\x27\x58\xee\x16\xd9\xe3\x92\x13\x5f\x38\x49\x3d\xe8\xc6\xa5\x05\xeb\x6f\xa4\xc2\x69\x16\x86\x82\x9a\x9a\x85\x52\xe1\xa2\x52\x0a\x64\x9c\xea\x69\xa2\x39\xce\x32\xc2\x9a\xcd\x0e\x26\x85\x78\x07\xd6\xe3\x92\x90\xed\x08\xc9\xe7\x2c\xc1\xac\x8c\xfd\x01\x65\xbf\x04\x89\x08\x53\x16\xf4\xa1\xa8\x47\x0f\xd4\x68\xf0\xa7\x0c\xff\xdf\x2c\xc9\x14\xe6\x48\x65\x51\xcf\xcf\x0d\xc7\xd6\xd6\x75\x15\x57\x71\xb0\x74\xd5\x7a\xc6\xc5\xda\x11\xb7\x6a\xab\xd2\x4f\xef\x6c\xed\xb2\x5d\x28\x28\x12\x9c\x8d\xc9\x67\xcd\xe4\xe4\xb6\x68\x71\x0f\x92\x48\xd4\xff\xe9\x0e\xc9\x05\x53\xf8\xf3\x29\xba\xa4\x0c\x04\xd8\xef\x79\x2e\x24\x3a\xc7\x8b\x23\x3e\x3d\x4a\x39\x53\x73\x74\x09\xff\x6b\x7f\x7a\x26\xe4\x11\xfd\x4c\xb0\xb0\xfc\xc1\xd6\x43\x74\x25\xd9\x80\x84\x44\xce\x24\x22\x4f\xfa\x84\xfe\xe1\x3f\x51\x6a\x5a\x3e\x45\xdf\x9e\xfc\xe1\x3f\xd1\xef\xe0\xff\xff\xff\xe8\x77\x0d\x9a\xfe\x66\x78\x73\x50\x36\xfb\xb6\xec\xce\xed\x55\x56\x4a\x2e\x2f\xf9\xba\x66\xcf\x04\x2f\x76\xaa\xb6\xe5\x47\x1a\x3d\xf2\xe9\x74\xac\x09\xc3\x96\x05\xc7\x62\x09\xab\x7c\x4b\xf0\x5e\x6a\x8b\xc3\x9b\x32\x8a\x45\x01\x23\xdb\xa9\xc1\xf2\x70\xec\x5a\xe6\x45\xd9\x67\x08\x22\x2a\x95\xd2\xa6\x12\xbe\x22\xb1\xe6\xaa\x9b\x9c\x0e\x67\xdd\x73\x69\xfd\xce\x82\x13\xc2\xf3\x38\x81\xb8\x14\xf8\x17\x46\xb1\x9a\x40\x1f\xbb\x90\xb5\xc7\x61\x29\xbc\xf6\x8b\x89\x99\x84\xa9\xbd\x55\xbc\xa4\x5c\xea\x7c\x7d\xa8\xe4\x1d\x17\x3b\xe9\x5b\x8f\xa4\x31\x95\x61\x4d\xb1\x2e\x57\x40\x1a\x87\x46\x0d\xc5\x91\xe4\xc2\x83\x68\x1b\xbb\x88\x2d\xe9\xb9\xde\x8a\x49\x85\x09\x2e\x6b\x77\xe8\xf5\xd4\xcf\xfd\x27\xeb\x86\x09\x91\x66\xee\xed\xa2\x58\x21\x8c\x56\x8b\x48\x9a\x25\xd6\x8c\xb8\x06\x69\x73\xdd\x86\xde\x79\xe4\x12\x68\x1c\xc2\x1e\x21\x7f\x83\x39\xc9\xd6\x42\x43\xd4\xef\x67\x2e\x22\x72\xc6\x77\x0b\x7b\x4d\x28\x5b\x8a\x97\x6f\x5f\x07\xcb\xaf\xde\x85\xad\x78\xe6\xc0\xa8\x79\x5c\x28\x0b\xc6\x2d\x60\x4b\xa0\x04\x28\xb8\xe5\xd9\x00\x9a\xe2\x3e\x80\x56\x97\x0a\x73\xec\xc0\xb5\x8d\xe1\xb8\x60\x78\xae\xae\x4b\xa5\x9c\x8b\xc0\x9a\x17\xae\x88\x5d\x83\xa0\xa2\x9d\xc7\x11\x94\x28\x2a\x22\x95\x4a\x55\x77\x61\x24\x90\xf7\xb6\x25\x50\xae\xa9\x16\xd6\x43\x02\x43\x50\xa6\x9a\xeb\xf6\x24\x11\x47\x53\x1c\x51\x36\xeb\x05\x18\xa9\x00\x06\x12\x5e\x07\x75\x44\x7a\x8f\xe5\xe3\x7e\x03\x0d\x77\xae\x9e\x4a\xe3\xa2\x82\x9f\x85\x0c\x32\x8e\x0d\xba\x04\x10\xa9\xb0\x7c\x6c\xc2\xcc\x5a\xc2\x14\x5c\x31\x3a\xbf\x14\x0e\x89\x70\xd5\xf8\x5c\x0a\x3a\x09\xf5\x29\x28\x18\xe2\xea\x79\x5b\x84\x51\x97\xf1\x87\x3d\xbe\x4e\x15\x5a\x77\xc5\xf8\xe5\x9c\x0b\x35\xde\x12\x94\xb8\x9a\x46\xcf\xc8\x51\x02\x50\x3d\xfc\x89\x88\x27\x4a\x9e\xcb\xd8\xbe\x9b\xd0\xa2\x31\x9a\x05\x51\x75\x00\xfe\x9a\x66\x1c\x52\x68\xa6\x28\xc5\x6c\x61\x18\xa5\x66\x2e\x58\x3e\x4a\x5f\x45\x18\xc9\x14\x27\x49\x0f\x09\x92\x4b\x53\x5d\x5b\x92\x64\x7a\xe4\xea\xb0\xc4\x28\xe1\x33\x1a\xe1\x04\x4d\x12\x1e\x3d\x4a\x93\xe1\xc6\x66\x86\x49\x65\x82\x47\x44\xca\x40\xb2\x2a\xb2\xd9\x6d\x8e\x21\x94\x10\x56\x44\xa4\x94\x51\xa9\x68\xe4\x44\xa6\x02\x6e\xc4\x14\xb2\x8f\x30\x98\x84\x21\x63\x13\x86\xab\x25\x3d\x62\x90\x61\x73\x66\x2b\x76\xc1\x75\x6d\x01\x1f\x5d\x90\x78\xd3\x01\xda\x03\x7e\xa5\xa3\x90\xb1\x2a\x1f\xc8\x35\x47\xea\xcc\x7e\x06\xc7\x78\x15\x09\xdc\x96\x4f\x94\x27\x48\x7f\xd2\x4a\x80\x55\x10\x53\xee\x43\xe0\x4b\x92\x8b\x8f\x0c\x3f\x30\xac\x3a\x18\x72\x03\x42\xdd\x3a\x9a\xd6\xab\x08\x22\x0f\x14\x89\xab\x7a\xcd\x29\x8b\x92\x3c\xf6\x65\x42\xb5\x08\xf0\xa4\x89\xc4\x2d\x8f\x5e\x7b\x2d\x28\xf4\x10\x96\xe8\x99\x24\x89\xfe\xaf\x89\x80\x3f\xf2\x55\x3b\x34\x4b\x36\x95\x55\xa0\x13\xc7\xa5\x9b\x28\xea\xe0\xa0\x51\x6f\xb0\x9a\x9b\x9c\xff\x94\x2b\x53\xa1\xd5\x40\xa3\x3a\xfb\x96\x01\xb0\x9c\x24\x7c\x02\x27\x1d\x50\x53\x5d\x9e\x6b\x90\x56\x97\x47\x11\x21\x31\x89\xd1\xd7\xc1\xc1\xf5\x78\x14\xdf\xd4\x63\x78\x96\x56\xe4\x00\x10\x53\xab\x86\xb5\x46\xdc\xd4\x72\x91\xc1\x63\x74\x53\x01\x66\x09\x56\x66\x8a\xab\x00\x6c\xbd\xa5\x2d\x7c\x1b\x94\xd5\xca\x24\x5e\x6e\x87\xde\x16\x65\xb5\x32\xcd\xbd\xa0\xac\x96\x96\x65\x0f\x28\xab\xad\xc6\x98\xf0\xd9\x8b\xa6\x45\xeb\x49\x5d\xf0\xf6\xb9\x6a\x06\x9d\xce\x5c\xef\xa5\x53\xe2\x78\xc6\xa2\xee\xac\x1c\x16\x82\x6c\xa5\x5a\xe8\xdb\x22\xc8\x56\x06\x73\xc8\x08\xb2\x95\xa1\x1e\x2e\x82\x6c\xcd\x40\x5b\x20\xc8\x9a\xf8\x83\xb1\x26\xea\x76\x4c\x01\x72\x6f\x26\xf9\xf4\x0e\xb2\xd1\x57\x8e\xf1\xcc\xc4\x36\x98\x9b\xd6\x89\x11\x16\xf3\x1d\x46\x6b\xd3\x34\x9b\x22\xb6\x2a\x7e\x92\x4d\x69\xcf\x3b\x08\x0d\x3e\xc5\xa6\x9e\x81\x5e\x68\x90\x07\x53\x69\x84\x33\x9b\xf6\xde\x54\x8a\xe9\x70\x12\x7c\xb7\x03\xe7\x05\x00\xcc\x12\xcb\x6f\x05\x72\x76\x59\xa9\x6a\x32\xe7\xcf\xb6\xb2\x18\x90\xa1\x21\xca\x46\x12\x84\x4e\xc7\x56\xaf\x6c\x5a\x39\xca\x14\x99\x55\xd5\xee\xe2\xd0\x50\xa6\xfe\xf4\xc7\xb5\x9c\xc8\xe0\x7b\x3a\x0d\x36\xa8\x2d\xe2\xfd\x31\xf6\x19\x89\x51\x34\xd7\x8a\x9b\xd4\x1a\x96\x9e\x8e\xb9\xfc\x25\x4a\x31\x75\xba\x5e\x2e\x8d\xf7\x8b\xca\x11\x2b\x01\xe2\x1e\xa3\x8f\x50\x30\x19\xa7\x99\x56\x11\xfd\xfc\xa8\xa6\xa4\x51\xfe\xed\xb7\x7f\x22\xe8\x5b\x94\x12\xcc\x4a\x6a\x36\x68\x76\xfa\xea\x03\x78\x41\x35\x27\x23\x56\xbb\x15\x68\xf0\xd9\xd4\x60\x73\x21\x89\x43\x36\xe5\x4e\x6d\x87\x42\xa0\x38\x9a\x23\x99\x4f\x4c\x25\xeb\xc0\xcc\xe2\x64\xfd\x0b\x3e\x03\x5f\x3a\xdc\xc8\x6e\xd0\xab\x4e\xe1\xcb\x86\x29\x58\x8f\x68\xdb\xdb\xb8\x0f\xf7\xc8\x91\x24\x25\xf8\xa9\x1a\xbf\x9e\xe1\x7c\xe1\xc1\x97\x06\x9a\xa6\x67\xdc\x1c\x5a\x85\xc4\xd6\xf9\xa0\xc5\x7d\x88\x38\x06\x47\x5e\x9e\x60\x61\x8f\xfe\x88\x69\x5d\x48\x90\x27\xca\x73\x99\x2c\x50\xcc\x19\xe9\x01\x25\xe4\xd1\xdc\xf8\x7e\xb5\x5a\x85\x6d\x41\x97\x27\x2a\x73\xad\x73\x43\x5b\xae\x7e\x8c\x54\xd8\xc0\x66\xcd\x29\xf4\x13\xe1\x04\x11\xf8\x2a\x4c\xe4\x43\xed\x14\xbd\x10\xb3\xb8\xc2\xf3\x5b\x62\x16\x97\xa8\xaa\xc3\x2c\xf6\x98\xc5\xcb\xeb\x72\x88\x98\xc5\x95\x3d\x6f\x87\x59\x5c\xb7\xe5\x5b\x60\x16\x97\x9a\xf9\x62\x30\x8b\x2b\x2b\xfa\xc5\x60\x16\x57\xe6\xd5\x61\x16\x77\x98\xc5\x1d\x66\xf1\x7b\xc1\x2c\xde\x11\x95\xb7\xfe\x96\x35\xe0\x5e\x8a\xb2\xc5\xc6\xec\xe3\x2b\x89\x86\xd7\x9a\xb0\xa2\xc7\x72\x44\xa5\x17\x44\x76\x47\x02\xae\xbf\x5e\x36\x43\x02\xae\x35\xc2\x34\x5f\x62\xbb\xa2\x8b\x81\xca\xf7\xca\x48\xc0\xa5\x09\x74\xc1\xbd\x9b\x07\xf7\xd6\x12\x9f\xed\x5b\x0f\xcf\x45\xfc\x56\x45\xad\x96\x58\xc0\xa5\xfd\x69\x15\x06\x0c\x4a\xd9\x1e\x28\xf1\x65\xf5\xb4\xfb\xd2\x21\x5f\xab\xa5\x85\xab\x28\x2d\x2a\xb9\x96\xdd\x1d\x54\xa1\x31\xaf\x84\xc1\x27\x1d\xe5\x6e\x11\x96\x5e\x59\x5e\xef\xd4\x33\xb4\xd8\x82\x54\x5b\x53\xa8\xb3\x37\xec\x27\x4b\xdb\x65\xee\x6e\x18\xdf\xe0\x06\x71\x97\x91\xa8\xc1\x7b\x40\x53\xba\xaf\x66\xd7\x5d\x64\x1e\x88\x0d\x4c\x2d\x4b\x49\xc9\xfa\x7a\x32\xc3\x31\xda\x5b\x25\x17\x1b\x50\x62\xcc\x97\x33\x2a\x95\x68\x0c\xac\x5b\x1a\xe1\x2e\x7e\xfa\x2c\x6f\x1d\x8d\x15\xac\xea\x6c\xbb\xcf\x52\x92\x72\xb1\x2e\xaa\xaf\xf6\x4b\x5b\x41\x6b\x9b\x4f\x49\x36\x27\xa9\x96\x64\xc6\x9b\x36\xd2\x76\xbf\x7d\xc6\xba\x4d\x9c\x34\x51\xb6\x25\x22\x08\xbc\xf0\xfa\xdd\xd8\xc0\xa1\xb6\xde\xee\x5d\xb7\xd9\x02\xb6\x6e\xe8\xea\x73\x48\xde\xab\x4d\xa9\xf6\xa5\x52\xac\x05\xd0\x77\x6d\x40\x91\x8f\xe7\x5a\x1f\x32\xb4\x22\x58\x68\x15\xe8\x59\xf1\x95\x2d\x81\xbf\x41\x1c\x49\x39\x34\x44\x73\xc2\xb0\xfe\xf9\xe6\xd1\x45\x0d\x90\xbd\xcb\xcb\x03\x61\x61\x92\x88\xa3\x50\x33\x28\x0d\x66\x79\xbd\x4a\x54\xe2\x6c\x05\x3b\x10\x49\x2e\x1a\x43\x9c\xdb\xb8\x2a\x22\x95\xe3\x04\x34\x89\xb0\x6e\x6f\x75\x53\x27\x8b\x9a\x9c\xdb\x76\xbe\x30\xca\xd4\x9f\xff\x63\xa3\xdd\xd4\xaa\x95\x5d\x37\x28\xe4\x87\xa3\x88\x48\xe3\x3d\xb1\x21\xf0\x78\xc2\x9f\xa0\x86\xdf\x2e\xbb\xaa\x8f\xb2\x9e\xb7\x66\xf0\x1e\x07\x3b\x2e\x48\xdd\x88\x0b\x73\xc1\xf3\xd9\xdc\x59\x07\xf5\x99\xd1\x53\xab\xdb\xcb\x1f\x97\xbc\x1f\x1b\xef\xe5\x77\x39\x4d\xb6\xb3\xbd\xde\x95\xaa\x1b\x7e\x1a\xde\x23\x39\xf7\xa7\x75\x02\xcd\xd6\x6e\xec\xf2\xa0\xdb\xf7\x69\xbf\xf5\x9e\x38\xe8\xa6\xe7\xb0\x5f\xa7\x3c\x49\xc0\x87\x24\x49\xfa\x44\x44\x7d\xf7\x30\xe1\x7b\xba\x19\x6c\xa3\x1f\x00\x7c\x5d\x64\xe5\xb4\x92\xbf\x6e\x8c\x68\x28\x91\x1b\x7d\x35\x62\xc6\xc4\x49\x72\x46\x58\x9d\xf5\xf4\xa7\xe5\xf2\x43\xef\x2c\x5a\xd5\x85\x2e\xee\x2d\x62\xd5\x2d\xc9\x2b\x47\xad\xae\x99\xc7\xa1\x46\xae\x56\x98\x9d\x0f\x24\x2d\xae\x19\x17\xb5\x66\x14\x9f\xbe\x5e\xe2\x11\xeb\x97\x92\x79\x6c\xf4\x02\x9a\x2c\x8a\x6c\x00\xa3\x43\x84\xcc\x0c\x8a\xbc\x58\xc3\x0a\x38\x48\xf5\x5f\xa0\xe9\x18\xe4\x64\x13\xcf\xea\x62\x56\x21\x95\x81\xc4\x47\x38\x5a\x44\x09\x8d\x02\x9d\x79\x26\x70\x36\xaf\xe3\x78\x6e\xe7\x3b\xc8\xa7\xb7\x82\x7c\x6a\xaa\x86\xb6\x49\xd2\x80\xa3\x2b\x86\x53\xd2\x41\x51\xd5\x41\x51\xf5\x3c\xd8\x0a\x2b\xea\xba\xbd\x21\x86\xc7\xf2\xb9\xeb\xf0\xa8\xde\x00\x8f\x6a\x9b\xc3\x57\x80\x4d\x95\x8e\x5d\x87\x91\xf5\xa1\x15\x46\x96\xbf\x04\x0f\x0a\xf6\xa8\xf9\x3c\xbe\x31\x9c\xce\xf2\xc0\xde\x12\x13\xab\x46\x5c\xd8\x44\x6e\x5a\x05\x8a\xb5\x8a\x2e\x5a\xad\xcb\xdb\x42\x54\x6d\xb6\x32\x1b\xa1\x4f\xd5\xde\x5d\x07\x82\x45\xd5\xbc\x0d\x07\x72\x6e\xf6\x99\x52\xb5\x59\xe1\xda\x30\xad\x6a\x13\x05\x6b\xb3\x0c\x2b\x4f\x0f\xef\x2b\xcb\xaa\xa8\xf0\xb7\x5d\xa6\x55\xdf\xf9\xa0\x89\x40\x73\x9e\xc4\x0e\x01\xc5\xaf\x96\xef\xc0\xe7\x67\xf8\x05\x72\x9b\x71\x97\x91\xc8\x68\x5b\x45\x35\xba\x55\xf9\x54\x7e\x13\x61\xb8\x7b\x60\x34\xfb\xb0\x22\x78\x4e\xb2\x8d\xfd\x60\xad\x2c\x22\xcb\xe6\xef\x15\x63\x2c\xad\x10\x58\xcd\xeb\x87\xb9\xd6\xee\xbb\x66\x70\xab\x44\x8f\xc0\x38\x28\xea\xea\xcc\x1a\x3a\x83\xa7\x4f\xd4\x19\x22\x70\xd8\xe3\x4a\x2f\x9d\x9b\x5d\x2b\x4f\x5d\x95\x58\xb6\x08\xf3\x5b\x2a\x1b\xb8\x3b\x32\x55\x8a\x3f\x8f\x33\x2c\x70\x92\x90\x84\xca\xf4\xc5\xc2\xbc\xcf\xca\xee\x5a\x7d\x56\x05\x37\x26\x22\x96\xa7\x13\x43\x8a\x6e\x20\xb6\xd2\xa4\xe2\x48\xe4\x2c\xc4\xd5\xf3\x1b\xe3\x2b\x59\xe6\x70\x2f\x80\x55\x29\x9a\x43\xc9\xe0\x29\xa6\x82\x11\xd9\x58\xa0\x95\x44\xb9\xa0\x6a\x31\xb6\xf5\x6e\xdb\x1f\xb8\x3b\xfb\xe5\x99\xfd\x70\xb5\x87\xdb\x41\x4a\xb8\xfe\x7c\x7d\xdd\x8c\x08\xa8\x51\xe5\xaa\x2d\x05\x35\x7d\x2d\x64\x08\xf1\x85\xae\x20\xb0\x7d\xe9\xda\x6e\x0a\x09\xc7\xcf\xe3\x20\xbe\x6a\x1c\x55\x89\x63\xdd\x61\xad\x03\x3d\x5b\x35\xc9\x17\x86\xfd\x6a\xf0\x22\xbf\x40\x89\x1b\x9b\x10\x63\x9a\xd6\x03\x0e\x5c\xc1\x60\xaf\x2c\x36\x26\xc0\x5b\xb0\x4a\x55\xc3\x38\x2d\xd0\x54\x5d\xf0\xd1\x8a\xc1\xf6\x83\xaf\x5a\x8c\x38\xe8\x64\x4f\xc3\xd6\x07\x5d\x88\x3c\x53\x74\xb2\x8c\xab\xa4\xf6\x57\xbf\xb6\x9f\x40\x8e\xbf\x73\x33\x94\xba\x35\x45\x6d\x4b\x9c\xd8\xce\x4e\xcb\xff\x16\xc4\xce\xc1\x53\x19\x78\xaf\x30\x89\xf4\x3a\xa5\x4a\xb9\x14\x10\x63\x80\xd6\xd4\x59\xb6\xcd\x7e\xe5\xc2\x3d\x30\x94\x19\x36\x26\xa2\xe3\x11\xeb\x4b\xf4\x4c\x10\x23\x16\xbf\xa4\xa6\x80\xb0\xb7\x6a\x43\xe1\xb1\x09\xd1\x3d\xf9\xd8\x14\x2d\x3c\x50\x25\x7d\xed\x3b\xd3\xc7\x14\x27\x92\xf4\x74\xc3\x50\x32\x57\x71\x08\xfa\xc4\xe8\x59\xe0\x2c\x23\x62\xc4\x6c\x7e\x0e\x38\x5c\x38\x4f\x4c\xfb\x4d\x21\x94\x76\x0d\xc8\x38\xc2\xd1\xfc\x95\xf6\x08\x43\x9a\x55\x34\x27\xb1\x4b\x56\x2f\x6f\x8f\x9b\xb7\x31\x58\x6f\xb0\x59\xc3\xa9\xab\xdd\xd6\xb3\x9d\x24\x91\xe6\x28\xbe\xc6\x79\x46\x84\x1e\xb5\xa6\xe1\x27\xc2\x10\x9d\xba\x71\xd8\xd8\x1d\xf4\x0c\x9e\x29\x4d\xfa\x4f\x98\x26\x06\xfd\xc1\x75\xed\x84\x40\x63\x7e\x1f\x31\xe3\xee\x66\x51\x29\x3d\x9a\x32\x2a\xe7\x9a\x53\xe7\xe0\x93\x04\x35\xa3\x29\x25\x8a\x3d\x6d\x72\x9a\x07\xfa\xf5\xd5\x1c\xf4\x89\x0a\xce\x52\x48\x7f\xb2\xa0\x60\x6e\xf9\x24\x51\xfe\x78\xd4\x26\xaf\xae\x95\x88\xe3\x58\x96\x8d\x9f\x46\xad\xa4\xbf\x96\xcc\x2e\x47\xa5\x7c\xcf\x28\xc0\xb4\x82\x20\x4e\x57\xd6\x6e\x95\xfc\xdb\x25\xad\x2c\x27\xad\xd4\xaf\xcd\x21\x26\xae\xf8\x43\xbc\x69\xf2\x4a\xd3\xf6\xef\x43\xb2\xdd\x63\x12\xcb\x1b\x67\x7b\xbc\x4c\xa2\xc7\xdb\x66\xe6\xbc\x44\x52\x4e\x97\xba\xb2\xe7\xf9\x76\xa9\x2b\x5d\xea\xca\xd6\x29\x1f\xcd\x0c\x79\xa3\xb4\x8f\x35\x18\x71\x75\xbd\x5c\x12\x25\x68\x24\xf7\xc1\xf9\x65\x86\x5b\xc6\x2b\x82\x7e\x9f\xad\x91\x87\xf5\x0b\xde\xbd\x0c\x11\x80\xbe\x7c\xe8\x44\x10\xfc\x18\xf3\xe7\x25\x2b\xac\x0c\x41\x7a\x2e\xb9\x16\x68\x05\x89\xa8\x24\xa5\x18\x25\x2a\x11\x23\xd2\x9a\xb1\xf1\x88\xcd\x29\x11\x58\x44\x73\xc8\x48\x2e\x36\xc6\x64\xb6\x1b\x9c\x34\x13\xa5\x12\xfa\x11\x37\xd8\xf4\x16\xeb\x5e\xb5\x1d\x7a\xd8\x4b\xbb\xe7\x7a\x24\xa9\xf9\xc4\x8b\xa9\x56\x7e\x0c\x8d\xad\xad\xb6\x7f\xd7\x14\x0b\xbf\xd8\x2f\x9a\x66\xe1\xc3\xc4\x82\x2f\x5a\xa6\x5a\x14\xd4\xd0\xa5\x5b\xbc\x50\xba\x45\xcd\x12\x6f\x96\x72\xb1\x95\x31\xf7\xf5\xa3\xc1\x5d\xcf\xaf\x11\x11\xbe\x2e\x1c\x2f\x9f\x8c\x5f\xfc\xe8\xd5\xce\xb9\xed\x09\xfc\xc9\x13\x85\xd1\x75\x84\xa6\xb3\x09\x89\x63\xe0\xb4\x8a\xdb\x02\xf4\x05\xed\x38\xc3\x8f\xbe\x7b\xb1\xd4\xc4\x8e\x13\xce\x66\x92\xc6\x06\x20\x29\xc3\x50\x08\x3a\x34\x4b\x01\x20\x08\xec\x6f\x92\x10\xe1\xfc\x4d\x02\x7d\x2d\x29\xb3\x20\xad\xfe\xb7\x98\x13\xc9\xbe\x52\xc6\x0c\x84\xd9\x02\x3d\x32\xfe\x9c\x90\x78\x06\x3b\x54\x1d\xcc\x11\xa2\xa4\x87\xa8\xf2\x9f\x09\x40\x10\xe1\xb9\x1a\xe9\xb1\x43\x14\xa1\xd1\xed\x88\xfd\x56\xd8\xa2\x30\x01\x07\x96\xdf\x1c\x23\x34\x64\x68\x8a\x23\xd5\x43\x32\x9f\x14\xed\xc7\xdc\xd4\xce\x7f\x22\x2c\x9c\x78\xd1\x48\x97\x0d\x50\xd3\x79\xfd\xd9\x70\xdc\x41\x93\x6b\x3f\xa1\x78\xa7\xa8\xc9\x27\xbc\x0b\x72\xf1\x65\x2e\x6d\x78\x0d\xe2\xcc\x1f\x7d\x0b\x89\xe6\xa1\xe7\x01\x46\xd8\xc0\xb8\x33\x1e\x37\x5a\xb1\x2b\x53\xd9\x74\x2c\x45\x88\xab\x15\x94\xac\x0b\x12\xda\x35\xcb\xad\xa5\x26\xa9\x04\xc1\xa9\x75\xfb\xe8\xab\x06\xc4\x1a\x13\xe0\xaa\x47\x4f\x85\x91\x30\x37\xd9\xe2\x0b\xca\x1e\xf5\xee\x16\x60\xfb\x1c\x60\xc8\x75\xcf\x75\x9b\x96\xe9\x1b\x8f\x9c\x71\x66\x5c\xbf\x3b\xc9\x9d\x74\xc6\x70\xb2\xa1\xf5\x6a\x69\xe5\x96\xbd\xb5\x4e\xce\xb2\xe2\x82\x96\x22\x8c\x19\x17\x99\x1e\x37\xb2\x0e\x56\xe6\x1b\xca\x7b\x18\xc5\x24\x23\x2c\x26\x2c\x5a\x00\x89\x30\x40\xbb\x12\x0c\x27\x08\xc3\x77\x38\x39\x46\xe7\x26\x73\xca\x4b\x78\xf6\x5a\x87\x0b\x3d\xc5\x8c\x4e\xb5\x9e\x00\xe6\x75\x3b\xca\x11\x33\xc3\x74\xde\x2d\x52\xd8\xcd\xfd\x8a\xd5\xed\x8c\xbe\x41\xae\x76\x04\x3b\x67\xe5\xef\xd1\xea\x0b\x07\x7a\x5b\xb5\x3b\xba\x39\x57\xda\x44\xe6\x93\x23\xf8\x77\x29\x95\xd0\x81\x6b\x15\xc8\x4f\x24\x21\x60\xe8\xb5\xbe\x4c\xb8\x18\x9b\xc0\x20\xf7\xe1\x91\x5d\x93\xa1\x13\xf4\x51\x52\x6a\x52\xca\x68\x9a\xa7\x81\x5b\xd6\x14\x42\x89\xac\x65\xda\xe4\xd8\x64\x5a\x0f\x88\x5c\x4d\x04\xa4\x2f\x57\xb6\x40\x33\xfa\x44\xd8\x88\x65\x9c\x32\x75\x8c\xae\xb8\x22\x41\xe5\x19\x03\xf7\xc6\x33\x45\x53\x03\xa2\x2c\x88\x3e\x07\x06\x6b\x1f\xf0\x6b\xe7\x58\xf5\x50\x9c\xc3\x51\x65\x44\x69\xd6\xa1\x6f\x5c\x05\x3b\x03\x91\xef\x62\xc4\xcc\x4d\x37\xc5\x34\xc9\x05\xb1\x32\x2b\x36\x19\x4f\xc5\x90\x8b\x91\x59\xf4\xc2\x60\x12\x29\x9d\xcd\x95\xde\x22\x2d\xe3\x59\x4f\xf2\x5c\x73\x23\x3e\x62\x13\x82\x30\xca\xb8\xa4\x8a\x3e\x79\xcf\x34\x9d\x22\x2c\x25\xd8\xc6\x8e\xd1\x79\xc9\xb3\x43\x25\xa8\xde\x4d\x11\xd3\x94\x8d\xad\x57\xa1\x39\xd3\x6a\xe7\x8d\x2c\xf5\x62\x57\x19\x4f\x24\x4f\x72\x15\x3a\xd7\xeb\xf7\xb6\x70\x7a\xb8\x7a\x20\x60\xfa\xe7\xd3\x11\x73\x74\x2d\x8f\x51\x5f\x22\xc9\xf5\x2e\x49\xb3\x95\x91\xa0\x8a\x08\x6a\x90\xd7\x88\x32\x9b\xe0\xcf\xa9\x3f\x03\x29\x16\x8f\x5a\x84\x0a\x7d\x2b\x06\xaa\xb8\x64\x9b\x9a\x18\x09\x09\xa0\xe8\xc2\xed\x00\xa7\x0e\x62\x9c\x1d\x31\x32\xc3\xeb\x76\x64\xc4\x4a\x5b\x82\xbe\xa6\xd3\x42\x21\x6d\xf2\x26\x07\x6b\x37\x86\x98\xb6\xa6\x5d\x32\x1d\x37\x6d\xd2\x34\xe1\x78\x4d\x40\xc0\xb4\x38\xf4\xe8\xef\x7c\x62\xc6\xa8\xf5\x7e\xae\x40\x0a\xd4\xea\xd5\x94\x0b\x32\xc7\x2c\xee\xb9\xcd\x2a\x8f\x0d\x6e\x46\x6b\x63\x73\xca\x18\x48\x82\x0e\x9b\x9c\x18\xfc\x34\xcc\x82\xbd\xb0\x8a\x9b\xdd\x8a\x62\x1f\x36\xba\x2b\x7c\x6b\x50\x52\xc9\x18\x20\x0c\xcb\x5b\x64\xf6\x88\x4b\x9a\x66\x49\x91\xad\x16\x58\xbd\xa7\x5a\xc4\x72\x3c\x92\x3f\x81\xe9\xca\x69\x6d\x70\xab\xdb\x9d\xd3\x74\x56\x33\x72\xcf\x48\xe1\xd6\x70\x36\x2f\x53\x5d\x37\x60\x61\x5f\x4b\xa2\xff\xa9\x48\xa1\xf6\x19\x61\x7d\xc4\x9c\x08\xf2\x0d\x70\x19\xdb\x6c\x60\x3c\xd3\x22\xb4\x41\x8f\xb6\xeb\x87\x22\x13\xbe\x50\x3a\x27\xf6\x30\xb8\x57\x6b\x2f\x2a\x45\xb5\x98\xfd\x1d\x05\x54\xb9\xf3\x1d\xab\x59\x50\x16\x93\xc6\x1a\x71\xad\xb8\x46\xd3\xdd\x62\x18\xea\x78\xdb\xb2\x2e\xf7\x73\x22\x09\x52\xcf\x1e\xdc\x50\xeb\x55\x60\xb2\x14\x24\x21\x4f\xb8\xb8\xe3\x7c\x5f\x96\x5d\x46\x58\x36\x54\x5d\x02\x84\x40\x3d\xfe\xed\x53\xc2\xfd\xf8\xae\xf5\x50\x9e\x70\x62\x53\x72\x6c\x14\x84\x6c\xde\xb0\xe1\xf9\x4e\xd1\xc1\xb6\x95\xba\xf5\x6c\x16\x31\x5c\xdf\x3f\x90\x45\xfd\x8a\xac\x01\xde\x5c\x95\x67\xef\x97\x7d\x03\xcf\xc2\x4d\xf1\xcd\xf2\x1a\x37\xae\xdc\x0f\xa5\x29\xbf\x41\x7a\xd8\xcd\x52\x61\x79\xf8\x53\xe6\xd3\x29\xfd\x0c\x5a\xad\xbb\x49\x9c\xe6\x11\x09\x2e\x35\x17\x03\x59\x05\xb9\xcd\x33\x21\x02\xbb\xa4\x8a\xd5\x7e\xa9\xb5\xac\x8d\x29\xba\x71\xb5\xff\x9a\x13\xb1\xd3\x7a\x7b\x52\xdd\x24\xd0\x34\x38\x25\xf5\x3a\xa2\x6b\x54\xe1\x96\xd1\x66\x61\xab\xf7\xb8\x61\xe9\xd6\x57\x15\xa8\xfd\x6c\x62\x98\xef\xe6\x03\x09\xb9\xf6\x4a\x9b\x5a\x11\x79\xe8\xa3\xce\x5d\xad\x2f\xcd\xdf\x7a\xb6\x6e\x01\xb6\x21\x71\x3e\x89\x1b\xbb\x68\x20\xe3\x18\x31\xa5\xe0\x94\x2d\x60\x12\x68\xea\xb6\x31\xca\x66\x23\xe6\xd6\x56\xf6\x90\x49\x00\xa8\x30\xd4\x52\xc9\x08\x1c\x7c\xea\x09\xbb\x9d\x49\xd5\x44\x4c\x30\x22\xa5\xbe\x18\xa5\x12\x98\x32\xeb\xc3\x71\xeb\x23\x47\x0c\x1d\x55\x33\x10\x7a\x60\x47\xe8\xb9\x3c\xde\x5e\x31\x40\x39\x62\xd7\xc6\x3a\xf3\x47\xf4\xb5\xc2\x33\x73\x4b\x00\xe2\x2a\x4e\x00\xab\x15\xb4\x04\xab\x95\x07\x69\x1f\xfe\x44\xd2\xf8\x9b\xd3\x55\x7d\x1a\x1b\xc2\xd7\xd0\x0c\x1c\x72\xbd\x86\xc5\x02\xd1\x69\xf1\x0f\x12\x7f\xb3\xaa\xa5\xe2\xa3\x47\xb2\xe8\x55\x17\xb9\xf9\xde\xb8\xc7\x3b\xc5\xde\xbe\xd4\xc5\x01\x83\x6e\xef\x52\xc6\x13\x92\xfc\x58\x4c\x14\xad\x64\x45\xdf\x51\x86\x77\xe3\x41\xb5\xc3\x6b\x97\x5b\x30\x59\x34\x95\x83\xac\x61\x3d\x5b\x63\xc9\xf4\x8d\x2c\x4b\x90\xee\xce\x4a\xec\xae\x58\x28\x86\x78\xd6\x39\x49\x32\x14\xd3\x29\xb8\xde\x14\xd0\x8b\x07\x3c\x36\x65\xb4\xb4\x42\x93\xe6\xcc\x80\x57\x9b\x78\x9e\x67\x7b\xd2\x2d\xcb\x28\x1a\x3f\x1e\xb1\xa1\xfa\x4a\x22\xa9\x04\x67\x33\xad\x4c\xc7\x4f\x54\x16\xf5\x21\xf5\x81\xcc\x53\x22\x6c\x17\x54\x1a\xa9\xdb\xd6\x56\xc3\xee\x62\xd3\x63\xd3\x57\x1f\x08\x3e\xae\x86\xa9\xfe\xd1\xe8\x15\x7a\x94\xd2\xc5\xc3\xd5\x24\x34\xd8\xcd\xad\xf0\xce\x57\x36\x5d\xfe\x18\x5a\x27\x51\x5a\x18\x32\x1d\xbf\x3c\xa9\x9a\x31\xed\xaa\xaf\x30\x61\x6e\x7c\x21\xb4\xbd\x08\x5c\x31\x92\xdc\x24\xb0\xe9\x7e\x9c\x63\xcb\x0c\x6e\x23\x15\xab\x32\x41\x3b\x6a\xa3\x3d\x85\x26\x4c\x42\xc1\xfe\x21\x15\x56\x34\xb2\xb7\x00\x17\xd6\x8a\x6b\xf5\xea\xe6\xad\xdd\x55\x27\x91\x11\x4e\x96\x77\x78\x85\x4f\xdd\xbc\xbf\xda\xd0\x69\x8f\x9b\x69\x7b\x25\x64\x4d\xc4\x93\x64\x93\xea\x8f\x95\x99\x9f\x15\x9f\xaf\x1e\x51\xd1\x8f\xde\x00\xb7\x17\x70\x6a\x8c\x81\x02\x27\xd6\x5d\x24\x95\xdd\xa5\xf0\x25\x73\xa9\x2d\xac\xfa\x38\x62\x7c\x0a\xf5\x41\x93\xa6\x9c\x84\x4c\xf0\x94\x6e\x52\xfd\xc5\xc4\x8b\xdc\x3a\xdf\xff\x1a\x4f\x8a\x8b\x10\x00\xf3\x9b\x21\x2f\xdb\x23\xa0\x4d\x60\x6b\x52\x5b\x71\x86\x52\x9c\x6d\xb5\xe0\xeb\xe2\x94\xfa\x28\x35\x01\x65\x76\xf5\x00\x07\x9e\x40\xa9\x4d\x58\xe4\x67\xbc\x28\x80\x7d\x9a\xea\x7a\xb0\x8d\xc8\xe1\x41\xbf\x3e\x64\x53\xbe\xc1\xe1\x2c\x80\x78\xec\xe9\xc3\x8e\x66\x83\xf3\xe7\x23\x31\xcc\xee\x9b\x35\x6d\x73\x1e\xcf\xea\x88\x7a\xe3\x93\xe9\x56\xf0\x25\xfd\xb0\x21\x13\x09\xbe\xf9\xd7\x26\x77\x6b\xf9\x68\x05\x2d\x22\x18\xce\xea\xa5\xba\x2c\xd1\xe1\xde\xd7\xa8\xd2\x0e\x3c\x2b\x52\x01\x6f\xea\x5b\x7d\x85\x35\xb3\x87\xa4\xd5\x62\xed\x88\x3c\xb6\x59\x7d\x12\xd7\xa3\xaf\x46\xb2\xb3\x26\xb7\x6e\x31\x80\x9b\x49\xab\x35\x14\x79\x45\x16\x60\x61\x4a\x13\x22\x8f\xd1\xb0\xc6\x89\xeb\xe0\x0d\x7c\x3a\x80\x49\xf4\x74\xd2\x53\x2e\xa8\xc5\x49\x21\x82\x78\x19\x09\x51\xa8\xed\x18\x06\xb2\x04\x4e\x0b\x70\x9f\xce\xf9\xb3\xc9\xad\x14\x54\xf3\x2c\x23\xac\x2a\x70\x69\x69\x5e\x40\xad\x47\xc8\x38\xd4\xfc\x07\xdc\x64\xbc\x68\x35\xc7\x3b\xc3\x42\x0b\x44\x75\x4b\xf7\x51\x1d\xb7\x3d\x7a\x84\xeb\xf5\x5e\x7f\xd1\x46\x29\x70\xef\xee\x30\x3a\x2f\xe5\x6f\x6e\x8f\xfc\x08\x9f\x3a\xc3\x2e\x46\x53\x41\x40\xcb\x4e\x3d\x22\x9c\x29\xf6\xc1\x39\xdc\x77\x77\xe7\x3f\x9c\x3c\x0c\x11\x51\x11\x4a\xe8\x23\x19\xb1\x48\x3e\x81\xd2\xf7\x8f\x9c\x28\xfd\x73\x83\x11\x88\xa6\x84\x49\xe0\x04\x54\xb5\xd4\xd7\xdc\xc2\xe8\xff\x9e\x97\xbf\x6f\xa3\x95\x7b\x14\x53\x4d\xbb\xae\x54\x28\x90\x29\x54\x43\x34\x4b\x5b\x63\xd7\xfc\xce\xf8\x5b\x07\x9f\x33\x41\xe4\xae\xf8\x75\x11\x67\x7f\xcf\xd9\x86\x42\xd7\x59\xf1\x51\x30\x8a\x06\x99\x2e\xcd\x30\xd4\xe0\xd9\x2c\x8b\xde\x7c\x53\xdb\xfa\x3a\x26\x52\x80\x0a\x39\xff\x39\xf1\xcd\x20\x25\x08\x01\x16\xe2\xe9\xc9\xde\xf5\x16\x47\xce\x4f\x2c\xf8\xe8\x78\xc4\x2e\x5d\x54\x5d\xf1\xab\x2c\x7c\x0d\xe9\x24\x28\x4d\x54\x6e\x05\x9a\x8d\xa9\xf4\x3f\x40\x2d\x4c\x99\x27\xca\x14\x03\x9f\x52\x86\x13\x3f\x50\xf3\xa4\x8e\x4b\x08\xcc\xa2\xf9\xae\x6e\x72\x3a\x1d\x93\x64\x13\x49\x74\x38\x1d\x24\x52\xd3\x77\xf4\xd8\x70\x3a\xb7\x29\x77\x5f\x4c\xc6\x78\x9c\x6c\xc9\x5c\x54\xb8\xd9\x71\x62\x8a\x71\x13\x04\x71\x58\x55\xec\x03\x03\x6f\xa6\x77\xd1\x4a\xea\x26\x0c\xcb\x24\x1d\xfb\x84\x42\xe8\x05\x61\x35\x62\x22\x67\x50\x04\xcf\x47\x65\x62\x54\xd4\x31\x8a\x5c\x8c\x84\x8d\x58\x99\x69\x36\x61\xca\x04\x99\x97\xb5\x7e\xc6\x73\x09\xfe\xa8\x94\x28\x7d\x41\x7d\x4d\x8e\x67\xc7\x36\x2c\xba\x87\x32\x41\x53\x70\x29\xcb\x6f\x6a\xb6\xee\x0c\x2b\x9c\xf0\xd9\xbe\xad\x4a\x5b\x26\x4f\xb9\x61\xa0\xe1\xb9\x5e\xfc\x19\x61\x44\xc0\x44\xc1\x96\x5d\x7b\x84\x5b\x58\xb9\x1b\x38\x37\x78\x12\xad\xf3\x57\x7a\x8b\x05\xce\x15\x4f\xb5\x7e\x8b\x93\x64\xd1\x33\x5e\x67\x82\xe6\x58\xce\xdd\x46\x1b\x87\x61\x9b\xbb\xc9\x2e\xee\x19\x8e\xe6\xe4\x4e\x61\x95\xd7\x46\x66\x55\x46\xf9\x81\xb0\x3c\xfd\x70\x8a\xfe\xa7\x98\xe3\x59\xff\xec\xfb\xc1\xf8\x7c\x78\xd7\xff\xee\x62\x70\x1e\xcc\xc7\x3e\xb9\x1c\xde\xdd\x2d\xff\xfa\xfd\xf0\x7e\xf9\xc7\x9b\xeb\x9b\x87\x8b\xfe\x7d\x5d\x2b\x17\xd7\xd7\x3f\x3c\xdc\x8c\x3f\xf6\x87\x17\x0f\xb7\x83\x9a\x4f\x1f\xee\x9b\x1f\xde\xfd\x30\xbc\xb9\xa9\x6b\x75\xf0\xe3\xf0\x4c\x77\x67\x7f\xff\x5b\x70\xec\xc0\x75\xae\x57\xa0\x61\x7e\xd5\x93\x79\x84\xca\x2f\x9e\xa2\x87\x6a\xad\x36\x9b\x62\x67\xe0\xd9\x9e\xb1\xd4\xcc\x0d\x32\x3c\xc1\x04\x5b\xac\x56\xd3\xa7\x26\x56\x39\x9a\x13\x94\x70\xfe\x98\x67\x96\xe7\x19\x6b\x3b\xe3\xc6\x22\x44\x64\xd0\xda\xf7\xc3\xfb\xd3\xe5\x9a\x71\xbe\xb1\x00\x08\xd6\x1b\x97\x9f\xb1\x01\x85\x00\x3e\x0b\x46\x16\x57\x4b\xac\x70\x5d\x07\x3d\xf8\x2d\x5b\xd5\x8f\x69\x0d\x33\x55\xe9\x26\x36\x61\xd4\xc5\xc4\x82\x86\xcb\x1b\xbe\x6a\x35\xfd\x72\x98\x7a\xbe\x68\x42\x22\x9c\x9b\x88\x6e\x7d\x81\x09\xc1\x45\x38\xe0\x82\x50\xf6\xd7\xa8\x25\xb0\xda\x06\x2b\x7b\xa6\x27\x2e\x1f\x69\x96\x95\xb6\xdd\x12\xe2\xfa\x9d\x87\xf2\x84\x4f\x34\x52\x24\xfe\xb0\x2c\x17\x15\xe8\x0a\x46\x6e\xd6\xa7\x5a\x0f\x39\x38\xeb\x94\xcd\x8c\x2d\xc1\x15\x8a\x9c\x2f\x7c\x14\x12\x04\xbd\x16\x61\xc0\x50\xde\x44\xdf\x35\xbe\x90\x1f\x85\xb0\x22\xac\xd0\x33\x01\xa0\xa1\xdc\x56\xca\x35\x3a\xbd\xe6\x19\xd0\x9d\x89\x07\x70\xa5\xb9\x4b\x00\x44\x8d\x4c\x7e\x1f\x82\xbc\xfe\x5e\x92\xcd\x9c\x78\x6b\xd1\x62\xce\x4d\xa3\xc0\xf5\x5d\xbe\x00\x8c\x78\x9f\x4e\xbf\x9a\x9b\x6e\xcd\x25\xa4\xaf\x83\x36\xe3\x71\x08\x79\xa5\xb2\x2f\xed\x07\x56\x2a\x0d\xb2\x76\xad\xee\x79\x8c\x17\x9a\x38\x20\xe8\x41\xe6\x59\xc6\x85\x42\x0d\x6d\x98\x10\x48\x33\x3e\xb8\xcb\xec\x3c\x3c\x8b\x84\x46\xb4\xe4\x22\x6b\x6a\x07\xb6\x03\x0d\xb3\xeb\x1a\xf8\xce\x82\xe4\x22\x50\x30\x7d\x9d\xd7\xb4\xa4\xaa\x97\x28\xb4\x4e\xa8\xde\x25\xef\x36\xd3\x82\x43\xdb\xca\xe8\x75\xbd\x5f\xbb\x16\x6a\xb7\x3c\x21\x53\x35\xde\xd0\xd9\x05\x2d\xb2\x26\x9c\x45\x3a\x9b\xef\xa1\xc5\xf6\xda\xc7\x1f\x6d\x50\xb4\x56\x39\x02\xcb\x83\xe0\x5c\x19\xb9\xb7\xd0\x8d\x90\x5b\x4d\x30\x5b\xd8\x4e\x2d\x42\x82\x17\x2e\xb5\x2e\x61\x62\xc9\x3c\x98\xc0\xf1\x88\x0d\x20\xf8\xb4\x50\x70\x1c\x70\x02\x68\x17\x6b\xf5\x0a\x07\x58\x06\x45\x66\x5e\x35\xd3\xa5\xb9\xee\x41\x41\xf7\x26\x64\x91\x24\x0b\x8f\xfe\x15\xa3\xd2\x77\x6d\x4e\x8f\xb1\xa6\x3b\xd1\xd2\x4c\xd8\x1c\x1d\xa9\x48\x66\x2d\xfe\x66\x9e\x45\x94\x34\x78\x9b\x75\x57\xc7\xe8\x27\x67\x51\x82\xa4\x21\x9f\x44\xe3\xe2\x5e\x13\xbc\x70\x50\xe9\x75\x0b\xbb\x0f\xf4\xf1\x7d\xa7\x11\xad\x5e\x60\x0f\x73\x5a\xb3\xca\x25\xc5\x9e\x31\x63\xe9\xdd\x20\x0c\xe9\xcc\x7f\x74\x47\x56\x47\x54\x7e\xe4\xc2\x18\xd1\xb4\x7a\x0c\x32\x0b\x4b\x16\xff\xcb\x6c\x96\xc1\x67\x71\x41\x1a\xb6\x0c\xbc\xf5\xcc\xea\xf3\x03\x9e\x45\x03\xdf\x82\xa6\x34\x49\x40\x0e\x38\x46\x7d\xb6\x70\xf0\x26\xfa\x2a\x74\xc1\xa9\x74\xc6\xf8\x3a\xe4\x85\x06\x62\x8a\x02\x62\xba\x6b\x26\x26\x13\xff\x51\xa0\x5b\xed\x87\xa2\xf6\x80\x74\xa8\x79\x0b\x5e\xae\x13\xd3\x1e\xdf\x70\x03\xa3\x40\x78\x9b\xbf\x56\x66\xd9\xd2\x70\x83\x0f\xff\x55\x3f\xf4\x4f\x39\x16\x98\x29\xc8\x97\xb2\x42\xab\x20\x41\xda\x36\xf9\x0c\xb1\xad\xcc\x18\x98\xe1\xa7\x70\x73\x5d\x28\x81\x09\x3f\xa3\x71\x0f\xd1\x63\x72\x0c\xd5\xa8\x85\x96\x25\x26\xc5\x9b\x73\x2d\x39\x8c\xd8\x52\x1e\xc8\x31\xea\x27\x92\xdb\x2f\x08\x8b\x12\x2e\x21\xb4\x77\x12\xc2\xc9\x03\xe5\x5b\x77\xd5\x64\x01\xfa\x0d\x6c\x65\xd1\x3c\xb7\x0f\x82\x0f\xa1\xa8\x32\xf8\xda\x13\x38\xe9\xc5\xef\xbf\xe7\x99\xf1\x82\x34\xc5\x5f\xbc\x60\x91\xb3\xa5\x6b\xe8\xc5\x36\xc9\x94\x46\x5f\xb5\x41\xf0\x06\x6c\x4c\x91\x9f\x13\xe0\x12\xa2\xaf\xb1\x42\x09\xc1\x52\xa1\x3f\x7c\xb3\x51\xcc\x89\x9b\x60\xc1\x5d\xed\xf1\x2d\x92\xec\x5d\x9a\x66\x28\xdc\xf9\x8e\xa1\x56\x36\x16\x0a\x61\xc4\xc8\x73\x98\x95\xc3\x21\x91\xca\x15\xc0\x26\x01\xe2\x8b\x89\xc5\x37\x78\x55\x90\xe9\x6a\x54\xa6\x06\x3e\xe2\x8a\x80\x58\xb7\xac\x1d\x56\x0d\x65\xf5\x7c\x54\x1b\x84\xb1\xeb\x97\x8a\x84\xc9\x39\x56\x23\x66\x39\xab\x0b\x47\x09\x52\xe4\xfb\x49\x52\x4e\x52\xc4\x90\x87\xcb\xf4\x84\xf5\xe8\xe3\x63\xbf\x40\x57\xa0\x7e\xf9\x4c\xb1\x92\xfd\xaf\x38\x2c\x26\x97\xc1\xa3\x80\x86\x6d\xd7\x4a\x3b\x75\x76\xeb\x57\x14\x82\x6b\xba\xbf\xe0\x33\x1a\xe1\xa4\x85\x30\x4c\xea\x86\xbc\xe6\x60\x2d\xfb\x0a\x56\xc8\xc6\xfb\xee\xa0\xbd\xa8\x5c\x6f\x77\x87\x6b\xf6\x99\xd7\x98\xf1\x1b\x36\x37\x90\x2d\x76\x51\xc0\x7d\xca\xe2\x6b\x79\x92\x4b\x43\x1f\xc6\x00\x98\xb0\x9e\x0b\x16\x00\x04\x8e\x75\x98\xbc\xb5\x38\xc8\x87\x0e\xd2\x2f\x6d\x10\xa9\x61\x7c\xf6\xcd\x06\x8f\x6e\xf6\xbe\xa7\xdf\x2b\xe6\xef\xa6\xe2\x83\xeb\x96\x27\xde\x2c\xec\xf5\xe3\xbf\xe3\x08\xb2\x24\xa1\x27\x97\x9f\xb9\x0c\x53\xea\x8a\xbb\x60\x70\x12\xd4\x8a\x87\x99\xe0\x11\x91\xf2\x18\x0d\xe0\xa2\xb1\xff\x44\x78\xea\x1c\x1d\xc1\xcb\x23\xa6\x35\x13\x87\x6a\x18\xb4\x5f\x26\xf1\xba\x13\x60\x20\x92\x77\xf2\x11\xa5\xeb\x2b\xf7\x35\x69\x13\x0e\xa1\x19\xda\x80\x62\x5f\x68\x30\x3b\x45\x31\x8f\x1e\x89\x38\x11\x24\xa6\xf2\x14\x7c\xf6\xaa\xd1\x59\x98\x6a\x6d\x7b\x67\x49\xa3\x29\x00\x61\x0d\xa0\xc0\x99\xe9\xdf\xa6\x14\xb8\xd4\xa4\x1e\xa2\x53\x50\x27\x5c\x3e\xab\x49\xe0\x72\x20\x90\x84\x29\xb1\x30\xd1\xce\xce\x94\x55\x59\x08\xa7\x69\x68\xa1\xad\x29\x13\x5b\xec\x23\xb6\x67\xcb\x69\x9b\x8c\x1f\x1b\xc8\x60\x26\xa5\xb8\xcd\x03\x33\xec\x22\xc3\x6a\x2e\x01\xf6\xa3\xbc\x06\x56\xe9\x82\x4f\xf5\x0a\xe1\x0c\xe2\x20\x8c\x95\xa2\xf8\xc8\x83\x53\x48\x45\x93\x64\xc4\x4c\xe2\x06\x20\x74\x7c\x55\x8b\x2e\xa4\x3f\xed\x21\x1c\xc7\xe8\x7f\x7f\xfd\xf1\xe2\xe7\xfb\xc1\x78\x78\x05\x36\xef\xe1\xc5\xe0\x9b\x9e\xff\xf1\xfa\xe1\xde\xff\x6a\x2c\x2c\x4f\x44\xa0\x14\x3f\x82\x8a\xc7\x24\xb1\x89\xa7\x64\xc4\xc2\x91\x3a\xdc\x25\xfd\x44\x12\x17\x41\x6b\xc5\x14\x0f\x2c\x6e\xf7\xb0\x09\x8e\xd7\x02\xad\x6e\xa0\xfc\xde\xfa\x4f\x56\xd3\xa0\x23\x1e\xdf\x85\x13\x03\x21\xbf\x18\xcb\x00\x88\xc7\xea\xbe\x05\xc1\x11\x36\xa3\xac\x29\xce\x8f\xb0\xa7\x97\x14\xe2\x7f\x20\x0b\x08\x34\xbf\xc1\x54\xb4\xa6\xbd\x7a\x8c\x4c\x77\x62\xb4\x9e\x8e\x65\xf5\x50\x49\x23\x0b\x9b\x4c\xe5\xc6\x58\xd2\x3a\x78\xe4\x37\x9f\xae\x05\x5d\x25\x9f\x95\x70\x08\x5f\x3e\x17\xd6\x01\x9c\xfa\x8b\xa6\xa0\xc1\x11\xbb\xbf\x3e\xbf\x3e\x45\x24\xc1\x13\x0e\x69\x90\x36\xd4\xc8\x35\x61\x17\x2c\xe2\x69\xd0\x50\x09\xd6\xad\x87\xb2\x02\xd6\x2d\x34\xa2\x1d\x9b\x36\xd6\xc0\xbb\x65\x5c\x2c\x23\xd9\xed\x57\x05\xb4\x93\xbd\xe1\xa2\xcd\xf5\xaf\x5f\x33\x79\x21\x99\x56\xe4\x2a\x9c\xd7\xde\xcd\x53\x82\x01\xf9\xc3\xba\x85\xac\x2d\xdf\x06\xc6\x26\x49\xa9\xca\xb8\x3e\x38\xf2\xd8\xba\xf6\x8b\x37\x39\x43\x3f\xfc\x45\xa2\x49\xae\x46\xac\xdc\x06\x67\xa8\xff\xd3\x1d\xfa\x0e\xab\x68\xfe\xcd\x88\x41\x5e\xe2\x0f\x7f\x69\x00\x18\xdd\x18\xb3\x5b\xaf\xc9\x39\x56\xf8\x82\xe3\x98\xb2\x59\x1d\x60\x77\x51\x55\x71\x70\xdf\x3f\x45\xd7\x56\x87\x2f\xb2\x68\x95\x83\x53\x09\x1a\x02\x86\x0c\x13\x71\x5c\x04\x58\x39\x2b\x83\x1a\x1b\xcd\x0c\x2e\xac\x11\xbb\x37\x48\xe5\x9a\xab\x52\x85\x32\x6e\x2b\x7b\x6a\xad\xcc\x60\xb8\x63\x97\x5d\x4e\x92\x05\xd2\xab\x03\x64\xec\x37\xc3\xca\x63\x20\xcf\x2c\x33\xfb\x11\x03\x05\xdd\xe7\xf5\x26\x3c\xc2\x09\xc4\xfa\x1d\x05\x36\x3d\xad\xb6\xf3\x1c\xb0\x75\x20\xc8\x86\x2d\xca\x21\xb9\x1e\xee\xc9\x0b\x65\xe1\x46\x81\x01\x00\xf6\xd1\xfa\x21\x53\xae\x39\x8e\x41\x28\x06\xe3\x5b\x62\x56\x47\x7f\xe8\x11\x8b\xcd\xb2\x78\xd8\x3e\xc0\x14\xc8\x99\xc3\x71\x8b\xc0\x7c\xcf\x16\x10\x16\x0e\xa5\xf8\x38\x84\x94\x14\xdc\xd9\x12\xe5\xd2\x2e\xfa\x3b\x31\xf8\x6c\xc4\x4c\x04\x62\x69\x5f\x42\x4c\xcb\xa0\x77\xce\x20\x40\x72\x39\xcf\x3e\xcf\x6c\xc0\xa4\x95\xf5\x33\x41\x8e\x7c\xf6\x78\x5c\x5a\x53\x7d\xc3\x1e\xa3\xdb\x50\xbd\x8e\x79\x94\xa7\xae\xde\x08\x64\x9e\xdb\xc8\x3a\x7b\x89\x7a\x0a\x31\x17\xfb\x3a\x8a\x07\x84\x3b\x45\x00\x7a\xa7\xb5\x7e\x6c\x08\xa6\x1f\x7e\xba\x2c\xa9\x37\x0b\xbe\xc0\x3b\x76\x8b\x86\x33\x0d\x8d\xb3\x72\x4b\xa5\xd6\x76\xc6\x74\xb8\x2a\x6a\x22\x70\x01\xc2\x16\xf9\x9c\x71\x30\x72\x9b\xc4\x6a\x1e\x7f\x25\xd1\xf0\x46\x4b\x40\x5a\xe3\xf5\x67\x30\x97\xca\x04\xad\x99\xfc\x67\xf8\xda\xa4\x21\xf4\xd0\xb7\x68\x94\x7f\xfb\xed\x9f\x22\xf4\xd9\xfd\xf1\xe7\xff\xfc\xcf\x3f\xfd\x79\x93\x34\x15\xa7\x90\x43\xbb\xc5\x1a\xf9\x22\xab\x65\x91\x28\xdc\x81\x65\x4e\xb5\xc3\x2e\xd8\x03\xd8\xb4\xfc\xdb\x60\x9f\x07\x31\x49\x78\x66\x4f\xb8\x0c\x4f\x26\x2a\x1d\xcd\x22\x92\x40\x12\xd5\x2b\x73\x08\x2f\xec\x5a\x89\xfe\x7f\xad\xc2\x43\xd5\x47\x65\xbb\xd8\x29\x9a\x78\xf1\x5a\x37\x82\xbe\xb6\xf6\x3f\x05\x0e\xc4\x6f\xdc\x05\xc7\x93\x98\x08\x33\x26\x6f\xb2\xf3\x86\x44\x60\x0e\xe4\x73\x96\xf0\xd8\x15\x0d\x28\x70\x14\x28\x08\x08\x83\xcf\x58\x73\xee\x9e\x85\x20\xb5\x79\xab\xe0\x79\x99\xe2\x88\xd8\x1c\xeb\xaf\x3f\x9f\xea\xdf\x7a\x68\x71\x0a\xc1\xa9\x3d\xf4\xeb\xa9\x45\x1a\xc4\x42\x8d\xf5\x4f\xdf\x38\x59\xdb\x36\x01\x83\xa6\x12\x7d\x75\xf2\x84\xc5\x09\xb0\xe7\x13\x33\xa2\xaf\x2c\x67\xf5\xd5\xa2\x43\xd9\x3c\xe1\xfc\xd1\x06\xee\x2e\x7d\x78\xe2\xe0\x88\x81\xbc\xbd\xdf\xc4\x6c\xbd\x07\x35\x52\xe8\x08\x5e\x20\xe8\x38\x9b\xa0\xe3\xbf\x4b\xce\xd0\xf1\x02\xa7\x89\xfd\xd5\x3d\xb5\x71\xc5\x58\xda\x5c\xbb\xd8\xc7\x08\x25\x0b\x63\x29\xfd\x2e\xe1\x13\x98\xd5\xa5\x9b\xa9\x89\xcc\x85\x81\x16\xb7\x4f\x71\x61\xd9\x89\x38\x10\x0f\xc0\x5e\x4c\xb9\x32\xaf\xd8\xb4\xd9\xe5\x59\x7d\xf6\x43\xfa\x6f\xe3\x17\x86\x45\x71\xc9\x81\xc6\x38\xec\xa3\xe2\x74\xa3\x9f\xd1\xd7\x96\x05\x7d\xa3\xef\x18\x1b\x06\x6d\x96\xa1\xae\x83\x85\xef\xe0\xe7\xa0\x03\xca\x90\x49\xf7\x5c\xf1\xe5\xaf\x27\xc7\xc7\xc7\xfe\x6b\x40\xfc\xf9\x7f\x11\x55\x92\x24\x53\xd3\x92\xbb\xc1\x16\x23\x76\xe9\xca\x91\x39\xe3\x75\x01\x74\x9e\x09\xae\x78\xc4\x13\x74\x54\x18\x74\x63\x1e\x49\xf4\xef\x5a\xac\x0d\x96\x12\x7e\xd4\x7a\xdc\x4a\x90\xde\x57\x3a\x54\xd6\x20\x5e\x3d\x56\x21\x02\xae\x57\x6c\xb1\x0c\x93\x9c\x81\x16\x34\xe5\x9c\x58\x94\x5c\x21\xf4\xcb\xe4\xb3\x82\x47\x0d\x90\xd1\xb5\x21\xf2\xf5\x37\xe5\x12\xbb\x2d\x90\xa3\x0d\x59\x37\x2c\x80\xc5\x0a\xb5\x9c\xc1\xcc\xb3\x17\xba\x4f\xf4\xe5\xc2\xc2\x02\x59\x32\x4f\x53\x2c\x16\x27\xc5\x69\x5b\x26\xce\x02\xa5\x16\x78\x4c\xe2\x16\x00\x5c\xb8\x89\x3d\x5a\x36\x8a\xc1\x8a\x97\xee\x46\xf3\x67\x37\xfa\xff\xd8\x7b\xb7\xee\xc6\x8d\x24\x5d\xf4\xbd\x7f\x45\x1e\xef\x87\xaa\xda\x43\x51\x2e\xf7\x9e\x59\x3d\x35\xcb\x6b\x1d\x59\xa5\xb2\xd5\x5d\xa5\x52\xeb\x62\xf7\x3e\xcd\x5e\xac\x24\x90\x24\x73\x04\x66\xc2\x48\x40\x32\xfb\xf2\xdf\xcf\xca\x88\xc8\x0b\x40\x00\x04\x44\xa9\xec\xee\xf1\xc3\x4c\xbb\x44\x32\x33\xf2\x16\x19\x19\xf1\xc5\x17\x50\xe1\x3b\x62\x7b\x12\x2a\xd1\x29\xed\xeb\x90\xd5\x5a\xb7\x58\xfc\x77\x76\x6d\x15\x87\x88\x31\xc1\x19\xa7\x4a\xa4\x3f\xa3\x6f\xb8\x1f\x77\xa8\x6f\x3d\x37\xa5\x55\x94\xab\x11\xe1\xd1\xf3\x8f\xd7\xee\x37\xc3\x2f\x5d\x98\x87\xba\xc9\xce\xb3\x98\x5b\x58\xad\x58\xc1\x1f\xc2\xf5\x0b\xd8\x0e\xf4\xce\x54\x3e\xe7\x17\xff\x7d\xaa\x2f\x65\x66\x6f\x2d\xd8\xe3\xd3\x99\xaa\xfd\x79\xc2\x44\x26\x37\x52\x79\x6c\x1d\x2a\x77\xbd\x44\xeb\xf9\x4e\x96\x76\xc9\x4c\x7a\x67\x35\x98\xe3\xc4\x8c\x9e\x54\x27\x6a\xeb\xb6\x8e\x0f\x4c\x91\x07\xa2\x32\x56\xae\xf0\x46\x07\x36\x00\x99\x8a\x23\x32\x48\x65\xb4\xf1\xe0\xfc\xce\x94\x6d\xcd\x9d\xa5\x00\x43\x8e\xda\x8b\x9a\x3b\x72\x65\xa2\x22\x0d\x00\x7d\xd4\xb0\xc4\xde\xfe\x6d\x31\x50\xce\x54\xb5\x39\x34\x89\x85\x60\xc9\x3f\x97\x9b\xee\xb2\x10\xee\xa6\xa2\x84\x28\xa1\xaa\x8d\x3b\x50\x23\x76\xdc\x19\x99\x3f\xa9\x48\x32\x8e\x2c\x7f\xb6\x21\x40\x3e\x4e\x30\x40\x9a\x47\x7d\xe1\xf5\x82\xdd\x60\xe5\xc9\x4c\xa8\x97\xf8\xef\x57\x8c\xee\x86\x2f\x27\x74\x9f\x17\xc6\xb3\xa7\xe1\x9a\x43\xe5\x72\x91\xa2\x0f\x1d\x6a\x75\xac\x78\x91\xa2\xb7\x3c\x7e\x55\x60\x66\xb0\xb5\xbf\xb6\xba\x62\x0f\xd2\xac\x67\xea\x46\x3b\x87\x23\x53\xda\x57\x3b\x99\xc0\x63\x74\xa7\x3f\x6e\x40\x09\x80\xd4\x6d\x3b\xc0\x2a\xe1\x83\x72\x98\x00\x44\x3b\x57\x3a\x15\x87\x91\x3f\xde\x84\x58\x85\x8b\x5f\x17\x02\xf3\xcc\xe0\xa6\xe8\x4a\xd3\x15\xc6\x8c\xf4\xcd\x37\x17\x1e\xee\x21\x6a\xc7\xf6\xaa\x1f\x46\xd5\x9c\x89\x79\x55\xfd\xad\x06\xad\xb8\x17\x67\x94\x65\x5c\x9b\x7b\x5f\x43\xe4\xd0\x45\x48\x5a\x98\x1e\x07\xdd\xfd\x38\xf6\x04\xa6\xdd\x03\x8c\x39\x5b\x15\xba\xca\x7d\x2a\xbe\x4b\x23\xc4\x65\x20\x9b\xe6\x5c\x2d\xf5\x1b\x7a\x53\xbd\x97\xea\x0e\x77\xfc\x73\xad\x11\x96\x89\x11\x69\x8d\x02\x97\xee\x30\x9c\xf1\x23\x26\x55\x92\x55\x70\xf1\x99\x92\x27\x77\x58\xea\xa6\xcb\xe9\x6b\x7f\x33\xdf\x9f\xa4\xd9\x61\x31\x55\x59\x46\xdd\x86\x0b\x14\x48\xe6\xc0\x05\x74\x2f\x39\xe3\xec\xf6\xea\xbc\xbd\xef\x3b\xb9\x1b\xcc\x69\xbf\x3d\xeb\x1b\x04\xfe\xdf\x1f\xe4\x28\xdc\x65\x83\x52\x58\xd4\xb6\xba\x77\x2e\x75\x11\xd6\xe3\x26\x2d\xed\x03\x22\xbd\x6a\x71\xed\x8f\xde\xa7\xab\xbc\x9a\xdb\x89\xca\xc6\x00\x04\xac\x14\xdf\x5e\xde\x9e\x44\xbf\xeb\xdb\x2a\xdf\x5e\xde\xb2\xa8\x0f\x24\x8b\xce\x44\x52\x7a\xa4\xf1\x94\x9d\x86\x1a\x0e\x4d\xcb\x3c\x15\xf7\x32\xc1\xd4\xd9\x89\xb5\x8a\x66\x0a\xa8\xd1\xed\x5b\xe7\xc8\xf1\x69\xb2\x6f\x2f\x6f\x89\x85\x33\xf0\xe6\x60\x39\x0a\xa0\xc6\x18\x77\xed\x34\x48\xc9\x95\x56\x47\x48\x19\x54\xa4\x21\xda\x31\x81\xc7\x75\xc2\xf3\xb2\x22\x03\xe3\xfe\xf5\xd4\xad\xc9\x55\x88\x84\x58\xb1\xf4\x4c\x59\x5b\x09\x73\x0c\xa0\x26\x9e\x1d\xf4\xee\xd2\x36\x26\xf5\x10\x70\x00\x4c\xda\x41\xca\x5f\xfa\xcc\x41\xae\xb6\x8c\x17\x0b\x59\x16\xf6\x19\x86\x3f\x9e\x20\xc3\xd9\xda\xd5\x3d\xc3\x75\x0b\x96\x11\x95\x31\x84\x05\x96\xaa\x34\x33\x15\x25\xc0\xf8\x6c\x63\x4c\x5e\x90\x8a\x01\x95\x30\x60\x6f\x1c\xb5\x69\x92\xe9\x2a\x75\xd7\x6a\xe1\xcb\x22\x6e\x73\x34\xa2\x66\x0a\x18\x4f\xec\xdd\xaa\xad\x19\x1a\xee\xfe\x37\xec\x93\xba\x97\xa9\xe4\x47\xa5\x30\x19\x3f\x2a\xff\xcf\xa7\x49\xe3\x4f\xfc\xf5\x97\x5f\x7e\xc2\x0a\x8f\x5d\x74\x0e\x11\x6b\xd3\x81\x0e\x9e\xf6\x38\x85\xe7\x3f\xb4\xbb\xf4\x80\x75\x7a\x2f\xef\x04\xfb\x84\xcb\xfd\x89\xc8\x8f\x1f\xb7\x6c\x33\xd5\xb6\x6e\xec\x31\xcb\x06\x54\xf4\xed\xeb\xc6\x7a\x96\xed\xf5\x6a\xfa\xef\xab\x85\x5d\xad\xaf\x56\xd3\xd7\x5f\xc2\x7f\x36\xd6\x68\xdf\xe1\xf5\xd9\x33\x6d\x62\xb7\x28\xa2\x96\x63\xe9\x75\xd1\x4c\xed\x57\x46\x6c\x9c\x2e\x82\x5d\xdb\x76\xf0\x79\x29\x0e\xcd\x9a\x45\x4e\xec\x11\xe8\xeb\x1d\xb2\xf1\xde\x88\xe0\x81\x4c\xdd\x81\x65\x1b\xe0\x9e\xdd\x94\xe1\x31\x00\x17\x3e\x1c\xc1\xf3\x03\xdf\x1f\x36\x9e\xc6\x77\xf7\x0c\xa7\x5f\xcc\x4c\x88\x11\xcc\x34\xd7\xf6\xeb\x03\x85\xac\x7d\xb5\x4f\xc6\x07\x8e\x75\x26\x77\x8b\xe0\xa4\xf4\x5a\x1f\x73\x8a\xdc\x76\x44\x97\x89\xf1\x69\x83\x5e\x12\x07\xad\xf4\xef\x6b\xd7\xef\x8a\xce\x52\x5c\xc6\xd2\x47\xdd\x5a\x36\x7e\xe4\x8a\x38\x10\x0a\x67\x9f\xd4\xf3\xcd\x60\x82\xf5\xd0\xf1\x5b\xfa\xf1\x87\x1d\xba\x75\x6f\x5e\x7e\x80\x8c\x6f\x4f\xb2\xb5\xe1\xca\x5a\x6b\xae\xd7\x8e\xc0\x12\xbe\xf2\x1f\x25\xd2\x6d\xfe\x28\x81\xb0\xc7\x61\xc9\x5a\xae\x2b\xd7\xca\x03\xc6\x56\x79\x86\xb1\x83\x72\x0d\x6e\xe5\x50\x19\xd9\xa9\xb9\xe0\x5e\xc6\x2a\xca\x19\x2f\x56\xe8\xf4\x32\xa2\x34\xaf\x5a\x56\x38\xe4\xb1\x1d\xb0\xc2\xce\xec\x9a\x8f\xe3\x0f\x71\xf6\x18\xb8\x54\xfa\x4e\x9a\x97\xb2\x5e\x6c\xc3\xbf\xb4\x5c\xff\x31\x93\x7c\x48\xae\x4b\x74\x81\x95\xa9\x80\xe7\xb5\x9b\x5f\xeb\x40\x9a\xd9\x0b\xbe\xf1\xec\x31\xd4\x9a\x4b\xf9\x45\xe1\x16\x02\xea\xc4\x74\xcb\x30\x88\x43\x76\xa8\x08\xc4\x74\xdb\x25\xc1\x4c\x9d\xb8\xaf\x04\xb6\x6b\x23\xd1\xcb\x82\xe9\x88\xd5\x02\x33\x5c\xc0\x67\xc6\xc3\xac\xd3\xe0\x3a\x06\x31\x36\xd1\xbf\x31\x84\x5b\x23\x8a\x70\x1b\x05\x36\xd4\x78\x1c\x1d\x3d\x0f\x63\x43\xee\xd5\xe8\x6e\x88\xd4\x94\x9b\xcb\xb6\x8e\x87\x3f\x54\xa8\x21\x22\xc2\x46\x14\x03\xe4\x05\x64\xdb\xb0\x4d\x03\x69\x7a\xa3\xb3\xdd\xd3\x5a\x1e\xa4\x8d\x25\xdf\xcc\x0b\xdd\x5d\xb8\x7b\xc0\x34\xb9\x26\x6a\x3e\xfb\x35\x16\xf2\xdc\xb2\x1f\x2b\x9e\xe1\xe5\xa6\x68\x3b\x3a\xb1\xc1\xfd\xf1\xd5\x7f\xb0\x13\xb8\x7d\xd8\x07\xd0\x8b\x00\xda\x82\xd6\x4a\xcd\xe4\x26\x17\x85\xd1\x8a\x77\x56\xb0\xbf\xfb\x9d\x99\x53\x15\x5e\xfb\x34\xd6\xd5\x6e\xc5\xdd\x11\x23\x69\x69\x2d\x1e\x14\x67\x77\xd5\x42\x14\x4a\x60\x95\x7e\xf8\x1e\x73\xdf\x1b\x24\xae\xe6\x55\xb9\xfe\x6a\x9e\x64\x72\x70\x69\x60\xc8\x18\x3d\xb1\x3f\x3b\xc5\x5f\xf5\x0d\xa0\xd6\x7e\x4d\x74\xc5\xf0\x33\x86\x9f\x4d\xd9\x37\x3c\xb9\x13\x2a\x65\x79\x56\xad\x24\x11\xcf\xa0\xb9\x2f\xeb\x0f\xfb\xfa\xc0\xd0\xb6\xc0\xf6\xed\x35\x34\x53\x1b\x7e\x87\x45\x5d\xc8\x88\xb4\x2f\x87\x2e\xda\x42\xef\x2a\x99\xcb\xdd\xbd\xbb\x77\xb5\xfc\x7d\xb8\xdb\x4c\x73\xef\x99\x0a\xf3\xe5\x1e\xd6\x9a\x50\x46\x35\x4f\xcd\x88\x83\xeb\x77\xeb\x0e\x3f\x98\xe3\x70\x31\x22\xa9\x0a\xfb\x0d\x12\x06\x4f\x2f\x84\xf0\xa0\x30\x51\xa5\x18\x07\x8a\xb1\x17\x86\x55\xb9\xb3\xcf\x20\xb6\x94\x01\xd2\x07\x97\xc0\x7e\x90\xcb\xe4\x0e\xb1\xa5\x90\x3d\xc1\xfc\xf0\x76\xca\x7a\x33\x11\x40\x8e\x6d\xaa\x61\x89\x04\x3b\x87\xe1\x56\x76\xea\x1a\xed\xd9\xa7\x03\x33\x43\xca\xb5\x50\xf3\x47\x94\xd7\x19\xbe\x68\xb5\x2c\x10\x32\x83\x7d\x8c\xce\x4f\x61\xa5\x24\xd1\x69\x87\x37\xb6\xaf\x1d\x21\x97\x0d\x33\x5a\x1a\x66\x78\x29\x8d\xd5\x65\xad\x33\x1e\x68\x8d\x0e\x99\x75\x3e\x8e\x4b\xa9\x85\x47\xa9\x31\x17\x3e\xd3\x6c\xca\xde\x41\x64\x23\x7a\x19\x68\xcf\x4a\xd4\xa5\xb0\xca\xb5\xe8\xa4\xe7\x7d\x0a\x88\xa6\x1b\x41\xf4\xfd\xde\x80\x95\xcf\x2a\x9c\xb2\x93\x10\x51\x46\x5e\x26\x8c\x15\xef\x19\x91\xc8\x8c\x78\xcc\xe6\x1b\x14\x7c\x01\xd4\x15\x6c\x20\x06\x96\x94\xb1\x7f\x0f\x3c\xed\x5e\xcc\x07\x48\xdc\xe7\x77\x42\xf5\x79\xd8\x87\x4b\x88\x21\x90\x5e\x97\x80\x8f\xad\x68\x0c\xaf\x3c\x46\xc0\xe1\xc7\x2e\x50\x61\xc9\xe5\xb1\x9d\x72\xfb\x0c\x49\xee\x28\x5d\x10\x23\x6c\x44\xa6\xf5\xb0\xd6\x26\x3e\x67\x6e\xfd\xf0\x25\x5b\x54\xbe\x6a\x16\xa4\x5b\xfa\x09\x46\x9c\xa5\xd2\x31\xd7\x16\x48\xed\x0f\x29\xba\x75\xfc\x7a\x33\xa7\x42\x61\x1a\x00\x99\xe0\x9a\x6a\x39\xcd\x2a\xaf\x9e\xaa\x2a\xcb\x7e\x82\xeb\xdd\x19\x6e\x17\xe8\xf0\xfa\x30\xcf\x52\x3b\xdc\xd3\x8d\x22\x4a\x2b\x40\xee\xf1\xaa\x93\xc5\x23\xe2\xc9\xa1\x40\x77\xa3\xaa\x30\x81\x05\xbc\x0b\xd0\x2e\x6b\xc8\x9e\x82\x4b\x96\xc3\xed\x28\x32\x9d\x37\x51\x25\xbc\x5b\x52\xf0\xa8\x36\x45\x8d\x57\xe0\x0f\xbf\x33\x1f\x61\x9e\x9f\x82\x90\x07\x3d\xad\x4f\x9f\x0c\xf7\x48\x18\x80\x87\x79\x3b\x0f\xb0\x86\x44\x19\x32\x55\x72\x9d\xb2\xb0\x35\xba\xb2\x8d\x94\xd2\x08\xf3\xfd\x05\x0e\x2b\x12\x6e\xf0\xd8\xf6\xed\xd0\x0f\x11\x56\x90\x2d\x2a\x99\xa5\xc8\xd4\x18\xbd\x11\xb4\x33\x42\xa1\x44\x14\xec\x56\x69\xbc\x89\xd1\xbe\xc7\x2e\x75\x7a\xc8\xc6\x1a\xcf\xc6\xbb\xbb\xaf\xfb\xa6\xd4\xc7\xfe\x22\x3c\xd7\x66\xff\x4c\xe4\xba\x3b\x09\x24\x9d\x9b\x7a\x4d\xe4\x1e\x81\x01\xf5\xb7\xa8\x96\xd7\x50\x80\xb5\x8b\x98\x2a\xaa\x4d\xe8\x32\xcd\xed\x3a\xdb\x6e\x7c\xde\x63\xd7\xa2\x10\x88\x2c\x58\x84\x9c\xfd\xfe\xfa\xe3\xc5\xd1\x86\x17\x66\xcd\x81\xf8\xc3\xb5\x35\x71\x35\xed\xd1\x63\xe2\xc0\x2d\x52\xcd\xd4\x11\x5b\xe9\x09\x42\xa9\xde\xb0\x75\x59\xe6\xe6\xcd\xf1\xf1\x4a\x96\xeb\x6a\x31\x4d\xf4\xe6\x38\x4c\xcd\x31\xcf\xe5\xf1\x22\xd3\x8b\xe3\x42\x40\x32\xcd\xd1\xeb\xe9\x57\xaf\x61\x65\x8e\xef\x5f\x1f\x03\x80\x66\xba\xd2\xff\xeb\xfd\x57\xff\xf9\xdb\xff\xb0\x0d\xe7\xdb\x72\xad\xd5\x1b\xc2\x69\xf5\xb6\x7d\x84\x0f\xb5\x63\xfc\x49\xa3\x97\xff\x9c\x7e\x19\x8b\x41\x5f\xdd\xe8\x54\x64\xe6\xf8\xfe\xf5\xdc\x2d\xcc\x34\xef\xa8\x1a\xf2\x6b\xfa\xc9\x67\x48\x3f\xb9\x93\xe5\xaf\xe9\x27\x3f\x6b\xfa\xc9\x70\xa3\xd7\xeb\x18\xe0\x09\x0f\xfa\xd1\xfe\xdd\xeb\x48\x17\x8d\xd9\xa7\x87\x5a\x2e\x87\x38\x39\xf0\x80\x2b\x62\x64\x11\xbf\xc6\x70\xfd\x6b\xb2\xc3\xeb\x3a\xb6\x56\x4f\xe7\xfb\x6e\x14\x17\x0a\x80\x3d\x65\x02\x75\x20\xd0\x4b\x9c\x73\xd9\x96\x54\x12\xd5\x2e\x3a\x60\x0a\xb1\x96\x4a\x3b\xf1\xdb\x90\x92\x63\x54\x75\x4b\xa4\xf3\x27\x29\x3e\xd6\xda\x07\xe2\x62\x47\xb7\xbf\xf3\xf2\x19\xf0\x38\xa1\x77\xc2\x41\x33\xfa\x8c\x65\x62\x9e\xba\x3e\x0c\x0d\xf7\x91\xb5\x61\x32\xfc\xb5\xc3\xb5\xeb\x07\x57\x13\xe6\x29\x2a\xa9\x8c\x7d\xb1\xe1\x26\x05\x59\x9c\x5c\x1d\x62\xac\xb9\x79\x5c\x82\xc4\x09\xd2\x30\xfb\x67\x1c\xa2\xcb\xa5\x71\x1d\xba\xdb\xd8\x31\x50\xd9\xcb\xdd\x11\x5d\xe6\x55\x91\x6b\x23\xcc\x94\xbd\xd3\x05\x52\x9b\x11\xef\x50\x48\xfa\xb8\x7a\x77\xca\x5e\xff\xee\x3f\x7f\x3b\x53\x2f\x5b\x8c\x21\xb8\x44\x75\xb1\xa2\x1c\x14\x30\x81\x36\xdc\x94\xa2\x38\x2e\x96\xc9\x31\x5e\x1d\xc7\xf6\xf7\x47\xd4\xe9\x91\x5e\x1e\xf9\x32\x11\x47\xc4\x98\x3f\xdd\xa4\xaf\xba\xd0\x99\xed\x06\xf7\xcf\xf6\xe8\x39\xe9\x30\xcc\xdb\xd6\x77\xbf\x62\xad\x1d\x21\x34\x44\xc8\x0a\x31\x60\xb1\x20\x1d\xa5\x5e\xfa\xc2\x46\x98\xeb\x8c\x35\xd0\xf4\xb2\xe5\x3f\xbe\xc9\xf4\xc2\xbc\xf2\x24\xb8\xdc\xb8\x3e\x02\x2b\x65\x9b\xde\xde\x39\x73\x87\xbc\xbe\x69\x2a\x9e\xd3\xb1\xe9\x74\x62\xbc\x6c\x63\x26\xbe\x5d\x69\x04\x5b\x10\x39\xb9\x78\xa1\x2b\xe5\x2a\x87\x68\x25\xf4\x12\xa0\x5e\xf0\x4c\x72\x48\x55\x88\xed\x00\xfe\xd1\xf3\x6f\x15\x22\x47\xeb\x03\xa2\x90\xdd\xd3\x7d\x60\xf5\x9c\x7d\xf3\xfc\x1c\xd5\x73\x0e\x9d\x77\x52\x8c\x3f\xd3\x84\x1f\x9a\x4e\x82\x47\x69\x0c\x0a\xcb\x7e\x7f\x2f\xe2\xc2\xeb\x81\x50\xbd\x3b\x14\xaa\xc8\x79\x01\x16\xbc\x38\x2a\xf5\x11\x10\x17\x02\x1d\x1e\xd6\xb3\xea\x82\x61\x01\x52\x65\xcc\x75\x6f\xbf\x3f\x40\x4e\x7c\xb5\xfd\x14\x09\x4a\x06\xab\x41\x16\x78\x82\xe5\x4b\xa5\x44\x41\x31\xf8\xbd\x96\xc1\x48\x1c\x4b\xbc\x94\xfd\xa8\xfc\xe0\xa6\x88\x6b\x0d\xf9\x9c\x4c\x1e\x29\x81\x29\x83\xa7\xc9\x5a\x6f\xb4\xb5\x75\x75\x65\xa2\x0f\xf1\x69\x0b\xc6\x44\xa7\x61\xbe\xe1\x39\xda\xab\x3f\xdf\x68\xec\xd1\xb2\x1f\x61\x10\x20\xfe\xd2\xa8\xf2\x6d\x8b\x7a\xc1\xaa\x3d\xf2\xfb\x4a\x43\xfd\xfb\x06\x50\x52\x1b\x08\xba\xae\xf9\xbd\x70\xf5\x43\xe4\x5f\xed\xa3\xd7\x6e\x29\xff\x8c\xf4\x16\x08\x82\xfa\x90\x8f\x3b\x86\xb0\xba\x5b\xb7\x93\x31\xa7\xda\x8c\x5c\x03\x9f\x68\x36\x64\x01\xc0\xfb\x5d\x6d\x7c\xce\xd5\x51\x6b\xd2\x55\xd7\xb9\x04\xbf\x5a\x65\x5f\x26\x8e\x33\x7e\x9c\xa8\xd7\xbe\x01\xa2\x87\xdf\x95\x3b\x50\x6e\x42\x86\x1e\xce\x31\x2a\x04\x67\x5b\x74\x01\xbd\xc7\x1f\x46\x28\xde\x37\x66\xee\xa0\x13\xdc\x9c\x3b\x33\x18\x9d\x85\xae\x09\x1c\xe7\x7f\xed\x73\x67\xb6\x61\xfc\x91\xa5\x38\x64\x70\x5b\x29\x77\x3c\x0b\xfe\x87\xf7\xa1\x40\x34\x40\xa0\x17\x15\x7c\x7e\xf1\xf1\x26\x46\x77\x49\x1c\xed\x51\xb2\x16\xc9\x1d\x78\xd3\xf0\xca\xc3\xc3\x40\x84\x04\x00\x39\x0f\x65\x65\x4b\xed\xa0\x4a\x5b\x5f\x69\xc7\x57\x9b\xd2\x05\x4b\xa5\xc9\x33\xbe\x05\x50\x88\xc2\x5c\xcd\x00\x28\xf1\x49\xce\x56\x15\xec\x0b\x26\x0c\x5f\x69\xbb\x2a\x27\xe1\x77\x63\xe7\x32\x80\xef\xc3\x64\xee\xea\x03\x66\xc4\x86\xab\x52\x26\x33\xb5\x11\x5c\xc5\x28\x5e\x02\xc5\xd8\x49\x4e\xb5\xa0\x9a\x11\xcb\xa5\x48\xca\x40\x3a\x0d\x8f\x10\x3f\x53\xfb\xce\xe0\xb8\xb1\xfb\x93\xd7\x3b\xf4\xef\x5c\xe9\x6b\xb9\x01\x8c\x38\xed\x21\xba\x1a\x1f\x19\xec\x85\x32\xc4\x74\xe5\xba\x47\x2d\xfc\xcb\xed\x29\xb6\x10\xe5\x83\x00\x4e\x25\x22\x81\x68\xb3\xf1\x0f\x2e\x45\x75\x48\x02\xe5\x89\x8f\x22\x12\xc5\xfe\x0e\x89\x32\x1d\xb0\x18\x7c\xea\xc9\x1f\x55\x83\xc5\xf1\x05\xd1\x52\x80\x2b\xf0\x05\x39\x35\x5f\xc0\x35\x6d\x5f\xc1\xc5\xbd\x48\x67\xaa\x4e\xad\x49\x36\x63\x38\x70\x2c\x14\x59\x7d\x1a\x6d\xe3\xe6\x78\x50\xa0\xe7\x0c\xe8\xc4\x02\x91\xb8\x27\x5e\xe8\x29\xfa\xda\x1e\x5f\x7e\x86\x7a\xa2\x83\x1f\xc3\xa1\x0e\x2b\x15\x51\xa4\x9a\xcb\x35\xfc\x95\xdf\x94\x9e\x38\x10\x59\x85\x3d\x60\x9e\x9c\xd6\x3b\x6e\xf0\xb6\x36\x66\xca\x31\xea\x2c\xab\x0c\x99\xe2\xbb\xf2\x96\x88\x47\xd4\x65\xff\xfe\x7c\x59\xe0\xde\xe9\xca\xa2\xba\xb5\x1e\x26\x15\x25\x2f\xa0\xae\x73\xbb\x5e\x28\x53\x81\x49\xe1\x4a\x56\x42\x54\x62\x25\x4a\xb8\xcd\xd3\x2a\x43\x82\x18\x08\xa7\x00\x27\x29\xcf\x32\x26\x4b\x33\x53\x9e\x42\x15\x93\x93\x40\xc3\xba\x78\x4b\x4a\x4f\x2e\xe8\x02\x9a\x85\x8f\xb9\x02\x3b\x4c\x26\xb2\xdc\x49\xf9\xd8\xc6\x65\xde\xf2\x5c\x70\xe4\x33\xc0\x65\x9b\xa9\xf8\xcd\xd5\x5c\x04\x4a\xfe\xe7\x99\xe4\xe6\x29\xf2\xf0\x7b\x1c\xb7\xb6\x8b\x47\xe1\x9c\x70\x74\xf6\xc1\xe5\x2a\xb8\xa3\xb4\xc4\xa1\x44\xc8\x6c\xfb\xaa\x29\x8d\x0b\xa0\x84\x77\x2b\xe4\x35\x25\x55\xc6\x0b\x4c\xe8\x5a\x56\x19\x93\xcb\xa8\x18\x3d\xac\x01\x12\x68\xda\xe5\x4a\x34\xdc\xd5\x2e\x84\x62\xf8\x46\x44\xdc\x3d\xe4\xde\xc9\x22\xcc\x15\x56\x05\x41\x30\x8f\x6d\xeb\xd5\x94\xbd\x0d\x14\xc1\xb8\xc2\x70\x26\x22\xe2\x6d\x69\x50\xfd\x79\x79\x23\xda\x09\x18\x9d\x15\x51\x2b\x7b\x22\xfd\xa9\xeb\x58\x41\x28\xe0\x33\x0e\xd0\xe5\xca\x37\xf5\x67\x19\xb4\xd2\xce\xd8\x9f\x36\x60\x5e\xfe\x40\x74\x08\xe8\x6e\x85\x91\x42\xc6\xa4\xe5\x8f\x10\xd4\x93\xc2\xb7\x08\xbb\xe9\xa9\x7d\x0f\xeb\x38\x52\xd4\xa8\x92\xe4\x78\x41\xa3\x9d\x13\xc3\xf7\x86\xcc\xec\x8a\x97\x63\xb1\x7c\x3e\x79\x6f\xbc\xa0\xad\xb8\xc9\x21\x62\x82\xf6\x18\x29\xe7\x89\xfd\xcd\x23\x05\x35\xd5\xe2\x08\x15\xb4\xaf\x09\x05\xaa\x42\xf0\x64\x5d\xe7\xd1\x70\x6c\xd7\x7e\x04\x90\x47\x09\xe7\x71\x3c\x64\xeb\x24\xec\x39\x28\xa6\xc9\xac\xf8\x53\xf6\x51\x09\x44\xda\xea\x65\x74\xa9\x90\x00\x54\x75\x13\x0a\x0e\x79\x2d\xb7\xb0\x82\xa9\x3b\x47\x2f\x66\x8f\xdc\x84\xf1\xd0\x3a\x68\x3d\xdc\x36\xa8\x45\x3a\x6c\xc9\xb6\xf2\x5c\x07\x98\x97\xc3\x48\x3a\xda\xdf\xfc\x11\x60\x7d\xbc\x06\x68\x1b\xc7\xf0\x65\xe9\xcd\x3c\xf1\xaf\x38\x97\x6e\x52\xdf\x37\x0c\xe1\xe7\xfb\xe6\xf7\x72\x5d\x47\x2d\x8f\x28\x92\x79\x7b\xf1\xf6\xec\xdd\xf9\x45\xbd\x06\xe5\x1f\x6f\xcf\x6e\xeb\x7f\xb9\xba\xbd\xb8\x38\xbf\xf8\x36\xfe\xd3\xf5\xed\xe9\xe9\xd9\xd9\xdb\xfa\xf7\xde\x9d\x9c\xbf\x6f\x7c\xcf\xfe\xa9\xfe\xa5\x93\x6f\x3e\x5e\x35\x6a\x69\xb6\x14\xc2\xbc\x39\xff\x70\xf6\x76\xfe\xf1\xb6\x56\x8e\xf3\xed\xff\xbd\x38\xf9\x70\x7e\x3a\x6f\x91\xe7\xea\xec\xf4\xe3\xf7\x67\x57\x7b\x8a\x66\x86\xf1\xb6\x4e\xe9\x53\x60\x0b\x1f\x5d\x5b\xf5\x84\x2d\x0b\x29\x54\x9a\x6d\x31\x57\xc7\xbd\x6c\x1b\xe0\xfb\xf8\xee\x95\x1b\xa1\xab\x43\x52\x6e\x6e\xd6\x82\xe9\x7b\x51\x00\x13\x1a\xb6\x46\xb4\x29\x81\x75\xa1\xd9\x6b\x21\xca\x62\x37\x2a\xd0\x9b\x59\x58\x16\x5b\x9f\xbb\xda\x27\x4e\x60\xd1\xa4\x4e\x58\x2e\x8a\x3e\x59\xc0\x32\x2a\xaa\xbc\x94\x8b\xee\x24\xaa\xd1\xe4\x03\x43\xdf\xde\xc8\xf9\xdc\x4e\x90\x77\xd1\xae\x18\x6b\xb9\x44\x87\x24\x2a\x40\x0b\x8f\x2d\x19\xec\x7f\xed\xc0\xdd\x79\xb5\xc8\x64\xc2\x64\xda\xf4\xa7\x10\x27\x08\xb8\x8c\x9b\xd4\xf0\xb9\x28\xc0\x54\xb5\x2f\x80\xbc\x10\x47\xbc\x2a\xd7\x48\x63\x4a\xa9\x4b\x54\xc8\x67\xa6\x8c\x48\x0a\x81\xb1\x00\x61\xc0\x49\x8b\x25\x61\xa3\x9e\x40\x18\x62\xf1\x49\x81\x30\x70\x1a\x95\xe9\xe9\x88\x11\xe0\x2f\xb1\xf5\x11\x4e\x52\xfc\x7e\xef\xd4\x90\xc4\x12\x8b\xce\x46\xb0\x30\xb8\xe1\xf1\x43\x57\x58\xd6\x8e\xdb\x6a\x6a\x5f\x58\x15\x17\xd9\xe5\x7a\xb5\x0f\x63\xdf\x1e\x8b\x37\x4a\x3d\xf9\x89\x5a\xa7\x8f\x4e\x0b\x01\x97\x08\x41\x1a\x9c\xff\x02\x70\x4d\x94\x1b\x06\x29\x61\xf6\xa9\xb6\x10\x6b\x9e\x2d\xd1\xe2\xb0\x4b\xd3\xce\xac\x82\xed\xdf\xe8\x3b\xa1\xae\x70\xc1\x7e\x16\x75\xa8\xf0\xe5\x13\x78\x9d\xbc\x47\x28\xb8\x30\xad\x8c\x6e\x57\xb9\xdc\x58\x30\xa6\x4a\x7c\x27\x44\x1f\x63\x0a\x58\xa8\xda\xe0\xd2\x6a\x97\x4b\xf9\x93\x6d\x70\xa6\x44\x2b\x6f\x3d\x80\xc9\x1c\xc3\xa6\xd7\xcb\x00\x9c\x43\x9a\xc2\x3b\xa1\xa0\xa6\x2c\x10\x24\xee\xdf\xb3\xe3\xfc\xe7\xbb\x6b\xd1\xe3\xd0\x07\x9f\x9f\xac\x95\xda\x8d\xa3\x3c\x6e\x9e\x4a\xcc\xc9\xf3\x3c\x24\xb0\x6f\x4e\xdf\x9f\x9f\x5d\xdc\xcc\x4f\xaf\xce\xde\x9e\x5d\xdc\x9c\x9f\xbc\xbf\x1e\x7a\xfc\x9e\x22\x8f\xb2\x71\xfa\x9a\xe9\x84\x5e\x43\x1c\xd3\xc9\x0b\xe9\xfc\x7e\x50\xe1\xd8\xc1\x92\xec\x97\x5e\xa6\xf9\x3c\x95\x26\xb1\xd7\xdf\x76\x2e\x54\x0a\x05\x3f\x1e\xb5\x55\xdb\x9b\x6a\x8e\xc2\x7f\x83\xf9\x6f\x38\x0d\x82\xb7\xdd\xbd\xdb\xd1\xfe\x73\x80\x64\x82\x1b\xb2\x10\xf6\xf0\xa7\x35\x9e\x95\xe9\xfe\x2a\x6f\xb6\xb9\xc3\xc6\x56\x6f\xa2\x39\x26\x94\x57\x1a\x53\x01\x9d\x8b\xfb\x1a\xe0\x51\x3b\x66\x85\x58\x98\xe3\xaa\x23\x32\xaa\xc4\xcf\xa4\x99\xa9\x0d\x57\x29\x2f\x75\xb1\xed\x18\xe2\x30\xe5\x19\x1f\x9b\xba\x0a\x8d\xaf\x6c\x25\x44\xea\x56\x01\xbf\xca\x55\x73\x2b\x61\x6d\x92\x9b\x8f\x7f\x38\xbb\xb8\x9e\x9f\x5d\x7c\x3f\xbf\xbc\x3a\x7b\x77\xfe\x27\x0f\x93\xcd\xb9\x69\x2b\xb0\x9d\x17\xc2\x6a\x17\x47\xf5\xd6\xaa\x5f\xb0\x6c\xb5\x6b\x87\x4a\x95\xca\xe5\x4c\x39\xcd\x52\x84\xe6\xd7\x85\xae\x56\xeb\xf6\x86\x9a\x52\x5e\x9e\xdc\x7c\xf7\x28\x31\x81\x88\x13\x6b\xdb\xe2\x69\xdb\x85\x0b\xcb\x25\xe9\x3d\xc4\x18\x37\xc4\x03\x3a\x59\xf8\x6a\x5b\x94\xa1\x43\xa3\x3d\xea\xf5\xb2\xab\xb4\x7a\x8d\xff\x96\xaf\x77\x6d\xa0\x9b\x48\x6f\xd6\xae\x11\x80\xaf\x63\x81\xf4\x9d\xd6\xde\xb4\xfc\xad\x76\x83\x7d\x75\x94\x89\xd5\x4a\xa4\xb8\xbd\x9a\x0d\x93\x0f\x8e\x54\x60\x12\xee\xf5\xb6\x59\xa4\x22\xc6\x07\x5c\xcc\x1e\xef\x35\x5c\x81\x5f\xfa\x9f\xb4\xeb\x8a\x53\x22\xd3\x82\xf8\x66\xc9\x55\x47\x20\x79\x7f\x46\x5e\x7b\xf3\x1f\x0b\xe6\x93\x25\xc9\x61\xe2\x42\x06\xe1\x1c\x74\x01\x5e\x0e\xc7\xb7\x7a\x39\xae\x44\x9e\xf1\x44\xf8\x04\x17\x64\x41\x86\x77\xfd\x63\x02\x78\x54\x2a\x5a\x91\xbf\x25\x2a\x21\x1d\xaa\xe3\xb5\x6d\x01\xf0\xdc\x1e\x9a\x93\x48\xfe\xdf\xe7\x83\xb8\x62\x07\x4f\x93\x95\x18\x86\xdc\x4c\x4b\x74\x6e\x6c\xff\x76\x7d\x5c\x5e\x62\x8b\xb0\x7b\x13\x13\x51\xa8\x2b\x77\x2f\x3e\xbf\x8b\xab\xf7\x01\x4d\x1c\xb4\xe0\xf0\xc7\x9a\xa9\x94\x9f\x82\x3e\x41\x28\x44\xdc\x99\x3b\x30\xea\x58\x36\x7a\xfe\x9e\xe6\x0c\x7d\x17\xf5\x80\x03\x57\xcd\x99\xf5\x26\x7c\x9f\xdf\xb6\x2c\x8b\x5e\x62\xf8\xa7\x08\x0b\x5d\x16\x7a\x23\x8d\x38\x29\xcb\x42\x2e\xaa\xb8\x32\xf6\x48\xe0\x62\xed\x91\x18\x06\x9c\x17\x3a\xad\x12\x47\xe5\x06\xa3\x0d\xf0\x2b\xf2\xb6\x3a\xeb\x2f\x65\x47\x56\x0b\xd0\x0b\x5a\xa4\x47\x90\x75\x83\x5c\x83\x6d\xb1\x4e\x77\x41\x75\xf8\x60\x2f\x9d\x49\xf5\xc4\xd9\xd3\xdd\x93\xe9\xf6\xc0\x30\x42\x04\xe6\xbe\x0e\x2f\x91\x0e\xf4\x1a\x6d\x97\x05\x47\x20\x43\xdd\x56\xec\x62\x6e\xf2\x57\xfe\x38\x9d\x36\x0c\xa3\x54\x4f\x6b\x43\x4d\xb2\xe6\x06\x9f\x55\x65\xb2\xae\x0b\x0e\xa3\xa9\x33\x58\x37\xc5\xf5\xcf\x94\xc3\xdc\x57\x83\xc2\x99\x13\x74\xf8\x48\x0a\x30\xd4\xaa\x11\xfb\xd2\xea\x9d\x71\x14\x4c\x7d\x99\xff\x58\x89\x31\x15\xc6\x5d\xca\xcc\x1f\xe1\x67\x7b\x81\x41\x12\x35\xb5\xf7\x81\x97\x72\x63\x2d\x51\x5e\x24\x6b\xb6\xe0\x86\xa8\x31\x63\xde\x90\x42\x18\xbb\x1e\xd2\xfe\x8a\x27\x25\x95\x86\x76\xdd\xba\xf2\xd0\x37\x0e\x92\x6a\x9f\x17\xc1\xfb\xd4\xb6\xdd\xf6\x4d\xc0\x98\x28\x82\x13\xe3\xfc\xed\xa8\x58\x4e\xfc\x1e\xf2\xfe\x0a\x34\x75\xc0\x4a\xc8\x78\xa5\x92\x35\xcb\x33\x8e\xd4\x2a\x6b\x6e\x50\x51\x38\xa4\x14\x5f\xc8\x4c\x96\xc0\x59\x87\x01\xfc\xc6\xbe\xd5\x05\xdb\xf0\xe2\xce\x95\xfe\xe0\x81\xa0\xb0\x4f\x95\x1c\x88\x48\xf7\xa3\xfa\xac\x98\xf4\xa0\x08\x63\xe5\x3e\xec\xb0\x93\x61\x10\x96\xc3\x5e\x6f\x70\xd8\xc3\x58\xc6\x45\xe9\xa8\xc5\xcb\xe6\xcf\x1b\xf3\x8d\x64\xa8\x07\x11\x56\xf7\xe6\xc7\x3d\x0b\xf8\x3f\x64\xf7\xf5\x5f\xa3\xbb\x03\x6e\x79\x8c\x3c\x82\x5f\x03\x8b\x78\x8d\x30\x62\x9a\x25\xbe\x5a\xcf\xfd\x32\xd3\xbc\xec\xcf\x36\xc4\x8a\x5d\x5d\x6d\xa7\xba\x5a\x74\xd5\x88\x41\xa9\x1e\x9f\xcb\xe8\xd4\xff\x53\xc5\x3e\xe2\x7b\x94\x97\xc2\x6a\xdf\xc7\x4d\xa8\xfd\xf5\x11\xfc\xbc\xbd\x71\xca\x26\x1f\xcd\xcd\xe2\xb7\x41\xa8\x1b\xe9\xdf\x60\x00\x0d\x6e\x39\x4e\x4d\x23\xef\xa0\xdc\xd3\xc3\xd6\x4b\xaa\x3d\x5b\x69\x7f\x29\xba\xdf\x7e\x35\x24\x2b\xf4\x8f\x15\xb7\x17\xc0\xc7\xe5\x35\x52\xe5\x1d\x32\xe8\x52\xee\x1e\xab\x76\x35\xd0\xec\xf5\xa6\x1e\x2d\x8f\x37\xfe\x60\xd6\x89\xb6\xd1\x5c\xdb\x5f\x0f\x57\xbb\xe7\x35\xaf\x78\x5e\x48\x0d\x94\x71\xf6\xb9\xa8\x7a\x2b\x08\xb4\xf6\x7b\xc0\x4c\xfe\x58\x89\x4a\xd8\x0d\xb4\xa8\xd2\xd5\x6e\xd0\x6a\xc4\x83\x2b\x0c\x69\xad\x1f\xd8\xa6\x4a\xd6\xcc\x35\xce\x52\x91\xf1\x6d\xdd\x8c\xb2\x6f\x8d\x52\x03\x9d\xf7\x28\xe6\xcc\xa8\x08\x43\x52\x99\x52\x6f\x20\x5f\x20\xb4\x5b\x54\x0a\x4e\x39\xe3\xee\x74\xb5\x5d\x68\x35\x72\xd9\x47\x22\x15\xae\x2f\xcf\x4e\xcf\xdf\x9d\x37\x60\x02\x27\xd7\x7f\x88\xff\xfd\xc3\xc7\xab\x3f\xbc\x7b\xff\xf1\x87\xf8\x6f\xef\x4f\x6e\x2f\x4e\xbf\x9b\x5f\xbe\x3f\xb9\xa8\x81\x09\x4e\x6e\x4e\xae\xcf\x6e\xf6\xe0\x05\x76\x7b\xed\x5e\x08\x1e\x71\xdf\xba\x0c\x06\x57\xd8\xc9\xb9\x0d\xa9\xd7\x37\xec\xc4\x31\x01\xd7\xb8\xaa\x1d\xe6\x03\x40\x62\x19\x62\x5d\x11\x1a\xf2\x96\x97\xfc\x94\x97\x3c\xd3\xab\x29\x3b\x61\x94\xdf\x81\x79\x3b\xc6\x9a\x84\x44\x93\x6a\x57\x07\x9b\xb0\x76\x61\x12\x5c\x72\xa1\x72\xbd\x5e\x12\x41\x71\x26\xe2\x1a\x67\x2e\xd9\x76\xa6\xce\xee\x85\x2a\x2b\x30\xb4\x79\x96\x31\xea\xd6\x7d\x21\x62\x67\x71\x52\x1a\xb9\x91\x19\x2f\x42\x91\xf1\x8f\xd4\x16\x3c\x76\x9d\xac\x9e\x9f\x71\x97\xfa\xc3\xf9\x03\x6e\xcf\x19\xc8\x7d\xfa\xfe\x1c\x0c\xdd\xa4\x74\x15\x34\x5d\xe7\x33\x85\x04\xb8\xd4\xe3\x86\x43\x2e\x59\xa9\x29\x50\x82\xdd\xd3\x97\xbb\x37\xe2\x41\x86\x95\x0b\x29\x3e\x97\x63\xc2\x0b\xe9\xfe\xe3\x4c\x95\xc5\x76\xb0\xf5\x7a\x03\xcc\x1a\x06\xde\x75\x04\x4d\xad\x17\x1e\x47\x3f\x36\x73\xad\x5f\x80\x49\xeb\x70\xd3\x14\x66\xf5\xd1\x54\x84\xa9\x75\x3c\x89\x32\x7b\xf3\xfe\x52\xe7\x21\xe6\xc3\x83\x59\x58\xe8\x4a\xa5\x86\x40\xb4\x1b\xa9\x8e\x37\xfc\xa7\x57\x6e\xa4\x48\x26\xe4\xcb\xff\x01\x77\xa8\xc8\xec\x7b\x70\x6b\x95\x5c\xff\x74\xcd\x54\xcf\x7c\xed\x7f\x13\x38\xcd\x0a\x2e\x83\xe0\xdf\x41\x38\xf0\xbd\xd8\xb6\xad\xdf\x4e\x09\x57\x16\xd7\x21\x81\x46\xf2\x42\xd8\x2f\x7a\xac\x71\x86\x10\x72\xff\x6f\xc8\x29\xaa\x95\x99\x6f\xd7\xdd\x31\x7c\xe7\xa0\x63\xd3\x0a\x1c\x1a\x6e\xf8\x0c\xae\xc1\x4b\x3d\xd9\x35\x43\x18\x91\x8b\x60\x51\x0e\x15\xe1\x23\xec\x62\xfd\xb7\x5e\xb0\x25\x24\x14\x92\x9f\xa0\x10\x10\xb1\x84\xa5\x70\x45\xa3\x80\x61\x72\x07\x9b\xe4\xb6\x40\x26\x0c\xc4\xf1\x94\x7d\x54\x8b\x1f\x2b\x82\x62\xbc\xfe\x72\xdc\x3d\x5b\x62\xe5\x11\xa4\x9a\x6f\xd6\xe4\xf0\x77\x39\xc8\x55\x29\xd9\x46\x3b\x7b\x55\x29\x7b\x15\x3f\x05\x8a\x6d\x38\x4c\xa1\xd1\x29\xfd\x73\x6f\xce\x9f\x8b\xb0\x15\xf8\xfd\x67\x63\x11\xff\xbe\x41\x1e\x4e\xdd\x41\x86\x09\xb5\x1e\x5f\x68\x0b\x9e\xdc\x3d\xf0\x22\xc5\x30\x0c\xc0\xca\xa6\xec\x3b\xfd\x20\xee\x45\x31\x61\x89\x28\x4a\x4e\xcc\x9d\x06\x70\x35\x70\xa0\xa8\x9d\x99\x82\x84\x2b\xa4\x41\x55\xa6\x2a\x04\x2b\xe5\x6a\x5d\x8a\x22\x46\x45\xe9\xc2\xaa\xa3\x12\x49\x9b\x73\x91\x10\x31\x5e\xc7\x04\x2c\x33\x7e\xbf\x4b\x45\xfa\x18\x46\x1f\x76\xee\xb3\xc6\x1d\xec\xc0\x15\xe2\xeb\xc3\xb1\xd1\x84\x91\xd2\x44\x2a\xb3\x09\x5b\xe9\x8c\xab\xd5\x74\x3a\x85\xa2\x33\xaf\x46\x6d\x74\x6a\x30\x06\x32\xf8\x6c\x89\x4c\x6b\x23\xb2\xad\x27\x73\xf3\xf9\x6c\x00\xa0\xfe\xa9\x14\xca\x48\x74\x6c\xb5\x6c\xff\xeb\x66\x90\xef\xf3\xc6\x44\xdb\x9f\xe7\xa3\xb3\xa5\x3b\xda\x81\xba\xbe\x23\x5a\xc2\xef\xb7\xbf\xbc\x1e\x95\xfd\xdf\xde\x96\xd2\x6a\x6c\x4a\xfb\xf7\x5a\x76\x40\x72\x1e\x45\xbb\xdb\xda\x12\x11\x52\x3d\x2a\x0d\xb8\x7d\xce\x76\x32\xb3\x0f\x48\xca\xee\xc9\xaf\x1e\x99\x5a\x3d\xc4\x11\x70\xdd\x5c\xee\xd1\xc7\x62\x7f\xa9\xc1\xd6\x01\x8d\x4c\x5d\x0f\x1c\x13\x63\x4c\x27\xcc\x7e\xcd\xb6\xf0\xe2\xf2\x89\xec\x10\x1e\x48\xa3\xa8\x52\x2d\x68\x96\x62\x04\xd9\x45\xdd\x3c\x51\x60\x14\x64\x33\xa5\x2e\xf8\x4a\xb0\x8d\x48\x65\xb5\x69\x55\x36\x5e\xdc\x43\x60\xbc\x3a\xab\x36\xdd\x94\xad\x87\x1a\xd0\x41\x48\xfc\xaf\x53\xe8\x6e\x38\x97\x91\xcf\x50\x71\x15\x5f\x49\x5e\x0c\x21\xd1\x5c\xdb\x9b\xb2\x90\x06\xf8\xa6\x1f\x93\xc1\xec\x9b\xc1\xa6\x01\x08\xb1\xcd\xd1\xc9\x5e\x5b\xdd\x23\x17\x19\xa5\x9f\x18\x5c\x55\x40\x4f\x74\x5f\x0a\x4d\x70\xf0\xf8\xba\x8f\x85\xae\x76\x38\xc0\x06\x01\x56\xc0\x6c\x8c\xaa\xc0\x10\x7a\x11\x1a\x24\x88\x55\xa9\xd9\xd2\xe5\xc4\xde\x89\x88\x82\x32\x85\xfa\x30\x0f\x48\xbd\xf5\x87\xdf\x19\x07\xc6\x22\xbc\x5c\xb0\x58\xca\xd0\x09\x46\x80\xee\x5f\x3b\x98\x24\x8e\x10\x9b\x00\xa2\xc8\x94\xab\xb2\xb5\x81\x80\x22\x86\xb6\xf0\x27\xdf\xf3\x2a\x6b\xff\x3a\xb5\x0f\x5f\xc5\xfa\xc1\x27\x3f\x5c\x33\x9c\x6a\xaa\x24\x52\xf4\x09\x1a\x35\xb2\x1f\xa8\x09\xd3\x35\x7f\x84\x25\x58\x5b\x07\x9c\x74\x57\x4a\xc6\x4e\xbb\x28\x93\x75\xb0\x3c\x80\x28\xd3\x13\x7c\x52\x71\x78\x1a\xe7\x26\xd4\x46\x41\x0c\x7c\x0c\x26\x96\x2b\xa5\xe3\xb2\x5e\x5a\x09\x08\xc5\x59\x05\xa4\xe3\x66\x99\x2c\xf7\x23\x36\x47\xb2\x43\xee\xdb\x6a\xa5\x46\x24\x1e\x8d\xb3\x16\xa7\x86\x27\x85\x44\xda\x30\x07\x77\xc7\x37\x11\xd5\x1a\x6f\xd6\xcc\xa8\x13\xb1\xcc\x54\xbd\xab\x9d\x49\x72\x90\x4a\x59\x08\xa4\xba\x37\xd6\x7a\x2b\xe5\xbd\x3d\xa8\xbb\xdb\xda\x6f\x50\xd0\x00\xbb\x7b\x8f\xc2\xb6\x2c\xe2\xcb\xbf\x13\x5b\x13\x17\x36\xa7\x1d\xc5\xba\x36\xa4\xb4\xe3\xa1\xf5\xda\xbf\x14\x30\x71\xf3\x22\x94\x27\x1d\x76\x97\x61\xa7\x1f\xec\x8f\x7b\xb0\xda\x3b\x8d\xdb\x3d\x18\x92\x8e\x83\x4f\x91\xd4\x44\x98\x67\x5a\xc3\x00\xc7\x04\xb0\x6d\x0c\xa7\x8d\x33\xc8\xe0\xe1\x6b\xdf\xb7\x33\x45\x25\x35\xa2\x4b\xce\x2a\x9c\xdd\x65\x23\x26\x04\x24\xf2\xdf\xd6\x58\x9c\x80\xe2\xd6\xd1\xfd\xd6\xbb\x74\xd1\x65\xa8\x11\x09\xdb\x03\xba\xc6\x5c\x71\xe7\xc3\x6b\xed\xf0\x91\x18\x5f\x5a\xdc\x4e\x5c\x6f\x94\x90\x89\xdf\x24\x60\x18\x56\xc8\xc7\xd7\x4f\x22\xec\xf4\x9d\xa8\x56\x48\xad\x03\xd4\x5e\x9f\x9d\x5e\x9d\xdd\x7c\x36\xdc\xaf\x03\xdd\x8e\x06\xfe\x3a\x39\xdf\x9e\xbd\x3b\xb9\x7d\x7f\x33\x7f\x7b\x7e\xf5\x1c\xc8\x5f\xfa\xe8\x11\xd0\xdf\x6b\xaa\xd4\x73\xaa\x55\x29\x7e\x3a\xe8\x4e\x2e\x2a\x35\xe7\x23\x50\x8b\xbe\x56\x57\x9f\xb9\x83\x8d\xee\x56\x1a\xf2\x65\x80\x88\x63\x98\x50\x27\xae\xb0\xd0\x32\x38\x0d\x97\x32\xcb\x20\x23\xdf\xbb\xd7\x29\xdb\xd3\x4e\x2a\xe8\x1f\x47\xab\x4c\x3a\x75\xa6\x16\xb5\x42\x50\xe0\xf2\x5b\xdb\x47\x30\xe6\xe2\xe7\x76\x02\x0a\x09\x99\xce\x7d\xc5\x88\x56\x52\x89\x20\x06\xac\x9a\x95\xaf\xb3\x5c\x00\x2d\xe2\x73\x22\xeb\xc8\xf0\x1a\x6a\x6b\xba\x1d\x57\xdb\x9f\xce\xfc\x74\x1f\xfa\x11\xe2\x21\x96\x0a\x0d\xd3\xda\x69\xbe\x6e\xdf\xba\xc7\xe1\x08\xc0\xbc\xdb\x95\xe4\x10\x83\x30\x25\x2f\xca\xb0\x90\xb4\x10\x58\xa4\x30\x04\x27\xee\x24\x22\xd0\xf4\xb2\x31\xcf\x56\x15\xda\xb9\x96\x10\xa9\xe0\x44\x32\x94\x64\x95\x29\x45\x41\x6e\x93\x93\x1f\xae\x67\xea\x1b\x7b\x7d\xbd\xa2\x5b\x88\x0a\xd9\x61\x17\x88\xd4\xd1\xb5\xfe\x9d\x85\x12\x6b\xb0\x97\xe8\xa3\xde\x08\xae\x0c\x83\xa3\x91\x65\xa2\x08\x3b\x03\xe5\x11\x22\xa5\x82\xee\x40\xb9\x1d\x7e\xff\x8a\x11\xc8\xd8\x4e\x85\x95\x97\x3e\x2d\xc4\x46\x97\xbb\xfb\xa9\x8b\xf0\x01\x90\xff\xcf\xb9\x73\x5a\x12\xd0\x86\xee\x22\x4a\x9a\x68\xdd\x44\xf5\x74\xb0\x41\x7b\xe9\x06\x9b\xfb\x75\x2b\x3d\xe1\x56\x1a\x70\xaf\xc7\xb7\x04\x5b\x6b\xab\x40\x7d\x95\xb7\x10\x66\xf6\x84\x33\x19\xa0\xdc\xec\x34\xb6\xde\x3a\x8d\x4a\xc7\x87\x60\x3f\xa0\xa9\xc3\x10\xda\x27\x2d\xcc\x56\xa1\xa4\xa6\x8b\xed\xf4\x16\x51\x7e\x1e\x06\xc9\x13\x87\x55\x55\xba\x74\x5c\x30\x1e\x1e\x4a\x58\x57\xfb\x05\x4f\x42\xd4\x2b\x23\x11\xfb\x38\x2b\x65\x7e\x60\x21\xd2\x9b\x18\x53\x5b\xcb\x8e\x47\x29\x62\x5e\x0d\xc7\xa5\xe1\xb9\x78\xc6\x6c\xbe\xc7\x97\xba\xae\xef\x39\xcf\xeb\xfa\x28\xb0\xc3\xc5\xc7\x8b\xb3\x18\xaa\x70\x7e\x71\x73\xf6\xed\xd9\x55\x8d\x57\xe1\xfd\xc7\x93\x1a\x37\xc2\xf5\xcd\x55\x83\x12\xe1\x9b\x8f\x1f\xdf\x9f\xed\x60\x1e\xce\x6e\xce\x3f\xd4\x1a\x7f\x7b\x7b\x75\x72\x73\xfe\xb1\xf6\xbd\x6f\xce\x2f\x4e\xae\xfe\x6f\xfc\x97\xb3\xab\xab\x8f\x57\x8d\xfe\x6e\x4f\xfb\xd1\x13\xb5\x61\xb4\xbb\x7f\x42\x70\x36\xa2\xb8\x6d\x3d\xc6\xf5\x52\xe0\x07\x9c\xe2\x81\xc8\xb3\x7d\xdb\xd1\xd1\x26\xa4\x71\x59\x14\x3c\x18\x56\xd4\x51\xbb\xee\xe9\x6b\x97\xd7\xa6\x2e\xe7\x87\xa9\x3d\x7b\xab\xcd\x9f\x02\x09\xd8\x6b\x00\xfa\x5e\x1a\x8e\x5b\x53\x42\x6e\x29\x4e\x6d\x0e\x11\xac\x15\xef\xac\xdc\xa7\xd2\x67\x97\xd4\xf5\xb1\x4f\xce\x40\xa9\xb6\x87\x99\xea\xa9\x58\x69\xfa\x84\x8e\x3a\x73\xa4\x0f\x32\x75\x86\x82\xfb\x30\x86\xdd\xdb\x61\xd8\x9d\x13\x6d\xc7\xae\x22\xd3\xed\x69\x4b\xfd\x2c\x88\x63\xe5\xa7\x4e\x76\x65\x6f\x50\xe6\x8c\x90\x1b\xa8\xcb\xc6\xc8\x7d\xc3\xcd\xdd\x58\xb9\xa9\x93\x5d\xb9\xc1\xec\x7b\x94\xdc\xe0\xf0\x2e\xdb\xe9\x8c\x46\x28\xb1\xb8\x99\xba\x78\x9e\x6b\xc1\x7f\x25\xaa\xe5\x3e\x4c\x46\x7b\x00\x9e\xf7\x79\x99\xf3\xe1\x81\x0c\x90\xc6\x1f\x57\xde\x60\xf7\xbf\x86\x4f\x61\x84\x8b\x42\xf0\xbb\x54\x3f\xd0\x7a\x34\x91\xa1\x6c\x90\x36\xaf\x4f\x90\xd5\xe1\xee\x8a\x28\x0b\x8a\x40\x21\x4a\x2d\x34\x0f\x30\x39\x49\xfc\xf4\x68\x83\x45\x45\xc8\x9b\x84\x50\x40\xc1\xa5\xc2\xea\xcc\x14\x5a\xf3\x6d\x85\xcc\xed\xaa\x5a\x89\x88\xc2\x05\x86\xea\x6d\x68\x0c\xae\x9b\x68\x61\x29\x0f\xa8\x2a\x00\x4c\xb7\x28\xe0\xcd\x04\x13\x22\x15\x38\x93\x0b\xfb\xe0\x29\x44\x22\x8d\x88\x2a\xf7\xb5\xde\xd8\x3f\x1e\x56\x92\xa6\xe4\x65\xab\xdb\x75\xb0\x3f\x9c\x27\x65\xc5\x33\x06\xe9\x4a\xc4\x84\x89\xbe\x4a\xfc\x4b\xc2\x15\xa6\xc6\x94\x62\x93\x03\xbb\x42\x9c\xd3\x31\x53\x3f\x00\x50\x02\x97\xe0\x85\x61\xdf\x02\xe4\xc1\x7d\x99\x2e\xe1\x0d\x2f\xe1\x2e\xfe\x23\xf6\xe1\x3f\x9b\xce\x54\xad\x12\x56\xf4\xab\x5a\x51\xac\xe9\x4c\xb9\xaa\x29\xa9\x4e\xcc\x14\x5e\x7c\x53\x5d\xac\x8e\xa9\xae\xbf\xdd\xec\xfa\x6e\xa1\xf5\xdd\xb1\x50\xc7\xe0\x93\x2a\x8f\x79\x55\xea\x63\x80\x4b\xe1\xfa\x9b\x63\x57\xfe\xdb\xd5\x4f\x37\xc7\x6b\x79\x2f\xe0\xff\x4d\xd7\xe5\x26\xfb\x5f\x26\x5f\xff\x74\xb4\xca\x8a\x23\xfb\xdb\xa3\xf8\xb7\x47\xee\xb7\x47\xee\xb7\x47\xf6\x67\xf8\xff\xf2\x2d\x86\x77\xc4\x4f\xdc\xde\x65\x93\x99\x92\xca\x88\xa2\x04\xeb\xe7\xa1\x90\x65\x28\x39\xb6\x65\x2f\xfe\xf6\x37\x36\x2d\xf8\x43\x48\xd3\xbd\x44\xff\xe2\x3f\xfe\xf1\x02\x02\xaa\x98\xc5\x94\xf3\xe2\xc7\x4a\x94\x33\x65\x84\x3d\x84\xec\x7f\xcf\x14\x44\x60\x37\xdb\x79\x89\x7e\x57\xf4\x41\xa6\x86\x7d\x8d\x6d\x9e\x23\x2b\x6c\x6a\x6c\x4b\x1d\xe9\x04\x92\xdb\xc6\x06\xba\xe8\x7f\xcc\xde\xd2\xf7\x47\x1c\xeb\x1f\xb3\xfa\xa9\x76\x45\xaf\xcc\x8f\x19\x5c\xa0\x99\xe6\x0e\xac\xc5\xfc\xe6\x85\x77\x32\x09\xd7\x76\x46\x76\xa0\x01\xcf\x1a\xa6\x6f\x3f\x2b\xd7\xc8\x4c\xef\x3c\xf7\x3b\x6a\x04\x62\x05\x21\x0e\x01\xd1\x73\x69\x4f\xc8\x35\x7a\x42\xc1\x72\xc3\x91\x83\x4d\x4a\xa1\x73\xdf\x1e\x3a\x2e\xcc\x6f\xdf\x1c\x1f\x4f\xd8\xca\xc0\xff\x2c\x7e\x84\xff\x01\xf4\xd0\x53\x91\x2b\xef\x4c\xa6\x07\xc2\xed\xae\xf2\xfe\x95\x78\x0a\x14\xdd\xe7\xe0\xf3\x6f\x6c\xd3\x6f\x2a\x95\x66\x22\xa4\x36\xd6\x42\x22\x99\xb6\x2b\xe9\x16\x6a\xb7\x02\x14\xac\xf1\x42\x24\xdc\x2a\xbe\x9d\xbe\x11\x5c\xaa\x97\xa5\x50\xe8\x0d\x2b\x42\xd5\x4d\x8e\x9e\x2b\x30\x8b\x01\x0a\x09\xf9\xf5\x9b\x5c\x5a\x59\x24\x84\x89\x6f\x90\x20\x7f\xd2\xfc\x88\x6d\x75\x45\x5c\xef\xc0\x60\x9c\x8a\x24\x83\x82\x1a\x8e\xc5\x89\x15\xa2\xac\x0a\xc5\x38\xcb\xb9\x4a\xb9\x81\x1d\xb8\x2c\x20\xda\x59\x30\xbe\x2b\xe8\x04\xe1\xb8\xba\x2a\x81\x9b\x0c\x91\x05\xf1\x4c\x20\x19\x7f\x24\xf3\x24\x12\x02\xef\x04\x24\x08\x68\xfe\x70\x3a\x53\xae\x2e\x24\x61\xe1\xd0\x53\x96\xe8\x7c\x4b\xcc\x53\xcd\x49\x97\xce\x73\x46\xd3\x3d\x09\x78\x93\xe6\x77\x27\x4c\xd6\x43\x6b\xc0\xfb\xef\x32\x53\x75\x65\xc8\xa3\x67\xd8\x4b\xa1\x12\x9d\x8a\xc2\xbc\xb2\xc7\x50\xfa\x77\x07\xda\x0f\xd2\x84\xc5\x00\x2d\x65\x2f\x37\xf2\x16\xda\xe6\x7d\xa1\x2f\x3b\x3b\x35\xa6\xf8\x36\x3b\x67\xff\x51\xf9\xa5\xa3\x60\xda\xe4\xa5\xff\xfc\xac\x88\x98\x18\xd7\xe9\xde\x9c\x8f\x77\x41\xe0\x91\x8d\x35\x2e\x36\x8a\x36\x0e\x19\x27\xae\xb2\xbc\x2c\xa1\x52\x69\x21\x4c\x39\x53\x74\x03\x4f\xd8\x52\x70\x6b\xe7\x4d\x58\x62\xee\x51\x19\xe3\x75\x5f\x3e\xe8\x80\xc1\x71\x65\x86\x00\x0c\x5b\x6b\x3c\x38\x89\xf1\x6b\x9c\x32\xb0\x11\x60\xd0\xf5\x42\xf7\xa6\x0a\x4c\x56\xab\x42\x7c\xc4\x3c\xb8\xaa\x35\xcd\x4a\x77\x71\xd1\x24\x98\x89\x2d\x06\x8a\x59\x53\x0e\xfc\xc0\x2a\x1e\x1c\x1d\xc2\x40\x22\xe5\x08\x16\x37\x61\x69\xf1\x9c\x85\x18\x6e\x5c\x3a\x00\x7c\x33\x5d\x87\xaa\x67\x22\x40\x80\xc7\xf9\x2d\xec\x4f\xf7\x3a\xac\x8c\x28\x5c\x49\x1d\x1c\x2b\x92\xa5\xac\x65\x91\x1e\xe5\xbc\x28\xb7\x6e\xfb\x66\x72\x01\x95\x38\x32\x79\x27\xd8\x49\x51\xe8\x87\xa7\x9e\x85\x4e\xd5\xd2\xf5\xc2\x3e\x04\xc9\x3e\xf6\x95\xdf\x4a\xf3\xdb\x74\x77\x3c\x8e\x52\xb8\xcb\xf1\xd1\xda\x4f\x21\xca\x62\x3b\xb7\x1b\x71\x93\x77\x6a\x8a\x41\x49\x13\xc3\x8d\xdc\x71\x6c\xc5\x0d\x17\x46\x27\x5b\x71\x6d\x55\x7f\x39\x6c\xc5\x2d\x44\xc4\xbb\x6c\xc5\xe7\x17\xe7\x37\xe7\x27\xef\xcf\xff\xbf\x46\x8b\x3f\x9c\x9c\xdf\x9c\x5f\x7c\x3b\x7f\xf7\xf1\x6a\x7e\x75\x76\xfd\xf1\xf6\xea\xf4\xac\x9f\x7e\x6c\x57\xfa\x60\x82\x1f\xb1\xb8\x9f\x37\xec\x26\x02\x6a\x60\xb2\x01\xd9\xdf\x54\xa7\x18\x76\x95\x3d\xcc\x52\xad\x26\x70\x50\xdf\xb0\xb3\xa2\x38\xdf\xf0\x95\xb8\xac\xb2\x0c\xe0\x54\x98\xd9\x73\x5a\x08\x78\x78\x4e\xd8\xa5\x4e\xcf\xa3\xdf\x41\x3a\x62\xeb\x30\xa0\x7f\x9e\xa6\x85\x30\x06\xbb\x9f\x50\xff\x11\x78\xc8\xa7\x3a\x12\x78\x8e\xdf\x73\x99\xd9\xf7\xdb\x1b\xf6\x0d\x4f\xee\xf4\x72\x89\xe9\x33\x13\x9f\x38\xc5\x7e\xac\x74\xc9\x99\xf8\x29\x01\xca\xbd\xf6\x7d\xf2\x5e\xaf\x7e\x06\xa8\xf2\x80\xf0\x54\xc7\x23\x05\x4a\x0e\xce\xdb\xaf\xf3\x76\x45\x40\xa3\xfc\x80\x3f\x7d\x87\xbf\x6c\x77\x50\x96\xd9\x13\xa4\xc7\xbf\xd7\xab\xf6\x02\x50\x60\x5d\x53\xd5\x2a\x0a\x24\x24\xc4\x2e\xa2\x57\xcc\x48\x75\x37\x53\x3f\xac\x85\x62\xba\x2a\xf0\x4f\xf0\xcc\xb7\x66\x66\x56\x99\xb5\x80\x72\xe1\x13\xf6\x20\xd8\x86\x6f\xd1\x6c\x86\x37\x81\xaf\x5a\x03\x5b\x06\x6e\x11\xfb\xeb\x4c\x2a\xab\x2d\x72\xe9\xf2\x12\x9a\x4b\xff\x14\x2f\x2e\x47\x38\xc9\x0f\xe7\x83\xee\xbb\x4f\x6b\xf8\x3c\x70\x95\x05\xdc\xa4\x03\x08\x91\xe6\x86\xe2\xbe\x5a\xdf\x55\x79\xa0\xa6\x7d\xe1\x82\x93\x30\xdd\xf7\x5a\xa6\x2c\xad\xf2\x4c\x26\x5e\xef\x3e\xe8\xa2\x93\x7f\x1b\x13\x68\x86\xdf\x3a\xcd\xb4\xb0\xbe\x81\xb5\x64\xe7\x44\x48\xba\x1e\x26\xee\x67\xe6\x22\x67\x52\x25\x59\x05\xe5\xfe\x2a\x23\x8a\x23\x5f\xc2\xdb\xe7\xfa\x75\x5f\xa2\xbf\x14\xb2\xf2\x40\x86\x7a\x78\x5a\x5b\x9c\x74\x9e\xe9\x95\x4c\x78\x16\x83\x9b\x03\x2a\xc2\xb3\x21\xbb\x63\x4f\x45\x9d\x21\x0f\xc2\x09\xd4\x49\xa4\x95\x17\x02\x08\xb9\xe7\xa0\xca\xe7\xa4\xee\x0e\x91\x7b\xc9\xec\x03\x1d\xe5\x8a\xb9\x8a\x5d\x78\xc1\xdd\x70\xa1\x6f\x57\x11\x0f\x4c\x4c\xa1\x00\x02\xa0\x1f\x94\x28\xc0\x82\x05\xd8\x87\x1d\xa9\xd2\x60\x9b\xf8\x2a\x79\x1e\x9f\xec\xaa\x44\x2e\x3d\x10\x1b\x33\x67\x57\xf2\x5e\xa8\xcf\x4f\x2e\x1f\x75\x90\xf0\x64\x2d\xe6\xce\x2e\x7f\x6a\x95\xe5\x2f\x80\x91\xca\xca\x95\xab\x89\x55\xa9\x0f\x6f\xc2\xd3\x09\x25\xde\xd5\x5d\x18\x48\xec\xc9\xc8\xb2\x42\xcc\x53\x91\xdc\x7d\x76\xd5\x1c\x40\x56\x4e\x10\xc6\xd9\x5b\x91\xdc\xb1\xdb\xab\x73\xcc\x06\x96\x25\xb3\xaa\xc0\xac\x43\xf9\xad\xce\xb7\x5b\xc9\x57\xcf\x40\x61\x35\xb4\x7e\x58\x28\x19\xe1\xab\x26\x5a\x81\x08\x10\x05\xf9\x92\x56\x49\x52\x2e\x0d\x00\xc1\x78\xe9\xaa\x4a\x81\x23\x9e\x99\x0d\x14\x91\xaa\xca\xa8\xf2\x62\xc6\x17\x22\xeb\x20\x50\xcd\x75\x3a\x77\x71\x92\x43\xc1\x3c\x3b\x6d\x39\x3f\x06\x45\x1d\x5d\x1e\x03\xb7\x16\xeb\x0d\x7d\x91\xdd\xfd\xce\x44\xf4\x1a\x3a\xe6\x71\x87\x77\x3d\x37\x90\xde\xbd\x94\x2b\x17\x6d\x93\x4b\x2a\x75\x85\x09\xfd\xd6\x0e\x06\x7d\x69\x5b\xba\xd4\x29\xc1\xf4\x3c\x17\x9e\xb5\x82\x04\x79\x4f\x02\xae\x22\x16\xc1\xe1\x00\xa1\x5f\x7b\x22\x04\x4f\x99\x5e\x92\x37\x31\xcf\x33\x09\x0c\xdd\x29\x16\x03\x00\xf6\x0c\x53\x47\xc7\xc7\xad\x39\x61\x23\x92\x8f\x4b\x07\xc4\xeb\x2a\x8a\x0c\x0a\x03\x33\x18\xe6\xc0\x06\x37\xbf\xe7\xdd\x64\x6a\xcf\x5e\xb9\xae\x43\x1e\x1f\x4d\x56\x0d\x36\xd5\x88\xb4\x8f\x7c\x05\x78\xad\xbb\x84\xfc\x84\x67\x49\x45\x71\xb2\x35\x37\x6b\xd0\xd4\xd0\x49\x6f\x00\x36\x44\xfd\xec\x42\xd7\xbd\xfe\x4d\x23\xf3\xd0\x2a\x97\x3e\x41\xeb\xb1\x3e\x85\x7e\xf7\xe2\x2a\xd3\x0b\xd8\x39\xdd\x28\xc1\x9e\x1b\xcb\xaa\xeb\x42\xa6\x63\xec\x1d\x37\x27\x1f\xfd\x4f\xfb\x04\xfc\xe8\x5c\x3f\xbe\x27\xb7\xef\x19\x15\x94\x68\x30\x37\x8e\xa3\x40\x58\x52\x75\xdb\xfa\xf3\xa4\xa4\x72\x2a\xb0\xad\xfc\xfd\xd4\xe1\x67\xa8\x8f\xe5\xa0\x85\xde\x65\x8a\xd9\x33\x97\x81\x5c\xa6\x7f\x91\x0f\xa0\xfb\x40\x55\xe6\x39\x3f\xba\x3d\x8b\x2a\x15\xe9\xfc\x11\x63\x38\xa3\xdf\x0e\x1b\x8b\x9f\x69\x14\x0f\x7c\x80\xea\xc8\x9a\x0a\x29\x2f\xd2\x30\x8e\x09\x9c\xf7\x84\xe7\xe0\x86\x87\xb0\xc6\xfd\xeb\xa9\xeb\xe3\x2a\x64\x17\x59\x7d\x89\x39\xff\x88\xdf\xd6\x2d\xb5\x88\xf6\xed\x23\xbf\x49\x11\xde\x6d\x77\x4e\xd8\xae\xb5\xbc\x9b\x41\x7b\xb7\xb9\xc3\x9c\x02\x3f\x64\x73\x3d\x87\xee\xa8\x4a\x1d\xa2\x3d\x30\x9e\x73\xa0\x1d\x8e\x33\xfa\x40\x41\x9e\xa7\x1d\x48\x11\x67\x7e\x3b\x25\x34\x02\x7f\x3c\x0a\x01\x9d\x17\xc2\xc5\x0d\xb7\xa2\xf4\xbc\x0e\x99\xab\xef\x08\x61\x31\x3f\xea\x3a\xb1\x8d\xe3\xae\xf0\x64\x64\x10\xc4\x22\x53\x3f\xd1\x9b\x5c\x2b\x80\x25\x61\x96\xda\x4c\x51\xe3\xae\x4a\xbf\x8f\xac\xd5\x52\x1d\x27\xe4\xd0\xc4\xc4\x19\x61\x74\x76\x4f\x21\xd4\xa8\x98\x0c\xd4\xf7\xb4\x02\x9e\xda\xb7\xa1\x2e\x90\x60\xcb\xdd\xec\x90\x09\xd0\x28\x55\x5f\x88\x95\x34\xa5\x88\xb3\x43\xe3\xdf\x3f\x59\x55\xe1\x9a\xf3\xa4\x6f\xea\x3b\xab\x0a\xef\x7b\x05\x59\xfd\x34\x42\x9e\x6d\x2e\xd2\x73\xff\xbb\xfe\xcd\xd0\x48\xe0\x0f\xea\xb0\x76\xdf\xe1\x1e\xc0\xd7\x9f\x41\xaa\x2f\xe3\xcb\xc0\xf8\x45\x22\x12\x26\x1e\x00\x8d\x76\x89\x56\x15\x2f\xb8\x2a\x85\x30\x33\x45\x81\x67\xa4\xac\x8b\x59\x59\x1a\x40\x48\xff\xb6\x49\xb4\x29\x91\x01\x0a\x7e\xb2\xe4\x32\xab\x8a\x4e\x77\x03\xee\xca\x47\xd1\x4e\xf4\xcd\xd2\x29\x34\xcb\xda\x16\xcd\x27\x30\x47\xa7\xc8\xb3\xa6\x34\xc3\xc6\xf5\xfc\xde\x8e\x21\xb8\xcb\x65\xf8\x7a\x7b\x5f\x73\x47\x4e\xf3\xef\xcc\x3c\xd7\x23\x34\xde\x1f\x7e\x67\x2e\x75\x47\x36\xb8\xf9\x71\xc7\x27\xda\x03\x9f\xf8\xb1\xab\x30\x0e\x37\x77\x10\x79\xdc\xe7\x8a\x19\xc4\xc6\xb9\x37\x3e\xd9\xa9\xbb\x60\xd7\xae\xb9\x4a\x33\x6b\xf2\xf2\xb2\xc9\x7b\xed\x71\xde\xf6\x49\x54\x3a\xe5\xd8\x9d\xd4\x07\x39\x32\xf3\x64\x27\xc1\x72\xdf\x3c\x35\x32\x33\x7b\xb1\x94\x8d\x5e\xea\xf9\x92\x6d\x79\x3a\xc1\x86\xa1\x72\xd4\xfe\xc0\xfe\xec\xf6\xcb\x59\x2c\xfb\x67\x32\x5f\xea\x67\x6d\x29\x57\xbf\x00\x47\xc2\x87\xdd\x2b\x21\x21\x9d\x43\x17\xb5\xcf\x6e\x38\x50\xeb\x40\x22\x99\xd5\xda\x31\xe3\xf8\x4c\x51\x59\x7e\x44\x17\x40\x58\x19\xf9\xd6\x0c\x7b\xed\xb3\x8b\x5f\xff\xbb\x63\xdb\xda\xb2\x25\x6c\x2a\xa0\xb4\xd3\x49\x52\x15\x10\xfa\x27\xf7\x24\x13\x78\x09\x9b\x51\x44\x32\x60\x7a\x78\xc0\x16\xda\x89\x6d\x66\x92\xf7\x47\xd7\x06\x75\x03\x6e\x48\x6b\x61\x44\x97\x3e\xd5\x8d\x2b\x4c\xc9\x4c\x29\xf2\x56\xf5\x5b\xb3\x2e\xb7\xb9\x38\x51\x4a\x97\xcd\xfc\x94\xd1\xf6\x25\xf7\xad\x0c\x3c\x3a\x23\x2e\xa3\x93\xc8\x65\xf4\xfb\xeb\x8f\x17\x2c\xe7\x5b\xc0\x3e\x96\x9a\xe1\x57\x81\x70\xb4\xa9\xa8\xf6\xad\x40\x7d\xf0\x75\xad\x82\x73\xea\x40\xd4\xed\xf1\x09\xea\x71\xd7\x58\x84\x3d\x43\x5b\xd2\xea\xac\x42\x67\x47\x79\xc6\x55\x04\x6f\x37\x53\xd6\xe8\x3e\xc6\x33\xf8\xc8\x26\x21\xc6\x40\x00\xf0\x57\xd0\x5e\x28\xaa\x56\x00\x34\xf0\xee\xb8\x0d\x75\x18\x84\xa1\x53\x47\xf4\x02\x3b\x3f\x60\x15\x18\xac\x89\x80\xec\x19\x0e\x96\xe1\x91\x3d\xdc\x00\xe8\xb6\x93\x01\x9c\x27\x19\x37\xa6\x17\xa5\xf3\x2c\x54\xf2\x51\xd6\xe2\x7e\xf5\x55\x97\x13\x61\x84\xc0\x6d\x82\xef\x52\xff\x31\xb0\x25\x38\xd5\x15\x8a\xef\x45\xf6\x7e\x54\x0d\x82\xa0\x0f\xc4\x17\x05\xbf\x47\x26\xc8\x3b\xb1\x75\x1e\x2e\x52\x55\x7c\x23\x26\xde\xd9\xea\xbd\x89\x11\xe8\x6f\xb7\xe1\x99\x02\x54\xec\xbb\x58\x3c\xf6\x4e\xeb\x09\xe2\x33\xa9\x73\x8e\xcd\xf2\x18\xe1\x34\x53\xef\xb4\x9e\x72\xff\x88\x25\xf9\x49\xdd\x34\x3b\x24\x54\x14\x60\x0e\x1b\xcb\x39\xfc\x6c\x7e\x27\x15\x96\x89\x94\x1b\xfb\x80\xa2\x79\x82\x1d\x05\x02\xc1\x50\x28\x97\x20\x45\x4a\x99\x4a\x9a\x35\x84\x5d\x30\xce\x09\xfd\xd3\x95\x82\x80\xac\x82\x2b\x63\xcf\x30\x84\x6a\xc4\xbd\x20\x7f\x6d\x0d\x63\x70\xfe\xf6\xbd\x87\x2d\xe1\xb9\xa4\xd2\x1d\x1d\xa7\x2d\x7a\x74\x1c\xf2\x38\x57\xe3\x4a\x62\xb9\x3a\x36\x1f\x78\xde\x97\x0c\x7b\x70\x8b\xfb\x56\xc9\x13\x6a\x35\x5f\x54\x50\x1a\x0b\x6a\x49\xd6\x32\x62\xe3\xd9\xbb\x55\x07\xde\x38\xad\x9c\xf6\xfb\x4b\xee\x0c\x76\x30\x8c\x54\x15\xfb\xaf\x9b\x88\xdb\xd2\x43\x06\xfd\x5b\xd0\x2a\x76\xa8\xd4\x07\xa4\x7c\x78\xa4\xa7\xec\x5a\x08\xf6\x09\x66\xca\x76\xf6\x89\x2a\xc1\x02\x0a\xba\xe4\xb2\xb5\x50\x1f\x7c\xfb\x5c\x2d\xf5\x61\xfa\xbf\x58\xed\xa0\x6c\x0f\x9a\x95\x76\x39\x0f\xc5\xf1\x82\xa7\x5f\x3d\x2f\xad\xc8\xa0\x8b\xa1\xb1\xd6\x97\xc1\xdf\x44\xc9\xc6\x4e\x52\x6b\x92\xc1\x12\x3f\x86\xb8\xae\xb1\x49\xec\x28\x27\x48\xc6\x7e\xa7\xf4\x83\x42\x7d\x4c\x3d\xb1\x97\xf6\xfc\x81\xcd\x82\x71\x21\xb4\x04\x2b\xd4\x86\xaf\x80\x1d\xfe\xc4\xff\x9b\x5d\x63\x08\x1c\x65\x86\xd2\x61\x06\xec\x5d\x2a\xfa\x05\x17\xf8\xcb\x93\x09\xfb\x66\xc2\x4e\x27\x6c\x3a\x9d\xbe\x9a\x30\xc1\x93\xb5\x93\x08\x7f\x82\xaa\xbf\xe4\x2b\xdb\x36\x95\xfd\x59\x46\x1d\x40\x99\x46\x6b\x9f\x38\x12\x44\x1e\xbe\x15\x79\xd5\xdc\x10\x30\x35\x9b\xf2\xc8\x08\x2e\x94\xac\xb5\x0c\x42\x01\xf2\x5c\x24\xba\x70\xd8\x75\x53\xea\xc2\xe1\x70\xef\x79\xc1\xa5\x02\xc6\x0a\xbe\x9b\x85\x40\x3d\x47\x9c\xf5\xe2\x27\xbe\x81\xf1\x4b\xe5\x69\x7b\xed\x34\xdd\x78\xf9\xcb\x6d\x4e\x71\xb6\x87\x42\x96\xa5\x35\xc8\xcc\x4c\x5d\xb3\x37\x5f\xb3\x93\x3c\xcf\x04\x3b\x61\x7f\x67\xdf\x70\xc5\x15\x67\xdf\xb0\xbf\xb3\x53\xae\x4a\x9e\xe9\x2a\x17\xec\x94\xfd\xdd\x4e\x9b\x6d\xef\x42\x5b\x0b\x68\x3b\x61\x9c\xa9\x2a\x43\x43\xef\xa5\xc3\xb8\xbe\xf2\xe3\xe2\x61\x75\x16\xa2\x7c\x10\x42\x31\xa3\x37\x74\x15\xfe\xc9\xdf\xfe\x46\xaa\x55\x26\x4a\xda\x0f\x75\x34\x32\x76\x70\x04\x23\x7d\x33\x53\xde\x4f\xfd\x27\x2b\xf1\x9f\xd8\xdf\xd9\x45\x95\x65\x56\x24\xab\x68\xec\x46\x7a\xc3\x5c\x76\x98\x50\xd3\x07\x79\x27\x73\x91\x4a\x0e\xf9\x61\xf6\x5f\xc7\x37\xb0\xda\xf3\x2a\x50\x81\xc6\x67\xda\x97\x63\x3b\x44\xf5\x3c\x0b\xd7\x84\x2f\x16\x18\x5b\x2b\x9d\x20\x94\xf8\xa7\xe3\x8d\xe0\x40\x80\x4c\xe7\x81\xde\x28\x58\x4a\x2f\x0e\x50\xb6\xf7\xef\xab\x7e\xe5\xf6\xbf\x5a\xe9\x3f\x06\x55\xff\xea\x9b\x8f\x20\x23\x18\xa7\xb8\x38\x21\x39\x13\x1e\x32\x90\x4b\x88\xe7\x6e\x0b\x25\x3f\x5c\xdb\xf8\xec\xc4\xf0\xb6\x7d\x4a\xa3\x35\x5a\xf2\xd5\x84\xe5\xbe\x8e\x94\x3b\x54\x3e\xb0\x8d\xe7\x18\x6b\x26\x90\xb1\xf9\xd2\x01\x88\xec\x5e\xa6\xfc\xc3\xe3\x54\x6f\xb8\x54\xaf\xa0\x0f\x47\x9d\xb7\x67\xa2\x5a\x9e\x2b\xfb\x67\xe8\x86\xf7\xa2\x19\xbb\xa9\xfd\xeb\xc6\x4e\xa3\x84\x5b\xdb\x71\x38\xb0\x86\x59\xa8\x34\xfb\x19\x9f\x43\xdf\xef\x6c\xd1\xc1\xb5\x0f\xa8\xde\x58\x8d\x3d\x05\x6c\xf9\xc0\x20\x37\x28\xb6\xee\x2b\x97\x7d\x5f\x2f\xb5\x5b\x9b\x62\x2d\x07\xd5\x24\x6e\x08\x7b\x4b\x2f\x31\xcc\x7b\xb6\x6a\x52\x66\xc7\x56\x55\x1e\x5f\x68\x25\x18\x37\x46\xae\x90\xf5\x0e\x1c\x6a\x58\xcc\xd7\x19\x65\x37\xf5\x27\x43\xa4\x82\xc0\x3e\xb3\x22\x21\x62\xba\xb4\x5a\xd8\x2e\x41\xb6\x9d\x29\xfb\x0b\xb2\x08\x20\x7b\x4a\x7a\x72\x74\xec\x8d\xb8\xc7\x5d\x5f\x74\x21\x46\x8d\xb7\x6c\xb0\x3e\x6a\x86\x03\x36\x1c\x9d\xc4\x03\x22\x6e\x17\x11\x31\x28\xb5\xe6\x58\xa3\x10\x4e\xb3\x10\x99\x56\x2b\xbb\x2b\xba\x94\x30\x68\x81\x27\x12\x01\x1b\xeb\x94\xc0\x1a\x2b\xf4\x15\x5a\x12\x6b\xa7\xc8\x34\xb8\xd4\x4c\xb5\xb0\x76\x9c\x8f\xf6\x78\x6b\x84\x06\xd7\xc5\x53\x71\x18\x6c\xe9\xd6\xea\x60\x5d\x38\xe0\x9c\x8f\x24\xa2\xe1\x12\x38\x9c\x70\x44\xc3\x0e\x55\x6f\xbe\x45\xbb\xf7\x91\x22\x95\x3b\x8c\x1d\x03\xf6\xe3\xcf\x99\x7a\x31\x24\x21\xe3\xdd\xc9\xf9\xfb\xc6\xf7\x76\x13\x32\x5a\xb2\x36\x6e\xce\x3f\x9c\xbd\x9d\x7f\xbc\xbd\xd9\xf9\x9e\x6d\x8d\xfe\xb4\x27\x27\xa3\x73\xf6\x9e\x02\x95\xfe\x23\x56\x11\x9b\xeb\xa5\x4b\xd0\x1f\x7e\x41\xee\xd4\x71\x1b\x06\x7e\x2c\xa3\xf7\x6d\x5c\xef\x6c\x77\xe3\x74\xd2\x8c\xa8\x39\x45\x3b\x87\x09\xdb\x9c\xb0\x8f\xea\x1d\xfe\xfc\x52\x67\x32\xe9\xc7\x52\xbb\xeb\xca\xda\x35\xbb\xe0\xd4\x85\x80\xe4\x02\x72\xb9\x92\x50\xf8\x42\x2a\x45\x52\x86\x68\xfe\xee\xe0\xfe\x47\xe3\x37\xf7\xfb\x40\xd0\x13\xea\xa7\x0d\xca\x83\x7b\x7c\x00\xdc\xad\xc0\xdb\x0c\xe5\x4a\xd0\xce\x04\xdf\x2a\xe0\x66\x12\x4e\x51\x9f\xda\xcc\x83\x82\x7e\x58\xeb\x8c\x3c\xa2\xc8\x81\x3d\x53\xb9\x28\x12\x0d\xb8\x47\xa4\x57\xd1\x2c\x59\xcb\x2c\x0d\x35\xc1\x5e\x42\xa2\x08\xc0\xb9\x5f\x51\x79\x5b\xe1\xf1\x2b\xbe\x94\xfb\xfe\x73\xfa\x16\x4f\xf7\x41\xd8\xaf\xa7\x44\x7e\xf7\x6d\xfb\x1f\x08\xa1\x8c\x53\x41\xac\x75\x0d\x24\x02\x18\xde\xb1\x3c\xa3\x82\x2a\xf6\xba\xa5\x72\x4f\x49\x78\xb8\x96\x8d\x75\xa5\x6d\xd6\x9c\x4a\xe0\x32\x47\x4f\x36\xc2\xf0\x8c\x00\x71\x36\x82\xa3\x2d\x16\x98\x85\x69\x51\x67\x2a\x60\x2f\x5e\x98\xd8\x2e\x6b\x5d\x67\xf4\x7f\x3b\x6c\xf9\x84\xbd\xa8\x0d\xf4\x05\x70\x5d\x2b\x0d\xfd\x51\x7c\xbc\x36\x35\xb0\x5d\x27\x4c\x96\x33\x65\x5f\x4d\x76\x67\x16\x22\x13\xf7\x56\xba\x38\x3e\x43\x88\x41\xe7\xbb\x70\xc3\x86\xf4\x24\xee\x58\x2d\x68\xdb\xd0\x21\x2c\x62\xce\x64\x0c\x0c\xa7\xc2\x58\xbb\x11\xaa\x3d\x89\x9f\xec\x01\x90\x10\x7e\x44\x68\x59\x2a\x94\x93\x0f\x10\x67\x58\x69\x7f\xa6\xce\x97\x40\x2d\x00\x84\x06\x69\x8a\x5e\x00\x57\xff\xc7\x13\x58\x4a\x8a\xc7\x68\xf2\x89\xb8\x85\xa0\xea\xcc\x78\x92\xc4\xbd\x28\xb6\x25\x38\xd5\x61\x5e\x95\xe0\xe5\x9a\xc9\x72\x02\xcc\xa3\x4e\x53\xce\x14\x4f\x53\xca\xc8\xc6\xe6\xa2\x07\x65\xe7\x3a\xd3\xe7\x0b\x7d\xdf\x67\xd8\x1e\x8a\x9d\xc5\x53\x9d\x67\x5c\xcd\xf1\x06\xf9\x19\xd0\xb3\x51\xe1\xec\x2e\x18\x45\xb5\x98\x7b\xb6\xb4\x27\x91\xd3\xeb\xfb\x2b\x07\x1e\xa6\xc7\x45\xb5\x70\x1d\x4d\x6a\xe0\xe8\x45\x20\xd6\xf0\x7e\x32\x42\x2e\x15\xcc\xa1\x3b\x86\x6b\x81\x00\xac\xe5\x0d\x94\x93\xdb\xad\xfb\x90\xb5\x6e\x07\xfc\x52\xb1\x8f\x43\x56\xbe\x71\x87\x34\x97\x7d\x3c\xec\x6e\xc7\x42\x7c\x14\xf4\x6e\x8f\x58\xcf\x0b\xbf\xeb\xf4\xa3\xec\xc2\xf0\xdc\x68\xa3\x08\x3b\x81\xf7\xd1\x0f\xea\x5d\x58\xed\x85\xd1\xe3\x77\x98\x6e\x41\xa8\x3f\x65\x8c\x00\xf4\xd4\x50\x4f\x49\xa0\xf4\x00\xb9\xa6\xec\x5c\x31\x67\xee\x4d\xd8\x0b\xdc\x58\xe6\x05\xb9\x80\xa9\xba\x3e\xc1\x55\x52\x3a\x3d\x44\x82\xd0\x84\x79\x61\x2a\x5a\x38\x6e\x18\x89\xeb\x65\xcc\x7d\xd6\x79\xf9\x46\x42\x2a\xdc\x63\xd8\x4e\x30\x8a\xbb\xc0\x06\x5c\x26\x47\xe4\x8c\xa4\xe1\x42\x34\x21\x0c\xd8\xc5\x1b\xd9\x37\xee\x87\x76\x8a\xf2\x8a\xee\x53\xf7\x39\xd3\xc5\x4c\xb9\xd6\xc8\x25\x6c\xb0\x44\x5f\xb3\xa9\x28\x33\x87\x6c\xfe\x68\xa7\x42\x30\xde\x55\x65\x84\x62\x9f\x81\xd6\xbb\xa9\x05\x00\x87\xb4\xf0\x18\x50\xa8\x03\x11\x7a\xb3\x86\x87\xdd\xe0\x1b\xbc\xe6\x9b\xd4\xbf\x59\x66\x27\x45\x96\x8e\x69\x38\xca\x9a\x33\x15\xf0\x65\x2f\x2b\xab\x8c\x22\x52\xf1\x99\xb2\x93\xc7\x96\x12\xb2\x27\x68\x5e\x66\xea\x83\x36\x8e\xa4\xc5\x84\xf9\x70\xa1\x7d\x9a\xb6\x17\xbe\x38\x25\xfd\xe1\x2d\x5c\xda\x14\x73\x41\xba\x35\x7f\xb5\x40\xba\x24\x31\x2d\x6d\x75\x55\x84\x41\x25\x5c\xcd\xd4\x7f\xdb\xe9\x81\xe7\x14\x57\x6e\x59\xf5\x12\x8f\x30\xac\x20\x04\xab\x3e\x61\xa3\x2f\xff\xfd\xd5\xa7\x57\x98\xde\x54\x19\xa8\x07\x3c\xa9\x5f\x20\xbe\xbe\x44\x95\x65\x80\x04\x70\x23\xf0\x1c\x47\xa1\x8b\x5e\x24\x1c\x3d\xea\xe6\xaa\x6e\x62\x0c\x39\xe8\xc3\x1c\xeb\x27\x2c\xe1\x65\xb2\x3e\x72\xb6\x1c\xa9\x31\x77\xfb\xd1\xf2\x61\x1e\x92\xb5\xb4\xda\x4b\x2c\xd8\x07\x67\xb1\xf1\xa4\xaf\xb5\xfd\x62\x87\x00\x0e\xf8\x9b\x66\xbd\x31\xcf\x49\x8d\x9b\x13\x91\x38\x75\x3b\xcf\x7f\xdd\x55\xfb\x0c\x2f\x4e\x8a\x52\x28\xbe\x11\x29\x7b\x01\x89\xb8\x2f\xdc\xe2\xcf\x54\xbe\x98\x66\xdb\x65\x49\xcc\x81\x76\x52\xa6\x50\x17\x6f\xcf\x2d\x37\x4f\x77\x9f\x49\x7b\x26\xbb\xf3\xa1\xd5\x6e\xeb\xf8\xb9\xf1\x3d\x0d\x37\x58\xd0\xc7\xe5\x67\xe7\xba\x8e\xca\xab\x17\xe8\xe0\xe6\x6e\xc2\x16\x05\x57\x50\xd2\x28\x8d\x8d\xaa\x70\x3a\xe1\xf1\x8c\xb4\x7c\x2e\x33\x4f\xf1\x6c\x0b\x19\x38\x93\x99\x42\x0e\x43\x20\xbb\xdf\x26\x99\x4c\xd8\xaa\xe0\xf9\xba\x61\x07\x89\x7b\xa1\x4a\xa8\x8c\x7d\x25\xb8\x39\x0c\x2d\x51\x34\x5b\x60\x83\xe3\x59\x27\x0a\x5e\x1f\x5c\x35\x58\xa7\x41\xbc\x8e\xab\x05\x10\x92\x22\x9d\x8f\x63\x9c\xda\xcb\x8b\x5c\x63\xdb\x24\xea\x37\x88\x00\xdb\xc1\x31\xd7\xeb\x3e\xf8\x01\xce\x2b\x91\x21\x39\x4c\xed\xa1\x90\x09\x4f\xae\x74\x10\x45\xee\x79\xdd\x8a\xe4\x81\x35\x2a\x78\xae\x29\xf0\x86\x9e\x0a\x97\x88\xe0\x15\xc7\x84\x2a\x97\x02\x7d\x26\xfb\x63\xb5\xd0\x99\xe3\x1f\x3d\x7f\xcb\x74\x01\xa5\x7f\x4a\x4d\x7f\x92\x69\x97\x75\x20\x55\x2a\x7e\x3a\x88\x04\xa8\xff\xa2\x77\x66\xb3\xed\x26\xaa\x30\xd3\x1c\x2c\x68\xa7\x42\xd8\x4b\xb8\x74\x2f\xe3\x9d\x6f\x99\x26\x58\xf8\x24\x2b\xd7\x80\xe0\xc5\x24\x99\x30\xa9\x1b\xbe\x65\xc9\x9a\xab\x55\xe4\x9a\x00\x40\xa5\xc8\x75\x81\x25\x72\xef\x81\x6d\x53\x17\x8e\x64\x81\xa8\x03\x28\x53\xc7\x07\x12\x10\x20\xaf\x1d\x3f\x00\x5f\xad\x0a\xb1\x82\x44\xd2\x99\xaa\x91\x9f\x00\xd3\xa8\xab\xce\x83\xfd\xf4\x71\x47\x3c\x0d\x01\x53\xd7\x6b\xb0\x2c\xb6\x3e\xf3\x9e\xea\x4b\x87\xf3\xdc\x9c\xd6\x09\x93\x62\x3a\x61\x5f\x85\xa4\x00\x91\x68\xe5\x53\xf7\x3b\xf2\xb6\x1b\x2e\x7f\xb6\xe7\xe9\xb0\xcb\xd4\xd4\x2e\x3b\x7c\xb6\x53\xa5\xba\x75\xd3\xf4\x72\x1f\x94\xbc\xac\x46\xdc\x41\xa7\xbc\xe4\x99\x5e\x9d\xda\x1f\x5f\xe3\x6f\xfb\xf6\xf5\x29\x22\xf6\x1d\x4b\x9e\xfd\xbe\xbd\x39\x6d\xdf\x81\x45\xbf\x6d\xae\xf7\x3a\x90\x33\xdd\xed\x40\x7e\x0a\x53\xdd\x51\x21\xed\xf7\x21\x67\x1d\xf4\x3e\x3d\x63\x1a\xeb\x22\x76\xb8\x7a\x4a\x0d\x32\xcd\x67\x6c\x8b\x06\xc8\x0b\x9d\x56\x89\x48\xed\xc9\x85\xf7\x10\x22\x92\x3c\xcb\x50\x4d\x49\xb6\x5d\xb4\x35\xaa\x34\xb8\x75\x3f\x97\xcf\x61\x10\x3b\xbd\x9f\xfe\xdb\x0e\x7f\x83\xb3\xf8\xda\x26\x3d\x3e\x9f\x38\x4f\xc5\xc8\x7b\xca\x77\x5f\xe7\x94\xd7\x85\x5c\x49\xc5\x4b\x5d\xb0\x97\x9e\x4b\xe0\x95\x2f\x44\xd7\x6d\x21\x8c\x54\x13\xb5\x29\x42\x35\xf1\x59\x0d\x8f\xb6\x4d\x6a\xbf\x65\x4a\xbe\xc9\x63\x96\x66\x5f\xe6\x9f\x66\x26\xc3\x49\xf0\xb6\x09\xf8\x4e\xa5\x09\x79\xb3\x33\x45\x11\x07\x5c\x37\x5d\xc4\x65\x06\x3a\xef\xe6\xbc\x2a\xe7\x8f\x64\x1e\x8b\x38\x76\xb0\x9d\x71\x3e\x28\x42\x24\x7c\xe0\x79\xd7\x25\xc3\xc9\xef\x80\xd9\x83\xe4\x93\x08\xe6\x4a\x7d\x93\x4e\x67\xea\xad\x17\xe8\x0d\xcb\x33\x61\xd5\x7c\x65\x88\xcb\x61\x8e\xdc\xcf\xc8\x7c\xd1\x37\x19\xe3\x06\x01\xfc\xde\x6f\xf7\x52\x53\x8d\x1b\x49\x9f\x97\x65\xc0\x62\xf5\x22\x01\xae\xde\xbb\xb8\x57\x78\xde\xd6\xde\x8b\xb0\xaf\x90\xa3\x17\xf3\xca\xd0\x53\xe1\xb5\xb4\x35\x4a\x1c\x9f\xd5\x69\xa6\xab\x94\x91\x8e\x26\x54\x41\x31\xc5\xcb\x1e\x48\xb3\xa7\xd3\xae\x3c\xb9\x91\xf5\xd2\xbd\x3a\x85\xdf\xb5\xef\x17\xf8\xac\xe3\x42\xe9\xd5\x64\xd1\x46\xa6\x49\x7e\x86\x9d\x4c\xd3\x0d\x1b\xc0\x5f\x31\x6e\x03\xb4\x44\x7f\x3b\xb7\x73\x24\x62\xff\x7e\x7e\xd4\x58\x02\x03\xfe\xde\x1d\x3d\x76\x44\xed\x52\xfa\x78\x05\x90\x93\x8e\x73\x65\x83\xe7\x40\xa6\x19\x68\xc6\x38\xd4\xd3\x42\x9f\x5e\x0b\xa1\x9b\xbb\x83\xbb\x73\x8c\x1d\xfd\x5d\xe5\xbc\x10\xaa\x9c\x43\x8f\xe3\x3a\x83\x4e\x2e\xe1\xe7\x35\xd3\x76\x90\xcb\xfe\xcf\x37\x1a\x23\x31\x6e\x07\xfd\x85\x5d\x93\xf7\xd1\xde\x2c\x12\xe0\xd6\xe6\x8e\xbd\x94\x80\x0e\x8b\xa2\xd6\x5e\x1f\x75\x2c\x17\x0d\xe8\x11\xb3\x17\x0d\xa8\x76\x09\x0f\x1a\x50\x90\x1e\x40\x05\xd0\x0a\x39\x62\x89\x3f\xc1\x5e\x8a\xee\x6f\x51\x75\x92\x8b\xda\xbf\x81\x49\xda\xae\x5f\xc6\xfe\x2a\x0a\x1d\x72\xe5\xd0\xad\x18\x37\xdc\xfb\xb2\x7a\x7c\x61\x75\x7c\x39\x61\x49\xef\xb8\xa6\x2d\xfc\x85\xc8\xde\xd0\xf7\xb3\xd8\xba\x87\x63\x47\xb0\x2f\x17\xc9\xbc\xa3\x80\xd1\x20\x51\x22\x17\x41\x5c\x90\x48\x36\xcc\x0e\x77\x40\x8f\xc1\xb3\x44\x49\x68\x1b\x9e\x13\x12\x93\x40\xf7\xcd\x30\xdb\x14\x06\xf1\xe7\x3f\xfd\x65\x2a\x3b\xd4\x13\x88\x3e\x16\xd8\xe6\x85\x7f\x57\x48\xa1\x52\x08\x9b\xf3\x74\xb7\xb6\x9e\xaa\xc5\x51\x6a\x37\x8f\xdd\x86\x4f\x92\x3b\xdf\x6e\x44\x98\x39\x6e\xa2\xcf\x80\xbd\x08\xb6\x83\x3f\xbe\xb5\xc8\x6c\x97\xd1\x67\xe6\xe9\x56\xf1\x8d\x4c\x3e\xab\x8c\x5b\x29\xb2\x14\x44\xa4\xde\xf7\xc5\x0f\x53\x91\xdc\x8d\x35\x77\x1e\x5d\x19\x44\x24\x77\xec\xbb\x9b\x0f\xef\xb1\x10\xb4\x34\x33\x75\xc1\x4b\x79\x2f\x6e\x8b\xcc\x07\x6e\x08\xd0\x5e\x64\xee\x8c\xd4\x99\xea\x23\x56\x34\x47\x6b\xef\x6c\xa2\xb8\x90\xc8\x66\x7b\xb4\xa8\x92\x3b\x51\x1e\x17\x5c\xa5\x7a\x83\xc3\x38\x36\xd5\x72\x29\x7f\x9a\x96\xbc\xe8\xa8\x2a\x82\x1e\x9f\x9f\xf1\x45\x12\x6a\xc5\x95\xe1\x75\x82\x8f\x92\x07\x48\x89\x47\xf9\x58\xed\x19\x82\x19\x9c\x7c\x23\x80\x16\x96\xd5\x2b\xf2\x40\x2b\x98\x65\x0e\x85\x6b\x8d\xa1\x5c\x13\x4d\x65\xf1\x3f\x45\xcf\xb0\x4f\x91\x54\x01\x6c\x10\x0b\x15\x8a\xc1\x6e\xf8\x1d\xbe\xe4\x57\x85\x30\x66\xc2\x8c\x06\x89\x67\xca\x65\x6d\xb8\xcc\x42\x40\x28\x01\xb1\x74\xb6\x65\x89\xce\x7d\x7a\x01\x8e\x6b\xad\x1f\x20\xa2\x12\xe7\x54\x43\xb9\xf3\x4a\x95\x32\x63\x7c\x59\x52\xb8\x05\xaa\x68\xb8\xaa\x79\x66\x3a\x53\x10\x34\x4f\x60\xf8\x00\x66\xf1\x81\x32\x3f\x08\xc3\x96\x3c\x91\x99\x2c\x89\xdb\x0f\xd2\xf1\xb8\x1d\xaf\xbd\x0f\xec\x5c\x16\x7c\xcb\xb3\xf0\x04\xe6\x59\x15\xd2\xc8\x8f\x8c\xe8\xe1\x8e\x95\x66\x8e\xae\x9c\xe7\x3b\xe0\x01\xaf\x29\xe3\x30\x11\xf2\xec\x9f\xd8\xce\x2f\x1a\xb7\xe8\x6f\xe2\xff\xad\x79\x4c\xfa\xac\x82\x03\x5c\x27\x87\x5c\x8e\xbb\xce\x11\x5f\x6a\x3e\xd8\x19\x32\x75\x48\xee\xda\x2b\x23\x24\x6a\xfb\xeb\x11\xa2\x5b\x1d\xee\x99\xa9\x2b\x10\xb8\xdb\xc3\x88\xd9\x6b\x37\x12\x3f\x93\xe3\xa9\xab\xf8\xc1\x10\xf1\x5d\xdc\xe4\x52\xeb\xec\xd0\xd8\x09\xd1\x97\x48\xad\xe6\x50\x33\xfb\x90\x97\x32\x6e\x00\xef\x82\x3c\x7f\xeb\xd1\x11\xbe\x9a\x40\xbd\xd2\x1e\x01\xf7\x48\x04\x50\x64\x20\x44\x0f\xa6\xdf\xe4\x2d\xf0\x98\x91\xb9\x09\xd0\x06\xe2\xea\x9c\x69\xbf\x1b\xcc\x89\x98\x6c\x78\x90\x11\x18\x97\x1b\x12\xfe\xa6\x21\x69\xaf\x5b\x15\x2b\x5c\x37\xba\xf2\x2e\xd6\x98\x99\xdd\xcf\x63\xd4\xb7\x9b\xcf\x0d\x57\xe4\xa3\x25\x2b\x7e\xa6\x22\x8b\x1d\xd9\x03\x5d\xf2\x87\x9f\xb5\x36\xcf\x6b\x6d\x1b\x1e\xec\x79\x3d\xa4\xfc\x46\xaf\xe6\x7c\x1b\x17\xd2\x04\xd4\x4e\xa2\x37\x0b\xa9\x1c\x7f\x07\x85\x23\xe0\xa9\x71\xe2\xd8\x8d\x7d\xe8\xc8\x3d\x19\xb0\xbc\x52\x63\xee\xbd\x99\x13\x13\x45\xc7\x2a\x6b\xdf\x73\x3c\x7e\xdf\x3d\x6d\xa5\x90\x8e\x98\x70\x73\x04\xf6\x02\xc9\x1e\xf8\xd6\x40\xb1\x79\x61\xb5\xe2\x12\x5d\xf0\x75\xf9\x27\x91\xf9\xe1\x98\xb3\x67\x0a\x66\x08\x99\xd5\x9c\x22\xb5\x9a\x15\x36\x60\xe6\xca\xea\x07\x56\xbc\x17\xa6\x7d\x72\x7e\x9e\xa8\x5a\xd1\x1b\x55\x43\xb8\xc0\x3f\x47\x20\xad\xc7\x5d\x7f\x60\xd4\x20\xba\x26\xd1\x62\x24\x40\x17\xa4\xd8\x79\x30\xc1\x84\x6d\xb8\x54\x74\x0c\xb0\x74\x69\x2a\x16\xd5\x6a\xd5\xe9\xcc\xfe\xe5\x47\xc5\xea\xe7\xe4\x5f\x3e\x6a\xd1\xcb\xeb\xf8\x14\x8e\xf0\x73\xd7\x13\x7a\xe6\xed\xbb\xef\xf3\xf8\xbe\x7f\x8d\x9b\xfc\x33\xc6\x4d\xce\x87\xc4\x4d\x1c\xa8\x10\x72\x3b\xc9\x3b\xe0\x80\x5f\xbf\x06\x54\x7e\x0d\xa8\xf4\x6f\xf5\xa7\x09\xa8\x20\x55\xd5\x5c\xd6\x9f\x52\x3d\x52\x3e\x92\xcd\xd5\x13\x9c\xc3\xc5\x84\x8c\x89\xf6\x1e\x4e\x0d\x5b\xf0\xe4\x19\xe8\x5d\xc1\x8e\x39\xdc\x73\xbb\x07\x50\x76\xad\x37\x82\x41\x57\x06\xcb\x93\x31\xca\x0c\x9e\x00\x02\xdc\x0e\x30\xa0\xb0\x08\xe3\x05\x86\x0f\xa2\xc1\xd2\xf0\xfc\x79\xa9\xc4\x03\xb3\x76\xc5\x24\x86\xc4\x46\xcb\x03\x75\x2b\x5f\x59\x3b\xbe\x96\x3f\xe3\x69\x68\x0a\xb1\xe2\x45\x0a\x59\x5b\xa4\x6d\x32\x9e\xdc\xd9\xff\x06\xf9\xa8\x47\x82\xed\x3a\x06\x0c\x84\x92\x87\xd6\xa4\x4a\x90\xe0\xd3\x55\x2a\xf0\xf2\xe1\xcf\x0d\xe3\x49\xa1\x0d\xba\xf7\x7c\xb9\x77\x60\x0d\x80\xa7\xc6\xbd\x4c\x2b\x9e\x61\x8f\x9d\x31\x91\xb1\x90\xd0\x26\x88\x2f\xaa\xcc\xb8\x8b\x10\xa5\xe5\x40\xde\x35\xd9\x72\x96\x6f\x8d\x20\xe4\xa6\x71\x07\xb8\x57\xd2\x67\x33\xf4\x76\x70\xb6\x9d\xd6\x5e\xcf\x04\xb8\xc4\x85\x68\x22\x4c\xf7\x4c\xec\x21\x09\x3e\x64\x51\x46\x93\x9d\x9f\x07\xcb\x2d\x2a\xb0\x8f\x2f\xba\x42\xf0\x74\x1b\x33\x8c\x4a\xc5\x20\x9e\xca\x78\xba\x91\xca\x1e\x02\x57\x82\xd8\x5f\xa2\xae\x1a\x09\xc2\xf8\xa1\x52\x5f\x96\x35\xec\x60\xc3\x94\xb0\xcf\x00\x5e\xc8\x6c\x0b\xea\x3c\x2f\xc4\x51\xd4\x4f\xb4\x3e\x94\x45\x08\x75\x55\x88\x1a\xa9\x32\x62\x59\x65\xf8\x3e\x04\x0f\x8a\x1f\x00\x69\xa4\xdb\xf3\x89\x35\x0d\x4b\xaa\x8f\x15\x75\x8c\x55\x67\x9f\x22\x23\x6b\x27\xae\x3c\x2e\x36\x1a\x18\x70\x0b\x48\x1c\x59\xeb\x07\x97\x3e\xfa\xc0\x43\x7e\x40\x97\xe1\xf0\x64\xf1\xb0\xfe\x17\x83\x7b\xab\x3b\x3d\x15\xd1\x58\xfa\x20\x28\x7d\x26\x52\xaf\x9b\xa4\x82\xe1\x50\xe1\xf6\x10\x63\xa8\x0c\x66\xa1\xda\xb5\x84\xfb\xcb\xb9\xa4\xea\x21\x06\xe6\x47\x27\x8d\x56\x6c\x56\x7d\xf9\xe5\x6f\x05\xfb\x12\xd2\x72\xe9\xe5\x88\x91\x4c\xe0\xc0\xc5\xd6\x41\x65\xfb\x0e\x04\x12\xe4\xee\xac\x08\x6b\x83\x7d\x3b\x0e\x0c\x00\x4e\xf3\x64\xcd\x4c\xb5\x40\x54\x30\xa7\x60\x18\x57\x9e\x4b\xff\xbd\x06\x80\x2f\xde\xee\x4e\xfa\xff\x21\xa1\x1f\x2c\x65\x34\x53\xb9\xc6\x72\x0f\x00\xa7\x5e\x08\xb6\xe1\xc5\x1d\x54\xa6\xc6\x40\x0a\x94\xb7\x78\x29\xc5\xb4\x1e\x08\x7a\x55\x93\x87\x42\x6f\x48\xe3\xce\x8a\x4a\x29\x57\x6a\x8f\x59\x9b\x3b\x44\x65\x26\x33\xb5\xa8\x62\x2f\x41\x2d\xac\x13\xb6\x16\x84\x76\x40\xd9\x6a\xe0\xdf\x21\xa1\xb8\x09\x72\x4d\xd9\x80\xf8\xce\x4c\x3d\x71\x80\x67\x9f\x6b\xf6\x92\x6c\x30\xe7\x76\x8d\x72\x80\x60\xb8\x71\x35\x78\x58\x0e\xdc\xf6\x60\xe4\x5c\x42\x49\xf8\x09\xfb\x4e\xde\x8b\x09\xbb\xce\x79\x71\x37\x61\x6f\x31\x50\xfb\x7b\xbd\x68\xf3\xb6\xee\x90\xb4\x1c\xec\x71\x7d\x9c\xc3\xb1\x8f\xbc\xa8\xfd\xf9\xf0\xc3\x8e\x2d\xcd\xba\x50\x0a\xff\x9c\x28\xd7\x0e\xfe\x9c\x7f\x75\x9f\xd1\x1e\x40\xc1\xaf\x08\xca\x5f\x1f\xfc\xff\x82\x0f\xfe\xe7\x40\x34\xfd\x26\xfe\x5f\xa7\xf5\x9d\x9d\x0a\x16\x3b\xdd\x0d\xad\xa8\xcb\x5f\x16\xc5\x82\x4c\x9b\xa6\xcc\x2e\xd3\xc2\x30\x05\x42\x44\x16\xa9\x27\xd9\x18\x91\xfe\x43\x3f\x75\xf3\x75\x9a\x69\x53\x15\xfd\x2a\xf3\xaa\x2e\xb5\xeb\xbd\x85\xf4\x19\x8e\xe8\x66\x21\x80\x3f\x65\x28\xbc\x0a\xbf\x36\xff\x6f\xbd\x98\x03\x96\xf0\x30\xbd\xd8\xd6\x9c\xa7\x92\xd7\x49\x4d\xd4\x60\x57\x5c\xe7\x02\xb8\xef\x82\x01\x1f\x02\x5e\x8d\x1d\xe6\x1d\x4a\x33\xe5\xaa\x6f\x60\xee\x7e\x51\x08\x28\x13\x50\x08\x28\xfa\xca\x88\xed\x34\xdb\x46\x76\x64\xf4\x5e\x0c\xa0\xaf\x38\xdf\x16\xd2\xe6\xe9\x95\xba\x10\x42\xf9\xd9\x1e\x63\x80\x01\x25\x7e\x63\xf6\x09\xcd\xf9\x20\x5c\x11\x96\x8e\x02\xd5\x3b\xbf\x8b\x5e\xd0\xf0\x50\x59\x89\x32\xba\x03\x1b\x06\x59\xed\x68\xd6\x22\xb0\xbf\xa8\xdc\xa3\x56\x8c\x45\x83\x26\xb0\xe6\x76\x1a\xe4\xe1\x7f\x8a\x78\xd0\x25\x2f\xd7\xe8\x06\xd8\xe8\x52\xa0\x4a\x46\xbe\x32\xdc\x2f\x18\x86\x58\x64\x7a\x01\xd5\x56\xcb\x1e\x36\xd9\x84\x8e\xf6\xa0\xa9\xdb\x5d\xb0\x21\x9a\xc1\x6a\x13\xc8\xf9\x2f\x84\x01\xea\xa7\xdd\x28\xec\xd0\xf0\xc8\x38\x57\xc5\xae\xb8\x56\xe9\xef\x5e\x76\xbb\xe5\x79\xec\xb1\x06\x30\xf6\xd9\x23\x72\xf9\x76\x8a\x1d\x11\x6d\x3d\xc1\x1c\x90\xb9\xba\x31\x5e\xe4\xed\xda\x02\x29\x27\x7c\x12\x5d\x02\x3c\xd4\xdb\xf3\x78\x67\xaa\xdf\xee\xcf\x1f\x26\xd2\xb3\x93\x18\x61\x4b\x7e\x95\x49\xf0\x00\xc3\x13\x6a\x02\xf9\xd5\xaa\x94\x85\x60\x0a\x50\x36\x33\x65\xaa\xc5\x51\xa0\x48\xb2\x6f\xdf\x7b\xa0\xf5\x32\x22\xe7\xf0\x00\x04\xe6\xb4\xa3\x56\xbb\xe5\xa6\x56\x37\xcb\x51\x89\xf2\x8c\x94\x3f\x64\x6d\x23\x47\x87\x1f\xbb\x6f\xc7\x3e\x71\xc1\xf7\xe0\xe0\x78\x78\xd9\xf5\xe9\x0b\xa8\xec\x07\xb9\xe0\x57\x88\x12\xfa\xb9\x2f\xf0\x38\xda\x3f\xf4\xea\x86\x78\xf1\x4c\xfd\x9b\xbb\x1b\xba\x41\xf3\x23\x76\xba\x9d\x19\x7b\x45\x75\x82\xf9\x6b\xb2\xb9\x87\x77\x64\x3a\x77\x0b\xb5\xb3\xe5\xdb\x5a\xe5\x0e\xb7\x15\x97\x77\xd2\x94\xb8\x0f\x9f\xde\x4b\x13\x15\x7e\x80\xde\xae\x85\x60\x6f\x0a\xb1\x7c\xf3\xa9\x10\xcb\xb9\x5b\xe9\x29\x0c\x68\x6a\x47\xb4\x5b\xfe\x61\xe0\xe6\x30\xb9\x56\xed\x34\xac\x7b\x68\x92\x1b\x43\xc2\x76\xa2\x31\xc9\x25\x0b\x95\xae\xed\x78\x80\x8b\x46\xa4\xcd\xba\x14\x3b\x92\x7d\xf6\x6b\xae\x0b\xe9\x38\x00\x4a\xd8\x51\x10\xf9\x5f\xff\x7a\xab\xcd\xd9\x90\xeb\xed\xa6\x0e\x09\x73\xca\x9e\x2b\x7f\xe1\x75\xe3\x9e\x3f\x6f\xf6\x05\x2c\xa0\xc9\xf9\x83\x22\x46\xad\x51\x0e\xbb\x61\xd7\x5a\x03\x20\x17\x5d\x6b\x3b\x18\xcf\x70\xca\x94\xf3\x8f\x4a\x5f\x53\x77\xc2\x82\xdf\x81\x67\x59\x5c\x5d\x27\xc4\x27\x67\x2a\x64\xc8\x5b\xab\x35\xcb\x9c\xe3\xb3\x66\x6f\xf8\xe2\xe7\xa6\xe4\xa5\x98\x38\xfa\x27\x22\x4e\xa5\x28\xe2\xd1\x82\x43\x99\x7b\x5f\x4f\x71\xdf\x69\x7e\xaa\x47\xe4\x2f\x8c\xa1\x61\x4f\xbc\x1e\xbb\x9d\xdf\x89\x1d\xb8\xfe\x5e\x59\xdb\xe3\x43\x11\xb9\x0d\x1c\x66\xa7\x65\x13\x5e\x14\x2e\x8b\x85\x7a\x65\xae\xf4\x41\xfc\x2a\xe9\x90\x73\x2d\x92\xbb\x5c\x4b\x35\x5a\x17\xd5\xc8\x76\x60\xb3\x97\x2c\xb4\xe6\x5f\x87\x83\x2e\xc7\x9a\x3d\x89\x03\x01\xa8\x92\x87\x3e\x07\x5a\x48\xce\x7c\xd5\xfc\xee\x6d\xf7\xd4\xfe\x0b\x11\xee\x86\x67\xf0\x60\xb7\x44\xd5\x1a\xb7\x0a\x6f\xf1\x1b\xd5\x38\x89\xf9\x4e\x76\xe3\xc0\xc9\xe6\xac\x46\xa6\xda\x3a\xa5\xe0\x8a\xfa\xd5\x33\xf4\xab\x67\xe8\x9f\xdc\x33\xf4\x39\xdd\x42\x80\x28\x7a\x4e\x9f\x50\x0f\xac\xe0\x80\xe3\xe8\x7b\x1d\x9d\xc3\xdb\x6a\x1d\x4f\xc2\x30\xe2\x4c\xde\xdd\x44\x16\x47\xc9\x63\xe7\x67\xc1\x93\x3b\xa1\x3a\x91\x0d\x8e\x48\xad\xb3\x16\xf3\xd3\xe2\x7e\xda\x78\xe0\xa2\x5f\xf7\x03\x80\x02\x40\x8c\xe8\xcb\xdb\xa8\x89\xec\x39\x01\xdb\xd3\x0e\xfc\x08\xa0\x76\xba\xf0\x14\xfb\x86\xb2\x4c\x31\x84\x8b\x84\x6d\x08\x31\x6b\x90\xd2\xef\x4c\x6a\x27\xec\x00\x3b\x9e\xe7\x5a\x67\xad\x80\xc2\x27\x9d\xc0\x9d\x44\xb0\xa1\x93\x77\x8e\xc6\xa8\x89\x61\x76\x6e\x16\x43\x52\x51\x48\x41\xc2\x7c\x23\xa8\xca\x03\xbb\x29\xad\x20\x57\x38\x4c\x47\x54\x6a\x95\x7b\x87\x0b\x21\xeb\x16\x22\xe1\x50\x04\xda\x41\x1e\x13\xee\xb3\xab\x62\x7a\xb6\x9d\x74\x27\xb3\xdb\x4f\x47\xac\x17\xda\x9d\xcb\xb6\x12\x3c\x63\x0f\x57\xc3\x42\x70\xa9\x13\x28\xb9\xc3\xdf\x38\x02\xd8\x7d\xc5\xcd\x1d\xdb\xfd\x1c\x2a\xb1\x0e\xbb\xe1\x5a\xf5\xce\x39\x35\x74\x0a\xed\x0c\x57\xa4\xdf\x41\xba\xd9\x66\x20\xde\x69\xa6\x4e\x7c\xcd\xeb\x80\x98\xf3\x78\x47\x0c\x32\x23\xd2\x73\x67\x69\x90\x55\x36\xbc\x5c\x26\xcc\x54\xc9\x1a\x78\x73\xeb\x7a\x2a\xd6\x5b\xbb\x27\x76\x32\x53\xf6\x41\x04\xae\x96\x0d\x07\xde\x87\x07\x6b\xac\x1a\xf9\x57\xe1\x41\x6d\x44\x23\x18\xe3\xd8\xf0\xe1\xa4\x55\x2b\xe6\xcf\x51\x18\x23\x2c\x25\x20\x71\xaa\x3c\xe5\xa5\x98\xce\x02\x46\x49\xa2\xa7\xd3\x61\x63\xc8\x64\x36\xf1\xc0\x62\xf4\x67\x43\xd3\x66\x72\x29\x92\x6d\xb2\x53\x91\xac\x9f\x06\xe5\xd7\x67\xdb\x2f\xeb\xd9\x86\x7c\xdf\x98\x13\x3b\x66\x6a\x49\xd4\xab\xf0\xf3\xc3\x26\x57\xb0\x48\x12\x33\x62\x9e\x3f\xe3\xb3\xb3\xc5\x06\x1e\x67\xcf\x0f\x7e\x07\xf5\x5f\x67\xe1\x61\x1b\x2e\xeb\x88\xe2\x63\xc7\x2c\x8c\x83\x8b\x65\xbc\x75\xac\x41\xbb\x37\x05\x7f\x3f\x8b\xd2\x2f\x0a\xd2\x35\xe4\xe1\x6a\x2d\x6e\x0f\xf2\xba\x70\x96\xb6\x12\x78\xdf\xf5\x58\xdc\x51\x7d\x09\x5e\xbe\x30\x7e\xd6\xeb\x1a\xd0\x65\x4c\x9c\xa8\xed\x41\x09\xc6\xdb\x5c\xcc\xab\x22\x3b\x08\xa4\x7d\x7b\xf5\xfe\xd8\x5b\x1b\x60\x39\x77\x56\x60\x2b\x1b\x65\xe2\x5d\x7d\x72\x91\x12\x88\x36\xd1\x19\x5b\x54\xcb\x25\x54\x52\x22\x38\xad\x53\x46\x56\x39\x02\x07\x38\xdd\x27\xc8\xa4\xc4\x4d\x39\x53\x5a\x09\x36\xfb\xe2\x78\xf6\x85\xbd\xca\x0a\x9e\x94\xa2\x40\x12\x8d\x8c\x9b\x92\x19\xb1\x02\x53\x8b\x3a\xbd\xbd\x7a\x0f\x59\xb7\xe5\x1a\x9b\xf3\x4f\x56\xcc\x67\x46\xf6\x79\xa8\x3a\x06\x54\xf9\x2a\xaa\xbe\x07\xb2\xbf\xe4\x86\x49\x35\x53\x9f\x6c\x13\xc7\x2b\xad\x57\x99\x98\xba\x05\x99\xbe\x25\xd7\xe3\xa7\x57\x28\x01\xfc\x3c\x4e\x86\xb0\x17\x22\x57\x5a\xc9\x84\x67\x90\xa1\x35\x53\x60\x35\x4f\xec\x60\xc0\x35\x3a\xfb\x62\x3a\xfb\x82\x41\xf8\xb4\x64\x3c\x49\x44\x5e\x8a\x14\xcb\x1c\x9f\x2b\x96\x03\xea\x33\x11\x13\x56\x0a\xbe\x31\x8e\x5c\x9e\xe5\xf6\x8d\x09\x4f\x43\x26\x15\xe1\xc3\x16\x52\xf1\x62\x8b\x10\x30\xa8\x7b\xec\x52\x66\xb6\x33\x25\x7e\x02\x22\x62\x09\x5c\xc4\x98\x6d\xe7\x91\xac\xe2\x27\x98\xad\x13\xb5\x9d\xb2\xef\x90\x81\x04\xc9\x98\x6f\xaf\xde\x3b\xfa\x2e\xca\x71\x9e\x29\x93\xac\xc5\x46\xb0\x4f\xeb\xb2\xcc\x3f\x4d\xf0\x7f\xcd\x27\x88\x38\x2a\xcd\xf0\xd3\x09\xb3\x4b\x64\x0d\x55\x97\x65\x90\x6d\xa1\x9e\x74\x95\x5b\x03\x09\xd8\xd8\xa1\x2a\x44\x11\x63\xa2\xed\x6c\x43\x8f\xd1\x13\xbc\x86\xa6\xb7\x5a\x1c\x0a\xbd\xbe\xb1\x93\xf3\xbf\xd9\xf9\x32\x74\x69\x27\xd0\xd5\x19\xf4\x52\x81\x41\x62\x20\x87\x6f\x6a\x7f\x70\xa2\xd8\x77\x37\x37\x97\xec\xdb\xb3\x1b\x67\xec\xdc\x5e\xbd\xc7\x7d\x01\x74\x41\x8c\xb3\x3f\x37\x97\xf8\x66\x9b\x8b\xbf\xfc\xf9\x2f\x33\xc5\x88\x5e\x43\x2a\x37\xd3\x78\xa2\x27\x48\x4e\x0d\x70\x2a\x08\xcc\x02\xa9\x3c\xf4\x87\xc5\xbf\x48\xfc\x02\xad\xf3\x07\xf2\x16\xc0\x1d\x95\x69\x7d\x57\xe5\xde\xcd\x1d\xdb\x61\xb6\xc3\xdb\xab\xf7\xd0\x3a\xd0\x85\x95\x6b\xa8\xa5\x28\xbc\xf7\x05\x16\x9e\x3b\x61\xec\x7f\xdf\x6b\x99\x32\xae\xb6\xf6\xb7\xd8\x34\x6c\xcb\x42\x2c\x75\x21\x26\xee\x9b\xb6\x01\x5e\xca\x85\xcc\x64\xb9\x05\x2d\x65\x5c\x89\x2a\x57\xad\xc3\x36\x60\x5f\x33\x04\x8b\xb7\x1b\x0c\x4b\x5a\xbf\xbc\x35\x31\x6e\x1e\x16\xcd\xd7\x49\xc5\x87\x8e\xfd\xed\xa2\x10\xfc\xce\xee\x6e\x6a\x61\xfa\x8a\xea\x47\x8b\x37\x78\xc7\x2c\x2b\x95\xe0\xd6\xb0\x32\xd0\xee\xa7\x97\x53\xb6\x65\xfc\x9e\x4b\xac\x2f\xed\xc2\xe5\xcb\xa5\x4c\x24\xcf\x48\x73\x2c\xaa\x25\x14\xb0\xe2\x86\x8a\xa7\x21\x64\xd3\x36\x02\xaf\x0c\xb8\xee\xfd\x86\x5a\x88\x95\x44\x98\xf6\x83\x2c\xd7\x98\x8d\x31\xc5\x75\xe6\xb9\x34\xd3\x44\x6f\xe0\xbc\x5d\xc3\x56\x32\xf4\xe8\x05\xf4\x7c\x63\x9f\xb3\x97\x0e\xa0\xb8\xc9\xcb\x2d\xed\xbd\x57\x6c\x23\x57\xeb\x12\x4a\x4a\x41\xef\x00\x89\x90\x9b\x3c\x83\x47\x1f\x45\x18\x1d\x4a\xda\x88\x0d\x57\xa5\x4c\xba\x62\x4a\xb0\xc9\x1e\x87\x8c\x5d\x6c\xcb\x7e\x3f\xde\x07\xaa\xf8\xc1\xb1\x98\x47\xa4\x91\x59\x53\x21\x93\x0e\x84\x42\x57\x51\x29\x91\x66\xf9\xe9\x7d\x4f\xa8\x4f\x27\x6a\xfb\x29\xd0\x21\x73\x15\x55\xe1\xeb\xe9\xdd\x9d\x7f\x9e\x69\x5a\x35\xc6\x67\x0a\xb0\xb0\x56\x61\x50\x61\xea\xde\x3b\xc6\x5f\x29\x76\x65\x2f\xdd\xa6\xc9\xe4\x02\xfa\x26\x5d\x61\x98\xa9\x72\xc8\xc2\x28\x35\xcb\x79\x72\x77\x5c\x29\xfb\x3f\x56\x19\xe2\x71\x37\x31\xf9\xd6\x4c\xe9\x25\xab\x4a\x3c\x38\x6e\x0b\x83\x53\x24\x72\x05\x84\x07\xda\x46\x94\x6b\x9d\xfa\x6c\x3a\xdb\x26\xcc\x9f\x95\xe8\x8c\x88\xee\x5f\xbf\x61\x97\xb6\x43\xbb\x89\xa9\x6f\xee\x87\x2f\x15\x3b\xfd\xb7\x7f\x83\xef\xdb\xc9\x7d\xa7\x35\x5b\x6a\xcd\xbe\x66\xd3\xe9\xf4\xbf\xf0\x6f\xb6\x51\xae\xb6\xf4\x2f\xae\xb6\x53\xdb\xdc\xbb\x42\x6f\x5e\x2e\xb5\x7e\x45\x7f\x87\x02\xee\xf6\x3f\xe4\x92\xbd\xb4\x5f\xba\x85\xae\x6e\xf4\xcb\x59\xf5\xe5\x97\x5f\xfd\x87\xfd\xea\x2b\xf6\x37\xfc\x4e\xf4\xf5\x7f\xc4\xa2\x7e\xb5\x47\xd4\xdf\xf3\x7b\x3e\x44\x56\xf6\x35\xdc\x35\xb6\x81\x5e\x19\xa5\x79\xf9\x4e\xeb\x29\xbc\xfe\x63\xe9\xb0\x59\xfb\x0d\x94\x22\xfa\xd6\x7f\x45\x62\x33\x27\xf7\x6f\xf7\xc8\x8d\xb9\x08\x5e\x72\x6c\xfe\x9d\xd6\x2f\xa7\x53\xab\xb7\x68\x5e\x51\xea\x97\xaf\xea\x13\x0d\x03\xd8\x95\xdf\x7e\x7c\x8e\xe2\xbf\x3d\xbb\x3e\xbd\x3a\xbf\xbc\xf9\x78\xf5\xea\x8d\x1b\x41\x58\x81\xe8\xf7\xcc\x95\xd9\xf7\x82\xff\x9f\x3d\x82\x7f\xab\x9d\xcc\x20\xf4\x9b\xaf\x19\xae\x66\xbe\x98\xbe\xd3\xfa\x6f\xd3\xe9\xf4\x1f\xf4\x31\x57\xdb\x89\xbd\x98\xec\x77\x72\x54\xe5\x1f\x78\x61\xd6\x3c\xb3\x63\x8a\x64\xf0\x83\x68\x6d\xd1\x35\x27\x97\x8d\xc6\x6e\xd5\x26\x34\x07\x9d\xc1\xc2\xc2\xb7\xfe\x9f\xaf\x99\x92\x59\x58\xbe\xa8\x0f\x58\xa7\x1b\xa0\x4e\x49\xee\xfc\x71\xf1\xf5\x82\x17\x5b\x96\x37\x0f\x2e\x66\xeb\x6d\x5d\xad\x14\xab\xee\x67\xea\x45\x8b\x46\x3f\xb6\xa6\xdd\x14\x3e\xb0\x17\xd4\x0b\x6b\x3f\x78\x6d\x61\x35\x89\xab\xf1\x87\x33\x0b\x81\x68\x3c\xad\x8a\x32\xfb\xda\xec\x43\x7f\xe1\x45\x64\x6c\x60\x76\xbe\x38\x7e\x41\xe9\x55\xa1\x8b\x7a\x49\x8b\xd9\x17\x4b\xad\xa7\x0b\x5e\x80\x74\x3f\x1d\x6f\xa7\x7f\x9d\x7d\x81\xe3\x41\xe3\x03\x0d\x23\x68\x7c\xf6\x05\x7c\x0a\xdb\x61\xa6\x7e\x7f\xfd\xf1\x62\xa6\xbe\xfe\xfa\xeb\xaf\x71\xb6\xec\xbf\x5b\x62\x2f\xf6\xba\x02\x75\x8b\x76\x4a\x65\x5c\x71\x5b\xb1\xaa\x32\x5e\xcc\x54\x7b\xb8\x26\x15\x41\x69\x4e\x42\xf0\x86\xf6\xd9\xc4\xd5\xd9\x81\x72\x89\x4e\xc7\xa1\x6f\xf2\xd3\xff\x6b\x45\xfe\x44\x26\xa2\x57\xf2\xf1\x14\x4c\xdd\x66\x7e\xe3\xb6\xaa\x9d\x6c\xbb\x7f\x83\x9d\xb5\x94\x99\xa0\x83\xeb\x36\xf7\xa5\x28\x8c\x56\x61\xcf\xd0\x83\x00\xb8\xfb\x20\x00\xc0\xbe\x66\xaf\xff\xab\xf1\xa9\x5d\x07\xf7\xe1\x57\x35\x4d\xc0\x58\x68\x6a\xf6\x05\x48\x3d\xfb\xe2\x0d\x9b\x7d\xd1\xb6\x6f\xea\x82\x4d\x51\x94\xd9\x17\x93\xd0\x00\x88\x71\xc1\x37\xd8\x48\xf5\xe5\x97\xbf\x4d\x50\x04\x4c\xf8\x8b\xbe\x69\x45\xea\xfe\x62\x24\xe2\x79\x23\x74\xe6\x26\xc2\x25\x8e\x3e\x88\x2c\x3b\xba\x53\xfa\x41\xc1\xbe\x85\x38\x11\xe5\x76\x33\xdc\x1e\xf5\xc5\xa5\x2a\x89\x8d\x15\x77\xa9\xae\xbe\x1b\x5f\x68\x13\x16\x74\xa6\x3e\xc1\xd6\x71\x2b\x4a\x74\x5b\x40\x77\xeb\x7b\x82\x47\x0d\xed\x04\x97\x99\x42\x1b\x61\xa6\xa0\x19\xbf\xe6\xec\x25\x00\xbf\x68\x28\x3b\x96\xb5\x7b\x3c\xfd\xe5\xcf\x7f\x79\xf5\xe6\x90\x75\xaa\x37\x57\x5b\x2a\x18\x0f\xb6\xf1\x7a\xfa\xd5\xeb\xaf\xcc\xec\x0b\x9a\xf5\xf6\x27\xf6\x7b\x69\xca\xef\x1b\x16\xd8\xe8\x87\x36\x1a\x0e\xcf\x15\xbc\x70\xa2\xa2\x98\x43\x83\x16\x57\xf5\xb0\x82\x5e\x3a\xb7\x0e\x3c\xce\xb0\x94\x21\xca\x3d\xca\xbc\xf3\xf3\x85\x8f\x2d\xf6\x50\xf0\x3c\x17\x85\xf3\x95\xef\x84\x33\xf4\xd2\xf5\xe2\x54\x7f\x9b\x32\xb3\xdb\xa6\xd1\x34\x7c\x0d\xa6\x6e\xda\xbe\x72\x17\x55\x96\x75\xae\xdc\xfe\xb2\xed\x17\xb7\xef\xdf\xcf\xbf\x3f\x79\x7f\x7b\xe6\x86\xdf\x5a\x06\x3d\xfa\x5a\xe7\x9c\x78\x49\x68\x4e\x10\x57\x55\x02\x96\xaa\xda\x88\xc2\x31\xe1\x85\x51\x23\x8e\xa4\xca\xb2\x7a\x89\xfc\x99\xfa\x44\xed\x80\x1a\xa8\x94\x74\x66\x4a\xef\xc4\xd5\xfb\x87\xaf\x7d\xb2\x8d\x7f\xc2\xdf\x1e\xb1\x30\x88\x37\xec\xc2\xf7\xda\x31\xaf\x44\xd3\x71\xc0\x71\xc0\x2c\xe5\xae\xe3\xf0\xf8\x22\xe2\x4f\x79\x3c\x6e\x15\x94\x1f\xb4\x9a\x97\xe7\x4f\x76\x3a\x70\xee\x3e\xd5\xa1\xe0\xde\x5d\x9a\x62\xd4\x10\xda\x9d\x00\xdb\x90\x34\x25\x71\x72\xe3\x9c\xcd\x14\x2a\x62\x2b\x53\xa9\xbb\x65\x62\xe7\x14\x41\xca\xb8\x5a\x55\x7c\x25\xcc\x84\xb9\xce\x67\xca\xbd\x4e\xdd\x5b\xc7\x03\x73\x80\x71\xb8\xb1\x85\x1a\x89\xd3\x52\xcd\x14\x8d\x09\x6e\x58\x6a\x1e\x93\x78\x7f\x7f\xed\x87\x43\xd9\xf2\xd8\x10\x66\x2f\x5b\x93\x01\x17\x17\x7d\x63\x0e\x6c\x08\x66\xc7\xee\xdd\xc4\x01\x1e\x8c\xef\xba\x94\x95\x7a\x05\xb0\xc7\x99\xf2\x2c\x6f\x08\xce\x70\xef\xb5\x50\xa5\x18\x45\xda\xaf\x4f\xdc\x62\xb8\x33\x41\xb2\xb5\xef\xfa\x83\xef\x00\x7b\xe0\xe6\xad\x6f\xf9\xfe\x6d\x1b\xd4\xd8\x40\x40\x0e\x8f\x14\x47\x17\xf5\x27\x50\xfb\xb5\x4b\xe3\xc6\x85\xdf\xe9\xcc\xb9\xd5\xd5\x22\x1b\x21\x12\x7e\xbf\x57\x28\x54\xc9\xfd\x42\x0d\xf0\x48\x5f\x35\x8e\x96\xdd\xa6\x7d\xdd\x2e\xb4\xee\x58\x97\x27\xc4\xec\xd6\x84\xa2\x1f\xec\x9b\x8c\x2a\x29\x1f\xb3\x5f\x06\xb0\x28\x35\xa7\xc8\x69\x9f\x3e\x81\x32\x69\x1e\x25\x4e\xb0\x9f\x06\x4b\xe4\x2d\x04\xba\xec\x46\x69\x58\xba\xe7\x6a\x0a\xb6\x43\x4d\xba\x67\x0a\xa6\xb7\x08\x89\xea\xc5\x1e\x9e\x09\x1c\x22\xbb\xff\x27\x7e\x13\x4d\xc2\xca\x4d\x40\xc8\xa4\x2a\x8c\x55\x97\xa4\xef\x48\x6b\xeb\x82\xf1\x99\x72\x1c\x3a\x4e\x1d\x9f\x38\x7f\x70\xe1\xff\x8a\xcc\x54\x39\x16\xcf\x84\xa0\x50\x09\x5e\x72\xd2\x86\x33\x75\xcf\x0b\xc9\x15\x60\x9a\x17\x06\x2a\x9f\xc3\x93\x6e\xcb\xe8\x03\x4f\x5b\x62\x62\x27\xf3\x1e\x9d\xd7\x30\x03\x6a\xf7\xfc\x6f\xec\xff\xfd\xe3\x37\xff\x7f\x00\x00\x00\xff\xff\x91\xde\x72\x9b\x3e\xeb\x04\x00") +var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x73\xe3\xb8\xb5\x2f\x0c\xff\xbf\x3f\x05\xaa\xf7\x5b\xd5\x33\x89\xed\x9e\x5c\xce\x7e\x53\xde\x75\xea\x79\x34\xb6\xba\x47\x67\xdc\xb6\x63\xcb\xd3\x7b\xea\x68\x97\x06\x22\x21\x09\x31\x05\x68\x00\xd0\x6e\x65\x57\xbe\xfb\x53\x58\x00\x48\x90\x22\x29\xea\x66\x4b\x6e\x24\x55\x89\x5b\x24\x71\x59\x00\x16\xd6\xf5\xb7\xfe\xe7\xdf\x10\x7a\x27\x9f\xf1\x64\x42\xc4\xbb\x73\xf4\xee\xcf\x67\x3f\xbc\x3b\xd1\xbf\x51\x36\xe6\xef\xce\x91\x7e\x8e\xd0\x3b\x45\x55\x42\xf4\xf3\x71\xb2\x50\x84\xc6\xc9\x07\x49\xc4\x13\x8d\xc8\x07\x1c\xcf\x28\x3b\x9b\x0b\xae\x38\x7c\x88\xd0\xbb\x27\x22\x24\xe5\x4c\xbf\x6e\xff\x44\x8c\x2b\x24\x89\x7a\xf7\x6f\x08\xfd\x0b\x9a\x97\xd1\x94\xcc\x88\x7c\x77\x8e\xfe\xaf\xf9\x68\xaa\xd4\xdc\x35\xa0\xff\x96\xfa\xdd\xff\x86\x77\x23\xce\x64\x5a\x78\x19\xcf\xe7\x09\x8d\xb0\xa2\x9c\x7d\xf8\x87\xe4\x2c\x7f\x77\x2e\x78\x9c\x46\x2d\xdf\xc5\x6a\x2a\xf3\x39\x7e\xc0\x73\xfa\xe1\xe9\x4f\x1f\x70\xa4\xe8\x13\x19\x26\x38\x65\xd1\x74\x38\x4f\x30\x93\x1f\xb8\x98\x7c\xf8\x1f\x1a\x9f\x71\x31\xf9\x17\xfc\x31\x17\xfc\x1f\x24\x52\xe6\x1f\x31\x9f\x61\xca\xcc\xdf\x0c\xcf\xc8\xbf\xb2\x46\x11\x7a\x37\x21\xca\xfb\xa7\x9e\x7a\x3a\x9b\x61\xb1\xd0\xe4\xf9\x48\x54\x34\x45\x6a\x4a\x90\xe9\x14\x39\x7a\xf1\x31\xc2\xe8\x5c\x90\xf1\xf9\x6f\x82\x8c\x87\x8e\xea\x67\x86\xda\x57\x30\xb4\xdb\x04\xb3\xdf\xce\x2c\xcd\xa0\x65\x3e\x27\x02\x26\xda\x8b\x75\xeb\x9f\x88\xea\x40\xb3\xf9\xfb\x7f\xf6\x5f\x17\x44\xce\x39\x93\x44\x16\xc6\x87\xd0\xbb\x3f\xff\xf0\x43\xe9\x27\x84\xde\xc5\x44\x46\x82\xce\x95\x5d\xd9\x0e\x92\x69\x14\x11\x29\xc7\x69\x82\x5c\x4b\xfe\x68\xcc\x5c\xf5\x32\xe3\xa5\xc6\x10\x7a\xf7\xff\x13\x64\xac\xdb\xf9\xf7\x0f\x31\x19\x53\x46\x75\xbb\xd2\xec\xa6\x7c\xb8\xef\x0a\x5f\xfd\xeb\xdf\xaa\xfe\xfe\x97\x37\xa3\x39\x16\x78\x46\x14\x11\xf9\xfa\x9b\xff\x94\xe6\xa2\x17\x49\x77\x6e\x56\xb4\x3c\xe8\xd2\x4c\x6f\xe0\x2f\x9c\x9c\x20\x2e\x26\xe8\x91\x2c\x10\x6c\x29\x12\x23\xc5\x61\xed\x04\x91\x3c\x15\xd1\xf2\xec\x29\x7c\xaf\xb7\x59\xf9\x89\x20\xbf\xa7\x54\x10\xbd\x4c\x4a\xa4\xa4\xf4\x54\x2d\xe6\x30\x3c\xa9\x04\x65\x13\x9f\x08\xff\x3a\x69\x35\x29\xbb\x3b\x57\x4c\xec\x1a\xcf\x88\xde\x69\x7a\x0e\xf6\x8b\xc2\x7c\xd0\x88\x24\x9c\x4d\x24\x52\xfc\x70\xa6\x66\xce\xda\x1a\x33\x33\x1f\xd4\x4e\x6c\xc0\x3a\xee\x95\x08\x33\x34\x22\x48\xb3\x1b\x1a\x13\x41\x62\x84\x25\xc2\x48\xa6\x23\x49\x14\x7a\xa6\x6a\x4a\x99\xfe\xf7\x9c\x44\x74\x4c\x23\x47\xb3\xc3\xa1\x0d\xfc\xd9\x4c\x99\x07\x49\x84\x1e\xf8\x13\x8d\x49\x8c\x9e\x70\x92\x12\x34\xe6\xa2\xb8\x8f\x07\xac\x3f\xd5\x74\x98\x8d\x28\x03\x7e\xa2\x69\xe9\x76\xc8\x1f\x1d\xb9\xfe\x88\x74\x7f\x28\x65\xf4\xf7\x94\x24\x0b\x44\x63\xc2\x14\x1d\x53\x22\xcb\xad\xfd\x91\xdb\x23\x84\x4e\x91\xa6\x33\x11\x0a\xe8\xcd\x99\x22\x5f\x95\x44\xa7\x28\xa1\x8f\x04\xbd\xbf\xa2\x52\xa1\xce\x6d\xef\xfd\x09\x7a\x6f\x98\x00\x02\xf6\xfb\xfe\x05\x28\x9c\xfd\xfd\xdf\x1e\x3f\x51\x78\x52\xe6\x24\xef\x3a\x9a\x45\xdd\x9b\xdb\x2f\x6f\xe1\xbf\xff\xcd\x6f\xc7\xae\x57\xe3\x95\x72\xc4\xb7\x48\xb8\x44\x02\xbf\x0d\xfc\x36\xf0\xdb\xfd\x53\x78\xff\xd2\xd9\xef\x29\x11\x8b\x86\x59\x8d\x71\x22\x0f\xfa\x1a\xc9\xef\x10\x7b\x81\xb4\xbd\x36\x60\xf5\x8b\x37\x86\xd4\x1b\x6f\xdb\x0b\x43\xb7\x5b\xbe\x31\xe4\x71\x5d\x19\x7a\x0a\xfb\xbe\x36\xb6\xb9\x33\xb0\x82\xc3\x8c\x29\x33\x67\x3f\x63\x05\x42\xea\xe3\xef\xb6\xef\x81\x70\xca\x6d\xae\x10\x6f\x66\xde\x2d\xe2\x2e\x07\x8f\x2a\x07\x38\xef\x84\xce\xe8\xaa\xf5\xed\xb1\x98\x46\x58\x59\x1e\xce\xd2\xd9\x88\x08\x4d\x06\xc7\xb5\x60\xb6\x23\xcd\xc5\x54\x2a\x18\x89\x5b\x4c\x73\x1b\x8e\x46\x99\x22\x13\x22\xca\x5f\x8f\xb9\x98\x61\x65\x5f\xf8\x8f\xbf\xae\x4b\x08\xc5\x1f\xc9\xaa\xf5\xef\x99\xd5\x8c\xb0\x84\x6d\x30\x4b\x13\x45\xe7\x09\x41\x73\x3c\x21\xd2\x52\x24\x4d\x94\x3c\x81\xd7\x24\x11\x4f\x44\x9c\x66\x17\x2b\xf4\xe0\x04\x8a\x54\x1a\xee\x3f\xce\xe4\x62\x46\xbe\x2a\x68\x69\xc0\x40\xa4\x00\x12\xf9\x17\xe5\xcb\x5c\x0e\x2d\x48\x25\xb9\x50\xc3\xd1\xe2\xec\x91\x2c\xf5\x5b\xbb\x73\x30\x43\x58\x29\x41\x47\xa9\x22\x7a\xde\xba\x0d\x77\xf5\x01\x7b\x34\x72\x47\x1b\xd6\xf0\x7a\x13\x8e\xa9\x20\x11\xcc\x6d\x9d\x03\x93\x7d\xa5\xe7\xad\x2f\xfe\x85\x99\xbd\x96\x03\xb4\x98\x55\x41\x81\x6c\xc9\x07\x6c\xc0\xd0\x29\xba\xec\xde\x5f\x74\xaf\x2f\x7b\xd7\x9f\xce\xd1\x8f\x0b\x14\x93\x31\x4e\x13\x75\x82\xc6\x94\x24\xb1\x44\x58\x10\x68\x92\xc4\x5a\x94\xd2\x83\x21\x2c\xa6\x6c\x82\xb8\x88\x89\xd8\x1f\x19\x4b\x4f\x09\x4b\x67\xa5\x7b\x05\x7e\xcf\x47\x5f\xfa\x42\x8b\x18\xd9\xa3\xc2\x93\xff\x5e\x22\x30\xcc\x58\xf7\xed\xb5\xb6\xe6\x32\x06\x41\xcd\x17\xd4\xa2\x29\x4d\x62\x41\xd8\x07\x85\xe5\xe3\x90\x7c\x25\x51\x6a\xe4\x0c\xb0\x23\x17\x7f\x1c\x6a\x45\x82\xc7\xa4\xf8\x4b\xe1\x1f\xc6\xea\xbc\xf6\x67\xb9\x64\xb8\xf6\xa7\x99\x2d\x62\xed\x2f\xc1\x72\xd1\xee\x3b\xf8\x85\xc6\x95\x6f\xc3\x2f\x2b\xe6\xe0\xde\x69\x18\xac\x7b\xa5\x76\x54\xee\x05\x2b\x00\x57\xbe\x23\x88\x12\x8b\x21\x56\x8a\xcc\xe6\x6a\x4d\xab\x0c\x46\x89\x16\xb3\x9b\xc4\xea\x6b\x1e\x93\xae\xeb\xef\x37\x64\xa4\x7b\x12\xa3\xd1\xc2\x1e\x8b\x31\x11\x84\x45\xa4\xbe\x85\x3e\x96\x8f\x79\x0b\xab\x64\xf3\x42\x7f\xf2\x23\x17\xfa\xf3\xa3\x70\x0c\x14\x46\xfe\x12\x32\xfa\x26\x27\xf5\x8d\x79\x13\x36\xe5\x3a\x6f\xce\x16\xb6\x21\x0f\x0d\x96\xb3\xed\x29\xd9\xd6\xce\xc6\x05\x92\x0b\xa9\xc8\x6c\xa5\xc5\xed\x78\x08\x61\x2f\xc9\x43\x1d\x70\xe9\x9e\xfe\x06\x4e\x7d\x51\xea\x08\xc7\x7b\x0d\x92\xed\xca\x5e\x7e\xe8\xf3\x74\x01\x30\xcd\x53\xbd\x77\xcb\xe7\xb9\xeb\x8e\x62\x9a\x05\x79\x78\xd7\x83\xdc\x93\x05\xaa\x76\xad\x1c\xb5\x87\x30\x80\x15\xb6\x87\xa2\xc7\x25\x3b\x7f\xfa\x53\xdf\x68\x67\x2c\xb4\x6a\x4a\xa5\x67\xbf\x44\x11\x17\x46\x1c\x8e\xed\x79\x37\xe6\x87\x4e\xbf\x73\xdf\xed\x9f\xa3\x0e\x8a\xb1\xc2\xfa\x80\x0b\x32\x17\x44\x12\xa6\xc0\xb4\xa3\xbf\x57\x0b\x34\xe3\x31\x49\x8c\x11\xe2\xa3\x96\xfe\xd1\x25\x56\xf8\x02\x2b\x9c\xf0\xc9\x19\xea\xc0\x3f\xf5\xc7\x54\x22\x9c\x48\x8e\xb0\xdb\x56\x24\x76\x4d\x60\x16\x3b\xd6\x82\x51\xc4\x67\x73\x9a\x64\xde\xa6\xcc\xde\x46\x59\x4c\x9f\x68\x9c\xe2\x04\xf1\x91\xe6\x2a\xf2\x6c\xc0\xba\x4f\x84\xa9\x14\x27\xc9\x02\xe1\x24\x41\xb6\x5b\xf7\x02\x92\x53\x9e\x26\xb1\x6e\xd7\x8d\x52\xd2\x19\x4d\xb0\xd0\x32\xad\x19\xed\x8d\x6d\x0b\xf5\xa7\x24\x1b\x2b\x8c\x4b\x53\x73\x86\x1f\x89\x44\x54\xa1\x39\x97\x92\x8e\x92\xfc\xcc\x3f\xf4\x10\x8c\xfb\xe2\xaa\x07\x26\x9e\x48\x21\x6e\x78\xa8\xeb\xdc\x9a\xf4\x5c\x8f\x33\xcc\x18\x81\x8e\xb9\x9a\x12\x61\xbb\xb7\x2f\xbf\xb6\xb5\xe6\xe1\xfa\xfe\xb6\x7b\xd1\xfb\xd8\xeb\x5e\x2e\x9b\x6b\xfa\x9d\xfb\x9f\x97\x7f\xfd\x72\x73\xf7\xf3\xc7\xab\x9b\x2f\xcb\x4f\xae\x3a\x0f\xd7\x17\x3f\x0d\x6f\xaf\x3a\xd7\xcb\x0f\xed\xb6\x6a\x6d\xf9\xf1\x47\xb6\xb3\xb3\x75\x74\x46\xa1\x60\xd4\x5f\x63\xd9\x77\x6d\xd4\x3f\x79\xbb\x56\xfd\x31\x4d\xc0\xe8\xd0\xda\xa2\x9f\x59\x8d\xec\x97\x68\x8e\xa5\x34\x72\xa0\x19\xc1\xd9\x80\x7d\xe6\x42\xb3\xeb\x31\xd7\x1c\x51\xcb\x8a\x4a\xa4\x91\xa2\x6c\x92\x7d\x74\x8e\x06\xe9\x0f\x3f\xfc\x25\xba\xa2\xec\x11\xfe\x22\x87\x48\x9c\xe0\xf2\x08\x2e\x8f\x83\x73\x79\xfc\x5b\xc5\xa7\xfb\x77\x0f\x04\x1b\x7f\xb0\xf1\xef\xcf\xc6\x1f\x4c\xfc\xde\x18\x82\x7d\x7b\x5b\x42\x04\x03\x58\xb0\x6f\x6f\x4f\x88\x60\xdf\x3e\xd0\x19\x87\xe3\x1d\xec\xdb\xc1\xbe\x1d\xec\xdb\xc1\xbe\x1d\xec\xdb\xc1\xbe\xfd\xcd\xd8\xb7\x0f\x30\xe4\x29\x18\xf9\x83\x91\x3f\x18\xf9\x83\x91\x3f\x18\xf9\x83\x91\xff\x78\x8c\xfc\x5a\xda\xfd\x50\x0e\xfd\xdf\x13\x84\x8c\x16\x2e\xd9\x3c\x55\x20\x4a\xf2\x54\xe9\x3f\x75\xff\xb0\x57\x1a\x20\x00\xda\x19\x94\x3f\x11\x95\xbd\xa8\x45\xdb\xa3\x88\x15\xff\xc2\xc5\xe3\x38\xe1\xcf\xd9\xc8\x3f\x11\xa5\x07\x7f\x67\x7b\x09\xd0\x32\x01\x5a\x06\x05\xa8\x83\x5d\x43\x1d\x1c\x94\x89\x7a\x57\xfc\xdd\x7d\xfd\x4e\x2b\xff\x8a\xd4\xf2\xe2\x3e\x11\x33\xca\x9c\xec\x42\x99\x16\x72\x27\x82\x48\xb9\x2d\x07\xce\x1a\xce\x5e\x3f\x0a\x1e\x9c\x8d\x36\x1b\x7f\xe0\xbe\x81\xfb\xd6\x4c\x2d\x70\xdf\x37\xc6\x7d\x5b\x4c\x6d\xc4\xe3\x25\x75\xc2\x8c\xa4\xea\x49\xf3\x48\x76\xc6\xa1\x7e\x4f\x49\xbb\xb0\x83\x97\xd0\x1a\x8e\x5a\x51\x38\x86\x3b\xea\x00\xf4\x84\xc0\xd4\x03\x53\xaf\xa6\xcc\x51\x32\xf5\x63\xf4\x09\xec\x9f\xa7\x17\xbd\x28\xb9\x39\xa8\x02\xe8\xa1\x3e\xc6\xb3\x36\x84\xb3\x26\x42\xd3\x0b\xc0\x7c\x91\x6b\xa2\x18\xe6\xb8\xe2\xaa\x28\xbc\x7c\x34\x76\xa5\xc2\xa8\x5f\xfe\xae\x78\xe3\x68\x03\xdf\x4a\xb0\x65\x88\xa5\xdc\x90\x50\x6f\xf8\xd2\x7c\xb9\x48\xc8\x97\xbf\xed\xbe\xd9\x3b\x2d\x5c\x69\xf6\x3f\x81\xe1\x07\x86\x1f\x18\xfe\x2b\x31\xfc\x0d\xe8\x1e\x54\xb8\xa5\x4b\xad\x12\xcc\xaf\x2d\x7a\xdf\x3a\xa9\x7c\x6b\xe4\xee\xb5\x4e\xd6\x5b\x91\x9d\x57\x99\x8e\x57\x95\x7f\xb7\x9c\x70\x57\x99\x61\xb7\x5d\x4a\xdd\xa6\x77\x75\xfb\x24\xb9\x4f\x44\x15\x5e\x3e\x1a\xfd\xb3\x30\xea\x97\xbf\xac\x5f\x3d\x18\xf4\xb5\xf8\xf4\xb7\x97\x10\x18\x32\x00\xf7\x48\xba\xb7\x2e\xd6\x1c\x6e\x8e\xdf\x37\x90\xd4\x17\xb2\xf8\xd6\xa2\xd1\xdb\x4a\xdb\x7b\xab\x79\x7a\xc7\x99\x98\x17\x32\xf1\x42\x26\xde\x4e\x55\xde\xd2\xd3\x6f\x2a\x13\xef\x98\x53\xef\x5e\xde\x3c\x11\x4c\x0e\x87\x6f\x72\x08\x16\x07\xfb\x9f\xa0\x7d\xaf\x3d\xf3\x20\xda\x07\xed\xbb\xcd\xcc\x83\xf6\x1d\xb4\xef\x03\x3c\xa2\x41\xfb\x0e\xda\x77\xd0\xbe\x83\xf6\x1d\xb4\x6f\x14\xb4\x6f\xaf\xa1\xd7\x02\x6c\x38\x04\xe7\xe6\x51\xd9\x1c\xf2\xa9\x0f\xdd\x01\x5f\x06\x39\x28\xb0\xdd\x36\xb8\x07\xf0\x97\x53\xea\xd7\xc5\xe1\xad\xd5\xd2\x2f\xf3\xc1\x76\x81\x49\xfe\x66\x59\xc5\x0a\x85\x7d\xe9\xbb\xa3\x88\x11\x58\x1a\x75\x48\xb7\xdd\x54\xe4\x79\x25\xa1\x61\x4f\x14\x38\x92\xeb\x6b\xfd\x85\x7a\xc3\xba\x64\xd0\x21\xb7\x4f\xa1\x3b\x1a\xdd\xf1\x78\x74\xc6\x97\x97\x2d\xde\xa2\x38\x11\xa4\x09\x6f\x0c\xe1\xe2\x0d\x17\x6f\xb8\x78\xc3\xc5\x1b\x2e\xde\x90\x81\x6f\xdf\xdf\xab\x3c\x51\x12\x26\x5a\x01\x34\xee\xbc\x32\x50\x85\x28\xe1\xdd\xc0\xab\xea\xfc\x94\xbf\xa6\x44\xfe\xf5\x28\x65\x8a\x97\x28\xf5\x13\x84\x8a\x23\x11\x2a\xde\xa4\x2d\x29\x48\x4a\x41\x52\xaa\xa6\x4c\x2b\x49\x69\xc0\xfa\x53\x4d\x87\xd9\x88\xb2\xcc\x9b\xe7\x76\xc8\x1f\x1d\xb9\xfe\x88\x74\x7f\x28\x65\xf4\xf7\x94\x24\x8b\x9c\x27\xc9\x72\x6b\x19\x5e\x34\x3a\x45\x9a\xce\x44\x28\xa0\x37\x67\x8a\x7c\x55\x12\x9d\xa2\x84\x3e\x12\xf4\x5e\x33\x66\xd4\xb9\xed\xbd\x3f\x41\xef\xaf\xa0\x6c\x1d\x9a\x27\x98\xc9\xf7\x07\xe3\xb8\x09\x60\xfd\xfb\x02\xeb\x0f\x58\xfd\x01\xab\xbf\x2d\x81\x02\x56\x7f\xc0\xea\x3f\x5e\xac\xfe\x9d\xe9\x87\x1b\xe2\x72\xbe\x8a\xa6\x78\x9c\xbe\xec\xa0\x29\xa2\xa0\x29\x06\x4d\x31\x68\x8a\x41\x53\x3c\x12\x4d\xf1\x30\x28\x1c\xd4\xc4\xa0\x26\x06\x35\x71\x87\xc4\x09\x6a\x62\x50\x13\x83\x9a\xb8\xa4\x26\x1e\xaf\xe7\xf0\x2f\x41\x1f\x0c\xfa\xa0\xff\xfb\xf1\xe9\x83\x41\x75\x0a\xaa\x53\x35\x65\x8e\x53\x75\x3a\x18\xd9\xe7\x18\x43\x8a\x82\x52\xd8\x9e\x10\x41\x29\x6c\x4d\xaa\xa0\x14\x36\x10\x27\x28\x85\x41\x29\x0c\x4a\x61\x6b\xa5\xf0\x98\xdc\x85\x41\x3b\x0c\xda\xa1\xff\x7b\xd0\x0e\x83\x76\x18\xb4\xc3\xe0\x58\x0b\xaa\x61\x50\x0d\x83\x6a\x18\x54\xc3\x55\xc4\x09\xaa\x61\x50\x0d\xbf\x2d\xd5\x90\x3c\x11\xa6\x24\x14\x43\xf4\x15\xa5\x77\x73\x2e\xeb\x15\x3c\x9f\x3b\x54\x28\x77\xd0\x66\xb1\x28\x21\xa0\xb6\xfd\x86\xa6\x58\x22\x1e\x45\xa9\x28\x9d\x81\xb2\x7a\x77\x21\x08\x56\x04\x5a\xd0\x1f\x1e\x83\x5a\xb7\x3c\xdd\x97\x02\x20\x1e\xf1\x78\x69\xb7\x9b\x83\x50\xf5\xa4\x59\xcc\xda\xd9\xd4\x7f\x4f\x49\x3b\xad\x76\x8f\x9b\x5a\x61\xf9\xb8\xe3\x4d\x5d\x00\x9a\xde\x68\x53\x43\x0b\xc7\xb2\xa9\x97\xa7\xfb\xcd\x6c\xea\xaa\xa9\x1f\xc2\xa6\x7e\xe6\xe2\x71\x9c\xf0\xe7\x1d\x6f\xec\x2f\xb6\xd9\xed\x36\x77\xd6\xca\xb1\x6c\xf0\xea\x69\x7f\x33\x9b\xbc\x6e\xfa\xaf\xbb\xd1\xb3\xfa\x10\xad\xb7\x78\x5f\xd0\xc9\x44\xab\x19\xa0\xe1\xe9\xad\x68\x4d\x1f\x0d\x00\x49\x79\x45\x84\x95\xdb\x3a\x7b\xf5\x18\xb6\x74\x36\x58\x33\xf6\x6f\x66\x2f\x2f\xcd\xfb\x40\x36\xf1\x2b\x81\x76\xb4\x2b\xf8\x71\x45\xa5\xca\xde\x3c\x8e\x6c\xab\x6c\xb8\x2f\xe1\x37\x09\xf9\x3b\xc1\xcd\x10\xdc\x0c\x87\xef\x66\x38\x18\x83\x5a\x30\xc9\xef\xc9\x24\x4f\x65\xb0\xc9\x07\x9b\x7c\x5b\x02\x05\x9b\x7c\xb0\xc9\x1f\xaf\x4d\x7e\x4d\xdd\x61\xc3\x08\xad\x3a\x83\xd0\x3a\xfa\xc3\x27\x92\xab\x0f\xc7\xa5\x3d\x04\xcd\x21\x68\x0e\x41\x73\xd8\xb9\xe6\x70\x50\xe5\x08\x77\xc5\xa5\xdd\xd7\xef\xe6\x69\x3d\x4f\x7d\x98\xc7\x58\x11\x94\x31\x6f\xbb\x13\xf4\xc5\xa8\x78\x76\x08\xec\x7e\xd8\x92\xed\x9a\xbe\x8e\x94\xf3\x9a\xc1\xbf\x60\x79\xd6\xc0\x87\x03\x1f\x0e\x7c\xf8\xb0\xf1\xcd\x0f\xc7\x7d\xe0\xd8\xd3\xa1\xb8\x0f\x04\x89\xf8\x13\x11\xad\x7d\x61\x77\x04\x1c\x60\x20\xdd\xcf\x05\x79\xa2\x3c\x95\xc9\xe2\x54\xa4\x0c\x39\xdf\xb1\x77\x49\x41\x0c\xff\x33\x4d\x12\xc4\x99\x56\x15\x15\x16\xca\x3d\x66\x13\x34\x16\x7c\x06\xdb\x25\xc1\x52\xa1\x47\xc6\x9f\x19\x1a\x63\x9a\xa4\x82\xa0\x39\xa7\x4c\x9d\x0d\x58\x8f\xa1\x3b\x33\x46\xa8\xb9\x78\x82\x52\x49\x84\xd4\x47\x8d\x71\x85\xa2\x29\x66\x13\x82\x30\x5b\xd8\xe2\xe5\x39\x03\xd7\x9b\x34\x35\xb7\xa6\xee\xa2\x04\x58\x9f\x8d\x11\xac\x8d\x54\x22\x2a\x11\xf9\xaa\x04\x99\x91\x64\xa1\xfb\xd0\x57\x94\xe2\xc8\xd2\xc7\x0c\xd5\xee\x79\x22\x04\x17\x12\xaa\x35\x8e\x16\xff\xc4\x4c\x51\x46\x10\xe8\x74\xd2\x58\x12\x4f\xd1\x15\x97\x60\x62\xfa\xf9\x6f\x12\x45\x49\x2a\x15\x11\x27\x68\x94\x4e\xa4\x56\x6a\xe7\x09\x56\x63\x2e\x66\x7a\x84\x94\x49\x85\x47\x34\xa1\x6a\x71\x82\x66\x38\x9a\x9a\xb6\x80\x06\xf2\x64\xc0\x62\xfe\xcc\xa4\x12\x04\x67\xbd\xbb\x87\xe8\x3b\xff\x99\xd9\x00\xf2\xfb\x13\x38\x9b\x74\xa6\x35\x73\x6f\xf8\xf9\x8a\x9b\x35\xd1\x8d\x90\x18\x8d\x48\x84\x53\x69\xf3\x2e\x94\x58\x20\xf2\x75\x8a\x53\x09\x6b\xa7\xa7\x67\xeb\x5d\x46\x7c\x36\x4f\x88\x22\x88\x8e\x91\x12\xfa\xe2\xc2\x13\x4c\x35\xe9\xee\x09\x69\x21\x6d\xd8\x05\xb4\xbb\xfe\x37\xe0\x12\x33\x2e\x08\x8a\x89\xc2\x34\x69\xcc\xc5\xb1\xdf\x06\x27\xe9\x31\x71\xb9\xe2\x82\x1f\x04\x9b\x4b\xc0\xa0\xbf\x03\x9f\x3f\xb3\x9e\x86\x08\x27\x5b\xba\xff\xef\xec\xa0\xc2\xde\x3e\xae\xbd\x6d\x56\xed\x70\x36\xf7\x41\x7b\xfd\x8f\x6a\x4f\xbf\x90\xd3\x3f\x68\x57\x41\xbb\xaa\xa6\x4c\xf0\x8f\x87\x4c\xbc\xe5\x69\x05\xb7\x7f\x70\xfb\x07\xb7\xff\x2e\x89\x13\xdc\xfe\xc1\xed\xff\xcd\xba\xfd\x0f\xdc\xd3\x7f\x54\x1a\x43\xd0\x16\x82\xb6\x10\x7c\x31\x6b\x4e\xed\xe8\x64\xf4\x5d\x71\xe6\xcc\xd5\x1f\x93\x84\x28\x52\x6f\x7d\x24\x62\xa6\x75\x3b\x23\x75\x50\xa6\xc5\xd3\x89\x20\x52\x6e\xcb\x67\xb3\x86\x8f\x93\xdb\x66\xc3\x7f\x41\xff\x7e\x60\xbf\x81\xfd\x56\x53\xe6\x28\xd9\xef\xe1\x18\xd2\xbd\xc3\xfc\x52\x96\xf4\x8c\xff\x1e\x68\xa8\xd5\x51\x31\xe3\x17\x8f\xb4\x0a\x9c\x38\x70\xe2\x6a\xca\x04\x4e\x7c\xfc\x41\x49\xc6\xab\x3a\x9c\x27\x98\x0d\x69\x6c\x93\x13\x4c\x66\x42\x6e\xac\xd8\x97\x67\x53\x1f\xad\xd8\x00\xa6\x66\x00\xa5\xe2\x37\xfd\x49\x92\x3b\x3a\x10\x1f\xe9\x61\xac\x84\x8e\x35\xbe\x91\xdb\x04\xb3\x5e\x7c\x1c\x59\xcf\x95\xd3\x7f\x09\x67\xe8\xdb\x0b\x9e\xdd\xe6\x92\xc2\x0a\x9c\x6e\x98\x32\x63\x76\xcd\x81\x6f\x0b\x46\xe5\xc3\x98\xe8\x36\x57\x96\x37\x31\xef\xd6\x72\x97\x91\x47\x94\xc3\x9b\x76\xf0\xc5\x05\x54\xcc\xe0\x6d\x6a\x39\xe1\xe0\x6d\x3a\x5c\x6f\x53\x8b\x65\xdc\x8b\x0b\xf9\x85\x8f\xe7\x8b\xca\xac\x47\x2d\xa9\x06\x41\x15\x05\xb1\x2e\x88\x75\xf5\xb3\x0e\x62\x5d\x10\xeb\x82\x58\x17\xc4\xba\x20\xd6\xbd\xbe\x58\xd7\x62\x9a\xdf\x6c\x94\xc1\x2a\x51\xb5\x3d\xf2\xa9\xc9\xf1\x81\x54\xc0\x74\x9e\x70\x1c\x37\x45\x7a\xe5\xc2\xa4\x5f\x68\xab\x41\x02\x35\xad\xe7\x9f\x1d\x83\x00\x9a\x8f\xf6\x1b\xcb\x7f\x5a\x9e\xf8\xa1\x78\x0b\x5e\x0b\x03\xb5\x7a\xbf\xaf\xa1\x73\xc9\xbf\x1e\xd7\x8e\x0f\x90\xa8\x01\x50\xa3\x62\x6a\xc1\x77\x1d\x52\xbe\x42\x6e\xd4\x9b\x53\xdc\x43\x6e\x54\xc8\x8d\x0a\x66\x8d\xe6\x69\x07\xb3\xc6\x9b\xc8\x8d\x5a\x5f\x99\xd8\x63\xd9\xea\xed\xd5\x8a\xa3\x08\x39\x0a\x6a\x45\x50\x2b\x82\x5a\x11\xd4\x8a\x43\x2c\xe8\x1c\x74\x8a\xa0\x53\x04\x9d\x22\xe8\x14\x41\xa7\xd8\x39\x19\x83\x4e\xd1\x42\xa7\x80\xbf\x2c\x60\xe9\xda\x0a\xc6\x9a\x8a\xc5\x0a\x54\x86\xfc\xa3\x23\xd3\x2a\x82\x46\x11\x34\x8a\xa0\x51\xbc\xb8\x46\x71\x30\x13\xb2\xec\x73\xc5\x9c\xee\xdd\x82\x94\xe0\xa1\x0f\x6f\x3e\x6e\x44\x43\x68\x69\x85\x30\x51\x54\xd0\xb2\x5d\xa7\x3f\xf5\x75\x14\x13\x9b\x0a\x62\x79\x1e\xba\x89\x22\x2e\x0c\x53\x8e\xed\x2e\x37\xf2\x44\xa7\xdf\xb9\xef\xf6\xcf\x51\x07\xc5\x58\x61\xbd\xad\x05\x99\x0b\x22\x09\x53\x20\xab\x11\x88\xca\x05\x90\xee\xc4\x48\x15\x1f\xf5\xfd\x83\x2e\xb1\xc2\x17\x58\xe1\x84\x4f\xce\x50\x07\xfe\xa9\x3f\xa6\x12\xe1\x44\x72\x84\x1d\xe9\x49\xec\x9a\xc0\x2c\x76\x07\x0a\x03\xf6\x34\x4d\x32\xe5\x34\x53\x2f\x28\x8b\xe9\x13\x8d\x53\x9c\x64\xc1\xce\x03\x53\x60\x38\xc5\x49\xb2\x40\x38\x49\x90\xed\xd6\xbd\xe0\xe0\xac\x47\x24\x1b\xa5\xa4\x33\x9a\x60\xa1\xd9\xb1\x19\xed\x8d\x6d\x0b\x69\xc5\xd8\x8d\x15\xc6\xa5\xa9\x39\xc3\x8f\x44\x22\xaa\xd0\x9c\x4b\x49\x47\x49\x7e\x00\x1e\x7a\x08\xc6\x7d\x71\xd5\x03\x99\x2d\x52\x88\x1b\xce\xe1\x3a\xb7\x0a\x8c\xeb\x71\x86\x19\x23\xd0\x31\x57\x53\x22\x6c\xf7\xf6\xe5\xd7\x16\xbf\x1e\xae\xef\x6f\xbb\x17\xbd\x8f\xbd\xee\xe5\xb2\xfc\xd5\xef\xdc\xff\xbc\xfc\xeb\x97\x9b\xbb\x9f\x3f\x5e\xdd\x7c\x59\x7e\x72\xd5\x79\xb8\xbe\xf8\x69\x78\x7b\xd5\xb9\x5e\x7e\x68\xb7\x55\x6b\x51\xce\x1f\xd9\x3e\x64\x39\xf7\x75\x0b\x84\x00\x7b\xb8\x14\x56\xa9\x34\xd5\xa0\x05\x99\x50\xa9\x80\xfd\xb7\x91\xc2\x56\x03\x03\x1c\xad\xf4\x15\xaa\xb0\x04\x59\x2c\xc8\x62\x41\x16\x3b\x36\x59\xec\xe5\x4c\x02\x47\x14\xa6\xf8\x97\xe3\xba\x7b\x02\x88\x7b\x60\xce\x87\xcf\x9c\x0f\xce\xf5\x76\x30\xa6\xf3\x63\x04\x88\x0c\x4e\xc5\xf6\x84\x08\x4e\xc5\xf6\xb4\x0a\x4e\xc5\x06\xe2\x04\xa7\x62\x70\x2a\x7e\xc3\x4e\xc5\xa3\x8c\x4d\x0c\xaa\x84\x7b\x2f\xa8\x12\x41\x95\x78\xa3\xaa\xc4\xc1\x50\x38\xe8\x11\x41\x8f\x08\x7a\x44\xd0\x23\x9a\x89\x13\xf4\x88\xa0\x47\x04\x3d\xe2\xd8\xe2\x11\x8f\x4b\x93\x08\x5a\x44\xd0\x22\x0e\x5b\x8b\x38\x98\x09\x1d\x8f\xb7\xb8\xdd\x7c\x42\xe4\x5e\x88\xdc\x0b\x91\x7b\xb5\x91\x7b\x6f\x54\x93\xdf\x95\xfc\xe6\xbe\x3e\xb4\x80\xc4\xe3\x12\xbf\x42\xad\xa2\xec\x69\x10\xc6\x82\x30\xf6\x8d\x0a\x63\x07\x04\xa2\x78\x10\x25\x97\x66\x58\x45\x53\x3c\x4a\xc8\x30\xb3\x65\xc9\xb6\xea\xfd\x15\x95\x4a\xa2\x28\x95\x8a\xcf\xea\x2f\x97\xcf\xae\x87\x4e\xd6\xc1\x05\x67\x63\x3a\x49\xcd\xdd\xf2\x1b\x6c\x7d\xef\x44\xe7\x02\xee\x62\x4e\x56\xf9\x15\x2b\x5a\x3f\x8a\x6b\xa9\x7a\xe8\x2f\x75\x3b\xad\xa3\x8f\xe4\xb6\x4b\xab\x4c\x68\x11\x72\x78\xd7\xbd\xbf\x79\xb8\xbb\xe8\x9e\xa3\x0e\x88\x58\xe0\x4e\x30\x5b\x81\xfe\x53\x4f\x0a\x29\x2c\x1f\xf3\xb5\x14\x66\x9b\x4b\x90\xb3\xc1\x7f\xa1\x45\x7e\x74\x8a\x2e\xae\x1e\xee\xfb\xdd\xbb\x9a\x06\xed\x46\x81\xc2\x8b\x64\x36\x4f\xb0\x22\x31\x7a\x4c\x47\x44\x30\xa2\xa5\x9d\x28\x49\xb5\x70\x93\x7b\x35\x4c\xa3\xdd\xff\xea\x5e\x3c\xf4\x7b\x37\xd7\xc3\xbf\x3f\x74\x1f\xba\xe7\xc8\xed\x38\xdd\xac\x1e\x97\x1e\x45\xbc\x60\x78\xa6\x15\x2b\xfd\x43\x5e\xea\xf1\xf7\x94\xa4\x04\x61\x29\xe9\x84\xcd\x08\x53\xe5\x16\xdd\x80\xaf\x3a\x3f\x76\xaf\x8a\x2d\x4f\x09\xfa\xf9\x6f\xf9\xa0\x12\x3c\x22\x89\x75\xb3\x80\xe7\x40\x6f\xf4\xbc\x23\xeb\x7f\x49\x0d\x55\xff\xfe\xd0\xb9\xea\xf5\x7f\x1d\xde\x7c\x1c\xde\x77\xef\x7e\xe9\x5d\x74\x87\x56\x58\xbe\xe8\xe8\x7e\x0b\x3d\x59\x99\x1a\xfd\x9e\xe2\x44\x2b\x5d\x7c\x0c\x7e\x0b\x1a\x11\xf4\x3c\x25\x0c\xa5\x0c\x76\x9c\xd1\xe4\xb4\x7a\x97\x75\xaa\x4f\x99\x99\xd1\xed\xd5\xc3\xa7\xde\xf5\xf0\xe6\x97\xee\xdd\x5d\xef\xb2\x7b\x8e\xee\x49\x02\xba\x8e\x23\x3a\xac\xe2\x3c\x49\x27\x94\x21\x3a\x9b\x27\x44\x53\xc3\xe8\x72\x23\x32\xc5\x4f\x94\x0b\x7b\x74\x27\xf4\x89\x30\x43\x47\x38\xb3\xd0\xbe\xd3\x29\x86\x1e\xe9\x6e\xae\x3f\xf6\x3e\x9d\xa3\x4e\x1c\x67\x73\x90\xd0\x46\x61\xe7\x3c\x73\xf1\x38\x4e\xf8\xf3\x69\x71\xd8\x9a\x39\x40\xf7\x66\x13\xf1\x27\x22\x04\x8d\x49\x69\x1f\x75\xee\xef\x7b\x9f\xae\x3f\x77\xaf\xfb\x40\x31\x25\x78\x22\xd1\x94\x3f\x83\x85\x1e\x66\x08\x86\xfb\x27\x4c\x13\xe8\xcc\x2d\x16\x67\xe8\x79\x4a\xc1\xab\x43\xa5\x4f\x30\xa3\x76\x8a\x94\xbd\xba\xd1\xb9\x70\xf0\x96\xb5\xb1\xf2\x49\x5a\x7e\xa3\x74\x2c\x9a\x5e\x28\xec\xf2\xe5\x17\x57\xed\xd6\xe5\x2f\x4a\xdb\xad\x5e\x07\x5d\xda\x2f\xf5\x33\xcd\xd7\xba\xb5\x0a\x5a\xa4\xe1\xcb\x5d\xb3\x44\x09\x1a\xc9\x0f\xd9\xbe\xda\x2f\xc8\x18\x91\x7a\xc3\x2a\x3a\x23\xc8\xf6\x6c\x4f\xea\x96\xb5\x6a\x3f\x11\x95\xbd\xf8\xd9\x34\x7c\x14\x59\x69\x5f\x2c\x47\xc9\x06\xff\x89\x28\x3b\xfe\x90\xa0\x16\x12\xd4\x6a\xa6\x16\xb4\xdc\xed\xb5\xdc\x63\xab\xc8\x1b\x93\xf9\x72\x87\xa5\x89\xc1\x3b\xc6\x5f\xb9\x14\x5e\x63\x2c\xc1\xd6\x16\x9e\x90\x27\x92\x80\x20\xab\x04\xd6\x7a\xb1\x15\xcf\x46\x82\xe0\x47\x2d\xd3\xc6\xfc\xd9\x17\xce\x62\xa2\x30\x4d\xe4\x2b\x85\xdf\xfc\xe5\xcf\xaf\x7a\x1f\x1e\xef\x15\x18\x6e\xc0\x60\x12\x0d\x97\xc5\x37\x78\x59\x1c\xa3\x53\x2a\xdc\x81\x87\x72\x07\x6a\x72\xc7\x43\xe7\x9e\xfe\xf0\x3f\x05\xa3\xdc\xbf\xf6\xa5\x1f\xde\x41\xbc\xaf\x6c\xba\x08\xbd\x0a\x9b\xbf\x59\xa7\xf6\x8a\x1b\xd1\xfb\xe2\x28\xf4\x41\x6f\xbc\x87\x64\x6a\xbd\xf3\x2d\xdf\xee\x9e\x98\x11\x85\x63\xac\xb0\x3e\x42\x13\xa2\xce\xd0\x0d\x83\x67\x7d\x2c\x1f\x4f\x90\xbb\xd7\x35\xef\xcc\x5d\x0b\x2f\x50\x5c\xb3\xa5\xcd\xea\xb5\x83\x11\x0e\x91\xa3\x07\x2d\x7d\x97\x53\x0b\x82\x57\x48\x2f\x3a\x64\x1c\x18\xf7\x75\xab\xe8\x9d\xdd\xdd\xca\xa6\xc5\x23\xbe\x98\x5f\x36\x5e\x67\xa7\xd7\x74\x0a\x43\x0f\x77\xb0\xf9\x4f\xb8\x83\xc3\x1d\x1c\xee\xe0\x26\xca\x84\x3b\xf8\x88\x03\xba\x2a\xae\xac\x57\x8d\xe8\x6a\x63\x56\x30\x36\x85\xdc\xa0\xb0\x26\xf0\x5c\x6e\x43\x58\x09\x17\x51\x21\xb5\xac\xc4\x8a\xc8\xbf\xa1\xe4\x38\xfc\xcb\xde\x2c\x5f\x02\x2f\x62\xa7\xc2\x8a\xc9\x58\x0e\x56\x85\x3d\x4a\x34\x6f\x4f\x9c\xd9\x46\x96\xc1\x0a\x2e\x19\x4c\x99\xb9\x93\xf2\xec\x25\xf9\x02\x3b\x6c\xcd\x89\x6e\x23\xd9\x78\x13\xf3\x84\x1b\x27\xb3\x78\x44\x39\x90\x45\xdd\x0b\xac\xc4\xeb\xd8\xf1\x5f\x1f\x4a\x82\xbc\x5d\x24\x89\x00\x96\xb0\xd6\x21\x09\x60\x09\x2f\x01\x96\xd0\x62\x19\xf7\x82\x80\xf2\xc2\xc7\xf3\x35\x55\x87\xe3\x71\x42\x1e\x99\xce\x70\x54\xfa\x42\xf0\x41\xee\xdf\xfe\x19\x4c\x85\xc1\x54\x58\x4d\x99\x60\x2a\xfc\xb6\xc2\xb5\x76\x75\xdf\xbb\xaf\x5f\xdb\x0b\x79\x64\x37\x73\x70\x42\x86\x4b\x38\x5c\xc2\xe1\x12\x0e\x97\xf0\xae\x28\x1c\xfc\x75\x6b\x2a\xdd\x47\xe1\xa5\x3b\xb2\x6b\x3d\x38\xe9\xc2\x8d\xef\x3e\x0e\x2e\xad\x55\xf3\x0c\x2e\xad\xe0\xd2\x0a\x2e\xad\xe0\xd2\x0a\x2e\xad\xec\xf7\xe0\xd2\x7a\xd1\xdd\xfa\xcd\x9a\xed\xaa\x35\x06\x1e\x93\x61\x05\x92\x4c\xf6\xd3\xd0\x4f\x1b\x2c\xfc\x5a\x70\xdf\x15\x9e\xf8\xbe\xbc\xc2\x83\x1c\xfe\x1d\xfa\xa5\xf1\xda\x79\xf8\x4d\xe6\x44\x1e\x93\xd6\x79\xf7\x85\x97\x0f\x3d\x2e\xd0\x4d\xd4\xa8\x1e\xfe\xc8\x5f\x20\xcf\xbe\xbc\x13\xde\x58\xf4\x59\xcd\xae\x7e\x8b\x96\xba\x8a\x33\x1a\xcc\x76\x2b\x09\xf5\x86\x01\x07\x2c\x13\x7e\x81\xf1\xbc\xfc\x1d\xe6\x80\xff\x86\x15\x37\x59\xf5\xb3\xfc\x3e\xab\x7e\x9e\xdd\x6a\xd5\x8f\xf7\x53\x22\xb1\xfd\xa5\x06\x76\x34\xff\xed\x23\x09\x77\xf7\x87\xfc\x12\xb6\xb4\xda\x8d\xf1\xc6\x2e\xb6\xc6\x4d\xfe\xe6\xae\xb7\xa6\x23\x1b\x2e\xb9\x96\xe4\x7a\xab\x57\x5d\xa8\x71\xd8\x64\xc5\x0b\x45\x04\x0f\xd0\x4a\x11\x8c\x88\xc1\x88\x78\x8c\x46\x44\x13\x7c\x30\x9c\x63\x41\x98\xaa\xd0\x2d\xca\xd7\x09\xbc\xee\x17\x9d\x72\x52\x07\x34\x80\xb4\x68\x8f\xec\x85\x9c\x5d\x55\x6f\x2c\x50\xbe\xa4\xbd\xbc\x61\x3b\xdb\x81\xeb\x23\x87\x63\x66\x7b\xab\x52\x7a\x30\x42\x05\x23\x54\x79\x9e\x2f\x67\x84\xda\x80\xee\xc1\x59\xd4\x78\x55\x7d\x23\x86\xb4\x03\xbf\xb7\x0e\xc9\x8e\xf6\x56\x6f\xae\x60\x5f\xda\x01\xb9\xde\xea\x2d\xf6\x5a\x26\xe5\x97\xd7\xd2\x83\x25\x2d\x58\xd2\x82\x25\x2d\x58\xd2\x82\x25\xcd\xff\x3d\x58\xd2\x9a\xe8\xfe\x62\xea\x89\x15\x81\xbc\xea\xa3\x1f\xfe\x27\xff\x3b\x53\x4b\x7c\xd5\xa2\x29\x83\xf5\x42\x10\x38\x15\x5c\xd8\xfc\xc7\x5d\xd4\x27\xc5\xaa\x20\xf4\x42\x45\x83\x06\x5d\xc4\x64\x15\xdd\x9a\xb7\x8f\xab\x2c\xe9\xd2\xa0\x5f\x36\xff\x75\x79\xe1\xdb\x1d\x20\xb7\x32\xd4\x94\xd8\xf4\xea\x38\x6a\xb9\x9b\x8f\xf3\x8b\x41\xa2\x67\x9a\x24\x5a\x92\xb1\x52\xdb\x81\x48\xa3\xaf\x9e\x15\x57\xbb\xf2\xaf\x9a\x1b\x57\xc5\x1d\xaa\x58\x42\x1b\xeb\xf8\xae\xea\x14\xbb\xcd\x06\x25\x64\x41\xef\x5b\x61\x4e\x7f\x1b\x9c\xe0\x13\x51\x2f\xc5\x06\x36\x3d\xfb\x8d\xe7\x5e\x90\x31\x11\x84\x45\xe4\x00\x33\xb2\xd6\x49\x15\xfc\x62\x26\x69\xf3\x04\xb3\xf2\xdd\xfe\x54\x15\xb7\x7a\x5a\x41\xd4\x0d\xd5\x9b\x43\xf5\xe6\x50\xbd\xb9\x7c\xd4\x43\xf5\xe6\xb7\x51\xbd\xb9\x05\x97\xdd\x81\x6d\xaf\xd9\x60\x7b\xa0\x7a\x97\xfb\xfa\x5d\x4c\x12\xa2\x48\xad\xa0\x74\x09\x8f\x5f\x4b\x50\x32\xbd\xbf\x0d\x59\xc9\xcc\x25\x88\x4b\xdf\x8c\xb2\xe4\x16\xfc\x20\x94\x25\x73\xd6\x7c\x9d\x09\x92\x2b\x3c\xe5\xda\x64\x54\xbc\x4d\x33\xcb\x51\x24\x50\x1c\x8e\x9d\x65\xef\x97\xe2\x4b\x33\x87\x60\x43\x5a\x1e\x49\xb0\x21\x6d\xc7\x16\x0b\x3f\x56\xa0\x30\xbd\x38\xab\xdc\x44\xc0\x2a\xf0\xcb\x4b\x78\xfd\x38\xb9\x66\x79\xec\xc7\xcc\x3b\xbd\xd6\x0e\x83\x89\x7c\xbb\xec\x73\xe9\x88\xb7\x9b\xb8\x0d\xfd\x39\xde\x79\x1f\xca\xb5\x51\x77\xac\x0f\xf9\xf2\x28\xd6\xd1\x3a\x5e\x8f\xc4\x31\xb1\xff\x57\x71\x49\xbc\x39\x31\xf9\x9b\x33\x1a\x04\x1f\x4b\xf0\xb1\x04\x1f\x4b\xf0\xb1\x04\x1f\x0b\xda\xd4\xc7\xb2\x2b\x49\xeb\xa8\x1d\x12\xc7\x29\x2a\xbd\xac\x47\x22\x48\x4b\xc7\x2e\x2d\x1d\x8a\x52\x78\x5c\x2e\x96\x2d\xcb\x2a\x1f\x8a\x5e\xf8\x96\x8c\x83\xc7\xa5\x23\x1e\x9c\x39\xf0\x9b\x63\x7c\x9b\x99\xfe\x8e\x76\xba\x41\x2b\x0e\x5a\x71\xd0\x8a\x83\x56\x1c\xb4\x62\x14\xb4\xe2\xb5\xb5\xe2\xb7\x24\x28\x1e\x9d\x86\x1c\x64\xc5\xd7\x9e\xf0\x37\x26\x2b\x1e\x8a\x4d\xa0\xee\xe4\x1e\xa8\x65\xe0\xdb\x0c\x28\x3a\xe2\x9b\x20\xe4\xbc\x22\x6f\xe9\x42\xc0\xcd\xb7\xc2\x47\x0f\x3c\xe0\xe6\xed\xd9\x55\x8f\x98\x47\x86\x6c\xe0\x20\x56\xee\x68\xba\xc1\x04\x19\x4c\x90\xc1\x04\x19\x4c\x90\xc1\x04\x89\x0e\x3b\xf9\x79\xa5\xc1\x29\xe4\x3f\xef\xcb\xb0\x7a\xc4\x92\x62\xc8\x85\x0e\xc2\xe2\xee\xa6\x7b\xa8\xba\xf3\x21\xd9\x20\xe5\xfa\x75\x23\x56\x22\x71\xdb\x69\xff\xd6\xc0\xc0\xae\xa8\x74\x8a\xee\x31\xf1\x2b\xb9\x6f\x96\xb4\x0d\xfc\xae\x5b\xd1\x37\x8b\xbe\xbb\x45\x35\x7a\xe0\x5d\x6f\xb4\x1c\x7d\x00\x07\x6e\x20\x4e\x00\x07\x5e\x8b\x9b\x04\x70\xe0\x97\x00\x07\xde\xb9\xb2\x32\xe7\xb2\xfe\xe6\xbe\x23\x13\x2a\xe1\xc8\x36\xd4\x7c\x72\x77\x36\x14\x1e\x80\xad\xf0\x51\xbf\x80\x62\x32\x4f\xf8\x02\xec\x43\x0d\xd7\xb9\xeb\xe2\x76\x49\xa2\x3e\xf4\x1b\xdd\x8d\xfc\xa5\x74\x8e\x43\x91\x49\xf3\x79\x1f\x84\x14\xea\x87\xc4\x97\x8a\x99\x35\xb9\xb7\x1f\xac\x4f\x1b\x4c\x7f\x54\xc2\xfd\xb4\x72\x8b\x0f\x58\xf5\x03\x67\x02\x1b\x11\x77\x21\x8e\x52\xe5\x15\xf5\x90\x5a\xc2\x9a\x13\xa1\x16\xde\x9b\x64\x36\x57\x8b\xff\x1c\x30\xaa\x32\x07\x22\x9d\x30\x2e\x0c\x7b\xd3\x1f\x4f\x31\x8b\x13\x22\xf4\xed\xea\xda\x89\x30\x63\x5c\x81\xdc\x01\x13\x88\xd1\x13\xc5\x46\x4a\xe9\xdc\xf6\x5a\xbb\xd1\x8f\x29\x82\xea\x65\xfd\xe4\x6f\xaf\xd8\xf3\x4a\x78\xf8\x4f\x09\x1f\xe1\x24\x59\xa0\xb4\x68\xaf\xd0\x0d\x1c\xc8\x1c\x0e\x85\xf7\xbd\x3a\xb3\x0b\x2c\xae\x2d\x8b\x0b\x1c\x2e\xf0\x83\x56\x23\x39\x46\x7e\xa0\xb0\x7c\xf4\xab\xed\x81\x0c\xe4\x0a\x26\x16\x2a\x4d\x95\xcb\x4e\xfd\xab\xcd\x7b\x85\xb2\xb2\x2b\xde\xf5\x0b\xcd\xae\x78\xb5\x54\x7a\xb6\xf8\xcc\x16\xa3\x85\xc7\x30\xbd\xf2\x38\xdc\x8f\x7e\x87\xee\xb7\xbc\x65\xf7\xcb\x13\x11\x92\x72\xfb\x9a\x20\x4a\x2c\x86\x58\x29\xcd\x90\x76\x59\xef\xb6\x8f\xe5\x63\xeb\x7a\xb7\x85\x97\x0f\x5d\x02\x2b\x14\xbc\x2d\x8c\xfc\x05\x0a\xde\xae\xde\xc6\x6f\x4e\x46\x6b\x79\x24\x57\xcc\xfb\xf8\x8a\x27\xb6\x65\x30\x6b\x4c\xfc\x5b\x29\xa4\xd8\x8e\xe1\xae\xf2\xd9\x1d\x63\x51\xc5\xa6\x1b\xe4\x60\x46\x58\xba\xc4\xde\xe2\xc9\x2d\x5e\xc9\xe1\x88\x36\xd1\xa8\xed\x59\x3c\x9a\x13\x58\x92\xb4\x56\xcc\xed\xde\x2d\x90\x7d\xdd\xed\x84\xc3\x9b\x57\x41\x58\xdc\xf5\xa8\xf6\xe3\xf3\xf4\x56\x63\x9d\x30\xd7\x9e\x2b\x08\x68\x3c\x38\xd9\x19\x72\x81\xaf\xd9\xd1\x54\x53\x00\x4d\xa7\xd2\xaf\x21\x18\x71\x61\xa4\xcd\xd8\x9e\x59\xe3\xc3\xe9\xf4\x3b\xf7\xdd\xfe\x39\xea\xa0\x18\x2b\xac\x0f\xa9\x20\x73\x41\x24\x61\xca\x98\x22\x98\xa2\x6a\x81\x66\x3c\x26\x89\xb1\x03\x18\x77\xc1\x25\x56\xf8\x02\x2b\x9c\xf0\xc9\x19\xea\xc0\x3f\xf5\xc7\x54\x22\x9c\x48\x8e\xb0\xdb\x38\x24\x76\x4d\x60\x16\x3b\xf6\x80\x51\xc4\x67\x73\x9a\x98\xd8\x4b\xdf\xa5\x4b\x59\x4c\x9f\x68\x9c\xe2\x04\xf1\x11\xd8\x50\xce\x06\xac\xfb\x44\x98\x4a\x41\xc7\xc5\x49\x82\x6c\xb7\xee\x05\xcf\x80\xe1\x46\x29\xe9\x8c\x26\x58\x68\xe9\xd1\x8c\xf6\xc6\xb6\x85\xfa\x53\x92\x8d\x15\xc6\xa5\xa9\x39\xc3\x8f\x44\x22\xaa\xd0\x9c\x4b\x49\x47\x49\x7e\x8c\x1f\x7a\x08\xc6\x7d\x71\xd5\x03\x3f\x59\xa4\x10\x37\x7c\xd0\x75\x6e\x9d\xc6\xae\xc7\x19\x66\x8c\x40\xc7\x5c\x4d\x89\xb0\xdd\xdb\x97\x5f\xdb\xe5\xf5\x70\x6d\x43\x1a\xbb\x97\xcb\x3e\xaf\x7e\xe7\xfe\xe7\xfa\x18\xc6\xe5\x27\x57\x9d\x87\xeb\x8b\x9f\x86\xb7\x57\x9d\x8a\xd8\x48\xbb\xad\x5a\xbb\xcf\xfc\x91\x6d\x7e\x98\x8e\xae\x4c\xf3\xcb\x1b\x1d\x5a\x59\x1c\x5a\x9b\x1b\xda\xda\x1a\xda\x19\x1a\xea\xad\x0c\x7b\x08\x5d\x6a\x6f\x0a\xb8\xa2\xb2\x68\x0b\x38\x8e\x84\xf6\xc2\x90\xf5\x1c\xf6\x6d\x08\xf8\xe6\xac\x00\xdf\xa8\x09\x20\xe8\xff\x7b\xa1\xdb\x5b\x55\xfe\x0f\x5c\xf3\xdf\x26\x0e\x33\xcb\xd1\x0a\x81\x98\xcb\x81\x98\x24\xc4\x61\x86\x38\xcc\xb6\x04\x0a\x71\x98\x21\x0e\xf3\x18\xe2\x30\x5b\x29\x5a\xc1\x63\x7b\x08\x1e\xdb\x03\xd7\xd1\x0e\xd9\x61\xfb\x56\x35\x97\xe0\xbc\x0c\xce\xcb\xe0\xbc\x3c\xd2\x93\x1b\x9c\x97\xed\x69\x14\x9c\x97\xc1\x79\x19\x9c\x97\xc1\x79\x19\x9c\x97\xc1\x79\xf9\x9a\xa6\x91\x43\x88\x0d\x3d\x66\x97\x6d\xf0\xc4\xae\xf0\xc4\x1e\xb8\x92\x7f\x90\x8e\xd8\xb7\xaa\x23\x04\xd5\x3e\xf8\x25\xb7\x9a\xf6\x41\x29\xf5\x6f\xed\xde\x0c\xae\xd8\xf6\x84\x08\xae\xd8\xd6\xa4\x0a\xae\xd8\x06\xe2\x04\x57\x6c\x70\xc5\x7e\x83\xae\x58\x1a\x6f\x0d\x0b\xdf\x46\x6f\xd1\xb2\x62\xdc\x05\xf3\x50\x66\xdc\x12\xbf\x81\xf4\x88\xe5\x63\x66\x01\x6a\xa1\xcf\xf4\xe2\xa3\x50\x64\x2a\x27\xfc\x12\x0a\xcd\x36\x1a\x0b\x56\x9a\x83\x2b\x80\x2a\xd0\x4f\x72\xa3\xe2\x01\xe2\x58\x6e\xa3\xa3\x78\x13\xf3\xd4\x14\xa7\x7d\xf8\xc5\x93\x0f\x6e\xda\x41\xf0\x0b\x82\x5f\x90\x6d\x5a\x4e\x38\xc8\x36\x87\x2b\xdb\xbc\x96\xc2\x72\x78\xc7\xf3\xe8\xec\x13\x7b\x17\x4b\x0b\xf8\xcb\x8d\x30\x8e\xa6\x94\x1b\xb8\xee\xd2\x79\xc2\x71\xbc\x2a\x40\xee\x37\x94\xcb\x6a\x0d\xe2\xa6\x69\x57\x7f\x70\xe0\xd2\xe6\x52\x6c\x9c\x19\xf9\xb7\x80\xdc\x58\x3b\xf5\x57\x05\x6f\x84\xfd\x9b\xa1\x16\x65\xb0\x44\x85\xe8\xd1\x7d\xa9\x59\xe5\x0d\xde\x4a\xa3\x92\x7f\x3d\xf0\x2d\x9e\xad\xef\x4b\xe8\x4f\x6f\x32\xfb\xee\x0d\x7b\xb2\x82\xb7\xaa\x39\xa4\x60\x47\xd1\x6d\x03\xd6\xd7\x8a\x14\x9f\x8d\x28\xcb\x82\x79\xdc\x0e\xf9\xa3\x23\xd7\x1f\x01\x48\xcf\x82\xeb\x25\x8b\x5c\xcf\x96\xe5\xd6\x32\x29\x0c\x9d\x6a\x11\x38\x22\x42\x01\xbd\x39\x53\xe4\xab\x92\xe8\x14\x25\xf4\x91\xa0\xf7\xfa\xc8\xa3\xce\x6d\xef\xfd\x09\x7a\x7f\x85\x53\x16\x4d\xd1\x3c\xc1\x4c\xbe\x3f\x18\xe9\x2d\x28\xe4\xa1\x3a\x41\x70\xc5\xec\x43\x7b\x0f\xe6\x8a\x95\xd3\x0e\xe6\x8a\x37\xe3\x8a\x69\xa9\x33\x98\x8c\x35\x3c\x23\x87\xa2\x3d\x1c\x0d\xc0\x47\xd0\x1e\x82\xf6\x50\x31\xb5\xa0\x3d\x7c\x83\xda\xc3\x61\x50\x38\xa8\x0e\x41\x75\x08\xaa\x43\x50\x1d\x82\xea\xb0\x73\x32\x06\xd5\xa1\x49\x75\x80\xbf\x1c\x28\xc5\xba\x7a\x44\x6b\xfd\xa1\x05\x02\xc5\xd1\x28\x0f\x41\x71\x08\x8a\x43\x50\x1c\x5e\x5c\x71\x38\x98\x09\xbd\xbd\x64\xfa\x90\x8e\x1e\xd2\xd1\x43\x3a\x7a\x4d\x3a\xfa\x4b\x89\x6c\x46\x5e\x3b\xb2\xf8\xfb\xa3\x10\xda\x5e\x2d\x00\xff\xed\x89\x71\x21\xa5\x20\xa4\x14\x04\x33\x64\x48\x29\x08\x86\xb6\x60\x68\x3b\x68\x43\xdb\x6b\x59\xcf\x5f\xf8\x78\xbe\x80\x70\x7a\xe0\x11\xcb\x7f\x39\x06\x09\xf4\x05\x63\x0e\x82\x95\x2d\x58\xd9\xaa\x29\x73\x9c\xee\xf9\x83\xb9\xf5\x03\x7a\x4c\x90\xf8\x43\xe0\x41\x08\x3c\x58\x49\x9c\xa0\x0f\x05\x7d\xe8\xe0\xf4\xa1\x57\x54\x14\x0e\x2e\x4c\x39\x68\x0c\x41\x63\x08\x1a\xc3\x9b\xd5\x18\x0e\x86\xc2\x41\x5d\x08\xea\x42\x50\x17\x82\xba\xd0\x4c\x9c\xa0\x2e\x04\x75\x21\xa8\x0b\x07\x1d\x9a\x7c\x2c\x0a\x43\x50\x16\x82\xb2\x70\xd8\xca\xc2\xc1\x4c\x28\x04\xf1\x86\x20\xde\x10\xc4\xfb\xcd\x04\xf1\xbe\x51\x85\x7d\xaf\x62\x9a\x63\x91\x4d\x82\xd7\xb2\xbc\xf4\xcb\x12\x63\x3d\x58\x91\x29\x1f\xed\xa6\x10\x89\xbb\x22\xf5\x33\x17\x8f\xe3\x84\x3f\x0f\x33\xad\xce\x06\x85\xe7\xff\xb6\xf9\x7c\xde\x0f\xb9\xf0\xec\xfd\x98\x09\xd1\xde\x6f\xae\xf5\x82\x0c\x3d\x4f\x57\x21\x69\x4a\xc4\x05\x4a\xe7\x31\xfc\x19\xa5\x52\xf1\x59\xbd\x54\xfd\x19\xab\x68\x8a\x47\x09\xe9\x64\xfd\x5e\x70\x36\xa6\x93\xd4\xec\x8f\xdf\x80\x15\x62\x27\xd9\x9c\x38\xc9\x48\x33\x45\x37\xbe\x26\x49\xfc\x01\xc6\xf1\xc5\xbe\x99\x77\x72\x14\x01\xe8\xcb\xc3\x36\xd3\x79\x29\x64\xce\xe2\x2e\xda\x96\xc5\x79\xad\x1d\x86\xf8\xb3\x7c\x26\x56\x89\xaa\x60\x85\xce\x34\x13\x1a\xc3\xe6\x7c\x9e\x52\xb0\xac\x81\x25\x0e\xac\x4f\x79\xc3\xe8\x99\x26\x09\x48\x1c\x86\x16\x87\x37\xf3\x56\xda\x8b\x9d\xb8\x3d\x7b\x6f\x62\xde\x8e\x79\xac\x98\xb9\x3b\x82\xc6\x0d\x71\xa4\xd3\x7e\x4d\x84\xdd\x15\x8c\xec\x55\x71\x76\x6b\xaf\xcf\x9a\x9c\xaa\x0f\xff\x53\x79\x25\xb6\x29\xcc\xf8\xda\xf7\xe0\x27\xa2\xde\xcc\x25\xf8\x89\xa8\x97\xba\x01\xdf\xe2\xb5\xb7\xe9\x5d\xd7\xc8\xf8\x04\x19\x13\x41\x58\x44\x8e\x35\x27\x6b\xe9\x8a\x3b\xda\xe9\x6e\x74\xb3\x1d\xed\x6c\xd7\x31\x60\x7d\x31\x93\xb4\xe6\xaa\x99\x63\xb9\xfe\x54\x15\xb7\xee\xe5\x82\x0b\xcc\x1a\xab\xfa\x9d\xfb\x9f\x87\x77\xdd\xfb\x9b\x87\xbb\x8b\xee\x39\xea\xc0\x41\x87\x6f\x0c\x7b\xa7\xff\x84\xe6\x20\x1f\x36\x33\x86\x09\x73\xc7\x49\x60\xd5\xe0\x06\xd7\x54\x44\xa7\xe8\xe2\xea\xe1\xbe\xdf\xbd\xab\x69\xd0\x32\x7f\xca\x26\x48\x91\xd9\x3c\xc1\x8a\xc4\xe8\x31\x1d\x11\xc1\x08\x28\x56\x49\x2a\x15\x11\xb9\x73\xdc\x34\xda\xfd\xaf\xee\xc5\x43\xbf\x77\x73\x3d\xfc\xfb\x43\xf7\xa1\x7b\x8e\xdc\x2d\xa2\x9b\xd5\xe3\xd2\xa3\x88\x17\x0c\xcf\x68\x64\x7e\xc8\xea\x5c\xa2\xdf\x53\x92\x12\x84\xa5\xa4\x13\x36\x23\x4c\x95\x5b\x74\x03\xbe\xea\xfc\xd8\xbd\x2a\xb6\x3c\x25\xe8\xe7\xbf\xe5\x83\x4a\xf0\x88\x24\xd6\x5b\x0f\x0e\x68\x7d\x79\xe5\x1d\x59\x37\x7e\x6a\xa8\xfa\xf7\x87\xce\x55\xaf\xff\xeb\xf0\xe6\xe3\xf0\xbe\x7b\xf7\x4b\xef\xa2\x3b\xb4\xc6\x98\x8b\x8e\xee\xb7\xd0\x93\xb5\xd9\xa0\xdf\x53\x9c\x50\xb5\xd0\xeb\x28\xcd\xa5\x8f\x9e\xa7\x84\xa1\x94\xc1\x05\x62\x2c\x85\x98\x79\x9d\xca\x39\x89\xcc\x8c\x6e\xaf\x1e\x3e\xf5\xae\x87\x37\xbf\x74\xef\xee\x7a\x97\xdd\x73\x74\x4f\x12\xb0\xa5\x39\xa2\xc3\x2a\xce\x93\x74\xa2\x39\xc1\x6c\x9e\x10\x4d\x0d\x63\x2b\x1c\x91\x29\x7e\xa2\x5c\xd8\xeb\x78\x42\x9f\x08\x33\x74\xd4\xdb\xca\xb4\xef\x6c\x56\x43\x8f\x74\x37\xd7\x1f\x7b\x9f\xce\x51\x27\x8e\xb3\x39\x48\x68\xa3\xb0\x73\xdc\xd1\x3d\x2d\x0e\x9b\x8e\x69\x04\xdd\x9b\x4d\xc4\x9f\x88\x10\x34\x26\xa5\x7d\xd4\xb9\xbf\xef\x7d\xba\xfe\xdc\xbd\xee\x03\xc5\x94\xe0\x89\x44\x53\xfe\x0c\x8e\x5e\x98\x21\xf8\x7f\x9f\x30\x4d\xa0\x33\xb7\x58\x9c\xf9\xa7\xdf\xeb\xd9\x98\x35\x45\xca\x5e\xdd\x77\x59\x38\x78\xcb\xd6\xbe\xf2\x49\x5a\x7e\xa3\x74\x2c\x9a\x5e\x28\xec\xf2\xe5\x17\x57\xed\xd6\xe5\x2f\x4a\xdb\xad\xde\xc6\xb9\xb4\x5f\xea\x67\x9a\xaf\x75\x6b\x13\x67\x91\x86\xfb\x90\xb1\xdd\xd7\xef\x62\x92\x10\x45\x6a\x65\xe2\x4b\x78\xfc\xfa\x32\xb1\x19\xc7\x9b\x11\x8b\xcd\x74\x82\x64\x1c\x24\xe3\xd6\x13\x0e\x92\x71\xd5\x84\xdf\x88\x64\x7c\x80\x56\x1f\xc7\xa2\x0e\xce\xea\x13\xfc\x23\xa5\x95\x3a\xce\x2b\xf0\xd5\xdc\x23\xc1\x7f\xb0\xde\x15\x72\xfc\xf3\x0e\xfe\x83\xe0\x3f\xa8\xbc\x49\xde\xbc\xd7\xe0\x38\xaf\x86\x17\x74\x1a\x04\x35\xa2\x61\xbe\x41\x8d\x38\xb2\xd9\x06\x03\x7b\x30\xb0\x07\x03\x7b\x30\xb0\x07\x03\x3b\xda\xd4\xc0\xde\x82\xcb\xbe\x84\x39\xf5\x40\x83\x88\xdf\x8a\xdb\xe0\x38\xe5\xe2\x97\xf5\x1a\x04\xd1\xb8\x61\xbe\x41\x34\x3e\xb2\xd9\x1e\xa0\x5d\xe4\xb0\x2c\xec\x34\xae\x32\x88\xbc\x20\x34\xbd\x1b\x49\x5b\x78\x7a\x47\xd0\x5e\x7c\x14\xec\xfc\xd5\x10\xea\x03\x9e\x7b\xc0\x73\x0f\x70\x2d\x01\xcf\x1d\x05\x40\x92\x00\x48\x72\xc8\x80\x24\x2d\x96\xf1\x2d\xe0\xb9\xbf\x8c\x85\xe1\x0d\x25\x29\x3b\xc1\x50\x16\x62\x37\xb8\x5c\x15\xbc\x01\x56\x82\x74\x9e\x70\x1c\x37\x81\xc5\x38\x39\xd2\x07\x8c\x69\x10\x3d\x4d\xdb\x5f\x96\x95\xa7\x83\x95\x3c\xdd\x58\xcd\xc8\x5f\xca\x7c\x70\x30\x0a\x97\x9b\xf6\x41\xa8\x59\x2d\x6b\xb7\xee\x5c\xed\xaa\xda\xe4\xad\x35\x2c\xf9\xd7\x63\xda\xe6\x2f\x04\xa9\xfa\xf6\x0a\x7f\x05\xe8\xa7\x00\xfd\x54\x4b\x99\xe3\xc4\x89\x3d\x18\x89\x2e\x28\xe9\x01\x53\x35\x60\xaa\xee\x43\xa3\x0f\x26\x8c\x95\xd3\x0e\x26\x8c\x37\x81\xa9\xba\xa6\x0e\xb1\xc7\x9a\x0c\xdb\x69\x13\x47\x95\xb3\x17\xb4\x89\xa0\x4d\x54\x4c\x2d\x68\x13\xdf\xa0\x36\x71\x18\x14\x0e\xaa\x44\x50\x25\x82\x2a\x11\x54\x89\xa0\x4a\xec\x9c\x8c\x41\x95\x78\x9d\x7a\x0d\x55\xfa\x44\xcb\x5c\xb7\xa3\x52\x26\x82\x22\x11\x14\x89\xa0\x48\x84\x8a\x14\xcd\x73\x0a\x15\x29\x42\x45\x8a\x50\x91\xe2\x0d\x54\xa4\x78\x49\x11\xae\x06\x06\xf9\x38\xe2\xf7\x8f\x42\x88\x7b\xb5\x00\xfe\xb7\x27\xd2\x85\x94\x84\x90\x92\x10\x4c\x94\x21\x25\x21\x18\xe1\x82\x11\xee\xa0\x8d\x70\xaf\x65\x59\x7f\xe1\xe3\xf9\x42\x82\xea\x91\x44\x3b\xff\xe5\x18\xa4\xd1\x17\x8e\x4f\x08\x16\xb8\x60\x81\xab\xa6\xcc\x71\xba\xf2\x0f\x46\x0a\x38\xc6\x92\x94\x41\x03\x68\x4f\x88\x10\xa4\xd0\x9e\x56\x21\x48\xa1\x81\x38\x41\x3f\x0a\xfa\xd1\xc1\xe9\x47\xaf\xac\x38\x1c\x6c\x88\x73\xd0\x20\xcc\x7b\x41\x83\x08\x1a\xc4\x1b\xd5\x20\x0e\x86\xc2\x41\x7d\x08\xea\x43\x50\x1f\x82\xfa\xd0\x4c\x9c\xa0\x3e\x04\xf5\x21\xa8\x0f\x47\x13\xd6\x7c\x4c\x0a\x44\x50\x1e\x82\xf2\x70\xd8\xca\xc3\xc1\x4c\x28\x04\x00\x87\x00\xe0\x10\x00\xfc\xcd\x04\x00\xbf\x51\x05\x7e\xb7\x62\xdb\xbf\x59\x42\xbd\xf3\x04\x8c\x4c\x12\x79\xf7\x63\xc2\x47\xfd\xc5\x9c\xe8\xff\xbf\xa4\x33\xc2\x24\x50\x82\xaa\x85\x2f\xa6\xd5\x6c\xa8\xe5\xad\xf4\xee\xbe\x77\xfd\xe9\xca\xaf\x3b\xf2\xee\xf3\xc3\x55\xbf\x77\xdb\xb9\xcb\x96\x3b\x9b\x95\xbf\xc4\xf6\xbb\x82\xa4\x69\x4f\xf2\x1d\xd1\x2a\x35\x30\x83\x7b\x85\x55\x2a\x37\x1b\xd9\x5d\xf7\xbe\x7b\xf7\x0b\xd4\x4d\x19\x5e\xf6\xee\x3b\x3f\x5e\x15\xf6\x79\xe1\x79\xe7\xe2\xef\x0f\xbd\xbb\xfa\xe7\xdd\xff\xea\xdd\xf7\xef\xeb\x9e\xde\x75\xaf\xba\x9d\xfb\xfa\xaf\x3f\x76\x7a\x57\x0f\x77\xdd\x46\x7a\x34\x8e\xb6\x59\xb7\x92\x40\x24\xa8\x1d\x80\x22\xcb\x0c\x45\x4e\x43\x94\x49\xc5\x8e\xcb\x57\xf5\x75\x8e\x1e\xac\xa9\x82\xda\xc6\xcd\xbd\xe1\x35\x64\x74\xac\x98\x4a\x3c\x4a\x48\xbc\xd4\x92\xa3\x61\x5d\x4b\xb8\x30\xa8\x67\x2c\x3d\x49\x5a\xb3\xf2\xc8\x1c\x1f\x04\xd5\x9c\x14\x61\x71\x45\x1f\x66\x1d\x6a\x7b\x60\x9a\x25\xd3\x27\x52\xe8\x29\x4a\x85\x20\x4c\x25\x0b\x44\xbe\x52\xa9\xe4\x52\xa3\x6e\xf9\xea\x9a\xb5\x0c\x21\x6b\x70\x8a\x25\x1a\x11\xc2\x8a\xe3\x17\x24\x21\x58\x56\x8c\xd9\xae\x7e\x3b\xb2\x64\x6b\x65\x8d\x4c\xe6\x8e\x1d\x63\x9a\xa4\x82\x94\x4e\x0b\x9f\xcd\xb1\xa0\x92\xb3\xee\x57\x7d\x45\xeb\x83\x7c\x03\x9f\x73\xb1\xd9\x89\xe9\xfe\xdd\xdf\xc1\xd7\xc5\x7f\x7e\xea\x17\xff\x55\x38\xf3\x57\xfd\xe2\xbf\x9a\xf7\xba\xd7\x70\x79\x67\x9f\xa2\x4f\xfd\x73\xf4\x09\x20\x46\x05\xea\x4f\xb1\xd9\xb1\x57\xfd\x73\x74\x45\xa4\x84\x5f\xf2\x8f\x15\x55\x09\xcc\xed\x47\xca\xb0\x58\x20\x37\x7d\x53\x12\x0c\x47\x53\x44\x32\xd2\x94\x89\xc7\xfe\x91\x32\xb0\x48\xe4\xd4\xbb\xe2\x13\x1a\xe1\x64\x3b\x22\x76\xae\x0b\x7c\xe0\xe6\xae\x91\x14\xfe\xdb\xcb\xb4\xe8\x5c\x5f\x42\xb9\x2d\x37\xd4\x8a\x99\x5f\x13\xa9\x37\x49\xc4\x59\x6c\x7d\x6a\x5a\xa8\x59\x78\xba\xca\x3f\x38\x94\x2c\x4b\x25\x65\x13\xdd\x22\xfa\x80\x6e\xee\x06\xec\x46\xc4\xc6\xbe\x4b\xb4\x90\x6f\xf6\x1c\x95\x88\x71\x85\xe8\x6c\xce\x85\xc2\x4c\x69\xfd\x06\xa4\x1b\x4b\x11\xc3\x01\x2e\xf8\x6c\x96\x2a\xac\x0f\xda\x12\x51\x99\xb1\xf2\xdc\x13\xd5\x8b\xc1\x11\x56\x41\x43\x23\xfe\xe4\x73\x99\x0b\xdd\xbe\x16\xbd\x8a\xa6\x01\x1a\x2f\x69\xe8\xae\x09\x2c\x04\x2e\x5e\xc0\xef\xa8\x22\xb3\xf2\xfb\x2d\xaf\xdd\x7f\x55\xda\x3d\x2e\x4c\x56\x04\x11\x1d\x11\x4d\xa9\x22\x91\xd2\x47\x70\xa3\x3d\xf1\x70\xfd\xf3\xf5\xcd\x17\x5f\x30\x7a\xd7\xf9\x7c\xf9\x1f\x05\x18\xd8\xce\xdd\xe7\xa5\x1f\x86\xbf\xfc\xc7\xd2\x2f\xff\xff\xc6\xfd\x54\xee\x69\xc9\x7c\xe1\xcd\xe5\x14\x34\x05\x30\x75\xbb\xa9\x22\x3a\xc3\x13\x82\x64\x3a\xd7\x3b\x40\x9e\x15\xd7\x57\x4b\xca\x57\x1c\xc7\x94\x4d\x4c\x55\xa9\x2b\xaa\x88\xc0\xc9\x67\x3c\xff\xe8\xcc\xf2\x1b\x50\xe7\xff\xdc\x17\x2a\x9b\xbd\xfb\xb5\xf3\xd9\xaf\x8d\xf6\xee\xf6\xee\xa6\x7f\xd3\x38\xeb\x42\x0b\xcb\xc7\x48\x3f\x3e\x87\xff\x45\x1f\x90\x6e\x3d\x13\xe8\x67\x44\x61\xad\xe8\xa0\xef\x4c\x21\x9e\x2c\x13\x86\xb2\x04\x4e\xcd\x5c\xd0\x19\x85\x2b\xc5\x18\x26\xbf\x37\x3a\x43\xa6\x14\x65\xe7\xc6\x7c\x00\x46\x00\x77\x29\xb3\x18\x8b\x18\xfd\x43\x96\x0b\xed\x81\x3d\xdc\xfc\x40\x62\x74\x8a\xa6\x4a\xcd\xe5\xf9\x87\x0f\xcf\xcf\xcf\x67\xfa\x6d\x2d\xc0\x7e\xd0\x7f\x9c\x12\x76\x36\x55\xb3\xc4\x14\x16\xd4\x54\x38\x47\xb7\x82\xeb\x2b\x04\xec\x0e\x44\x50\x9c\xd0\x7f\x92\x18\x8d\x0c\xff\xe3\x63\xf4\x5b\xc4\x05\x39\xcb\x17\xc6\xda\xca\xec\x3d\x62\xed\x69\x1f\xf4\x4b\x15\xcc\xa4\xbc\x9e\x28\x26\x11\x8d\xad\x98\x41\x58\xc4\xc1\xa0\x6a\x5c\x30\xba\x3d\x57\xbd\x48\x2b\x6a\xf3\x54\xe5\xe4\xf4\x74\x30\x1c\x13\xaf\x2e\xa0\x95\xaf\xb3\x0d\xa7\xf5\xb9\x9e\xd1\xc6\x53\x49\x04\xdc\xad\x18\x6e\x55\xf7\xea\x5c\x4f\x38\xe2\x09\x1a\xa5\xe3\x31\x11\x7e\xf8\xc0\x89\x56\xd2\xa8\x44\x82\x44\x7c\x36\x03\x89\x41\x7f\x95\x4a\xb3\xab\x81\x62\x76\xb4\x67\x03\x06\xeb\xaf\xb5\x37\xd8\x01\x31\x07\x56\xc7\x08\x89\x11\x66\x0b\xd3\xcd\x28\x1d\xfb\xed\x9b\x82\x9d\x38\x46\x54\x0d\x58\x27\x49\x90\x20\x33\xae\x88\x57\x97\x09\x5c\x9d\x45\x82\x03\x8b\x14\x64\x9e\xe0\x88\xc4\x66\x3f\x24\x3c\xc2\x09\x1a\xd3\x84\xc8\x85\x54\x64\xe6\x37\xf0\x1d\x98\xa0\x34\xcd\xa8\x44\x31\x7f\x66\x09\xc7\x76\x1e\xe5\xcf\xbe\x2f\x9e\xc6\xae\x2b\xa6\xd8\x15\x82\x0b\xf8\x9f\x9f\x29\x8b\x77\xc6\xa1\x1e\xee\xbb\x77\xfe\xbf\xef\x7f\xbd\xef\x77\x3f\xaf\xc7\x7d\xb2\x9d\x05\xc3\x03\xd3\xc4\x39\xba\x37\x44\xe0\x42\x4b\x44\xa2\x66\x52\x9f\xed\x56\xca\x7f\xe0\xf1\x86\xdc\xf7\x73\xe7\xfa\xa1\x53\xe0\x28\xf7\x17\x3f\x75\x2f\x1f\x4a\xfa\x80\x9d\x5f\x41\x86\x37\x5a\xad\xff\xdb\xc5\x4f\xbd\xab\xcb\x61\x85\x1e\xfc\xee\xae\x7b\x71\xf3\x4b\xf7\x2e\x57\x59\x2b\x49\x54\x1a\x4c\x99\x59\xf5\x0d\x53\x9a\xf2\x18\x8d\x16\xd5\xa5\x33\xb5\xe4\x9c\x80\xe7\x3c\x2f\x1e\x6b\x5a\x3d\x07\xde\xe4\xaa\x98\xe6\x5f\xcc\x78\x4c\x4e\xec\x3b\x50\x73\xd4\xd8\x8c\x8c\xc4\x5c\xdd\xb0\xee\x1d\x33\xcf\xfe\x62\xca\x81\x66\x84\x3b\x47\x1d\x24\xf5\x8b\xa9\x3e\xd4\x82\x4e\x26\x60\x0f\x2d\x0d\xd5\xb4\x66\x3f\x05\xf2\xc2\x77\x66\xfd\xe7\x82\xc3\x39\xd7\xdd\x5a\x43\x7a\x66\x6c\x31\x1f\x42\x7d\xda\x62\x8b\x02\x83\x1d\xa5\x62\x68\x6e\xb1\x34\x11\x6a\xe9\x65\xce\xa3\x31\x83\xe9\xc3\x05\x6c\x4b\x1a\x33\xee\x5c\x90\x27\xca\x53\xef\x53\x5b\x02\xb5\xb0\xe2\x95\xcd\xe7\x04\x00\xb2\x19\x5b\x4f\xa9\x99\x6c\x7b\x54\xb6\xa0\x59\xd8\x13\xb4\x30\x16\x7c\x56\xd1\x46\xf1\x98\xf4\x6e\xee\x95\xc0\x8a\x4c\x16\x97\x96\x65\x6c\x7e\x3c\x2e\x6f\xbe\x5c\x5f\xdd\x74\x2e\x87\xdd\xce\xa7\xe2\x89\xcf\x9e\xdc\xf7\xef\xba\x9d\xcf\xc5\x47\xc3\xeb\x9b\xfe\xd0\xbd\xd1\xb8\xe5\x6b\x3a\x58\xbe\xa7\x8b\x2f\x9e\x23\xcd\x72\x81\x35\x3e\xd3\x24\xd1\x97\x89\xc7\x1f\x47\x64\xcc\x85\xe1\xf3\x33\x17\x68\x62\x45\x18\x47\x5b\xab\x8b\x95\x66\x71\x0e\x06\xbf\xaa\x26\x8d\x31\x5f\x09\x82\x67\x70\x4f\x60\x86\xba\x2c\x3e\xbd\x19\x9f\xde\x9b\x1f\x67\x58\x3c\x12\x91\x7d\xfa\x2c\xa8\x52\x84\x15\x54\x3a\xec\x86\x9c\x29\x89\x79\x07\x67\xe8\x4e\xf3\x7d\xfd\x7e\x76\xa9\xe9\xcd\x1e\x13\x85\x69\x22\xed\x60\x0b\x74\x3d\x47\x57\x58\x4c\x72\xf3\xe2\x77\x7c\x3c\x36\x8d\x7d\x6f\x86\xa1\xef\xb0\xc2\x2c\x2a\x78\xaf\xde\x1a\xee\x5e\x84\xfe\xec\xcb\x99\x3c\xbc\xbc\xab\x1e\xe6\xdb\xed\xa9\x87\x5b\xa0\xb8\xd1\xd8\x0b\xba\xa1\x7d\x52\xb1\xd7\x60\xe2\xe6\x71\xf3\x25\x53\xdd\xf6\xf2\x76\x2a\xbe\x58\xb1\x9d\x4c\x2d\x13\xbd\xf2\x63\xad\x6d\x56\xec\x25\xf2\x95\x5a\x83\x81\x3f\xee\xd2\x16\xca\x9b\x01\xab\x31\x9e\xcf\x09\x16\xb2\x6a\xb5\x8b\x62\x60\xcd\xda\x9b\x9e\xfc\x3e\xec\x22\xbb\x7e\x4e\x10\x67\x60\x70\xc8\x84\x88\xd2\x8e\x6c\xb1\x07\x4c\x5b\x4b\x3b\xe0\x16\xea\x52\xdf\xd8\x1a\xd0\x9f\xa9\xd4\x4a\xa3\xf9\xf1\x47\x5b\x9c\x7a\xb3\x0d\xf1\xb1\xd3\xbb\x2a\x09\x17\xc3\xcb\xee\xc7\xce\xc3\x55\xb3\x99\xb0\xf0\x5d\x79\x89\xd1\x29\xd2\xcf\x8b\xe1\x00\x74\x6c\xee\x0c\x57\x62\xdb\xa8\xb4\x84\x81\xd1\xca\x96\xbf\x35\x66\xf8\x98\xcc\x13\xbe\x98\x11\x06\x26\x9e\xc2\x4d\xa8\xe9\x39\xc6\xd4\x5e\x2d\xde\x60\xc1\x8a\x63\xcd\x6e\x70\x8d\x9d\xba\xba\xde\x24\xce\x6e\xde\x62\x59\xef\x12\xeb\xbe\x35\x4e\x41\xfb\x7f\xf7\x0a\xab\x0d\xcf\x58\xe7\xa2\xdf\xfb\xa5\x5b\xd4\x0f\x2f\x7e\xea\xfd\x52\x25\xd5\x0c\x3f\x75\xaf\xbb\x77\x9d\xfe\x0a\xe1\xa4\xd4\x64\x95\x70\x22\xf5\x80\xcb\x4e\x61\x2a\xb3\x40\xa7\xc8\x14\x07\x47\x54\x49\xf4\x44\x25\x1d\x51\x28\xa5\x6e\x1d\xac\x0f\x3d\xe0\xac\x4f\x38\xa1\x31\x55\x0b\x27\xbe\x98\x7e\x8b\xeb\xa8\x39\xa9\x6d\xdf\x98\x1d\x7c\xb7\x2b\x58\xf9\xcc\xe2\xb8\x49\x9f\x23\xd0\x6d\x9f\x40\x69\xf3\x3e\x63\x5a\x90\x66\x13\x22\xcc\x70\xc0\xa9\xe4\x8f\xc5\x7b\xae\x47\xe5\x0b\x2b\x39\xd5\x32\xa1\x75\x42\x18\x11\x50\x2e\x3f\xeb\xc4\x08\x52\x82\xb0\xf7\x5a\xe6\x9a\x27\x34\xa2\x2a\x59\xa0\x08\x6c\x58\x60\xce\x9c\x61\x86\x27\x56\x38\x00\x35\xa7\xb4\x25\xfe\x6e\xea\xcd\xdf\x8c\xad\x69\xbf\x4f\xc9\x86\xc7\xec\xe1\xfa\xb2\xfb\xb1\x77\x5d\xdc\x02\x3f\xf5\x3e\x15\x44\xd8\xcf\xdd\xcb\xde\x43\xe1\x36\xd7\x92\x6c\xb3\x5c\x5f\x6e\xb6\xe2\x28\x66\x2f\x9d\xa3\x4b\xf3\xe9\xb9\x26\x6e\x45\x31\xfd\x4c\xf9\x2d\xd1\xe1\xce\x45\x1a\xba\x3f\xba\x4c\x89\x4a\xbf\x44\x5b\x13\x92\xf5\x0a\x15\x6c\x48\xd5\x11\x18\x4b\x7d\x5f\x97\x7d\xe5\xe5\x29\xbb\x17\x21\x44\xf6\x2c\xb7\x2c\xf9\xa1\x19\x60\x34\xa8\x33\x62\x55\x78\xeb\x72\x86\xfd\x0b\x78\xde\x67\xa9\x54\xc6\x43\x0a\x9b\x13\x3d\xfe\x4d\x6a\x82\x82\x07\xf5\x0c\xdd\x13\x32\x60\xce\x7a\x30\xa1\x6a\x9a\x8e\xce\x22\x3e\xfb\xf0\x98\x8e\x88\x60\x44\x11\xf9\x01\xcf\xe9\x0c\x6b\x49\x9a\x88\xc5\x87\x51\xc2\x47\x1f\x66\x58\x2a\x22\x3e\xcc\x1f\x27\x10\xd8\xe3\x3c\x5d\x1f\xb2\x66\x27\xfc\xdf\xaf\xfe\xf2\xc3\xe9\xd5\xdf\x7e\x78\xb7\x6c\x21\xab\x5b\xff\x2e\x8b\xf0\x5c\xa6\x89\x0d\x04\x14\x3e\x6d\xdc\x91\x4f\xc9\xaa\xf5\xbe\x2e\x2e\xd7\x76\xfa\xeb\xc5\xed\x43\xc1\x62\x5d\xfc\xe7\xe7\xee\xe7\x9b\xbb\x5f\x0b\x9c\xb2\x7f\x73\xd7\xf9\x54\x60\xa8\xdd\xdb\x9f\xba\x9f\xbb\x77\x9d\xab\xa1\x7b\xb8\x8d\xed\xed\x67\xc6\x9f\x59\x91\x34\xd2\x71\xc0\xa5\x9e\xce\xd1\x47\x2e\xd0\xcf\xd9\x4a\x9e\x8e\xb0\x84\x2b\xc6\xdd\x59\xf2\x04\xcd\x79\x0c\x8c\x17\x91\xf9\x94\xcc\x88\xc0\x89\xb5\x19\x48\xc5\x05\x9e\x98\x9b\x5e\x46\x02\xab\x68\x8a\xe4\x1c\x47\xe4\x04\x45\xb0\x1b\x26\x27\xb0\x28\xa0\x6a\xf1\x49\xd9\xce\x77\x97\x32\x45\x67\xc4\xa9\xe0\xf6\x9f\x7d\xb3\x18\x1b\x2c\xce\x4d\xff\xa7\xa2\xb0\xf7\xf1\xea\xd7\x7e\x77\x78\x7f\xf9\x73\x23\x3d\xcd\x67\x85\x91\xdd\x43\x5c\xd5\x05\x4f\xd2\x19\xf3\xff\xde\x7c\x6c\xbd\xeb\x7e\xf7\x53\x79\x74\x37\x9d\x7e\x71\x67\xdc\x15\xe3\xf6\xde\xfd\x78\x73\x73\xd5\x2d\x78\xba\xdf\x5d\x76\xfa\xdd\x7e\xef\x73\x61\xff\x5c\x3e\xdc\x81\x0f\xa8\x71\x9a\x6e\x04\x15\x13\xd5\xd3\xf2\xa7\xb9\x6b\x56\xd8\x8a\x13\x75\x6c\xf8\xbf\x39\xcb\xa7\x1e\x5e\x8e\x89\x72\x03\xab\xce\x69\x66\x52\x8d\xcc\x48\x2b\xd9\xa1\x2a\x2e\x13\xaa\x67\xc7\x8d\x0b\xdd\xc4\x95\xfb\xd9\x10\x60\x5c\x67\x46\xd9\xc6\x49\xc2\x9f\x4d\x84\xf2\x8c\xea\x5b\xd9\x16\x5b\xd7\xaf\xc8\xdc\x43\x78\x56\xc1\xf1\x8a\xcb\x42\x22\x41\xd4\x67\x9e\x32\xb5\xf9\x96\xeb\x5c\x17\xf8\x4e\xf7\xfa\x97\xe1\x2f\x9d\xe2\x0e\xec\x5d\x35\xb3\x1a\xbf\x89\x8a\xab\xb8\x73\xfd\x6b\x76\x09\x43\x1c\xfb\x49\xa6\xa1\x1a\xd9\x35\x4a\xa8\x16\x7b\x23\xac\xb5\xd7\x04\x24\x1a\x44\x28\x98\x1c\x66\x7a\x72\x10\x37\x3b\x37\xfe\x24\xc3\x9f\xcc\x20\xcf\xdd\x1f\xa5\xf6\x24\xd0\x05\xac\xa9\x2e\x4d\x00\xda\xb1\x5a\x35\x43\x84\x3d\x51\xc1\x19\x08\xdb\x4f\x58\x50\x2d\x8d\x9b\x96\xf5\x5c\xcf\xe1\x7f\xd7\x6b\x13\x0c\xa3\x25\xc6\x75\xcf\x85\xba\xcc\xe2\x93\x37\xb3\x86\x54\xc5\xe9\x2e\x47\xe8\x56\x1b\x3a\x96\xbf\xad\x58\x9c\x2d\xe3\x98\x8b\x13\xfe\x3d\xb9\xa4\x38\xd1\x0c\x60\x77\xf2\x62\xe7\xfa\xbe\x57\x94\x1f\x8b\x6a\x86\xc7\x97\x37\x96\x17\xc1\x50\x69\x46\xee\x94\x89\xfb\xbf\x5f\x19\xed\x42\x6f\x12\x7b\x6e\x3d\xc5\x02\x04\x20\x57\x85\x74\x8e\x85\x2c\x7d\x21\x11\x20\x99\xe5\x71\x64\xfa\xce\x82\x28\xad\x27\x4e\xe3\x01\x23\x5f\xe7\x84\x49\x08\x0e\x30\xf7\x59\xee\x6b\x97\x67\xa8\x37\x06\x96\xa0\x5f\x67\x28\x65\xd6\x01\xa6\x2f\x5c\x33\xc8\x13\x2d\xca\xda\x21\x64\x1a\x22\x18\x5e\x18\x71\x31\x60\xf9\xe0\x07\xec\x4b\xe6\x44\x83\x47\x63\xae\x19\x90\x5e\x45\xdb\xde\x39\xc2\x4c\xd2\x13\xa4\x15\x96\xf2\x9a\x42\x46\x84\x56\x28\x6d\x64\x9a\xe6\x34\xf6\xcf\x97\xbf\x06\x96\xc2\x9f\xfd\xcb\xa0\xfa\x2e\x28\x5d\x05\x35\xa2\x71\x62\x3c\x26\xc3\xf6\x77\x42\xc4\x05\xb1\x7e\x96\xb5\xaf\x81\x55\x8c\xbd\x8f\xe5\xe3\x92\xef\xa1\xc7\xa4\xc2\x2c\x22\x17\x09\x96\x1b\x06\x21\x39\x1b\xc7\x49\x51\xe2\xb8\xbb\x7b\xb8\xed\xf7\x7e\x5c\xc1\xe5\xcb\x1f\x2f\x87\x01\x45\x49\xea\xdc\x73\x23\xc1\x71\x8c\x34\xfb\x9c\x70\xe3\x0a\xb4\x82\xbf\x39\x41\x66\x4d\xa8\xf4\xe2\x44\xb1\x7c\x2c\x18\xa9\x6d\x96\x85\xb5\x73\xf8\xae\x04\x6a\x09\x81\x22\x4d\x09\xe4\x99\x3c\xdc\x52\x83\x67\xd1\x44\xd1\x59\xeb\xd6\x3c\xc1\x6a\xcc\xc5\xcc\x70\xf9\xc2\xa4\x4d\xe3\xcd\x8d\x52\xa6\x88\x10\xe9\x5c\x81\xca\xae\xc7\x5a\x96\x52\xf5\x92\x5d\xf1\xc9\x67\x22\x25\x9e\x90\x6d\x1c\xd0\x55\xca\xc3\xfd\x2f\xfe\x3f\xc1\xc1\xdc\x46\xf6\x2f\x8c\xd0\x05\xf4\xbb\xfd\x74\xc3\x3e\x9a\x40\x9e\x5b\x9e\xd0\x68\xc3\x80\xbb\x8f\x9d\xde\xd5\xb0\xf7\x59\x2b\xf1\x9d\x7e\xf7\xaa\x20\x4a\xc0\xb3\xce\xc7\x7e\xf7\x6e\xd8\xfd\xaf\xee\xc5\x43\xbf\xf3\xe3\x55\x77\x78\x7d\x73\xd9\xbd\x1f\x5e\xdc\x7c\xbe\xbd\xea\xae\x88\xcc\xa9\x6d\x7c\xd9\xba\x5a\x7e\xf5\x7c\xe9\x17\x58\x61\xcd\xcb\x7c\x7b\x19\x24\xc3\x61\x9a\x80\x13\x9c\x1b\x67\x38\x46\x8c\xc7\x04\x7e\x96\xce\x3a\xe3\xb2\x4d\xce\x50\x4f\xbd\x4f\x12\x84\x53\xc5\x67\x18\xbc\x36\xc9\x62\xc0\xf0\x48\xb3\x56\x9c\x24\x5e\x78\x97\x48\x19\xd3\x2c\x56\x37\x26\x4d\x7c\x71\x42\x34\x3b\x9f\x7b\x39\x8c\xd6\x6f\x30\xa6\x0c\x02\x88\x67\x58\x3c\x1a\x37\x53\xde\x65\x7e\x28\x24\xc2\x72\xc0\xf4\xb8\x88\x35\x0c\xb5\xa1\xf0\x79\xab\xb7\x6a\xa9\x33\xc3\x8f\x44\x53\x65\x96\x46\x53\x34\x17\x7c\x22\x88\x94\xd6\xb6\x1c\x61\x66\x02\x10\xec\xeb\xfa\x1a\x1a\x30\xc6\x35\x29\x9c\x09\x3b\x26\x73\xc2\x62\xc2\x22\x6a\xb2\x15\xc1\x77\x9f\x99\x36\x27\x02\xcf\xa7\x48\x72\x70\x7a\x03\xd9\xc1\x7e\x65\x3e\x72\x37\x99\x99\xb1\x79\xec\x5b\xa0\x45\xaa\xf9\xc4\x0d\xc8\x89\x86\xca\xf0\xb1\xbb\x0c\x9d\xdb\xc5\xd8\x01\x67\xf3\x84\x40\x97\x96\xe4\xb0\x18\x9a\xd6\x85\xf5\xd0\xcb\x54\xb5\x08\xfa\xc2\x76\x63\xc6\xd2\x8e\xe8\xac\xc2\xb2\x6d\x8f\x14\xfa\x09\xb3\x38\xd1\xad\x38\x1f\x46\xf1\x2c\x42\x86\x4d\x47\xef\x1a\x77\x1a\xb7\xb9\x45\x23\x9c\xca\x6d\xae\xd1\x52\x8a\xa9\xb1\x0a\x9e\xe6\x41\x21\xb0\xbd\x6d\x7e\x29\x50\x77\xae\x59\x24\x4e\xb8\xa5\x92\x79\x3d\xb5\x41\xcb\x30\x9a\x9a\x6b\x76\x2e\x28\x8b\xe8\x1c\x27\x1b\xe9\x7e\xa5\x1c\x03\x1b\xba\xff\x1d\x1d\xeb\xed\xf3\xfd\x92\xdb\x56\x11\x31\x83\x74\x72\x3b\xcc\x6c\x09\xd7\xb0\x24\xd9\x64\x0d\x22\xf3\x68\x12\x2c\x78\x6a\xfc\x71\x40\x17\x12\x57\x1c\xd5\xb3\xaa\xe5\xd6\x27\x03\x17\x03\xa0\x37\x58\x6c\x13\xf9\x53\x47\xbf\x52\x2b\xb6\x77\x13\x8c\x87\x93\xdb\xea\x36\xab\x56\xc0\x7b\xf8\xaf\xa6\xbd\xf3\x19\xcf\xf5\x9e\x89\x52\xa9\xc0\x53\x9c\xcd\xd1\x2a\x49\xa5\x50\x76\xcf\x77\x9e\x05\xb5\xb7\x5f\x8d\x9c\x84\x36\x00\x6a\xb9\x93\x42\x0c\x81\x87\x08\x60\xf7\xf8\x38\xd5\xb2\x2c\xc2\x10\x85\x80\xbe\x23\x67\x93\x33\x74\xf3\x4b\xf7\xee\xae\x77\xd9\x3d\x41\x9d\xdb\xdb\xee\xf5\xe5\x09\x22\x2a\xfa\xde\xc5\x2c\xda\x80\xa5\x01\x53\xdc\x4a\x2b\x0b\x34\xe5\xcf\xc0\x1b\x89\x98\x90\xc2\x9c\x5d\x74\x13\x84\x2a\x4f\xa8\x54\x36\x7c\x56\xf3\x95\x7c\x58\x5a\xde\xaf\xdc\x21\xa9\x9a\x6e\xb3\x35\xb0\x94\xe9\x4c\xeb\xb2\x43\x8a\x67\x43\xc1\x93\x6d\x98\xc2\x25\x4c\x05\xd4\xe5\x0c\x4c\x81\xe2\x19\xd2\xcd\xda\x50\x90\xcc\xe5\x98\x89\x74\x5a\x30\xd2\x7c\x59\xdf\x9b\xde\xbd\xe5\xbc\x0f\x36\x1e\x8d\xba\x10\x08\x00\x5b\xa8\x61\x15\xb9\xd9\x78\x68\x2d\xf5\x43\x1c\x45\x5a\xe5\xde\xf1\xa4\xf2\x8e\x32\x97\x80\xed\x68\x6f\xd3\x5c\xb5\xcf\xdd\x30\xe7\x9a\x83\x41\x30\xb0\xbe\x72\x25\x8f\x68\xde\x7e\x45\xbf\xa3\xc5\x52\xaf\xb0\x65\xcf\x06\xec\x41\x66\x26\x15\x73\x09\x4b\x02\x2b\x29\xd1\xf3\x94\xc0\xd1\x58\xa0\x29\x7e\x22\x85\x2e\x5d\x0e\x89\x6e\x78\xc1\x53\x51\xc5\xe8\x06\xec\x92\xcc\x05\xd1\x92\x7e\xd9\x81\x92\xed\xe9\xbb\xe2\x4e\x0c\xfb\x3a\xec\xeb\xa3\xdf\xd7\x17\x49\x2a\x15\x11\x1d\x29\xe9\x04\x0c\x89\x5b\x09\x70\xa6\xb1\xe1\x9c\xf3\x64\xd8\xc2\x26\xd2\x9e\xe2\x05\x4f\x58\x21\xe0\x43\x1a\xa4\x03\x9e\x82\x7c\x54\xb8\x36\xb9\xbe\xeb\xbc\xcc\x61\x3b\xbc\x06\x32\x38\x97\x59\xc7\x01\x4a\x6c\x25\xe2\xe0\xaa\x56\x9a\x5a\x42\x7b\x17\x73\x2e\x8c\x7c\x93\xb9\xcb\xf2\x21\x96\x0e\x93\x13\x45\x28\x73\x64\xcb\x3f\x82\xfd\xac\x09\x6c\xe4\x8e\xdf\x53\xae\xb0\xfc\xfe\x6c\xc0\xb4\x10\xf5\x48\x16\xc6\xdc\xaa\xc5\x94\x3f\x68\x59\xfc\x54\x12\x26\x21\xdc\xfb\x0f\xc6\x3d\xa7\xb7\xb8\x33\x57\x1b\xd5\x94\xcc\xe6\x09\x56\x10\x74\x9d\xf5\x02\x21\xba\xb6\x51\x2b\x25\xe5\x01\xd0\x20\xe7\x9b\xb9\xd8\x67\x66\xf8\x13\xa2\x20\x73\x5c\x51\x05\x3a\x53\x9c\x6a\xf2\x2c\x0f\x7d\xa5\xe9\xca\xec\x0a\xc1\xc1\x4f\x12\xa7\xdb\x31\x7e\xb9\xdc\xc6\x4a\xce\x98\x69\x0b\xf7\x36\xe6\xfd\x83\xb3\x1b\x45\x82\xb3\x52\x34\x8c\x56\xe6\xcc\x4a\x8f\x0c\x3b\x70\xfe\x6b\xc2\xce\x9e\xe9\x23\x9d\x93\x98\x62\x88\x80\xd7\xff\xfa\xa0\xe7\xf5\xef\x17\x77\x37\xd7\xc3\x3c\x93\xe7\x3f\x07\xac\x93\x48\x9e\x65\x29\x20\xc6\x59\x16\x6e\x3f\x17\xc4\x89\x84\x76\x2e\x60\x75\xcd\xcd\x88\x03\x56\x37\x82\x98\x47\xf2\x0c\x3f\xcb\x33\x3c\xc3\xff\xe4\x0c\x5c\xe9\x1d\xf8\xf3\x22\xe1\x69\xfc\x05\xab\x68\xfa\x01\xce\xb5\xfa\x40\x9e\x08\x53\xc6\x4d\xa5\xc9\x15\x43\x4e\xb2\x84\x68\xfd\x7f\xd7\x63\xce\x93\x8a\xa4\xd6\x64\x23\x32\x57\xe8\xff\x15\x64\xc4\xb9\xaa\xbe\xa4\xf8\x78\x2c\xc9\x5a\x17\x52\xae\xa4\xdd\xdf\xa0\xbf\xfd\xc7\x0f\x7f\xd2\x5b\x68\x13\x1a\xf7\xee\x6f\x86\xfa\xfb\x7f\xbf\xb4\xdf\xcb\x35\xd8\x9d\x49\xa5\x95\xd6\xd5\x6c\xa8\x61\x02\xe7\x53\x06\xb7\x9f\x00\xe7\x05\xb0\x37\xd8\x0e\xf9\x3a\x56\x71\xb7\xcb\x42\xeb\xdb\xa9\x6c\x1b\x11\x13\x54\x6c\x6f\x8e\xe8\x14\x31\x8e\x66\x26\xd6\x14\x33\xf4\xd7\x9f\x7f\xac\x5e\xc0\x54\xd0\x8d\x3a\xa4\x16\x85\xc2\xeb\x52\xd2\x7f\x12\x89\xf4\xae\xd1\xbb\x98\xcf\x74\xd7\x82\xc8\x29\x4f\x62\xf4\x4c\x40\x4d\xb2\x71\xa0\x99\x56\x2e\xc8\x80\xf9\x4d\x40\xc8\x21\xc2\x89\xe2\x13\x02\x77\xb5\x53\xd4\x14\x11\x5a\x54\x31\x59\x1a\x8a\x0b\x72\x62\x80\xd9\xee\xff\xe2\x62\xab\x61\x9a\xf0\xc8\x25\xb5\x58\x93\x5c\x3c\xaa\x9e\xf9\xb8\x6c\x7a\x45\xf5\x36\xfc\xf2\x22\x5b\xb3\x6d\x35\x69\x6c\x12\x8a\xb5\x61\x95\x57\xa6\x7a\x30\x34\xe2\x6c\x98\x50\xf6\xb8\xd1\x62\xb8\xc4\x70\xa4\x5b\xb0\x34\xd3\x2d\x66\x76\x6e\x63\x01\x59\xe3\x7c\x7c\x4c\x93\xc4\xa4\xb6\xf8\xcb\x03\x72\x97\xa1\x1b\x08\x03\x73\x93\x03\x4a\x62\xeb\xf7\xb2\x9a\xb0\x20\x0c\x02\xde\x06\x6c\xb4\xb0\x3e\x5b\x79\x82\x64\x1a\x4d\x5d\x66\x5e\xc4\x99\xd4\x62\x34\x17\x28\xe2\xb3\x99\xd6\x7a\x61\xc9\x14\xe7\x89\xb4\xd1\xee\xec\x54\xe1\x48\x0d\x58\xde\xdf\x8a\x93\x67\x8a\x32\x6d\x97\xba\xd7\xde\xa5\x93\x17\x7f\x6a\x14\xb8\x69\xec\x43\x51\x80\x11\xcc\x78\xa2\x3c\x50\x0b\xbe\x7c\x96\xcc\x82\xd5\x68\x06\x72\xca\x85\x1a\xc6\x95\x3c\x67\xe5\xa6\x29\x33\x42\x46\x4e\x13\x08\x1a\xe6\x4f\x5a\xf8\x27\xcf\x99\xf1\xb5\x69\x08\x7a\x57\x37\x8d\xa0\xdd\x31\x6a\x1c\xd9\xba\x5b\xb0\x86\x56\x06\x98\x24\x2a\xc6\x84\xaf\x1a\xe3\x3d\x7c\x75\xa1\x3f\x6a\x24\x5e\xf9\xdc\x39\x21\x88\xc7\x39\x86\x9e\xb9\xd7\x6d\x46\x48\x13\x4d\x2d\x74\xc2\xfe\x32\x47\x9b\xa6\xf2\x50\xb4\xe4\xea\xb1\x80\xc9\x5e\x12\x90\x35\xb1\x18\x51\x25\xb0\x28\x00\xa0\x64\xfa\xa0\x24\x58\x40\x7c\xd6\x80\x19\x38\x3c\xa3\x29\xc4\x28\xa6\x12\x12\x44\xe0\x2e\xf5\x9c\x61\xa8\x9d\x12\x58\x3a\xda\x79\x9e\xa3\x89\x3f\x87\xc0\xb2\x7c\x6b\x38\x66\xa7\x3b\xca\x60\xbf\xb4\x7e\xc6\xa3\x34\x17\xe4\x22\x90\x70\x2d\x54\x10\xa2\x4c\xd2\xc9\x54\x21\xca\xac\xdd\x11\x27\x13\x2e\xa8\x9a\xce\xe4\x09\x1a\xa5\x52\x6b\xa1\x26\x58\xcd\xc4\xa3\x10\x15\xb5\xe2\x42\xdb\x26\x11\xc7\xa5\x06\x97\x55\x94\x0d\xb6\x46\xbb\x43\xd9\x2d\xdd\x15\x2b\x36\x4e\x27\x83\x4f\x2c\xb7\x41\x89\xcc\x50\x37\x91\x89\x03\xe4\x0e\xb0\xea\xf7\x94\x48\x55\x77\x0e\x00\xec\x72\x67\x5e\x8a\x97\xa8\xa4\x85\x4c\x32\xa8\x20\x2e\x76\x1b\x24\xaf\x22\xe0\xa6\x01\xa5\xca\x9c\x4e\xb3\xb9\xaa\x0c\xdc\x5a\x76\x15\xdd\x79\x50\x46\xed\x88\x0d\xc9\x58\xb0\x9b\x01\x80\x6e\xc0\xee\x09\xa9\xc7\xa7\x5b\x5a\xfb\xdf\xe0\x28\xc1\x14\x6c\xa2\x47\xf3\x96\xdf\xc6\x89\x7d\xd9\xbd\xbf\xb8\xeb\xdd\x1a\xc8\x89\x9b\xbb\xcf\x9d\xfe\xb0\xc2\xaf\x5d\xf1\xd6\xe7\xce\xdd\xcf\x97\xab\x5f\xfb\xa9\x5f\xcc\xca\xae\x78\xe5\xee\xbe\x39\x99\xa3\xc5\x10\x2b\x92\xc2\x2a\xfb\x39\x47\xf3\x85\x9a\x72\x96\x85\x28\xc4\x05\xde\x74\x8a\x4c\x46\xb0\x82\x10\x22\x21\x55\x85\xe3\xb0\x0f\x71\x39\xab\x25\xcc\xe2\x62\x19\x74\xb9\x9d\x8a\x46\x6b\x9c\xc8\x4f\x09\x1f\x81\xdf\xda\xca\x3e\x16\x98\xae\x21\x02\x7d\xcb\x78\x9f\x4b\x2a\xe7\x09\x5e\x2c\xf5\xb0\xea\xca\xb9\xc6\x33\x02\x11\xc7\x39\x2c\x9e\x4b\x16\xd1\x2b\x03\x09\x4c\xd9\xbd\x4e\xc7\x90\xc9\xa4\x28\x56\x04\x8d\x88\x7a\x86\xbc\x39\xf7\x6b\x66\x4b\x75\x01\x23\xf2\x6c\xc0\xc0\x9c\x33\xd0\x44\x8e\x53\x88\xf6\x1b\xbc\x3b\x41\x83\x77\x31\x79\x22\x09\x9f\xeb\x95\xd7\x3f\xd4\x5c\x32\xdd\x19\xa6\xc9\x35\x57\x99\x65\x6e\x9b\xf5\x14\x24\xa2\x73\x90\xcc\x87\x44\xb7\xfb\x72\x82\x47\x61\x27\x3b\x76\x06\x63\x40\x38\x8e\xb5\x92\x0d\xac\xcc\x0d\x2f\x0f\x01\x62\xde\xd4\x0b\xc5\x2e\xd7\x11\x29\x32\xf3\xb7\xe9\xd1\x6f\xb3\x68\xf6\xac\x5c\x01\xf6\xb4\x47\x97\xec\xb6\x17\xb9\xd6\x4a\x7e\x26\x0b\x48\xc1\xb8\xc5\x54\x6c\xe8\x9a\xad\x8a\x79\xdd\x8b\x93\xb6\x5b\xd1\xd1\x01\xb9\x6b\xab\xe9\xb0\x9d\xe3\x36\x8b\xd5\x7b\x29\x2d\xd5\xc5\x72\x65\x1d\xb7\x54\x5b\x1f\xea\x94\xd4\xda\x10\x06\x54\x56\xbc\xe6\x24\x5a\x43\xe3\xca\x06\x78\xaf\xbf\x5b\xa9\xa9\x64\xe2\x9a\x8b\xbf\xcb\x57\xc1\x26\xc7\x97\xf3\xf1\xc9\xca\x11\x47\x09\x97\x45\xac\x9c\xd6\x83\xbe\xb0\x9f\x36\x8d\xbb\xeb\x6f\x5f\x2d\x17\xae\x15\xd0\x50\x41\xf8\x12\xc6\xa5\xb9\x67\x94\xf5\x90\xd9\xb7\x4f\x10\x85\x68\x4b\x50\xc8\x92\x1c\x39\x80\xc5\x28\x77\x83\x0c\x58\x1e\xb3\x22\xd1\x33\x49\x20\xcc\x2d\xe2\xb3\x39\x98\xf8\xed\x70\x6d\x4b\x24\x36\x11\xc3\x27\x88\xa7\x4a\x37\x66\x72\x72\x9c\x11\xd7\x26\xfc\xe4\x6e\x0f\xe3\x7b\xb3\xc1\xef\x19\x5e\xb6\xd9\xeb\xe6\x2e\xa5\x0c\x7d\x22\x0a\x5a\x81\x32\x0b\xfe\x04\x41\x4f\x28\x87\x50\x56\xd3\x7e\x8b\x13\x65\x67\xb2\xc6\xca\xe7\xc0\x29\x3f\x26\x7c\xd4\x6c\x24\x80\xc6\xd1\xc3\x5d\xcf\x59\x24\xf3\xf8\x29\x0f\x94\xb9\xe0\x51\xec\xde\xde\x75\x2f\x3a\xfd\xee\xe5\x19\x7a\x90\x44\x93\x27\x9b\x2e\xe4\x57\x67\x2a\x89\x19\xb9\x45\x62\x61\x52\x11\x5c\x67\x08\x21\x42\x14\xb2\xa0\x57\x30\x8e\x22\x4c\x4b\xf3\xc6\x06\x90\x14\x6a\x0d\x75\x00\x2c\x54\x9e\xa7\x8d\xcc\x5b\x75\x02\x21\x4e\x6a\x78\x3c\x51\x6a\x66\xbc\xb3\xe5\xc8\xbc\x55\xdb\xa7\x18\xd1\xb7\xef\xc9\xc0\xd1\x52\x53\x42\x05\x6a\x35\x2d\xb3\xa9\x86\xed\xe7\xe4\x85\xb8\x7f\xc6\xf3\xe6\xf4\x53\xfc\x5c\xd8\xb4\x46\x14\xf6\x7c\xf7\xfb\x3e\x07\xe3\x34\x49\x86\x6b\x1d\x78\x3d\x3b\x73\x88\x2f\x57\xad\xd6\xab\xcf\xce\x31\xed\xa1\x61\xf4\xdb\x2f\x5f\xee\xae\x33\x37\x47\x76\x2b\x98\x7c\x16\xe9\x4c\x80\xfe\xc4\x4a\x83\xb0\x51\xba\x12\x01\x67\x80\x5f\x28\x43\x85\x0b\xff\x04\x8d\xe9\x57\xdb\x68\x1e\xbd\xef\x5e\xf5\xc2\x39\x6a\xa2\x45\xa7\x78\x99\x63\xac\x21\x14\xdd\xc2\xf7\x8d\x22\x32\x97\x5a\xe0\x8b\xb4\x30\x28\x48\xc4\x85\xbe\x07\xa1\xdb\xdc\xc7\xb2\x4a\x20\x52\x58\x68\xa2\x2c\xfb\x9c\x9a\x78\x5b\x5e\x38\x26\xc6\x8a\x9c\x6a\xc1\x72\x45\x7a\xb7\xcd\x00\x82\x5c\x21\xac\x3c\xb0\xb3\xfc\x5e\x1d\x91\x09\x66\x2e\xf0\xbc\x66\xb8\xee\x42\xdf\x82\x11\x6b\x05\x0f\x43\xf2\x1b\x48\x8f\x90\xd8\x54\x18\x87\x9c\x03\x3d\x1b\xc7\x61\x63\x7b\x0e\x81\x6c\xcf\x38\x0b\x35\xaa\x19\x6c\x3a\x8f\x0f\x69\xb0\x09\x96\x0a\xd9\x31\xd5\x19\x5a\x3c\x05\x78\xbf\x26\xe6\x82\xe5\xa2\xad\x6a\xaa\xb7\x50\x51\x47\x27\xe0\xf7\x91\x0e\x15\xc6\x60\xe0\x68\x8d\xcd\x89\xf9\x17\xb0\x42\xd9\xd9\xbe\x33\x32\xa4\xbb\x03\x7d\x66\x02\x29\x08\xcb\x4d\x9f\xa1\x0e\x5b\x42\x03\x73\x51\x67\x05\x7a\x99\x1b\x17\x27\xcf\x78\x21\xd1\x5c\x18\xe0\x1c\x93\x97\xe0\x26\x0f\xfa\x65\xf1\xa3\x2c\xd0\x43\xb9\xc4\x10\x04\x96\xa6\xd5\x21\x81\x4e\xaa\x1f\xee\xc1\x51\x59\x8a\x99\xcf\xd4\x8d\xbc\xb9\xdc\x12\xd3\x82\xd5\x29\x32\x8c\xa6\x98\x4d\xc8\xd0\x99\x90\x37\xd1\x05\x75\x3b\x17\xd0\xcc\xa5\x6d\xa5\xfa\x72\xba\x35\xea\xa0\x2d\xda\x63\x5e\xcd\xcc\xa3\xfa\x10\x48\x85\x27\x04\x99\x11\xb5\x32\xba\x17\xe2\xe1\x2c\x94\x32\x68\x41\xb6\xd5\x6e\x31\x47\xa0\x4e\x35\x81\xc0\xae\x2b\x3c\x22\xc9\xeb\xc4\x85\x40\xd7\xd6\xf5\x00\xbe\x48\x93\xeb\x40\xd0\x33\x78\x2b\x4a\x2c\xc3\xfa\x26\x44\x5a\x95\xf9\xd0\x34\x4f\x38\x72\xf6\xa4\x6d\x33\x51\x57\xe0\x65\x93\xa9\xd6\x95\x7d\xf1\xaf\x3d\xaf\x3c\x4a\x95\xf9\xd0\xbf\xfe\xca\x16\xf3\xcd\x06\xe2\x55\x69\xa9\x19\xc7\xd6\x65\x5a\x56\x4e\x65\x63\x08\x85\x96\x15\x19\x7b\x63\xc4\x38\x23\x88\xca\xfc\x65\x55\x4c\xf6\xca\x00\x88\xb4\x02\x63\x4c\x4b\x59\x69\xb5\xac\x62\xd6\xbe\xed\x48\x39\x34\x44\x66\xf9\x70\xd9\xeb\x8c\x68\x35\x1c\x8b\x05\x00\x98\x1a\x3e\x5c\x94\xe9\x56\x8e\x73\x57\x02\x77\xc5\x05\x68\x25\xe1\x2c\x1a\x59\x71\x04\xc2\x64\x69\x88\xc8\x60\xbd\xda\x97\xec\x47\x16\x8a\x67\xc0\x32\xeb\x0d\x6c\x47\x2a\xd1\x0c\xcf\xc1\x6f\xc9\xb8\xca\xbf\x32\xd0\x52\x2a\x5b\xc8\x13\x27\x8e\x4b\x53\xfe\xcc\xa7\x83\x1f\xf9\x7c\x8e\x6e\x01\x47\x1e\xee\x64\xe8\x7a\xd8\x42\x5b\xe1\x62\xb2\x4d\xe8\x4a\xfb\x72\x18\xf5\x2b\xb6\xa6\x96\x0b\x5a\xd0\xb2\x1a\x58\xf0\x69\x1c\xe8\x72\xad\x61\x6d\x74\x32\x53\x7e\x18\x8a\x88\xab\x0e\x2d\x7a\x42\x9f\x08\x73\x8c\xe8\xc4\x31\x32\x3d\x28\xd7\x69\xb2\x38\xc5\x10\xf9\x4e\x62\xdf\x19\xd7\x7c\x8d\x18\x1b\xe1\x21\x98\xc8\xdb\x93\xac\x5f\x19\xd9\x65\x70\xfb\x0a\x05\x17\x5c\xae\x82\xcf\x5a\x2c\x94\xb4\x01\x27\xc0\x12\xfd\x81\x71\xf5\x07\x0f\x6c\xdb\xd9\xd3\xe0\x53\x67\x15\x3d\x59\x2a\x8e\x04\x9c\xd6\x6e\x1c\x84\x3d\xd0\xb7\x95\x94\xdf\x36\x5c\x25\xcf\xc5\xd8\xab\x0a\xd1\x5d\x4e\xcc\xac\xab\x2e\x17\x82\x48\x50\xf9\x2e\x2f\xdb\xe0\x4d\x01\xcb\xfc\xa4\x17\x6c\xef\x72\x55\xd4\x48\xb6\x16\xad\xa2\x45\x96\x40\x2a\xb6\xd9\x6d\xb3\xd6\xc1\x7c\x2b\x70\xb9\xab\x8d\x49\x9b\xa4\x1e\xd7\x29\x53\xa2\x18\x4d\x69\x2b\xb3\xd4\x00\x4f\x9f\x0d\xd8\x47\x2e\xac\xdc\x24\x6d\xe9\x8b\x11\x8e\x1e\x4f\x09\x8b\x11\x4e\xd5\xd4\x00\x40\x5b\x57\xd7\xc2\xee\x06\x2d\x1e\xc2\xb6\xc9\xd0\x5d\xa8\x8c\xb0\x88\x5d\x11\x96\x27\xee\x46\x31\x60\x5e\x23\x50\x5c\x03\x4a\xaa\x41\xad\xeb\x3a\xfb\x00\x91\x5a\x29\xae\xa3\x45\x55\xb9\xe3\xa5\x62\xc7\xcd\xe7\xac\x50\xbe\x19\xca\x82\x40\xcc\x1d\x1f\x2f\x53\xa7\xe7\x0c\xe0\x4e\x29\xd7\xfb\x79\xd9\x31\x76\x62\xd5\x40\x63\x47\xb4\x33\xd0\xe2\xe9\x0f\x8e\xd7\x16\x80\xac\xc7\xa9\x80\x08\xf2\xaa\x36\xbf\x8b\xa6\x34\xc9\xdd\x69\xdf\x9f\x64\xc3\xd4\x4d\x26\xe4\x89\x24\xa6\x8c\x42\x24\x20\x59\xc4\x98\x7a\x7f\x40\xff\xdb\x94\x00\x46\x7f\x1a\xb0\x4f\xc0\x86\x93\x64\x01\x20\xaf\x59\xcb\x58\x95\x9a\x79\xac\x1c\x80\xb2\xd9\x69\xa8\x38\x10\xb3\xd6\x53\xfc\x44\x06\xcc\x35\xf3\xbf\xd1\x23\xfa\x23\xfa\x53\x9d\x4e\xee\x72\x3e\xf6\x6c\x9c\xfa\xe8\x65\x54\x78\xb7\x9c\x65\x94\x96\xdf\x38\xdb\x55\xc1\x72\x5c\x01\xf6\x92\x61\xb5\x53\xf6\xc4\xa3\xa5\xc4\x22\xff\xd4\x62\x41\x98\x1a\x32\x1e\x93\x21\xa9\xf0\xb2\x37\x30\x09\x2d\x04\x5c\xf3\x98\xac\xf4\x91\x67\xcc\xf4\x0b\xd8\xdb\x64\x3a\xca\x96\x03\x30\x27\x32\x80\x81\xcc\x64\x54\xdc\x69\xd5\x23\xcf\x00\x91\x37\x19\xf7\xa6\xfe\xfd\x5c\x76\xc6\x39\x22\x73\xb5\x8f\x39\xc1\xca\x89\xd4\xe5\xe3\x58\xf6\x4d\xe9\x97\xf5\xcc\xed\x65\xe5\x41\x3d\x43\x39\x1e\x41\x27\x54\x2b\x5d\xed\x63\x08\x80\x13\x6e\xe2\x60\x33\xb8\xb7\xad\x3c\x6c\x39\x29\x1c\xf6\xcf\x69\xb6\xff\x72\xbf\xf8\x88\xa7\x65\x01\xde\x12\x80\x4a\x3f\x02\xc5\xca\xea\x0b\xcd\x87\x27\x26\x29\x95\x4c\xa9\x81\x81\xe8\x5c\x5c\x21\x7d\x3a\xf8\xcc\x60\xa5\x01\xd1\x52\x35\xe5\x82\xfe\xb3\x69\x6f\x63\xa1\xe8\x18\x47\x6a\xb8\x93\xd2\x42\xf5\x9b\xa9\x63\xfb\xe9\xd5\x97\x2f\x5c\x82\xbd\xc0\x4f\xc4\x8b\x4a\x85\x98\x53\xdb\x8a\xcc\xbc\xfb\x65\x7e\xcb\x05\x62\xfc\x39\xc7\x4a\x73\xdf\x03\x3c\xb8\x97\xcd\x83\xb5\xd2\x33\x87\xb0\x72\x49\x61\x7f\x02\x72\xd9\x7b\x65\x32\x75\x01\xf5\xde\x60\x8e\xe9\xed\x39\xc5\x2c\x4e\xdc\x15\x82\xb8\x09\xf3\x5a\x3c\xe3\xc5\x5a\x81\x16\x7e\xb0\x6d\x9e\xba\x69\x96\xbf\xa8\x04\x01\x0f\x30\x92\x9a\x2a\x28\x7b\x55\xf6\x03\x34\x4a\x01\x6d\x59\xd3\x64\x9c\x26\xa6\x44\x4b\xc4\x45\x7c\x36\x60\x36\xca\xde\xeb\x4d\x8b\x80\x4e\x6b\xc2\x2a\x6b\x90\x5a\x50\x5a\x5b\x04\xc6\x58\x33\x1b\xe5\xfa\xbf\xa7\x24\xdd\x51\xae\xed\xab\x66\x27\xf4\xf1\x44\xe6\xe9\x06\x86\x36\xfa\xca\xcb\xe9\xfb\xbb\x9e\xa9\xf4\xb2\xd3\x9d\x95\x3d\x03\x7b\x33\xe6\x29\x53\xd9\x78\x2d\xeb\xe6\x9d\x29\x72\xb1\x03\xf3\xe6\x4b\x44\x6e\x2d\x8b\x9e\x15\x5c\xdd\x6e\xbf\xa7\x2c\x57\x1b\xbd\x8c\xcd\xd0\x55\x0b\x29\x09\x75\x7b\x34\x1f\x6e\x70\x77\x2c\xeb\x2a\x4d\xf4\xf6\x8c\x89\xd9\x6d\x51\x01\x9b\xa0\x38\x24\x58\x3d\x0b\x0a\x58\x90\x8b\xfc\xe5\xac\x88\xb7\xbb\x85\x7d\x1e\xa3\x85\x3f\xa3\x2d\x40\x04\x97\x23\xe1\xa2\xfa\xea\x5c\xc3\xae\x63\x1b\x2a\x76\xbd\x1c\xa1\x53\x77\x22\x0c\x4b\x3a\xd4\x23\xb1\x0c\x04\xb5\xf2\x30\x64\x35\x7f\x5e\xc7\x98\x9e\x49\x8c\x2f\x77\x32\xb2\xed\x38\x8c\x70\x34\xad\x9d\xd4\x88\xf3\x84\x60\x56\xa7\x14\x54\x3e\x2e\x1f\x11\x03\x63\x0c\xac\x3b\x49\x00\xcb\xdb\x91\xc0\xd6\x7f\xcd\xb5\x22\x16\x43\x0d\x06\xc3\xc3\x4d\x14\xb0\x1b\xa8\x22\xcc\x19\xd4\x28\x9b\x24\xa4\x4c\x2b\x5b\x2c\xe3\xc4\x76\x92\x44\x69\xe2\x15\x80\x9d\x13\xa1\x47\xad\x49\xfc\x44\x98\x56\xc5\xec\x38\x9c\x63\xef\xd9\x41\x1f\x64\x65\xdf\x4e\xb2\xae\x9d\x6f\x19\xf2\x8b\xe3\x01\x83\x83\xcb\x8b\x87\x55\xef\x55\xa9\xb5\x37\xdf\xdc\xb7\xf1\xe9\xf4\x84\x88\xb5\x8f\xe7\x7d\xd1\x65\xb2\xf6\x99\x34\x7d\x0f\x21\xde\x66\x6b\x37\xb3\xe7\x8a\xcc\x41\x59\xcc\xc2\x3a\xe0\xbd\xfd\x3a\x54\x8a\x11\x4c\xc5\x00\x73\x2f\x80\xa9\x0e\xf8\x6d\xaf\x77\x49\x5e\xe8\xc6\xdd\x06\x2d\x87\xd2\x18\xb6\xd1\x32\x08\x03\x8c\xbe\x4d\xe7\xf6\xca\x4a\xf5\xc5\xf0\x85\x2c\x93\x2f\x0f\x68\xb6\xa5\x9c\x95\xc0\x80\x43\x02\xe8\x11\x5f\x8c\xe1\x82\x4a\x23\xdc\xbb\x82\x36\xb3\xb9\x5a\xd8\xfa\x87\x70\x2f\x16\xe4\x7d\xc0\x76\xac\x0a\x95\x28\xdf\x91\x71\x21\x58\xa2\xaa\x33\xe8\xc8\x5a\x6b\x2a\x9b\x74\x84\xf6\xb1\x82\x4a\xd8\x2c\x75\x91\x51\xa6\x94\xf4\x10\x27\xb5\x26\xc2\x1d\x30\x4d\x50\x8e\x72\x3c\x16\x0b\xf3\xac\x44\x4a\x34\xef\xc2\x49\x52\x9a\x17\x06\xe0\x03\x95\x95\x93\x1c\xe5\x35\xaf\xdb\x07\x6e\x24\x78\x44\xd6\x0a\xd5\xb8\x32\x1f\x34\xee\x22\x78\x05\x72\x38\xe6\xf3\x64\xd1\x2e\x77\xc4\xd7\x7e\x2b\xe1\x10\x57\x0d\xcc\x07\x51\x6c\xbc\x9b\x8a\x40\x84\x9b\x0d\x51\x92\x28\x15\x54\x2d\x86\xd6\x96\xda\x9e\x69\xdd\xdb\x2f\x2f\xec\x87\x6d\x0c\x15\xe7\xc8\xf5\xe7\x6c\xb7\x70\x4f\x09\x6a\x6a\x65\xd9\x29\xb4\x59\x6e\x9c\xaa\x69\x25\x4c\x5a\x13\x61\x1d\x4e\x5b\xbb\xa1\xea\x2e\x36\x1d\x9e\xad\xc1\x33\xe4\x63\x87\x80\xd6\x9e\xb0\xe5\xe2\x44\x6b\x18\xa1\x1d\xd0\xfa\x5c\x50\x2e\x6c\x0d\xa0\x36\x01\x9e\x33\xfc\x75\x38\xc7\x02\x27\x09\x49\xa8\x9c\x6d\x6e\x32\xff\xcb\x9f\x1b\x47\x7b\x61\x6a\x55\x99\xc1\xce\xf0\x57\x3a\x4b\x67\x88\xa5\xb3\x91\x95\x72\xb1\x7c\xf4\x61\x6e\x1d\x28\x87\x41\x6b\x73\x03\x2c\x40\x83\x08\x0f\xb8\x78\xc0\x3c\x08\x7b\x6b\xaa\xc0\xd1\x94\x92\x27\x00\xd8\x15\x8c\x48\x79\x86\xae\xb9\x22\xe7\xe8\x33\x9e\xf7\x41\x50\x33\xc5\x63\x27\xc6\xe9\x80\x25\xd2\x52\x6b\xca\xa8\x3a\x19\x30\x8b\x7b\xef\xa8\xf2\x21\xe2\xcc\x60\x1f\x47\x40\xd8\xac\x09\xb0\xa2\x3b\x10\x60\xe5\x52\x98\xa9\xac\x21\xb6\xc0\xcf\x43\x2f\x4e\x7d\x68\xf2\x80\xd6\xd8\xc7\x77\xf8\x39\x0f\xea\x36\x75\xa1\x9b\x24\x77\x1b\x1c\x68\x6b\x85\x19\xc8\x6f\x17\x44\xc5\x2d\xee\x4c\x56\xe5\xd0\x44\x6a\x7f\x47\xcf\xc8\x19\xfa\x31\xe1\x23\x79\x92\x9b\xaa\xcc\x43\x49\x94\x3c\x31\x7e\x3f\xf8\xb7\x49\xfa\xfc\xde\x51\x3f\xe7\xfb\x50\xe0\x73\x4c\xbf\x1a\xb8\x1b\xf9\x97\xf3\x0f\x1f\x66\x8b\xd3\x51\x1a\x3d\x12\xa5\xff\x02\x99\xa2\x92\x42\x0e\x2b\x0e\x57\x21\xcf\xad\xa2\xce\x32\x6a\x5d\xab\x1d\x69\x13\xe8\x24\x81\x0a\x09\xfa\x4a\xcf\x4a\x28\x3b\x90\x33\xce\xaa\xeb\xc3\xda\x29\x8b\xb4\xee\x78\x15\xa0\xd5\x5f\x46\x5b\x51\x53\x52\x42\x74\x1f\x27\x78\x52\x52\x59\xd6\x50\x52\x6e\x66\xd4\xee\x22\x3d\x77\x88\x3d\xd2\xa7\xac\x18\x71\xf9\xde\x79\x79\xc1\x5b\x6b\xbd\x58\x67\x03\xd6\x91\xe8\x99\x98\xca\xcf\x90\x7d\x0c\x4e\x9f\x94\xca\x69\x96\x7b\x0c\x66\x68\x68\xd4\x00\x5f\x1b\x7c\x14\xab\x38\x3a\xcd\xca\xb9\xc5\xac\x06\x8a\x13\x49\x4e\x74\xc3\x60\x52\x75\x41\xb5\xe8\x59\xe0\xf9\x9c\x88\x01\xb3\x20\xc6\x00\xd5\xcf\xb9\x0d\x98\xaa\x0b\xe7\x09\x1a\xe5\xcb\x6a\x94\x1e\xed\x49\x31\x35\x79\xd5\xf9\x86\x4c\xe6\x26\x0a\x57\x25\xe7\x3a\xf2\x69\x59\xb4\x6d\xd6\xc3\xeb\x9b\x8d\x5b\x8e\x79\x95\x76\xde\x29\xa5\xac\x40\x61\xf9\x19\x28\x90\x32\xaf\x9f\xeb\x6c\x7d\x99\xfa\x5e\x10\x73\x00\x03\x1f\x3e\x8e\x39\x91\x9e\x11\x1f\x65\xb6\xb8\x84\x8e\x89\x96\x3e\x06\x4c\x6f\x63\xdf\xe1\x60\xa0\xf4\x1d\xb2\xbe\xee\x34\x12\x5c\x4a\x9b\x85\x62\xda\x69\xce\x94\xdc\xa2\x6a\xa7\xa9\x07\xd0\xbb\xb9\x1e\x2e\xd7\xef\xf4\x9e\xb9\x4a\x9e\xf6\x61\x25\x9c\x46\x6d\x53\x2b\xeb\x76\xe6\xb4\x58\xa3\x72\xe7\x87\x8b\xab\x5e\x56\xae\xae\xd4\xf5\x72\xe9\x4e\xbf\x86\x42\x7d\xf1\xce\xe5\x19\x7b\x65\x3c\x4b\x4d\x34\x14\xf2\x5c\xbd\x58\xc5\xd8\xf7\x6d\x00\x32\x4b\x4b\xbf\x92\x3f\x14\xf7\xcc\xaa\x08\xd5\x1d\x2d\x53\xcd\xb5\x12\x81\xc0\xb8\xef\xc0\x05\x10\xbc\xf4\x5b\x52\xe1\xd9\xdc\x4f\xae\x76\x08\xc1\x76\x9a\xe6\xa8\xd5\x5d\x82\x2f\x5a\xb9\x20\xc2\x26\x48\xa8\x3c\xb8\xa5\xa5\x58\xcf\xe3\xd5\xb7\x05\x11\x76\x11\xd2\xff\x72\x68\x05\xc9\x22\x0f\x86\x94\x56\x76\x73\xc5\xf6\x6b\xec\xfe\x23\x92\x15\x7f\xa8\x5d\xd0\x6d\xd3\x91\x33\x90\x38\x41\xb0\xb4\xee\x6f\xc8\xda\x2d\xe5\xbc\xad\x61\x1e\xce\xc6\x6c\xf2\xfe\x4f\xb3\x72\x2b\xde\x55\x63\x2b\x08\x46\xee\x20\x52\x21\xc8\x13\x11\xb0\x77\x6c\x28\x15\x2b\x1e\x55\x9c\x08\x82\xe3\x85\x47\x91\x2c\x8e\xc3\xf4\x0c\xe6\x31\x49\x67\x5a\x81\x07\xd5\x84\xf1\x53\x3e\x77\x3a\x4b\xe1\x2d\xa8\x95\x43\xc7\xfa\xc6\xf2\xa2\x40\xf4\x17\xec\x94\x7c\xa5\x52\x69\xb9\xa2\x22\x04\xd6\x35\x02\x12\x0f\x54\xd0\x9b\x12\x7b\xc3\x0d\xde\x75\x7e\xbc\xb9\xeb\x77\x2f\x07\xef\xf2\x4c\x15\x97\x8a\x99\x61\xbf\xb9\x52\x1e\x9c\x0d\x58\x16\xa7\x9c\x41\x9d\xc3\x5a\x22\x1c\xc7\x79\x90\xb8\x55\x22\x8d\xcc\xd6\xc8\x91\xbd\x53\xb1\x32\x42\xb9\xa1\x99\x07\xc8\xc7\x3b\xd4\x93\xd5\xe0\x3a\x2b\x9c\x1c\x93\x55\xd8\x90\xfe\xb5\xa3\xcb\xc6\x47\x69\x56\x46\xd7\x26\xca\xc1\x88\x32\xf2\xec\x74\x25\xb8\x9d\x3f\x60\x73\x09\xaf\xc7\xed\xdc\x82\x6c\xb0\xa8\x1f\xe9\x57\x12\xdf\xd5\x48\x55\x3b\xc9\xee\x6a\x15\x60\x59\xb9\x0a\x29\xa3\xeb\x68\xfc\xd9\x54\x1e\xf4\x77\xed\xd9\xd2\x4d\x0e\xbe\x98\x03\x29\x03\x8a\xb2\x42\x18\x45\x44\x28\x4c\x19\x1a\xc3\xc1\x66\xd1\x02\x01\x34\x0f\x01\x1f\xf6\x9f\xd1\x8c\x32\xc0\x08\x69\x22\xed\x43\x71\x1e\x6b\x08\xad\x9f\x7b\xd7\x0f\xfd\x82\xa8\xfa\xd3\xcd\x43\xa1\x62\xe9\x65\xe7\xd7\x46\x59\xb5\xd4\x42\x53\xb0\x90\x37\xc5\x3c\x23\xd7\xe2\x49\x67\x94\xa9\x9c\x68\xb2\x50\xe4\xe1\xee\x6a\x2b\xf9\xae\xda\x59\x56\x5b\x0d\xc0\x97\xae\xaa\xa1\x10\xda\x7c\x1a\x93\x68\x15\x5e\x71\xfb\x7d\x64\xa2\xa0\x34\x1d\xac\x35\xd1\x62\x19\x62\x89\xe6\x58\x58\x3f\x54\x6c\x02\xa0\x8a\x35\x00\x8d\xe6\xd5\x84\x15\xf3\x89\xa8\x5f\xf4\xd5\xc7\xd9\x2e\x92\x4b\xac\x28\x0b\xfe\x51\x32\x7c\x32\x0d\xaf\x71\xd2\xec\x50\x1a\x32\x88\x9c\xb0\x0c\x3d\x20\xdb\x83\x8f\xb0\x72\x86\x60\xd7\x74\x74\x73\x40\x11\x17\xa6\xa9\x55\x52\xce\xf4\x8e\x34\xc0\xc9\x0e\x6d\xd9\x6b\x8e\x8f\xcd\xc7\x2d\xb1\x27\xbd\x64\x01\xdd\x56\x4e\x4a\xd4\xb9\xed\x55\xd0\xfa\xaa\xec\x42\x7a\x5b\x85\xab\x92\xcc\x9b\xb5\x6b\x38\x34\x2f\x55\xf7\x20\xf0\xcf\xec\x4c\xb7\x03\x3c\x33\x4e\xff\xdb\x62\x24\xc1\x21\xe0\x72\x57\xa9\x0c\x85\x14\xfc\x15\x10\xdc\xeb\x65\xa5\xe6\x64\x58\x13\xde\xcc\x1f\x90\xcd\xae\xf1\x21\xbd\x96\x43\xb7\x4f\x7c\x88\x2f\x6e\x4a\x63\xdb\xd8\x82\x9d\xc1\x9e\xe5\xb3\x69\x83\x7b\xf6\x8b\xd9\xd1\x19\x70\x0c\x40\xe1\xb8\xd2\xab\x2e\xe4\xda\xe2\x38\xf8\xd3\xf5\x77\xdb\x7a\x50\x69\xf9\xf8\x9c\xf9\xdb\xa2\xce\xe3\x39\xb6\x76\x07\x50\xa2\x5c\x4d\x94\xaa\x12\x9a\x67\x03\xe6\x05\xac\x48\xa3\xf6\xe8\x33\xe2\xca\x10\x41\x6d\x6b\x06\x10\xf6\x90\xfb\x94\x09\x3f\x85\x15\x28\xc3\x45\xa8\x69\xb1\x90\xd0\x52\x3f\xf6\x74\xca\x29\x76\xf9\x9d\xce\x82\x62\xe3\x00\x7d\xfb\x12\xb4\xe7\x95\x0e\xb1\x1d\x83\x39\x1a\x8c\x16\xd8\x2b\x4c\xe9\x01\x39\xc4\x9c\x48\xf6\x5e\x65\x69\xcf\x34\x59\xb8\x90\xea\x92\x7b\x40\x4b\x75\x98\xda\x96\x9b\x0f\xf8\x0e\x70\xd8\xd6\x55\x1c\xbc\x63\xb5\xd2\x4c\xe5\x7c\xbc\xb0\x13\xfc\x58\x24\xe8\xb4\xce\xaa\xfe\x75\x4e\xa2\x4d\xe0\x94\x6e\xb1\xc0\x33\xa2\x88\x68\x0a\x47\x2a\x96\x8d\x07\x11\xc7\xad\xa0\xed\xd7\xac\xa2\xa9\xa9\x53\x2e\xbe\x94\x69\xb7\x57\xab\xe0\x91\xb2\x59\xac\x0d\x7b\xf5\x8b\xb5\xfc\xaf\x39\x0b\xdb\x4f\x3e\x0d\x1b\x6d\xe5\xa1\x61\x6d\x3b\xa7\x97\x81\x05\xea\x2f\x01\xec\x14\xc2\x85\x0e\x04\x0f\x68\xf5\x28\xeb\x80\x80\x56\xf1\xd2\x9d\xf0\x6e\x97\xe1\xe0\x32\x93\x4b\x87\xaa\x90\x3b\x01\xbb\x04\x54\x2a\x83\x89\x53\x0d\xe6\x03\x42\x4b\x55\x84\xa4\xe7\xf6\xb3\x40\x96\xb9\x41\xd7\x4a\x56\xe5\x32\x72\x25\x72\xad\xe0\x71\xbb\x02\x3a\x09\x12\xcd\xae\x25\x9a\x55\x5b\xb9\x10\x5d\xab\x77\x27\x11\x25\xcc\x25\x5b\xde\xdd\xe2\x2e\x14\x27\x08\x29\x5d\xf6\x8a\xb4\x35\xa2\xe1\xea\xa7\x2c\xfb\x57\x91\x83\xbb\x4d\xed\x6f\xd5\xaa\x5c\xd5\x33\xcf\x05\x05\x1e\xa8\xc4\x97\x06\x6c\x5c\x0d\x8c\xd6\x84\x41\x1a\x2b\x7f\xef\xda\x38\xb0\x20\x67\x7c\xc1\x53\xf4\x4c\xe5\x14\x29\x3e\x60\x10\x27\x98\x79\x03\x14\x47\xe6\xc5\x13\x78\x0b\xd0\x25\x64\x3a\x9a\x51\x85\xb0\x37\xc3\x82\x49\xf2\xc4\x9e\x67\xfd\x01\xcc\xb8\x12\xbe\xa0\x0a\xae\x6a\xc5\xa1\xd9\xc0\xbe\x96\x37\xb2\x2d\x42\x81\x17\xd3\xbc\x5f\x8c\x02\x4f\xe3\xf1\x35\xcc\xca\x33\x17\x40\x0a\x50\xb5\xb5\xc1\xc2\x03\x03\x86\x33\x95\xaa\x74\xb7\x58\x43\xcf\x0a\x80\x82\x7c\x21\x5a\x21\x14\xe4\xaf\xef\x02\xa2\xa0\xae\x20\x61\x53\xca\xaa\xfb\xa4\xc6\xfe\xed\x52\xa1\x15\x77\x81\xf3\xbe\xa4\x74\x5b\x2b\x29\x1d\x1a\xc2\x5f\x9e\x10\xb0\x79\x78\x79\x5d\xf4\x32\x9c\xf1\x88\xb3\x98\xae\x11\x2f\x0c\x45\xe7\x46\xe9\xb8\xc3\x16\xab\x01\xa3\x66\x7e\xa0\xbe\xb5\x97\x78\x92\x48\x35\x54\xe9\x4a\x95\x35\x6f\xdf\xdf\xe9\x5e\x4a\x68\x11\x0e\x88\x94\x6f\x27\xc6\x15\xe4\xfd\x44\x2a\x59\x54\xe4\xa2\x0e\x58\xb5\x94\xd4\xcc\xb7\xb7\x4d\x23\xd9\x29\x5a\xa1\xc7\x23\xdc\x2c\xac\xd5\xed\x4b\x16\x88\x67\x14\x7a\x62\x41\x36\x4a\x62\x70\xee\x86\xac\x0b\xa0\xd2\xc2\xd1\x26\xb9\xe6\x15\x9c\xa3\x7a\xe8\x4b\x49\x1e\x2b\xcf\xae\x15\x0c\x76\xa8\x7e\x2e\xdd\x20\xad\x73\x62\x32\x39\xde\xde\x18\x36\xa8\x3b\xce\x6c\x0d\x25\x77\xf2\x26\x35\xaf\x01\x05\x78\xf7\xd8\xc5\xe0\x4b\x3a\x01\xe7\xb3\x1d\x35\x36\x81\x38\x59\xa5\x80\xd2\x6a\x14\xe6\x6a\x82\x29\xb7\x9c\x6f\x2d\x58\x9a\x9e\x72\x34\x5c\x86\x4c\x5b\x49\xa0\xdd\x20\x97\x95\xd1\x3b\x5e\x9f\x52\x35\xf1\xde\x6b\x16\x73\xf7\xfc\xc6\xc2\xc6\x6d\x53\xdf\x02\x04\x55\xdc\x6d\xb8\x6b\xe9\x46\xcd\x84\xf4\x94\xc5\x44\x30\x82\xd5\xf4\xe5\xb2\x65\x2e\xb6\x75\x33\x78\xe3\xdb\x6f\xe6\x8c\x1d\x29\x2e\x26\xd0\x6c\x33\xdc\x54\x4d\xd7\x4c\x44\x59\x23\xab\x23\xaf\xeb\xbe\x64\x02\xa8\x30\xff\x7a\x18\x4d\xeb\xec\xd2\xad\x12\x6a\xaa\xd5\xf2\xfd\xa4\x16\x55\xd8\xef\x96\x92\x8a\xf4\x69\xf7\xab\xe1\xaf\x20\xc9\x9b\xc8\xe1\xd9\x7f\x5a\x49\x53\xdd\xfd\xd4\xcb\x34\x91\x9a\xf6\x0a\x53\x66\xb9\x57\x53\x72\x89\xd6\x0d\x66\xb8\x2a\x9f\xe4\xe0\x33\x95\xde\x7c\xa2\x52\x48\x5b\x09\x69\x2b\x15\x6b\x14\xd2\x56\x10\x3a\xb4\xb4\x95\x55\x6a\x7a\x93\x21\x3b\xf3\xad\x42\x7d\xe4\x42\x51\x32\xb3\xbe\x2b\x74\xed\xcd\x53\x33\x9c\x2d\xd8\x8f\x6b\xb3\xbf\xd8\x1f\x2a\x43\xdb\x96\x3e\x2b\xcf\xd6\xb7\x4b\xb3\x45\xd9\xbd\x83\x45\x9c\x58\x98\x46\x1b\x78\x5e\xb4\x23\x36\x99\xbc\x07\xec\x27\xfe\x4c\x9e\x88\x38\x41\x58\xa1\x19\x07\xec\xaf\x3c\xce\x09\x0e\x42\xa1\x4c\x83\x89\x67\xc1\xe8\x1a\xcf\x48\x6c\x6a\xd4\x7a\xe1\xa9\xd6\xf0\x6e\x5d\xe6\x55\x68\xc4\x00\xac\x6b\x96\xc1\xc5\xbf\x0c\x98\x09\x19\x35\x61\x8a\x20\x2b\x50\x37\x31\xd8\x30\x7f\xc8\x1c\xfa\x7f\x38\x43\x7d\x7d\x3f\x51\x59\x1c\xaf\x07\x4e\x58\x37\xb6\x01\x9b\x08\x9e\xce\x33\x5b\x28\x1f\x99\x62\xe5\x26\x8a\x6d\xd9\xa1\x0f\x83\x71\xde\xfc\x08\xc7\x84\x45\x2b\xc2\x6a\x5e\x25\x9a\x78\x23\x28\x2a\x7f\x03\xe9\x63\x98\x85\x48\xda\x94\x05\xe3\x87\xf7\x00\x78\x9a\x8a\x4b\xec\x29\x48\xe0\x92\x48\xb0\x9c\x65\xde\x93\x02\x1e\x40\x51\x9f\xaf\x1c\x67\x93\x6d\x3b\xf3\x3f\x39\x1f\x4d\x35\x9c\x45\xde\xb9\x8d\xdd\x33\xc9\xc6\xf6\x9e\xd8\x9b\xd5\xbb\x75\x14\x74\x1d\xbf\xb8\x4d\xc5\x9c\x83\x24\x96\x2c\x1c\xfc\x86\x05\x42\x9c\xf3\x79\x6a\xe2\x13\xa9\x1f\xae\x56\xb9\xb3\xa9\x54\x9f\xb1\x8a\xa6\x9a\x73\xe7\xc8\x75\x3b\x8a\xdb\xcc\xb9\xf2\x7e\x2d\xe1\x15\x33\xb8\xf0\x7b\xaf\x71\x0d\x35\xed\x1e\x2f\x0e\x33\x0b\x76\xcd\x24\x89\x99\xee\xcf\xb8\x4f\x8d\x8a\xed\xdb\x8e\xdd\x27\xf6\x89\x9e\xe8\xaa\x5d\xb4\x6a\xfc\xed\xf6\x56\xb1\x46\xe2\xce\x23\x42\xb7\x30\x08\x5e\x5a\xe0\xb5\xfc\x45\x5b\x53\xbb\x26\x8c\x43\xd0\xcd\xb2\xb9\x6c\xe5\x8f\x27\x2d\x8e\x64\x56\xe9\x19\x9e\x6b\x25\x42\x71\x7d\x4b\x8a\x89\x91\x63\x4d\xbc\x33\xc2\x28\x15\xd4\x9d\xfd\x52\x6e\x7f\xfd\xee\x00\xdb\xde\x07\xbf\x4a\x5c\x84\xbd\xf2\xa0\x26\x70\x03\x47\x2a\xc5\x59\x80\x29\xec\x89\x84\xb2\x47\xdd\x99\xc1\x31\x70\x01\x12\xc2\x89\x77\x15\x6b\xba\x72\x63\x6f\xb1\xca\xb8\x0a\xa7\xb2\xd5\x49\xa3\x6c\xe2\x81\x5c\x56\x5b\xd2\xdb\xd4\x73\xa9\xfc\xb2\x5d\x4d\x9a\xca\x4f\x9d\xec\xb3\xc9\xb7\x0d\x20\x5c\xad\xc2\xfa\x5f\xbe\xb4\xc6\x2a\xf1\xb9\x90\x2d\x61\xc3\xa9\xad\xec\xe6\x83\x9f\xda\x8e\x00\x1a\x9a\x42\xb8\x07\x76\xb2\xdc\x77\x7e\x69\x09\x3d\xb4\xef\xff\x33\x7f\x08\xfa\xbb\xad\xfb\x53\xf1\xe2\x80\x71\x61\x5f\x3d\xc9\xde\xd3\xaf\xe5\x18\xce\x5a\x4a\x5c\xfe\x32\x47\x68\x15\x45\x2c\x47\x40\xb4\xb1\x58\x7c\x06\xc2\x3b\x2b\xbe\xa1\x07\xff\x98\x8e\x88\x60\x44\xcf\xc9\x61\x5f\x64\x3c\x78\x86\x19\x9e\x00\x60\xf8\x09\x04\x66\x82\x94\x9d\x6b\x50\xe6\x24\x9a\xc2\xba\xc0\x64\x35\x8f\xb7\xe9\xde\x79\x81\x79\xe8\xd3\x48\xe0\x16\xaf\x38\x8f\xee\xa9\x3e\xb4\x77\xb6\xff\xcd\x14\x8d\x7e\xe7\xfe\xe7\xe1\x5d\xf7\xfe\xe6\xe1\xee\xa2\xa0\x6d\x5c\x5c\x3d\xdc\xf7\xbb\x77\x95\xcf\xf2\x54\xe9\xbf\x3f\x74\x1f\x6a\x1e\xb9\x06\xae\x3a\x3f\x76\xaf\xfc\x57\xfe\xfe\xd0\xb9\xea\xf5\x7f\x1d\xde\x7c\x1c\xde\x77\xef\x7e\xe9\x5d\x74\x87\xf7\xb7\xdd\x8b\xde\xc7\xde\x45\x47\x7f\xe9\xbf\x7b\x7b\xf5\xf0\xa9\x77\x3d\x74\x51\xef\xfe\xa3\x2f\x37\x77\x3f\x7f\xbc\xba\xf9\x32\xf4\xba\xbc\xb9\xfe\xd8\xfb\x54\x35\x8b\xce\xfd\x7d\xef\xd3\xf5\xe7\xee\x75\xbf\x51\x7f\xaa\xa6\x46\x6d\xc1\x79\xef\xfe\xf5\x6c\x5d\x9e\x74\x37\x5a\xd8\x33\x41\xff\x09\x2e\x97\x5b\xb3\x45\x4f\x4f\xdc\x5f\x97\xb0\x77\x4f\x35\xe7\x76\x2e\xcf\x9c\xe9\x0d\x58\xe6\x37\xcf\x64\x01\x85\x27\xd2\x65\xbe\x17\x46\x7b\x8e\x3a\x70\xc8\x40\xcf\x29\x74\x0a\x89\x35\xd9\x48\x5d\xa4\x05\xec\xc3\x84\xce\x28\x04\x5d\xa0\x53\x54\x5e\xf0\x62\x83\x76\x4e\x30\x04\xeb\x92\x8d\x9b\x4e\x83\x2c\x27\xd5\xc3\x4e\x39\x47\xee\x62\x21\xc6\x0a\x62\xa0\x8f\x17\x0c\xcf\x68\x54\xce\x00\x02\xf4\x5f\x94\x23\xdd\x94\x5b\x2c\x6c\xb0\x62\xcb\x53\x82\x7e\xfe\x5b\x3e\x28\x70\xbc\x58\x83\x41\xba\x54\xdc\xd4\x3e\x10\xa9\xa1\xea\xaa\xed\x59\xe8\xc9\x1d\x73\x6b\x11\x87\x73\x6b\xec\xda\xc6\x4b\x96\x32\x0f\xed\xae\xe0\x32\xd3\xc7\xdb\xcc\xa8\xb4\xc7\xcf\xd1\x3d\x20\xed\xc8\xdc\xe2\xa0\x57\x71\x9e\xa4\x13\xca\x10\x9d\xcd\x13\xe0\x31\xc6\x0c\x31\x22\x53\xfc\x44\xb9\x2b\x4a\x63\x6a\xf7\x00\x1d\xad\x44\x88\x4e\x51\xed\x41\x39\x47\x9d\x38\x96\x45\x06\x57\xd8\x39\x8e\x8b\x9e\x16\x87\xed\x03\xd4\x69\xc6\x6a\xd9\x66\x69\x1f\xe5\x47\x0e\x28\xb6\x7b\x2c\xa1\x65\x76\x58\x14\x19\xb6\x90\x5a\x34\x05\x87\x6e\x2b\x0f\x37\x92\x61\xfa\x58\x3e\x3a\xd6\xbc\x4a\x8e\x71\xa8\x4e\xdb\xf5\x68\xe1\x9d\xda\x76\x9a\x51\x76\x08\x07\x6d\xb3\x3e\x6b\x41\xc9\x57\x74\xe9\x66\x9c\x94\xaa\x28\xb6\xee\xaf\x50\x85\xb1\xb2\xb3\x9d\x3a\xa9\xaa\x85\x48\x38\x92\xc3\x6c\xff\xaf\x31\x8f\x5b\xf8\xf4\x26\xfb\xb2\x51\xd2\x1c\x7a\x74\x5b\xd7\x75\xb5\x94\x23\x6e\xdd\x57\x8d\xfb\x70\x47\xe8\x62\xed\xa5\x48\x28\xa7\x42\x23\xf0\x52\x62\xca\x6c\x91\x2d\x92\xb9\xd1\x20\xa7\x20\x49\x80\xa9\x65\xd5\x3a\xf1\x88\x3f\x15\x74\xe2\x19\x91\x12\xd7\xe0\xe5\x78\x96\xbc\x6d\x18\x43\x76\x42\xed\x87\x2d\xf7\x93\x3b\x93\x7d\xfd\x55\x93\x8c\x7e\xe7\x2b\xf4\x6e\xa2\x5a\x86\x8d\x5d\xa0\x37\xba\x31\xe9\x9e\x9a\xbf\x9c\xe4\x71\x52\x5c\x78\xe1\x63\x75\x5e\xab\x96\xd6\xc0\x32\xc1\x2a\x6b\xa7\xf9\x9e\xc7\xf5\xc3\xab\xbc\xd6\x37\x06\x64\xb7\xee\x20\x5c\xa4\xcf\x1a\xbb\xae\xe0\xa6\xf5\x12\x71\x51\xc4\x67\x33\x23\x17\x14\x4c\xc0\x27\x08\x9b\x2c\xdb\x5c\x9a\x92\x69\x34\x35\xce\x31\x7d\x65\x9c\x0c\xd8\xb3\xb7\x20\x85\x38\xf4\x8e\xdf\x12\x80\xd9\x7e\xd5\xc7\x8d\x3e\x15\xa2\xfb\x41\x64\xa4\x10\x6a\xee\x6d\x04\xe3\xc7\xcc\x8b\xc2\xad\xd8\xe0\xde\x7a\x6d\xb1\xd5\x37\x28\xdb\x5a\xa2\x6f\x5d\xf1\xd6\x6c\x6e\x5e\xcd\xd4\x2d\x14\xfc\xb6\x43\xf0\xca\xb6\x56\x8d\x60\x07\x55\x5b\x5f\x14\x5d\x3e\xcb\x16\x36\xc9\xe5\xb3\x91\x85\x48\xd1\xd3\x75\xd4\xfe\xa3\x9b\xd1\x1f\x8d\x22\x9c\xd6\x60\xea\x78\xad\x65\x00\xf3\xe8\x54\xcb\xac\x0e\xeb\xc1\xc6\x8f\x48\x74\x6a\x40\x2b\xdf\x43\xa0\x6f\xe7\xb6\xf7\xfe\x04\xbd\xf7\x93\x1d\xdf\x1f\x8d\xe9\x22\x3f\xfe\x96\x6a\xb6\x6e\x2c\xe8\x72\x85\x7c\x9b\xe2\xa1\x87\x9d\x52\xe2\x03\x76\xc7\x58\x36\x80\xea\xb8\x80\xfe\xb2\xf0\x0d\x78\xf4\xa1\xa4\xa6\x71\x7a\x67\xd1\xfe\xd6\x6f\x66\x24\x6c\x2a\x2b\x56\x2e\x1e\xb0\xd1\xa2\xec\x19\x3b\xc9\x5c\x63\xad\x79\xc4\xd6\x65\x22\x75\x7b\xcb\xb9\xf9\x3b\x8e\x42\x6f\xbe\x8d\x56\x64\xfb\x77\xb2\x5a\x46\x39\x0f\xad\x0b\xed\x08\xe9\x1b\x55\xb3\x2a\x98\xf9\x1c\x31\x2b\x17\x65\x95\xf4\x75\x6c\xdb\xad\x45\xce\x43\xa7\x8a\x22\x36\xdd\xa5\x46\xb4\x0f\xbb\x6c\xbf\xbb\x6c\x17\xe9\x3e\xc5\xc1\xad\x7f\x7d\x5f\x18\x29\xd2\x6b\xc6\x99\x7b\xb5\x2a\x93\x31\xf8\x42\x2d\xd1\xd5\x95\xd3\xd7\x74\x94\x7b\x34\x59\xed\x29\xbf\x37\xd1\x16\xc6\x57\xbd\x3c\xd6\xf2\x50\x3b\xca\x56\xe0\xe2\xd4\xa4\xf6\x2a\x3a\x23\x27\xa6\xe4\x5b\x1e\x21\x62\xcf\x2b\x6c\x37\x13\xd8\x35\x25\x54\xb8\x4e\x2c\xc0\xe6\x5a\x58\x10\x6b\xea\x02\x75\x7b\x64\x8b\xf0\x9c\xeb\xce\xe7\xee\xe5\xb0\x7b\xdd\xef\xf5\x7f\xad\x00\x4f\x2d\x3e\x76\xf8\xa9\xde\x0b\xf7\xbf\xde\xf7\xbb\x9f\x87\x9f\xba\xd7\xdd\xbb\x4e\x7f\x05\xb6\x6a\x53\x67\x75\xb8\x9d\xa9\xac\x52\x1e\xd7\xc1\xee\x74\x46\xe6\x8a\xde\x97\x11\x56\xbd\x4e\x28\xa9\x41\x59\x35\xb8\x17\x2c\x26\x02\xc5\xe4\x89\x24\x7c\x9e\x1b\x75\x2b\x09\xe6\xc1\xaf\x56\xb4\xdf\x04\xc1\x0a\x6d\x96\x69\x7c\x8e\x4c\xfd\x48\xaf\x84\x76\xd6\x20\x88\x7c\x58\x10\xf6\x5e\x21\xf2\x75\x9e\xd0\x88\x2a\x2f\x2f\x96\x0b\xeb\xdc\x31\x3e\x57\x08\xe9\x5d\xb1\xb9\x76\x16\xc2\xb3\x73\x8b\x83\x1f\x7e\xb0\x6c\x6b\xc8\x4e\x54\x06\x07\xb8\xb2\x7a\xd6\x0e\xcc\x0a\x35\x9e\xf6\x25\xb4\xc2\x0d\x46\xb7\x0f\xe3\xc4\x72\xf2\x97\xcd\x6d\xad\x41\x32\xac\x1e\xe4\xea\xdb\xb0\x29\xb8\xa8\x70\xae\x9b\xa3\x8b\xda\xed\xd4\x57\x8e\x11\x2a\x14\xeb\xdd\x01\xec\x8c\x0d\xf8\x5f\x33\xca\x63\xa9\x58\x12\x33\x81\xba\x18\x09\x32\xe3\x4a\x2b\x60\x26\x8c\xe2\x44\x0b\x55\x14\x27\xf4\x9f\x00\xd0\x26\xc8\x99\x17\x76\xe2\x60\xed\x72\xe7\x85\x05\x4f\x39\x1b\xb0\xcb\xee\xed\x5d\xf7\x42\x33\xa4\x33\xf4\x20\x01\x7b\xad\x30\xf5\x4b\xbb\xbd\x8d\x38\xe6\x87\x7f\xd8\x1c\xb2\xba\xa0\x5b\x21\xb8\x68\xcf\x1f\xb2\xfe\xba\xf0\x5d\xf5\xf6\x86\x67\x05\xcb\x98\x33\x3f\x5c\xd7\x56\x5a\xf7\x12\x2d\xb6\x8f\xed\x29\x9f\x08\xfc\x5c\xa0\x88\x8f\x3d\x03\x92\x48\x91\xea\x7b\xa4\xb6\xde\xec\xeb\x23\xef\xe4\x49\x24\x3b\x9d\x66\x8d\x77\x62\x8a\x97\x21\x8e\x5b\x16\xcb\xbe\x85\x6f\x9b\xc6\xd8\x87\xd0\x49\xa9\x72\xb4\x5e\x03\xe8\x9b\x55\xa5\x6a\x35\x46\xa9\xb0\x78\x0d\x28\x9d\xd2\xe9\x1c\x91\x09\x66\x48\xa4\x8c\x95\xe0\x9b\x7d\x53\xe4\x72\x30\xd4\xca\x81\x56\xd0\x0c\xcf\x78\xca\x4c\x59\x65\x3d\xaa\x8a\xc1\xc8\x39\x61\x6a\xc5\x60\x5e\x0b\x28\xa9\x34\xd4\xc3\xc5\x4a\xaa\x18\x68\x1d\x5c\x52\x95\xc3\x0d\x2a\xce\xaf\x27\x39\xb8\x60\xcb\x82\xd7\x4d\x1f\xaa\x4c\x84\xa8\x36\x04\x60\xf9\xb8\x75\x77\x7d\x2c\x1f\x57\x77\x15\x93\xe8\x71\xdd\xfb\xb0\x9c\x71\x9b\xd8\x82\xfd\x4b\xf6\xc8\x85\x7e\x6a\x4b\x27\x4d\x09\xd2\x7d\xa1\x9f\xfa\x9f\xaf\xd0\x98\x6a\xd1\x5c\xdf\x7c\xd7\x58\xab\x01\x0f\x22\x71\x86\x73\x6b\x7c\x4e\x45\x92\x89\x07\xb0\xf0\x4e\xda\xf3\x04\x19\x7d\xe9\xe2\x09\x71\xd6\x70\x61\xd1\x30\x4b\xa5\x93\x04\x66\x31\x9f\x99\x79\x7c\x90\xe9\x78\x4c\xbf\x9e\x29\x2c\xbe\xaf\xa1\x87\x09\x3b\x19\xfe\x83\x8f\x86\x7a\x44\x5b\xca\x0a\x55\xcd\x21\x5b\x47\x3e\x23\x9b\x9d\xd9\xa5\x79\xf7\xff\xf0\x11\x20\x3d\x00\x58\x85\x73\x5f\xda\x50\x0e\xfb\x8a\xdb\x49\x79\x61\xf5\x02\x08\x51\xc4\x85\x20\x16\x20\xc2\xd4\xfe\x9d\x63\xa1\x28\x18\x94\x1d\x88\x51\xa1\x7a\x45\xbe\x44\x32\x1d\x65\x4a\xfa\x14\xe7\x48\xf1\x23\x42\xc0\x03\x36\xa7\xc9\x7a\x7a\xf9\x45\xc1\x79\x5b\x3a\x81\x36\xa2\xd8\xe2\xda\x82\xcd\x68\xa5\x14\xd8\x7d\x22\x4c\xed\x44\x85\x82\x26\x2a\x20\x2b\xda\xb9\x61\x4c\x09\xde\xde\x65\x7e\xb9\xb9\x50\x6d\x3f\xec\x4b\x09\x0c\x77\xb4\x4d\x80\xb3\x31\x07\x75\x91\x10\x4f\xad\x9d\xeb\xf0\xea\x32\x5d\x56\xa4\x3c\x58\x6a\x43\x89\xfb\x52\xb8\xb2\x2b\xbd\xb1\x21\xd0\x96\x24\xc6\xd0\xe2\x01\xbc\x58\xfd\xb9\xbc\xe6\xa6\x4f\xbd\xb7\x4a\x5d\xae\x5c\xf2\x0d\x50\xa5\x0a\xcd\x7c\x22\x20\x65\xed\x22\xc1\x60\x1d\xdc\x0a\x18\xc8\x83\x48\x20\x34\xbe\xd1\xd0\x46\x27\x8c\xc4\xc0\xf9\x32\xe1\x13\xb7\x50\x23\xcc\x60\x1a\x70\x27\xb4\x58\x6a\x71\x1d\x9a\x05\xd8\xb5\x64\xd7\xbd\xcf\xcb\x53\x8f\x1a\x26\xe6\x10\x28\x5b\x88\xe6\xbb\x42\x1b\x29\x23\x69\x78\xf4\x05\x2b\x37\xd8\x3a\x8b\x8a\x2e\x70\xf8\x85\x09\x2c\x06\x6b\x17\x2e\x5c\x64\xf4\x9f\x9a\xfd\x0a\x22\xa7\x3c\x89\xeb\x27\xbc\x8c\x1d\xb2\x53\x4d\x64\x9d\xf9\x3a\xb2\xef\x77\xc2\x9e\xde\xb8\x62\xc6\xfb\x03\x4a\xc9\xde\xda\xcd\x5c\x77\xa8\x20\xb7\xd4\x1c\xf3\xd7\xf6\x39\x03\x27\xe9\xd4\x65\x42\xb4\x90\x58\x4b\xd2\x4d\x41\x78\x6d\x13\x08\x90\x07\x3e\x59\xa4\x6b\x2b\x35\xd9\xa1\x81\xfc\x93\xdb\x79\x7d\xd4\xc9\xdc\x6f\x96\xab\xa9\x0b\xe3\xf8\xcf\x3e\xcf\xbd\x17\x79\x12\x0f\x55\x32\xaf\xf7\x89\xb4\x14\x55\x77\x20\xf5\x3c\x87\xa9\x58\x0b\x44\x26\xaf\x17\xb1\xce\x9d\x6c\xd3\xc7\xf2\x61\x69\x22\x54\x5f\x84\xb6\x8c\x0f\x28\x48\x36\xca\x4e\x16\x30\x38\xed\x21\x37\x64\xac\x54\xde\xeb\xaf\xdb\x6d\x7d\xba\xa0\xff\xe4\x42\xea\xbe\x5c\xbb\x85\x1d\x58\x98\x40\x40\x75\x5c\x1f\xd5\xd1\xd6\x74\xca\xf6\x1e\x60\xb0\x2a\x01\x50\x1d\xb9\xf7\xb6\x2c\x12\x5a\x8f\xcb\xaa\x5c\xc5\xc2\xea\xb4\x4a\x4c\x2c\x7c\xa1\x79\xc9\xe5\x96\xee\x5f\x3d\x99\xc5\x10\x52\xbd\xb7\x09\x40\x2b\xcc\xdf\xb8\xae\xa0\x4d\x12\x23\x83\x37\x62\x30\xe7\x2d\xed\x32\xb7\xdd\x1c\x0b\xc2\xd4\x80\xdd\xe9\x51\x98\x2f\xf2\x30\x20\x17\x82\xe6\xea\x80\x40\xb5\xf0\x31\xc2\xf6\x2b\x20\x7a\xdd\xe5\x29\x87\xe6\x25\x30\x3a\xec\x11\x16\xe3\x47\xf3\x8e\x41\x29\xb1\x28\x5d\x7a\xaa\x74\x9c\x1b\x68\xb4\x6a\x10\x4d\x29\x80\x84\xc4\x44\xda\x0b\x89\x2a\x8b\x02\x93\x29\x56\x29\x71\xc8\xf7\xf0\x59\xc6\xbf\xaa\x18\xb6\x33\x01\x31\x67\x36\x95\x03\xe6\xf5\xd1\x00\x94\x6c\xcc\x30\x1b\x2a\x89\xb0\xce\x34\xce\xbc\xae\xf0\x4f\xb3\x42\x5c\xd0\x09\x65\x5e\xb9\x3a\x3b\xbd\x19\x9e\x83\x6f\xc1\x9c\x41\x3e\xce\xee\xb4\xbe\x4d\xb0\x39\x83\x11\xff\xdf\xff\xfa\xef\x33\x5a\xe7\x7a\x93\x43\x4b\x81\x43\x58\xc9\xf5\x96\xc5\x5f\x79\x0f\xf7\xa7\x06\x4f\xc6\xb3\x56\xc8\x42\xd2\x50\xfe\xab\xbd\xdc\xf4\xa6\xe1\x6a\x6a\x62\x0d\x8a\xdb\x1d\x1c\x73\x22\x6d\x38\x1b\xe6\x8a\x79\x5d\x5a\x52\x09\x89\x31\x7a\x24\xe6\x24\x67\xa6\x1f\xca\x14\x61\xb6\xcc\xdd\x92\x01\x6e\xc0\xf2\x4f\xa4\x41\x30\x32\xc0\xda\xe6\x87\x9c\x3a\x2d\x09\xd3\xc4\xfb\xf3\x30\x9d\x3c\x16\xc3\x0b\xc4\x77\x85\x8b\x4c\x00\xb5\x6e\xbf\x74\xd3\x96\x38\xb7\x87\x30\xbb\x4d\xc0\xf2\x14\xcb\xfd\xc5\x85\x55\x16\xdc\x33\x7e\x12\x5f\x78\x58\x15\x21\x66\x06\x69\xf2\xb3\xf5\x82\xa4\x92\x08\xc3\xe9\x32\x00\x3b\xbb\x13\x7c\xfc\x5c\x08\x4f\x5e\xe1\xe8\x26\x33\x4c\xd7\x4a\xa5\xd1\xef\x57\xa3\xfb\x16\xdc\x48\x78\x42\xc4\x30\x4e\xd5\xd2\xb1\x68\x4a\x6f\xd1\x1f\x5d\xa6\x6a\xb1\xba\x7d\x99\xe0\xe5\x82\x63\x4d\x88\xca\xfa\xfd\x9a\x66\x57\x4b\xcc\x5e\x7c\x59\x51\x6a\xae\xc1\x2b\x26\x25\xbc\x62\x1b\x6e\x5d\x30\x7e\xc1\x0d\xcc\x14\x80\x60\xe6\x9a\x94\xbd\xa2\x4d\x55\x05\x18\x39\x1a\xa5\xb9\xb1\x30\xab\x53\xa3\x55\xe2\x8f\xa6\xd0\x13\xe8\xe4\x66\x00\x11\xe4\xba\x91\xaf\x73\x2e\x49\x21\xf9\xb2\xa2\xf6\x8c\xcd\xba\xb6\xc3\xa8\x16\xd6\xf3\x8f\xb6\x97\xd5\x5f\x1d\x79\x7a\x79\xc1\x97\xa7\x5c\xbd\x03\xb7\x12\x07\x23\x3a\xa7\x7a\xef\x0c\x2b\x4f\xda\xfe\xea\x9f\xe7\x01\x85\x80\x5c\xa7\x92\xc5\x09\xca\xa6\x57\xda\x10\x09\x79\x22\xe0\x28\x81\x31\xfa\x15\x86\x8a\x16\xdb\x1a\x76\xb2\xea\x00\xe5\x99\xcf\xc0\x16\x50\x5c\x1e\x41\x31\x3f\xb4\x6a\x2f\x16\x33\xdf\xb6\x4e\xd2\xac\x8a\x8a\x5a\x43\x3c\xef\xf8\x95\x96\x16\x44\x21\xf2\x55\x11\x5b\x8b\xb9\xef\xd2\x68\x97\x33\x6f\x50\x75\x26\x60\xbd\xec\xb8\xf7\xaa\xf8\x1d\x87\xba\xe0\xf2\x84\x63\x77\xe5\xdb\xbc\xd9\x29\x66\xb1\x4d\x06\xb7\x4a\x86\x16\xb6\x60\x76\xc6\xda\x96\xa5\xc9\xd8\x94\x66\xaf\x44\x85\x69\xd3\xd4\xd2\x80\x8b\xcc\x29\x8c\x5a\x65\x81\xd8\x1e\x2e\xb4\xe4\x9e\x32\x45\x13\xbd\x39\xec\x18\x24\x1a\x43\x58\xa6\x85\x16\x85\xb4\x8a\x3a\xf4\x4a\x2a\x25\x65\x93\xa1\xa5\xa4\xcb\x6b\x6e\x77\x31\x14\xf7\xd4\x67\xd3\x94\xf9\xf1\x47\xd7\x50\xb3\xbb\xc4\x6c\x6b\x40\x16\x74\x19\xd5\xa0\x71\x30\xee\x26\x63\x21\x21\x5d\x22\xf6\x90\xc6\x86\x14\xd4\x94\xfc\x87\x89\xae\xe3\x51\x01\x99\x6e\x19\x79\x25\xbf\x42\xa4\xcd\x92\x36\xb9\x8f\x90\x26\xa2\x6a\xd2\xc0\x65\x6d\xfa\x77\x8f\x65\x22\x9a\x2d\x38\x98\x81\x5c\x94\x32\xc9\xb1\xeb\xce\xe6\xc2\xe0\x24\x19\xe1\xe8\x31\xd3\xc2\x32\x5b\x04\x17\xae\x60\x8b\x96\x2b\xa1\x22\xa5\xd9\x5c\x7a\xa0\x11\x48\x37\xbe\x1f\xd8\x60\x6f\xd9\x61\xe7\x9d\x1b\xaa\x59\x50\x43\x03\xb6\x66\x46\x6f\x12\x6b\x62\x32\x4f\xf8\x62\x56\x73\x9f\x95\xb3\x67\xb7\x09\x13\xab\x4b\xde\xdd\xe9\x55\x56\x62\x7a\x6b\x5f\x66\x4b\xa9\x78\x3b\x40\x82\x5b\x83\x4b\x7e\x4a\xf8\x08\x4c\xaa\xd6\xfc\xe0\xd2\xcb\xbc\x3c\xa3\xf2\x79\x5e\x37\xe9\xad\x7c\x22\xa9\x9c\x27\x5a\x99\xa9\xef\xc1\x24\x3c\xed\x77\xdd\x0c\x3c\xc7\x6a\xeb\x60\xfb\x54\x81\xca\xcf\xf7\x81\x39\x7e\xe5\x24\x01\xf3\xae\xe1\x5f\x25\x2b\x9b\xc9\x73\x3d\x33\xe1\x07\x8a\x0f\x98\xc2\x13\xb7\xb8\x56\xb8\xe4\xcf\x8c\x08\x39\xa5\xf3\x42\xa5\xda\xad\x73\x13\xec\x8e\xb6\xff\x67\x22\xf1\x2b\xdb\x3c\xc0\xbc\xc1\x3e\x9f\x9f\x1a\x68\x20\xbd\x3b\xe5\x1c\x47\xb9\x4d\x36\x4a\xb0\x94\x74\xbc\xf0\x10\x7d\xb2\x20\x73\xc8\x9b\x2c\x1a\x31\xbc\xd2\x94\x55\x6c\xce\x50\x67\x37\x90\x16\xdb\xa7\xf3\x3e\x14\x0f\x3f\x8d\x7d\xc4\x47\x7d\x9b\x2d\xe3\x3e\x39\x39\xc1\x52\xbd\x16\xb9\xda\x60\x77\x6c\x06\x41\xd1\x16\x2c\x6c\xcf\x3b\xa9\x22\x07\x78\x69\x23\xe5\x50\x75\x99\x1c\x6d\x69\x66\x75\xb8\x0c\xe6\xc7\xc7\xce\x52\x85\x04\x6a\xd8\x79\x5a\x67\x74\x26\x71\x7d\x2e\x33\x88\x20\x40\x52\xc9\x3f\x3e\x41\x72\x2b\x44\xc0\x36\x9b\xf2\x92\x24\x64\x27\x99\x0e\x1b\xec\xd0\x72\x8c\x8e\xb7\x37\x1b\xf7\x65\x5e\x37\x66\xb5\x5d\x65\x83\x04\x8c\x1a\x80\xae\xea\xa1\x7f\x31\x03\xb5\x39\x18\x55\xab\x08\x36\x51\xa0\xf2\xea\xd1\x1e\xd2\x2e\xf7\x82\x86\xcc\xf0\xed\x7e\xcf\xe7\x58\xd8\xd4\xf9\x8c\x33\x39\xf1\x10\xf7\xf9\x2b\xe7\x49\x2c\x8d\xeb\x13\x69\x13\x30\xb5\xf2\xf4\x6d\xc4\x7b\x97\x6f\xa8\x76\xfb\xc2\x3a\xae\x15\x47\x13\x02\x30\x50\x94\xc5\xf4\x89\xc6\x29\x4e\x8e\x6a\x4f\xec\x2c\xcb\x6b\x47\xd4\xaf\xe6\x30\xad\x2c\x3d\x79\xa4\x2f\x51\xd2\xdd\x47\x4b\x80\xb3\x76\x71\x0e\x70\x09\x0e\xe3\x58\x1a\x85\xe1\xcd\x4b\x6c\x5b\xe3\xb2\xd8\x91\x59\x74\x92\x20\x4a\x16\x2e\xd9\x7c\xec\xbb\x97\x26\x0d\x8d\x63\xfb\x45\x86\x45\x52\xc0\x00\xc4\x05\x28\x55\xb3\x46\xaf\xcf\x75\xcb\x47\xeb\xad\xcb\x9d\xeb\x9f\xb1\xf2\xa8\xf2\xd3\x15\x84\xe1\x43\x38\xa7\xed\xe5\x61\x87\x7e\x7c\x80\xc2\x4f\xdd\x31\x3c\xcc\xfb\xf7\x00\x84\xe3\x25\x91\x60\x77\x22\xf2\x11\x6d\x93\x83\x90\x94\x97\x96\xe2\xa5\xe4\xe5\x53\x07\x2c\x97\xc3\xb4\x1d\xee\x12\x1d\xc6\x49\xbe\xb3\xee\xc7\xfd\x5d\xf0\xab\xf7\xcb\x4e\xf6\x07\x60\x2c\x63\x00\x83\x48\x6d\xad\x29\x38\xbc\x5e\x0c\xe7\x92\xcf\x6b\x45\x74\xac\x1d\x5e\xab\xb8\xd8\x25\x72\xee\x63\x79\x6d\x5a\x6d\xeb\xc5\xdd\xe7\x56\x5b\x77\x2c\xbb\xd0\xd1\xf6\xec\x3d\xb4\xbb\xd1\xfb\x20\x04\xa9\xb7\xbb\x45\x2b\xf0\xc4\xdc\x92\xed\xf2\x90\x55\x15\x08\xdd\x1e\xbb\xc4\x65\x0d\x0f\xe7\x82\x8c\xe9\xd7\x8d\x54\x81\x5b\xf8\xd4\xaa\xd7\x9a\xcc\xa5\x92\xa3\xe0\x16\x84\x12\xa5\x5e\x20\xad\xa5\xb4\x2d\x4b\x38\x60\x79\xae\xb5\x4d\xb4\xd6\xc2\x30\x17\x85\x9f\x36\xc5\xdd\xdd\x7d\x79\x54\xb3\xae\x53\xa5\xe6\xf2\xfc\xc3\x87\x09\x55\xd3\x74\x74\x16\xf1\x99\xc9\xff\xe0\x62\x62\xfe\xf8\x40\xa5\x4c\x89\xfc\xf0\xe7\x3f\xfd\x29\x5f\xe2\x11\x8e\x1e\x27\x06\x4b\x6c\xd9\xdf\x59\x5c\x72\x82\xe5\x76\x11\x65\x2e\x29\x76\xcf\xe0\x08\x5e\x37\x2e\x1d\x5d\x7f\x23\x15\x9e\xcd\xfd\x10\x64\x53\x60\x54\x2a\x9c\x97\x35\x82\x4c\x67\x3d\x4d\x34\xc5\xf3\x39\x61\xf5\x66\x17\x93\xba\xbe\x05\xeb\x71\xc9\xef\x76\x84\xe4\xeb\x3c\xc1\xac\x88\x39\x03\x35\xfa\x04\x89\x08\x53\x16\x6c\x44\x09\xcc\xa4\x09\x6e\xe1\xc2\xe1\x9e\x19\xfe\xbf\x5e\x72\x33\xcc\x91\xca\xbc\xf8\xa6\x1b\x8e\x2d\x84\xed\xca\x23\x63\x8f\x74\xe5\xe2\xe3\x39\xed\x88\xa3\x5a\x53\xda\xf3\xbd\x2d\x34\xb8\xcd\x0e\x8a\x04\x67\x43\xf2\x55\x33\x39\xb9\x29\x4a\xe1\x83\x24\x12\x75\xbe\xdc\x23\xb9\x60\x0a\x7f\x3d\x47\x9f\x29\x03\x01\xf6\x27\x9e\x0a\x89\x2e\xf1\xe2\x94\x8f\x4f\x67\x9c\xa9\x29\xfa\x0c\xff\x6b\x7f\x7a\x26\xe4\x11\xfd\x4a\xb0\xb0\xfc\xc1\x16\x2f\x75\xf5\x13\x61\x0b\x89\x94\x49\x44\x9e\xf4\x09\xfd\xd3\xff\x42\x33\xd3\xf2\x39\xfa\xe1\xc3\x9f\xfe\x17\xfa\x03\xfc\xf7\xff\x41\x7f\xa8\xb1\x34\xac\x87\x73\x08\x35\xee\xef\x6a\xc3\x08\x80\x52\x72\x99\xe4\xab\x9a\xbd\x10\x3c\x5f\xa9\xca\x96\x1f\x69\xf4\xc8\xc7\xe3\xa1\xde\x18\xb6\x86\x3f\xde\xca\xec\xe0\x43\x56\x43\x7b\x59\xcd\xd3\xbc\xda\x98\xed\xd4\x60\xc8\x38\x76\x2d\xd3\xdc\x3c\x01\xc1\x6b\x85\xba\xf7\x54\xc2\x57\x24\xd6\x5c\x75\x9d\xd3\xe1\xac\x8b\x0e\x4e\xc2\x59\x90\x7c\x58\x28\x27\x10\x17\x02\x4e\xfd\xe8\x69\x13\x60\x66\x09\x59\x79\x1c\x96\xc2\xba\xdf\x4c\xac\x2e\x4c\xed\xb5\xe2\x74\xe5\x52\xe7\xab\x43\x74\xef\xb9\xd8\x4a\xdf\x7a\x24\xb5\x29\x34\x2b\x2a\xeb\xb9\x6a\xef\xd8\x37\x6a\x28\x8e\x24\x17\x19\x74\xbc\xb1\x8b\xd8\xfa\xbb\xab\xad\xa8\x54\x98\xa0\xc6\x76\x87\x5e\x4f\xfd\x32\xfb\x64\xd5\x30\x21\xc2\xd1\xbd\x9d\x57\x16\x85\xd1\x6a\x11\x49\xb3\xc4\x8a\x11\x57\x20\xbc\xae\x5a\xd0\xfb\x0c\x31\x07\x1a\x87\x70\x5b\xc8\x1b\x62\x4e\xb2\xb5\x90\x24\xd5\xeb\x99\x8a\x88\x5c\xf0\xed\xc2\xad\x13\xca\x96\xf2\x34\x6a\x83\xdb\xea\x65\xf2\x2b\x5b\x9e\xd0\x81\xa0\xf3\x38\x57\x16\x8c\x5b\xc2\x16\xfe\xf1\xd0\x97\x8b\xb3\x01\x14\xcf\x5d\x00\xfc\x2e\x95\xa3\xd9\x82\x6b\x1b\xc3\x75\xce\xf0\x5c\x35\xa3\x52\x11\x23\x81\x35\x2f\x6c\x88\x99\x84\x70\xb2\xad\xc7\xe1\x15\xe6\xca\x63\xd4\x0a\x25\xb2\x61\x24\x90\x6f\xb9\x21\x40\xb3\xa9\x91\x77\x82\x04\x86\x60\x60\x35\xd5\xed\x49\x22\x4e\xc7\x38\xa2\x6c\x72\xe2\x61\xf3\x02\x08\x8d\x7f\x1d\x54\x6d\xd2\x3e\x96\x8f\xbb\x0d\x70\xdd\xba\xd4\x31\x8d\xf3\x72\x9b\x16\xaa\xca\x38\x56\xe8\x12\x30\xa9\xc2\xf2\xb1\x0e\xab\x6d\x09\xcb\xb2\x61\x74\x19\x29\x1c\x02\x66\xd3\xf8\x1c\xf4\x01\xf1\xf5\x29\x28\x93\xe3\x8a\xef\x5b\x64\x5b\x97\x69\x8a\x33\x5c\xa7\x32\xa4\x73\xc3\xf8\xe5\x94\x0b\x35\xdc\x10\x0c\xbb\xec\x52\x61\xe4\x34\x01\x88\x28\xfe\x44\xc4\x13\x25\xcf\x45\x4c\xe9\x75\xf6\xa2\x31\x9a\x79\xf1\x94\x00\x3a\x3c\x9b\x73\x48\xdd\x1a\xa3\x19\x66\x0b\xc3\x28\x35\x73\xc1\xf2\x51\x66\x25\xbf\x91\x9c\xe1\x24\x39\x41\x82\xa4\xd2\x94\xc2\x97\x24\x19\x9f\xba\xea\x43\x31\x4a\xf8\x84\x46\x38\x41\xa3\x84\x47\x8f\xd2\x64\x56\xb2\x89\x61\x52\x73\xc1\x23\x22\xa5\x27\x59\xe5\x28\x0a\x36\xb7\x15\xea\x7d\x2b\x22\x66\x94\x51\xa9\x68\xe4\x44\xa6\x1c\xe6\xa6\x0f\x69\x18\x11\x06\x93\x30\x64\x0a\xc3\x70\xb5\xa4\x47\x0c\x22\x71\xca\x6c\x9d\x3a\xb8\xae\x2d\xd0\xa8\x4b\x4e\xa8\x3b\x40\x3b\xc0\x4d\x75\x3b\x64\xa8\x8a\x07\x72\xc5\x91\xba\xb0\x9f\xc1\x31\x6e\xda\x02\x77\xc5\x13\x95\x6d\xc8\xec\xa4\x15\x80\xd2\x20\x97\x21\x4b\xbd\x28\x48\x2e\x59\x46\xc2\x81\x61\x24\xc2\x90\x6b\x90\x11\x57\xed\x69\x4d\x45\x10\x79\xa0\x34\x62\xd9\x6b\x4f\x59\x94\xa4\x71\x56\xd3\x57\x8b\x00\x4f\x7a\x93\x38\xf2\x68\xda\x6b\x41\xe1\x04\x61\x89\x9e\x49\x92\xe8\xff\x37\x99\x17\xa7\x59\xad\x1a\xcd\x92\x4d\x3d\x21\xe8\xc4\x71\xe9\xba\x1d\x75\x70\x90\xbc\xb7\x58\x4d\x0d\xd6\xc4\x8c\x2b\x53\x4e\xd9\x40\xf2\x3a\xfb\x96\x01\x4e\x1d\x25\x7c\x04\x27\x1d\xd0\x7a\x5d\x7e\xb5\x97\xce\x99\x46\x11\x21\x31\x89\x4d\x71\xd8\x0c\x62\xd5\x1e\xd1\xef\xab\xb1\x63\x0b\x14\x39\x00\xa4\xde\xb2\x61\xad\x16\xaf\xb7\x58\x5a\xf3\x0c\xdd\x96\x00\x81\x3c\xca\x8c\x71\x19\xf8\xef\x64\x69\x09\x5f\x07\xdd\xb7\x34\x89\xfd\xad\xd0\xeb\xa2\xfb\x96\xa6\xb9\x13\x74\xdf\x02\x59\x76\x80\xee\xdb\x6a\x8c\x09\x9f\xec\x35\x1d\x5f\x4f\xea\x8a\xb7\xcf\x91\x34\xa8\x88\xe6\x7a\x2f\x9c\x12\xc7\x33\x16\x55\x67\xe5\xb0\x90\x8b\x4b\x35\x72\x5f\x17\xb9\xb8\x34\x98\x43\x46\x2e\x2e\x0d\xf5\x70\x91\x8b\x2b\x06\xda\x02\xb9\xd8\xc4\x1f\x0c\xf5\xa6\x6e\xc7\x14\x20\xe7\x6b\x94\x8e\xef\x01\x05\xa1\x71\x8c\x17\x26\xb6\xc1\xdc\xb4\x4e\x8c\xb0\x21\x50\x30\x5a\x9b\x1e\x5c\x17\x31\x56\xf2\x93\xac\xbb\xf7\x32\x07\xa1\xc1\x45\x59\xd7\x33\x70\xe2\x1b\xe4\xc1\x54\x1a\xe1\xb9\x85\x5b\xa8\x2b\x01\x76\x38\x89\xe5\x9b\x81\x42\x03\xf0\x6a\x81\xe5\xb7\x02\xd7\xfb\x5c\xaa\xa6\x33\xe5\xcf\xb6\xa2\x1d\x6c\x43\xb3\x29\x6b\xb7\x20\x74\x3a\xb4\x7a\x65\x1d\xe5\x28\x53\x64\x52\x56\xbb\xf3\x43\x43\x99\xfa\xcb\x9f\x57\x72\x22\x83\x2b\xeb\x34\x58\xaf\xa6\x4d\xe6\x8f\xb1\xcf\x48\x8c\xa2\xa9\x56\xdc\xa4\xd6\xb0\xf4\x74\xcc\xe5\x2f\xd1\x0c\x53\xa7\xeb\xa5\xd2\x78\xbf\xa8\x1c\xb0\x02\x10\xf3\x19\xfa\x08\x65\xc2\xf1\x6c\xae\x55\xc4\x6c\x7e\x54\xef\xa4\x41\xfa\xc3\x0f\x7f\x21\xe8\x07\x34\x23\x98\x15\xd4\x6c\xd0\xec\xf4\xd5\x07\xb0\x96\x6a\x4a\x06\xac\x72\x29\x50\xf7\xab\xa9\xfd\xe7\x42\x22\x7b\x6c\xcc\x9d\xda\x0e\xe5\x6f\x71\x34\x45\x32\x1d\x99\xfa\xed\x9e\x99\xc5\xc9\xfa\x57\x7c\x02\xbe\x74\xb8\x91\xdd\xa0\x9b\x4e\xe1\x7e\xc3\x14\xac\x47\xb4\xed\x6d\xdc\x81\x7b\xe4\x54\x92\x02\xec\x59\x85\x5f\xcf\x70\x3e\xff\xe0\x4b\x03\x89\x74\x62\xdc\x1c\x5a\x85\xc4\xd6\xf9\xa0\xc5\x7d\x88\x78\x06\x47\x5e\x9a\x60\x61\x8f\xfe\x80\x69\x5d\x48\x90\x27\xca\x53\x99\x2c\x50\xcc\x19\x39\x81\x9d\x90\x46\x53\xe3\xfb\xd5\x6a\x15\xb6\x85\x84\x9e\xa8\x4c\xb5\xce\x0d\x6d\xb9\xba\x45\x52\x61\x03\xd7\x36\xa5\xd0\x4f\x84\x13\x44\xe0\x2b\xe5\xa5\x70\xa2\x76\x8a\x9e\x8f\x95\x5d\xe2\xf9\x2d\xb1\xb2\x0b\xbb\x2a\x60\x65\x67\x58\xd9\xcb\x74\x39\x44\xac\xec\xd2\x9a\xb7\xc3\xca\xae\x5a\xf2\x0d\xb0\xb2\x0b\xcd\xbc\x19\xac\xec\x12\x45\xdf\x0c\x56\x76\x69\x5e\x01\x2b\x3b\x60\x65\x07\xac\xec\x63\xc1\xca\xde\x12\x0d\xba\xfa\x96\x35\xa0\x72\x8a\xb2\xc5\xda\xec\xe3\xbd\x44\xbd\x1b\xbd\xb1\xa2\xc7\x62\x44\x65\x26\x88\xac\x75\xd3\x55\x22\x50\x57\x5f\x2f\xeb\x21\x50\x57\x1a\x61\xea\x2f\xb1\x6d\x51\xed\x40\xe5\x7b\x61\x04\xea\xc2\x04\x42\x70\xef\xfa\xc1\xbd\x95\x9b\xcf\xf6\xad\x87\xe7\x22\x7e\xcb\xa2\x56\x4b\x0c\xea\xc2\xfa\xb4\x0a\x03\x06\xa5\x6c\x07\x3b\x71\xbf\x7a\x5a\xbf\x70\xc8\x57\x6a\x69\x3e\x15\xa5\x45\xc3\xd7\xb2\xbb\x83\xc8\x34\xe6\x15\x3f\xf8\x24\xec\xdc\x0d\xc2\xd2\x4b\xe4\xcd\x9c\x7a\x66\x2f\xb6\xd8\xaa\xad\x77\xa8\xb3\x37\xec\x26\x4b\xdd\x65\x0e\xaf\x19\xdf\xe0\x06\x71\x3f\x27\x51\x8d\xf7\x80\xce\xe8\xae\x9a\x5d\x75\x91\x65\x00\x80\x60\x6a\x59\x4a\x8a\xd6\xd7\x93\x19\x8e\xd1\xde\x4a\xb9\xe8\x00\xd1\x63\xbe\x9c\x50\xa9\x44\x6d\x60\xdd\xd2\x08\xb7\xf1\xd3\xcf\xd3\xd6\xd1\x58\x1e\x55\x27\x9b\x7d\x36\x23\x33\x2e\x56\x45\xf5\x55\x7e\x69\x2b\xb7\x6d\xf2\x29\x99\x4f\xc9\x4c\x4b\x32\xc3\x75\x1b\x69\xbb\xde\x59\xc6\xbc\x4d\x9c\x34\x51\xb6\x85\x4d\xe0\x79\xe1\xf5\xbb\xb1\x81\xe1\x6d\xbd\xdc\xdb\x2e\xb3\x05\x0a\x5e\xd3\xd5\xe7\x10\xe4\x9b\x4d\xa9\xf6\xa5\x42\xac\x05\xec\xef\xca\x80\xa2\x2c\x9e\x6b\x75\xc8\x50\x43\xb0\x50\x13\xd8\x5e\xfe\x95\xa9\x4c\xbc\x4e\x1c\x49\x31\x34\x44\x73\x42\xbf\xee\xfe\xfa\xd1\x45\x35\x50\xd1\xcb\xe4\x81\xb0\x30\x49\xc4\xa9\xaf\x19\x14\x06\xb3\x4c\xaf\xc2\x2e\x71\xb6\x82\x2d\x36\x49\x2a\x6a\x43\x9c\xdb\xb8\x2a\x22\x95\xe2\x04\x34\x09\xbf\x5e\x74\x79\x51\x47\x8b\x8a\x9c\xdb\x76\xbe\x30\xca\xd4\x7f\xfc\x75\xad\xd5\xd4\xaa\x95\xa5\x1b\x14\x90\xc4\x51\x44\xa4\xf1\x9e\xd8\x10\x78\x3c\xe2\x4f\x50\x3b\x72\x9b\x55\xd5\x47\x59\xcf\x5b\x33\xf8\x0c\x7f\x3d\xce\xb7\xba\x11\x17\xa6\x82\xa7\x93\xa9\xb3\x0e\xea\x33\xa3\xa7\x56\xb5\x96\xbf\x2c\x79\x3f\xd6\x5e\xcb\x1f\x53\x9a\x6c\x66\x7b\xbd\x2f\x54\xd5\xfc\xd4\xeb\x23\x39\xcd\x4e\xeb\x08\x9a\xad\x5c\xd8\xe5\x41\xb7\xef\xd3\x7e\x9b\x79\xe2\xa0\x9b\x13\x87\x39\x3c\xe6\x49\x02\x3e\x24\x49\x66\x4f\x44\x54\x77\x0f\x13\xee\xd3\xf5\xe0\x42\xb3\x01\xc0\xd7\x79\x56\x4e\x2b\xf9\xeb\xd6\x88\x86\x12\xb9\xd1\x97\x23\x66\x4c\x9c\x24\x67\x84\x55\x59\x4f\xbf\x2c\x97\xbd\x3a\xb2\x68\x55\x17\xba\xb8\xb3\x88\x55\x47\x92\x17\x8e\x5a\x5d\x31\x8f\x43\x8d\x5c\x2d\x31\xbb\x2c\x90\x34\xbf\x66\x5c\xd4\x9a\x51\x7c\x3a\x9a\xc4\x03\xd6\x29\x24\xf3\xd8\xe8\x05\x34\x5a\xe4\xd9\x00\x46\x87\xf0\x99\x19\x14\x17\xb2\x86\x15\x70\x90\xea\xbf\x40\xd3\x31\x88\xdd\x26\x9e\xd5\xc5\xac\x42\x2a\x03\x89\x4f\x71\xb4\x88\x12\x1a\x79\x3a\xf3\x44\xe0\xf9\xb4\x8a\xe3\xb9\x95\x0f\x90\x57\xaf\x05\x79\x55\x57\x85\x6f\x9d\xa4\x01\xb7\xaf\x18\x9e\x91\x00\xc5\x75\x88\x50\x5c\x27\x19\xd8\x0b\xcb\xeb\x19\xbe\x22\x86\xc8\xf2\xb9\x0f\x78\x5c\xaf\x80\xc7\xb5\xc9\xe1\xcf\xc1\xb6\x0a\xc7\x3e\x60\x84\xb5\x21\xde\xeb\x63\x84\x65\x42\xc0\x41\xc1\x3e\xd5\xf3\x83\x57\x86\x13\x5a\x1e\xd8\x6b\x62\x82\x55\x88\x4b\xeb\xc8\x8d\x4d\xa0\x60\x4d\xfb\xa2\x15\x5d\x5e\x17\xa2\x6b\x3d\xca\xac\x85\xbe\x55\x79\x77\x1e\x08\x16\x57\xfd\x32\x1c\xc8\xb9\xd9\x65\x4a\xd9\x7a\x05\xa3\xfd\xb4\xb2\x75\x14\xcc\xf5\x32\xcc\xb2\xfd\x70\x5c\x59\x66\x79\x65\xcd\xcd\x32\xcd\x3a\xce\x07\x4f\x04\x9a\xf2\x24\x76\x08\x30\x19\xb5\xb2\x0e\xb2\xfc\x94\x8c\x40\x6e\x31\xee\xe7\x24\x32\xda\x66\x5e\x05\xb2\x29\x9f\x2c\x5b\x44\x18\xee\x0e\x18\xcd\x2e\xac\x28\x19\x27\xd9\xc4\x7e\xb2\x52\xba\x90\x45\xf3\x7f\xc3\x18\x0b\x14\x02\xaf\x41\xf5\x30\x57\xda\xbd\x57\x0c\xae\x49\xf4\xf0\x8c\xa3\xa2\xaa\xbe\xb3\xd9\x67\xf0\xf4\x89\x3a\x43\x0c\xf6\x7b\x6c\xf4\x52\xba\xd9\xb5\xf2\x54\x96\x37\xcb\x06\x61\x8e\x4b\xe5\x3a\xb7\x47\xe6\x9a\xe1\xaf\xc3\x39\x16\x38\x49\x48\x42\xe5\x6c\x6f\x61\xee\x17\x45\x77\xb5\x3e\xab\x82\x1b\x13\x19\x4b\x67\x23\xb3\x15\xdd\x40\x6c\x85\x57\xc5\x91\x48\x99\x8f\x2b\x98\x2d\x4c\x56\x41\x36\x85\x7b\x01\xac\x6a\xd1\x14\x4a\x75\x8f\x31\x15\x8c\xc8\xda\xc2\xc8\x24\x4a\x05\x55\x8b\xa1\xad\x33\xdd\xfe\xc0\xdd\xdb\x2f\x2f\xec\x87\xcd\x1e\x7e\x07\xa9\xe1\xfa\xcb\xea\x5a\xcf\x89\x80\xda\x70\xae\xca\x99\x57\x4b\xdb\x42\xa6\x90\xac\xc0\x1c\x04\xf6\x2f\x5d\xdb\x75\x21\xf1\xf8\x79\xe8\xc5\x97\x0d\xa3\xf2\xe6\x58\x75\x58\xab\x40\xdf\x9a\x26\xb9\x67\xd8\xb3\x1a\x2f\xfa\x1e\x4a\x4b\xd9\x84\x20\xd3\xb4\x1e\xb0\xe7\x0a\x07\x7b\x6d\xbe\x30\x1e\xde\x44\x45\xa5\x25\x6f\x9c\x16\x68\xab\x2a\xf8\xaa\x61\xb0\x1d\xef\xab\x16\x23\xf6\x3a\xd9\xd1\xb0\xf5\x41\x17\x22\x9d\x2b\x3a\x5a\xc6\x95\x72\xdc\x60\x07\x75\xa3\x3b\x09\x60\x1c\x38\x37\x4b\xa1\x5b\x53\x4c\xba\xc0\x89\xed\xec\xb4\xfc\x6f\x41\xfc\x1c\x3c\x97\x81\x37\xf3\x93\x68\x6f\x66\x54\x29\x97\x02\x63\x0c\xf0\x7a\x77\x16\x6d\xd3\xef\x5d\xb8\x0b\x86\xf2\xde\xc6\x44\x75\x36\x60\x1d\x89\x9e\x09\x62\xc4\xe2\xb7\x54\x14\xee\xce\xac\xfa\x50\xf0\x6f\x44\x74\x4f\x59\x6c\x8e\x16\x1e\xa8\x92\x59\xcd\x49\xd3\xc7\x18\x27\x92\x9c\xe8\x86\xa1\x54\xb5\xe2\x10\xf4\x8a\xd1\xb3\xc0\xf3\x39\x11\x03\x66\xf3\x93\xc0\xe1\xc4\x79\x62\xda\xaf\x0b\x21\xb5\x34\x20\xc3\x08\x47\xd3\x17\x5a\x23\x0c\x69\x66\xd1\x94\xc4\x2e\x59\xbf\xb8\x3c\x6e\xde\xc6\x60\xbf\xc6\x62\xf5\xc6\xae\x66\xe2\x89\xed\x24\x89\x34\x47\x81\x2d\x8d\x05\xd1\x9c\x44\x8f\x5a\xef\xe1\x27\xc2\x10\x1d\xbb\x71\xd8\xd8\x25\xf4\x0c\x9e\x39\xbd\xf5\x9f\x30\x4d\x0c\xfa\x85\xeb\xda\x09\x81\xc6\xfd\x30\x60\xc6\xdd\xcf\xa2\x42\x7a\x38\x65\x54\x4e\x35\xa7\x4e\xc1\x27\x0b\x6a\x46\x5d\x4a\x18\x7b\x5a\xe7\x34\x77\xf5\xeb\xcd\x1c\xf4\x89\x0a\xce\x66\x90\xfe\x65\x41\xd1\x1c\xf9\x24\x51\xd9\xf1\xa8\x4c\xde\x5d\x29\x11\xc7\xb1\x2c\x1a\x5f\x8d\x5a\x49\xff\x59\x30\xbb\x9c\x16\xf2\x5d\x23\x0f\xd3\x0b\x82\x58\x5d\x39\xc9\x26\xf9\x37\x24\xed\x2c\x27\xed\x54\xd3\xe6\x10\x13\x77\xb2\x43\xbc\x6e\xf2\x4e\xdd\xf2\xef\x42\xb2\xdd\x61\x12\xcf\x2b\x67\xbb\xec\x27\xd1\xe5\x75\x33\x93\xf6\x91\x94\x14\x52\x77\x76\x3c\xdf\x90\xba\x13\x52\x77\x36\x4e\x79\xa9\x67\xc8\x6b\xa5\xbd\xac\xc0\xc8\xab\xea\xe5\x33\x51\x82\x46\x72\x17\x9c\x5f\xce\x71\xcb\x78\x4d\xd0\xef\xe7\x2b\xe4\x61\xfd\x42\xe6\xde\x86\x08\xc8\xac\x70\xee\x48\x10\xfc\x18\xf3\xe7\x25\x2b\xac\xf4\x41\x8a\x3e\x73\x2d\xd0\x0a\x12\x51\x49\x0a\x31\x5a\x54\x22\x46\xa4\x35\x63\xe3\x01\x9b\x52\x22\xb0\x88\xa6\x90\x91\x9d\x2f\x8c\xc9\xec\x37\x38\x71\x26\x4a\xc7\xf7\x63\xae\xb1\xe8\x2d\xe8\x5e\xb6\x1d\x66\xb0\x9f\x76\xcd\xf5\x48\x66\xe6\x93\x4c\x4c\xb5\xf2\xa3\x6f\x6c\x6d\xb5\xfc\xdb\xa6\x98\x64\xc4\xde\x6b\x9a\x49\x16\x26\xe7\x7d\xd1\x32\xd5\x24\xdf\x0d\x21\xdd\x64\x4f\xe9\x26\x15\x24\x5e\x2f\xe5\x64\x23\x63\xee\xcb\x47\xc3\xbb\x9e\x5f\x22\x22\x7e\x55\x38\x62\x3a\x1a\xee\xfd\xe8\x55\xce\xb9\xed\x09\xfc\x92\x6d\x0a\xa3\xeb\x08\xbd\xcf\x46\x24\x8e\x81\xd3\x2a\x8e\x38\x80\x90\xe4\x7b\xc7\x19\x7e\xf4\xdd\x8b\xa5\xde\xec\x38\xe1\x6c\x22\x69\x6c\x00\xa2\xe6\x18\x4a\xa0\xfb\x66\x29\x00\x44\x81\xf5\x4d\x12\x22\x9c\xbf\x49\xa0\xef\x24\x65\x16\xa4\x36\xfb\x2d\xe6\x44\xb2\xf7\xca\x98\x81\x30\x5b\xa0\x47\xc6\x9f\x13\x12\x4f\x60\x85\xca\x83\x39\x45\x94\x9c\x20\xaa\xb2\xcf\x04\x20\xa8\xf0\x54\x0d\xf4\xd8\x21\x8a\xd2\xe8\x76\xc4\x7e\x2b\x6c\x51\x1c\x8f\x03\xcb\xef\xcf\x10\xea\x31\x34\xc6\x91\x3a\x41\x32\x1d\xe5\xed\xc7\x1c\x4c\x58\x60\x57\xf1\x26\x9e\x37\x12\xb2\x21\x2a\x3a\xaf\x3e\x1b\x8e\x3b\xe8\xed\xda\x49\x28\xde\x2a\x6a\xf4\x09\x6f\x83\xdc\xfc\x39\x95\x36\xbc\x06\x71\x96\x1d\x7d\x0b\x09\x97\x41\xef\x03\x8c\xb2\x81\xb1\x67\x3c\xae\xb5\x62\x97\xa6\xb2\xee\x58\xf2\x10\x5f\x2b\x28\x59\x17\x24\xb4\x6b\xc8\xad\xa5\x26\xa9\x04\xc1\x33\xeb\xf6\xd1\x57\x0d\x88\x35\x26\xc0\x57\x8f\x9e\x0a\x23\x61\xae\xb3\xc4\x57\x94\x3d\xea\xd5\xcd\x8b\x0d\x70\x80\x61\xd7\x3d\x57\x2d\xda\x5c\xdf\x78\xe4\x82\x33\xe3\xfa\xdd\x4a\xee\xa4\x13\x86\x93\x35\xad\x57\x4b\x94\x5b\xf6\xd6\x3a\x39\xcb\x8a\x0b\x5a\x8a\x30\x66\x5c\x64\x7a\x5c\xcb\x3a\x58\x9a\xaf\x2f\xef\x61\x14\x93\x39\x61\x31\x61\xd1\x02\xb6\x08\x03\xb4\x2f\xc1\x70\x82\x30\x7c\x87\x93\x33\x74\x69\x32\xc7\x32\x09\xcf\x5e\xeb\x70\xa1\xcf\x30\xa3\x63\xad\x27\x80\x79\xdd\x8e\x72\xc0\xcc\x30\x9d\x77\x8b\xe4\x76\xf3\x8c\x62\x55\x2b\xa3\x6f\x90\xeb\x2d\xc1\xde\x59\xf1\x7b\xd4\x7c\xe1\x40\x6f\x4d\xab\xa3\x9b\x73\xa5\x5d\x64\x3a\x3a\x85\x7f\x17\x52\x29\x1d\xb8\x58\x8e\x7c\x45\x12\x02\x86\x5e\xeb\xcb\x84\x8b\xb1\x0e\x0c\x73\x17\x1e\xd9\x15\x19\x4a\x5e\x1f\x05\xa5\x66\x46\x19\x9d\xa5\x33\xcf\x2d\x6b\x0a\xc1\x44\xd6\x32\x6d\x72\x8c\xe6\x5a\x0f\x88\x5c\x4d\x08\xa4\x2f\x57\xb6\x40\x13\xfa\x44\xd8\x80\xcd\x39\x65\xea\x0c\x5d\x73\x45\xbc\xca\x3b\x06\xee\x8e\xcf\x15\x9d\x19\x10\x69\x41\xf4\x39\x30\xb5\x06\x00\xbf\x77\x8a\xd5\x09\x8a\x53\x38\xaa\x8c\x28\xcd\x3a\xf4\x8d\xab\x60\x65\x20\xf2\x5f\x0c\x98\xb9\xe9\xc6\x98\x26\xa9\x20\x56\x66\xc5\x26\xe3\x2b\x1f\x72\x3e\x32\x8b\xde\xe8\x4d\x62\x46\x27\x53\xa5\x97\x48\xcb\x78\xd6\x93\x3c\xd5\xdc\x88\x0f\xd8\x88\x20\x8c\xe6\x5c\x52\x45\x9f\x32\xcf\x34\x1d\x23\x2c\x25\xd8\xc6\xce\xd0\x65\xc1\xb3\x43\x25\xa8\xde\x75\x11\xe3\x94\x0d\xad\x57\xa1\x3e\xd3\x6c\xeb\x85\x2c\xf4\x62\xa9\x8c\x47\x92\x27\xa9\xf2\x9d\xeb\xd5\x6b\x9b\x3b\x3d\x5c\x3d\x14\x30\xfd\xf3\xf1\x80\xb9\x7d\x2d\xcf\x50\x47\x22\xc9\xf5\x2a\x49\xb3\x94\x91\xa0\x8a\x08\x6a\x90\xe7\x88\x32\x8b\x90\x9d\xd3\xec\x0c\xcc\xb0\x78\xd4\x22\x94\xef\x5b\x31\x50\xcd\x05\xdb\xd4\xc8\x48\x48\x00\xc5\xe7\x2f\x07\x38\x75\x10\xe3\xec\x94\x91\x09\x5e\xb5\x22\x03\x56\x58\x12\xf4\x1d\x1d\xe7\x0a\x69\x9d\x37\xd9\xa3\xdd\x10\x62\xda\xea\x56\xc9\x74\x5c\xb7\x48\xe3\x84\xe3\x15\x01\x01\xe3\xfc\xd0\xa3\x7f\xf0\x91\x19\xa3\xd6\xfb\xb9\x02\x29\x50\xab\x57\x63\x2e\xc8\x14\xb3\xf8\xc4\x2d\x56\x71\x6c\x70\x33\x5a\x1b\x9b\x53\xc6\x40\x12\x74\xd8\xec\xc4\xe0\xc7\x61\xe6\xad\x85\x55\xdc\xec\x52\xe4\xeb\xb0\xd6\x5d\x91\xb5\x06\x25\xa5\x8c\x01\xc2\xb0\xbc\xc5\xdc\x1e\x71\x49\x67\xf3\x24\xcf\xd6\xf3\xac\xde\x63\x2d\x62\x39\x1e\xc9\x9f\xc0\x74\xe5\xb4\x36\xb8\xd5\xed\xca\xe9\x7d\x56\x31\xf2\x8c\x91\xc2\xad\xe1\x6c\x5e\xa6\xba\xb0\xc7\xc2\xbe\x93\x44\xff\x53\x91\x5c\xed\x33\xc2\xfa\x80\x39\x11\xe4\x7b\xe0\x32\xb6\x59\xcf\x78\xa6\x45\x68\x83\x9e\x6d\xe9\x87\x22\x13\xbe\x50\x38\x27\xf6\x30\xb8\x57\x2b\x2f\x2a\x45\xb5\x98\xfd\x23\x05\x54\xbd\xcb\x2d\xab\x79\x50\x16\x93\xda\x1a\x79\xad\xb8\x46\xdd\xdd\x62\x18\xea\x70\xd3\xb2\x36\xfd\x29\x91\x04\xa9\xe7\x0c\xdc\x51\xeb\x55\x60\xb2\x14\x24\x21\x4f\x38\xbf\xe3\xb2\xbe\x2c\xbb\x8c\xb0\xac\xa9\x3a\x05\x08\x89\x7a\xfc\x9b\xa7\xc4\x67\xe3\xbb\xd1\x43\x79\xc2\x89\x4d\x49\xb2\x51\x10\xb2\x7e\xc1\x7a\x97\x5b\x45\x07\xdb\x56\xaa\xe8\x59\x2f\x62\xb8\xbe\x7f\x26\x8b\x6a\x8a\xac\x00\x1e\x6d\xc2\x19\xc8\xc8\xbe\x86\x67\xe1\x36\xff\x66\x99\xc6\xb5\x94\xfb\xb9\x30\xe5\x57\x48\x8f\xbb\x5d\x2a\xec\x0f\x7f\xca\x74\x3c\xa6\x5f\x41\xab\x75\x37\x89\xd3\x3c\x22\xc1\xa5\xe6\x62\x20\xab\x20\xb7\x78\x26\x44\x60\x9b\x54\xb9\xca\x2f\xb5\x96\xb5\xf6\x8e\xae\xa5\xf6\xdf\x53\x22\xb6\xa2\x77\xb6\x55\xd7\x09\x34\xf5\x4e\x49\xb5\x8e\xe8\x1a\x55\xb8\x65\xb4\x99\xdf\x6a\x1f\xd7\x90\x6e\x75\x55\x85\xca\xcf\x46\x86\xf9\xae\x3f\x10\x9f\x6b\x37\xda\xd4\xf2\xc8\xc3\x2c\xea\xdc\xd5\x3a\xd3\xfc\xed\xc4\xd6\x6d\xc0\x36\x24\x2e\x4b\x62\xc7\x2e\x1a\xc8\x38\x46\x4c\x29\x3c\x65\x0b\xb8\x78\x9a\xba\x6d\x8c\xb2\xc9\x80\x39\xda\xca\x13\x64\x12\x00\x4a\x0c\xb5\x50\x32\x03\x7b\x9f\x66\x1b\xbb\x9d\x49\xd5\x44\x4c\x30\x22\xa5\xbe\x18\xa5\x12\x98\x32\xeb\xc3\x71\xf4\x91\x03\x86\x4e\xcb\x19\x08\x27\x60\x47\x38\x71\x79\xcc\x27\xf9\x00\xe5\x80\x99\x5c\x22\xf4\x67\xf4\x9d\xc2\x13\x73\x4b\x00\xe2\x2c\x4e\x00\xab\x16\xb4\x04\xab\x95\x7b\x69\x1f\xd9\x89\xa4\xf1\xf7\xe7\x4d\x7d\x1a\x1b\xc2\x77\xd0\x0c\x1c\x72\x4d\xc3\x9c\x40\x74\x9c\xff\x83\xc4\xdf\x37\xb5\x94\x7f\xf4\x48\x16\x27\x65\x22\xd7\xdf\x1b\x7d\xbc\x55\xec\xed\xbe\x2e\x0e\x18\x74\x7b\x97\x32\x1e\x91\xe4\x97\x7c\xa2\xa8\x91\x15\xfd\x48\x19\xde\x8e\x07\x55\x0e\xaf\x5d\x6e\xc1\x68\x51\x57\x0e\xb3\x82\xf5\x6c\x8c\xa5\xd3\x31\xb2\x2c\x41\xba\x3b\x2b\xb1\xbb\x62\xa9\x18\xe2\x59\xa7\x24\x99\xa3\x98\x8e\xc1\xf5\xa6\x60\xbf\x64\x80\xcf\xa6\x8c\x98\x56\x68\x66\x29\x33\xe0\xdd\x26\x9e\xe7\xd9\x9e\x74\xcb\x32\xf2\xc6\xcf\x06\xac\xa7\xde\x4b\x24\x95\xe0\x6c\xa2\x95\xe9\xf8\x89\xca\xbc\x3e\xa6\x3e\x90\xe9\x8c\x08\xdb\x05\x95\x46\xea\xb6\xb5\xe5\xb0\xbb\xd8\xf4\xd8\xf4\xd5\x07\x82\x8f\xab\xe1\xaa\x7f\x34\x7a\x85\x1e\xa5\x74\xf1\x70\x15\x09\x0d\x76\x71\x4b\xbc\xf3\x85\x4d\x97\xbf\xf8\xd6\x49\x34\xcb\x0d\x99\x8e\x5f\x7e\x28\x9b\x31\x2d\xd5\x1b\x4c\x98\x6b\x5f\x08\x6d\x2f\x02\x57\x8c\x25\x35\x09\x6c\xba\x1f\xe7\xd8\x32\x83\x5b\x4b\xc5\x2a\x4d\xd0\x8e\xda\x68\x4f\xbe\x09\x93\x50\xb0\x7f\x48\x85\x15\x8d\xec\x2d\xc0\x85\xb5\xe2\x5a\xbd\xba\x7e\x69\xb7\xd5\x49\x64\x84\x93\xe5\x15\x6e\xf0\xa9\x9b\xf7\x9b\x0d\x9d\xf6\xb8\x99\xb6\x1b\x21\x7b\x22\x9e\x24\xeb\x54\xbf\x2c\xcd\xfc\x22\xff\xbc\x79\x44\x79\x3f\x7a\x01\xdc\x5a\xc0\xa9\x31\x06\x0a\x9c\x58\x77\x91\x54\x76\x95\xfc\x97\xcc\xa5\xb6\xb0\xea\xe3\x80\xf1\x31\xd4\x47\x4d\xea\x72\x12\xe6\x82\xcf\xe8\x3a\xd5\x6f\x4c\xbc\xc8\x9d\xf3\xfd\xaf\xf0\xa4\xb8\x08\x01\x30\xbf\x99\xed\x65\x7b\x04\xb4\x0d\x6c\x4d\x6a\x0d\x67\x68\x86\xe7\x1b\x11\x7c\x55\x9c\x52\x07\xcd\x4c\x40\x99\xa5\x1e\xe0\xe0\x13\x48\x3b\x06\x22\x3f\xe3\x45\x0e\x6c\x54\x57\xd7\x84\xad\xb5\x1d\x1e\xf4\xeb\x3d\x36\xe6\x6b\x1c\xce\x1c\x88\xc8\x9e\x3e\xec\xf6\xac\x77\xfe\xb2\x48\x0c\xb3\xfa\x86\xa6\x6d\xce\xe3\x45\xd5\xa6\x5e\xfb\x64\x3a\x0a\xee\xd3\x0f\xeb\x33\x11\xef\x9b\x7f\xad\x73\xb7\x16\x8f\x96\xd7\x22\x82\xe1\x34\x93\xea\x73\x61\x1f\xee\x9c\x46\xa5\x76\xe0\x59\x9e\x0a\x78\x5b\xdd\xea\x0b\xd0\xcc\x1e\x92\x56\xc4\xda\x12\x79\xed\xff\x63\xef\x5d\x9b\x1b\x37\x92\x74\xe1\xef\xf3\x2b\x6a\xbd\x6f\x44\xb7\xce\x52\x94\xdb\x3e\x33\xe1\xd5\x86\x23\x5e\xb5\x5a\x6d\x73\xac\x96\x34\xba\xd8\xb3\x67\x38\xc1\x2e\x02\x45\x12\x23\xb0\x0a\x46\x01\x52\x73\x76\xe7\xbf\x9f\xa8\xcc\xac\x0b\x6e\x24\x20\x4a\x6d\xcf\x1e\x7f\xd8\x1d\xb7\x08\x14\xea\x9a\x95\x97\x27\x9f\x1c\x56\x9f\xc5\x7e\xd1\x55\x63\xd9\xdb\x92\xdb\x35\x19\x20\xcd\x34\x59\x0d\x3e\xaf\x88\x08\x1e\x16\x49\x2a\xf4\x98\x4d\x5a\x82\xb8\x96\x5e\xc1\xa5\x03\x60\xa2\xa7\xd5\x9e\xca\x3c\x21\x9e\x18\x91\x0b\xa7\x23\xb1\x04\x6a\x5b\x86\x40\x96\x20\x68\x01\xe1\xd3\x95\x7a\xc4\xdc\xca\x3c\x31\x32\x0b\x95\xd5\x02\x42\x5a\x46\x16\x24\x14\x11\xc2\x80\x9a\x7b\x41\x61\xc6\x8b\x31\x73\x5c\x30\x2c\xf4\x40\xd4\x97\xf4\x39\xaa\x03\xf7\x67\xaf\xb0\x5f\xbd\x35\x6f\xf4\x31\x0a\xec\xb3\x7b\xf4\xce\x69\xf9\xc3\xfd\x91\xef\xe1\x55\xeb\xd8\xe5\x6c\x91\x0b\xb0\xb2\xd7\x8e\x11\x0f\x8b\x9d\x28\x05\xf7\xdd\xcd\xbb\x1f\x8e\xee\x26\x4c\x14\x11\x4b\x93\x7b\x31\x95\x91\x7e\x00\xa3\xef\xe7\x52\x14\xe6\xcf\x1d\x4e\xa0\x64\x2d\xa4\x06\x49\x90\x14\x3d\xed\x35\x3b\x31\xe6\x7f\xdf\x55\xdf\xef\x63\x95\x3b\x16\x57\xb3\x77\x6d\xa9\x54\xd8\xa6\x50\x0d\x12\xa7\xb6\xc5\xaf\xf9\x16\xe3\xad\x67\x9f\xb2\x5c\xe8\x7d\xf9\xfb\x22\x25\xff\x56\xca\x81\x4a\xd7\xa9\x7f\x29\xe8\x45\x87\x4e\xb7\xce\x38\xd4\x20\x1a\x96\x45\x8f\xef\xb4\xb6\xbe\x4b\x88\x78\x52\x23\x1b\x3f\x17\xae\x19\x56\xe4\x42\x80\x08\x71\xfb\x89\xee\x7a\xe2\xd1\x73\x03\x0b\x5e\x1a\x4f\xe5\x07\x8b\xaa\xf3\x7f\xd5\x3e\xd6\xb0\x9e\x07\xa5\x99\xaa\xad\x40\xb3\x71\xa2\xdd\x1f\xa0\x16\xa8\x2e\xd3\x02\x8b\xa1\x2f\x12\xc9\x53\xd7\x51\xfc\xa5\x4d\x4a\xe4\x5c\x46\xab\x7d\xc3\xe4\xc9\x62\x26\xd2\x21\x9a\xe8\x64\x71\x96\x6a\xb3\xbf\xa3\xfb\x8e\xd3\xf9\x94\x72\xff\x7e\x30\x18\x71\xa2\x92\xc1\xcc\x87\xd9\x79\x8a\xc5\xc8\x05\x03\x1c\x56\x9d\xfb\x00\xe9\xdd\xcc\x2a\x92\xa6\x8e\x30\x2c\x4c\x3a\x76\x09\x85\xf0\x15\xc6\x8b\xa9\xcc\x4b\x09\x45\x00\x1d\x2a\x93\x33\x5f\xc7\x29\xb2\x18\x09\x42\xac\x2c\x8d\x98\xc0\x32\x49\xf8\xb0\xb1\xcf\x54\xa9\x21\x1e\xb5\x16\x85\xb9\xa0\x5e\x8b\xf1\x72\x4c\xb0\xe8\x11\xcb\xf2\x64\x0d\x21\x65\x7d\xd0\xb2\x74\xa7\xbc\xe0\xa9\x5a\x3e\xb7\x57\xe9\x89\xc9\x53\xb6\x1b\x6c\xf2\xce\x4c\xfe\x52\x48\x91\xc3\x40\xc1\x97\xdd\x7a\x84\x7b\x78\xb9\x3b\x24\x37\x44\x12\x29\xf8\xab\x9d\xc7\x82\x97\x85\x5a\x1b\xfb\x96\xa7\xe9\x66\x84\x51\x67\xc1\x56\x5c\xaf\xec\x42\x63\xc0\xb0\xcf\xdd\x44\x93\x7b\xca\xa3\x95\xb8\x29\x78\x51\xb6\x22\xb3\x6a\xbd\xfc\x42\xc8\x72\xfd\xc5\x31\xfb\x8b\x1f\xe3\xe9\xc9\xe9\xf7\x67\xb3\x77\x93\x9b\x93\xb7\xe7\x67\xef\x82\xf1\xd0\x2f\x1f\x26\x37\x37\xcd\xbf\x7e\x3f\xb9\x6d\xfe\xf1\xea\xf2\xea\xee\xfc\xe4\xb6\xad\x95\xf3\xcb\xcb\x1f\xee\xae\x66\xef\x4f\x26\xe7\x77\xd7\x67\x2d\xaf\xde\xdd\x76\xff\x78\xf3\xc3\xe4\xea\xaa\xad\xd5\xb3\x1f\x27\xa7\xe6\x73\xf4\xf7\xbf\x06\xc7\x0e\x42\xe7\x66\x06\x3a\xc6\x57\x3f\x99\x87\xac\xfa\xe0\x31\xbb\xab\xd7\xaa\xa3\x14\x3b\xa4\x87\x7b\xe4\xda\x08\x37\xc8\xf0\x04\x17\xac\x9f\xad\xae\x57\x11\xab\x1c\xad\x04\x4b\x95\xba\x2f\x33\x92\x79\xe8\x6d\x97\x0a\x3d\x42\x42\x07\xad\x7d\x3f\xb9\x3d\x6e\xd6\xcc\x73\x8d\x05\x44\xb8\xce\xb9\xfc\xc8\x91\x14\x02\xe4\x2c\x38\x59\x6c\x2d\x35\x1f\xba\x0e\xbe\xe0\x96\x6c\xdb\x77\xb0\x35\x2e\x8b\xda\x67\xe2\xd8\xd3\x67\xc1\xc0\x82\x86\xab\x0b\xbe\x6d\x36\xdd\x74\x60\x3d\x63\x36\x17\x11\x2f\x11\xd1\x6d\x2e\xb0\x3c\x57\x79\xd8\x61\xbf\x51\x9e\xaf\x51\xda\x60\xad\x0d\xd6\xd6\xcc\x0c\x5c\xdf\x27\x59\x56\x59\x76\xda\x88\xbb\x57\x1e\xca\x33\x3e\x24\x51\x21\xe2\x2f\x9a\x7a\x91\x67\x57\x40\xbd\xd9\x9c\x6a\xd3\xe5\xe0\xac\x27\x72\x89\xbe\x04\x5b\x28\x73\xb5\x71\x28\x24\x00\xbd\x7a\x18\x30\x94\x77\x31\x77\x8d\x2b\x64\x98\x00\xac\x88\x17\xec\x51\x00\xd1\x50\x49\x95\x82\xd1\xa6\x37\x32\x03\x3e\x87\x78\x00\x5b\x9a\xbc\x42\x40\xd4\x29\xe4\x9f\x43\x91\x37\xef\x6b\x31\x2c\x88\xb7\x93\x2d\xe6\x1d\x36\x0a\x52\xdf\xe6\x0b\x40\x8f\x9f\x33\xe8\xd7\x72\xd3\xed\xb8\x84\xcc\x75\xd0\xa7\x3f\x96\xa1\xaf\x52\xf6\xa6\x7f\xc7\x2a\xa5\x51\x76\xce\xd5\xad\x8a\xf9\xc6\x6c\x0e\x00\x3d\xe8\x32\xcb\x54\x5e\xb0\x8e\x36\x10\x02\x89\xfd\x83\xbb\x8c\xc6\xe1\x44\x24\x34\x62\x34\x17\xdd\x52\x3b\xb1\x1f\x69\x18\xcd\x6b\x10\x3b\x0b\x92\x8b\xc0\xc0\x74\x75\x6e\xd7\x15\x53\xbd\xb2\x43\xdb\x94\xea\x7d\xf2\x6e\x33\xa3\x38\xf4\xad\x0c\xdf\xf6\xf5\x4b\xdb\x42\xeb\x92\xa7\x62\x51\xcc\x06\x06\xbb\xa0\x45\xd9\xc5\xf3\x98\x2c\x57\xcf\xd0\x62\x7f\xeb\xe3\x2b\x02\x45\x1b\x93\x23\xf0\x3c\xe4\x4a\x15\xa8\xf7\x7a\xdb\x88\xd9\xd9\x04\xb7\x05\x7d\x94\x18\x12\x9c\x72\x69\x6c\x09\xc4\x92\x39\x32\x81\xf1\x54\x9e\x01\xf8\xd4\x1b\x38\x96\x38\x01\xac\x8b\x9d\x76\x85\x25\x2c\x83\x22\x3b\x9f\x35\xd3\xa5\xbb\xee\x83\xdf\xf7\x08\x59\x14\xe9\xc6\xb1\x7f\xc5\xac\xf2\x5e\x9f\xd3\x83\xde\x74\xab\x5a\xe2\x80\xf1\xe8\xe8\x42\x64\xe4\xf1\xc7\x71\x7a\x94\x34\x44\x9b\xcd\xa7\xc6\xec\x27\xeb\x51\x82\xa4\x21\x97\x44\x63\x71\xaf\x29\xdf\x58\xaa\xf8\xb6\x89\x7d\x0e\xf6\xf5\xe7\x4e\x23\xda\x3e\xc1\x8e\x66\xb5\x65\x96\x2b\x86\xbd\x94\xe8\xe9\x1d\x00\x43\x3a\x75\x2f\xdd\x88\xed\x88\xca\xf7\x2a\x47\x27\x9a\x31\x8f\x41\x67\x91\xe9\xe6\x5f\x70\xb1\x90\x9f\xc5\x82\x34\xa8\x0c\x3e\x45\x66\xcd\xf9\x81\xc8\x22\xd2\xb7\xb0\x45\x92\xa6\xa0\x07\x8c\xd9\x89\xdc\x58\x7a\x13\x73\x15\x5a\x70\x6a\xb2\x94\x6a\x17\xf3\x42\xc7\x66\x8a\x82\xcd\x74\xd3\xbd\x99\x10\xff\xe1\xd9\xad\x9e\x67\x47\x3d\x03\xd3\xa1\x91\x2d\xbc\x59\x27\xa7\x3f\xbf\xe1\x00\xa7\x40\x78\x9b\x7f\xae\xcc\xb2\x46\x77\x83\x17\xff\xd1\xde\xf5\xef\x4a\x9e\x73\x59\x40\xbe\x14\x29\xad\xb9\x08\xd2\xb6\xc5\x27\xc0\xb6\x4a\x74\x30\xc3\x9f\xc2\xc5\xb5\x50\x02\x84\x9f\x25\xf1\x88\x25\x63\x31\x86\x6a\xdc\xb9\xd1\x25\xe6\xfe\xc9\x95\xd1\x1c\xa6\xb2\x91\x07\x32\x66\x27\xa9\x56\xf4\x86\x90\x51\xaa\x34\x40\x7b\xe7\x21\x9d\x3e\xec\x7c\x0a\x57\xcd\x37\x60\xdf\xc0\x52\xfa\xe6\x15\xfd\x10\xbc\x08\x45\xa5\x21\xd6\x9e\xc2\x49\xf7\x7f\xff\x37\x45\xc4\xc0\x5d\xf8\x8b\x17\x2c\xf2\xd6\xb8\x86\x5e\x6c\x91\xb0\x34\xfc\xb6\x05\x82\x27\x60\x61\x7c\x7e\x4e\xc0\x4b\xc8\x5e\xf3\x82\xa5\x82\xeb\x82\xbd\x39\x18\x84\x39\xb1\x03\xf4\xd2\x95\x8e\xaf\x4f\xb2\xb7\x69\x9a\xa1\x72\xe7\x3e\x0c\xb5\xc2\x79\x5e\x30\xce\xa4\x78\x0c\xb3\x72\x14\x24\x52\xd9\x02\xe0\x22\x60\x7c\x41\x2c\x3e\xf2\x55\x41\xa6\x2b\x9a\x4c\x1d\x72\xc4\x16\x41\xa1\xb0\x2c\x75\xab\x65\x67\x8d\x1c\xaa\x0d\x60\xec\xe6\x21\x9f\x30\xb9\xe2\xc5\x54\x92\x64\xb5\x70\x94\x20\x45\xfe\x24\x4d\xab\x49\x8a\x1c\xf2\x70\xa5\x19\xb0\xe9\x7d\x3c\x76\x13\x74\x01\xe6\x97\xcb\x14\xab\xf8\xff\xfc\x61\xc1\x5c\x06\xc7\x02\x1a\xb6\xdd\xaa\xed\xb4\xf9\xad\x3f\xa3\x12\xdc\xf2\xf9\x73\xb5\x4c\x22\x9e\xf6\x50\x86\x45\x5b\x97\x77\x1c\xac\x66\xac\x60\x8b\x6e\xfc\xdc\x1f\xe8\xaf\x2a\xb7\xfb\xdd\xe1\x9a\x7d\x54\x2d\x6e\xfc\x8e\xc5\x0d\x74\x8b\x7d\x0c\x70\x97\xb2\xf8\xb9\x22\xc9\x95\xae\x4f\x62\x20\x4c\xd8\x2d\x05\x3d\x01\x81\x15\x1d\x98\xb7\x16\x07\xf9\xd0\x41\xfa\x25\x81\x48\x51\xf0\xd1\x93\x1d\x11\xdd\xec\x9f\x7b\xf8\x23\x3f\x7e\x3b\x14\x07\xae\x6b\x0e\xbc\x5b\xd9\x3b\x89\xff\xc6\x23\xc8\x92\x84\x2f\xd9\xfc\xcc\x26\x4d\xa9\x2d\x6e\xc3\x21\x48\xd0\xaa\x1e\x66\xb9\x8a\x84\xd6\x63\x76\x06\x17\x0d\xfd\x93\xf1\x85\x0d\x74\x04\x0f\x4f\xa5\xb1\x4c\x2c\xab\x61\xd0\x7e\x75\x8b\xb7\x9d\x00\xa4\x48\xde\x2b\x46\xb4\xde\x5d\xb9\xb0\xcb\x9a\xb0\x0c\xcd\xd0\x06\x14\x3b\x63\x67\xcb\x63\x16\xab\xe8\x5e\xe4\x47\xb9\x88\x13\x7d\x0c\x31\xfb\xa2\x33\x58\xb8\x36\xd6\xf6\xde\x9a\x46\x17\x00\x61\x07\xa1\xc0\x29\x7e\x9f\x52\x0a\x6c\x6a\xd2\x88\x25\x0b\x30\x27\x6c\x3e\x2b\x26\x70\x59\x12\x48\x21\x8b\x7c\x83\x68\x67\xeb\xca\xaa\x4d\x84\xb5\x34\x8c\xd2\xd6\x95\x89\x9d\x3f\x07\xb6\xe7\x89\xc3\xc6\x8c\x1f\x02\x32\xe0\xa0\x0a\x45\x79\x60\x28\x2e\x32\x5e\xac\x34\xd0\x7e\x54\xe7\x80\x8c\x2e\x78\xd5\xcc\x10\xcf\x00\x07\x81\x5e\x0a\xff\x92\x23\xa7\xd0\x45\x92\xa6\x53\x89\x89\x1b\xc0\xd0\xf1\xaa\x95\x5d\xc8\xbc\x3a\x62\x3c\x8e\xd9\xff\xf7\xfa\xfd\xf9\x7f\xde\x9e\xcd\x26\x17\xe0\xf3\x9e\x9c\x9f\x1d\x8c\xdc\x1f\x2f\xef\x6e\xdd\x5f\xd1\xc3\xf2\x20\x72\xb6\xe6\xf7\x60\xe2\x49\x2d\x28\xf1\x54\x4c\x65\xd8\x53\xcb\xbb\x64\x7e\xd1\xc2\x22\x68\x49\x4d\x71\xc4\xe2\xb4\x86\x5d\x74\xbc\x44\xb4\x3a\xc0\xf8\xbd\x76\xaf\x6c\xdf\x83\x76\xf3\xb8\x4f\x58\x35\x10\xf2\x8b\xb9\x0e\x88\x78\xc8\xf6\xf5\x1b\x4e\xc8\x65\x22\xbb\x70\x7e\x42\x3e\xbc\xa4\x12\xff\x83\xd8\x00\xd0\xfc\x8a\x27\x79\xef\xbd\xd7\xce\x91\x69\x4f\x8c\xb1\xd3\xb9\xae\x1f\x2a\x8d\xba\x30\x66\x2a\x77\x62\x49\xdb\xe8\x91\x7f\xf1\xe1\x12\xe9\xaa\xf8\x54\xe4\x96\xe1\xcb\xe5\xc2\x5a\x82\x53\x77\xd1\xf8\x3d\x38\x95\xb7\x97\xef\x2e\x8f\x99\x48\xf9\x5c\x41\x1a\x24\x41\x8d\x6c\x13\x34\x61\x91\x5a\x07\x0d\x55\x68\xdd\x46\x2c\xf3\xb4\x6e\xa1\x13\x6d\x8c\x6d\xec\xa0\x77\xcb\x54\xde\x64\xb2\x7b\x5e\x13\x90\x06\x7b\xa5\xf2\x3e\xd7\xbf\x79\x0c\xf3\x42\x32\x63\xc8\xd5\x24\x2f\xdd\xcd\x0b\xc1\x81\xf9\x83\xc2\x42\xe4\xcb\x27\x60\x6c\x9a\x56\xaa\xac\x9b\x83\xa3\xc7\x14\xda\xf7\x4f\x2a\xc9\x7e\xf8\x46\xb3\x79\x59\x4c\x65\xb5\x0d\x25\xd9\xc9\x4f\x37\xec\x2d\x2f\xa2\xd5\xc1\x54\x42\x5e\xe2\x0f\xdf\x74\x10\x8c\x0e\xe6\xec\x36\x73\xf2\x8e\x17\xfc\x5c\xf1\x38\x91\xcb\x36\xc2\x6e\x5f\x55\xf2\xec\xf6\xe4\x98\xd9\xe2\x3e\x3e\x8b\xb6\xb0\x74\x2a\x41\x43\x20\x90\x61\x20\x56\x8a\x80\x28\x97\x55\x52\x63\xb4\xcc\xe0\xc2\x9a\xca\x5b\x64\x2a\x37\x52\x35\x29\x58\xa6\xa8\xb2\xa9\xb1\xca\x90\xc3\x9d\xdb\xec\x72\x91\x6e\x98\x99\x1d\xd8\xc6\x6e\x31\x48\x1f\x03\x7d\xa6\x29\xec\xa7\x12\x0c\x74\x97\xd7\x9b\xaa\x88\xa7\x80\xf5\x3b\x0c\x7c\x7a\xc6\x6c\x57\x25\x70\xeb\x00\xc8\x46\x6e\xaa\x90\x5c\x47\xf7\xe4\x94\xb2\x70\xa1\xc0\x01\x00\xeb\x48\x71\xc8\xb5\x32\x12\x07\x19\x8a\xc1\xf9\x96\xe2\xec\x98\x17\x1d\x63\x31\x4e\x8b\xa3\xed\x03\x4e\x81\x52\x5a\x1e\xb7\x08\xdc\xf7\x72\x03\xb0\x70\x28\x45\xa8\x00\x52\xe2\xa5\x33\x6d\xca\xc6\x2a\xba\x3b\x31\x78\x6d\x2a\x11\x81\x58\x59\x97\x90\xd3\x32\xf8\xba\x92\x00\x90\x6c\xe6\xd9\x97\x19\x01\x26\x49\xd7\xcf\x72\x71\xe8\xb2\xc7\xe3\xca\x9c\x9a\x1b\x76\xcc\xae\x43\xf3\x3a\x56\x51\xb9\xb6\xf5\x46\x20\xf3\x9c\x90\x75\x74\x89\xba\x1d\x82\x17\xfb\xae\x1d\x0f\x0c\x77\x85\x00\xea\x9d\xde\xf6\x31\x6e\x98\x93\xf0\xd5\xa6\xa6\xde\xad\xf8\x82\xec\xd8\x0f\x0d\x87\x0d\xcd\xb2\x6a\x4b\x95\xd6\xf6\xe6\x74\xb8\xf0\x35\x11\x54\x0e\xca\x96\xf8\x94\x29\x70\x72\x63\x62\xb5\x8a\x5f\x69\x36\xb9\x32\x1a\x90\xb1\x78\xdd\x19\x2c\x75\x81\xa0\x35\xcc\x7f\x86\xb7\x31\x0d\x61\xc4\xbe\x64\xd3\xf2\xcb\x2f\xbf\x8e\xd8\x27\xfb\x1f\x7f\xf8\xfd\xef\xbf\xfe\xc3\x90\x34\x15\x6b\x90\x43\xbb\x7e\x8e\x5c\x91\xd9\xaa\x4a\x14\xae\x40\x53\x52\xed\xb1\x0a\x74\x00\xbb\xa6\xff\x29\xdc\xe7\x01\x26\x89\x2f\xe9\x84\xeb\xf0\x64\xb2\xca\xd1\xf4\x48\x02\x2d\x8a\x51\x55\x42\x38\x65\x97\x34\xfa\x7f\xd9\xc6\x87\x6a\x8e\xca\xd3\xb0\x53\x49\xea\xd4\x6b\xd3\x08\x7b\x4d\xfe\xbf\x02\x02\x88\x07\xf6\x82\x53\x69\x2c\x72\xec\x93\x73\xd9\x39\x47\x22\x08\x07\xf1\x29\x4b\x55\x6c\x8b\x06\x78\x1e\x85\x04\x14\x84\xb3\x4f\xdc\x48\xee\x11\x51\x90\x52\xde\x2a\x44\x5e\x16\x3c\x12\x94\x63\xfd\xfa\xd3\xb1\xf9\xdb\x88\x6d\x8e\x01\x9c\x3a\x62\x7f\x3f\x26\xa6\x41\x9e\x17\x33\xf3\xa7\x03\xab\x6b\x53\x13\xd0\xe9\x44\xb3\x57\x47\x0f\x3c\x3f\x02\xf1\x7c\x84\x3d\x7a\x45\x92\xd5\x55\xcb\x0e\x75\xf3\x54\xa9\x7b\x02\xee\x36\x5e\x3c\xb2\x74\xc4\xb0\xbd\x5d\xdc\x04\x97\xde\x91\x1a\x15\xec\x10\x1e\x10\x6c\x9c\xcd\xd9\xf8\x6f\x5a\x49\x36\xde\xf0\x75\x4a\x7f\xb5\xbf\x12\xae\x98\x6b\xca\xb5\x8b\x1d\x46\x28\xdd\xa0\xa7\xf4\x6d\xaa\xe6\x30\xaa\x0f\x76\xa4\x88\xcc\x85\x8e\xfa\xdb\xc7\x5f\x58\x34\x10\x4b\xe2\x01\xdc\x8b\x6b\x55\xe0\x23\x94\x36\xdb\x1c\xd5\x27\xd7\xa5\x3f\x63\x5c\x18\x26\xc5\x26\x07\xa2\x73\xd8\xa1\xe2\x4c\xa3\x9f\xd8\x6b\x12\x41\x07\xe6\x8e\x21\x18\x34\x4e\x43\xdb\x07\x36\xee\x03\xff\x19\x7c\x20\x91\x0c\xd3\x3d\xb7\xbc\xf9\xf7\xa3\xf1\x78\xec\xde\x06\xc6\x9f\xff\xc3\x92\x42\x8b\x74\x81\x2d\xd9\x1b\x6c\x33\x95\x1f\x6c\x39\x32\xeb\xbc\xf6\x44\xe7\x59\xae\x0a\x15\xa9\x94\x1d\x7a\x87\x6e\xac\x22\xcd\xfe\xd5\xa8\xb5\xc1\x54\xc2\x1f\x8d\x1d\xb7\x95\xa4\xf7\x33\x1d\x2a\x72\x88\xd7\x8f\x55\xc8\x80\xeb\x0c\x5b\xae\xc3\x24\x67\xd8\x0b\x66\xe7\x1c\x11\x4b\x6e\x9e\x9b\x87\xc5\xa7\x02\x7e\xea\xa0\x8c\x6e\x85\xc8\xb7\xdf\x94\x0d\x71\xeb\x99\xa3\x71\x5b\x77\x4c\x00\x71\x85\x92\x64\xc0\x71\x8e\xc2\xf0\x89\xb9\x5c\x64\x58\x20\x4b\x97\xeb\x35\xcf\x37\x47\xfe\xb4\x35\x37\xa7\x67\xa9\x05\x19\x93\xda\x09\x80\x10\x6e\x4a\x47\x8b\x50\x0c\xa4\x5e\xda\x1b\xcd\x9d\xdd\x08\x2a\x9c\x07\x6c\x4f\x42\x46\x2a\xa6\x7d\xed\xb3\x5a\xab\x1a\x8b\x7b\xa6\xa9\xab\x58\x44\x8c\xf6\xce\x38\x59\x20\xfd\x19\x3d\x61\x5f\xee\x10\xdf\x6a\xa6\x0b\x23\x28\x97\x03\xc2\xa3\x93\xcb\x1b\xfb\x4e\xff\x4b\x17\xe6\xa1\xaa\xb2\xf3\x34\xe4\x16\x96\x4b\x96\xf3\x47\x7f\xfd\x02\xb6\x03\xbd\x33\xa5\xcb\xf9\xc5\x7f\x9f\xaa\xab\x24\x35\xb7\x16\xec\xf1\xf1\x54\x56\xfe\x3c\x62\x22\x4d\xd6\x89\x74\xd8\x3a\x14\xee\x6a\x81\xda\xf3\x7d\x52\x98\x25\xd3\xf1\xbd\x91\x60\x96\x13\x33\x30\xa9\x4e\xe4\xc6\x6e\x1d\x17\x98\x22\x0f\x44\xa9\x4d\xbf\xbc\x8d\x0e\x6c\x00\x49\x2c\x0e\x49\x21\x4d\x82\x8d\x07\xe7\x77\x2a\x4d\x6b\xf6\x2c\x79\x18\x72\xd0\x5e\xd0\xdc\xa1\x2d\x13\x15\x48\x00\xf8\x46\x05\x4b\xec\xf4\xdf\x16\x05\xe5\x4c\x96\xeb\x7d\x93\x58\x08\x96\xfc\x4b\xb9\xe9\xae\x72\x61\x6f\x2a\x4a\x88\x12\xb2\x5c\xdb\x03\x35\x60\xc7\x9d\x91\xfa\x13\x8b\x28\xe5\xc8\xf2\x67\x1a\x02\xe4\xe3\x08\x03\xa4\x59\xf0\x2d\xbc\x5e\xf0\x33\x58\x79\x32\x15\xf2\x35\xfe\xfb\x80\xd1\xdd\xf0\xe5\x88\xee\xf3\x5c\x3b\xf6\x34\x5c\x73\xa8\xdc\x2e\x62\xf4\xa1\x43\xad\x8e\x25\xcf\x63\xf4\x96\x87\x56\x05\x66\x06\x1b\xfd\x6b\xa3\x4a\xf6\x98\xe8\xd5\x54\xde\x2a\xeb\x70\x64\x52\xb9\x6a\x27\x23\x30\x46\x1b\xdf\xe3\x1a\x84\x00\xf4\xba\x6d\x07\x18\x21\xbc\x57\x0e\x13\x80\x68\x67\x52\xc5\x62\x3f\xf2\xc7\x5b\x1f\xab\xb0\xf1\xeb\x5c\x60\x9e\x19\xdc\x14\x5d\x69\xba\x42\xeb\x81\xbe\xf9\xfa\xc2\xc3\x3d\x44\xed\x98\xaf\xaa\xc7\x41\x35\x67\x42\x5e\x55\x77\xab\x41\x2b\xd6\xe2\x0c\xb2\x8c\x2b\x73\xef\x6a\x88\xec\xbb\x08\x51\x0b\xd3\x63\xaf\xbb\x1f\xc7\x1e\xc1\xb4\x3b\x80\x31\x67\xcb\x5c\x95\x99\x4b\xc5\xb7\x69\x84\xb8\x0c\xa4\xd3\x4c\xe4\x42\x1d\x93\x4d\x75\x9e\xc8\x7b\xdc\xf1\x2f\xb5\x46\x58\x26\x46\xc4\x15\x0a\x5c\xba\xc3\x70\xc6\x0f\x59\x22\xa3\xb4\x84\x8b\x4f\x17\x3c\xba\xc7\x52\x37\x5d\x4e\x5f\xf3\xce\x6c\x77\x92\x66\x87\xc6\x54\xa6\x29\x7d\xd6\x5f\xa0\x40\x32\x07\x2e\xa0\x87\x84\x33\xce\xee\xae\x27\xed\xdf\xbe\x4f\x9a\xc1\x9c\xf6\xdb\xb3\xba\x41\xe0\xff\xfd\x90\x0c\xc2\x5d\xd6\x28\x85\x45\x65\xab\x3b\xe7\x52\x17\x61\x3d\x6e\xd2\xc2\x18\x10\xf1\x75\x8b\x6b\x7f\xf0\x3e\x5d\x66\xe5\xcc\x4c\x54\x3a\x04\x20\x60\x7a\xf1\xdd\xd5\xdd\x49\xf0\xde\xb6\xad\xf2\xdd\xd5\x1d\x0b\xbe\x81\x64\xd1\xa9\x88\x0a\x87\x34\x1e\xb3\x53\x5f\xc3\xa1\xae\x99\xc7\xe2\x21\x89\x30\x75\x76\x64\xb4\xa2\xa9\x04\x6a\x74\x63\xeb\x1c\x5a\x3e\x4d\xf6\xdd\xd5\x1d\xb1\x70\x7a\xde\x1c\x2c\x47\x01\xd4\x18\xc3\xae\x9d\x1a\x29\xb9\x54\xf2\x10\x29\x83\xf2\xd8\x47\x3b\x46\x60\x5c\x47\x3c\x2b\x4a\x52\x30\x1e\xde\x8c\xed\x9a\x5c\xfb\x48\x88\xe9\x96\x9a\x4a\xa3\x2b\x61\x8e\x01\xd4\xc4\x33\x83\x6e\x2e\x6d\x6d\x52\xf7\x01\x07\xc0\xa4\xed\x25\xfc\x13\x97\x39\xc8\xe5\x86\xf1\x7c\x9e\x14\xb9\x31\xc3\xf0\xe5\x11\x32\x9c\xad\x6c\xdd\x33\x5c\x37\xaf\x19\x51\x19\x43\x58\xe0\x44\x16\x7a\x2a\x83\x04\x18\x97\x6d\x8c\xc9\x0b\x89\x64\x40\x25\x0c\xd8\x1b\x4b\x6d\x1a\xa5\xaa\x8c\xed\xb5\x9a\xbb\xb2\x88\x9b\x0c\x95\xa8\xa9\x04\xc6\x13\x73\xb7\x2a\xa3\x86\xfa\xbb\xff\x98\x7d\x94\x0f\x49\x9c\xf0\xc3\x42\xe8\x94\x1f\x16\xff\xfb\xe3\xa8\xf6\x27\xfe\xe6\xcb\x2f\x3f\x62\x85\xc7\x2e\x3a\x87\x80\xb5\x69\x4f\x07\x4f\x7b\x9c\xc2\xf1\x1f\x9a\x5d\xba\xc7\x3a\x9d\x27\xf7\x82\x7d\xc4\xe5\xfe\x48\xe4\xc7\x4f\x5b\xb6\xa9\x6c\x5b\x37\xf6\x94\x65\x03\x2a\xfa\xf6\x75\x63\x5b\x96\xed\xcd\x72\xfc\xfb\xe5\xdc\xac\xd6\x57\xcb\xf1\x9b\x2f\xe1\x3f\x6b\x6b\xb4\xeb\xf0\xba\xec\x99\xb6\x6e\xb7\x08\xa2\x96\x63\xe9\x64\xd1\x54\xee\x16\x46\x6c\x98\x2c\x82\x5d\xdb\x76\xf0\x79\x21\xf6\xcd\x9a\x45\x4e\xec\x01\xe8\xeb\x06\xd9\xf8\xd6\x88\xe0\x9e\x4c\xdd\x9e\x65\x1b\xe0\x9e\xdd\x94\xe1\x21\x00\x17\x7e\x1c\xc0\xf3\x03\xcf\xf7\x1b\x4f\xed\xd9\x1d\xc3\xd9\xde\xcd\x54\x88\x01\xcc\x34\x37\xe6\xf1\x9e\x9d\xac\x3c\xba\xad\x8f\x8f\x1c\xeb\x4c\x36\x8b\xe0\xc4\x64\xad\x0f\x39\x45\x76\x3b\xa2\xcb\x44\xbb\xb4\x41\xd7\x13\x0b\xad\x74\xf6\xb5\xfd\xee\x92\xce\x52\x58\xc6\xd2\x45\xdd\x5a\x36\x7e\xe0\x8a\xd8\x13\x0a\x67\x4c\xea\xd9\xba\x37\xc1\xba\xff\xf0\x3b\x7a\xf9\x43\x83\x6e\xdd\xa9\x97\x1f\x20\xe3\xdb\x91\x6c\xad\xb9\x34\xda\x9a\xfd\x6a\x47\x60\x09\xad\xfc\x27\x75\xe9\x2e\x7b\x52\x87\xf0\x8b\xfd\x92\xb5\xec\xa7\x6c\x2b\x8f\x18\x5b\xe5\x29\xc6\x0e\x8a\x15\xb8\x95\x7d\x65\x64\x2b\xe6\xbc\x7b\x19\xab\x28\xa7\x3c\x5f\xa2\xd3\x4b\x8b\x42\x1f\xb4\xac\xb0\xcf\x63\xdb\x63\x85\xad\xda\x35\x1b\xc6\x1f\x62\xf5\x31\x70\xa9\x6c\x3b\x69\xae\x97\xd5\x62\x1b\xce\xd2\xb2\xdf\x0f\x99\xe4\x7d\x72\x5d\xa4\x72\xac\x4c\x05\x3c\xaf\xdd\xfc\x5a\x7b\xd2\xcc\x5e\xf0\xb5\x63\x8f\xa1\xd6\x6c\xca\x2f\x76\x6e\x2e\xa0\x4e\x4c\x77\x1f\x7a\x71\xc8\xf6\xed\x02\x31\xdd\x76\xf5\x60\x2a\x4f\xec\x23\x9e\xed\x5a\x27\xe8\x65\xc1\x74\xc4\x72\x8e\x19\x2e\xe0\x33\xe3\x7e\xd6\x69\x70\x1d\x83\x18\x9a\xe8\x5f\x1b\xc2\x9d\x16\xb9\xbf\x8d\x3c\x1b\x6a\x38\x8e\x8e\x2f\xf7\x63\x43\xde\x2a\xd1\xed\x10\xa9\x29\x3b\x97\x3b\x3e\xac\xf2\x5d\xcc\x92\xdb\x3e\x6a\x11\x17\xe6\x14\x2f\x81\xd7\x2c\x28\xd0\xdd\xf5\xf5\xfe\x66\x12\x0d\x83\x68\xb8\x11\x43\x01\x59\x09\xe9\xc6\x1f\x12\x4f\xd9\x5e\xfb\x58\x53\x56\x14\x7b\xdd\x05\x09\x5f\xcf\x72\xd5\x5d\x36\xbc\xc7\x7c\xd9\x26\x2a\x11\x83\x15\x96\x11\xdd\xb0\x9f\x4b\x9e\xe2\xd5\x2a\xe9\x30\xd8\x6e\x83\xf3\xe5\xab\x3f\xb0\x13\xb8\xfb\xd8\x07\x90\xca\x00\x19\x83\xd6\x0a\xc5\x92\x75\x26\x72\xad\x24\xef\xac\x9f\x7f\xff\x8d\x9e\x51\x0d\x60\x63\x98\xab\xb2\x59\xef\x77\xc0\x48\x5a\x5a\x0b\x07\xc5\xd9\x7d\x39\x17\xb9\x14\x05\x20\x11\xe1\x39\x66\x9f\xeb\xd5\x5d\xc5\xcb\x62\xf5\xd5\x2c\x4a\x93\xde\x85\x89\x21\x5f\xf5\xc4\xbc\x76\x8a\x6f\x6d\x1b\x40\xa5\xfd\x4a\xd7\x25\xc3\xdf\x18\xfe\x36\x66\x6f\x79\x74\x2f\x64\xcc\xb2\xb4\x5c\x26\x44\x7b\x83\xc6\x46\x52\x75\x2b\x54\x07\x86\x9a\x0d\xb6\x6f\x2e\xc1\xa9\x5c\xf3\x7b\x2c\x29\x43\x2a\xac\xb1\x5b\xba\x48\x13\x9d\xa3\x66\x96\x34\xf7\xee\xce\xd5\x72\xb7\x71\xb3\x99\xfa\xde\xd3\x25\x66\xeb\x3d\xae\x14\x61\x9c\x2a\x7e\xa2\x01\x07\xd7\xed\xd6\x06\x3b\x99\x65\x90\xd1\x22\x2a\x73\xf3\x04\x75\x06\x4f\x2f\x04\x10\xa1\x2c\x52\x29\x19\x07\x82\xb3\x57\x9a\x95\x99\x15\x22\x10\xd9\x4a\x01\x67\x84\x4b\x60\x7e\xc8\x92\xe8\x1e\x91\xad\x90\xbb\xc1\xdc\xf0\x1a\x45\xc5\x99\xf0\x10\xcb\x36\xd1\xb0\x40\x7a\x9f\xfd\x50\x33\x8d\xaa\x4a\x3b\xf6\x69\xcf\xbc\x94\x62\x25\xe4\xec\x09\xc5\x7d\xfa\x2f\x5a\x25\x07\x85\x94\x70\x17\x21\x74\x53\x58\xca\x84\xc8\xbc\xbd\x85\xef\x2a\x57\x24\x8b\x9a\x12\x9f\x68\xa6\x79\x91\x68\x23\xcb\x5a\x67\xdc\x93\x2a\xed\x33\xeb\x7c\x18\x93\x53\x0b\x8b\x53\x6d\x2e\x5c\x9e\xdb\x98\xbd\x87\xb8\x4a\x60\x97\x28\xc7\x89\xd4\x25\xb0\x8a\x95\xe8\x24\x07\x7e\x0e\x80\xa8\x1d\x41\xf0\xfc\xd6\x70\x99\xcb\x69\x1c\xb3\x13\x1f\xcf\x46\x56\x28\x8c\x54\xef\x18\x91\x48\xb5\x78\xca\xe6\xeb\x15\xfa\x01\xcc\x17\x6c\x20\x06\x7a\x9c\x36\x7f\xf7\x2c\xf1\xae\x9b\x8f\x40\x1b\xc0\xef\x85\xdc\xe6\xdf\xef\xdf\x43\x0c\xc0\x6c\x75\x48\xb8\xc8\x8e\xc2\xe0\xce\x53\x3a\xd8\xff\xd8\x79\x22\xae\x64\x71\x64\xa6\xdc\x18\x41\xd1\x3d\x25\x2b\x62\x7c\x8f\xa8\xbc\x1e\x57\x4a\x87\xe7\xcc\xae\x1f\xda\xd1\x79\xe9\x6a\x76\x41\xb2\xa7\x9b\x60\x44\x79\x4a\x15\x32\x7d\x41\xaf\xdd\x21\x45\xa7\x92\x5b\x6f\x66\x45\x28\x4c\x03\xe0\x22\x6c\x53\x2d\xa7\x59\x66\xe5\x73\xd5\x84\xd9\x4d\xaf\xdd\x9c\xe1\xf6\x0e\xed\x5f\x9d\xe6\x45\x2a\x97\x3b\xb2\x53\xc4\x88\x79\xc0\x3f\x5e\x75\x49\xfe\x84\x68\xb6\x2f\x0f\x5e\xab\x69\x4c\x50\x05\xe7\x80\x34\xcb\xea\x73\xb7\xe0\x92\xe5\x70\x3b\x8a\x54\x65\x75\x4c\x0b\xef\xee\x29\xf8\x73\xeb\x5d\x0d\x57\xe0\x87\x6f\xf4\x25\xcc\xf3\x73\xd0\x01\xa1\x9f\xf7\xf9\x53\xf1\x9e\x08\x42\x70\x20\x73\xeb\x7f\x56\x90\xa6\x43\xaa\x4a\xa6\x62\xe6\xb7\x46\x57\xae\x93\x94\x0a\x41\xc6\xbf\xc2\x61\x05\x9d\xeb\x3d\xb6\x5d\x3b\xf4\x43\x80\x54\x64\xf3\x32\x49\x63\xe4\x89\x0c\x6c\x04\x65\x95\x50\x28\x50\x05\xbb\x35\xd1\x4e\xc5\x68\xdf\x63\x57\x2a\xde\x67\x63\x0d\xe7\x02\x6e\xee\xeb\x6d\x53\xea\x22\x8f\x01\x9a\x6c\xbd\x7b\x26\x32\xd5\x9d\x82\x12\xcf\x74\xb5\x22\xf3\x96\x0e\x03\xe6\x70\x5e\x2e\x6e\xa0\xfc\x6b\x17\x2d\x56\x50\x19\xd1\xe6\xb9\x9b\x75\x36\x9f\x71\x59\x97\x5d\x8b\x42\x10\x36\xaf\x11\x72\xf6\xc7\x9b\xcb\x8b\xc3\x35\xcf\xf5\x8a\x03\xed\x88\x6d\x6b\x64\x2b\xea\xa3\xbf\xc6\x42\x6b\x12\x39\x95\x87\x6c\xa9\x46\x08\xe4\x3a\x66\xab\xa2\xc8\xf4\xf1\xd1\xd1\x32\x29\x56\xe5\x7c\x1c\xa9\xf5\x91\x9f\x9a\x23\x9e\x25\x47\xf3\x54\xcd\x8f\x72\x01\xa9\x3c\x87\x6f\xc6\x5f\xbd\x81\x95\x39\x7a\x78\x73\x04\xf0\x9d\xf1\x52\xfd\xeb\xf9\x57\xff\xfe\xf5\x1f\x4c\xc3\xd9\xa6\x58\x29\x79\x4c\x28\xb1\xad\x6d\x1f\xa2\xa1\x76\x84\xaf\xd4\xbe\xf2\xef\xe3\x2f\xc3\x6e\xd0\xa3\x6b\x15\x8b\x54\x1f\x3d\xbc\x99\xd9\x85\x19\x67\x1d\x35\x4b\x7e\x4b\x7e\xf9\x0c\xc9\x2f\xf7\x49\xf1\x5b\xf2\xcb\x2f\x9a\xfc\xd2\x5f\xe9\x75\x32\x06\x58\xca\xbd\x7c\x34\x7f\x77\x32\xd2\xc6\x82\x76\xc9\xa1\x96\xcb\x21\x4c\x4d\xdc\xe3\x8a\x18\x58\x42\xb0\x36\x5c\x67\x4d\x76\xf8\x7c\x87\x56\x0a\xea\xb4\xef\x06\x31\xb1\x00\xd4\x34\x89\xc0\x5b\x8b\x3e\xea\x8c\x27\x6d\x29\x2d\x41\xe5\xa4\x3d\xa6\x10\x2b\xb9\xb4\xd3\xce\xf5\x29\x78\x46\x35\xbf\x44\x3c\x7b\x96\xd2\x67\xad\xdf\x40\x54\xee\xe0\xf6\x1b\x96\x4f\x0f\xe3\x84\xec\x84\xbd\x66\xf4\x05\x8b\xd4\x3c\x77\x75\x1a\x1a\xee\x13\x2b\xd3\xa4\xf8\xb6\x45\xd5\xab\x47\x5b\x91\xe6\x39\xea\xb8\x0c\xb5\xd8\x70\x93\x42\x5f\x6c\xbf\x3a\xba\xb1\xe2\xfa\x69\xe9\x19\x27\x48\x02\xed\xcc\x38\xc4\xb6\x27\xda\x7e\xd0\xde\xc6\x96\xff\xca\x5c\xee\x96\x66\x33\x2b\xf3\x4c\x69\xa1\xc7\xec\xbd\xca\x91\x58\x8d\x58\x8f\x7c\xca\xc9\xf5\xfb\x53\xf6\xe6\x9b\x7f\xff\x7a\x2a\x5f\xb7\x28\x43\x70\x89\xaa\x7c\x49\x19\x30\xa0\x02\xad\xb9\x2e\x44\x7e\x94\x2f\xa2\x23\xbc\x3a\x8e\xcc\xfb\x87\xf4\xd1\x43\xb5\x38\x74\x45\x2a\x0e\x89\xaf\x7f\xbc\x8e\x0f\xba\xb0\xa1\xed\x0a\xf7\x2f\x66\xf4\x9c\x74\x28\xe6\x6d\xeb\xbb\x5b\xb0\x56\x8e\x10\x2a\x22\xa4\x85\x68\xd0\x58\x90\x0c\x53\x2d\x5c\x59\x25\xcc\xb4\xc6\x0a\x6c\x6a\xd1\xf2\x1f\x6f\x53\x35\xd7\x07\x8e\x82\x97\x6b\xfb\x0d\xcf\x89\xd9\x26\xb7\x1b\x67\x6e\x1f\xeb\x9b\xa6\xe2\x25\x1d\x9b\x56\x26\x86\xcb\x36\x64\xe2\xdb\x85\x86\xd7\x05\x91\x11\x8c\xe7\xaa\x94\xb6\x6e\x89\x92\x42\x2d\x00\x68\x06\x66\x92\xc5\xc9\x42\x6c\x07\xd0\x97\x8e\xfd\x2b\x17\x19\x6a\x1f\x10\x85\xec\x9e\xee\x3d\x6b\xf7\xec\x9a\xe7\x97\xa8\xdd\xb3\xef\xbc\x93\x60\xfc\x85\x26\x7c\xdf\x64\x16\x3c\x4a\x43\x30\x60\xe6\xf9\x9d\x78\x0f\x27\x07\x7c\xed\x70\x5f\x26\x23\xe3\x39\x68\xf0\xe2\xb0\x50\x87\x40\x9b\x08\x64\x7c\x58\x4d\xab\x0b\x04\x06\x38\x99\x21\xd7\xbd\x79\xbe\x47\x3f\xd1\x6a\xfb\x14\x74\x94\x14\x56\x8d\x1c\xf4\x94\x14\x90\x48\x29\x72\x8a\xc1\xef\xd4\x0c\x06\xa2\x68\xc2\xa5\xdc\xd6\xd9\xd0\x4d\x11\x56\x3a\x72\x19\xa1\x3c\x10\x02\x63\x06\xa6\xc9\x4a\xad\x95\xd1\x75\x55\xa9\x83\x1f\xd1\xb4\x05\x65\xa2\x53\x31\x5f\xf3\x0c\xf5\xd5\x5f\x6e\x34\xe6\x68\x99\x9f\x30\x08\x10\x3e\x34\xa8\x78\xdc\xbc\x5a\x2e\x6b\x47\xff\x5d\x9d\xa3\xed\xfb\x06\x30\x5a\x6b\x08\xba\xae\xf8\x83\xb0\xd5\x4b\x92\xbf\x1b\xa3\xd7\x6c\x29\x67\x46\x3a\x0d\x04\x21\x85\xc8\x06\x1e\x02\x68\xed\xad\xdb\xc9\xd7\x53\xae\x07\xae\x81\x4b\x73\xeb\xb3\x00\xe0\xfd\x2e\xd7\x2e\xe3\xeb\xb0\x35\xe5\xab\xeb\x5c\x82\x5f\xad\x34\x96\x89\x65\xac\x1f\xd6\xd5\x1b\xd7\x00\x91\xd3\x37\xfb\xed\x09\x3f\x21\x3f\x10\xe7\x18\x05\x82\xd5\x2d\xba\x60\xe6\xc3\x0f\x23\x94\x0e\x1c\x32\x77\xf0\x11\xdc\x9c\x8d\x19\x0c\xce\x42\xd7\x04\x0e\xf3\xbf\x6e\x73\x67\xb6\x65\x18\x20\x47\xb2\xcf\x1f\x37\xbd\x6c\x78\x16\xdc\x8b\x0f\xbe\x3c\x35\x00\xb0\xe7\x25\xfc\x7e\x71\x79\x1b\x62\xcb\x12\x1c\xed\x61\xb4\x12\xd1\x3d\x78\xd3\xf0\xca\xc3\xc3\x40\x74\x08\x00\x78\xf7\x45\x6d\x0b\x65\xa1\x4a\x1b\x57\xe7\xc7\xd5\xba\x52\x39\x8b\x13\x9d\xa5\x7c\x03\xa0\x10\x89\x99\xa2\x1e\x50\xe2\x52\xac\x8d\x28\xd8\x15\x4c\xe8\xbf\xd2\x66\x55\x4e\xfc\x7b\x43\xe7\xd2\x43\xff\xfd\x64\x36\xe5\x01\xd3\x62\xcd\x65\x91\x44\x53\xb9\x16\x5c\x86\x18\x62\x02\xc5\x98\x49\x8e\x95\xa0\x8a\x15\x8b\x85\x88\x0a\x4f\x79\x0d\x46\x88\x9b\xa9\x5d\x67\x70\xd8\xd8\xdd\xc9\xdb\x3a\xf4\xef\x6d\xe1\xed\x64\x0d\x08\x75\xda\x43\x74\x35\x3e\x31\xd8\x0b\x45\x90\xe9\xca\xb5\x46\x2d\xfc\xcb\xee\x29\x36\x17\xc5\xa3\x00\x46\x27\xa2\xa0\x68\xd3\xf1\xf7\x2e\x84\xb5\x4f\xfa\xe6\x89\x8b\x22\x12\xc1\x7f\x83\xc2\x99\x0e\x58\x08\x7d\x75\xd4\x93\xb2\xc6\x21\xf9\x8a\x48\x31\xc0\x15\xf8\x8a\x9c\x9a\xaf\xe0\x9a\x36\x56\x70\xfe\x20\xe2\xa9\xac\x12\x7b\x92\xce\xe8\x0f\x1c\xf3\x25\x5e\x9f\x47\xda\xd8\x39\xee\x15\xe8\x39\x03\x32\x33\x4f\x63\xee\x68\x1f\xb6\x94\x9c\x6d\x8f\x2f\xbf\x40\x35\xd3\xde\xc6\xb0\xaf\x02\x4b\x25\x1c\xa9\xe2\x73\x05\x7f\xe5\x36\xa5\xa3\x2d\x44\x4e\x63\x07\xd7\x27\xa7\x75\xc3\x0d\xde\xd6\xc6\x54\x5a\x3e\x9f\x45\x99\x22\x4f\x7d\x57\xd6\x14\xb1\x98\xda\xdc\xe3\x5f\x2e\x07\xdd\x39\x5d\x59\x50\x35\xd7\xc1\xa4\x82\xd4\x09\x94\x75\x76\xd7\x0b\xa9\x4b\x50\x29\x6c\xc1\x4c\x88\x4a\x2c\x45\x01\xb7\x79\x5c\xa6\x08\x99\x85\x70\x0a\x30\xa2\xf2\x34\x65\x49\xa1\xa7\xd2\x11\xb8\x62\x6a\x14\x48\x58\x1b\x6f\x89\xc9\xe4\x82\x4f\x40\xb3\xf0\x33\x97\xa0\x87\x25\x51\x52\x34\x12\x4e\x36\x61\x91\xb9\x2c\x13\x1c\xd9\x14\x70\xd9\xa6\x32\xb4\xb9\xea\x8b\x40\xd4\x03\x3c\x4d\xb8\x7e\x0e\x16\x80\x2d\x8e\x5b\xf3\x89\x27\xe1\x9c\x70\x74\xc6\xe0\xb2\xf5\xe3\xb1\xb7\xc4\xe0\x44\xb8\x70\x63\xd5\x14\xda\x06\x50\xbc\xdd\x0a\x59\x55\x51\x99\xf2\x1c\xd3\xc9\x16\x65\xca\x92\x45\x50\x0a\x1f\xd6\x00\xe9\x3b\xcd\x72\x45\x0a\xee\x6a\x1b\x42\xd1\x7c\x2d\x02\xe6\x20\x72\xef\xa4\x01\xe6\x0a\x6b\x92\x20\x98\xc7\xb4\x75\x30\x66\xef\x3c\x41\x31\xae\x30\x9c\x89\x80\xf6\x3b\xd1\x28\xfe\x5c\x7f\x03\xd2\x0b\x18\x9d\xe9\xa2\x92\xe6\x44\xba\x53\xd7\xb1\x82\x50\x3e\x68\x18\xa0\xcb\x16\x8f\xda\x9e\xe3\xd0\x4a\x7a\x63\x5e\xad\xc1\xbc\xdc\x81\xe8\xe8\xa0\xbd\x15\x06\x76\x32\xa4\x4c\x7f\x42\x47\x1d\x25\x7d\x4b\x67\xd7\x5b\x2a\xef\xc3\x3a\x0e\xec\x6a\x50\xc7\x72\x78\x47\x83\x9d\x13\xc2\xf7\xfa\xcc\xec\x92\x17\x43\xb1\x7c\x2e\x75\x70\x78\x47\x5b\x71\x93\x7d\xba\x09\xd2\x63\x60\x3f\x4f\xcc\x3b\x4f\xec\xa8\x2e\xe7\x87\x28\xa0\x5d\x45\x2a\x10\x15\x82\x47\xab\x2a\x8b\x87\xe5\xda\x76\x23\x80\x2c\x4e\x38\x8f\xc3\x21\x5b\x27\x7e\xcf\x41\x29\x4f\x66\xba\x3f\x66\x97\x52\x20\xd2\x56\x2d\x82\x4b\x85\x3a\x40\x35\x3f\xa1\xdc\x91\x93\x72\x73\xd3\x31\x79\x6f\xc9\xcd\xcc\x91\x1b\x31\xee\x5b\x07\xa9\x87\xdb\x06\xa5\x48\x87\x2e\xd9\x56\x1c\x6c\x0f\xf5\xb2\x1f\x45\x48\xbb\xcd\x1f\x00\xd6\x87\x4b\x80\xb6\x71\xf4\x5f\x96\xad\x99\x27\xce\x8a\xb3\xe9\x26\xd5\x7d\xc3\x10\x7e\xbe\x6b\x7e\xaf\x56\x55\xd4\xf2\x80\x12\x9d\x77\x17\xef\xce\xde\x4f\x2e\xaa\x15\x30\xff\x74\x77\x76\x57\xfd\xcb\xf5\xdd\xc5\xc5\xe4\xe2\xbb\xf0\x4f\x37\x77\xa7\xa7\x67\x67\xef\xaa\xcf\xbd\x3f\x99\x9c\xd7\x9e\x33\x7f\xaa\x3e\x74\xf2\xf6\xf2\xba\x56\xc9\xb3\xa5\x0c\xe7\xed\xe4\xc3\xd9\xbb\xd9\xe5\x5d\xa5\x18\xe8\xbb\xff\xbc\x38\xf9\x30\x39\x9d\xb5\xf4\xe7\xfa\xec\xf4\xf2\xc7\xb3\xeb\x1d\x25\x3b\xfd\x78\x5b\xa7\xf4\x39\xb0\x85\x4f\xae\xec\x7a\xc2\x16\x79\x22\x64\x9c\x6e\x30\x57\xc7\x5a\xb6\x35\xf0\x7d\x78\xf7\x26\x6b\xa1\xca\x7d\x52\x6e\x6e\x57\x82\xa9\x07\x91\x03\x0f\x1b\xb6\x46\xa4\x2d\x9e\xf3\xa1\xfe\xd5\x5c\x14\x79\x33\x2a\xb0\x35\xaf\xb1\xc8\x37\x2e\x73\x76\x5b\x77\x3c\x87\x27\x7d\x84\x65\x22\xdf\xd6\x17\xd0\x8c\xf2\x32\x2b\x92\x79\x77\x12\xd5\x60\xea\x83\xbe\xb6\x37\x32\x4e\xb7\xd3\xf3\x5d\xb4\x0b\xc6\x4a\x2e\xd1\x3e\x89\x0a\xd0\xc2\x53\x0b\x16\xbb\xb7\x2d\xb8\x3b\x2b\xe7\x69\x12\xb1\x24\xae\xfb\x53\x88\x91\x04\x5c\xc6\x75\x62\xfa\x4c\xe4\xa0\xaa\x1a\x0b\x20\xcb\xc5\x21\x2f\x8b\x15\x92\xa8\x52\xea\x12\x95\x11\x9a\x4a\x2d\xa2\x5c\x60\x2c\x40\x68\x70\xd2\x62\x41\xda\xe0\x4b\xd0\x19\xe2\x10\x8a\x81\xae\x70\x1c\x14\x09\xea\x88\x11\xe0\x9b\xd8\xfa\x00\x27\x29\x3e\xbf\x75\x6a\xa8\xc7\x09\x96\xbc\x0d\x60\x61\x70\xc3\xe3\x8f\xb6\xac\xad\x19\xb7\x91\xd4\xae\xac\x2b\x2e\xb2\xcd\xf5\x6a\x1f\xc6\xae\x3d\x16\x6e\x94\x6a\xf2\x13\xb5\x4e\x3f\x9d\xe6\x02\x2e\x11\x82\x34\x58\xff\x05\xe0\x9a\x28\x37\x0c\x52\xc2\x8c\xa9\x36\x17\x2b\x9e\x2e\x50\xe3\x30\x4b\xd3\xce\xeb\x82\xed\xdf\xaa\x7b\x21\xaf\x71\xc1\x7e\x11\x71\x28\xd1\xf2\xf1\xac\x52\xce\x23\xe4\x5d\x98\xa6\x8f\x76\x57\xd9\xcc\x5c\x50\xa6\x0a\xb4\x13\x82\x9f\x31\x05\xcc\xd7\x8c\xb0\x49\xbd\x8b\x45\xf2\xc9\x34\x38\x95\xa2\x95\x35\x1f\xc0\x64\x96\xdf\xd3\xc9\x65\x00\xce\x21\x49\xe2\xbd\x90\x50\xd1\x16\xe8\x19\x77\xef\xd9\x61\xfe\xf3\xe6\x5a\x6c\x71\xe8\x83\xcf\x2f\xa9\x14\xfa\x0d\xa3\x3c\x76\x9e\x0a\xcc\xc9\x73\x2c\x28\xb0\x6f\x4e\xcf\x27\x67\x17\xb7\xb3\xd3\xeb\xb3\x77\x67\x17\xb7\x93\x93\xf3\x9b\xbe\xc7\xef\x39\xf2\x28\x6b\xa7\xaf\x9e\x4e\xe8\x24\xc4\x11\x9d\x3c\x4f\x26\xe0\x06\xe5\x8f\x1d\x2c\xc9\xee\xde\x27\x71\x36\x8b\x13\x1d\x99\xeb\x6f\x33\x13\x32\x86\x72\x23\x4f\xda\xaa\xed\x4d\xd5\x47\xe1\x9e\x60\xee\x09\x2b\x41\xf0\xb6\x7b\xb0\x3b\xda\xfd\x0e\x90\x4c\x70\x43\xe6\xc2\x1c\xfe\xb8\xc2\xf2\x32\xde\x5d\x63\xce\x34\xb7\xdf\xd8\xaa\x4d\xd4\xc7\x84\xfd\x4d\xb4\x2e\x81\x4c\xc6\x3e\x06\x78\xd4\x8e\x59\x21\x0e\xe8\xb0\xe6\x09\xba\x49\xf8\x5a\x14\x50\x89\x62\x2a\xd7\x5c\xc6\xbc\x50\xf9\xa6\x63\x88\xfd\x84\x67\x78\x6c\xaa\x22\x34\xbc\xb2\xa5\x10\xb1\x5d\x05\x7c\x94\xcb\xfa\x56\xc2\xca\x28\xb7\x97\x3f\x9c\x5d\xdc\xcc\xce\x2e\x7e\x9c\x5d\x5d\x9f\xbd\x9f\xfc\xd9\xc1\x64\x33\xae\xdb\xca\x7b\x67\xb9\x30\xd2\xc5\x12\xcd\xb5\xca\x17\x2c\x9a\x6d\xdb\xa1\x42\xa9\xc9\x62\x2a\xad\x64\xc9\x7d\xf3\xab\x5c\x95\xcb\x55\x7b\x43\xf5\x5e\x5e\x9d\xdc\x7e\xff\xa4\x6e\x02\x0d\x28\x56\xd6\xc5\xd3\xd6\x84\x0b\x27\x0b\x92\x7b\x88\x31\xae\x75\x0f\xc8\x6c\xe1\xd1\xb6\x28\x43\x87\x44\x7b\x92\xf5\xd2\x14\x5a\x5b\x95\xff\x96\xc7\xbb\x36\xd0\x6d\x20\x37\x2b\xd7\x08\xc0\xd7\xb1\x3c\x7b\xa3\xb5\xe3\x96\xbf\x55\x6e\xb0\xaf\x0e\x53\xb1\x5c\x8a\x18\xb7\x57\xbd\x61\xf2\xc1\x91\x08\x8c\xfc\xbd\xde\x36\x8b\x54\x42\x79\x8f\x8b\xd9\xe1\xbd\xfa\x0b\xf0\x2b\xf7\x4a\xbb\xac\x38\x25\x2a\x2f\x88\x6f\x16\x5c\x76\x04\x92\x77\x67\xe4\xb5\x37\x7f\x99\x33\x97\x2c\x49\x0e\x13\x1b\x32\xf0\xe7\xa0\x0b\xf0\xb2\x3f\xbe\xd5\xf5\xe3\x5a\x64\x29\x8f\x84\x4b\x70\x41\x0e\x66\xb0\xeb\x9f\x12\xc0\xa3\x42\xd5\x92\xfc\x2d\x41\x01\x6b\x5f\x9b\xaf\x6d\x0b\x80\xe7\x76\xdf\x9c\x44\xf2\xff\xbe\x1c\xc4\x15\x3f\xf0\x3c\x59\x89\x7e\xc8\xf5\xb4\x44\xeb\xc6\x76\xb6\xeb\xd3\xf2\x12\x5b\x3a\xbb\x33\x31\x11\x3b\x75\x6d\xef\xc5\x97\x77\x71\x6d\x35\xa0\x89\x01\x17\x1c\xfe\x58\xb1\x95\xf2\x53\xd0\x27\x08\x65\x90\x3b\x73\x07\x06\x1d\xcb\xda\x97\x7f\xa4\x39\x43\xdf\x45\x35\xe0\xc0\x65\x7d\x66\x9d\x0a\xbf\xcd\x6f\x5b\x14\xf9\x56\x5a\xfa\xe7\x08\x0b\x5d\xe5\x6a\x9d\x68\x71\x52\x14\x79\x32\x2f\xc3\xba\xdc\x03\x81\x8b\x15\x23\xd1\x0f\x38\xcb\x55\x5c\x46\x96\x48\x0e\x46\xeb\xe1\x57\xe4\x6d\xb5\xda\x5f\xcc\x0e\x8d\x14\x20\x0b\x5a\xc4\x87\x90\x75\x83\x4c\x87\x6d\xb1\x4e\x7b\x41\x75\xf8\x60\xaf\xac\x4a\xf5\xcc\xd9\xd3\xdd\x93\x69\xf7\x40\x3f\x42\x04\x66\x1f\x07\x4b\xa4\x03\xbd\x46\xdb\x65\xce\x11\xc8\x50\xd5\x15\xbb\x78\xa3\xdc\x95\x3f\x4c\xa6\xf5\xc3\x28\x55\xd3\xda\x50\x92\xac\xb8\x46\xb3\xaa\x88\x56\xd5\x8e\xc3\x68\xaa\xfc\xd9\xf5\xee\x3a\x33\x65\x3f\xf7\x55\xaf\x70\xe6\x08\x1d\x3e\x09\x05\x18\x2a\xb5\x90\x5d\x61\xf7\xce\x38\x0a\xa6\xbe\xcc\x7e\x2e\xc5\x90\xfa\xe6\x36\x65\xe6\x4f\xf0\xda\x4e\x60\x50\x82\x92\xda\xf9\xc0\x8b\x64\x6d\x34\x51\x9e\x47\x2b\x36\xe7\x9a\x88\x39\x43\xde\x90\x5c\x68\xb3\x1e\x89\x79\x8b\x47\x05\x15\xa6\xb6\x9f\xb5\xc5\xa9\x6f\x2d\x24\xd5\x98\x17\xde\xfb\xd4\xb6\xdd\x76\x4d\xc0\x90\x28\x82\xed\xc6\xe4\xdd\xa0\x58\x4e\x68\x0f\x39\x7f\x05\xaa\x3a\xa0\x25\xa4\xbc\x94\xd1\x8a\x65\x29\x47\x6a\x95\x15\xd7\x28\x28\x2c\x52\x8a\xcf\x93\x34\x29\x80\x31\x0f\x03\xf8\xb5\x7d\xab\x72\xb6\xe6\xf9\xbd\x2d\x3c\xc2\x3d\x3d\xe2\x36\x51\xb2\x27\x22\xdd\x8d\xea\xb3\x62\xd2\xbd\x20\x0c\x85\x7b\xbf\xc3\x4e\x8a\x81\x5f\x0e\x73\xbd\xc1\x61\xf7\x63\x19\x16\xa5\xa3\x16\xaf\xea\xaf\xd7\xe6\x1b\xa9\x58\xf7\xa2\xcb\xde\x9a\x1f\xf7\x22\xe0\x7f\x9f\xdd\xb7\xfd\x1a\x6d\x0e\xb8\xc5\x18\x79\x02\xbf\x06\x96\x10\x1b\xa0\xc4\xd4\x0b\x8c\xb5\x9e\xfb\x45\xaa\x78\xb1\x3d\xdb\x10\xeb\x85\x75\xb5\x1d\xab\x72\xde\x55\xa1\x06\x7b\xf5\xf4\x5c\x46\x2b\xfe\x9f\x2b\xf6\x11\xde\xa3\xbc\x10\x46\xfa\x3e\x6d\x42\xcd\xdb\x87\xf0\x7a\x7b\xe3\x94\x4d\x3e\x98\x9b\xc5\x6d\x03\x5f\xb5\xd2\xd9\x60\x00\x0d\x6e\x39\x4e\x75\x25\x6f\xaf\xdc\xd3\xfd\xd6\x2b\x91\x3b\xb6\xd2\xee\x42\x78\x5f\x7f\xd5\x27\x2b\xf4\x4f\x25\x37\x17\xc0\xe5\xe2\x06\xa9\xf2\xf6\x19\x74\x91\x34\x8f\x55\xbb\x18\xa8\x7f\xf5\xb6\x1a\x2d\x0f\x37\x7e\x6f\xd6\x89\xb6\xd1\xdc\x98\xb7\xfb\x8b\xdd\x49\xc5\x2b\x9e\xe5\x89\x02\xca\x38\x63\x2e\xca\xad\xf5\x0b\x5a\xbf\xbb\xc7\x4c\xfe\x5c\x8a\x52\x98\x0d\x34\x2f\xe3\x65\x33\x68\x35\xc0\xe0\xf2\x43\x5a\xa9\x47\xb6\x2e\xa3\x15\xb3\x8d\xb3\x58\xa4\x7c\x53\x55\xa3\x8c\xad\x51\x28\x20\x13\x1f\xc4\x9c\x19\x94\x80\x88\x4a\x5d\xa8\x35\xe4\x0b\xf8\x76\xf3\x52\xc2\x29\x67\xdc\x9e\xae\xb6\x0b\xad\x42\x6d\xfb\x44\xa4\xc2\xcd\xd5\xd9\xe9\xe4\xfd\xa4\x06\x13\x38\xb9\xf9\x21\xfc\xf7\x4f\x97\xd7\x3f\xbc\x3f\xbf\xfc\x29\xfc\xdb\xf9\xc9\xdd\xc5\xe9\xf7\xb3\xab\xf3\x93\x8b\x0a\x98\xe0\xe4\xf6\xe4\xe6\xec\x76\x07\x5e\xa0\xf9\xd5\xee\x85\xe0\x01\xf3\xae\xcd\x60\xb0\x65\xa5\xac\xdb\x90\xbe\x7a\xcc\x4e\x2c\x0f\x71\x85\x29\xdb\x62\x3e\x00\x24\x96\x22\xd6\x15\xa1\x21\xef\x78\xc1\x4f\x79\xc1\x53\xb5\x1c\xb3\x13\x46\xf9\x1d\x98\xb7\xa3\x8d\x4a\x48\x24\xad\x66\x75\xb0\x09\xa3\x17\x46\xde\x25\xe7\xeb\xe6\xab\x05\xd1\x23\xa7\x22\xac\xb0\x66\x93\x6d\xa7\xf2\xec\x41\xc8\xa2\x04\x45\x9b\xa7\x29\xa3\xcf\xda\x07\x02\x76\x16\xdb\x4b\x9d\xac\x93\x94\xe7\xbe\xc4\xf9\x25\xb5\x05\xc6\xae\xed\xab\xe3\x67\x6c\x52\x7f\x58\x7f\xc0\xdd\x84\x41\xbf\x4f\xcf\x27\xa0\xe8\x46\x85\xad\xdf\x69\x3f\x3e\x95\x48\xbf\x4b\x5f\x5c\x73\xc8\x25\x2b\x14\x05\x4a\xf0\xf3\xf4\x70\xf7\x46\xdc\x4b\xb1\xb2\x21\xc5\x97\x72\x4c\xb8\x4e\xda\xff\x38\x93\x45\xbe\xe9\xad\xbd\xde\x02\xb3\x86\x06\xbb\x8e\xa0\xa9\xd5\xb2\xe7\xe8\xc7\x66\xb6\xf5\x0b\x50\x69\x2d\x6e\x9a\xc2\xac\x2e\x9a\x8a\x30\xb5\x0e\x93\x28\x35\x37\xef\xaf\x75\x1e\x42\x3e\x3c\x98\x85\xb9\x2a\x65\xac\x09\x44\xbb\x4e\xe4\xd1\x9a\x7f\x3a\xb0\x23\x45\x32\x21\x57\x7c\x10\xb8\x43\x45\x6a\xec\xc1\x8d\x11\x72\xdb\xa7\x6b\x2a\xb7\xcc\xd7\x6e\x9b\xc0\x4a\x56\x70\x19\x78\xff\x0e\xc2\x81\x1f\xc4\xa6\x6d\xfd\x1a\x05\x64\x59\x58\x05\x05\x1a\xc9\x72\x61\x1e\x74\x58\xe3\x14\x21\xe4\xee\xdf\x90\x53\x54\x29\x72\xdf\x2e\xbb\x43\xf8\xce\x5e\xc7\xa6\x15\x38\xd4\x5f\xf1\xe9\x5d\x01\x98\xbe\x64\xd6\x0c\x61\x44\x36\x82\x45\x39\x54\x84\x8f\x30\x8b\xf5\x37\x35\x67\x0b\x48\x28\x24\x3f\x41\x2e\x20\x62\x09\x4b\x61\x4b\x56\x01\xc3\x64\x03\x9b\x64\xb7\x40\x2a\x34\xc4\xf1\xa4\x31\xaa\xc5\xcf\x25\x41\x31\xde\x7c\x39\xec\x9e\x2d\xb0\xee\x09\x12\xdd\xd7\x2b\x82\xb8\xbb\x1c\xfa\x55\xca\xa4\x8d\x76\xf6\xba\x94\xe6\x2a\x7e\x0e\x14\x5b\x7f\x98\x42\xed\xa3\xf4\xcf\x9d\x39\x7f\x36\xc2\x96\xe3\xf3\x2f\xc6\x61\xfe\x63\x8d\xba\x9c\x3e\x07\x19\x26\xd4\x7a\x78\xa1\xcd\x79\x74\xff\xc8\xf3\x18\xc3\x30\x00\x2b\x1b\xb3\xef\xd5\xa3\x78\x10\xf9\x88\x45\x22\x2f\x38\x31\x77\x6a\xc0\xd5\xc0\x81\xa2\x76\xa6\x12\x12\xae\x90\x06\x55\xea\x32\x17\xac\x48\x96\xab\x42\xe4\x21\x2a\x4a\xe5\x46\x1c\x15\x48\xda\x9c\x89\x88\x88\xf1\x3a\x26\x60\x91\xf2\x87\x26\x15\xe9\x53\x18\x7d\xd8\xc4\x65\x8d\x5b\xd8\x81\x2d\x03\xb8\x0d\xc7\x46\x13\x46\x42\x13\xa9\xcc\x46\x6c\xa9\x52\x2e\x97\xe3\xf1\x18\x4a\xde\x1c\x0c\xda\xe8\xd4\x60\x08\x64\x70\xd9\x12\xa9\x52\x5a\xa4\x1b\x47\xe6\xe6\xf2\xd9\x00\x40\xfd\xa9\x10\x52\x27\xe8\xd8\x6a\xd9\xfe\x37\xf5\x20\xdf\xe7\x8d\x89\xb6\x9b\xe7\x83\xb3\xa5\x3b\xda\x81\xaa\xc2\x03\x5a\xc2\xe7\xdb\x2d\xaf\x27\x65\xff\xb7\xb7\x25\x95\x1c\x9a\xd2\xfe\xa3\x4a\x3a\x20\x39\x4f\xa2\xdd\x6d\x6d\x89\x08\xa9\x9e\x94\x06\xdc\x3e\x67\x8d\xcc\xec\x3d\x92\xb2\xb7\xe4\x57\x0f\x4c\xad\xee\xe3\x08\xb8\xa9\x2f\xf7\xe0\x63\xb1\xbb\xd0\x61\xeb\x80\x06\xa6\xae\x7b\x8e\x89\x21\xaa\x13\x66\xbf\xa6\x1b\xb0\xb8\x5c\x22\x3b\x84\x07\xe2\x20\xaa\x54\x09\x9a\xc5\x18\x41\xb6\x51\x37\x47\x14\x18\x04\xd9\x74\xa1\x72\xbe\x14\x6c\x2d\xe2\xa4\x5c\xb7\x0a\x1b\xd7\xdd\x7d\x60\xbc\x2a\x2d\xd7\xdd\x94\xad\xfb\x2a\xd0\xbe\x93\xf8\x5f\xa7\xf0\xb9\xfe\x5c\x46\x2e\x43\xc5\xd6\x9b\xa5\xfe\x62\x08\x89\xe6\xda\xdc\x94\x79\xa2\x81\x6f\xfa\x29\x19\xcc\xae\x19\x6c\x1a\x80\x10\x9b\x0c\x9d\xec\x95\xd5\x3d\xb4\x91\x51\x7a\x45\xe3\xaa\x02\x7a\xa2\xfb\x52\xa8\x83\x83\x87\x57\x9d\xcc\x55\xd9\xe0\x00\xeb\x05\x58\x01\xb5\x31\xa8\x41\x43\xe8\x45\x68\x90\x20\x56\x85\x62\x0b\x9b\x13\x7b\x2f\x02\x0a\xca\x18\xaa\xd3\x3c\x22\xf5\xd6\x0f\xdf\x68\x0b\xc6\x22\xbc\x9c\xd7\x58\x0a\xff\x11\x8c\x00\x3d\xbc\xb1\x30\x49\x1c\x21\x36\x01\x44\x91\x31\x97\x45\x6b\x03\x1e\x45\x0c\x6d\xe1\x2b\x3f\xf2\x32\x6d\x7f\x9c\xda\x87\x47\xb1\x7a\xf1\xc9\x4f\x37\x0c\xa7\x9a\x2a\x89\xe4\xdb\x3a\x1a\x34\xb2\x1b\xa8\x09\xd3\x35\x7b\x82\x26\x58\x59\x07\x9c\x74\x5b\xc8\xc6\x4c\xbb\x28\xa2\x95\xd7\x3c\x80\x28\xd3\x11\x7c\x52\x69\x7a\x1a\xe7\xda\xd7\x46\x41\x0c\x7c\x08\x26\x4e\x96\x52\x85\x45\xc5\x94\x14\x10\x8a\x33\x02\x48\x85\xcd\xb2\xa4\xd8\x8d\xd8\x1c\xc8\x0e\xb9\x6b\xab\x15\x0a\x91\x78\x34\xce\x4a\x9c\x1a\x4c\x8a\x04\x69\xc3\x2c\xdc\x1d\x6d\x22\xaa\x74\x5e\xaf\x99\x51\x25\x62\x99\xca\xea\xa7\x1a\x93\x64\x21\x95\x49\x2e\x90\xea\x5e\x1b\xed\xad\x48\x1e\xcc\x41\x6d\x6e\x6b\xb7\x41\x41\x02\x34\xf7\x1e\x85\x6d\x59\xc0\x97\x7f\x2f\x36\x3a\x2c\xab\x4e\x3b\x8a\x75\x6d\xc8\xc4\x8c\x87\xd6\x6b\xf7\x52\xc0\xc4\xcd\x72\x5f\x1c\xb5\xdf\x5d\x86\x1f\xfd\x60\x5e\xde\x82\xd5\x6e\x34\x6e\xf6\xa0\x4f\x3a\xf6\x3e\x45\x12\x13\x7e\x9e\x69\x0d\x3d\x1c\x13\xc0\xb6\x21\x9c\x36\xcc\x20\x03\xc3\xd7\xd8\xb7\x53\x49\x25\x35\x82\x4b\xce\x08\x9c\xe6\xb2\x11\x13\x02\x12\xf9\x6f\x2a\x2c\x4e\x40\x71\x6b\xe9\x7e\xab\x9f\xb4\xd1\x65\xa8\x50\x09\xdb\x03\x3e\x8d\xb9\xe2\xd6\x87\xd7\xfa\xc1\x27\x62\x7c\x69\x71\x3b\x71\xbd\x41\x42\x26\x3e\x49\xc0\x30\xac\xcf\x8f\xd6\x4f\x24\xcc\xf4\x9d\xc8\x56\x48\xad\x05\xd4\xde\x9c\x9d\x5e\x9f\xdd\x7e\x36\xdc\xaf\x05\xdd\x0e\x06\xfe\xda\x7e\xbe\x3b\x7b\x7f\x72\x77\x7e\x3b\x7b\x37\xb9\x7e\x09\xe4\x2f\xfd\xf4\x04\xe8\xef\x0d\x55\xea\x39\x55\xb2\x10\x9f\xf6\xba\x93\xf3\x52\xce\xf8\x00\xd4\xa2\xab\xd5\xb5\x4d\xdd\xc1\x46\x9b\x95\x86\x5c\x19\x20\xe2\x18\x26\xd4\x89\x2d\x2c\xb4\xf0\x4e\xc3\x45\x92\xa6\x90\x91\xef\xdc\xeb\x94\xed\x69\x26\x15\xe4\x8f\xa5\x55\x26\x99\x3a\x95\xf3\x4a\x21\x28\x70\xf9\xad\x8c\x11\x8c\xb9\xf8\x99\x99\x80\x3c\x81\x4c\xe7\x6d\xc5\x88\x96\x89\x14\xbe\x1b\xb0\x6a\xa6\x7f\x9d\xe5\x02\x68\x11\x5f\x12\x59\x47\x8a\x57\x5f\x5d\xd3\xee\xb8\xca\xfe\xb4\xea\xa7\xfd\xd1\x8d\x10\x0f\x71\x22\x51\x31\xad\x9c\xe6\x9b\xf6\xad\x7b\xe4\x8f\x00\xcc\xbb\x59\x49\x0e\x31\x08\x5d\xf0\xbc\xf0\x0b\x49\x0b\x81\x25\x12\x7d\x70\xe2\x3e\x41\x04\x9a\x5a\xd4\xe6\xd9\x88\x42\x33\xd7\x09\x44\x2a\x38\x91\x0c\x45\x69\xa9\x0b\x91\x93\xdb\xe4\xe4\xa7\x9b\xa9\x7c\x6b\xae\xaf\x03\xba\x85\xa8\x90\x1d\x7e\x02\x91\x3a\xaa\xf2\x7d\xab\xa1\x84\x12\xec\x35\xfa\xa8\xd7\x82\x4b\xcd\xe0\x68\xa4\xa9\xc8\xfd\xce\xc0\xfe\x08\x11\x53\x39\x79\xa0\xdc\xf6\xef\x1f\x30\x02\x19\x9b\xa9\x30\xfd\x75\x05\xf5\xd6\xaa\x68\xee\xa7\x2e\xc2\x07\x40\xfe\xbf\xe4\xce\x69\x49\x40\xeb\xbb\x8b\x28\x69\xa2\x75\x13\x55\xd3\xc1\x7a\xed\xa5\x5b\x6c\xee\xb7\xad\xf4\x8c\x5b\xa9\xc7\xbd\x1e\xde\x12\x6c\xa5\x8c\x00\x75\x55\xde\x7c\x98\xd9\x11\xce\xa4\x80\x72\x33\xd3\xd8\x7a\xeb\xd4\xea\x2c\xef\x83\xfd\x80\xa6\xf6\x43\x68\x9f\xb4\x30\x5b\xf9\x82\x9e\x36\xb6\xb3\xb5\x84\xf3\xcb\x30\x48\x9e\x58\xac\xaa\x54\x85\xe5\x82\x71\xf0\x50\xc2\xba\x9a\x07\x1c\x09\xd1\xd6\x3e\x12\xb1\x8f\xd5\x52\x66\x7b\x96\x41\xbd\x0d\x31\xb5\x95\xec\x78\xec\x45\xc8\xab\x61\xb9\x34\x1c\x17\xcf\x90\xcd\xf7\xf4\x42\xdb\xd5\x3d\xe7\x78\x5d\x9f\x04\x76\xb8\xb8\xbc\x38\x0b\xa1\x0a\x93\x8b\xdb\xb3\xef\xce\xae\x2b\xbc\x0a\xe7\x97\x27\x15\x6e\x84\x9b\xdb\xeb\x1a\x25\xc2\xdb\xcb\xcb\xf3\xb3\x06\xe6\xe1\xec\x76\xf2\xa1\xd2\xf8\xbb\xbb\xeb\x93\xdb\xc9\x65\xe5\xb9\xb7\x93\x8b\x93\xeb\xff\x0c\xff\x72\x76\x7d\x7d\x79\x5d\xfb\xde\xdd\xe9\x76\xf4\x44\x65\x18\xed\xee\x1f\x1f\x9c\x0d\x28\x6e\x5b\x8f\x71\xb5\x10\xf9\x1e\xa7\xb8\x27\xf2\x6c\xd7\x76\xb4\xb4\x09\x71\x58\x16\x05\x0f\x86\xe9\xea\xa0\x5d\xf7\xfc\x95\xd3\x2b\x53\x97\xf1\xfd\xc4\x9e\xb9\xd5\x66\xcf\x81\x04\xdc\xaa\x00\xba\xaf\xd4\x1c\xb7\xba\x80\xdc\x52\x9c\xda\x0c\x22\x58\x4b\xde\x59\xb9\x4f\xc6\x2f\xde\x53\xfb\x8d\x5d\xfd\xf4\x94\x6a\x3b\x98\xa9\x9e\x8b\x95\x66\x5b\xa7\x83\x8f\x59\xd2\x87\x24\xb6\x8a\x82\xfd\x31\x84\xdd\x9b\x61\x98\x9d\x13\x6c\xc7\xae\x12\xd7\xed\x69\x4b\xdb\x59\x10\x87\xf6\x9f\x3e\xd2\xec\x7b\x8d\x32\x67\x40\xbf\x81\xba\x6c\x48\xbf\x6f\xb9\xbe\x1f\xda\x6f\xfa\x48\xb3\xdf\xa0\xf6\x3d\xa9\xdf\xe0\xf0\x2e\xda\xe9\x8c\x06\x08\xb1\xb0\x99\x6a\xf7\x1c\xd7\x82\x7b\x24\xa8\x24\xdf\xaf\x8f\xe6\x00\xbc\xac\x79\x99\xf1\xfe\x81\x0c\xe8\x8d\x3b\xae\xbc\xc6\xee\x7f\x03\xbf\xc2\x08\xe7\xb9\xe0\xf7\xb1\x7a\xa4\xf5\xa8\x23\x43\x59\x2f\x69\x5e\x9d\x20\x23\xc3\xed\x15\x51\xe4\x14\x81\x42\x94\x9a\x6f\x1e\x60\x72\x09\xf1\xd3\xa3\x0e\x16\x14\x21\xaf\x13\x42\x01\x05\x97\xf4\xab\x33\x95\xa8\xcd\xb7\x15\x32\x37\xab\x6a\x7a\x44\x14\x2e\x30\x54\xa7\x43\x63\x70\x5d\x07\x0b\x4b\x79\x40\x65\x0e\x60\xba\x79\x0e\x36\x13\x4c\x48\x22\xc1\x99\x9c\x1b\x83\x27\x17\x51\xa2\x45\x50\xb9\xaf\xf5\xc6\xfe\x79\xbf\x92\x34\x05\x2f\x5a\xdd\xae\xbd\xfd\xe1\x3c\x2a\x4a\x9e\x32\x48\x57\x22\x26\x4c\xf4\x55\xe2\x5f\x22\x2e\x31\x35\xa6\x10\xeb\x0c\xd8\x15\xc2\x9c\x8e\xa9\xfc\x09\x80\x12\xb8\x04\xaf\x34\xfb\x0e\x20\x0f\xf6\x61\xba\x84\xd7\xbc\x80\xbb\xf8\x4f\xf8\x0d\xf7\xdb\x78\x2a\x2b\x95\xb0\x82\xb7\x2a\x45\xb1\xc6\x53\x69\xab\xa6\xc4\x2a\xd2\x63\xb0\xf8\xc6\x2a\x5f\x1e\x65\xb9\x02\x08\xe3\x51\xa4\xd4\xfd\x5c\xa9\xfb\x23\x21\x8f\xc0\x27\x55\x1c\xf1\xb2\x50\x47\x00\x97\xc2\xf5\xd7\x47\xb6\xfc\xb7\xad\x9f\xae\x8f\x56\xc9\x83\x80\xff\x37\x5e\x15\xeb\xf4\x5f\x75\xb6\xfa\x74\xb8\x4c\xf3\x43\xf3\xee\x61\xf8\xee\xa1\x7d\xf7\xd0\xbe\x7b\x68\x5e\xc3\xff\x97\x6d\x30\xbc\x23\x3e\x71\x73\x97\x8d\xa6\x32\x91\x5a\xe4\x05\x68\x3f\x8f\x79\x52\xf8\x92\x63\x1b\xf6\xea\xbf\xfe\x8b\x8d\x73\xfe\xe8\xd3\x74\xaf\xd0\xbf\xf8\x8f\x7f\xbc\x82\x80\x2a\x66\x31\x65\x3c\xff\xb9\x14\xc5\x54\x6a\x61\x0e\x21\xfb\x5f\x53\x09\x11\xd8\xf5\x66\x56\xa0\xdf\x15\x7d\x90\xb1\x66\xdf\x62\x9b\x13\x64\x85\x8d\xb5\x69\xa9\x23\x9d\x20\xe1\xa6\xb1\x9e\x2e\xfa\x9f\xd3\x77\xf4\xfc\x80\x63\xfd\x73\x5a\x3d\xd5\xb6\xe8\x95\xfe\x39\x85\x0b\x34\x55\xdc\x82\xb5\x98\xdb\xbc\x60\x27\x53\xe7\xda\xce\x48\x03\x1a\xf0\xa2\x61\xfa\xf6\xb3\x72\x83\xcc\xf4\xd6\x73\xdf\x10\x23\x10\x2b\xf0\x71\x08\x88\x9e\x27\xe6\x84\xdc\xa0\x27\x14\x34\x37\x1c\x39\xe8\xa4\x14\x3a\x77\xed\xa1\xe3\x42\x7f\x7d\x7c\x74\x34\x62\x4b\x0d\xff\x33\xff\x19\xfe\x07\xd0\x43\xcf\x45\xae\xdc\x98\x4c\x07\x84\x6b\xae\xf2\xee\x95\x78\x0e\x14\xdd\xe7\xe0\xf3\xaf\x6d\xd3\xb7\xa5\x8c\x53\xe1\x53\x1b\x2b\x21\x91\x54\x99\x95\xb4\x0b\xd5\xac\x00\x05\x6b\x3c\x17\x11\x37\x82\xaf\xf1\x6d\x04\x97\xaa\x45\x21\x24\x7a\xc3\x72\x5f\x75\x93\xa3\xe7\x0a\xd4\x62\x80\x42\x42\x7e\xfd\x3a\x4b\x4c\x5f\x12\x08\x13\xdf\x22\x41\xfe\xa8\xfe\x13\xdb\xa8\x92\xb8\xde\x81\xc1\x38\x16\x51\x0a\x05\x35\x2c\x8b\x13\xcb\x45\x51\xe6\x92\x71\x96\x71\x19\x73\x0d\x3b\x70\x91\x43\xb4\x33\x67\xbc\xd9\xd1\x11\xc2\x71\x55\x59\x00\x37\x19\x22\x0b\xc2\x99\x40\x32\xfe\xa0\xcf\xa3\xa0\x13\x78\x27\x20\x41\x40\xfd\xc5\xf1\x54\xda\xba\x90\x84\x85\x43\x4f\x59\xa4\xb2\x0d\x31\x4f\xd5\x27\x3d\xb1\x9e\x33\x9a\xee\x91\xc7\x9b\xd4\x9f\x1d\xb1\xa4\x1a\x5a\x03\xde\x7f\x9b\x99\xaa\x4a\x4d\x1e\x3d\xcd\x5e\x0b\x19\xa9\x58\xe4\xfa\xc0\x1c\xc3\xc4\xd9\x1d\xa8\x3f\x24\xda\x2f\x06\x48\x29\x73\xb9\x91\xb7\xd0\x34\xef\x0a\x7d\x99\xd9\xa9\x30\xc5\xb7\xe9\x39\xbb\x8f\xca\xaf\x1d\x05\xd3\xd6\x5f\xfa\xcf\xcf\x8a\x88\x09\x71\x9d\xd6\xe6\x7c\xba\x0b\x02\x8f\x6c\x28\x71\xb1\x51\xd4\x71\x48\x39\xb1\x95\xe5\x93\x02\x2a\x95\xe6\x42\x17\x53\x49\x37\xf0\x88\x2d\x04\x37\x7a\xde\x88\x45\xfa\x01\x85\x31\x5e\xf7\xc5\xa3\xf2\x18\x1c\x5b\x66\x08\xc0\xb0\x95\xc6\xbd\x93\x18\x1f\xe3\x94\x81\x8d\x00\x83\x2e\x0b\xdd\xa9\x2a\x30\x59\xad\x02\xf1\x09\xf3\x60\xab\xd6\xd4\x2b\xdd\x85\x45\x93\x60\x26\x36\x18\x28\x66\xf5\x7e\xe0\x0f\x46\xf0\xe0\xe8\x10\x06\x12\x08\x47\xd0\xb8\x09\x4b\x8b\xe7\xcc\xc7\x70\xc3\xd2\x01\xe0\x9b\xe9\x3a\x54\x5b\x26\x02\x3a\xf0\x34\xbf\x85\x79\x75\xa7\xc3\x4a\x8b\xdc\x96\xd4\xc1\xb1\x22\x59\xca\x2a\xc9\xe3\xc3\x8c\xe7\xc5\xc6\x6e\xdf\x34\x99\x43\x25\x8e\x34\xb9\x17\xec\x24\xcf\xd5\xe3\x73\xcf\x42\xa7\x68\xe9\xb2\xb0\xf7\x41\xb2\x0f\xb5\xf2\x5b\x69\x7e\xeb\xee\x8e\xa7\x51\x0a\x77\x39\x3e\x5a\xbf\x93\x8b\x22\xdf\xcc\xcc\x46\x5c\x67\x9d\x92\xa2\x57\xd2\x44\x7f\x25\x77\x18\x5b\x71\xcd\x85\xd1\xc9\x56\x5c\x59\xd5\x5f\x0f\x5b\x71\x0b\x11\x71\x93\xad\x78\x72\x31\xb9\x9d\x9c\x9c\x4f\xfe\x4f\xad\xc5\x9f\x4e\x26\xb7\x93\x8b\xef\x66\xef\x2f\xaf\x67\xd7\x67\x37\x97\x77\xd7\xa7\x67\xdb\xe9\xc7\x9a\xbd\xf7\x2a\xf8\x21\x0b\xbf\x73\xcc\x6e\x03\xa0\x06\x26\x1b\x90\xfe\x4d\x75\x8a\x61\x57\x99\xc3\x9c\xc8\xe5\x08\x0e\xea\x31\x3b\xcb\xf3\xc9\x9a\x2f\xc5\x55\x99\xa6\x00\xa7\xc2\xcc\x9e\xd3\x5c\x80\xe1\x39\x62\x57\x2a\x9e\x04\xef\x41\x3a\x62\xeb\x30\xe0\xfb\x3c\x8e\x73\xa1\x35\x7e\x7e\x44\xdf\x0f\xc0\x43\x2e\xd5\x91\xc0\x73\xfc\x81\x27\xa9\xb1\xdf\x8e\xd9\x5b\x1e\xdd\xab\xc5\x02\xd3\x67\x46\x2e\x71\x8a\xfd\x5c\xaa\x82\x33\xf1\x29\x02\xca\xbd\xf6\x7d\x72\xae\x96\xbf\x00\x54\xb9\x47\x78\xaa\xc3\x48\x81\x92\x83\xb3\xf6\xeb\xbc\x5d\x10\xd0\x28\x3f\xe0\xab\xef\xf1\xcd\x76\x07\x65\x91\x3e\x43\x7a\xfc\xb9\x5a\xb6\x17\x80\x02\xed\x9a\xaa\x56\x51\x20\x21\x22\x76\x11\xb5\x64\x3a\x91\xf7\x53\xf9\xd3\x4a\x48\xa6\xca\x1c\xff\x04\x66\xbe\x51\x33\xd3\x52\xaf\x04\x94\x0b\x1f\xb1\x47\xc1\xd6\x7c\x83\x6a\x33\xd8\x04\xae\x6a\x0d\x6c\x19\xb8\x45\xcc\xdb\x69\x22\x8d\xb4\xc8\x12\x9b\x97\x50\x5f\xfa\xe7\xb0\xb8\x2c\xe1\x24\xdf\x9f\x0f\x7a\xdb\x7d\x5a\xc1\xe7\x81\xab\xcc\xe3\x26\x2d\x40\x88\x24\x37\x14\xf7\x55\xea\xbe\xcc\x3c\x35\xed\x2b\x1b\x9c\x84\xe9\x7e\x50\x49\xcc\xe2\x32\x4b\x93\xc8\xc9\xdd\x47\x95\x77\xf2\x6f\x63\x02\x4d\xff\x5b\xa7\x9e\x16\xb6\x6d\x60\x2d\xd9\x39\x01\x92\x6e\x0b\x13\xf7\x0b\x73\x91\xb3\x44\x46\x69\x09\xe5\xfe\x4a\x2d\xf2\x43\x57\xc2\xdb\xe5\xfa\x75\x5f\xa2\xbf\x16\xb2\x72\x4f\x86\xba\x7f\x5a\x5b\x98\x74\x9e\xaa\x65\x12\xf1\x34\x04\x37\x7b\x54\x84\x63\x43\xb6\xc7\x9e\x8a\x3a\x43\x1e\x84\xed\x50\x27\x91\x56\x96\x0b\x20\xe4\x9e\x81\x28\x9f\x91\xb8\xdb\xa7\xdf\x0b\x66\x0c\x74\xec\x57\xc8\x55\x6c\xc3\x0b\xf6\x86\xf3\xdf\xb6\x15\xf1\x40\xc5\x14\x12\x20\x00\xea\x51\x8a\x1c\x34\x58\x80\x7d\x98\x91\x4a\x05\xba\x89\xab\x92\xe7\xf0\xc9\xb6\x4a\xe4\xc2\x01\xb1\x31\x73\x76\x99\x3c\x08\xf9\xf9\xc9\xe5\x83\x0f\x44\x3c\x5a\x89\x99\xd5\xcb\x9f\x5b\x64\xb9\x0b\x60\xa0\xb0\xb2\xe5\x6a\x42\x51\xea\xc2\x9b\x60\x3a\x61\x8f\x9b\xb2\x0b\x03\x89\x5b\x32\xb2\x4c\x27\x66\xb1\x88\xee\x3f\xbb\x68\xf6\x20\x2b\xdb\x11\xc6\xd9\x3b\x11\xdd\xb3\xbb\xeb\x09\x66\x03\x27\x05\x33\xa2\x40\xaf\x7c\xf9\xad\x4e\xdb\xad\xe0\xcb\x17\xa0\xb0\xea\x5b\x3f\xcc\x97\x8c\x70\x55\x13\x4d\x87\x08\x10\x05\xf9\x92\x46\x48\x52\x2e\x0d\x00\xc1\x78\x61\xab\x4a\x81\x23\x9e\xe9\x35\x14\x91\x2a\x8b\xa0\xf2\x62\xca\xe7\x22\xed\x20\x50\xcd\x54\x3c\xb3\x71\x92\x7d\xc1\x3c\x8d\xb6\xac\x1f\x83\xa2\x8e\x36\x8f\x81\x1b\x8d\xf5\x96\x1e\x64\xf7\xdf\xe8\x80\x5e\x43\x85\x3c\xee\x60\xd7\x73\x0d\xe9\xdd\x8b\x64\x69\xa3\x6d\xc9\x82\x4a\x5d\x61\x42\xbf\xd1\x83\x41\x5e\x9a\x96\xae\x54\x4c\x30\x3d\xc7\x85\x67\xb4\x20\x41\xde\x13\x8f\xab\x08\xbb\x60\x71\x80\xf0\x5d\x73\x22\x04\x8f\x99\x5a\x90\x37\x31\xcb\xd2\x04\x18\xba\x63\x2c\x06\x00\xec\x19\xba\x8a\x8e\x0f\x5b\xb3\x9d\x0d\x48\x3e\xae\x2c\x10\xaf\xab\x28\x32\x08\x0c\xcc\x60\x98\x01\x1b\xdc\xec\x81\x77\x93\xa9\xbd\x78\xe5\xba\x8e\xfe\xb8\x68\xb2\xac\xb1\xa9\x06\xa4\x7d\xe4\x2b\xc0\x6b\xdd\x26\xe4\x47\x3c\x8d\x4a\x8a\x93\xad\xb8\x5e\x81\xa4\x86\x8f\x6c\x0d\xc0\xfa\xa8\x9f\x59\xe8\xaa\xd7\xbf\xae\x64\xee\x5b\xe5\xd2\x25\x68\x3d\xd5\xa7\xb0\xdd\xbd\xb8\x4c\xd5\x1c\x76\x4e\x37\x4a\x70\xcb\x8d\x65\xc4\x75\x9e\xc4\x43\xf4\x1d\x3b\x27\x97\xee\xd5\x6d\x1d\xbc\xb4\xae\x1f\xf7\x25\xbb\xef\x19\x15\x94\xa8\x31\x37\x0e\xa3\x40\x58\x50\x75\xdb\xaa\x79\x52\x50\x39\x15\xd8\x56\xee\x7e\xea\xf0\x33\x54\xc7\xb2\xd7\x42\x37\x99\x62\x76\xcc\xa5\x27\x97\xd9\xbe\xc8\x7b\xd0\x7d\xa0\x28\x73\x9c\x1f\xdd\x9e\x45\x19\x8b\x78\xf6\x84\x31\x9c\xd1\xbb\xfd\xc6\xe2\x66\x1a\xbb\x07\x3e\x40\x79\x68\x54\x85\x98\xe7\xb1\x1f\xc7\x08\xce\x7b\xc4\x33\x70\xc3\x43\x58\xe3\xe1\xcd\xd8\x7e\xe3\xda\x67\x17\x19\x79\x89\x39\xff\x88\xdf\x56\x2d\xb5\x88\x76\xed\x23\xb7\x49\x11\xde\x6d\x76\x8e\xdf\xae\x95\xbc\x9b\x5e\x7b\xb7\xbe\xc3\xac\x00\xdf\x67\x73\xbd\x84\xec\x28\x0b\xe5\xa3\x3d\x30\x9e\x09\xd0\x0e\x87\x19\x7d\x20\x20\x27\x71\x07\x52\xc4\xaa\xdf\x56\x08\x0d\xc0\x1f\x0f\x42\x40\x67\xb9\xb0\x71\xc3\x8d\x28\x1c\xaf\x43\x6a\xeb\x3b\x42\x58\xcc\x8d\xba\x4a\x6c\x63\xb9\x2b\x1c\x19\x19\x04\xb1\x48\xd5\x8f\xd4\x3a\x53\x12\x60\x49\x98\xa5\x36\x95\xd4\xb8\xad\xd2\xef\x22\x6b\x95\x54\xc7\x11\x39\x34\x31\x71\x46\x68\x95\x3e\x50\x08\x35\x28\x26\x03\xf5\x3d\x4d\x07\x4f\x8d\x6d\xa8\x72\x24\xd8\xb2\x37\x3b\x64\x02\xd4\x4a\xd5\xe7\x62\x99\xe8\x42\x84\xd9\xa1\xe1\xfb\xcf\x56\x55\xb8\xe2\x3c\xd9\x36\xf5\x9d\x55\x85\x77\x59\x41\x46\x3e\x0d\xe8\xcf\x26\x13\xf1\xc4\xbd\xb7\x7d\x33\xd4\x12\xf8\xbd\x38\xac\xdc\x77\xb8\x07\xd0\xfa\xd3\x48\xf5\xa5\x5d\x19\x18\xb7\x48\x44\xc2\xc4\x3d\xa0\xd1\x2c\xd1\xb2\xe4\x39\x97\x85\x10\x7a\x2a\x29\xf0\x8c\x94\x75\x21\x2b\x4b\x0d\x08\xe9\x6c\x9b\x48\xe9\x02\x19\xa0\xe0\x95\x05\x4f\xd2\x32\xef\x74\x37\xe0\xae\x7c\x12\xed\xc4\xb6\x59\x3a\x85\x66\x59\xdb\xa2\xb9\x04\xe6\xe0\x14\x39\xd6\x94\x7a\xd8\xb8\x9a\xdf\xdb\x31\x04\x7b\xb9\xf4\x5f\x6f\xe7\x6b\xee\xc8\x69\xfe\x46\xcf\x32\x35\x40\xe2\xfd\xf0\x8d\xbe\x52\x1d\xd9\xe0\xfa\xe7\x86\x4f\x74\x0b\x7c\xe2\xe7\xae\xc2\x38\x5c\xdf\x43\xe4\x71\x97\x2b\xa6\x17\x1b\xe7\xce\xf8\x64\xa7\xec\x82\x5d\xbb\xe2\x32\x4e\x8d\xca\xcb\x8b\x3a\xef\xb5\xc3\x79\x1b\x93\xa8\xb0\xc2\xb1\x3b\xa9\x0f\x72\x64\x66\x51\x23\xc1\x72\xd7\x3c\xd5\x32\x33\xb7\x62\x29\x6b\x5f\xa9\xe6\x4b\xb6\xe5\xe9\x78\x1d\x86\xca\x51\xbb\x03\xfb\x8b\xeb\x2f\x67\x61\xdf\x3f\x93\xfa\x52\x3d\x6b\x8b\x64\xf9\x2b\x70\x24\x7c\x68\x5e\x09\x11\xc9\x1c\xba\xa8\x5d\x76\xc3\x9e\x52\x07\x12\xc9\x8c\xd4\x0e\x19\xc7\xa7\x92\xca\xf2\x23\xba\x00\xc2\xca\xc8\xb7\xa6\xd9\x1b\x97\x5d\xfc\xe6\xf7\x96\x6d\x6b\xc3\x16\xb0\xa9\x80\xd2\x4e\x45\x51\x99\x43\xe8\x9f\xdc\x93\x4c\xe0\x25\xac\x07\x11\xc9\x80\xea\xe1\x00\x5b\xa8\x27\xb6\xa9\x49\xce\x1f\x5d\x19\xd4\x2d\xb8\x21\x8d\x86\x11\x5c\xfa\x54\x37\x2e\xd7\x05\xd3\x85\xc8\x5a\xc5\x6f\x45\xbb\xdc\x64\xe2\x44\x4a\x55\xd4\xf3\x53\x06\xeb\x97\xdc\xb5\xd2\xf3\xe8\x0c\xb8\x8c\x4e\x02\x97\xd1\x1f\x6f\x2e\x2f\x58\xc6\x37\x80\x7d\x2c\x14\xc3\x47\x81\x70\xb4\x2e\xa8\x76\xad\x40\x75\xf0\x55\xa9\x82\x73\x6a\x41\xd4\xed\xf1\x09\xfa\x62\x53\x59\x84\x3d\x43\x5b\xd2\xc8\xac\x5c\xa5\x87\x59\xca\x65\x00\x6f\xd7\x63\x56\xfb\x7c\x88\x67\x70\x91\x4d\x42\x8c\x41\x07\xc0\x5f\x41\x7b\x21\x2f\x5b\x01\xd0\xc0\xbb\x63\x37\xd4\x7e\x10\x86\x4e\x19\xb1\x15\xd8\xf9\x01\xab\xc0\x60\x4d\x04\x64\xcf\xb0\xb0\x0c\x87\xec\xe1\x1a\x40\xb7\x9d\x0c\xe0\x3c\x4a\xb9\xd6\x5b\x51\x3a\x2f\x42\x25\x1f\x64\x2d\xee\x16\x5f\xd5\x7e\x22\x8c\x10\xb8\x4d\xd0\x2e\x75\x3f\x03\x5b\x82\x15\x5d\xbe\xf8\x5e\xa0\xef\x07\xd5\x20\x08\xfa\x40\x7c\x51\xf0\x3e\x32\x41\xde\x8b\x8d\xf5\x70\x91\xa8\xe2\x6b\x31\x72\xce\x56\xe7\x4d\x0c\x40\x7f\xcd\x86\xa7\x12\x50\xb1\xef\xc3\xee\xb1\xf7\x4a\x8d\x10\x9f\x49\x1f\xe7\xd8\x2c\x0f\x11\x4e\x53\xf9\x5e\xa9\x31\x77\x46\x2c\xf5\x9f\xc4\x4d\xfd\x83\x84\x8a\x02\xcc\x61\x6d\x39\xfb\x9f\xcd\xef\x13\x89\x65\x22\x93\xb5\x31\xa0\x68\x9e\x60\x47\x41\x87\x60\x28\x94\x4b\x10\x23\xa5\x4c\x99\xe8\x15\x84\x5d\x30\xce\x09\xdf\xa7\x2b\x05\x01\x59\x39\x97\xda\x9c\x61\x08\xd5\x88\x07\x41\xfe\xda\x0a\xc6\x60\xf2\xee\xdc\xc1\x96\xf0\x5c\x52\xe9\x8e\x8e\xd3\x16\x18\x1d\xfb\x18\xe7\x72\x58\x49\x2c\x5b\xc7\xe6\x03\xcf\xb6\x25\xc3\xee\xdd\xe2\xae\x55\x72\x84\x5a\x75\x8b\x0a\x4a\x63\x41\x2d\xc9\x4a\x46\x6c\x38\x7b\x77\x72\xcf\x1b\xa7\x95\xd3\x7e\x77\xc9\x9d\xde\x0e\x86\x81\xa2\x62\xf7\x75\x13\x70\x5b\x3a\xc8\xa0\xb3\x05\x8d\x60\x87\x4a\x7d\x40\xca\x87\x47\x7a\xcc\x6e\x84\x60\x1f\x61\xa6\xcc\xc7\x3e\x52\x25\x58\x40\x41\x17\x3c\x69\x2d\xd4\x07\x4f\x4f\xe4\x42\xed\x27\xff\xf3\x65\x03\x65\xbb\xd7\xac\xb4\xf7\x73\x5f\x1c\x2f\x78\xfa\xe5\xcb\xd2\x8a\xf4\xba\x18\x6a\x6b\x7d\xe5\xfd\x4d\x94\x6c\x6c\x7b\x6a\x54\x32\x58\xe2\xa7\x10\xd7\xd5\x36\x89\x19\xe5\x08\xc9\xd8\xef\xa5\x7a\x94\x28\x8f\xe9\x4b\xec\xb5\x39\x7f\xa0\xb3\x60\x5c\x08\x35\xc1\x12\xa5\xe1\x01\xb0\xc3\x9f\xb8\x7f\xb3\x1b\x0c\x81\x63\x9f\xa1\x74\x98\x06\x7d\x97\x8a\x7e\xc1\x05\xfe\xfa\x64\xc4\xde\x8e\xd8\xe9\x88\x8d\xc7\xe3\x83\x11\x13\x3c\x5a\xd9\x1e\xe1\x2b\x28\xfa\x0b\xbe\x34\x6d\x53\xd9\x9f\x45\xf0\x01\x28\xd3\x68\xf4\x13\x4b\x82\xc8\xfd\x53\x81\x57\xcd\x0e\x01\x53\xb3\x29\x8f\x8c\xe0\x42\xd1\x4a\x25\xbe\x53\x80\x3c\x17\x91\xca\x2d\x76\x5d\x17\x2a\xb7\x38\xdc\x07\x9e\xf3\x44\x02\x63\x05\x6f\x66\x21\xd0\x97\x03\xce\x7a\xf1\x89\xaf\x61\xfc\x89\x74\xb4\xbd\x66\x9a\x6e\x5d\xff\x8b\x4d\x46\x71\xb6\xc7\x3c\x29\x0a\xa3\x90\xe9\xa9\xbc\x61\xc7\xdf\xb2\x93\x2c\x4b\x05\x3b\x61\xff\xcd\xde\x72\xc9\x25\x67\x6f\xd9\x7f\xb3\x53\x2e\x0b\x9e\xaa\x32\x13\xec\x94\xfd\xb7\x99\x36\xd3\xde\x85\x32\x1a\xd0\x66\xc4\x38\x93\x65\x8a\x8a\xde\x6b\x8b\x71\x3d\x70\xe3\xe2\x7e\x75\xe6\xa2\x78\x14\x42\x32\xad\xd6\x74\x15\xfe\xd9\xdd\xfe\x3a\x91\xcb\x54\x14\xb4\x1f\xaa\x68\x64\xfc\xc0\x21\x8c\xf4\x78\x2a\x9d\x9f\xfa\xcf\xa6\xc7\x7f\x66\xff\xcd\x2e\xca\x34\x35\x5d\x32\x82\xc6\x6c\xa4\x63\x66\xb3\xc3\x84\x1c\x3f\x26\xf7\x49\x26\xe2\x84\x43\x7e\x98\xf9\xd7\xd1\x2d\xac\xf6\xac\xf4\x54\xa0\xe1\x99\x76\xe5\xd8\xf6\x11\x3d\x2f\xc2\x35\xe1\x8a\x05\x86\xda\x4a\x27\x08\x25\x7c\x75\xb8\x12\xec\x09\x90\xe9\x3c\x90\x8d\x82\xa5\xf4\xc2\x00\x65\xfb\xf7\x5d\xd5\xaf\xcc\xfc\x57\x2b\xfd\x47\xaf\xea\x5f\xdb\xe6\xc3\xf7\x11\x94\x53\x5c\x1c\x9f\x9c\x09\x86\x0c\xe4\x12\xe2\xb9\xdb\x40\xc9\x0f\xdb\x36\x9a\x9d\x18\xde\x36\xa6\x34\x6a\xa3\x05\x5f\x8e\x58\xe6\xea\x48\xd9\x43\xe5\x02\xdb\x78\x8e\xb1\x66\x02\x29\x9b\xaf\x2d\x80\xc8\xec\x65\xca\x3f\x3c\x8a\xd5\x9a\x27\xf2\x00\xbe\x61\xa9\xf3\x76\x4c\x54\x8b\xb9\xb2\x7b\x86\x6e\xf9\x56\x34\x63\x37\xb5\x7f\x55\xd9\xa9\x95\x70\x6b\x3b\x0e\x7b\xd6\x30\xf3\x95\x66\x3f\xa3\x39\xf4\x63\x63\x8b\xf6\xae\x7d\x40\xf5\xc6\x2a\xec\x29\xa0\xcb\x7b\x06\xb9\x5e\xb1\x75\x57\xb9\xec\xc7\x6a\xa9\xdd\xca\x14\xab\xa4\x57\x4d\xe2\x5a\x67\xef\xc8\x12\xc3\xbc\x67\x23\x26\x93\xf4\xc8\x88\xca\xa3\x0b\x25\x05\xe3\x5a\x27\x4b\x64\xbd\x03\x87\x1a\x16\xf3\xb5\x4a\xd9\x6d\xd5\x64\x08\x44\x10\xe8\x67\xa6\x4b\x88\x98\x2e\x8c\x14\x36\x4b\x90\x6e\xa6\xd2\xbc\x41\x1a\x01\x64\x4f\x25\x8e\x1c\x1d\xbf\x46\xdc\xe3\xf6\x5b\x74\x21\x06\x8d\xb7\x6c\xb0\x6d\xd4\x0c\x7b\x6c\x38\x3a\x89\x7b\x44\xdc\x2e\x02\x62\x50\x6a\xcd\xb2\x46\x21\x9c\x66\x2e\x52\x25\x97\x66\x57\x74\x09\x61\x90\x02\xcf\xd4\x05\x6c\xac\xb3\x07\x46\x59\xa1\x47\x68\x49\x8c\x9e\x92\xc4\xde\xa5\xa6\xcb\xb9\xd1\xe3\x5c\xb4\xc7\x69\x23\x34\xb8\x2e\x9e\x8a\xfd\x60\x4b\x77\x46\x06\xab\xdc\x02\xe7\x5c\x24\x11\x15\x17\xcf\xe1\x84\x23\xea\x42\x68\xe4\x83\x5c\x39\x1d\x91\xed\x11\x53\x39\xd2\x77\xda\x08\xb6\xe3\xdf\x6a\x7e\xbd\xfb\x48\x6f\xcd\xf6\x68\xf7\x7d\x52\x9c\xb4\xc1\x17\xd2\xe3\x34\xfc\x92\x89\x1f\x7d\xd2\x41\xde\x9f\x4c\xce\x6b\xcf\x35\xd3\x41\x5a\x72\x46\x6e\x27\x1f\xce\xde\xcd\x2e\xef\x6e\x1b\xcf\x99\xd6\xe8\x4f\x3b\x32\x42\x3a\x67\xef\x39\x30\xf1\x3f\x63\x0d\xb3\x99\x5a\x58\x7a\x80\xfe\xd7\x73\xa3\x8a\x5c\x3f\xe8\x65\x11\x58\xd7\x61\xb5\xb5\xe6\xc6\xe9\x24\x39\x91\x33\x8a\xb5\xf6\xeb\x6c\x7d\xc2\x2e\xe5\x7b\x7c\xfd\x4a\xa5\x49\xb4\x1d\xc9\x6d\x2f\x4b\xa3\x55\x35\xa1\xb1\x73\x01\xa9\x0d\xe4\xf0\xa5\x4e\xa1\x7d\x56\x88\xa8\xf0\x58\x82\xe6\xe0\xfe\x9f\x46\x8f\xee\xf6\xc0\xa0\x1f\xd6\x4d\x1b\x14\x27\x77\xe8\x04\xb8\xd9\x81\x35\x1a\x8a\xa5\xa0\x96\x0b\x9e\x5d\x90\x79\x11\xa7\x98\x53\x65\xe6\xe1\x7a\x78\x5c\xa9\x94\xfc\xb1\xc8\xc0\x3d\x95\x99\xc8\x23\x05\xa8\x4b\x24\x77\x51\x2c\x5a\x25\x69\xec\x2b\x92\xbd\x86\x34\x15\x00\x93\x1f\x50\x71\x5d\xe1\xd0\x33\xae\x90\xfc\xee\x73\xfa\x0e\x4f\xf7\x5e\xc8\xb3\xe7\xc4\x9d\x6f\xdb\xf6\x3f\x11\x3e\x1a\xa7\x82\x38\xf3\x6a\x38\x08\x50\xfb\xc3\xfe\x0c\x0a\xe9\x98\xcb\x9e\x8a\x4d\x45\xde\x6c\x2e\x6a\xeb\x4a\xdb\xac\x3e\x95\xc0\xa4\x8e\x7e\x74\x04\x01\x6a\x01\xdd\x59\x0b\x8e\x9a\xa0\xe7\x35\xa6\x45\x9d\x4a\x8f\xfc\x78\xa5\x43\xad\xb0\x75\x9d\xd1\xfb\x6e\x91\xed\x23\xf6\xaa\x32\xd0\x57\xc0\xb4\x2d\x15\x7c\x8f\xa2\xf3\x95\xa9\x81\xed\x3a\x62\x49\x31\x95\xc6\x66\x33\x3b\x33\x17\xa9\x78\x30\xbd\x0b\xa3\x43\x84\x57\xb4\x9e\x13\x3b\x6c\x48\x8e\xe2\x96\x53\x83\xb6\x0d\x1d\xc2\x3c\x64\x6c\xc6\xb0\x74\x2c\xb4\xd1\x5a\xa1\xd6\x94\xf8\x64\x0e\x40\x02\xc1\x4f\x04\xb6\xc5\x42\xda\xfe\x01\xde\x0d\xeb\xfc\x4f\xe5\x64\x01\xc4\x06\x40\xa7\x10\xc7\xe8\x83\xb0\xd5\x87\x1c\x7d\x66\x42\xd1\x20\x45\x1e\x19\xbb\x10\x54\x1b\x1a\x4f\x92\x78\x10\xf9\xa6\x00\x97\x3e\xcc\xab\x14\xbc\x58\xb1\xa4\x18\x01\xef\xa9\x95\x94\x53\xc9\xe3\x98\xf2\xc1\xb1\xb9\xc0\x9c\xed\x5c\x67\xfa\x7d\xae\x1e\xb6\xa9\xd5\xfb\x22\x77\xf1\x54\x67\x29\x97\x33\xbc\x41\x7e\x01\xec\x6e\x50\xb6\xbb\x0b\xc4\x51\xce\x67\x8e\xab\xed\x59\xfa\xe9\xe4\xfd\xb5\x85\x2e\x93\x69\x53\xce\xed\x87\x46\x15\x68\xf6\xdc\xd3\x7a\x38\x2f\x1d\xe1\xa6\x72\x66\xb1\x25\xfd\xa5\x80\x87\xf5\xf2\x1a\xc6\xca\xee\xd6\x5d\xb8\x5e\xbb\x03\x7e\xad\xc8\xcb\x3e\x2b\x5f\xbb\x43\xea\xcb\x3e\x1c\xf4\xd7\xd0\x10\x9f\x04\xfc\xdb\xd1\xad\x97\x05\xff\x75\x7a\x71\x9a\x20\x40\x3b\xda\x20\xbe\x4f\xa9\x03\xe8\x85\x75\x0e\xb4\xf6\xb2\xec\xa1\x15\xa8\x5a\xf0\xf1\xcf\x19\xa1\x00\x39\xd5\xd7\x4f\xe3\x09\x45\xa0\x5f\x63\x36\x91\xcc\xaa\x7b\x23\xf6\x0a\x37\x96\x7e\x45\x0e\x68\xaa\xed\x4f\x60\x99\x98\x4e\x0f\x51\x30\xd4\x41\x66\x98\x08\xe7\x8f\x1b\xc6\x01\xb7\xf2\xf5\xbe\xe8\xbc\xbc\x4d\x20\x11\xef\x29\x5c\x2b\x18\x43\x9e\x63\x03\x36\x8f\x24\x70\x85\xd2\x70\x21\x96\xe1\x07\x6c\xa3\x9d\xec\xad\x7d\xd1\x4c\x51\x56\xd2\x7d\x6a\x7f\x67\x2a\x9f\x4a\xdb\x1a\x39\xa4\x35\x16\x08\xac\x37\x15\xe4\x05\x91\xce\x1f\xec\x54\x80\x02\xd8\x9a\x90\x50\x6a\xd4\x93\x8a\xd7\xa5\x00\xa0\xa0\xe6\x0e\x81\x0a\x55\x28\xfc\xd7\x8c\xe2\x61\x36\xf8\x1a\xaf\xf9\x3a\xf1\x70\x9a\x9a\x49\x49\x0a\xcb\x73\x1c\xe4\xec\xe9\x12\xd8\xba\x17\xa5\x11\x46\x01\xa5\xf9\x54\x9a\xc9\x63\x8b\x04\x72\x37\x68\x5e\xa6\xf2\x83\xd2\x96\x22\x46\xfb\xf9\xb0\xc0\x02\x9a\xb6\x57\xae\x34\x26\xfd\xe1\x1d\x5c\xda\x14\xf1\x41\xb2\x37\x77\xb5\x40\xb2\x26\xf1\x3c\x6d\x54\x99\xfb\x41\x45\x5c\x4e\xe5\xdf\xcc\xf4\x80\x39\xc5\xa5\x5d\x56\xb5\xc0\x23\x0c\x2b\x08\xa1\xb2\x8f\xd8\xe8\xeb\xdf\x1f\x7c\x3c\xc0\xe4\xaa\x52\x43\x35\xe2\x51\xf5\x02\x71\xd5\x2d\xca\x34\x05\x1c\x82\x1d\x81\x63\x58\xf2\x9f\xd8\x8a\xc3\x23\xa3\x6e\x26\xab\x2a\x46\x9f\x83\xde\xcf\xad\x7f\xc2\x22\x5e\x44\xab\x43\xab\xcb\x91\x18\xb3\xb7\x1f\x2d\x1f\x66\x41\x19\x4d\x8b\xb5\x16\x78\x30\x06\x67\xbe\x76\x94\xb3\x95\xfd\x62\x86\x00\xee\xff\xdb\x7a\xb5\x33\xc7\x88\x8d\x9b\x13\x71\x40\x55\x3d\xcf\x3d\x6e\x6b\x8d\x7a\x8b\x93\x62\x24\x92\xaf\x45\xcc\x5e\x41\x1a\xf0\x2b\xbb\xf8\x53\x99\xcd\xc7\xe9\x66\x51\x10\x6f\xa1\x99\x94\x31\x54\xe5\xdb\x71\xcb\xcd\xe2\xa6\x99\xb4\x63\xb2\x3b\x0d\xad\x76\x5d\xc7\xcd\x8d\xfb\x52\x7f\x85\x05\x7d\x5c\x6e\x76\x6e\xaa\x98\xc0\x6a\x79\x10\xae\xef\x47\x6c\x9e\x73\x09\x05\x95\xe2\x50\xa9\xf2\xa7\x13\x8c\x67\x24\x05\xb4\x79\x81\x92\xa7\x1b\xc8\xff\x19\x4d\x25\x32\x28\x02\xd5\xfe\x26\x4a\x93\x88\x2d\x73\x9e\xad\x6a\x7a\x90\x78\x10\xb2\x80\xba\xdc\xd7\x82\xeb\xfd\xb0\x1a\x79\xbd\x05\xd6\x3b\x9a\x76\x22\xc1\xfa\xe0\xb2\xc6\x79\x0d\xdd\xeb\xb8\x5a\x00\x9f\x29\xe2\xd9\x30\xbe\xab\x9d\xac\xcc\x15\xae\x4f\x22\x9e\x83\xf8\xb3\x19\x1c\xb3\x5f\xdd\x05\x7e\xc0\x79\x25\x2a\x26\x8b\xe8\xdd\x17\xb0\xe1\xa8\x9d\xf6\x22\xe8\x9d\x54\xb5\x48\xee\x39\xab\xbc\xdf\x9c\xc2\x7e\xe8\xa9\xb0\x69\x10\x4e\x70\x8c\xa8\x6e\x2a\x90\x77\xb2\x3f\x95\x73\x95\x5a\xf6\xd3\xc9\x3b\xa6\x72\x28\x3c\x54\x28\xfa\x53\x12\x77\x69\x07\x89\x8c\xc5\xa7\xbd\x28\x88\xb6\x5f\xf4\x56\x6d\x36\x9f\x09\xea\xdb\xd4\x07\x0b\xd2\x29\x17\xe6\x12\x2e\xac\x65\xdc\x78\x4a\xd7\xa1\xca\x27\x69\xb1\x02\xfc\x30\xa6\xe8\xf8\x49\x5d\xf3\x0d\x8b\x56\x5c\x2e\x03\xd7\x04\xc0\x39\x45\xa6\x72\x2c\xd0\xfb\x00\x5c\x9f\x2a\xb7\x14\x0f\x44\x5c\x40\x79\x42\x2e\x8c\x81\xf0\x7c\x65\xd9\x09\xf8\x72\x99\x8b\x25\xa4\xb1\x4e\x65\x85\x7a\x05\x78\x4e\x6d\x6d\x20\xfc\xce\x36\xe6\x8a\xe7\xa1\x7f\xea\xb2\x06\x8b\x7c\xe3\xf2\xfe\xa9\xba\xb5\x3f\xcf\xf5\x69\x1d\xb1\x44\x8c\x47\xec\x2b\x9f\x92\x20\x22\x25\x1d\x71\x40\x47\xd6\x78\xcd\xe5\xcf\x76\x98\x0e\x4d\x9e\xa8\xf6\xbe\xc3\x6f\x8d\x1a\xd9\xad\x9b\x66\x2b\xf3\x42\xc1\x8b\x72\xc0\x1d\x74\xca\x0b\x9e\xaa\xe5\xa9\x79\xf9\x06\xdf\xdd\xb6\xaf\x4f\x31\x5f\xc0\x72\xf4\x99\xe7\xcd\xcd\x69\xbe\xed\x39\xfc\xdb\xe6\x7a\xa7\x03\x39\x55\xdd\x0e\xe4\xe7\x50\xd5\x2d\x11\xd3\x6e\x1f\x72\xda\x41\x2e\xb4\x65\x4c\x43\x5d\xc4\x16\xd5\x4f\x89\x49\xba\x6e\xc6\xb6\x48\x80\x2c\x57\x71\x19\x89\xd8\x9c\x5c\xb0\x87\x10\x0f\xe5\x38\x8e\x2a\x42\xb2\xed\xa2\xad\x10\xb5\xc1\xad\xfb\xb9\x7c\x0e\xbd\xb8\xf1\xdd\xf4\xdf\x75\xf8\x1b\xac\xc6\xd7\x36\xe9\xe1\xf9\xc4\x79\xca\x07\xde\x53\xee\xf3\x55\x46\x7b\x95\x27\xcb\x44\xf2\x42\xe5\xec\xb5\x63\x32\x38\x70\x65\xf0\xba\x35\x84\x81\x62\xa2\x32\x45\x28\x26\x3e\xab\xe2\xd1\xb6\x49\xcd\x53\xba\xe0\xeb\x2c\xe4\x88\x06\x2f\x70\x30\x33\x29\x4e\x82\xd3\x4d\xc0\x77\x9a\x68\x9f\xb5\x3b\x95\x14\x71\xc0\x75\x53\x79\x58\xe4\xa0\xf3\x6e\xce\xca\x62\xf6\x44\xde\xb3\x80\xe1\x07\xdb\x19\xe6\x83\x22\x3c\xc4\x07\x9e\x75\x5d\x32\x9c\xfc\x0e\x98\xbb\x48\x3e\x09\xaf\xae\x54\x37\xe9\x78\x2a\xdf\xb9\x0e\x1d\xb3\x2c\x15\x46\xcc\x97\x9a\x98\x24\x66\xc8\x3c\x8d\xbc\x1b\xdb\x26\x63\xd8\x20\x80\x5d\xfc\xdd\x4e\x62\xac\x61\x23\xd9\xe6\x65\xe9\xb1\x58\x5b\x71\x08\xd7\xe7\x36\xee\xe5\xcd\xdb\x8a\xbd\x08\xfb\x0a\x19\x82\x31\xab\x0d\x3d\x15\x4e\x4a\x1b\xa5\xc4\xb2\x69\x9d\xa6\xaa\x8c\x19\xc9\x68\xc2\x34\xe4\x63\xbc\xec\x81\xb2\x7b\x3c\xee\xca\xd2\x1b\x58\xad\xdd\x89\x53\x78\xaf\x7d\xbf\xc0\x6f\x1d\x17\xca\x56\x49\x16\x6c\x64\x9a\xe4\x17\xd8\xc9\x34\xdd\xb0\x01\xdc\x15\x63\x37\x40\x4b\xf4\xb7\x73\x3b\x07\x5d\xdc\xbe\x9f\x9f\x34\x16\xcf\xbf\xbf\x73\x47\x0f\x1d\x51\x7b\x2f\x5d\xbc\x02\xa8\x51\x87\xb9\xb2\xc1\x73\x90\xc4\x29\x48\xc6\x30\xd4\xd3\x42\xde\x5e\x09\xa1\xeb\xfb\xbd\x3f\x67\xf9\x42\xb6\x7f\x2a\xe3\xb9\x90\xc5\x0c\xbe\x38\xec\x63\xf0\x91\x2b\x78\xbd\xa2\xda\xf6\x72\xd9\xff\xe5\x56\x61\x24\xc6\xee\xa0\xbf\xb2\x1b\xf2\x3e\x9a\x9b\x25\x01\xb0\xb7\xbe\x67\xaf\x13\xc0\xa6\x05\x51\x6b\x27\x8f\x3a\x96\x8b\x06\xf4\x84\xd9\x0b\x06\x54\xb9\x84\x7b\x0d\xc8\xf7\x1e\x40\x05\xd0\x0a\x39\x62\x89\xbd\xc1\x5c\x8a\xf6\x6f\x41\x6d\x94\x8b\xca\xbf\x81\xc7\xda\xac\x5f\xca\xfe\x2e\x72\xe5\x33\xf5\xd0\xad\x18\x36\xbc\xd5\xb2\x7a\x7a\x59\x77\xb4\x9c\xb0\xa0\x78\x58\x51\x17\xfe\x42\x54\x73\xe8\xfb\x99\x6f\xac\xe1\xd8\x11\xec\xcb\x44\x34\xeb\x28\x9f\xd4\xab\x2b\x81\x8b\x20\x2c\x87\x94\xd4\xd4\x0e\x7b\x40\x8f\xc0\xb3\x44\x29\x70\x6b\x9e\x11\x0e\x94\x20\xff\xf5\x30\xdb\x18\x06\xf1\x97\x3f\xff\x75\x9c\x74\x88\x27\xe8\xfa\x50\x58\x9d\xeb\xfc\xfb\x3c\x11\x32\x86\xb0\x39\x8f\x9b\x95\xfd\x64\x25\x8e\x52\xb9\x79\xcc\x36\x7c\x96\xcc\xfd\x76\x25\x42\xcf\x70\x13\x7d\x06\xec\x85\xd7\x1d\xdc\xf1\xad\x44\x66\xbb\x94\x3e\x3d\x8b\x37\x92\xaf\x93\xe8\xb3\xf6\x71\x93\x88\x34\x86\x2e\xd2\xd7\x77\xc5\x0f\x63\x11\xdd\x0f\x55\x77\x9e\x5c\x97\x44\x44\xf7\xec\xfb\xdb\x0f\xe7\x58\x86\x3a\xd1\x53\x79\xc1\x8b\xe4\x41\xdc\xe5\xa9\x0b\xdc\x10\x9c\x3e\x4f\xed\x19\xa9\xf2\xe4\x07\x9c\x6c\x96\x54\xdf\xea\x44\x61\x19\x93\xf5\xe6\x70\x5e\x46\xf7\xa2\x38\xca\xb9\x8c\xd5\x1a\x87\x71\xa4\xcb\xc5\x22\xf9\x34\x2e\x78\xde\x51\xd3\x04\x3d\x3e\xbf\xa0\x45\xe2\x2b\xd5\x15\xde\x3a\x41\xa3\xe4\x11\x12\xf2\xb1\x7f\xac\x62\x86\x60\xfe\x28\x5f\x0b\x20\xa5\x65\xd5\x7a\x40\xd0\x0a\xe6\xb8\x43\xd9\x5c\xad\x29\xd3\x45\x51\x51\xfe\x8f\x81\x19\xf6\x31\xe8\x95\x07\x1b\x84\x9d\xf2\xa5\x68\xd7\xfc\x1e\x2d\xf9\x65\x2e\xb4\x1e\x31\xad\xa0\xc7\x53\x69\x73\x46\x6c\x5e\x23\x20\x94\x80\xd6\x3a\xdd\xb0\x48\x65\x2e\xb9\x01\xc7\xb5\x52\x8f\x10\x51\x09\x33\xba\xa1\xd8\x7a\x29\x8b\x24\x65\x7c\x51\x50\xb8\x05\x6a\x78\xd8\x9a\x7d\x7a\x3c\x95\x10\x34\x8f\x60\xf8\x00\x66\x71\x81\x32\x37\x08\xcd\x16\x3c\x4a\xd2\xa4\x20\x66\x41\x48\x06\xe4\x66\xbc\xe6\x3e\x30\x73\x99\xf3\x0d\x4f\xbd\x09\xcc\xd3\xd2\x27\xb1\x1f\x6a\xb1\x85\xb9\x36\xd1\x33\x74\xe5\xbc\xdc\x01\xf7\x78\xcd\x24\x0c\x13\x21\xcb\xff\x89\xf9\xf8\x45\xed\x16\xfd\x5d\xf8\xbf\x15\x8f\xc9\x36\xad\x60\x0f\xd7\xc9\x3e\x97\x63\xd3\x39\xe2\x0a\xdd\x7b\x3d\x23\x89\x2d\x8e\xbc\x62\x65\xf8\x34\x71\x77\x3d\x42\x74\xab\xc3\x3d\x33\xb6\xe5\x09\x9b\x5f\x18\x30\x7b\xed\x4a\xe2\x67\x72\x3c\x75\x95\x5e\xe8\xd3\x7d\x1b\x37\xb9\x52\x2a\xdd\x37\x76\x42\xe4\x29\x89\x92\x33\xa8\xd8\xbd\x8f\xa5\x8c\x1b\xc0\xb9\x20\x27\xef\x1c\x3a\xc2\xd5\x32\xa8\xd6\xf9\x23\xe0\x1e\x75\x01\x04\x19\x74\x62\x4b\x46\x81\xce\x5a\xe0\x31\x03\x33\x23\xa0\x0d\xc4\xd5\x59\xd5\xbe\x19\xcc\x09\x78\x74\xb8\xef\x23\xf0\x3d\xd7\x7a\xf8\xbb\x5a\x4f\xb7\xba\x55\xb1\xbe\x76\xed\x53\xce\xc5\x1a\xf2\xc2\xbb\x79\x0c\xbe\x6d\xe7\x73\xcd\x25\xf9\x68\x49\x8b\x9f\xca\x40\x63\x47\xee\x42\x9b\x7a\xe2\x66\xad\xcd\xf3\x5a\xd9\x86\x7b\x7b\x5e\xf7\x29\xfe\xb1\x55\x72\xbe\x0b\xcb\x78\x02\x6a\x27\x52\xeb\x79\x22\x2d\x7b\x08\x85\x23\xc0\xd4\x38\xb1\xdc\xca\x2e\x74\x64\x4d\x06\x2c\xee\x54\x9b\x7b\xa7\xe6\x84\x34\xd5\xa1\xc8\xda\x65\x8e\x87\xf6\xdd\xf3\xd6\x29\xe9\x88\x09\xd7\x47\x60\x2e\x90\xf4\x91\x6f\x34\x94\xba\x17\x46\x2a\x2e\xd0\x05\x5f\xed\xff\x28\x50\x3f\x2c\x6f\xf7\x54\xc2\x0c\x21\xaf\x9b\x15\xa4\x46\xb2\xc2\x06\x4c\x6d\x51\x7f\xcf\xc9\xf7\x4a\xb7\x4f\xce\x2f\x13\x55\xcb\xb7\x46\xd5\x10\x2e\xf0\xcf\x11\x48\xdb\xe2\xae\xdf\x33\x6a\x10\x5c\x93\xa8\x31\x12\xa0\x0b\x12\xfc\x1c\x98\x60\xc4\xd6\x3c\x91\x74\x0c\xb0\x70\x6a\x2c\xe6\xe5\x72\xd9\xe9\xcc\xfe\xf5\x47\xc5\xaa\xe7\xe4\x7f\x7c\xd4\x62\x2b\xab\xe4\x73\x38\xc2\x27\xf6\x4b\xe8\x99\x37\x76\xdf\xe7\xf1\x7d\xff\x16\x37\xf9\x67\x8c\x9b\x4c\xfa\xc4\x4d\x2c\xa8\x10\x32\x4b\xc9\x3b\x60\x81\x5f\xbf\x05\x54\x7e\x0b\xa8\x6c\xdf\xea\xcf\x13\x50\x41\xa2\xac\x59\x52\x35\xa5\xb6\xf4\xf2\x89\x5c\xb2\x8e\x5e\x1d\x2e\x26\xe4\x6b\x34\xf7\x70\xac\xd9\x9c\x47\x2f\x40\x2e\x0b\x7a\xcc\xfe\x9e\xdb\x1d\x80\xb2\x1b\xb5\x16\x0c\x3e\xa5\xb1\x38\x1a\xa3\xcc\xe0\x11\x20\xc0\xcd\x00\x3d\x0a\x8b\x30\x5e\xa0\xf8\x20\x1a\x2c\xf6\xe6\xcf\x6b\x29\x1e\x99\xd1\x2b\x46\x21\x24\x36\x58\x1e\xa8\x9a\x79\x60\xf4\xf8\x4a\xfe\x8c\x23\xc1\xc9\xc5\x92\xe7\x31\x64\x6d\x91\xb4\x49\x79\x74\x6f\xfe\x1b\xfa\x47\x5f\x24\xd8\xae\xe5\xdf\x40\x28\xb9\x6f\x2d\x91\x11\xd2\x8b\xda\x3a\x09\xae\x7f\xf8\xba\x66\x3c\xca\x95\x46\xf7\x9e\x2b\x36\x0f\x9c\x05\x60\x6a\x3c\x24\x71\xc9\x53\xfc\x62\x67\x4c\x64\x28\x24\xb4\x0e\xe2\x0b\xea\x42\x36\x11\xa2\xb4\x1c\xc8\xfa\x96\xb4\x9c\xe5\x3b\x2d\x08\xb9\xa9\xed\x01\xde\xda\xd3\x17\x53\xf4\x1a\x38\xdb\x4e\x6d\x6f\xcb\x04\xd8\xc4\x85\x60\x22\x74\xf7\x4c\xec\xa0\x28\xde\x67\x51\x06\x53\xad\x4f\xbc\xe6\x16\x94\xf7\x47\x8b\x2e\x17\x3c\xde\x84\xfc\xa6\x89\x64\x10\x4f\x65\x3c\x5e\x27\xd2\x1c\x02\x5b\x00\xd9\x5d\xa2\xb6\x16\x0a\xc2\xf8\xa1\x4e\x60\x9a\xd6\xf4\x60\xcd\xa4\x30\x66\x00\xcf\x93\x74\x03\xe2\x3c\xcb\xc5\x61\xf0\x9d\x60\x7d\x28\x8b\x10\xaa\xba\x10\x31\x53\xa9\xc5\xa2\x4c\xd1\x3e\x04\x0f\x8a\x1b\x00\x49\xa4\xbb\xc9\xc8\xa8\x86\x05\x55\xe7\x0a\x3e\x8c\x35\x6f\x9f\x23\x23\xab\x11\x57\x1e\x16\x1b\xf5\xfc\xbb\x39\x24\x8e\xac\xd4\xa3\x4d\x1f\x7d\xe4\x3e\x3f\xa0\x4b\x71\x78\xb6\x78\xd8\x76\x8b\xc1\xda\xea\x56\x4e\x05\x24\x9a\x2e\x08\x4a\xbf\x89\xd8\xc9\xa6\x44\xc2\x70\xa8\x6c\xbc\x8f\x31\x94\x1a\xb3\x50\xcd\x5a\xc2\xfd\x65\x5d\x52\xd5\x10\x03\x73\xa3\x4b\xb4\x92\x6c\x5a\x7e\xf9\xe5\xd7\x82\x7d\x09\x69\xb9\x64\x39\x62\x24\x13\x18\x78\xb1\x75\x10\xd9\xee\x03\x02\xe9\x79\x1b\x2b\xc2\xda\x60\xdf\x96\x03\x03\x80\xd3\x3c\x5a\x31\x5d\xce\x11\x15\xcc\x29\x18\xc6\xa5\x63\xf2\x3f\x57\x00\xf0\xc5\xdb\xdd\xf6\xfe\xff\x91\xd0\x0f\x16\x52\x9a\xca\x4c\x61\xb1\x09\x80\x53\xcf\x05\x5b\xf3\xfc\x1e\xea\x62\x63\x20\x05\x8a\x6b\xbc\x4e\xc4\xb8\x1a\x08\x3a\xa8\xf4\x87\x42\x6f\x48\x22\xcf\xf2\x52\x4a\x5b\xe8\x8f\x19\x9d\xdb\x47\x65\x46\x53\x39\x2f\x43\x2f\x41\x25\xac\xe3\xb7\x16\x84\x76\x40\xd8\x2a\x60\xff\xa1\x4e\x71\xed\xfb\x35\x66\x3d\xe2\x3b\x53\xf9\xcc\x01\x9e\x5d\xae\xd9\x2b\xd2\xc1\xac\xdb\x35\xc8\x01\x82\xe1\x86\xb5\xe8\x61\x39\x70\xdb\x83\x92\x73\x05\x05\xe9\x47\xec\xfb\xe4\x41\x8c\xd8\x4d\xc6\xf3\xfb\x11\x7b\x87\x81\xda\x3f\xaa\x79\x9b\xb7\xb5\x41\xd2\xb2\xb7\xc7\xf5\x69\x0e\xc7\x6d\xd4\x49\xed\xe6\xc3\x4f\x0d\x5d\x9a\x75\xa1\x14\xfe\x39\x51\xae\x1d\xfc\x39\xff\xd3\x7d\x46\x3b\x00\x05\xbf\x21\x28\x7f\x33\xf8\xff\x07\x1a\xfc\x2f\x81\x68\xfa\x5d\xf8\xbf\x56\xea\x5b\x3d\x15\x34\x76\xba\x1b\x5a\x51\x97\xbf\x2e\x8a\x85\x24\xae\xab\x32\x4d\xa6\x85\x7e\x02\x84\x88\x2c\x62\x47\xb2\x31\x20\xfd\x87\x5e\xb5\xf3\x75\x9a\x2a\x5d\xe6\xdb\x45\xe6\x75\xb5\xd7\xf6\xeb\x2d\x94\xd3\x70\x44\xd7\x73\x01\xfc\x29\x7d\xe1\x55\xf8\xd8\xec\x6f\x6a\x3e\x03\x2c\xe1\x7e\x72\xb1\xad\x39\x47\x64\xaf\xa2\x4a\x57\xbd\x5e\x71\x93\x09\x60\xde\xf3\x0a\xbc\x0f\x78\xd5\x76\x98\x73\x28\x4d\xa5\xad\xfd\x81\xb9\xfb\x79\x2e\xa0\x48\x41\x2e\xa0\xe4\x2c\x23\xae\xd5\x74\x13\xe8\x91\x81\xbd\xe8\x41\x5f\x61\xbe\x2d\xa4\xcd\x93\x95\x3a\x17\x42\xba\xd9\x1e\xa2\x80\x01\x21\x7f\x6d\xf6\x09\xcd\xf9\x28\x6c\x09\x98\x8e\xf2\xd8\x8d\xf7\x02\x0b\x1a\x0c\x95\xa5\x28\x82\x3b\xb0\xa6\x90\x55\x8e\x66\x25\x02\xfb\xab\xca\x3d\x6a\xc5\x58\xd4\x68\x02\x2b\x6e\xa7\x5e\x1e\xfe\xe7\x88\x07\x5d\xf1\x62\x85\x6e\x80\xb5\x2a\x04\x8a\x64\xe4\x2b\xc3\xfd\x82\x61\x88\x79\xaa\xe6\x50\xeb\xb5\xd8\xc2\x65\x1b\xd1\xd1\xee\x35\x75\xcd\x05\xeb\x23\x19\x8c\x34\x81\x9c\xff\x5c\x68\xa0\x7e\x6a\x46\x61\xfb\x86\x47\x86\xb9\x2a\x9a\xdd\x35\x42\xbf\x79\xd9\x35\x8b\x03\x99\x63\x0d\x60\xec\xb3\x27\xe4\xf2\x35\x4a\x2d\x11\x69\x3e\xc1\x1c\x90\x37\xbb\x36\x5e\xe4\xed\xda\x00\x25\x28\xfc\x12\x5c\x02\xdc\x57\xfb\x73\x78\x67\xaa\x1e\xef\xce\x1f\x26\xd2\xb3\x93\x10\x61\x4b\x7e\x95\x91\xf7\x00\x83\x09\x35\x82\xfc\x6a\x59\x24\xb9\x60\x12\x50\x36\x53\xa9\xcb\xf9\xa1\xa7\x48\x32\xb6\xef\x03\xd0\x7a\x69\x91\x71\x30\x00\x81\x39\xed\xb0\x55\x6f\xb9\xad\x54\xed\xb2\x44\xa6\x3c\x25\xe1\x0f\x59\xdb\xc8\xd1\xe1\xc6\xee\xda\x31\x26\x2e\xf8\x1e\x2c\x1c\x0f\x2f\xbb\x6d\xf2\x02\xea\x0a\x42\x2e\xf8\x35\xa2\x84\x7e\xe9\x0b\x3c\x8c\xf6\xf7\xbd\xba\x21\x5e\x3c\x95\xff\x66\xef\x86\x6e\xd0\xfc\x80\x9d\x6e\x66\xc6\x5c\x51\x9d\x60\xfe\x4a\xdf\xac\xe1\x1d\xa8\xce\xdd\x9d\x6a\x6c\xf9\xb6\x56\xb9\xc5\x6d\x85\xc5\xa5\x14\x25\xee\xc3\xaf\x0f\x89\x0e\xca\x4e\xc0\xd7\x6e\x84\x60\xc7\xb9\x58\x1c\x7f\xcc\xc5\x62\x66\x57\x7a\x0c\x03\x1a\x9b\x11\x35\x8b\x4f\xf4\xdc\x1c\x3a\x53\xb2\x9d\x86\x75\x07\x49\x73\x6d\x48\xd8\x4e\x30\xa6\x64\xc1\x7c\x9d\x6d\x33\x1e\xe0\xa2\x11\x71\xbd\x2a\x46\xa3\x67\x9f\xfd\x9a\xeb\x42\x3a\xf6\x80\x12\x76\x94\x63\xfe\x9f\x7f\xbd\x55\xe6\xac\xcf\xf5\x76\x5b\x85\x84\x59\x61\xcf\xa5\xbb\xf0\xba\x71\xcf\x9f\x37\xfb\x02\x16\x50\x67\xfc\x51\x12\xa3\xd6\x20\x87\x5d\xbf\x6b\xad\x06\x90\x0b\xae\xb5\x06\xc6\xd3\x9f\x32\x69\xfd\xa3\x89\xab\xe8\x3b\x62\xde\xef\xc0\xd3\x34\xac\xed\xe3\xe3\x93\x53\xe9\x33\xe4\x8d\xd6\x9a\xa6\xd6\xf1\x59\xd1\x37\x5c\xe9\x75\x5d\xf0\x42\x8c\x2c\xfd\x13\x11\xa7\x52\x14\xf1\x70\xce\xa1\xc8\xbe\xab\xe6\xb8\xeb\x34\x3f\x97\x11\xf9\x2b\x63\x68\xd8\x11\xaf\xc7\xcf\xce\xee\x45\x03\xae\xbf\xb3\xaf\xed\xf1\xa1\x80\xdc\x06\x0e\xb3\x95\xb2\x11\xcf\x73\x9b\xc5\x42\x5f\x65\xb6\xf0\x42\x68\x95\x74\xf4\x73\x25\xa2\xfb\x4c\x25\x72\xb0\x2c\xaa\x90\xed\xc0\x66\x2f\x98\x6f\xcd\x59\x87\xbd\x2e\xc7\x8a\x3e\x89\x03\x01\xa8\x92\x83\x3e\x7b\x5a\x48\xce\x5c\xcd\xfe\xee\x6d\xf7\xdc\xfe\x0b\xe1\xef\x86\x17\xf0\x60\xb7\x44\xd5\x6a\xb7\x0a\x6f\xf1\x1b\x55\x38\x89\x79\x23\xbb\xb1\xe7\x64\x73\x56\x21\x53\x6d\x9d\x52\x70\x45\xfd\xe6\x19\xfa\xcd\x33\xf4\x4f\xee\x19\xfa\x9c\x6e\x21\x40\x14\xbd\xa4\x4f\x68\x0b\xac\x60\x8f\xe3\xe8\xbe\x3a\x38\x87\xb7\x55\x3b\x1e\xf9\x61\x84\x99\xbc\xcd\x44\x16\x4b\xc9\x63\xe6\x67\xce\xa3\x7b\x21\x3b\x91\x0d\x96\x48\xad\xb3\x12\xf4\xf3\xe2\x7e\xda\x78\xe0\x82\xb7\xb7\x03\x80\x3c\x40\x8c\xe8\xcb\xdb\xa8\x89\xcc\x39\x01\xdd\xd3\x0c\xfc\x10\xa0\x76\x2a\x77\x14\xfb\x9a\xb2\x4c\x31\x84\x8b\x84\x6d\x08\x31\xab\x91\xd2\x37\x26\xb5\x13\x76\x80\x1f\x9e\x65\x4a\xa5\xad\x80\xc2\x67\x9d\xc0\x46\x22\x58\xdf\xc9\x9b\xa0\x32\xaa\x43\x98\x9d\x9d\x45\x9f\x54\xe4\x53\x90\x30\xdf\x08\x6a\x02\xc1\x6e\x8a\x4b\xc8\x15\xf6\xd3\x11\x14\x7a\xe5\xce\xe1\x42\xc8\xba\xb9\x88\x38\x94\xa0\xb6\x90\xc7\x88\xbb\xec\xaa\x90\x9e\xad\x91\xee\xa4\x9b\xdf\xe9\x88\xf5\x42\xbb\xb3\xa4\xad\x00\xd0\xd0\xc3\x55\xd3\x10\x6c\xea\x04\xf6\xdc\xe2\x6f\x2c\x01\xec\xae\xd2\xea\x96\xed\x7e\x06\x75\x60\xfb\xdd\x70\xad\x72\x67\x42\x0d\x9d\x42\x3b\xfd\x05\xe9\xf7\x90\x6e\xb6\xee\x89\x77\x9a\xca\x13\x57\x71\xdb\x23\xe6\x1c\xde\x11\x83\xcc\x88\xf4\x6c\x2c\x0d\xb2\xca\x7a\xcb\x65\xc4\x74\x19\xad\x80\x37\xb7\x2a\xa7\x42\xb9\xd5\x3c\xb1\xa3\xa9\x34\x06\x11\xb8\x5a\xd6\x1c\x78\x1f\x1e\x8d\xb2\xaa\x93\xbf\x0b\x07\x6a\x23\x1a\xc1\x10\xc7\x86\x86\x93\x92\xad\x98\x3f\x4b\x61\x8c\xb0\x14\x8f\xc4\x29\xb3\x98\x17\x62\x3c\xf5\x18\xa5\x04\x3d\x9d\x16\x1b\x43\x2a\xb3\x0e\x07\x16\xa2\x3f\x6b\x92\x36\x4d\x16\x22\xda\x44\x8d\x7a\x68\xdb\x69\x50\x7e\x33\xdb\x7e\x5d\x66\x1b\xf2\x7d\x63\x4e\xec\x90\xa9\xa5\xae\x5e\xfb\xd7\xf7\x9b\x5c\xc1\x82\x9e\xe8\x01\xf3\xfc\x19\xcd\xce\x16\x1d\x78\x98\x3e\xdf\xdb\x0e\xda\x7e\x9d\x79\xc3\xd6\x5f\xd6\x01\xc5\x47\x43\x2d\x0c\x83\x8b\x45\xb8\x75\x8c\x42\xbb\x33\x05\x7f\x37\x8b\xd2\xaf\x0a\xd2\xd5\xc7\x70\x35\x1a\xb7\x03\x79\x5d\x58\x4d\x5b\x0a\xbc\xef\xb6\x68\xdc\x41\x7d\x09\x5e\xbc\xd2\x6e\xd6\xab\x12\xd0\x66\x4c\x9c\xc8\xcd\x5e\x09\xc6\x9b\x4c\xcc\xca\x3c\xdd\x0b\xa4\x7d\x77\x7d\x7e\xe4\xb4\x0d\xd0\x9c\x3b\x2b\xb0\x15\xb5\x22\xf5\xb6\x3a\xba\x88\x09\x44\x1b\xa9\x94\xcd\xcb\xc5\x02\x2a\x29\x11\x9c\xd6\x0a\x23\x23\x1c\x81\x03\x9c\xee\x13\x64\x52\xe2\xba\x98\x4a\x25\x05\x9b\x7e\x71\x34\xfd\xc2\x5c\x65\x39\x8f\x0a\x91\x23\x89\x46\xca\x75\xc1\xb4\x58\x82\xaa\x45\x1f\xbd\xbb\x3e\x87\xac\xdb\x62\x85\xcd\x39\x93\x15\xf3\x99\x91\x7d\x1e\xaa\x8e\x01\x55\xbe\x0c\x6a\xff\x41\xdf\x5f\x73\xcd\x12\x39\x95\x1f\x4d\x13\x47\x4b\xa5\x96\xa9\x18\xdb\x05\x19\xbf\x23\xd7\xe3\xc7\x03\xec\x01\xbc\x1e\x26\x43\x98\x0b\x91\x4b\x25\x93\x88\xa7\x90\xa1\x35\x95\xa0\x35\x8f\xcc\x60\xc0\x35\x3a\xfd\x62\x3c\xfd\x82\x41\xf8\xb4\x60\x3c\x8a\x44\x56\x88\x18\x8b\x2c\x4f\x24\xcb\x00\xf5\x19\x89\x11\x2b\x04\x5f\x6b\x4b\x2e\xcf\x32\x63\x63\x82\x69\xc8\x12\x49\xf8\xb0\x79\x22\x79\xbe\x41\x08\x18\x54\x5d\xb6\x29\x33\x9b\xa9\x14\x9f\x80\x88\x38\x01\x2e\x62\xcc\xb6\x73\x48\x56\xf1\x09\x66\xeb\x44\x6e\xc6\xec\x7b\x64\x20\x41\x32\xe6\xbb\xeb\x73\x4b\xdf\x45\x39\xce\x53\xa9\xa3\x95\x58\x0b\xf6\x71\x55\x14\xd9\xc7\x11\xfe\xaf\xfe\x08\x11\x47\xa9\x18\xfe\x3a\x62\x66\x89\x8c\xa2\x6a\xb3\x0c\xd2\x0d\x54\xb3\x2e\x33\xa3\x20\x01\x1b\x3b\x54\x85\xc8\x43\x4c\xb4\x99\x6d\xf8\x62\x60\x82\x57\xd0\xf4\x46\x8a\x43\x99\xd9\x63\x33\x39\xff\x8b\x4d\x16\xfe\x93\x66\x02\x6d\x95\x43\xd7\x2b\x50\x48\x34\xe4\xf0\x8d\xcd\x0b\x27\x92\x7d\x7f\x7b\x7b\xc5\xbe\x3b\xbb\xb5\xca\xce\xdd\xf5\x39\xee\x0b\xa0\x0b\x62\x9c\xfd\xa5\xbe\xc4\xb7\x9b\x4c\xfc\xf5\x2f\x7f\x9d\x4a\x46\xf4\x1a\x89\xb4\x33\x8d\x27\x7a\x84\xe4\xd4\x00\xa7\x82\xc0\x2c\x90\xca\xc3\xf7\xb0\xf8\x17\x75\x3f\x47\xed\xfc\x91\xbc\x05\x70\x47\xa5\x4a\xdd\x97\x99\x73\x73\x87\x7a\x98\xf9\xe0\xdd\xf5\x39\xb4\x0e\x74\x61\xc5\x0a\x2a\x39\x0a\xe7\x7d\x81\x85\xe7\xb6\x33\xe6\xbf\x1f\x54\x12\x33\x2e\x37\xe6\x5d\x6c\x1a\xb6\x65\x2e\x16\x2a\x17\x23\xfb\xa4\x69\x80\x17\xc9\x3c\x49\x93\x62\x03\x52\x4a\xdb\x12\x55\xb6\x5a\x87\x69\xc0\x58\x33\x04\x8b\x37\x1b\x0c\x0b\x6a\xbf\xbe\xd3\x21\x6e\x1e\x16\xcd\x55\x69\x45\x43\xc7\xbc\x3b\xcf\x05\xbf\x37\xbb\x9b\x5a\x18\x1f\x50\xf5\x6a\x71\x8c\x77\xcc\xa2\x94\x11\x6e\x0d\xd3\x07\xda\xfd\x64\x39\xa5\x1b\xc6\x1f\x78\x82\xd5\xad\x6d\xb8\x7c\xb1\x48\xa2\x84\xa7\x24\x39\xe6\xe5\x02\x0a\x58\x71\x4d\xc5\xd3\x10\xb2\x69\x1a\x01\x2b\x03\xae\x7b\xb7\xa1\xe6\x62\x99\x20\x4c\xfb\x31\x29\x56\x98\x8d\x31\xc6\x75\xe6\x59\xa2\xc7\x91\x5a\xc3\x79\xbb\x81\xad\xa4\xc9\xe8\x05\xf4\x7c\x6d\x9f\xb3\xd7\x16\xa0\xb8\xce\x8a\x0d\xed\xbd\x03\xb6\x4e\x96\xab\x02\x4a\x4a\xc1\xd7\x01\x12\x91\xac\xb3\x14\x8c\x3e\x8a\x30\x5a\x94\xb4\x16\x6b\x2e\x8b\x24\xea\x8a\x29\xc1\x26\x7b\x1a\x32\x76\xbe\x29\xb6\xfb\xf1\x3e\x50\xc5\x0f\x8e\xc5\x3c\x02\x89\xcc\xea\x02\x99\x64\x20\x14\xba\x0a\x4a\x89\xd4\x8b\x5f\xef\x32\xa1\x3e\x9e\xc8\xcd\x47\x4f\x87\xcc\x65\x50\x85\x6f\xcb\xd7\xed\xf9\xe7\xa9\xa2\x55\x63\x7c\x2a\x01\x0b\x6b\x04\x06\x95\xc5\xde\x7a\xc7\xb8\x2b\xc5\xac\xec\x95\xdd\x34\x69\x32\x87\x6f\x93\xac\xd0\x4c\x97\x19\x64\x61\x14\x8a\x65\x3c\xba\x3f\x2a\xa5\xf9\x1f\x23\x0c\xf1\xb8\xeb\x90\x7c\x6b\x2a\xd5\x82\x95\x05\x1e\x1c\xbb\x85\xc1\x29\x12\xb8\x02\xbc\x81\xb6\x16\xc5\x4a\xc5\x2e\x9b\xce\xb4\x09\xf3\x67\x7a\x74\x46\x44\xf7\x6f\x8e\xd9\x95\xf9\xa0\xd9\xc4\xf4\x6d\xee\x86\x9f\x48\x76\xfa\x6f\xff\x06\xcf\x9b\xc9\x7d\xaf\x14\x5b\x28\xc5\xbe\x65\xe3\xf1\xf8\x3f\xf0\x6f\xa6\x51\x2e\x37\xf4\x2f\x2e\x37\x63\xd3\xdc\xfb\x5c\xad\x5f\x2f\x94\x3a\xa0\xbf\x43\xf9\x78\xf3\x1f\xc9\x82\xbd\x36\x0f\xdd\xc1\xa7\x6e\xd5\xeb\x69\xf9\xe5\x97\x5f\xfd\xc1\x3c\x7a\xc0\xfe\x0b\x9f\x09\x1e\xff\x47\xd8\xd5\xaf\x76\x74\xf5\x8f\xfc\x81\xf7\xe9\x2b\xfb\x16\xee\x1a\xd3\xc0\xd6\x3e\x26\xfa\xf5\x7b\xa5\xc6\x60\xfd\x87\xbd\xc3\x66\xcd\x13\xd8\x8b\xe0\xa9\xff\x08\xba\xcd\x6c\xbf\xbf\xde\xd1\x6f\xcc\x45\x70\x3d\xc7\xe6\xdf\x2b\xf5\x7a\x3c\x36\x72\x8b\xe6\x15\x7b\xfd\xfa\xa0\x3a\xd1\x30\x80\x66\xff\xcd\xcf\x13\xec\xfe\xbb\xb3\x9b\xd3\xeb\xc9\xd5\xed\xe5\xf5\xc1\xb1\x1d\x81\x5f\x81\xe0\x7d\x66\x8b\xfc\xbb\x8e\xff\xef\x1d\x1d\xff\x4e\xd9\x3e\x43\xa7\x8f\xbf\x65\xb8\x9a\xd9\x7c\xfc\x5e\xa9\xff\x1a\x8f\xc7\xff\xa0\x9f\xb9\xdc\x8c\xcc\xc5\x64\x9e\xc9\x50\x94\x7f\xe0\xb9\x5e\xf1\xd4\x8c\x29\xe8\x83\x1b\x44\x6b\x8b\xb6\xb9\x64\x51\x6b\xec\x4e\xae\x7d\x73\xf0\x31\x58\x58\x78\xea\x5f\xbe\x65\x32\x49\xfd\xf2\x05\xdf\x80\x75\xba\x05\xea\x94\xe8\xde\x1d\x17\x57\xad\x78\xbe\x61\x59\xfd\xe0\x62\xb6\xde\xc6\xd6\x4a\x31\xe2\x7e\x2a\x5f\xb5\x48\xf4\x23\xa3\xda\x8d\xe1\x07\x73\x41\xbd\x32\xfa\x83\x93\x16\x46\x92\xd8\x1a\x7f\x38\xb3\x10\x88\xc6\xd3\x2a\x29\xb3\xaf\x4d\x3f\x74\x17\x5e\x40\xc6\x06\x6a\xe7\xab\xa3\x57\x94\x5e\xe5\x3f\x51\x2d\x69\x31\xfd\x62\xa1\xd4\x78\xce\x73\xe8\xdd\xa7\xa3\xcd\xf8\xef\xd3\x2f\x70\x3c\xa8\x7c\xa0\x62\x04\x8d\x4f\xbf\x80\x5f\x61\x3b\x4c\xe5\x1f\x6f\x2e\x2f\xa6\xf2\xdb\x6f\xbf\xfd\x16\x67\xcb\xfc\xbb\x25\xf6\x62\xae\x2b\x10\xb7\xa8\xa7\x94\xda\x16\xb7\x15\xcb\x32\xe5\xf9\x54\xb6\x87\x6b\x62\xe1\x85\xe6\xc8\x07\x6f\x68\x9f\x8d\x6c\x9d\x1d\x28\x97\x68\x65\x1c\xfa\x26\x3f\xfe\xff\xa6\xcb\x1f\x49\x45\x74\x42\x3e\x9c\x82\xb1\xdd\xcc\xc7\x76\xab\x9a\xc9\x36\xfb\xd7\xeb\x59\x8b\x24\x15\x74\x70\xed\xe6\xbe\x12\xb9\x56\xd2\xef\x19\x32\x08\x80\xbb\x0f\x02\x00\xec\x5b\xf6\xe6\x3f\x6a\xbf\x9a\x75\xb0\x3f\x7e\x55\x91\x04\x8c\xf9\xa6\xa6\x5f\x40\xaf\xa7\x5f\x1c\xb3\xe9\x17\x6d\xfb\xa6\xda\xb1\x31\x76\x65\xfa\xc5\xc8\x37\x00\xdd\xb8\xe0\x6b\x6c\xa4\xfc\xf2\xcb\xaf\x23\xec\x02\x26\xfc\x05\x4f\x9a\x2e\x75\x3f\x18\x74\x71\x52\x0b\x9d\xd9\x89\xb0\x89\xa3\x8f\x22\x4d\x0f\xef\xa5\x7a\x94\xb0\x6f\x21\x4e\x44\xb9\xdd\x0c\xb7\x47\x75\x71\xa9\x4a\x62\x6d\xc5\x6d\xaa\xab\xfb\x8c\x2b\xb4\x09\x0b\x3a\x95\x1f\x61\xeb\xd8\x15\x25\xba\x2d\xa0\xbb\x75\x5f\x02\xa3\x86\x76\x82\xcd\x4c\xa1\x8d\x30\x95\xd0\x8c\x5b\x73\xf6\x1a\x80\x5f\x34\x94\x86\x66\x6d\x8d\xa7\xbf\xfe\xe5\xaf\x07\xc7\xfb\xac\x53\xb5\xb9\xca\x52\xc1\x78\xb0\x8d\x37\xe3\xaf\xde\x7c\xa5\xa7\x5f\xd0\xac\xb7\x9b\xd8\xe7\x89\x2e\x7e\xac\x69\x60\x83\x0d\x6d\x54\x1c\x5e\x2a\x78\x61\xbb\x8a\xdd\xec\x1b\xb4\xb8\xae\x86\x15\xd4\xc2\xba\x75\xc0\x38\xc3\x52\x86\xd8\xef\x41\xea\x9d\x9b\x2f\x34\xb6\xd8\x63\xce\xb3\x4c\xe4\xd6\x57\xde\x08\x67\xa8\x85\xfd\x8a\x15\xfd\x6d\xc2\xcc\x6c\x9b\x5a\xd3\xf0\x18\x4c\xdd\xb8\x7d\xe5\x2e\xca\x34\xed\x5c\xb9\xdd\x65\xdb\x2f\xee\xce\xcf\x67\x3f\x9e\x9c\xdf\x9d\xd9\xe1\xb7\x96\x41\x0f\x1e\xeb\x9c\x13\xd7\x13\x9a\x13\xc4\x55\x15\x80\xa5\x2a\xd7\x22\xb7\x4c\x78\x7e\xd4\x88\x23\x29\xd3\xb4\x5a\xa0\x7f\x2a\x3f\x52\x3b\x20\x06\x4a\x99\x58\x35\x65\xeb\xc4\x55\xbf\x0f\x8f\x7d\x34\x8d\x7f\xc4\x77\x0f\x99\x1f\xc4\x31\xbb\x70\x5f\xed\x98\x57\xa2\xe9\xd8\xe3\x38\x60\x96\x72\xd7\x71\x78\x7a\x11\xf1\xe7\x3c\x1e\x77\x12\xca\x0f\x1a\xc9\xcb\xb3\x67\x3b\x1d\x38\x77\x1f\xab\x50\x70\xe7\x2e\x8d\x31\x6a\x08\xed\x8e\x80\x6d\x28\xd1\x05\x71\x72\xe3\x9c\x4d\x25\x0a\x62\xd3\xa7\x42\x75\xf7\x89\x4d\x28\x82\x94\x72\xb9\x2c\xf9\x52\xe8\x11\xb3\x1f\x9f\x4a\x6b\x9d\x5a\x5b\xc7\x01\x73\x80\x71\xb8\xb6\x85\x6a\x89\xd3\x89\x9c\x4a\x1a\x13\xdc\xb0\xd4\x3c\x26\xf1\xfe\xf1\xc6\x0d\x87\xb2\xe5\xb1\x21\xcc\x5e\x36\x2a\x03\x2e\x2e\xfa\xc6\x2c\xd8\x10\xd4\x8e\xe6\xdd\xc4\x01\x1e\x8c\x76\x5d\xcc\x0a\xb5\x04\xd8\xe3\x54\x3a\x96\x37\x04\x67\x58\x7b\xcd\x57\x29\xc6\x2e\xed\x96\x27\x76\x31\xec\x99\xa0\xbe\xb5\xef\xfa\xbd\xef\x00\x73\xe0\x66\xad\xb6\xfc\xf6\x6d\xeb\xc5\x58\x4f\x40\x0e\x0f\x04\x47\x17\xf5\x27\x50\xfb\xb5\xf7\xc6\x8e\x0b\x9f\xe9\xcc\xb9\x55\xe5\x3c\x1d\xd0\x25\x7c\x7e\x6b\xa7\x50\x24\x6f\xef\x54\x0f\x8f\xf4\x75\xed\x68\x99\x6d\xba\xed\xb3\x73\xa5\x3a\xd6\xe5\x19\x31\xbb\x95\x4e\xd1\x0b\xbb\x26\xa3\x8c\x8a\xa7\xec\x97\x1e\x2c\x4a\xf5\x29\xb2\xd2\x67\x5b\x87\xd2\x44\x3f\xa9\x3b\x5e\x7f\xea\xdd\x23\xa7\x21\xd0\x65\x37\x48\xc2\xd2\x3d\x57\x11\xb0\x1d\x62\xd2\x9a\x29\x98\xde\x22\x12\x14\x2f\xe6\xf0\x8c\xe0\x10\x99\xfd\x3f\x72\x9b\x68\xe4\x57\x6e\x04\x9d\x8c\xca\x5c\x1b\x71\x49\xf2\x8e\xa4\xb6\xca\x19\x9f\x4a\xcb\xa1\x63\xc5\xf1\x89\xf5\x07\xe7\xee\xaf\xc8\x4c\x95\x61\xf1\x4c\x08\x0a\x15\xe0\x25\x27\x69\x38\x95\x0f\x3c\x4f\xb8\x04\x4c\xf3\x5c\x43\xe5\x73\x30\xe9\x36\x8c\x7e\x70\xb4\x25\x3a\x74\x32\xef\x90\x79\x35\x35\xa0\x72\xcf\xff\xce\xfc\xdf\x3f\x7e\xf7\x7f\x03\x00\x00\xff\xff\x4a\x6c\x57\x02\x41\xb9\x06\x00") func adminSwaggerJsonBytes() ([]byte, error) { return bindataRead( @@ -93,7 +93,7 @@ func adminSwaggerJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "admin.swagger.json", size: 322366, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} + info := bindataFileInfo{name: "admin.swagger.json", size: 440641, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/flyteidl/gen/pb-go/flyteidl/service/signal.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/signal.swagger.json index 72ffbd861b..c5dafce8b2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/signal.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/signal.swagger.json @@ -76,6 +76,13 @@ "required": true, "type": "string" }, + { + "name": "workflow_execution_id.org", + "description": "Optional, org key applied to the resource.", + "in": "query", + "required": false, + "type": "string" + }, { "name": "limit", "description": "Indicates the number of resources to be returned.\n+required.", @@ -655,6 +662,10 @@ "name": { "type": "string", "description": "User or system provided value for the resource." + }, + "org": { + "type": "string", + "description": "Optional, org key applied to the resource." } }, "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" diff --git a/flyteidl/gen/pb-java/datacatalog/Datacatalog.java b/flyteidl/gen/pb-java/datacatalog/Datacatalog.java index 9ad108fc95..4d0c9894e9 100644 --- a/flyteidl/gen/pb-java/datacatalog/Datacatalog.java +++ b/flyteidl/gen/pb-java/datacatalog/Datacatalog.java @@ -19954,6 +19954,24 @@ public interface DatasetIDOrBuilder extends */ com.google.protobuf.ByteString getUUIDBytes(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -19977,6 +19995,7 @@ private DatasetID() {
       domain_ = "";
       version_ = "";
       uUID_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -20033,6 +20052,12 @@ private DatasetID(
               uUID_ = s;
               break;
             }
+            case 50: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -20275,6 +20300,48 @@ public java.lang.String getUUID() {
       }
     }
 
+    public static final int ORG_FIELD_NUMBER = 6;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -20304,6 +20371,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getUUIDBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, uUID_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, org_); + } unknownFields.writeTo(output); } @@ -20328,6 +20398,9 @@ public int getSerializedSize() { if (!getUUIDBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, uUID_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -20353,6 +20426,8 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getVersion())) return false; if (!getUUID() .equals(other.getUUID())) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -20374,6 +20449,8 @@ public int hashCode() { hash = (53 * hash) + getVersion().hashCode(); hash = (37 * hash) + UUID_FIELD_NUMBER; hash = (53 * hash) + getUUID().hashCode(); + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -20521,6 +20598,8 @@ public Builder clear() { uUID_ = ""; + org_ = ""; + return this; } @@ -20552,6 +20631,7 @@ public datacatalog.Datacatalog.DatasetID buildPartial() { result.domain_ = domain_; result.version_ = version_; result.uUID_ = uUID_; + result.org_ = org_; onBuilt(); return result; } @@ -20620,6 +20700,10 @@ public Builder mergeFrom(datacatalog.Datacatalog.DatasetID other) { uUID_ = other.uUID_; onChanged(); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -21093,6 +21177,95 @@ public Builder setUUIDBytes( onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -31392,6 +31565,24 @@ public interface DatasetPropertyFilterOrBuilder extends com.google.protobuf.ByteString getVersionBytes(); + /** + *
+     * Optional, org key applied to the dataset.
+     * 
+ * + * string org = 5; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the dataset.
+     * 
+ * + * string org = 5; + */ + com.google.protobuf.ByteString + getOrgBytes(); + public datacatalog.Datacatalog.DatasetPropertyFilter.PropertyCase getPropertyCase(); } /** @@ -31461,6 +31652,12 @@ private DatasetPropertyFilter( property_ = s; break; } + case 42: { + java.lang.String s = input.readStringRequireUtf8(); + propertyCase_ = 5; + property_ = s; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -31501,6 +31698,7 @@ public enum PropertyCase NAME(2), DOMAIN(3), VERSION(4), + ORG(5), PROPERTY_NOT_SET(0); private final int value; private PropertyCase(int value) { @@ -31520,6 +31718,7 @@ public static PropertyCase forNumber(int value) { case 2: return NAME; case 3: return DOMAIN; case 4: return VERSION; + case 5: return ORG; case 0: return PROPERTY_NOT_SET; default: return null; } @@ -31707,6 +31906,57 @@ public java.lang.String getVersion() { } } + public static final int ORG_FIELD_NUMBER = 5; + /** + *
+     * Optional, org key applied to the dataset.
+     * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = ""; + if (propertyCase_ == 5) { + ref = property_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (propertyCase_ == 5) { + property_ = s; + } + return s; + } + } + /** + *
+     * Optional, org key applied to the dataset.
+     * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = ""; + if (propertyCase_ == 5) { + ref = property_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (propertyCase_ == 5) { + property_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -31733,6 +31983,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (propertyCase_ == 4) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, property_); } + if (propertyCase_ == 5) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, property_); + } unknownFields.writeTo(output); } @@ -31754,6 +32007,9 @@ public int getSerializedSize() { if (propertyCase_ == 4) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, property_); } + if (propertyCase_ == 5) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, property_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -31787,6 +32043,10 @@ public boolean equals(final java.lang.Object obj) { if (!getVersion() .equals(other.getVersion())) return false; break; + case 5: + if (!getOrg() + .equals(other.getOrg())) return false; + break; case 0: default: } @@ -31818,6 +32078,10 @@ public int hashCode() { hash = (37 * hash) + VERSION_FIELD_NUMBER; hash = (53 * hash) + getVersion().hashCode(); break; + case 5: + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); + break; case 0: default: } @@ -31998,6 +32262,9 @@ public datacatalog.Datacatalog.DatasetPropertyFilter buildPartial() { if (propertyCase_ == 4) { result.property_ = property_; } + if (propertyCase_ == 5) { + result.property_ = property_; + } result.propertyCase_ = propertyCase_; onBuilt(); return result; @@ -32072,6 +32339,12 @@ public Builder mergeFrom(datacatalog.Datacatalog.DatasetPropertyFilter other) { onChanged(); break; } + case ORG: { + propertyCase_ = 5; + property_ = other.property_; + onChanged(); + break; + } case PROPERTY_NOT_SET: { break; } @@ -32439,6 +32712,106 @@ public Builder setVersionBytes( onChanged(); return this; } + + /** + *
+       * Optional, org key applied to the dataset.
+       * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = ""; + if (propertyCase_ == 5) { + ref = property_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (propertyCase_ == 5) { + property_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the dataset.
+       * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = ""; + if (propertyCase_ == 5) { + ref = property_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (propertyCase_ == 5) { + property_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the dataset.
+       * 
+ * + * string org = 5; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + propertyCase_ = 5; + property_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the dataset.
+       * 
+ * + * string org = 5; + */ + public Builder clearOrg() { + if (propertyCase_ == 5) { + propertyCase_ = 0; + property_ = null; + onChanged(); + } + return this; + } + /** + *
+       * Optional, org key applied to the dataset.
+       * 
+ * + * string org = 5; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + propertyCase_ = 5; + property_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -33869,73 +34242,74 @@ public datacatalog.Datacatalog.PaginationOptions getDefaultInstanceForType() { "datacatalog.DatasetID\022\'\n\010metadata\030\002 \001(\0132" + "\025.datacatalog.Metadata\022\025\n\rpartitionKeys\030" + "\003 \003(\t\"\'\n\tPartition\022\013\n\003key\030\001 \001(\t\022\r\n\005value" + - "\030\002 \001(\t\"Y\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004" + + "\030\002 \001(\t\"f\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004" + "name\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\017\n\007version\030\004 " + - "\001(\t\022\014\n\004UUID\030\005 \001(\t\"\215\002\n\010Artifact\022\n\n\002id\030\001 \001" + - "(\t\022\'\n\007dataset\030\002 \001(\0132\026.datacatalog.Datase" + - "tID\022\'\n\004data\030\003 \003(\0132\031.datacatalog.Artifact" + - "Data\022\'\n\010metadata\030\004 \001(\0132\025.datacatalog.Met" + - "adata\022*\n\npartitions\030\005 \003(\0132\026.datacatalog." + - "Partition\022\036\n\004tags\030\006 \003(\0132\020.datacatalog.Ta" + - "g\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." + - "Timestamp\"C\n\014ArtifactData\022\014\n\004name\030\001 \001(\t\022" + - "%\n\005value\030\002 \001(\0132\026.flyteidl.core.Literal\"Q" + - "\n\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013artifact_id\030\002 \001(\t" + - "\022\'\n\007dataset\030\003 \001(\0132\026.datacatalog.DatasetI" + - "D\"m\n\010Metadata\0222\n\007key_map\030\001 \003(\0132!.datacat" + - "alog.Metadata.KeyMapEntry\032-\n\013KeyMapEntry" + - "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"F\n\020Filt" + - "erExpression\0222\n\007filters\030\001 \003(\0132!.datacata" + - "log.SinglePropertyFilter\"\211\003\n\024SinglePrope" + - "rtyFilter\0224\n\ntag_filter\030\001 \001(\0132\036.datacata" + - "log.TagPropertyFilterH\000\022@\n\020partition_fil" + - "ter\030\002 \001(\0132$.datacatalog.PartitionPropert" + - "yFilterH\000\022>\n\017artifact_filter\030\003 \001(\0132#.dat" + - "acatalog.ArtifactPropertyFilterH\000\022<\n\016dat" + - "aset_filter\030\004 \001(\0132\".datacatalog.DatasetP" + - "ropertyFilterH\000\022F\n\010operator\030\n \001(\01624.data" + - "catalog.SinglePropertyFilter.ComparisonO" + - "perator\" \n\022ComparisonOperator\022\n\n\006EQUALS\020" + - "\000B\021\n\017property_filter\";\n\026ArtifactProperty" + - "Filter\022\025\n\013artifact_id\030\001 \001(\tH\000B\n\n\010propert" + - "y\"3\n\021TagPropertyFilter\022\022\n\010tag_name\030\001 \001(\t" + - "H\000B\n\n\010property\"S\n\027PartitionPropertyFilte" + - "r\022,\n\007key_val\030\001 \001(\0132\031.datacatalog.KeyValu" + - "ePairH\000B\n\n\010property\"*\n\014KeyValuePair\022\013\n\003k" + - "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"k\n\025DatasetProper" + - "tyFilter\022\021\n\007project\030\001 \001(\tH\000\022\016\n\004name\030\002 \001(" + - "\tH\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007version\030\004 \001(\tH\000" + - "B\n\n\010property\"\361\001\n\021PaginationOptions\022\r\n\005li" + - "mit\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(" + - "\0162&.datacatalog.PaginationOptions.SortKe" + - "y\022;\n\tsortOrder\030\004 \001(\0162(.datacatalog.Pagin" + - "ationOptions.SortOrder\"*\n\tSortOrder\022\016\n\nD" + - "ESCENDING\020\000\022\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n" + - "\rCREATION_TIME\020\0002\206\007\n\013DataCatalog\022V\n\rCrea" + - "teDataset\022!.datacatalog.CreateDatasetReq" + - "uest\032\".datacatalog.CreateDatasetResponse" + - "\022M\n\nGetDataset\022\036.datacatalog.GetDatasetR" + - "equest\032\037.datacatalog.GetDatasetResponse\022" + - "Y\n\016CreateArtifact\022\".datacatalog.CreateAr" + - "tifactRequest\032#.datacatalog.CreateArtifa" + - "ctResponse\022P\n\013GetArtifact\022\037.datacatalog." + - "GetArtifactRequest\032 .datacatalog.GetArti" + - "factResponse\022A\n\006AddTag\022\032.datacatalog.Add" + - "TagRequest\032\033.datacatalog.AddTagResponse\022" + - "V\n\rListArtifacts\022!.datacatalog.ListArtif" + - "actsRequest\032\".datacatalog.ListArtifactsR" + - "esponse\022S\n\014ListDatasets\022 .datacatalog.Li" + - "stDatasetsRequest\032!.datacatalog.ListData" + - "setsResponse\022Y\n\016UpdateArtifact\022\".datacat" + - "alog.UpdateArtifactRequest\032#.datacatalog" + - ".UpdateArtifactResponse\022q\n\026GetOrExtendRe" + - "servation\022*.datacatalog.GetOrExtendReser" + - "vationRequest\032+.datacatalog.GetOrExtendR" + - "eservationResponse\022e\n\022ReleaseReservation" + - "\022&.datacatalog.ReleaseReservationRequest" + - "\032\'.datacatalog.ReleaseReservationRespons" + - "eBCZAgithub.com/flyteorg/flyte/flyteidl/" + - "gen/pb-go/flyteidl/datacatalogb\006proto3" + "\001(\t\022\014\n\004UUID\030\005 \001(\t\022\013\n\003org\030\006 \001(\t\"\215\002\n\010Artif" + + "act\022\n\n\002id\030\001 \001(\t\022\'\n\007dataset\030\002 \001(\0132\026.datac" + + "atalog.DatasetID\022\'\n\004data\030\003 \003(\0132\031.datacat" + + "alog.ArtifactData\022\'\n\010metadata\030\004 \001(\0132\025.da" + + "tacatalog.Metadata\022*\n\npartitions\030\005 \003(\0132\026" + + ".datacatalog.Partition\022\036\n\004tags\030\006 \003(\0132\020.d" + + "atacatalog.Tag\022.\n\ncreated_at\030\007 \001(\0132\032.goo" + + "gle.protobuf.Timestamp\"C\n\014ArtifactData\022\014" + + "\n\004name\030\001 \001(\t\022%\n\005value\030\002 \001(\0132\026.flyteidl.c" + + "ore.Literal\"Q\n\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013arti" + + "fact_id\030\002 \001(\t\022\'\n\007dataset\030\003 \001(\0132\026.datacat" + + "alog.DatasetID\"m\n\010Metadata\0222\n\007key_map\030\001 " + + "\003(\0132!.datacatalog.Metadata.KeyMapEntry\032-" + + "\n\013KeyMapEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + + "\t:\0028\001\"F\n\020FilterExpression\0222\n\007filters\030\001 \003" + + "(\0132!.datacatalog.SinglePropertyFilter\"\211\003" + + "\n\024SinglePropertyFilter\0224\n\ntag_filter\030\001 \001" + + "(\0132\036.datacatalog.TagPropertyFilterH\000\022@\n\020" + + "partition_filter\030\002 \001(\0132$.datacatalog.Par" + + "titionPropertyFilterH\000\022>\n\017artifact_filte" + + "r\030\003 \001(\0132#.datacatalog.ArtifactPropertyFi" + + "lterH\000\022<\n\016dataset_filter\030\004 \001(\0132\".datacat" + + "alog.DatasetPropertyFilterH\000\022F\n\010operator" + + "\030\n \001(\01624.datacatalog.SinglePropertyFilte" + + "r.ComparisonOperator\" \n\022ComparisonOperat" + + "or\022\n\n\006EQUALS\020\000B\021\n\017property_filter\";\n\026Art" + + "ifactPropertyFilter\022\025\n\013artifact_id\030\001 \001(\t" + + "H\000B\n\n\010property\"3\n\021TagPropertyFilter\022\022\n\010t" + + "ag_name\030\001 \001(\tH\000B\n\n\010property\"S\n\027Partition" + + "PropertyFilter\022,\n\007key_val\030\001 \001(\0132\031.dataca" + + "talog.KeyValuePairH\000B\n\n\010property\"*\n\014KeyV" + + "aluePair\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"z\n\025" + + "DatasetPropertyFilter\022\021\n\007project\030\001 \001(\tH\000" + + "\022\016\n\004name\030\002 \001(\tH\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007ve" + + "rsion\030\004 \001(\tH\000\022\r\n\003org\030\005 \001(\tH\000B\n\n\010property" + + "\"\361\001\n\021PaginationOptions\022\r\n\005limit\030\001 \001(\r\022\r\n" + + "\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(\0162&.datacata" + + "log.PaginationOptions.SortKey\022;\n\tsortOrd" + + "er\030\004 \001(\0162(.datacatalog.PaginationOptions" + + ".SortOrder\"*\n\tSortOrder\022\016\n\nDESCENDING\020\000\022" + + "\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n\rCREATION_TI" + + "ME\020\0002\206\007\n\013DataCatalog\022V\n\rCreateDataset\022!." + + "datacatalog.CreateDatasetRequest\032\".datac" + + "atalog.CreateDatasetResponse\022M\n\nGetDatas" + + "et\022\036.datacatalog.GetDatasetRequest\032\037.dat" + + "acatalog.GetDatasetResponse\022Y\n\016CreateArt" + + "ifact\022\".datacatalog.CreateArtifactReques" + + "t\032#.datacatalog.CreateArtifactResponse\022P" + + "\n\013GetArtifact\022\037.datacatalog.GetArtifactR" + + "equest\032 .datacatalog.GetArtifactResponse" + + "\022A\n\006AddTag\022\032.datacatalog.AddTagRequest\032\033" + + ".datacatalog.AddTagResponse\022V\n\rListArtif" + + "acts\022!.datacatalog.ListArtifactsRequest\032" + + "\".datacatalog.ListArtifactsResponse\022S\n\014L" + + "istDatasets\022 .datacatalog.ListDatasetsRe" + + "quest\032!.datacatalog.ListDatasetsResponse" + + "\022Y\n\016UpdateArtifact\022\".datacatalog.UpdateA" + + "rtifactRequest\032#.datacatalog.UpdateArtif" + + "actResponse\022q\n\026GetOrExtendReservation\022*." + + "datacatalog.GetOrExtendReservationReques" + + "t\032+.datacatalog.GetOrExtendReservationRe" + + "sponse\022e\n\022ReleaseReservation\022&.datacatal" + + "og.ReleaseReservationRequest\032\'.datacatal" + + "og.ReleaseReservationResponseBCZAgithub." + + "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" + + "yteidl/datacatalogb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -34101,7 +34475,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_datacatalog_DatasetID_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datacatalog_DatasetID_descriptor, - new java.lang.String[] { "Project", "Name", "Domain", "Version", "UUID", }); + new java.lang.String[] { "Project", "Name", "Domain", "Version", "UUID", "Org", }); internal_static_datacatalog_Artifact_descriptor = getDescriptor().getMessageTypes().get(25); internal_static_datacatalog_Artifact_fieldAccessorTable = new @@ -34173,7 +34547,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_datacatalog_DatasetPropertyFilter_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datacatalog_DatasetPropertyFilter_descriptor, - new java.lang.String[] { "Project", "Name", "Domain", "Version", "Property", }); + new java.lang.String[] { "Project", "Name", "Domain", "Version", "Org", "Property", }); internal_static_datacatalog_PaginationOptions_descriptor = getDescriptor().getMessageTypes().get(36); internal_static_datacatalog_PaginationOptions_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/Common.java b/flyteidl/gen/pb-java/flyteidl/admin/Common.java index 4120abc852..bc18ef3c1e 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/Common.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/Common.java @@ -212,6 +212,24 @@ public interface NamedEntityIdentifierOrBuilder extends */ com.google.protobuf.ByteString getNameBytes(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 4; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 4; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -236,6 +254,7 @@ private NamedEntityIdentifier() {
       project_ = "";
       domain_ = "";
       name_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -280,6 +299,12 @@ private NamedEntityIdentifier(
               name_ = s;
               break;
             }
+            case 34: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -444,6 +469,48 @@ public java.lang.String getName() {
       }
     }
 
+    public static final int ORG_FIELD_NUMBER = 4;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -467,6 +534,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, org_); + } unknownFields.writeTo(output); } @@ -485,6 +555,9 @@ public int getSerializedSize() { if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -506,6 +579,8 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getDomain())) return false; if (!getName() .equals(other.getName())) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -523,6 +598,8 @@ public int hashCode() { hash = (53 * hash) + getDomain().hashCode(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -669,6 +746,8 @@ public Builder clear() { name_ = ""; + org_ = ""; + return this; } @@ -698,6 +777,7 @@ public flyteidl.admin.Common.NamedEntityIdentifier buildPartial() { result.project_ = project_; result.domain_ = domain_; result.name_ = name_; + result.org_ = org_; onBuilt(); return result; } @@ -758,6 +838,10 @@ public Builder mergeFrom(flyteidl.admin.Common.NamedEntityIdentifier other) { name_ = other.name_; onChanged(); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1068,6 +1152,95 @@ public Builder setNameBytes( onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 4; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 4; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 4; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -3834,6 +4007,24 @@ public interface NamedEntityIdentifierListRequestOrBuilder extends */ com.google.protobuf.ByteString getFiltersBytes(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -3856,6 +4047,7 @@ private NamedEntityIdentifierListRequest() {
       domain_ = "";
       token_ = "";
       filters_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -3924,6 +4116,12 @@ private NamedEntityIdentifierListRequest(
               filters_ = s;
               break;
             }
+            case 58: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -4184,6 +4382,48 @@ public java.lang.String getFilters() {
       }
     }
 
+    public static final int ORG_FIELD_NUMBER = 7;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -4216,6 +4456,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getFiltersBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, filters_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, org_); + } unknownFields.writeTo(output); } @@ -4245,6 +4488,9 @@ public int getSerializedSize() { if (!getFiltersBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, filters_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -4275,6 +4521,8 @@ public boolean equals(final java.lang.Object obj) { } if (!getFilters() .equals(other.getFilters())) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4300,6 +4548,8 @@ public int hashCode() { } hash = (37 * hash) + FILTERS_FIELD_NUMBER; hash = (53 * hash) + getFilters().hashCode(); + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -4453,6 +4703,8 @@ public Builder clear() { } filters_ = ""; + org_ = ""; + return this; } @@ -4489,6 +4741,7 @@ public flyteidl.admin.Common.NamedEntityIdentifierListRequest buildPartial() { result.sortBy_ = sortByBuilder_.build(); } result.filters_ = filters_; + result.org_ = org_; onBuilt(); return result; } @@ -4559,6 +4812,10 @@ public Builder mergeFrom(flyteidl.admin.Common.NamedEntityIdentifierListRequest filters_ = other.filters_; onChanged(); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -5171,6 +5428,95 @@ public Builder setFiltersBytes( onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -5363,6 +5709,24 @@ public interface NamedEntityListRequestOrBuilder extends */ com.google.protobuf.ByteString getFiltersBytes(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 8; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 8; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -5386,6 +5750,7 @@ private NamedEntityListRequest() {
       domain_ = "";
       token_ = "";
       filters_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -5460,6 +5825,12 @@ private NamedEntityListRequest(
               filters_ = s;
               break;
             }
+            case 66: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -5744,6 +6115,48 @@ public java.lang.String getFilters() {
       }
     }
 
+    public static final int ORG_FIELD_NUMBER = 8;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 8; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 8; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -5779,6 +6192,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getFiltersBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, filters_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 8, org_); + } unknownFields.writeTo(output); } @@ -5812,6 +6228,9 @@ public int getSerializedSize() { if (!getFiltersBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, filters_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -5843,6 +6262,8 @@ public boolean equals(final java.lang.Object obj) { } if (!getFilters() .equals(other.getFilters())) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -5870,6 +6291,8 @@ public int hashCode() { } hash = (37 * hash) + FILTERS_FIELD_NUMBER; hash = (53 * hash) + getFilters().hashCode(); + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -6025,6 +6448,8 @@ public Builder clear() { } filters_ = ""; + org_ = ""; + return this; } @@ -6062,6 +6487,7 @@ public flyteidl.admin.Common.NamedEntityListRequest buildPartial() { result.sortBy_ = sortByBuilder_.build(); } result.filters_ = filters_; + result.org_ = org_; onBuilt(); return result; } @@ -6135,6 +6561,10 @@ public Builder mergeFrom(flyteidl.admin.Common.NamedEntityListRequest other) { filters_ = other.filters_; onChanged(); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -6809,6 +7239,95 @@ public Builder setFiltersBytes( onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 8; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 8; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 8; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 8; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 8; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -22622,73 +23141,73 @@ public flyteidl.admin.Common.FlyteURLs getDefaultInstanceForType() { "admin\032\035flyteidl/core/execution.proto\032\036fl" + "yteidl/core/identifier.proto\032\034flyteidl/c" + "ore/literals.proto\032\037google/protobuf/time" + - "stamp.proto\"F\n\025NamedEntityIdentifier\022\017\n\007" + + "stamp.proto\"S\n\025NamedEntityIdentifier\022\017\n\007" + "project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\014\n\004name\030\003 " + - "\001(\t\"[\n\023NamedEntityMetadata\022\023\n\013descriptio" + - "n\030\001 \001(\t\022/\n\005state\030\002 \001(\0162 .flyteidl.admin." + - "NamedEntityState\"\253\001\n\013NamedEntity\0222\n\rreso" + - "urce_type\030\001 \001(\0162\033.flyteidl.core.Resource" + - "Type\0221\n\002id\030\002 \001(\0132%.flyteidl.admin.NamedE" + - "ntityIdentifier\0225\n\010metadata\030\003 \001(\0132#.flyt" + - "eidl.admin.NamedEntityMetadata\"r\n\004Sort\022\013" + - "\n\003key\030\001 \001(\t\0221\n\tdirection\030\002 \001(\0162\036.flyteid" + - "l.admin.Sort.Direction\"*\n\tDirection\022\016\n\nD" + - "ESCENDING\020\000\022\r\n\tASCENDING\020\001\"\231\001\n NamedEnti" + - "tyIdentifierListRequest\022\017\n\007project\030\001 \001(\t" + - "\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003 \001(\r\022\r\n\005token" + + "\001(\t\022\013\n\003org\030\004 \001(\t\"[\n\023NamedEntityMetadata\022" + + "\023\n\013description\030\001 \001(\t\022/\n\005state\030\002 \001(\0162 .fl" + + "yteidl.admin.NamedEntityState\"\253\001\n\013NamedE" + + "ntity\0222\n\rresource_type\030\001 \001(\0162\033.flyteidl." + + "core.ResourceType\0221\n\002id\030\002 \001(\0132%.flyteidl" + + ".admin.NamedEntityIdentifier\0225\n\010metadata" + + "\030\003 \001(\0132#.flyteidl.admin.NamedEntityMetad" + + "ata\"r\n\004Sort\022\013\n\003key\030\001 \001(\t\0221\n\tdirection\030\002 " + + "\001(\0162\036.flyteidl.admin.Sort.Direction\"*\n\tD" + + "irection\022\016\n\nDESCENDING\020\000\022\r\n\tASCENDING\020\001\"" + + "\246\001\n NamedEntityIdentifierListRequest\022\017\n\007" + + "project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003" + + " \001(\r\022\r\n\005token\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.f" + + "lyteidl.admin.Sort\022\017\n\007filters\030\006 \001(\t\022\013\n\003o" + + "rg\030\007 \001(\t\"\320\001\n\026NamedEntityListRequest\0222\n\rr" + + "esource_type\030\001 \001(\0162\033.flyteidl.core.Resou" + + "rceType\022\017\n\007project\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t" + + "\022\r\n\005limit\030\004 \001(\r\022\r\n\005token\030\005 \001(\t\022%\n\007sort_b" + + "y\030\006 \001(\0132\024.flyteidl.admin.Sort\022\017\n\007filters" + + "\030\007 \001(\t\022\013\n\003org\030\010 \001(\t\"c\n\031NamedEntityIdenti" + + "fierList\0227\n\010entities\030\001 \003(\0132%.flyteidl.ad" + + "min.NamedEntityIdentifier\022\r\n\005token\030\002 \001(\t" + + "\"O\n\017NamedEntityList\022-\n\010entities\030\001 \003(\0132\033." + + "flyteidl.admin.NamedEntity\022\r\n\005token\030\002 \001(" + + "\t\"~\n\025NamedEntityGetRequest\0222\n\rresource_t" + + "ype\030\001 \001(\0162\033.flyteidl.core.ResourceType\0221" + + "\n\002id\030\002 \001(\0132%.flyteidl.admin.NamedEntityI" + + "dentifier\"\270\001\n\030NamedEntityUpdateRequest\0222" + + "\n\rresource_type\030\001 \001(\0162\033.flyteidl.core.Re" + + "sourceType\0221\n\002id\030\002 \001(\0132%.flyteidl.admin." + + "NamedEntityIdentifier\0225\n\010metadata\030\003 \001(\0132" + + "#.flyteidl.admin.NamedEntityMetadata\"\033\n\031" + + "NamedEntityUpdateResponse\"9\n\020ObjectGetRe" + + "quest\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Identi" + + "fier\"\236\001\n\023ResourceListRequest\0221\n\002id\030\001 \001(\013" + + "2%.flyteidl.admin.NamedEntityIdentifier\022" + + "\r\n\005limit\030\002 \001(\r\022\r\n\005token\030\003 \001(\t\022\017\n\007filters" + "\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyteidl.admin" + - ".Sort\022\017\n\007filters\030\006 \001(\t\"\303\001\n\026NamedEntityLi" + - "stRequest\0222\n\rresource_type\030\001 \001(\0162\033.flyte" + - "idl.core.ResourceType\022\017\n\007project\030\002 \001(\t\022\016" + - "\n\006domain\030\003 \001(\t\022\r\n\005limit\030\004 \001(\r\022\r\n\005token\030\005" + - " \001(\t\022%\n\007sort_by\030\006 \001(\0132\024.flyteidl.admin.S" + - "ort\022\017\n\007filters\030\007 \001(\t\"c\n\031NamedEntityIdent" + - "ifierList\0227\n\010entities\030\001 \003(\0132%.flyteidl.a" + - "dmin.NamedEntityIdentifier\022\r\n\005token\030\002 \001(" + - "\t\"O\n\017NamedEntityList\022-\n\010entities\030\001 \003(\0132\033" + - ".flyteidl.admin.NamedEntity\022\r\n\005token\030\002 \001" + - "(\t\"~\n\025NamedEntityGetRequest\0222\n\rresource_" + - "type\030\001 \001(\0162\033.flyteidl.core.ResourceType\022" + - "1\n\002id\030\002 \001(\0132%.flyteidl.admin.NamedEntity" + - "Identifier\"\270\001\n\030NamedEntityUpdateRequest\022" + - "2\n\rresource_type\030\001 \001(\0162\033.flyteidl.core.R" + - "esourceType\0221\n\002id\030\002 \001(\0132%.flyteidl.admin" + - ".NamedEntityIdentifier\0225\n\010metadata\030\003 \001(\013" + - "2#.flyteidl.admin.NamedEntityMetadata\"\033\n" + - "\031NamedEntityUpdateResponse\"9\n\020ObjectGetR" + - "equest\022%\n\002id\030\001 \001(\0132\031.flyteidl.core.Ident" + - "ifier\"\236\001\n\023ResourceListRequest\0221\n\002id\030\001 \001(" + - "\0132%.flyteidl.admin.NamedEntityIdentifier" + - "\022\r\n\005limit\030\002 \001(\r\022\r\n\005token\030\003 \001(\t\022\017\n\007filter" + - "s\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyteidl.admi" + - "n.Sort\"-\n\021EmailNotification\022\030\n\020recipient" + - "s_email\030\001 \003(\t\"1\n\025PagerDutyNotification\022\030" + - "\n\020recipients_email\030\001 \003(\t\"-\n\021SlackNotific" + - "ation\022\030\n\020recipients_email\030\001 \003(\t\"\363\001\n\014Noti" + - "fication\0226\n\006phases\030\001 \003(\0162&.flyteidl.core" + - ".WorkflowExecution.Phase\0222\n\005email\030\002 \001(\0132" + - "!.flyteidl.admin.EmailNotificationH\000\022;\n\n" + - "pager_duty\030\003 \001(\0132%.flyteidl.admin.PagerD" + - "utyNotificationH\000\0222\n\005slack\030\004 \001(\0132!.flyte" + - "idl.admin.SlackNotificationH\000B\006\n\004type\")\n" + - "\007UrlBlob\022\013\n\003url\030\001 \001(\t\022\r\n\005bytes\030\002 \001(\003:\002\030\001" + - "\"k\n\006Labels\0222\n\006values\030\001 \003(\0132\".flyteidl.ad" + - "min.Labels.ValuesEntry\032-\n\013ValuesEntry\022\013\n" + - "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"u\n\013Annotat" + - "ions\0227\n\006values\030\001 \003(\0132\'.flyteidl.admin.An" + - "notations.ValuesEntry\032-\n\013ValuesEntry\022\013\n\003" + - "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"3\n\004Envs\022+\n\006" + - "values\030\001 \003(\0132\033.flyteidl.core.KeyValuePai" + - "r\"N\n\010AuthRole\022\032\n\022assumable_iam_role\030\001 \001(" + - "\t\022\"\n\032kubernetes_service_account\030\002 \001(\t:\002\030" + - "\001\"5\n\023RawOutputDataConfig\022\036\n\026output_locat" + - "ion_prefix\030\001 \001(\t\":\n\tFlyteURLs\022\016\n\006inputs\030" + - "\001 \001(\t\022\017\n\007outputs\030\002 \001(\t\022\014\n\004deck\030\003 \001(\t*\\\n\020" + - "NamedEntityState\022\027\n\023NAMED_ENTITY_ACTIVE\020" + - "\000\022\031\n\025NAMED_ENTITY_ARCHIVED\020\001\022\024\n\020SYSTEM_G" + - "ENERATED\020\002B=Z;github.com/flyteorg/flyte/" + - "flyteidl/gen/pb-go/flyteidl/adminb\006proto" + - "3" + ".Sort\"-\n\021EmailNotification\022\030\n\020recipients" + + "_email\030\001 \003(\t\"1\n\025PagerDutyNotification\022\030\n" + + "\020recipients_email\030\001 \003(\t\"-\n\021SlackNotifica" + + "tion\022\030\n\020recipients_email\030\001 \003(\t\"\363\001\n\014Notif" + + "ication\0226\n\006phases\030\001 \003(\0162&.flyteidl.core." + + "WorkflowExecution.Phase\0222\n\005email\030\002 \001(\0132!" + + ".flyteidl.admin.EmailNotificationH\000\022;\n\np" + + "ager_duty\030\003 \001(\0132%.flyteidl.admin.PagerDu" + + "tyNotificationH\000\0222\n\005slack\030\004 \001(\0132!.flytei" + + "dl.admin.SlackNotificationH\000B\006\n\004type\")\n\007" + + "UrlBlob\022\013\n\003url\030\001 \001(\t\022\r\n\005bytes\030\002 \001(\003:\002\030\001\"" + + "k\n\006Labels\0222\n\006values\030\001 \003(\0132\".flyteidl.adm" + + "in.Labels.ValuesEntry\032-\n\013ValuesEntry\022\013\n\003" + + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"u\n\013Annotati" + + "ons\0227\n\006values\030\001 \003(\0132\'.flyteidl.admin.Ann" + + "otations.ValuesEntry\032-\n\013ValuesEntry\022\013\n\003k" + + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"3\n\004Envs\022+\n\006v" + + "alues\030\001 \003(\0132\033.flyteidl.core.KeyValuePair" + + "\"N\n\010AuthRole\022\032\n\022assumable_iam_role\030\001 \001(\t" + + "\022\"\n\032kubernetes_service_account\030\002 \001(\t:\002\030\001" + + "\"5\n\023RawOutputDataConfig\022\036\n\026output_locati" + + "on_prefix\030\001 \001(\t\":\n\tFlyteURLs\022\016\n\006inputs\030\001" + + " \001(\t\022\017\n\007outputs\030\002 \001(\t\022\014\n\004deck\030\003 \001(\t*\\\n\020N" + + "amedEntityState\022\027\n\023NAMED_ENTITY_ACTIVE\020\000" + + "\022\031\n\025NAMED_ENTITY_ARCHIVED\020\001\022\024\n\020SYSTEM_GE" + + "NERATED\020\002B=Z;github.com/flyteorg/flyte/f" + + "lyteidl/gen/pb-go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -22711,7 +23230,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_NamedEntityIdentifier_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_NamedEntityIdentifier_descriptor, - new java.lang.String[] { "Project", "Domain", "Name", }); + new java.lang.String[] { "Project", "Domain", "Name", "Org", }); internal_static_flyteidl_admin_NamedEntityMetadata_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_admin_NamedEntityMetadata_fieldAccessorTable = new @@ -22735,13 +23254,13 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_NamedEntityIdentifierListRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_NamedEntityIdentifierListRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "Limit", "Token", "SortBy", "Filters", }); + new java.lang.String[] { "Project", "Domain", "Limit", "Token", "SortBy", "Filters", "Org", }); internal_static_flyteidl_admin_NamedEntityListRequest_descriptor = getDescriptor().getMessageTypes().get(5); internal_static_flyteidl_admin_NamedEntityListRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_NamedEntityListRequest_descriptor, - new java.lang.String[] { "ResourceType", "Project", "Domain", "Limit", "Token", "SortBy", "Filters", }); + new java.lang.String[] { "ResourceType", "Project", "Domain", "Limit", "Token", "SortBy", "Filters", "Org", }); internal_static_flyteidl_admin_NamedEntityIdentifierList_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_flyteidl_admin_NamedEntityIdentifierList_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java index 46e311e05c..5d0d03a74e 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java @@ -262,6 +262,24 @@ public interface ExecutionCreateRequestOrBuilder extends */ @java.lang.Deprecated flyteidl.core.Literals.LiteralMapOrBuilder getInputsOrBuilder(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + com.google.protobuf.ByteString + getOrgBytes(); + /** *
      * The inputs required to start the execution. All required inputs must be
@@ -269,7 +287,7 @@ public interface ExecutionCreateRequestOrBuilder extends
      * +optional
      * 
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ boolean hasInputData(); /** @@ -279,7 +297,7 @@ public interface ExecutionCreateRequestOrBuilder extends * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ flyteidl.core.Literals.InputData getInputData(); /** @@ -289,7 +307,7 @@ public interface ExecutionCreateRequestOrBuilder extends * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder(); } @@ -313,6 +331,7 @@ private ExecutionCreateRequest() { project_ = ""; domain_ = ""; name_ = ""; + org_ = ""; } @java.lang.Override @@ -384,6 +403,12 @@ private ExecutionCreateRequest( break; } case 50: { + java.lang.String s = input.readStringRequireUtf8(); + + org_ = s; + break; + } + case 58: { flyteidl.core.Literals.InputData.Builder subBuilder = null; if (inputData_ != null) { subBuilder = inputData_.toBuilder(); @@ -642,7 +667,49 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionSpecOrBuilder getSpecOrBuilde return getInputs(); } - public static final int INPUT_DATA_FIELD_NUMBER = 6; + public static final int ORG_FIELD_NUMBER = 6; + private volatile java.lang.Object org_; + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INPUT_DATA_FIELD_NUMBER = 7; private flyteidl.core.Literals.InputData inputData_; /** *
@@ -651,7 +718,7 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionSpecOrBuilder getSpecOrBuilde
      * +optional
      * 
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public boolean hasInputData() { return inputData_ != null; @@ -663,7 +730,7 @@ public boolean hasInputData() { * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public flyteidl.core.Literals.InputData getInputData() { return inputData_ == null ? flyteidl.core.Literals.InputData.getDefaultInstance() : inputData_; @@ -675,7 +742,7 @@ public flyteidl.core.Literals.InputData getInputData() { * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { return getInputData(); @@ -710,8 +777,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (inputs_ != null) { output.writeMessage(5, getInputs()); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, org_); + } if (inputData_ != null) { - output.writeMessage(6, getInputData()); + output.writeMessage(7, getInputData()); } unknownFields.writeTo(output); } @@ -739,9 +809,12 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getInputs()); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, org_); + } if (inputData_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, getInputData()); + .computeMessageSize(7, getInputData()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -774,6 +847,8 @@ public boolean equals(final java.lang.Object obj) { if (!getInputs() .equals(other.getInputs())) return false; } + if (!getOrg() + .equals(other.getOrg())) return false; if (hasInputData() != other.hasInputData()) return false; if (hasInputData()) { if (!getInputData() @@ -804,6 +879,8 @@ public int hashCode() { hash = (37 * hash) + INPUTS_FIELD_NUMBER; hash = (53 * hash) + getInputs().hashCode(); } + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); if (hasInputData()) { hash = (37 * hash) + INPUT_DATA_FIELD_NUMBER; hash = (53 * hash) + getInputData().hashCode(); @@ -963,6 +1040,8 @@ public Builder clear() { inputs_ = null; inputsBuilder_ = null; } + org_ = ""; + if (inputDataBuilder_ == null) { inputData_ = null; } else { @@ -1008,6 +1087,7 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionCreateRequest buildPartial() } else { result.inputs_ = inputsBuilder_.build(); } + result.org_ = org_; if (inputDataBuilder_ == null) { result.inputData_ = inputData_; } else { @@ -1079,6 +1159,10 @@ public Builder mergeFrom(flyteidl.admin.ExecutionOuterClass.ExecutionCreateReque if (other.hasInputs()) { mergeInputs(other.getInputs()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } if (other.hasInputData()) { mergeInputData(other.getInputData()); } @@ -1745,6 +1829,95 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionSpecOrBuilder getSpecOrBuilde return inputsBuilder_; } + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } + private flyteidl.core.Literals.InputData inputData_; private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> inputDataBuilder_; @@ -1755,7 +1928,7 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionSpecOrBuilder getSpecOrBuilde * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public boolean hasInputData() { return inputDataBuilder_ != null || inputData_ != null; @@ -1767,7 +1940,7 @@ public boolean hasInputData() { * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public flyteidl.core.Literals.InputData getInputData() { if (inputDataBuilder_ == null) { @@ -1783,7 +1956,7 @@ public flyteidl.core.Literals.InputData getInputData() { * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public Builder setInputData(flyteidl.core.Literals.InputData value) { if (inputDataBuilder_ == null) { @@ -1805,7 +1978,7 @@ public Builder setInputData(flyteidl.core.Literals.InputData value) { * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public Builder setInputData( flyteidl.core.Literals.InputData.Builder builderForValue) { @@ -1825,7 +1998,7 @@ public Builder setInputData( * +optional *
* - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public Builder mergeInputData(flyteidl.core.Literals.InputData value) { if (inputDataBuilder_ == null) { @@ -1849,7 +2022,7 @@ public Builder mergeInputData(flyteidl.core.Literals.InputData value) { * +optional * * - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public Builder clearInputData() { if (inputDataBuilder_ == null) { @@ -1869,7 +2042,7 @@ public Builder clearInputData() { * +optional * * - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { @@ -1883,7 +2056,7 @@ public flyteidl.core.Literals.InputData.Builder getInputDataBuilder() { * +optional * * - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { if (inputDataBuilder_ != null) { @@ -1900,7 +2073,7 @@ public flyteidl.core.Literals.InputDataOrBuilder getInputDataOrBuilder() { * +optional * * - * .flyteidl.core.InputData input_data = 6; + * .flyteidl.core.InputData input_data = 7; */ private com.google.protobuf.SingleFieldBuilderV3< flyteidl.core.Literals.InputData, flyteidl.core.Literals.InputData.Builder, flyteidl.core.Literals.InputDataOrBuilder> @@ -30085,119 +30258,119 @@ public flyteidl.admin.ExecutionOuterClass.WorkflowExecutionGetMetricsResponse ge "idl/core/security.proto\032\036google/protobuf" + "/duration.proto\032\037google/protobuf/timesta" + "mp.proto\032\036google/protobuf/wrappers.proto" + - "\"\321\001\n\026ExecutionCreateRequest\022\017\n\007project\030\001" + + "\"\336\001\n\026ExecutionCreateRequest\022\017\n\007project\030\001" + " \001(\t\022\016\n\006domain\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022+\n\004sp" + "ec\030\004 \001(\0132\035.flyteidl.admin.ExecutionSpec\022" + "-\n\006inputs\030\005 \001(\0132\031.flyteidl.core.LiteralM" + - "apB\002\030\001\022,\n\ninput_data\030\006 \001(\0132\030.flyteidl.co" + - "re.InputData\"\177\n\030ExecutionRelaunchRequest" + - "\0226\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExe" + - "cutionIdentifier\022\014\n\004name\030\003 \001(\t\022\027\n\017overwr" + - "ite_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027ExecutionRecov" + - "erRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Wo" + - "rkflowExecutionIdentifier\022\014\n\004name\030\002 \001(\t\022" + - "3\n\010metadata\030\003 \001(\0132!.flyteidl.admin.Execu" + - "tionMetadata\"Q\n\027ExecutionCreateResponse\022" + - "6\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExec" + - "utionIdentifier\"U\n\033WorkflowExecutionGetR" + - "equest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workf" + - "lowExecutionIdentifier\"\243\001\n\tExecution\0226\n\002" + + "apB\002\030\001\022\013\n\003org\030\006 \001(\t\022,\n\ninput_data\030\007 \001(\0132" + + "\030.flyteidl.core.InputData\"\177\n\030ExecutionRe" + + "launchRequest\0226\n\002id\030\001 \001(\0132*.flyteidl.cor" + + "e.WorkflowExecutionIdentifier\022\014\n\004name\030\003 " + + "\001(\t\022\027\n\017overwrite_cache\030\004 \001(\010J\004\010\002\020\003\"\224\001\n\027E" + + "xecutionRecoverRequest\0226\n\002id\030\001 \001(\0132*.fly" + + "teidl.core.WorkflowExecutionIdentifier\022\014" + + "\n\004name\030\002 \001(\t\0223\n\010metadata\030\003 \001(\0132!.flyteid" + + "l.admin.ExecutionMetadata\"Q\n\027ExecutionCr" + + "eateResponse\0226\n\002id\030\001 \001(\0132*.flyteidl.core" + + ".WorkflowExecutionIdentifier\"U\n\033Workflow" + + "ExecutionGetRequest\0226\n\002id\030\001 \001(\0132*.flytei" + + "dl.core.WorkflowExecutionIdentifier\"\243\001\n\t" + + "Execution\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Wo" + + "rkflowExecutionIdentifier\022+\n\004spec\030\002 \001(\0132" + + "\035.flyteidl.admin.ExecutionSpec\0221\n\007closur" + + "e\030\003 \001(\0132 .flyteidl.admin.ExecutionClosur" + + "e\"M\n\rExecutionList\022-\n\nexecutions\030\001 \003(\0132\031" + + ".flyteidl.admin.Execution\022\r\n\005token\030\002 \001(\t" + + "\"X\n\016LiteralMapBlob\022/\n\006values\030\001 \001(\0132\031.fly" + + "teidl.core.LiteralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\t" + + "H\000B\006\n\004data\"1\n\rAbortMetadata\022\r\n\005cause\030\001 \001" + + "(\t\022\021\n\tprincipal\030\002 \001(\t\"\243\006\n\020ExecutionClosu" + + "re\0225\n\007outputs\030\001 \001(\0132\036.flyteidl.admin.Lit" + + "eralMapBlobB\002\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyte" + + "idl.core.ExecutionErrorH\000\022\031\n\013abort_cause" + + "\030\n \001(\tB\002\030\001H\000\0227\n\016abort_metadata\030\014 \001(\0132\035.f" + + "lyteidl.admin.AbortMetadataH\000\0224\n\013output_" + + "data\030\r \001(\0132\031.flyteidl.core.LiteralMapB\002\030" + + "\001H\000\0221\n\014full_outputs\030\017 \001(\0132\031.flyteidl.cor" + + "e.OutputDataH\000\0226\n\017computed_inputs\030\003 \001(\0132" + + "\031.flyteidl.core.LiteralMapB\002\030\001\0225\n\005phase\030" + + "\004 \001(\0162&.flyteidl.core.WorkflowExecution." + + "Phase\022.\n\nstarted_at\030\005 \001(\0132\032.google.proto" + + "buf.Timestamp\022+\n\010duration\030\006 \001(\0132\031.google" + + ".protobuf.Duration\022.\n\ncreated_at\030\007 \001(\0132\032" + + ".google.protobuf.Timestamp\022.\n\nupdated_at" + + "\030\010 \001(\0132\032.google.protobuf.Timestamp\0223\n\rno" + + "tifications\030\t \003(\0132\034.flyteidl.admin.Notif" + + "ication\022.\n\013workflow_id\030\013 \001(\0132\031.flyteidl." + + "core.Identifier\022I\n\024state_change_details\030" + + "\016 \001(\0132+.flyteidl.admin.ExecutionStateCha" + + "ngeDetailsB\017\n\routput_result\">\n\016SystemMet" + + "adata\022\031\n\021execution_cluster\030\001 \001(\t\022\021\n\tname" + + "space\030\002 \001(\t\"\213\004\n\021ExecutionMetadata\022=\n\004mod" + + "e\030\001 \001(\0162/.flyteidl.admin.ExecutionMetada" + + "ta.ExecutionMode\022\021\n\tprincipal\030\002 \001(\t\022\017\n\007n" + + "esting\030\003 \001(\r\0220\n\014scheduled_at\030\004 \001(\0132\032.goo" + + "gle.protobuf.Timestamp\022E\n\025parent_node_ex" + + "ecution\030\005 \001(\0132&.flyteidl.core.NodeExecut" + + "ionIdentifier\022G\n\023reference_execution\030\020 \001" + + "(\0132*.flyteidl.core.WorkflowExecutionIden" + + "tifier\0227\n\017system_metadata\030\021 \001(\0132\036.flytei" + + "dl.admin.SystemMetadata\022/\n\014artifact_ids\030" + + "\022 \003(\0132\031.flyteidl.core.ArtifactID\"g\n\rExec" + + "utionMode\022\n\n\006MANUAL\020\000\022\r\n\tSCHEDULED\020\001\022\n\n\006" + + "SYSTEM\020\002\022\014\n\010RELAUNCH\020\003\022\022\n\016CHILD_WORKFLOW" + + "\020\004\022\r\n\tRECOVERED\020\005\"G\n\020NotificationList\0223\n" + + "\rnotifications\030\001 \003(\0132\034.flyteidl.admin.No" + + "tification\"\262\006\n\rExecutionSpec\022.\n\013launch_p" + + "lan\030\001 \001(\0132\031.flyteidl.core.Identifier\022-\n\006" + + "inputs\030\002 \001(\0132\031.flyteidl.core.LiteralMapB" + + "\002\030\001\0223\n\010metadata\030\003 \001(\0132!.flyteidl.admin.E" + + "xecutionMetadata\0229\n\rnotifications\030\005 \001(\0132" + + " .flyteidl.admin.NotificationListH\000\022\025\n\013d" + + "isable_all\030\006 \001(\010H\000\022&\n\006labels\030\007 \001(\0132\026.fly" + + "teidl.admin.Labels\0220\n\013annotations\030\010 \001(\0132" + + "\033.flyteidl.admin.Annotations\0228\n\020security" + + "_context\030\n \001(\0132\036.flyteidl.core.SecurityC" + + "ontext\022/\n\tauth_role\030\020 \001(\0132\030.flyteidl.adm" + + "in.AuthRoleB\002\030\001\022;\n\022quality_of_service\030\021 " + + "\001(\0132\037.flyteidl.core.QualityOfService\022\027\n\017" + + "max_parallelism\030\022 \001(\005\022C\n\026raw_output_data" + + "_config\030\023 \001(\0132#.flyteidl.admin.RawOutput" + + "DataConfig\022=\n\022cluster_assignment\030\024 \001(\0132!" + + ".flyteidl.admin.ClusterAssignment\0221\n\rint" + + "erruptible\030\025 \001(\0132\032.google.protobuf.BoolV" + + "alue\022\027\n\017overwrite_cache\030\026 \001(\010\022\"\n\004envs\030\027 " + + "\001(\0132\024.flyteidl.admin.Envs\022\014\n\004tags\030\030 \003(\tB" + + "\030\n\026notification_overridesJ\004\010\004\020\005\"b\n\031Execu" + + "tionTerminateRequest\0226\n\002id\030\001 \001(\0132*.flyte" + + "idl.core.WorkflowExecutionIdentifier\022\r\n\005" + + "cause\030\002 \001(\t\"\034\n\032ExecutionTerminateRespons" + + "e\"Y\n\037WorkflowExecutionGetDataRequest\0226\n\002" + "id\030\001 \001(\0132*.flyteidl.core.WorkflowExecuti" + - "onIdentifier\022+\n\004spec\030\002 \001(\0132\035.flyteidl.ad" + - "min.ExecutionSpec\0221\n\007closure\030\003 \001(\0132 .fly" + - "teidl.admin.ExecutionClosure\"M\n\rExecutio" + - "nList\022-\n\nexecutions\030\001 \003(\0132\031.flyteidl.adm" + - "in.Execution\022\r\n\005token\030\002 \001(\t\"X\n\016LiteralMa" + - "pBlob\022/\n\006values\030\001 \001(\0132\031.flyteidl.core.Li" + - "teralMapB\002\030\001H\000\022\r\n\003uri\030\002 \001(\tH\000B\006\n\004data\"1\n" + - "\rAbortMetadata\022\r\n\005cause\030\001 \001(\t\022\021\n\tprincip" + - "al\030\002 \001(\t\"\243\006\n\020ExecutionClosure\0225\n\007outputs" + - "\030\001 \001(\0132\036.flyteidl.admin.LiteralMapBlobB\002" + - "\030\001H\000\022.\n\005error\030\002 \001(\0132\035.flyteidl.core.Exec" + - "utionErrorH\000\022\031\n\013abort_cause\030\n \001(\tB\002\030\001H\000\022" + - "7\n\016abort_metadata\030\014 \001(\0132\035.flyteidl.admin" + - ".AbortMetadataH\000\0224\n\013output_data\030\r \001(\0132\031." + - "flyteidl.core.LiteralMapB\002\030\001H\000\0221\n\014full_o" + - "utputs\030\017 \001(\0132\031.flyteidl.core.OutputDataH" + - "\000\0226\n\017computed_inputs\030\003 \001(\0132\031.flyteidl.co" + - "re.LiteralMapB\002\030\001\0225\n\005phase\030\004 \001(\0162&.flyte" + - "idl.core.WorkflowExecution.Phase\022.\n\nstar" + - "ted_at\030\005 \001(\0132\032.google.protobuf.Timestamp" + - "\022+\n\010duration\030\006 \001(\0132\031.google.protobuf.Dur" + - "ation\022.\n\ncreated_at\030\007 \001(\0132\032.google.proto" + - "buf.Timestamp\022.\n\nupdated_at\030\010 \001(\0132\032.goog" + - "le.protobuf.Timestamp\0223\n\rnotifications\030\t" + - " \003(\0132\034.flyteidl.admin.Notification\022.\n\013wo" + - "rkflow_id\030\013 \001(\0132\031.flyteidl.core.Identifi" + - "er\022I\n\024state_change_details\030\016 \001(\0132+.flyte" + - "idl.admin.ExecutionStateChangeDetailsB\017\n" + - "\routput_result\">\n\016SystemMetadata\022\031\n\021exec" + - "ution_cluster\030\001 \001(\t\022\021\n\tnamespace\030\002 \001(\t\"\213" + - "\004\n\021ExecutionMetadata\022=\n\004mode\030\001 \001(\0162/.fly" + - "teidl.admin.ExecutionMetadata.ExecutionM" + - "ode\022\021\n\tprincipal\030\002 \001(\t\022\017\n\007nesting\030\003 \001(\r\022" + - "0\n\014scheduled_at\030\004 \001(\0132\032.google.protobuf." + - "Timestamp\022E\n\025parent_node_execution\030\005 \001(\013" + - "2&.flyteidl.core.NodeExecutionIdentifier" + - "\022G\n\023reference_execution\030\020 \001(\0132*.flyteidl" + - ".core.WorkflowExecutionIdentifier\0227\n\017sys" + - "tem_metadata\030\021 \001(\0132\036.flyteidl.admin.Syst" + - "emMetadata\022/\n\014artifact_ids\030\022 \003(\0132\031.flyte" + - "idl.core.ArtifactID\"g\n\rExecutionMode\022\n\n\006" + - "MANUAL\020\000\022\r\n\tSCHEDULED\020\001\022\n\n\006SYSTEM\020\002\022\014\n\010R" + - "ELAUNCH\020\003\022\022\n\016CHILD_WORKFLOW\020\004\022\r\n\tRECOVER" + - "ED\020\005\"G\n\020NotificationList\0223\n\rnotification" + - "s\030\001 \003(\0132\034.flyteidl.admin.Notification\"\262\006" + - "\n\rExecutionSpec\022.\n\013launch_plan\030\001 \001(\0132\031.f" + - "lyteidl.core.Identifier\022-\n\006inputs\030\002 \001(\0132" + - "\031.flyteidl.core.LiteralMapB\002\030\001\0223\n\010metada" + - "ta\030\003 \001(\0132!.flyteidl.admin.ExecutionMetad" + - "ata\0229\n\rnotifications\030\005 \001(\0132 .flyteidl.ad" + - "min.NotificationListH\000\022\025\n\013disable_all\030\006 " + - "\001(\010H\000\022&\n\006labels\030\007 \001(\0132\026.flyteidl.admin.L" + - "abels\0220\n\013annotations\030\010 \001(\0132\033.flyteidl.ad" + - "min.Annotations\0228\n\020security_context\030\n \001(" + - "\0132\036.flyteidl.core.SecurityContext\022/\n\taut" + - "h_role\030\020 \001(\0132\030.flyteidl.admin.AuthRoleB\002" + - "\030\001\022;\n\022quality_of_service\030\021 \001(\0132\037.flyteid" + - "l.core.QualityOfService\022\027\n\017max_paralleli" + - "sm\030\022 \001(\005\022C\n\026raw_output_data_config\030\023 \001(\013" + - "2#.flyteidl.admin.RawOutputDataConfig\022=\n" + - "\022cluster_assignment\030\024 \001(\0132!.flyteidl.adm" + - "in.ClusterAssignment\0221\n\rinterruptible\030\025 " + - "\001(\0132\032.google.protobuf.BoolValue\022\027\n\017overw" + - "rite_cache\030\026 \001(\010\022\"\n\004envs\030\027 \001(\0132\024.flyteid" + - "l.admin.Envs\022\014\n\004tags\030\030 \003(\tB\030\n\026notificati" + - "on_overridesJ\004\010\004\020\005\"b\n\031ExecutionTerminate" + - "Request\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Work" + - "flowExecutionIdentifier\022\r\n\005cause\030\002 \001(\t\"\034" + - "\n\032ExecutionTerminateResponse\"Y\n\037Workflow" + - "ExecutionGetDataRequest\0226\n\002id\030\001 \001(\0132*.fl" + - "yteidl.core.WorkflowExecutionIdentifier\"" + - "\304\002\n WorkflowExecutionGetDataResponse\022,\n\007" + - "outputs\030\001 \001(\0132\027.flyteidl.admin.UrlBlobB\002" + - "\030\001\022+\n\006inputs\030\002 \001(\0132\027.flyteidl.admin.UrlB" + - "lobB\002\030\001\0222\n\013full_inputs\030\003 \001(\0132\031.flyteidl." + - "core.LiteralMapB\002\030\001\0223\n\014full_outputs\030\004 \001(" + - "\0132\031.flyteidl.core.LiteralMapB\002\030\001\022,\n\ninpu" + - "t_data\030\005 \001(\0132\030.flyteidl.core.InputData\022." + - "\n\013output_data\030\006 \001(\0132\031.flyteidl.core.Outp" + - "utData\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001" + - " \001(\0132*.flyteidl.core.WorkflowExecutionId" + - "entifier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin" + - ".ExecutionState\"\220\001\n\033ExecutionStateChange" + - "Details\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin." + - "ExecutionState\022/\n\013occurred_at\030\002 \001(\0132\032.go" + - "ogle.protobuf.Timestamp\022\021\n\tprincipal\030\003 \001" + - "(\t\"\031\n\027ExecutionUpdateResponse\"k\n\"Workflo" + - "wExecutionGetMetricsRequest\0226\n\002id\030\001 \001(\0132" + - "*.flyteidl.core.WorkflowExecutionIdentif" + - "ier\022\r\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionG" + - "etMetricsResponse\022!\n\004span\030\001 \001(\0132\023.flytei" + - "dl.core.Span*>\n\016ExecutionState\022\024\n\020EXECUT" + - "ION_ACTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;" + - "github.com/flyteorg/flyte/flyteidl/gen/p" + - "b-go/flyteidl/adminb\006proto3" + "onIdentifier\"\304\002\n WorkflowExecutionGetDat" + + "aResponse\022,\n\007outputs\030\001 \001(\0132\027.flyteidl.ad" + + "min.UrlBlobB\002\030\001\022+\n\006inputs\030\002 \001(\0132\027.flytei" + + "dl.admin.UrlBlobB\002\030\001\0222\n\013full_inputs\030\003 \001(" + + "\0132\031.flyteidl.core.LiteralMapB\002\030\001\0223\n\014full" + + "_outputs\030\004 \001(\0132\031.flyteidl.core.LiteralMa" + + "pB\002\030\001\022,\n\ninput_data\030\005 \001(\0132\030.flyteidl.cor" + + "e.InputData\022.\n\013output_data\030\006 \001(\0132\031.flyte" + + "idl.core.OutputData\"\177\n\026ExecutionUpdateRe" + + "quest\0226\n\002id\030\001 \001(\0132*.flyteidl.core.Workfl" + + "owExecutionIdentifier\022-\n\005state\030\002 \001(\0162\036.f" + + "lyteidl.admin.ExecutionState\"\220\001\n\033Executi" + + "onStateChangeDetails\022-\n\005state\030\001 \001(\0162\036.fl" + + "yteidl.admin.ExecutionState\022/\n\013occurred_" + + "at\030\002 \001(\0132\032.google.protobuf.Timestamp\022\021\n\t" + + "principal\030\003 \001(\t\"\031\n\027ExecutionUpdateRespon" + + "se\"k\n\"WorkflowExecutionGetMetricsRequest" + + "\0226\n\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExe" + + "cutionIdentifier\022\r\n\005depth\030\002 \001(\005\"H\n#Workf" + + "lowExecutionGetMetricsResponse\022!\n\004span\030\001" + + " \001(\0132\023.flyteidl.core.Span*>\n\016ExecutionSt" + + "ate\022\024\n\020EXECUTION_ACTIVE\020\000\022\026\n\022EXECUTION_A" + + "RCHIVED\020\001B=Z;github.com/flyteorg/flyte/f" + + "lyteidl/gen/pb-go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -30227,7 +30400,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ExecutionCreateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ExecutionCreateRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "Name", "Spec", "Inputs", "InputData", }); + new java.lang.String[] { "Project", "Domain", "Name", "Spec", "Inputs", "Org", "InputData", }); internal_static_flyteidl_admin_ExecutionRelaunchRequest_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_admin_ExecutionRelaunchRequest_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java index 8d380959d8..fadf173550 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/LaunchPlanOuterClass.java @@ -13796,10 +13796,28 @@ public interface ActiveLaunchPlanListRequestOrBuilder extends * .flyteidl.admin.Sort sort_by = 5; */ flyteidl.admin.Common.SortOrBuilder getSortByOrBuilder(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
-   * Represents a request structure to list active launch plans within a project/domain.
+   * Represents a request structure to list active launch plans within a project/domain and optional org.
    * See :ref:`ref_flyteidl.admin.LaunchPlan` for more details
    * 
* @@ -13818,6 +13836,7 @@ private ActiveLaunchPlanListRequest() { project_ = ""; domain_ = ""; token_ = ""; + org_ = ""; } @java.lang.Override @@ -13880,6 +13899,12 @@ private ActiveLaunchPlanListRequest( break; } + case 50: { + java.lang.String s = input.readStringRequireUtf8(); + + org_ = s; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -14096,6 +14121,48 @@ public flyteidl.admin.Common.SortOrBuilder getSortByOrBuilder() { return getSortBy(); } + public static final int ORG_FIELD_NUMBER = 6; + private volatile java.lang.Object org_; + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -14125,6 +14192,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (sortBy_ != null) { output.writeMessage(5, getSortBy()); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, org_); + } unknownFields.writeTo(output); } @@ -14151,6 +14221,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getSortBy()); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -14179,6 +14252,8 @@ public boolean equals(final java.lang.Object obj) { if (!getSortBy() .equals(other.getSortBy())) return false; } + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -14202,6 +14277,8 @@ public int hashCode() { hash = (37 * hash) + SORT_BY_FIELD_NUMBER; hash = (53 * hash) + getSortBy().hashCode(); } + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -14299,7 +14376,7 @@ protected Builder newBuilderForType( } /** *
-     * Represents a request structure to list active launch plans within a project/domain.
+     * Represents a request structure to list active launch plans within a project/domain and optional org.
      * See :ref:`ref_flyteidl.admin.LaunchPlan` for more details
      * 
* @@ -14354,6 +14431,8 @@ public Builder clear() { sortBy_ = null; sortByBuilder_ = null; } + org_ = ""; + return this; } @@ -14389,6 +14468,7 @@ public flyteidl.admin.LaunchPlanOuterClass.ActiveLaunchPlanListRequest buildPart } else { result.sortBy_ = sortByBuilder_.build(); } + result.org_ = org_; onBuilt(); return result; } @@ -14455,6 +14535,10 @@ public Builder mergeFrom(flyteidl.admin.LaunchPlanOuterClass.ActiveLaunchPlanLis if (other.hasSortBy()) { mergeSortBy(other.getSortBy()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -14973,6 +15057,95 @@ public flyteidl.admin.Common.SortOrBuilder getSortByOrBuilder() { } return sortByBuilder_; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -15151,14 +15324,14 @@ public flyteidl.admin.LaunchPlanOuterClass.ActiveLaunchPlanListRequest getDefaul "fier\022.\n\005state\030\002 \001(\0162\037.flyteidl.admin.Lau" + "nchPlanState\"\032\n\030LaunchPlanUpdateResponse" + "\"L\n\027ActiveLaunchPlanRequest\0221\n\002id\030\001 \001(\0132" + - "%.flyteidl.admin.NamedEntityIdentifier\"\203" + + "%.flyteidl.admin.NamedEntityIdentifier\"\220" + "\001\n\033ActiveLaunchPlanListRequest\022\017\n\007projec" + "t\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\r\n\005limit\030\003 \001(\r\022\r" + "\n\005token\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyteid" + - "l.admin.Sort*+\n\017LaunchPlanState\022\014\n\010INACT" + - "IVE\020\000\022\n\n\006ACTIVE\020\001B=Z;github.com/flyteorg" + - "/flyte/flyteidl/gen/pb-go/flyteidl/admin" + - "b\006proto3" + "l.admin.Sort\022\013\n\003org\030\006 \001(\t*+\n\017LaunchPlanS" + + "tate\022\014\n\010INACTIVE\020\000\022\n\n\006ACTIVE\020\001B=Z;github" + + ".com/flyteorg/flyte/flyteidl/gen/pb-go/f" + + "lyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -15253,7 +15426,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ActiveLaunchPlanListRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ActiveLaunchPlanListRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "Limit", "Token", "SortBy", }); + new java.lang.String[] { "Project", "Domain", "Limit", "Token", "SortBy", "Org", }); flyteidl.core.Execution.getDescriptor(); flyteidl.core.Literals.getDescriptor(); flyteidl.core.IdentifierOuterClass.getDescriptor(); diff --git a/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java index 0f4b473a21..c359966b35 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java @@ -10549,11 +10549,29 @@ public interface MatchableAttributesConfigurationOrBuilder extends */ com.google.protobuf.ByteString getLaunchPlanBytes(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
-   * Represents a custom set of attributes applied for either a domain; a domain and project; or
-   * domain, project and workflow name.
+   * Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org);
+   * or domain, project and workflow name (and optional org).
    * These are used to override system level defaults for kubernetes cluster resource management,
    * default execution values, and more all across different levels of specificity.
    * 
@@ -10574,6 +10592,7 @@ private MatchableAttributesConfiguration() { project_ = ""; workflow_ = ""; launchPlan_ = ""; + org_ = ""; } @java.lang.Override @@ -10637,6 +10656,12 @@ private MatchableAttributesConfiguration( launchPlan_ = s; break; } + case 50: { + java.lang.String s = input.readStringRequireUtf8(); + + org_ = s; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -10826,6 +10851,48 @@ public java.lang.String getLaunchPlan() { } } + public static final int ORG_FIELD_NUMBER = 6; + private volatile java.lang.Object org_; + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -10855,6 +10922,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getLaunchPlanBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, launchPlan_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, org_); + } unknownFields.writeTo(output); } @@ -10880,6 +10950,9 @@ public int getSerializedSize() { if (!getLaunchPlanBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, launchPlan_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -10908,6 +10981,8 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getWorkflow())) return false; if (!getLaunchPlan() .equals(other.getLaunchPlan())) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -10931,6 +11006,8 @@ public int hashCode() { hash = (53 * hash) + getWorkflow().hashCode(); hash = (37 * hash) + LAUNCH_PLAN_FIELD_NUMBER; hash = (53 * hash) + getLaunchPlan().hashCode(); + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -11028,8 +11105,8 @@ protected Builder newBuilderForType( } /** *
-     * Represents a custom set of attributes applied for either a domain; a domain and project; or
-     * domain, project and workflow name.
+     * Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org);
+     * or domain, project and workflow name (and optional org).
      * These are used to override system level defaults for kubernetes cluster resource management,
      * default execution values, and more all across different levels of specificity.
      * 
@@ -11085,6 +11162,8 @@ public Builder clear() { launchPlan_ = ""; + org_ = ""; + return this; } @@ -11120,6 +11199,7 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurati result.project_ = project_; result.workflow_ = workflow_; result.launchPlan_ = launchPlan_; + result.org_ = org_; onBuilt(); return result; } @@ -11187,6 +11267,10 @@ public Builder mergeFrom(flyteidl.admin.MatchableResourceOuterClass.MatchableAtt launchPlan_ = other.launchPlan_; onChanged(); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -11608,6 +11692,95 @@ public Builder setLaunchPlanBytes( onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -13126,24 +13299,24 @@ public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRespons "sH\000\022L\n\031workflow_execution_config\030\007 \001(\0132\'" + ".flyteidl.admin.WorkflowExecutionConfigH" + "\000\022?\n\022cluster_assignment\030\010 \001(\0132!.flyteidl" + - ".admin.ClusterAssignmentH\000B\010\n\006target\"\242\001\n" + + ".admin.ClusterAssignmentH\000B\010\n\006target\"\257\001\n" + " MatchableAttributesConfiguration\0226\n\natt" + "ributes\030\001 \001(\0132\".flyteidl.admin.MatchingA" + "ttributes\022\016\n\006domain\030\002 \001(\t\022\017\n\007project\030\003 \001" + "(\t\022\020\n\010workflow\030\004 \001(\t\022\023\n\013launch_plan\030\005 \001(" + - "\t\"Z\n\036ListMatchableAttributesRequest\0228\n\rr" + - "esource_type\030\001 \001(\0162!.flyteidl.admin.Matc" + - "hableResource\"k\n\037ListMatchableAttributes" + - "Response\022H\n\016configurations\030\001 \003(\01320.flyte" + - "idl.admin.MatchableAttributesConfigurati" + - "on*\340\001\n\021MatchableResource\022\021\n\rTASK_RESOURC" + - "E\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022\023\n\017EXECUTION_Q" + - "UEUE\020\002\022\033\n\027EXECUTION_CLUSTER_LABEL\020\003\022$\n Q" + - "UALITY_OF_SERVICE_SPECIFICATION\020\004\022\023\n\017PLU" + - "GIN_OVERRIDE\020\005\022\035\n\031WORKFLOW_EXECUTION_CON" + - "FIG\020\006\022\026\n\022CLUSTER_ASSIGNMENT\020\007B=Z;github." + - "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" + - "yteidl/adminb\006proto3" + "\t\022\013\n\003org\030\006 \001(\t\"Z\n\036ListMatchableAttribute" + + "sRequest\0228\n\rresource_type\030\001 \001(\0162!.flytei" + + "dl.admin.MatchableResource\"k\n\037ListMatcha" + + "bleAttributesResponse\022H\n\016configurations\030" + + "\001 \003(\01320.flyteidl.admin.MatchableAttribut" + + "esConfiguration*\340\001\n\021MatchableResource\022\021\n" + + "\rTASK_RESOURCE\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022\023" + + "\n\017EXECUTION_QUEUE\020\002\022\033\n\027EXECUTION_CLUSTER" + + "_LABEL\020\003\022$\n QUALITY_OF_SERVICE_SPECIFICA" + + "TION\020\004\022\023\n\017PLUGIN_OVERRIDE\020\005\022\035\n\031WORKFLOW_" + + "EXECUTION_CONFIG\020\006\022\026\n\022CLUSTER_ASSIGNMENT" + + "\020\007B=Z;github.com/flyteorg/flyte/flyteidl" + + "/gen/pb-go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -13227,7 +13400,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_MatchableAttributesConfiguration_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_MatchableAttributesConfiguration_descriptor, - new java.lang.String[] { "Attributes", "Domain", "Project", "Workflow", "LaunchPlan", }); + new java.lang.String[] { "Attributes", "Domain", "Project", "Workflow", "LaunchPlan", "Org", }); internal_static_flyteidl_admin_ListMatchableAttributesRequest_descriptor = getDescriptor().getMessageTypes().get(10); internal_static_flyteidl_admin_ListMatchableAttributesRequest_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/ProjectAttributesOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/ProjectAttributesOuterClass.java index 4af2acdb48..c124b52d9d 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/ProjectAttributesOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/ProjectAttributesOuterClass.java @@ -48,6 +48,24 @@ public interface ProjectAttributesOrBuilder extends * .flyteidl.admin.MatchingAttributes matching_attributes = 2; */ flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder getMatchingAttributesOrBuilder(); + + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -68,6 +86,7 @@ private ProjectAttributes(com.google.protobuf.GeneratedMessageV3.Builder buil
     }
     private ProjectAttributes() {
       project_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -113,6 +132,12 @@ private ProjectAttributes(
 
               break;
             }
+            case 26: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -208,6 +233,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder ge
       return getMatchingAttributes();
     }
 
+    public static final int ORG_FIELD_NUMBER = 3;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -228,6 +295,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (matchingAttributes_ != null) { output.writeMessage(2, getMatchingAttributes()); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, org_); + } unknownFields.writeTo(output); } @@ -244,6 +314,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getMatchingAttributes()); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -266,6 +339,8 @@ public boolean equals(final java.lang.Object obj) { if (!getMatchingAttributes() .equals(other.getMatchingAttributes())) return false; } + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -283,6 +358,8 @@ public int hashCode() { hash = (37 * hash) + MATCHING_ATTRIBUTES_FIELD_NUMBER; hash = (53 * hash) + getMatchingAttributes().hashCode(); } + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -429,6 +506,8 @@ public Builder clear() { matchingAttributes_ = null; matchingAttributesBuilder_ = null; } + org_ = ""; + return this; } @@ -461,6 +540,7 @@ public flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributes buildPartial } else { result.matchingAttributes_ = matchingAttributesBuilder_.build(); } + result.org_ = org_; onBuilt(); return result; } @@ -516,6 +596,10 @@ public Builder mergeFrom(flyteidl.admin.ProjectAttributesOuterClass.ProjectAttri if (other.hasMatchingAttributes()) { mergeMatchingAttributes(other.getMatchingAttributes()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -750,6 +834,95 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder ge } return matchingAttributesBuilder_; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -1940,6 +2113,24 @@ public interface ProjectAttributesGetRequestOrBuilder extends * .flyteidl.admin.MatchableResource resource_type = 2; */ flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType(); + + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -1961,6 +2152,7 @@ private ProjectAttributesGetRequest(com.google.protobuf.GeneratedMessageV3.Build
     private ProjectAttributesGetRequest() {
       project_ = "";
       resourceType_ = 0;
+      org_ = "";
     }
 
     @java.lang.Override
@@ -1999,6 +2191,12 @@ private ProjectAttributesGetRequest(
               resourceType_ = rawValue;
               break;
             }
+            case 26: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -2102,6 +2300,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceT
       return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result;
     }
 
+    public static final int ORG_FIELD_NUMBER = 3;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -2122,6 +2362,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { output.writeEnum(2, resourceType_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, org_); + } unknownFields.writeTo(output); } @@ -2138,6 +2381,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(2, resourceType_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -2156,6 +2402,8 @@ public boolean equals(final java.lang.Object obj) { if (!getProject() .equals(other.getProject())) return false; if (resourceType_ != other.resourceType_) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2171,6 +2419,8 @@ public int hashCode() { hash = (53 * hash) + getProject().hashCode(); hash = (37 * hash) + RESOURCE_TYPE_FIELD_NUMBER; hash = (53 * hash) + resourceType_; + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -2313,6 +2563,8 @@ public Builder clear() { resourceType_ = 0; + org_ = ""; + return this; } @@ -2341,6 +2593,7 @@ public flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributesGetRequest bu flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributesGetRequest result = new flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributesGetRequest(this); result.project_ = project_; result.resourceType_ = resourceType_; + result.org_ = org_; onBuilt(); return result; } @@ -2396,6 +2649,10 @@ public Builder mergeFrom(flyteidl.admin.ProjectAttributesOuterClass.ProjectAttri if (other.resourceType_ != 0) { setResourceTypeValue(other.getResourceTypeValue()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2588,6 +2845,95 @@ public Builder clearResourceType() { onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -3299,6 +3645,24 @@ public interface ProjectAttributesDeleteRequestOrBuilder extends * .flyteidl.admin.MatchableResource resource_type = 2; */ flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType(); + + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -3320,6 +3684,7 @@ private ProjectAttributesDeleteRequest(com.google.protobuf.GeneratedMessageV3.Bu
     private ProjectAttributesDeleteRequest() {
       project_ = "";
       resourceType_ = 0;
+      org_ = "";
     }
 
     @java.lang.Override
@@ -3358,6 +3723,12 @@ private ProjectAttributesDeleteRequest(
               resourceType_ = rawValue;
               break;
             }
+            case 26: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -3461,6 +3832,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceT
       return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result;
     }
 
+    public static final int ORG_FIELD_NUMBER = 3;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the project.
+     * 
+ * + * string org = 3; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -3481,6 +3894,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { output.writeEnum(2, resourceType_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, org_); + } unknownFields.writeTo(output); } @@ -3497,6 +3913,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(2, resourceType_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -3515,6 +3934,8 @@ public boolean equals(final java.lang.Object obj) { if (!getProject() .equals(other.getProject())) return false; if (resourceType_ != other.resourceType_) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3530,6 +3951,8 @@ public int hashCode() { hash = (53 * hash) + getProject().hashCode(); hash = (37 * hash) + RESOURCE_TYPE_FIELD_NUMBER; hash = (53 * hash) + resourceType_; + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -3672,6 +4095,8 @@ public Builder clear() { resourceType_ = 0; + org_ = ""; + return this; } @@ -3700,6 +4125,7 @@ public flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributesDeleteRequest flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributesDeleteRequest result = new flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributesDeleteRequest(this); result.project_ = project_; result.resourceType_ = resourceType_; + result.org_ = org_; onBuilt(); return result; } @@ -3755,6 +4181,10 @@ public Builder mergeFrom(flyteidl.admin.ProjectAttributesOuterClass.ProjectAttri if (other.resourceType_ != 0) { setResourceTypeValue(other.getResourceTypeValue()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -3947,6 +4377,95 @@ public Builder clearResourceType() { onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the project.
+       * 
+ * + * string org = 3; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -4465,23 +4984,24 @@ public flyteidl.admin.ProjectAttributesOuterClass.ProjectAttributesDeleteRespons java.lang.String[] descriptorData = { "\n\'flyteidl/admin/project_attributes.prot" + "o\022\016flyteidl.admin\032\'flyteidl/admin/matcha" + - "ble_resource.proto\"e\n\021ProjectAttributes\022" + + "ble_resource.proto\"r\n\021ProjectAttributes\022" + "\017\n\007project\030\001 \001(\t\022?\n\023matching_attributes\030" + "\002 \001(\0132\".flyteidl.admin.MatchingAttribute" + - "s\"W\n\036ProjectAttributesUpdateRequest\0225\n\na" + - "ttributes\030\001 \001(\0132!.flyteidl.admin.Project" + - "Attributes\"!\n\037ProjectAttributesUpdateRes" + - "ponse\"h\n\033ProjectAttributesGetRequest\022\017\n\007" + - "project\030\001 \001(\t\0228\n\rresource_type\030\002 \001(\0162!.f" + - "lyteidl.admin.MatchableResource\"U\n\034Proje" + - "ctAttributesGetResponse\0225\n\nattributes\030\001 " + - "\001(\0132!.flyteidl.admin.ProjectAttributes\"k" + - "\n\036ProjectAttributesDeleteRequest\022\017\n\007proj" + - "ect\030\001 \001(\t\0228\n\rresource_type\030\002 \001(\0162!.flyte" + - "idl.admin.MatchableResource\"!\n\037ProjectAt" + - "tributesDeleteResponseB=Z;github.com/fly" + - "teorg/flyte/flyteidl/gen/pb-go/flyteidl/" + - "adminb\006proto3" + "s\022\013\n\003org\030\003 \001(\t\"W\n\036ProjectAttributesUpdat" + + "eRequest\0225\n\nattributes\030\001 \001(\0132!.flyteidl." + + "admin.ProjectAttributes\"!\n\037ProjectAttrib" + + "utesUpdateResponse\"u\n\033ProjectAttributesG" + + "etRequest\022\017\n\007project\030\001 \001(\t\0228\n\rresource_t" + + "ype\030\002 \001(\0162!.flyteidl.admin.MatchableReso" + + "urce\022\013\n\003org\030\003 \001(\t\"U\n\034ProjectAttributesGe" + + "tResponse\0225\n\nattributes\030\001 \001(\0132!.flyteidl" + + ".admin.ProjectAttributes\"x\n\036ProjectAttri" + + "butesDeleteRequest\022\017\n\007project\030\001 \001(\t\0228\n\rr" + + "esource_type\030\002 \001(\0162!.flyteidl.admin.Matc" + + "hableResource\022\013\n\003org\030\003 \001(\t\"!\n\037ProjectAtt" + + "ributesDeleteResponseB=Z;github.com/flyt" + + "eorg/flyte/flyteidl/gen/pb-go/flyteidl/a" + + "dminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -4501,7 +5021,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ProjectAttributes_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ProjectAttributes_descriptor, - new java.lang.String[] { "Project", "MatchingAttributes", }); + new java.lang.String[] { "Project", "MatchingAttributes", "Org", }); internal_static_flyteidl_admin_ProjectAttributesUpdateRequest_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_admin_ProjectAttributesUpdateRequest_fieldAccessorTable = new @@ -4519,7 +5039,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ProjectAttributesGetRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ProjectAttributesGetRequest_descriptor, - new java.lang.String[] { "Project", "ResourceType", }); + new java.lang.String[] { "Project", "ResourceType", "Org", }); internal_static_flyteidl_admin_ProjectAttributesGetResponse_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_flyteidl_admin_ProjectAttributesGetResponse_fieldAccessorTable = new @@ -4531,7 +5051,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ProjectAttributesDeleteRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ProjectAttributesDeleteRequest_descriptor, - new java.lang.String[] { "Project", "ResourceType", }); + new java.lang.String[] { "Project", "ResourceType", "Org", }); internal_static_flyteidl_admin_ProjectAttributesDeleteResponse_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_flyteidl_admin_ProjectAttributesDeleteResponse_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/ProjectDomainAttributesOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/ProjectDomainAttributesOuterClass.java index d3512369cd..22d73ff719 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/ProjectDomainAttributesOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/ProjectDomainAttributesOuterClass.java @@ -66,6 +66,24 @@ public interface ProjectDomainAttributesOrBuilder extends * .flyteidl.admin.MatchingAttributes matching_attributes = 3; */ flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder getMatchingAttributesOrBuilder(); + + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -87,6 +105,7 @@ private ProjectDomainAttributes(com.google.protobuf.GeneratedMessageV3.Builder
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -298,6 +365,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (matchingAttributes_ != null) { output.writeMessage(3, getMatchingAttributes()); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, org_); + } unknownFields.writeTo(output); } @@ -317,6 +387,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getMatchingAttributes()); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -341,6 +414,8 @@ public boolean equals(final java.lang.Object obj) { if (!getMatchingAttributes() .equals(other.getMatchingAttributes())) return false; } + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -360,6 +435,8 @@ public int hashCode() { hash = (37 * hash) + MATCHING_ATTRIBUTES_FIELD_NUMBER; hash = (53 * hash) + getMatchingAttributes().hashCode(); } + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -508,6 +585,8 @@ public Builder clear() { matchingAttributes_ = null; matchingAttributesBuilder_ = null; } + org_ = ""; + return this; } @@ -541,6 +620,7 @@ public flyteidl.admin.ProjectDomainAttributesOuterClass.ProjectDomainAttributes } else { result.matchingAttributes_ = matchingAttributesBuilder_.build(); } + result.org_ = org_; onBuilt(); return result; } @@ -600,6 +680,10 @@ public Builder mergeFrom(flyteidl.admin.ProjectDomainAttributesOuterClass.Projec if (other.hasMatchingAttributes()) { mergeMatchingAttributes(other.getMatchingAttributes()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -923,6 +1007,95 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder ge } return matchingAttributesBuilder_; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -2133,6 +2306,24 @@ public interface ProjectDomainAttributesGetRequestOrBuilder extends * .flyteidl.admin.MatchableResource resource_type = 3; */ flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType(); + + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -2155,6 +2346,7 @@ private ProjectDomainAttributesGetRequest() {
       project_ = "";
       domain_ = "";
       resourceType_ = 0;
+      org_ = "";
     }
 
     @java.lang.Override
@@ -2199,6 +2391,12 @@ private ProjectDomainAttributesGetRequest(
               resourceType_ = rawValue;
               break;
             }
+            case 34: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -2346,6 +2544,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceT
       return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result;
     }
 
+    public static final int ORG_FIELD_NUMBER = 4;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -2369,6 +2609,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { output.writeEnum(3, resourceType_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, org_); + } unknownFields.writeTo(output); } @@ -2388,6 +2631,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(3, resourceType_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -2408,6 +2654,8 @@ public boolean equals(final java.lang.Object obj) { if (!getDomain() .equals(other.getDomain())) return false; if (resourceType_ != other.resourceType_) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2425,6 +2673,8 @@ public int hashCode() { hash = (53 * hash) + getDomain().hashCode(); hash = (37 * hash) + RESOURCE_TYPE_FIELD_NUMBER; hash = (53 * hash) + resourceType_; + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -2569,6 +2819,8 @@ public Builder clear() { resourceType_ = 0; + org_ = ""; + return this; } @@ -2598,6 +2850,7 @@ public flyteidl.admin.ProjectDomainAttributesOuterClass.ProjectDomainAttributesG result.project_ = project_; result.domain_ = domain_; result.resourceType_ = resourceType_; + result.org_ = org_; onBuilt(); return result; } @@ -2657,6 +2910,10 @@ public Builder mergeFrom(flyteidl.admin.ProjectDomainAttributesOuterClass.Projec if (other.resourceType_ != 0) { setResourceTypeValue(other.getResourceTypeValue()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2943,6 +3200,95 @@ public Builder clearResourceType() { onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -3674,6 +4020,24 @@ public interface ProjectDomainAttributesDeleteRequestOrBuilder extends * .flyteidl.admin.MatchableResource resource_type = 3; */ flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType(); + + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -3696,6 +4060,7 @@ private ProjectDomainAttributesDeleteRequest() {
       project_ = "";
       domain_ = "";
       resourceType_ = 0;
+      org_ = "";
     }
 
     @java.lang.Override
@@ -3740,6 +4105,12 @@ private ProjectDomainAttributesDeleteRequest(
               resourceType_ = rawValue;
               break;
             }
+            case 34: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -3887,6 +4258,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceT
       return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result;
     }
 
+    public static final int ORG_FIELD_NUMBER = 4;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -3910,6 +4323,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { output.writeEnum(3, resourceType_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, org_); + } unknownFields.writeTo(output); } @@ -3929,6 +4345,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(3, resourceType_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -3949,6 +4368,8 @@ public boolean equals(final java.lang.Object obj) { if (!getDomain() .equals(other.getDomain())) return false; if (resourceType_ != other.resourceType_) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3966,6 +4387,8 @@ public int hashCode() { hash = (53 * hash) + getDomain().hashCode(); hash = (37 * hash) + RESOURCE_TYPE_FIELD_NUMBER; hash = (53 * hash) + resourceType_; + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -4110,6 +4533,8 @@ public Builder clear() { resourceType_ = 0; + org_ = ""; + return this; } @@ -4139,6 +4564,7 @@ public flyteidl.admin.ProjectDomainAttributesOuterClass.ProjectDomainAttributesD result.project_ = project_; result.domain_ = domain_; result.resourceType_ = resourceType_; + result.org_ = org_; onBuilt(); return result; } @@ -4198,6 +4624,10 @@ public Builder mergeFrom(flyteidl.admin.ProjectDomainAttributesOuterClass.Projec if (other.resourceType_ != 0) { setResourceTypeValue(other.getResourceTypeValue()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -4484,6 +4914,95 @@ public Builder clearResourceType() { onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 4; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -5002,26 +5521,27 @@ public flyteidl.admin.ProjectDomainAttributesOuterClass.ProjectDomainAttributesD java.lang.String[] descriptorData = { "\n.flyteidl/admin/project_domain_attribut" + "es.proto\022\016flyteidl.admin\032\'flyteidl/admin" + - "/matchable_resource.proto\"{\n\027ProjectDoma" + - "inAttributes\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030" + - "\002 \001(\t\022?\n\023matching_attributes\030\003 \001(\0132\".fly" + - "teidl.admin.MatchingAttributes\"c\n$Projec" + - "tDomainAttributesUpdateRequest\022;\n\nattrib" + - "utes\030\001 \001(\0132\'.flyteidl.admin.ProjectDomai" + - "nAttributes\"\'\n%ProjectDomainAttributesUp" + - "dateResponse\"~\n!ProjectDomainAttributesG" + - "etRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001" + - "(\t\0228\n\rresource_type\030\003 \001(\0162!.flyteidl.adm" + - "in.MatchableResource\"a\n\"ProjectDomainAtt" + - "ributesGetResponse\022;\n\nattributes\030\001 \001(\0132\'" + - ".flyteidl.admin.ProjectDomainAttributes\"" + - "\201\001\n$ProjectDomainAttributesDeleteRequest" + - "\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\0228\n\rres" + - "ource_type\030\003 \001(\0162!.flyteidl.admin.Matcha" + - "bleResource\"\'\n%ProjectDomainAttributesDe" + - "leteResponseB=Z;github.com/flyteorg/flyt" + - "e/flyteidl/gen/pb-go/flyteidl/adminb\006pro" + - "to3" + "/matchable_resource.proto\"\210\001\n\027ProjectDom" + + "ainAttributes\022\017\n\007project\030\001 \001(\t\022\016\n\006domain" + + "\030\002 \001(\t\022?\n\023matching_attributes\030\003 \001(\0132\".fl" + + "yteidl.admin.MatchingAttributes\022\013\n\003org\030\004" + + " \001(\t\"c\n$ProjectDomainAttributesUpdateReq" + + "uest\022;\n\nattributes\030\001 \001(\0132\'.flyteidl.admi" + + "n.ProjectDomainAttributes\"\'\n%ProjectDoma" + + "inAttributesUpdateResponse\"\213\001\n!ProjectDo" + + "mainAttributesGetRequest\022\017\n\007project\030\001 \001(" + + "\t\022\016\n\006domain\030\002 \001(\t\0228\n\rresource_type\030\003 \001(\016" + + "2!.flyteidl.admin.MatchableResource\022\013\n\003o" + + "rg\030\004 \001(\t\"a\n\"ProjectDomainAttributesGetRe" + + "sponse\022;\n\nattributes\030\001 \001(\0132\'.flyteidl.ad" + + "min.ProjectDomainAttributes\"\216\001\n$ProjectD" + + "omainAttributesDeleteRequest\022\017\n\007project\030" + + "\001 \001(\t\022\016\n\006domain\030\002 \001(\t\0228\n\rresource_type\030\003" + + " \001(\0162!.flyteidl.admin.MatchableResource\022" + + "\013\n\003org\030\004 \001(\t\"\'\n%ProjectDomainAttributesD" + + "eleteResponseB=Z;github.com/flyteorg/fly" + + "te/flyteidl/gen/pb-go/flyteidl/adminb\006pr" + + "oto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -5041,7 +5561,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ProjectDomainAttributes_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ProjectDomainAttributes_descriptor, - new java.lang.String[] { "Project", "Domain", "MatchingAttributes", }); + new java.lang.String[] { "Project", "Domain", "MatchingAttributes", "Org", }); internal_static_flyteidl_admin_ProjectDomainAttributesUpdateRequest_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_admin_ProjectDomainAttributesUpdateRequest_fieldAccessorTable = new @@ -5059,7 +5579,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ProjectDomainAttributesGetRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ProjectDomainAttributesGetRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "ResourceType", }); + new java.lang.String[] { "Project", "Domain", "ResourceType", "Org", }); internal_static_flyteidl_admin_ProjectDomainAttributesGetResponse_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_flyteidl_admin_ProjectDomainAttributesGetResponse_fieldAccessorTable = new @@ -5071,7 +5591,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ProjectDomainAttributesDeleteRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ProjectDomainAttributesDeleteRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "ResourceType", }); + new java.lang.String[] { "Project", "Domain", "ResourceType", "Org", }); internal_static_flyteidl_admin_ProjectDomainAttributesDeleteResponse_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_flyteidl_admin_ProjectDomainAttributesDeleteResponse_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/ProjectOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/ProjectOuterClass.java index 518b844a41..ccae7fde2c 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/ProjectOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/ProjectOuterClass.java @@ -892,6 +892,24 @@ flyteidl.admin.ProjectOuterClass.DomainOrBuilder getDomainsOrBuilder( * .flyteidl.admin.Project.ProjectState state = 6; */ flyteidl.admin.ProjectOuterClass.Project.ProjectState getState(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -915,6 +933,7 @@ private Project() {
       domains_ = java.util.Collections.emptyList();
       description_ = "";
       state_ = 0;
+      org_ = "";
     }
 
     @java.lang.Override
@@ -987,6 +1006,12 @@ private Project(
               state_ = rawValue;
               break;
             }
+            case 58: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -1364,6 +1389,48 @@ public flyteidl.admin.ProjectOuterClass.Project.ProjectState getState() {
       return result == null ? flyteidl.admin.ProjectOuterClass.Project.ProjectState.UNRECOGNIZED : result;
     }
 
+    public static final int ORG_FIELD_NUMBER = 7;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 7; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -1396,6 +1463,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (state_ != flyteidl.admin.ProjectOuterClass.Project.ProjectState.ACTIVE.getNumber()) { output.writeEnum(6, state_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, org_); + } unknownFields.writeTo(output); } @@ -1426,6 +1496,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(6, state_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -1455,6 +1528,8 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getLabels())) return false; } if (state_ != other.state_) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1482,6 +1557,8 @@ public int hashCode() { } hash = (37 * hash) + STATE_FIELD_NUMBER; hash = (53 * hash) + state_; + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -1640,6 +1717,8 @@ public Builder clear() { } state_ = 0; + org_ = ""; + return this; } @@ -1686,6 +1765,7 @@ public flyteidl.admin.ProjectOuterClass.Project buildPartial() { result.labels_ = labelsBuilder_.build(); } result.state_ = state_; + result.org_ = org_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -1779,6 +1859,10 @@ public Builder mergeFrom(flyteidl.admin.ProjectOuterClass.Project other) { if (other.state_ != 0) { setStateValue(other.getStateValue()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2502,6 +2586,95 @@ public Builder clearState() { onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 7; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -6251,23 +6424,23 @@ public flyteidl.admin.ProjectOuterClass.ProjectUpdateResponse getDefaultInstance java.lang.String[] descriptorData = { "\n\034flyteidl/admin/project.proto\022\016flyteidl" + ".admin\032\033flyteidl/admin/common.proto\"\"\n\006D" + - "omain\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\"\376\001\n\007Proj" + + "omain\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\"\213\002\n\007Proj" + "ect\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\'\n\007domains" + "\030\003 \003(\0132\026.flyteidl.admin.Domain\022\023\n\013descri" + "ption\030\004 \001(\t\022&\n\006labels\030\005 \001(\0132\026.flyteidl.a" + "dmin.Labels\0223\n\005state\030\006 \001(\0162$.flyteidl.ad" + - "min.Project.ProjectState\">\n\014ProjectState" + - "\022\n\n\006ACTIVE\020\000\022\014\n\010ARCHIVED\020\001\022\024\n\020SYSTEM_GEN" + - "ERATED\020\002\"D\n\010Projects\022)\n\010projects\030\001 \003(\0132\027" + - ".flyteidl.admin.Project\022\r\n\005token\030\002 \001(\t\"j" + - "\n\022ProjectListRequest\022\r\n\005limit\030\001 \001(\r\022\r\n\005t" + - "oken\030\002 \001(\t\022\017\n\007filters\030\003 \001(\t\022%\n\007sort_by\030\004" + - " \001(\0132\024.flyteidl.admin.Sort\"B\n\026ProjectReg" + - "isterRequest\022(\n\007project\030\001 \001(\0132\027.flyteidl" + - ".admin.Project\"\031\n\027ProjectRegisterRespons" + - "e\"\027\n\025ProjectUpdateResponseB=Z;github.com" + - "/flyteorg/flyte/flyteidl/gen/pb-go/flyte" + - "idl/adminb\006proto3" + "min.Project.ProjectState\022\013\n\003org\030\007 \001(\t\">\n" + + "\014ProjectState\022\n\n\006ACTIVE\020\000\022\014\n\010ARCHIVED\020\001\022" + + "\024\n\020SYSTEM_GENERATED\020\002\"D\n\010Projects\022)\n\010pro" + + "jects\030\001 \003(\0132\027.flyteidl.admin.Project\022\r\n\005" + + "token\030\002 \001(\t\"j\n\022ProjectListRequest\022\r\n\005lim" + + "it\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\022\017\n\007filters\030\003 \001(\t" + + "\022%\n\007sort_by\030\004 \001(\0132\024.flyteidl.admin.Sort\"" + + "B\n\026ProjectRegisterRequest\022(\n\007project\030\001 \001" + + "(\0132\027.flyteidl.admin.Project\"\031\n\027ProjectRe" + + "gisterResponse\"\027\n\025ProjectUpdateResponseB" + + "=Z;github.com/flyteorg/flyte/flyteidl/ge" + + "n/pb-go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -6293,7 +6466,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_Project_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_Project_descriptor, - new java.lang.String[] { "Id", "Name", "Domains", "Description", "Labels", "State", }); + new java.lang.String[] { "Id", "Name", "Domains", "Description", "Labels", "State", "Org", }); internal_static_flyteidl_admin_Projects_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_flyteidl_admin_Projects_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/admin/WorkflowAttributesOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/WorkflowAttributesOuterClass.java index 21be6d20a5..9c5bba8ad3 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/WorkflowAttributesOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/WorkflowAttributesOuterClass.java @@ -84,6 +84,24 @@ public interface WorkflowAttributesOrBuilder extends * .flyteidl.admin.MatchingAttributes matching_attributes = 4; */ flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder getMatchingAttributesOrBuilder(); + + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -106,6 +124,7 @@ private WorkflowAttributes() {
       project_ = "";
       domain_ = "";
       workflow_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -163,6 +182,12 @@ private WorkflowAttributes(
 
               break;
             }
+            case 42: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -342,6 +367,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder ge
       return getMatchingAttributes();
     }
 
+    public static final int ORG_FIELD_NUMBER = 5;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -368,6 +435,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (matchingAttributes_ != null) { output.writeMessage(4, getMatchingAttributes()); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, org_); + } unknownFields.writeTo(output); } @@ -390,6 +460,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getMatchingAttributes()); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -416,6 +489,8 @@ public boolean equals(final java.lang.Object obj) { if (!getMatchingAttributes() .equals(other.getMatchingAttributes())) return false; } + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -437,6 +512,8 @@ public int hashCode() { hash = (37 * hash) + MATCHING_ATTRIBUTES_FIELD_NUMBER; hash = (53 * hash) + getMatchingAttributes().hashCode(); } + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -587,6 +664,8 @@ public Builder clear() { matchingAttributes_ = null; matchingAttributesBuilder_ = null; } + org_ = ""; + return this; } @@ -621,6 +700,7 @@ public flyteidl.admin.WorkflowAttributesOuterClass.WorkflowAttributes buildParti } else { result.matchingAttributes_ = matchingAttributesBuilder_.build(); } + result.org_ = org_; onBuilt(); return result; } @@ -684,6 +764,10 @@ public Builder mergeFrom(flyteidl.admin.WorkflowAttributesOuterClass.WorkflowAtt if (other.hasMatchingAttributes()) { mergeMatchingAttributes(other.getMatchingAttributes()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1096,6 +1180,95 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder ge } return matchingAttributesBuilder_; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -2266,6 +2439,24 @@ public interface WorkflowAttributesGetRequestOrBuilder extends * .flyteidl.admin.MatchableResource resource_type = 4; */ flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType(); + + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -2289,6 +2480,7 @@ private WorkflowAttributesGetRequest() {
       domain_ = "";
       workflow_ = "";
       resourceType_ = 0;
+      org_ = "";
     }
 
     @java.lang.Override
@@ -2339,6 +2531,12 @@ private WorkflowAttributesGetRequest(
               resourceType_ = rawValue;
               break;
             }
+            case 42: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -2530,6 +2728,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceT
       return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result;
     }
 
+    public static final int ORG_FIELD_NUMBER = 5;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -2556,6 +2796,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { output.writeEnum(4, resourceType_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, org_); + } unknownFields.writeTo(output); } @@ -2578,6 +2821,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(4, resourceType_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -2600,6 +2846,8 @@ public boolean equals(final java.lang.Object obj) { if (!getWorkflow() .equals(other.getWorkflow())) return false; if (resourceType_ != other.resourceType_) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2619,6 +2867,8 @@ public int hashCode() { hash = (53 * hash) + getWorkflow().hashCode(); hash = (37 * hash) + RESOURCE_TYPE_FIELD_NUMBER; hash = (53 * hash) + resourceType_; + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -2765,6 +3015,8 @@ public Builder clear() { resourceType_ = 0; + org_ = ""; + return this; } @@ -2795,6 +3047,7 @@ public flyteidl.admin.WorkflowAttributesOuterClass.WorkflowAttributesGetRequest result.domain_ = domain_; result.workflow_ = workflow_; result.resourceType_ = resourceType_; + result.org_ = org_; onBuilt(); return result; } @@ -2858,6 +3111,10 @@ public Builder mergeFrom(flyteidl.admin.WorkflowAttributesOuterClass.WorkflowAtt if (other.resourceType_ != 0) { setResourceTypeValue(other.getResourceTypeValue()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -3238,6 +3495,95 @@ public Builder clearResourceType() { onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -3987,6 +4333,24 @@ public interface WorkflowAttributesDeleteRequestOrBuilder extends * .flyteidl.admin.MatchableResource resource_type = 4; */ flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType(); + + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -4010,6 +4374,7 @@ private WorkflowAttributesDeleteRequest() {
       domain_ = "";
       workflow_ = "";
       resourceType_ = 0;
+      org_ = "";
     }
 
     @java.lang.Override
@@ -4060,6 +4425,12 @@ private WorkflowAttributesDeleteRequest(
               resourceType_ = rawValue;
               break;
             }
+            case 42: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -4251,6 +4622,48 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceT
       return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result;
     }
 
+    public static final int ORG_FIELD_NUMBER = 5;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the attributes.
+     * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -4277,6 +4690,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { output.writeEnum(4, resourceType_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, org_); + } unknownFields.writeTo(output); } @@ -4299,6 +4715,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(4, resourceType_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -4321,6 +4740,8 @@ public boolean equals(final java.lang.Object obj) { if (!getWorkflow() .equals(other.getWorkflow())) return false; if (resourceType_ != other.resourceType_) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4340,6 +4761,8 @@ public int hashCode() { hash = (53 * hash) + getWorkflow().hashCode(); hash = (37 * hash) + RESOURCE_TYPE_FIELD_NUMBER; hash = (53 * hash) + resourceType_; + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -4486,6 +4909,8 @@ public Builder clear() { resourceType_ = 0; + org_ = ""; + return this; } @@ -4516,6 +4941,7 @@ public flyteidl.admin.WorkflowAttributesOuterClass.WorkflowAttributesDeleteReque result.domain_ = domain_; result.workflow_ = workflow_; result.resourceType_ = resourceType_; + result.org_ = org_; onBuilt(); return result; } @@ -4579,6 +5005,10 @@ public Builder mergeFrom(flyteidl.admin.WorkflowAttributesOuterClass.WorkflowAtt if (other.resourceType_ != 0) { setResourceTypeValue(other.getResourceTypeValue()); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -4959,6 +5389,95 @@ public Builder clearResourceType() { onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the attributes.
+       * 
+ * + * string org = 5; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -5477,26 +5996,27 @@ public flyteidl.admin.WorkflowAttributesOuterClass.WorkflowAttributesDeleteRespo java.lang.String[] descriptorData = { "\n(flyteidl/admin/workflow_attributes.pro" + "to\022\016flyteidl.admin\032\'flyteidl/admin/match" + - "able_resource.proto\"\210\001\n\022WorkflowAttribut" + + "able_resource.proto\"\225\001\n\022WorkflowAttribut" + "es\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\020\n\010w" + "orkflow\030\003 \001(\t\022?\n\023matching_attributes\030\004 \001" + - "(\0132\".flyteidl.admin.MatchingAttributes\"Y" + - "\n\037WorkflowAttributesUpdateRequest\0226\n\natt" + - "ributes\030\001 \001(\0132\".flyteidl.admin.WorkflowA" + - "ttributes\"\"\n WorkflowAttributesUpdateRes" + - "ponse\"\213\001\n\034WorkflowAttributesGetRequest\022\017" + - "\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\020\n\010workf" + - "low\030\003 \001(\t\0228\n\rresource_type\030\004 \001(\0162!.flyte" + - "idl.admin.MatchableResource\"W\n\035WorkflowA" + - "ttributesGetResponse\0226\n\nattributes\030\001 \001(\013" + - "2\".flyteidl.admin.WorkflowAttributes\"\216\001\n" + - "\037WorkflowAttributesDeleteRequest\022\017\n\007proj" + - "ect\030\001 \001(\t\022\016\n\006domain\030\002 \001(\t\022\020\n\010workflow\030\003 " + - "\001(\t\0228\n\rresource_type\030\004 \001(\0162!.flyteidl.ad" + - "min.MatchableResource\"\"\n WorkflowAttribu" + - "tesDeleteResponseB=Z;github.com/flyteorg" + - "/flyte/flyteidl/gen/pb-go/flyteidl/admin" + - "b\006proto3" + "(\0132\".flyteidl.admin.MatchingAttributes\022\013" + + "\n\003org\030\005 \001(\t\"Y\n\037WorkflowAttributesUpdateR" + + "equest\0226\n\nattributes\030\001 \001(\0132\".flyteidl.ad" + + "min.WorkflowAttributes\"\"\n WorkflowAttrib" + + "utesUpdateResponse\"\230\001\n\034WorkflowAttribute" + + "sGetRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002" + + " \001(\t\022\020\n\010workflow\030\003 \001(\t\0228\n\rresource_type\030" + + "\004 \001(\0162!.flyteidl.admin.MatchableResource" + + "\022\013\n\003org\030\005 \001(\t\"W\n\035WorkflowAttributesGetRe" + + "sponse\0226\n\nattributes\030\001 \001(\0132\".flyteidl.ad" + + "min.WorkflowAttributes\"\233\001\n\037WorkflowAttri" + + "butesDeleteRequest\022\017\n\007project\030\001 \001(\t\022\016\n\006d" + + "omain\030\002 \001(\t\022\020\n\010workflow\030\003 \001(\t\0228\n\rresourc" + + "e_type\030\004 \001(\0162!.flyteidl.admin.MatchableR" + + "esource\022\013\n\003org\030\005 \001(\t\"\"\n WorkflowAttribut" + + "esDeleteResponseB=Z;github.com/flyteorg/" + + "flyte/flyteidl/gen/pb-go/flyteidl/adminb" + + "\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -5516,7 +6036,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_WorkflowAttributes_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_WorkflowAttributes_descriptor, - new java.lang.String[] { "Project", "Domain", "Workflow", "MatchingAttributes", }); + new java.lang.String[] { "Project", "Domain", "Workflow", "MatchingAttributes", "Org", }); internal_static_flyteidl_admin_WorkflowAttributesUpdateRequest_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_flyteidl_admin_WorkflowAttributesUpdateRequest_fieldAccessorTable = new @@ -5534,7 +6054,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_WorkflowAttributesGetRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_WorkflowAttributesGetRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "Workflow", "ResourceType", }); + new java.lang.String[] { "Project", "Domain", "Workflow", "ResourceType", "Org", }); internal_static_flyteidl_admin_WorkflowAttributesGetResponse_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_flyteidl_admin_WorkflowAttributesGetResponse_fieldAccessorTable = new @@ -5546,7 +6066,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_WorkflowAttributesDeleteRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_WorkflowAttributesDeleteRequest_descriptor, - new java.lang.String[] { "Project", "Domain", "Workflow", "ResourceType", }); + new java.lang.String[] { "Project", "Domain", "Workflow", "ResourceType", "Org", }); internal_static_flyteidl_admin_WorkflowAttributesDeleteResponse_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_flyteidl_admin_WorkflowAttributesDeleteResponse_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java b/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java index c4272da952..92f92c7e09 100644 --- a/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java +++ b/flyteidl/gen/pb-java/flyteidl/artifact/Artifacts.java @@ -21418,63 +21418,47 @@ public flyteidl.artifact.Artifacts.ListUsageResponse getDefaultInstanceForType() "UsageRequest\022.\n\013artifact_id\030\001 \001(\0132\031.flyt" + "eidl.core.ArtifactID\"S\n\021ListUsageRespons" + "e\022>\n\nexecutions\030\001 \003(\0132*.flyteidl.core.Wo" + - "rkflowExecutionIdentifier2\361\020\n\020ArtifactRe" + + "rkflowExecutionIdentifier2\373\013\n\020ArtifactRe" + "gistry\022g\n\016CreateArtifact\022(.flyteidl.arti" + "fact.CreateArtifactRequest\032).flyteidl.ar" + - "tifact.CreateArtifactResponse\"\000\022\361\004\n\013GetA" + + "tifact.CreateArtifactResponse\"\000\022\204\001\n\013GetA" + "rtifact\022%.flyteidl.artifact.GetArtifactR" + "equest\032&.flyteidl.artifact.GetArtifactRe" + - "sponse\"\222\004\202\323\344\223\002\213\004\022\033/artifacts/api/v1/arti" + - "factsZ\263\001\022\260\001/artifacts/api/v1/artifact/id" + - "/{query.artifact_id.artifact_key.project" + - "}/{query.artifact_id.artifact_key.domain" + - "}/{query.artifact_id.artifact_key.name}/" + - "{query.artifact_id.version}Z\227\001\022\224\001/artifa" + - "cts/api/v1/artifact/id/{query.artifact_i" + - "d.artifact_key.project}/{query.artifact_" + - "id.artifact_key.domain}/{query.artifact_" + - "id.artifact_key.name}Z\233\001\022\230\001/artifacts/ap" + - "i/v1/artifact/tag/{query.artifact_tag.ar" + - "tifact_key.project}/{query.artifact_tag." + - "artifact_key.domain}/{query.artifact_tag" + - ".artifact_key.name}\022\226\002\n\017SearchArtifacts\022" + - ").flyteidl.artifact.SearchArtifactsReque" + - "st\032*.flyteidl.artifact.SearchArtifactsRe" + - "sponse\"\253\001\202\323\344\223\002\244\001\022Y/artifacts/api/v1/sear" + - "ch/{artifact_key.project}/{artifact_key." + - "domain}/{artifact_key.name}ZG\022E/artifact" + - "s/api/v1/search/{artifact_key.project}/{" + - "artifact_key.domain}\022d\n\rCreateTrigger\022\'." + - "flyteidl.artifact.CreateTriggerRequest\032(" + - ".flyteidl.artifact.CreateTriggerResponse" + - "\"\000\022\237\001\n\021DeactivateTrigger\022+.flyteidl.arti" + - "fact.DeactivateTriggerRequest\032,.flyteidl" + - ".artifact.DeactivateTriggerResponse\"/\202\323\344" + - "\223\002)2$/artifacts/api/v1/trigger/deactivat" + - "e:\001*\022O\n\006AddTag\022 .flyteidl.artifact.AddTa" + - "gRequest\032!.flyteidl.artifact.AddTagRespo" + - "nse\"\000\022e\n\020RegisterProducer\022*.flyteidl.art" + - "ifact.RegisterProducerRequest\032#.flyteidl" + - ".artifact.RegisterResponse\"\000\022e\n\020Register" + - "Consumer\022*.flyteidl.artifact.RegisterCon" + - "sumerRequest\032#.flyteidl.artifact.Registe" + - "rResponse\"\000\022m\n\022SetExecutionInputs\022).flyt" + - "eidl.artifact.ExecutionInputsRequest\032*.f" + - "lyteidl.artifact.ExecutionInputsResponse" + - "\"\000\022\330\001\n\022FindByWorkflowExec\022,.flyteidl.art" + - "ifact.FindByWorkflowExecRequest\032*.flytei" + - "dl.artifact.SearchArtifactsResponse\"h\202\323\344" + - "\223\002b\022`/artifacts/api/v1/search/execution/" + - "{exec_id.project}/{exec_id.domain}/{exec" + - "_id.name}/{direction}\022\365\001\n\tListUsage\022#.fl" + - "yteidl.artifact.ListUsageRequest\032$.flyte" + - "idl.artifact.ListUsageResponse\"\234\001\202\323\344\223\002\225\001" + - "\022\222\001/artifacts/api/v1/usage/{artifact_id." + - "artifact_key.project}/{artifact_id.artif" + - "act_key.domain}/{artifact_id.artifact_ke" + - "y.name}/{artifact_id.version}B@Z>github." + - "com/flyteorg/flyte/flyteidl/gen/pb-go/fl" + - "yteidl/artifactb\006proto3" + "sponse\"&\202\323\344\223\002 \"\033/artifacts/api/v1/artifa" + + "cts:\001*\022\215\001\n\017SearchArtifacts\022).flyteidl.ar" + + "tifact.SearchArtifactsRequest\032*.flyteidl" + + ".artifact.SearchArtifactsResponse\"#\202\323\344\223\002" + + "\035\"\030/artifacts/api/v1/search:\001*\022d\n\rCreate" + + "Trigger\022\'.flyteidl.artifact.CreateTrigge" + + "rRequest\032(.flyteidl.artifact.CreateTrigg" + + "erResponse\"\000\022\237\001\n\021DeactivateTrigger\022+.fly" + + "teidl.artifact.DeactivateTriggerRequest\032" + + ",.flyteidl.artifact.DeactivateTriggerRes" + + "ponse\"/\202\323\344\223\002)2$/artifacts/api/v1/trigger" + + "/deactivate:\001*\022O\n\006AddTag\022 .flyteidl.arti" + + "fact.AddTagRequest\032!.flyteidl.artifact.A" + + "ddTagResponse\"\000\022e\n\020RegisterProducer\022*.fl" + + "yteidl.artifact.RegisterProducerRequest\032" + + "#.flyteidl.artifact.RegisterResponse\"\000\022e" + + "\n\020RegisterConsumer\022*.flyteidl.artifact.R" + + "egisterConsumerRequest\032#.flyteidl.artifa" + + "ct.RegisterResponse\"\000\022m\n\022SetExecutionInp" + + "uts\022).flyteidl.artifact.ExecutionInputsR" + + "equest\032*.flyteidl.artifact.ExecutionInpu" + + "tsResponse\"\000\022\330\001\n\022FindByWorkflowExec\022,.fl" + + "yteidl.artifact.FindByWorkflowExecReques" + + "t\032*.flyteidl.artifact.SearchArtifactsRes" + + "ponse\"h\202\323\344\223\002b\022`/artifacts/api/v1/search/" + + "execution/{exec_id.project}/{exec_id.dom" + + "ain}/{exec_id.name}/{direction}\022\365\001\n\tList" + + "Usage\022#.flyteidl.artifact.ListUsageReque" + + "st\032$.flyteidl.artifact.ListUsageResponse" + + "\"\234\001\202\323\344\223\002\225\001\022\222\001/artifacts/api/v1/usage/{ar" + + "tifact_id.artifact_key.project}/{artifac" + + "t_id.artifact_key.domain}/{artifact_id.a" + + "rtifact_key.name}/{artifact_id.version}B" + + "@Z>github.com/flyteorg/flyte/flyteidl/ge" + + "n/pb-go/flyteidl/artifactb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { diff --git a/flyteidl/gen/pb-java/flyteidl/core/IdentifierOuterClass.java b/flyteidl/gen/pb-java/flyteidl/core/IdentifierOuterClass.java index 2891c9576c..74e46e5f28 100644 --- a/flyteidl/gen/pb-java/flyteidl/core/IdentifierOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/core/IdentifierOuterClass.java @@ -249,6 +249,24 @@ public interface IdentifierOrBuilder extends */ com.google.protobuf.ByteString getVersionBytes(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -272,6 +290,7 @@ private Identifier() {
       domain_ = "";
       name_ = "";
       version_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -328,6 +347,12 @@ private Identifier(
               version_ = s;
               break;
             }
+            case 50: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -555,6 +580,48 @@ public java.lang.String getVersion() {
       }
     }
 
+    public static final int ORG_FIELD_NUMBER = 6;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -584,6 +651,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getVersionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, version_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, org_); + } unknownFields.writeTo(output); } @@ -609,6 +679,9 @@ public int getSerializedSize() { if (!getVersionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, version_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -633,6 +706,8 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getName())) return false; if (!getVersion() .equals(other.getVersion())) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -654,6 +729,8 @@ public int hashCode() { hash = (53 * hash) + getName().hashCode(); hash = (37 * hash) + VERSION_FIELD_NUMBER; hash = (53 * hash) + getVersion().hashCode(); + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -801,6 +878,8 @@ public Builder clear() { version_ = ""; + org_ = ""; + return this; } @@ -832,6 +911,7 @@ public flyteidl.core.IdentifierOuterClass.Identifier buildPartial() { result.domain_ = domain_; result.name_ = name_; result.version_ = version_; + result.org_ = org_; onBuilt(); return result; } @@ -899,6 +979,10 @@ public Builder mergeFrom(flyteidl.core.IdentifierOuterClass.Identifier other) { version_ = other.version_; onChanged(); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1353,6 +1437,95 @@ public Builder setVersionBytes( onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 6; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -1465,6 +1638,24 @@ public interface WorkflowExecutionIdentifierOrBuilder extends */ com.google.protobuf.ByteString getNameBytes(); + + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 5; + */ + java.lang.String getOrg(); + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 5; + */ + com.google.protobuf.ByteString + getOrgBytes(); } /** *
@@ -1486,6 +1677,7 @@ private WorkflowExecutionIdentifier() {
       project_ = "";
       domain_ = "";
       name_ = "";
+      org_ = "";
     }
 
     @java.lang.Override
@@ -1530,6 +1722,12 @@ private WorkflowExecutionIdentifier(
               name_ = s;
               break;
             }
+            case 42: {
+              java.lang.String s = input.readStringRequireUtf8();
+
+              org_ = s;
+              break;
+            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -1690,6 +1888,48 @@ public java.lang.String getName() {
       }
     }
 
+    public static final int ORG_FIELD_NUMBER = 5;
+    private volatile java.lang.Object org_;
+    /**
+     * 
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } + } + /** + *
+     * Optional, org key applied to the resource.
+     * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -1713,6 +1953,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_); } + if (!getOrgBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, org_); + } unknownFields.writeTo(output); } @@ -1731,6 +1974,9 @@ public int getSerializedSize() { if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, name_); } + if (!getOrgBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, org_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -1752,6 +1998,8 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getDomain())) return false; if (!getName() .equals(other.getName())) return false; + if (!getOrg() + .equals(other.getOrg())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1769,6 +2017,8 @@ public int hashCode() { hash = (53 * hash) + getDomain().hashCode(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + ORG_FIELD_NUMBER; + hash = (53 * hash) + getOrg().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -1912,6 +2162,8 @@ public Builder clear() { name_ = ""; + org_ = ""; + return this; } @@ -1941,6 +2193,7 @@ public flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier buildParti result.project_ = project_; result.domain_ = domain_; result.name_ = name_; + result.org_ = org_; onBuilt(); return result; } @@ -2001,6 +2254,10 @@ public Builder mergeFrom(flyteidl.core.IdentifierOuterClass.WorkflowExecutionIde name_ = other.name_; onChanged(); } + if (!other.getOrg().isEmpty()) { + org_ = other.org_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -2301,6 +2558,95 @@ public Builder setNameBytes( onChanged(); return this; } + + private java.lang.Object org_ = ""; + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 5; + */ + public java.lang.String getOrg() { + java.lang.Object ref = org_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + org_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 5; + */ + public com.google.protobuf.ByteString + getOrgBytes() { + java.lang.Object ref = org_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + org_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 5; + */ + public Builder setOrg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + org_ = value; + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 5; + */ + public Builder clearOrg() { + + org_ = getDefaultInstance().getOrg(); + onChanged(); + return this; + } + /** + *
+       * Optional, org key applied to the resource.
+       * 
+ * + * string org = 5; + */ + public Builder setOrgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + org_ = value; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -4857,25 +5203,26 @@ public flyteidl.core.IdentifierOuterClass.SignalIdentifier getDefaultInstanceFor static { java.lang.String[] descriptorData = { "\n\036flyteidl/core/identifier.proto\022\rflytei" + - "dl.core\"\200\001\n\nIdentifier\0222\n\rresource_type\030" + + "dl.core\"\215\001\n\nIdentifier\0222\n\rresource_type\030" + "\001 \001(\0162\033.flyteidl.core.ResourceType\022\017\n\007pr" + "oject\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\014\n\004name\030\004 \001(" + - "\t\022\017\n\007version\030\005 \001(\t\"L\n\033WorkflowExecutionI" + - "dentifier\022\017\n\007project\030\001 \001(\t\022\016\n\006domain\030\002 \001" + - "(\t\022\014\n\004name\030\004 \001(\t\"l\n\027NodeExecutionIdentif" + - "ier\022\017\n\007node_id\030\001 \001(\t\022@\n\014execution_id\030\002 \001" + - "(\0132*.flyteidl.core.WorkflowExecutionIden" + - "tifier\"\237\001\n\027TaskExecutionIdentifier\022*\n\007ta" + - "sk_id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A" + - "\n\021node_execution_id\030\002 \001(\0132&.flyteidl.cor" + - "e.NodeExecutionIdentifier\022\025\n\rretry_attem" + - "pt\030\003 \001(\r\"g\n\020SignalIdentifier\022\021\n\tsignal_i" + - "d\030\001 \001(\t\022@\n\014execution_id\030\002 \001(\0132*.flyteidl" + - ".core.WorkflowExecutionIdentifier*U\n\014Res" + - "ourceType\022\017\n\013UNSPECIFIED\020\000\022\010\n\004TASK\020\001\022\014\n\010" + - "WORKFLOW\020\002\022\017\n\013LAUNCH_PLAN\020\003\022\013\n\007DATASET\020\004" + - "B/api/" + - "v1/active_launch_plans/{id.project}/{id." + + "edEntityIdentifierList\"Y\202\323\344\223\002S\022#/api/v1/" + + "task_ids/{project}/{domain}Z,\022*/api/v1/t" + + "asks/org/{org}/{project}/{domain}\022\250\002\n\tLi" + + "stTasks\022#.flyteidl.admin.ResourceListReq" + + "uest\032\030.flyteidl.admin.TaskList\"\333\001\202\323\344\223\002\324\001" + + "\0220/api/v1/tasks/{id.project}/{id.domain}" + + "/{id.name}Z?\022=/api/v1/tasks/org/{id.org}" + + "/{id.project}/{id.domain}/{id.name}Z(\022&/" + + "api/v1/tasks/{id.project}/{id.domain}Z5\022" + + "3/api/v1/tasks/org/{id.org}/{id.project}" + + "/{id.domain}\022}\n\016CreateWorkflow\022%.flyteid" + + "l.admin.WorkflowCreateRequest\032&.flyteidl" + + ".admin.WorkflowCreateResponse\"\034\202\323\344\223\002\026\"\021/" + + "api/v1/workflows:\001*\022\350\001\n\013GetWorkflow\022 .fl" + + "yteidl.admin.ObjectGetRequest\032\030.flyteidl" + + ".admin.Workflow\"\234\001\202\323\344\223\002\225\001\022A/api/v1/workf" + + "lows/{id.project}/{id.domain}/{id.name}/" + + "{id.version}ZP\022N/api/v1/workflows/org/{i" + + "d.org}/{id.project}/{id.domain}/{id.name" + + "}/{id.version}\022\321\001\n\017ListWorkflowIds\0220.fly" + + "teidl.admin.NamedEntityIdentifierListReq" + + "uest\032).flyteidl.admin.NamedEntityIdentif" + + "ierList\"a\202\323\344\223\002[\022\'/api/v1/workflow_ids/{p" + + "roject}/{domain}Z0\022./api/v1/workflows/or" + + "g/{org}/{project}/{domain}\022\300\002\n\rListWorkf" + + "lows\022#.flyteidl.admin.ResourceListReques" + + "t\032\034.flyteidl.admin.WorkflowList\"\353\001\202\323\344\223\002\344" + + "\001\0224/api/v1/workflows/{id.project}/{id.do" + + "main}/{id.name}ZC\022A/api/v1/workflows/org" + + "/{id.org}/{id.project}/{id.domain}/{id.n" + + "ame}Z,\022*/api/v1/workflows/{id.project}/{" + + "id.domain}Z9\0227/api/v1/workflows/org/{id." + + "org}/{id.project}/{id.domain}\022\206\001\n\020Create" + + "LaunchPlan\022\'.flyteidl.admin.LaunchPlanCr" + + "eateRequest\032(.flyteidl.admin.LaunchPlanC" + + "reateResponse\"\037\202\323\344\223\002\031\"\024/api/v1/launch_pl" + + "ans:\001*\022\362\001\n\rGetLaunchPlan\022 .flyteidl.admi" + + "n.ObjectGetRequest\032\032.flyteidl.admin.Laun" + + "chPlan\"\242\001\202\323\344\223\002\233\001\022D/api/v1/launch_plans/{" + + "id.project}/{id.domain}/{id.name}/{id.ve" + + "rsion}ZS\022Q/api/v1/launch_plans/org/{id.o" + + "rg}/{id.project}/{id.domain}/{id.name}/{" + + "id.version}\022\363\001\n\023GetActiveLaunchPlan\022\'.fl" + + "yteidl.admin.ActiveLaunchPlanRequest\032\032.f" + + "lyteidl.admin.LaunchPlan\"\226\001\202\323\344\223\002\217\001\022>/api" + + "/v1/active_launch_plans/{id.project}/{id" + + ".domain}/{id.name}ZM\022K/api/v1/active_lau" + + "nch_plans/org/{id.org}/{id.project}/{id." + "domain}/{id.name}\022\234\001\n\025ListActiveLaunchPl" + "ans\022+.flyteidl.admin.ActiveLaunchPlanLis" + "tRequest\032\036.flyteidl.admin.LaunchPlanList" + "\"6\202\323\344\223\0020\022./api/v1/active_launch_plans/{p" + - "roject}/{domain}\022\244\001\n\021ListLaunchPlanIds\0220" + + "roject}/{domain}\022\334\001\n\021ListLaunchPlanIds\0220" + ".flyteidl.admin.NamedEntityIdentifierLis" + "tRequest\032).flyteidl.admin.NamedEntityIde" + - "ntifierList\"2\202\323\344\223\002,\022*/api/v1/launch_plan" + - "_ids/{project}/{domain}\022\310\001\n\017ListLaunchPl" + - "ans\022#.flyteidl.admin.ResourceListRequest" + - "\032\036.flyteidl.admin.LaunchPlanList\"p\202\323\344\223\002j" + - "\0227/api/v1/launch_plans/{id.project}/{id." + - "domain}/{id.name}Z/\022-/api/v1/launch_plan" + - "s/{id.project}/{id.domain}\022\266\001\n\020UpdateLau" + - "nchPlan\022\'.flyteidl.admin.LaunchPlanUpdat" + - "eRequest\032(.flyteidl.admin.LaunchPlanUpda" + - "teResponse\"O\202\323\344\223\002I\032D/api/v1/launch_plans" + - "/{id.project}/{id.domain}/{id.name}/{id." + - "version}:\001*\022\201\001\n\017CreateExecution\022&.flytei" + - "dl.admin.ExecutionCreateRequest\032\'.flytei" + - "dl.admin.ExecutionCreateResponse\"\035\202\323\344\223\002\027" + - "\"\022/api/v1/executions:\001*\022\216\001\n\021RelaunchExec" + - "ution\022(.flyteidl.admin.ExecutionRelaunch" + - "Request\032\'.flyteidl.admin.ExecutionCreate" + - "Response\"&\202\323\344\223\002 \"\033/api/v1/executions/rel" + - "aunch:\001*\022\213\001\n\020RecoverExecution\022\'.flyteidl" + - ".admin.ExecutionRecoverRequest\032\'.flyteid" + - "l.admin.ExecutionCreateResponse\"%\202\323\344\223\002\037\"" + - "\032/api/v1/executions/recover:\001*\022\225\001\n\014GetEx" + - "ecution\022+.flyteidl.admin.WorkflowExecuti" + - "onGetRequest\032\031.flyteidl.admin.Execution\"" + - "=\202\323\344\223\0027\0225/api/v1/executions/{id.project}" + - "/{id.domain}/{id.name}\022\244\001\n\017UpdateExecuti" + - "on\022&.flyteidl.admin.ExecutionUpdateReque" + - "st\032\'.flyteidl.admin.ExecutionUpdateRespo" + - "nse\"@\202\323\344\223\002:\0325/api/v1/executions/{id.proj" + - "ect}/{id.domain}/{id.name}:\001*\022\271\001\n\020GetExe" + - "cutionData\022/.flyteidl.admin.WorkflowExec" + - "utionGetDataRequest\0320.flyteidl.admin.Wor" + - "kflowExecutionGetDataResponse\"B\202\323\344\223\002<\022:/" + - "api/v1/data/executions/{id.project}/{id." + - "domain}/{id.name}\022\211\001\n\016ListExecutions\022#.f" + - "lyteidl.admin.ResourceListRequest\032\035.flyt" + - "eidl.admin.ExecutionList\"3\202\323\344\223\002-\022+/api/v" + - "1/executions/{id.project}/{id.domain}\022\255\001" + - "\n\022TerminateExecution\022).flyteidl.admin.Ex" + - "ecutionTerminateRequest\032*.flyteidl.admin" + - ".ExecutionTerminateResponse\"@\202\323\344\223\002:*5/ap" + - "i/v1/executions/{id.project}/{id.domain}" + - "/{id.name}:\001*\022\322\001\n\020GetNodeExecution\022\'.fly" + - "teidl.admin.NodeExecutionGetRequest\032\035.fl" + - "yteidl.admin.NodeExecution\"v\202\323\344\223\002p\022n/api" + - "/v1/node_executions/{id.execution_id.pro" + - "ject}/{id.execution_id.domain}/{id.execu" + - "tion_id.name}/{id.node_id}\022\336\001\n\022ListNodeE" + - "xecutions\022(.flyteidl.admin.NodeExecution" + - "ListRequest\032!.flyteidl.admin.NodeExecuti" + - "onList\"{\202\323\344\223\002u\022s/api/v1/node_executions/" + - "{workflow_execution_id.project}/{workflo" + - "w_execution_id.domain}/{workflow_executi" + - "on_id.name}\022\245\004\n\031ListNodeExecutionsForTas" + - "k\022/.flyteidl.admin.NodeExecutionForTaskL" + - "istRequest\032!.flyteidl.admin.NodeExecutio" + - "nList\"\263\003\202\323\344\223\002\254\003\022\251\003/api/v1/children/task_" + - "executions/{task_execution_id.node_execu" + - "tion_id.execution_id.project}/{task_exec" + - "ution_id.node_execution_id.execution_id." + - "domain}/{task_execution_id.node_executio" + - "n_id.execution_id.name}/{task_execution_" + - "id.node_execution_id.node_id}/{task_exec" + - "ution_id.task_id.project}/{task_executio" + - "n_id.task_id.domain}/{task_execution_id." + - "task_id.name}/{task_execution_id.task_id" + - ".version}/{task_execution_id.retry_attem" + - "pt}\022\356\001\n\024GetNodeExecutionData\022+.flyteidl." + - "admin.NodeExecutionGetDataRequest\032,.flyt" + - "eidl.admin.NodeExecutionGetDataResponse\"" + - "{\202\323\344\223\002u\022s/api/v1/data/node_executions/{i" + - "d.execution_id.project}/{id.execution_id" + - ".domain}/{id.execution_id.name}/{id.node" + - "_id}\022\177\n\017RegisterProject\022&.flyteidl.admin" + - ".ProjectRegisterRequest\032\'.flyteidl.admin" + - ".ProjectRegisterResponse\"\033\202\323\344\223\002\025\"\020/api/v" + - "1/projects:\001*\022q\n\rUpdateProject\022\027.flyteid" + - "l.admin.Project\032%.flyteidl.admin.Project" + - "UpdateResponse\" \202\323\344\223\002\032\032\025/api/v1/projects" + - "/{id}:\001*\022f\n\014ListProjects\022\".flyteidl.admi" + - "n.ProjectListRequest\032\030.flyteidl.admin.Pr" + - "ojects\"\030\202\323\344\223\002\022\022\020/api/v1/projects\022\231\001\n\023Cre" + - "ateWorkflowEvent\022-.flyteidl.admin.Workfl" + - "owExecutionEventRequest\032..flyteidl.admin" + - ".WorkflowExecutionEventResponse\"#\202\323\344\223\002\035\"" + - "\030/api/v1/events/workflows:\001*\022\211\001\n\017CreateN" + - "odeEvent\022).flyteidl.admin.NodeExecutionE" + - "ventRequest\032*.flyteidl.admin.NodeExecuti" + - "onEventResponse\"\037\202\323\344\223\002\031\"\024/api/v1/events/" + - "nodes:\001*\022\211\001\n\017CreateTaskEvent\022).flyteidl." + - "admin.TaskExecutionEventRequest\032*.flytei" + - "dl.admin.TaskExecutionEventResponse\"\037\202\323\344" + - "\223\002\031\"\024/api/v1/events/tasks:\001*\022\200\003\n\020GetTask" + - "Execution\022\'.flyteidl.admin.TaskExecution" + - "GetRequest\032\035.flyteidl.admin.TaskExecutio" + - "n\"\243\002\202\323\344\223\002\234\002\022\231\002/api/v1/task_executions/{i" + - "d.node_execution_id.execution_id.project" + - "}/{id.node_execution_id.execution_id.dom" + - "ain}/{id.node_execution_id.execution_id." + - "name}/{id.node_execution_id.node_id}/{id" + - ".task_id.project}/{id.task_id.domain}/{i" + - "d.task_id.name}/{id.task_id.version}/{id" + - ".retry_attempt}\022\230\002\n\022ListTaskExecutions\022(" + - ".flyteidl.admin.TaskExecutionListRequest" + - "\032!.flyteidl.admin.TaskExecutionList\"\264\001\202\323" + - "\344\223\002\255\001\022\252\001/api/v1/task_executions/{node_ex" + - "ecution_id.execution_id.project}/{node_e" + - "xecution_id.execution_id.domain}/{node_e" + - "xecution_id.execution_id.name}/{node_exe" + - "cution_id.node_id}\022\234\003\n\024GetTaskExecutionD" + - "ata\022+.flyteidl.admin.TaskExecutionGetDat" + - "aRequest\032,.flyteidl.admin.TaskExecutionG" + - "etDataResponse\"\250\002\202\323\344\223\002\241\002\022\236\002/api/v1/data/" + - "task_executions/{id.node_execution_id.ex" + - "ecution_id.project}/{id.node_execution_i" + - "d.execution_id.domain}/{id.node_executio" + - "n_id.execution_id.name}/{id.node_executi" + - "on_id.node_id}/{id.task_id.project}/{id." + - "task_id.domain}/{id.task_id.name}/{id.ta" + - "sk_id.version}/{id.retry_attempt}\022\343\001\n\035Up" + - "dateProjectDomainAttributes\0224.flyteidl.a" + - "dmin.ProjectDomainAttributesUpdateReques" + - "t\0325.flyteidl.admin.ProjectDomainAttribut" + - "esUpdateResponse\"U\202\323\344\223\002O\032J/api/v1/projec" + - "t_domain_attributes/{attributes.project}" + - "/{attributes.domain}:\001*\022\301\001\n\032GetProjectDo" + - "mainAttributes\0221.flyteidl.admin.ProjectD" + - "omainAttributesGetRequest\0322.flyteidl.adm" + - "in.ProjectDomainAttributesGetResponse\"<\202" + - "\323\344\223\0026\0224/api/v1/project_domain_attributes" + - "/{project}/{domain}\022\315\001\n\035DeleteProjectDom" + - "ainAttributes\0224.flyteidl.admin.ProjectDo" + - "mainAttributesDeleteRequest\0325.flyteidl.a" + - "dmin.ProjectDomainAttributesDeleteRespon" + - "se\"?\202\323\344\223\0029*4/api/v1/project_domain_attri" + - "butes/{project}/{domain}:\001*\022\266\001\n\027UpdatePr" + - "ojectAttributes\022..flyteidl.admin.Project" + - "AttributesUpdateRequest\032/.flyteidl.admin" + - ".ProjectAttributesUpdateResponse\":\202\323\344\223\0024" + - "\032//api/v1/project_attributes/{attributes" + - ".project}:\001*\022\237\001\n\024GetProjectAttributes\022+." + - "flyteidl.admin.ProjectAttributesGetReque" + - "st\032,.flyteidl.admin.ProjectAttributesGet" + - "Response\",\202\323\344\223\002&\022$/api/v1/project_attrib" + - "utes/{project}\022\253\001\n\027DeleteProjectAttribut" + - "es\022..flyteidl.admin.ProjectAttributesDel" + - "eteRequest\032/.flyteidl.admin.ProjectAttri" + - "butesDeleteResponse\"/\202\323\344\223\002)*$/api/v1/pro" + - "ject_attributes/{project}:\001*\022\344\001\n\030UpdateW" + - "orkflowAttributes\022/.flyteidl.admin.Workf" + - "lowAttributesUpdateRequest\0320.flyteidl.ad" + - "min.WorkflowAttributesUpdateResponse\"e\202\323" + - "\344\223\002_\032Z/api/v1/workflow_attributes/{attri" + - "butes.project}/{attributes.domain}/{attr" + - "ibutes.workflow}:\001*\022\267\001\n\025GetWorkflowAttri" + - "butes\022,.flyteidl.admin.WorkflowAttribute" + - "sGetRequest\032-.flyteidl.admin.WorkflowAtt" + - "ributesGetResponse\"A\202\323\344\223\002;\0229/api/v1/work" + - "flow_attributes/{project}/{domain}/{work" + - "flow}\022\303\001\n\030DeleteWorkflowAttributes\022/.fly" + - "teidl.admin.WorkflowAttributesDeleteRequ" + - "est\0320.flyteidl.admin.WorkflowAttributesD" + - "eleteResponse\"D\202\323\344\223\002>*9/api/v1/workflow_" + - "attributes/{project}/{domain}/{workflow}" + - ":\001*\022\240\001\n\027ListMatchableAttributes\022..flytei" + - "dl.admin.ListMatchableAttributesRequest\032" + - "/.flyteidl.admin.ListMatchableAttributes" + - "Response\"$\202\323\344\223\002\036\022\034/api/v1/matchable_attr" + - "ibutes\022\237\001\n\021ListNamedEntities\022&.flyteidl." + - "admin.NamedEntityListRequest\032\037.flyteidl." + - "admin.NamedEntityList\"A\202\323\344\223\002;\0229/api/v1/n" + - "amed_entities/{resource_type}/{project}/" + - "{domain}\022\247\001\n\016GetNamedEntity\022%.flyteidl.a" + - "dmin.NamedEntityGetRequest\032\033.flyteidl.ad" + - "min.NamedEntity\"Q\202\323\344\223\002K\022I/api/v1/named_e" + - "ntities/{resource_type}/{id.project}/{id" + - ".domain}/{id.name}\022\276\001\n\021UpdateNamedEntity" + - "\022(.flyteidl.admin.NamedEntityUpdateReque" + - "st\032).flyteidl.admin.NamedEntityUpdateRes" + - "ponse\"T\202\323\344\223\002N\032I/api/v1/named_entities/{r" + - "esource_type}/{id.project}/{id.domain}/{" + - "id.name}:\001*\022l\n\nGetVersion\022!.flyteidl.adm" + - "in.GetVersionRequest\032\".flyteidl.admin.Ge" + - "tVersionResponse\"\027\202\323\344\223\002\021\022\017/api/v1/versio" + - "n\022\304\001\n\024GetDescriptionEntity\022 .flyteidl.ad" + - "min.ObjectGetRequest\032!.flyteidl.admin.De" + - "scriptionEntity\"g\202\323\344\223\002a\022_/api/v1/descrip" + - "tion_entities/{id.resource_type}/{id.pro" + - "ject}/{id.domain}/{id.name}/{id.version}" + - "\022\222\002\n\027ListDescriptionEntities\022,.flyteidl." + - "admin.DescriptionEntityListRequest\032%.fly" + - "teidl.admin.DescriptionEntityList\"\241\001\202\323\344\223" + - "\002\232\001\022O/api/v1/description_entities/{resou" + - "rce_type}/{id.project}/{id.domain}/{id.n" + - "ame}ZG\022E/api/v1/description_entities/{re" + - "source_type}/{id.project}/{id.domain}\022\305\001" + - "\n\023GetExecutionMetrics\0222.flyteidl.admin.W" + - "orkflowExecutionGetMetricsRequest\0323.flyt" + - "eidl.admin.WorkflowExecutionGetMetricsRe" + - "sponse\"E\202\323\344\223\002?\022=/api/v1/metrics/executio" + - "ns/{id.project}/{id.domain}/{id.name}B?Z" + - "=github.com/flyteorg/flyte/flyteidl/gen/" + - "pb-go/flyteidl/serviceb\006proto3" + "ntifierList\"j\202\323\344\223\002d\022*/api/v1/launch_plan" + + "_ids/{project}/{domain}Z6\0224/api/v1/launc" + + "h_plan_ids/org/{org}/{project}/{domain}\022" + + "\320\002\n\017ListLaunchPlans\022#.flyteidl.admin.Res" + + "ourceListRequest\032\036.flyteidl.admin.Launch" + + "PlanList\"\367\001\202\323\344\223\002\360\001\0227/api/v1/launch_plans" + + "/{id.project}/{id.domain}/{id.name}ZF\022D/" + + "api/v1/launch_plans/org/{id.org}/{id.pro" + + "ject}/{id.domain}/{id.name}Z/\022-/api/v1/l" + + "aunch_plans/{id.project}/{id.domain}Z<\022:" + + "/api/v1/launch_plans/org/{id.org}/{id.pr" + + "oject}/{id.domain}\022\215\002\n\020UpdateLaunchPlan\022" + + "\'.flyteidl.admin.LaunchPlanUpdateRequest" + + "\032(.flyteidl.admin.LaunchPlanUpdateRespon" + + "se\"\245\001\202\323\344\223\002\236\001\032D/api/v1/launch_plans/{id.p" + + "roject}/{id.domain}/{id.name}/{id.versio" + + "n}:\001*ZS\032Q/api/v1/launch_plans/org/{id.or" + + "g}/{id.project}/{id.domain}/{id.name}/{i" + + "d.version}\022\201\001\n\017CreateExecution\022&.flyteid" + + "l.admin.ExecutionCreateRequest\032\'.flyteid" + + "l.admin.ExecutionCreateResponse\"\035\202\323\344\223\002\027\"" + + "\022/api/v1/executions:\001*\022\216\001\n\021RelaunchExecu" + + "tion\022(.flyteidl.admin.ExecutionRelaunchR" + + "equest\032\'.flyteidl.admin.ExecutionCreateR" + + "esponse\"&\202\323\344\223\002 \"\033/api/v1/executions/rela" + + "unch:\001*\022\213\001\n\020RecoverExecution\022\'.flyteidl." + + "admin.ExecutionRecoverRequest\032\'.flyteidl" + + ".admin.ExecutionCreateResponse\"%\202\323\344\223\002\037\"\032" + + "/api/v1/executions/recover:\001*\022\334\001\n\014GetExe" + + "cution\022+.flyteidl.admin.WorkflowExecutio" + + "nGetRequest\032\031.flyteidl.admin.Execution\"\203" + + "\001\202\323\344\223\002}\0225/api/v1/executions/{id.project}" + + "/{id.domain}/{id.name}ZD\022B/api/v1/execut" + + "ions/org/{id.org}/{id.project}/{id.domai" + + "n}/{id.name}\022\357\001\n\017UpdateExecution\022&.flyte" + + "idl.admin.ExecutionUpdateRequest\032\'.flyte" + + "idl.admin.ExecutionUpdateResponse\"\212\001\202\323\344\223" + + "\002\203\001\0325/api/v1/executions/{id.project}/{id" + + ".domain}/{id.name}:\001*ZG\032B/api/v1/executi" + + "ons/org/{id.org}/{id.project}/{id.domain" + + "}/{id.name}:\001*\022\206\002\n\020GetExecutionData\022/.fl" + + "yteidl.admin.WorkflowExecutionGetDataReq" + + "uest\0320.flyteidl.admin.WorkflowExecutionG" + + "etDataResponse\"\216\001\202\323\344\223\002\207\001\022:/api/v1/data/e" + + "xecutions/{id.project}/{id.domain}/{id.n" + + "ame}ZI\022G/api/v1/data/executions/org/{id." + + "org}/{id.project}/{id.domain}/{id.name}\022" + + "\305\001\n\016ListExecutions\022#.flyteidl.admin.Reso" + + "urceListRequest\032\035.flyteidl.admin.Executi" + + "onList\"o\202\323\344\223\002i\022+/api/v1/executions/{id.p" + + "roject}/{id.domain}Z:\0228/api/v1/execution" + + "s/org/{id.org}/{id.project}/{id.domain}\022" + + "\375\001\n\022TerminateExecution\022).flyteidl.admin." + + "ExecutionTerminateRequest\032*.flyteidl.adm" + + "in.ExecutionTerminateResponse\"\217\001\202\323\344\223\002\210\001*" + + "5/api/v1/executions/{id.project}/{id.dom" + + "ain}/{id.name}:\001*ZL*G/api/v1/data/execut" + + "ions/org/{id.org}/{id.project}/{id.domai" + + "n}/{id.name}:\001*\022\342\002\n\020GetNodeExecution\022\'.f" + + "lyteidl.admin.NodeExecutionGetRequest\032\035." + + "flyteidl.admin.NodeExecution\"\205\002\202\323\344\223\002\376\001\022n" + + "/api/v1/node_executions/{id.execution_id" + + ".project}/{id.execution_id.domain}/{id.e" + + "xecution_id.name}/{id.node_id}Z\213\001\022\210\001/api" + + "/v1/node_executions/org/{id.execution_id" + + ".org}/{id.execution_id.project}/{id.exec" + + "ution_id.domain}/{id.execution_id.name}/" + + "{id.node_id}\022\371\002\n\022ListNodeExecutions\022(.fl" + + "yteidl.admin.NodeExecutionListRequest\032!." + + "flyteidl.admin.NodeExecutionList\"\225\002\202\323\344\223\002" + + "\216\002\022s/api/v1/node_executions/{workflow_ex" + + "ecution_id.project}/{workflow_execution_" + + "id.domain}/{workflow_execution_id.name}Z" + + "\226\001\022\223\001/api/v1/node_executions/org/{workfl" + + "ow_execution_id.org}/{workflow_execution" + + "_id.project}/{workflow_execution_id.doma" + + "in}/{workflow_execution_id.name}\022\217\010\n\031Lis" + + "tNodeExecutionsForTask\022/.flyteidl.admin." + + "NodeExecutionForTaskListRequest\032!.flytei" + + "dl.admin.NodeExecutionList\"\235\007\202\323\344\223\002\226\007\022\251\003/" + + "api/v1/children/task_executions/{task_ex" + + "ecution_id.node_execution_id.execution_i" + + "d.project}/{task_execution_id.node_execu" + + "tion_id.execution_id.domain}/{task_execu" + + "tion_id.node_execution_id.execution_id.n" + + "ame}/{task_execution_id.node_execution_i" + + "d.node_id}/{task_execution_id.task_id.pr" + + "oject}/{task_execution_id.task_id.domain" + + "}/{task_execution_id.task_id.name}/{task" + + "_execution_id.task_id.version}/{task_exe" + + "cution_id.retry_attempt}Z\347\003\022\344\003/api/v1/ch" + + "ildren/task_executions/org/{task_executi" + + "on_id.node_execution_id.execution_id.org" + + "}/{task_execution_id.node_execution_id.e" + + "xecution_id.project}/{task_execution_id." + + "node_execution_id.execution_id.domain}/{" + + "task_execution_id.node_execution_id.exec" + + "ution_id.name}/{task_execution_id.node_e" + + "xecution_id.node_id}/{task_execution_id." + + "task_id.project}/{task_execution_id.task" + + "_id.domain}/{task_execution_id.task_id.n" + + "ame}/{task_execution_id.task_id.version}" + + "/{task_execution_id.retry_attempt}\022\203\003\n\024G" + + "etNodeExecutionData\022+.flyteidl.admin.Nod" + + "eExecutionGetDataRequest\032,.flyteidl.admi" + + "n.NodeExecutionGetDataResponse\"\217\002\202\323\344\223\002\210\002" + + "\022s/api/v1/data/node_executions/{id.execu" + + "tion_id.project}/{id.execution_id.domain" + + "}/{id.execution_id.name}/{id.node_id}Z\220\001" + + "\022\215\001/api/v1/data/node_executions/org/{id." + + "execution_id.org}/{id.execution_id.proje" + + "ct}/{id.execution_id.domain}/{id.executi" + + "on_id.name}/{id.node_id}\022\177\n\017RegisterProj" + + "ect\022&.flyteidl.admin.ProjectRegisterRequ" + + "est\032\'.flyteidl.admin.ProjectRegisterResp" + + "onse\"\033\202\323\344\223\002\025\"\020/api/v1/projects:\001*\022\227\001\n\rUp" + + "dateProject\022\027.flyteidl.admin.Project\032%.f" + + "lyteidl.admin.ProjectUpdateResponse\"F\202\323\344" + + "\223\002@\032\025/api/v1/projects/{id}:\001*Z$\032\037/api/v1" + + "/projects/org/{org}/{id}:\001*\022f\n\014ListProje" + + "cts\022\".flyteidl.admin.ProjectListRequest\032" + + "\030.flyteidl.admin.Projects\"\030\202\323\344\223\002\022\022\020/api/" + + "v1/projects\022\231\001\n\023CreateWorkflowEvent\022-.fl" + + "yteidl.admin.WorkflowExecutionEventReque" + + "st\032..flyteidl.admin.WorkflowExecutionEve" + + "ntResponse\"#\202\323\344\223\002\035\"\030/api/v1/events/workf" + + "lows:\001*\022\211\001\n\017CreateNodeEvent\022).flyteidl.a" + + "dmin.NodeExecutionEventRequest\032*.flyteid" + + "l.admin.NodeExecutionEventResponse\"\037\202\323\344\223" + + "\002\031\"\024/api/v1/events/nodes:\001*\022\211\001\n\017CreateTa" + + "skEvent\022).flyteidl.admin.TaskExecutionEv" + + "entRequest\032*.flyteidl.admin.TaskExecutio" + + "nEventResponse\"\037\202\323\344\223\002\031\"\024/api/v1/events/t" + + "asks:\001*\022\313\005\n\020GetTaskExecution\022\'.flyteidl." + + "admin.TaskExecutionGetRequest\032\035.flyteidl" + + ".admin.TaskExecution\"\356\004\202\323\344\223\002\347\004\022\231\002/api/v1" + + "/task_executions/{id.node_execution_id.e" + + "xecution_id.project}/{id.node_execution_" + + "id.execution_id.domain}/{id.node_executi" + + "on_id.execution_id.name}/{id.node_execut" + + "ion_id.node_id}/{id.task_id.project}/{id" + + ".task_id.domain}/{id.task_id.name}/{id.t" + + "ask_id.version}/{id.retry_attempt}Z\310\002\022\305\002" + + "/api/v1/task_executions/org/{id.node_exe" + + "cution_id.execution_id.org}/{id.node_exe" + + "cution_id.execution_id.project}/{id.node" + + "_execution_id.execution_id.domain}/{id.n" + + "ode_execution_id.execution_id.name}/{id." + + "node_execution_id.node_id}/{id.task_id.p" + + "roject}/{id.task_id.domain}/{id.task_id." + + "name}/{id.task_id.version}/{id.retry_att" + + "empt}\022\361\003\n\022ListTaskExecutions\022(.flyteidl." + + "admin.TaskExecutionListRequest\032!.flyteid" + + "l.admin.TaskExecutionList\"\215\003\202\323\344\223\002\206\003\022\252\001/a" + + "pi/v1/task_executions/{node_execution_id" + + ".execution_id.project}/{node_execution_i" + + "d.execution_id.domain}/{node_execution_i" + + "d.execution_id.name}/{node_execution_id." + + "node_id}Z\326\001\022\323\001/api/v1/task_executions/or" + + "g/{node_execution_id.execution_id.org}/{" + + "node_execution_id.execution_id.project}/" + + "{node_execution_id.execution_id.domain}/" + + "{node_execution_id.execution_id.name}/{n" + + "ode_execution_id.node_id}\022\354\005\n\024GetTaskExe" + + "cutionData\022+.flyteidl.admin.TaskExecutio" + + "nGetDataRequest\032,.flyteidl.admin.TaskExe" + + "cutionGetDataResponse\"\370\004\202\323\344\223\002\361\004\022\236\002/api/v" + + "1/data/task_executions/{id.node_executio" + + "n_id.execution_id.project}/{id.node_exec" + + "ution_id.execution_id.domain}/{id.node_e" + + "xecution_id.execution_id.name}/{id.node_" + + "execution_id.node_id}/{id.task_id.projec" + + "t}/{id.task_id.domain}/{id.task_id.name}" + + "/{id.task_id.version}/{id.retry_attempt}" + + "Z\315\002\022\312\002/api/v1/data/task_executions/org/{" + + "id.node_execution_id.execution_id.org}/{" + + "id.node_execution_id.execution_id.projec" + + "t}/{id.node_execution_id.execution_id.do" + + "main}/{id.node_execution_id.execution_id" + + ".name}/{id.node_execution_id.node_id}/{i" + + "d.task_id.project}/{id.task_id.domain}/{" + + "id.task_id.name}/{id.task_id.version}/{i" + + "d.retry_attempt}\022\313\002\n\035UpdateProjectDomain" + + "Attributes\0224.flyteidl.admin.ProjectDomai" + + "nAttributesUpdateRequest\0325.flyteidl.admi" + + "n.ProjectDomainAttributesUpdateResponse\"" + + "\274\001\202\323\344\223\002\265\001\032J/api/v1/project_domain_attrib" + + "utes/{attributes.project}/{attributes.do" + + "main}:\001*Zd\032_/api/v1/project_domain_attri" + + "butes/org/{attributes.org}/{attributes.p" + + "roject}/{attributes.domain}:\001*\022\203\002\n\032GetPr" + + "ojectDomainAttributes\0221.flyteidl.admin.P" + + "rojectDomainAttributesGetRequest\0322.flyte" + + "idl.admin.ProjectDomainAttributesGetResp" + + "onse\"~\202\323\344\223\002x\0224/api/v1/project_domain_att" + + "ributes/{project}/{domain}Z@\022>/api/v1/pr" + + "oject_domain_attributes/org/{org}/{proje" + + "ct}/{domain}\022\223\002\n\035DeleteProjectDomainAttr" + + "ibutes\0224.flyteidl.admin.ProjectDomainAtt" + + "ributesDeleteRequest\0325.flyteidl.admin.Pr" + + "ojectDomainAttributesDeleteResponse\"\204\001\202\323" + + "\344\223\002~*4/api/v1/project_domain_attributes/" + + "{project}/{domain}:\001*ZC*>/api/v1/project" + + "_domain_attributes/org/{org}/{project}/{" + + "domain}:\001*\022\212\002\n\027UpdateProjectAttributes\022." + + ".flyteidl.admin.ProjectAttributesUpdateR" + + "equest\032/.flyteidl.admin.ProjectAttribute" + + "sUpdateResponse\"\215\001\202\323\344\223\002\206\001\032//api/v1/proje" + + "ct_attributes/{attributes.project}:\001*ZP\032" + + "K/api/v1/project_domain_attributes/org/{" + + "attributes.org}/{attributes.project}:\001*\022" + + "\330\001\n\024GetProjectAttributes\022+.flyteidl.admi" + + "n.ProjectAttributesGetRequest\032,.flyteidl" + + ".admin.ProjectAttributesGetResponse\"e\202\323\344" + + "\223\002_\022$/api/v1/project_attributes/{project" + + "}Z7\0225/api/v1/project_domain_attributes/o" + + "rg/{org}/{project}\022\347\001\n\027DeleteProjectAttr" + + "ibutes\022..flyteidl.admin.ProjectAttribute" + + "sDeleteRequest\032/.flyteidl.admin.ProjectA" + + "ttributesDeleteResponse\"k\202\323\344\223\002e*$/api/v1" + + "/project_attributes/{project}:\001*Z:*5/api" + + "/v1/project_domain_attributes/org/{org}/" + + "{project}:\001*\022\334\002\n\030UpdateWorkflowAttribute" + + "s\022/.flyteidl.admin.WorkflowAttributesUpd" + + "ateRequest\0320.flyteidl.admin.WorkflowAttr" + + "ibutesUpdateResponse\"\334\001\202\323\344\223\002\325\001\032Z/api/v1/" + + "workflow_attributes/{attributes.project}" + + "/{attributes.domain}/{attributes.workflo" + + "w}:\001*Zt\032o/api/v1/workflow_attributes/org" + + "/{attributes.org}/{attributes.project}/{" + + "attributes.domain}/{attributes.workflow}" + + ":\001*\022\200\002\n\025GetWorkflowAttributes\022,.flyteidl" + + ".admin.WorkflowAttributesGetRequest\032-.fl" + + "yteidl.admin.WorkflowAttributesGetRespon" + + "se\"\211\001\202\323\344\223\002\202\001\0229/api/v1/workflow_attribute" + + "s/{project}/{domain}/{workflow}ZE\022C/api/" + + "v1/workflow_attributes/org/{org}/{projec" + + "t}/{domain}/{workflow}\022\217\002\n\030DeleteWorkflo" + + "wAttributes\022/.flyteidl.admin.WorkflowAtt" + + "ributesDeleteRequest\0320.flyteidl.admin.Wo" + + "rkflowAttributesDeleteResponse\"\217\001\202\323\344\223\002\210\001" + + "*9/api/v1/workflow_attributes/{project}/" + + "{domain}/{workflow}:\001*ZH*C/api/v1/workfl" + + "ow_attributes/org/{org}/{project}/{domai" + + "n}/{workflow}:\001*\022\240\001\n\027ListMatchableAttrib" + + "utes\022..flyteidl.admin.ListMatchableAttri" + + "butesRequest\032/.flyteidl.admin.ListMatcha" + + "bleAttributesResponse\"$\202\323\344\223\002\036\022\034/api/v1/m" + + "atchable_attributes\022\350\001\n\021ListNamedEntitie" + + "s\022&.flyteidl.admin.NamedEntityListReques" + + "t\032\037.flyteidl.admin.NamedEntityList\"\211\001\202\323\344" + + "\223\002\202\001\0229/api/v1/named_entities/{resource_t" + + "ype}/{project}/{domain}ZE\022C/api/v1/named" + + "_entities/{resource_type}/org/{org}/{pro" + + "ject}/{domain}\022\203\002\n\016GetNamedEntity\022%.flyt" + + "eidl.admin.NamedEntityGetRequest\032\033.flyte" + + "idl.admin.NamedEntity\"\254\001\202\323\344\223\002\245\001\022I/api/v1" + + "/named_entities/{resource_type}/{id.proj" + + "ect}/{id.domain}/{id.name}ZX\022V/api/v1/na" + + "med_entities/{resource_type}/org/{id.org" + + "}/{id.project}/{id.domain}/{id.name}\022\235\002\n" + + "\021UpdateNamedEntity\022(.flyteidl.admin.Name" + + "dEntityUpdateRequest\032).flyteidl.admin.Na" + + "medEntityUpdateResponse\"\262\001\202\323\344\223\002\253\001\032I/api/" + + "v1/named_entities/{resource_type}/{id.pr" + + "oject}/{id.domain}/{id.name}:\001*Z[\032V/api/" + + "v1/named_entities/{resource_type}/org/{i" + + "d.org}/{id.project}/{id.domain}/{id.name" + + "}:\001*\022l\n\nGetVersion\022!.flyteidl.admin.GetV" + + "ersionRequest\032\".flyteidl.admin.GetVersio" + + "nResponse\"\027\202\323\344\223\002\021\022\017/api/v1/version\022\266\002\n\024G" + + "etDescriptionEntity\022 .flyteidl.admin.Obj" + + "ectGetRequest\032!.flyteidl.admin.Descripti" + + "onEntity\"\330\001\202\323\344\223\002\321\001\022_/api/v1/description_" + + "entities/{id.resource_type}/{id.project}" + + "/{id.domain}/{id.name}/{id.version}Zn\022l/" + + "api/v1/description_entities/org/{id.org}" + + "/{id.resource_type}/{id.project}/{id.dom" + + "ain}/{id.name}/{id.version}\022\310\003\n\027ListDesc" + + "riptionEntities\022,.flyteidl.admin.Descrip" + + "tionEntityListRequest\032%.flyteidl.admin.D" + + "escriptionEntityList\"\327\002\202\323\344\223\002\320\002\022O/api/v1/" + + "description_entities/{resource_type}/{id" + + ".project}/{id.domain}/{id.name}Z^\022\\/api/" + + "v1/description_entities/{resource_type}/" + + "org/{id.org}/{id.project}/{id.domain}/{i" + + "d.name}ZG\022E/api/v1/description_entities/" + + "{resource_type}/{id.project}/{id.domain}" + + "ZT\022R/api/v1/description_entities/{resour" + + "ce_type}/org/{id.org}/{id.project}/{id.d" + + "omain}\022\225\002\n\023GetExecutionMetrics\0222.flyteid" + + "l.admin.WorkflowExecutionGetMetricsReque" + + "st\0323.flyteidl.admin.WorkflowExecutionGet" + + "MetricsResponse\"\224\001\202\323\344\223\002\215\001\022=/api/v1/metri" + + "cs/executions/{id.project}/{id.domain}/{" + + "id.name}ZL\022J/api/v1/metrics/executions/o" + + "rg/{id.org}/{id.project}/{id.domain}/{id" + + ".name}B?Z=github.com/flyteorg/flyte/flyt" + + "eidl/gen/pb-go/flyteidl/serviceb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { diff --git a/flyteidl/gen/pb-js/flyteidl.d.ts b/flyteidl/gen/pb-js/flyteidl.d.ts index d45a9923a8..3264d04122 100644 --- a/flyteidl/gen/pb-js/flyteidl.d.ts +++ b/flyteidl/gen/pb-js/flyteidl.d.ts @@ -586,6 +586,9 @@ export namespace flyteidl { /** Identifier version */ version?: (string|null); + + /** Identifier org */ + org?: (string|null); } /** Represents an Identifier. */ @@ -612,6 +615,9 @@ export namespace flyteidl { /** Identifier version. */ public version: string; + /** Identifier org. */ + public org: string; + /** * Creates a new Identifier instance using the specified properties. * @param [properties] Properties to set @@ -656,6 +662,9 @@ export namespace flyteidl { /** WorkflowExecutionIdentifier name */ name?: (string|null); + + /** WorkflowExecutionIdentifier org */ + org?: (string|null); } /** Represents a WorkflowExecutionIdentifier. */ @@ -676,6 +685,9 @@ export namespace flyteidl { /** WorkflowExecutionIdentifier name. */ public name: string; + /** WorkflowExecutionIdentifier org. */ + public org: string; + /** * Creates a new WorkflowExecutionIdentifier instance using the specified properties. * @param [properties] Properties to set @@ -10053,6 +10065,9 @@ export namespace flyteidl { /** NamedEntityIdentifier name */ name?: (string|null); + + /** NamedEntityIdentifier org */ + org?: (string|null); } /** Represents a NamedEntityIdentifier. */ @@ -10073,6 +10088,9 @@ export namespace flyteidl { /** NamedEntityIdentifier name. */ public name: string; + /** NamedEntityIdentifier org. */ + public org: string; + /** * Creates a new NamedEntityIdentifier instance using the specified properties. * @param [properties] Properties to set @@ -10322,6 +10340,9 @@ export namespace flyteidl { /** NamedEntityIdentifierListRequest filters */ filters?: (string|null); + + /** NamedEntityIdentifierListRequest org */ + org?: (string|null); } /** Represents a NamedEntityIdentifierListRequest. */ @@ -10351,6 +10372,9 @@ export namespace flyteidl { /** NamedEntityIdentifierListRequest filters. */ public filters: string; + /** NamedEntityIdentifierListRequest org. */ + public org: string; + /** * Creates a new NamedEntityIdentifierListRequest instance using the specified properties. * @param [properties] Properties to set @@ -10407,6 +10431,9 @@ export namespace flyteidl { /** NamedEntityListRequest filters */ filters?: (string|null); + + /** NamedEntityListRequest org */ + org?: (string|null); } /** Represents a NamedEntityListRequest. */ @@ -10439,6 +10466,9 @@ export namespace flyteidl { /** NamedEntityListRequest filters. */ public filters: string; + /** NamedEntityListRequest org. */ + public org: string; + /** * Creates a new NamedEntityListRequest instance using the specified properties. * @param [properties] Properties to set @@ -12345,6 +12375,9 @@ export namespace flyteidl { /** ExecutionCreateRequest inputs */ inputs?: (flyteidl.core.ILiteralMap|null); + /** ExecutionCreateRequest org */ + org?: (string|null); + /** ExecutionCreateRequest inputData */ inputData?: (flyteidl.core.IInputData|null); } @@ -12373,6 +12406,9 @@ export namespace flyteidl { /** ExecutionCreateRequest inputs. */ public inputs?: (flyteidl.core.ILiteralMap|null); + /** ExecutionCreateRequest org. */ + public org: string; + /** ExecutionCreateRequest inputData. */ public inputData?: (flyteidl.core.IInputData|null); @@ -14662,6 +14698,9 @@ export namespace flyteidl { /** ActiveLaunchPlanListRequest sortBy */ sortBy?: (flyteidl.admin.ISort|null); + + /** ActiveLaunchPlanListRequest org */ + org?: (string|null); } /** Represents an ActiveLaunchPlanListRequest. */ @@ -14688,6 +14727,9 @@ export namespace flyteidl { /** ActiveLaunchPlanListRequest sortBy. */ public sortBy?: (flyteidl.admin.ISort|null); + /** ActiveLaunchPlanListRequest org. */ + public org: string; + /** * Creates a new ActiveLaunchPlanListRequest instance using the specified properties. * @param [properties] Properties to set @@ -15552,6 +15594,9 @@ export namespace flyteidl { /** MatchableAttributesConfiguration launchPlan */ launchPlan?: (string|null); + + /** MatchableAttributesConfiguration org */ + org?: (string|null); } /** Represents a MatchableAttributesConfiguration. */ @@ -15578,6 +15623,9 @@ export namespace flyteidl { /** MatchableAttributesConfiguration launchPlan. */ public launchPlan: string; + /** MatchableAttributesConfiguration org. */ + public org: string; + /** * Creates a new MatchableAttributesConfiguration instance using the specified properties. * @param [properties] Properties to set @@ -16733,6 +16781,9 @@ export namespace flyteidl { /** Project state */ state?: (flyteidl.admin.Project.ProjectState|null); + + /** Project org */ + org?: (string|null); } /** Represents a Project. */ @@ -16762,6 +16813,9 @@ export namespace flyteidl { /** Project state. */ public state: flyteidl.admin.Project.ProjectState; + /** Project org. */ + public org: string; + /** * Creates a new Project instance using the specified properties. * @param [properties] Properties to set @@ -17085,6 +17139,9 @@ export namespace flyteidl { /** ProjectAttributes matchingAttributes */ matchingAttributes?: (flyteidl.admin.IMatchingAttributes|null); + + /** ProjectAttributes org */ + org?: (string|null); } /** Represents a ProjectAttributes. */ @@ -17102,6 +17159,9 @@ export namespace flyteidl { /** ProjectAttributes matchingAttributes. */ public matchingAttributes?: (flyteidl.admin.IMatchingAttributes|null); + /** ProjectAttributes org. */ + public org: string; + /** * Creates a new ProjectAttributes instance using the specified properties. * @param [properties] Properties to set @@ -17241,6 +17301,9 @@ export namespace flyteidl { /** ProjectAttributesGetRequest resourceType */ resourceType?: (flyteidl.admin.MatchableResource|null); + + /** ProjectAttributesGetRequest org */ + org?: (string|null); } /** Represents a ProjectAttributesGetRequest. */ @@ -17258,6 +17321,9 @@ export namespace flyteidl { /** ProjectAttributesGetRequest resourceType. */ public resourceType: flyteidl.admin.MatchableResource; + /** ProjectAttributesGetRequest org. */ + public org: string; + /** * Creates a new ProjectAttributesGetRequest instance using the specified properties. * @param [properties] Properties to set @@ -17351,6 +17417,9 @@ export namespace flyteidl { /** ProjectAttributesDeleteRequest resourceType */ resourceType?: (flyteidl.admin.MatchableResource|null); + + /** ProjectAttributesDeleteRequest org */ + org?: (string|null); } /** Represents a ProjectAttributesDeleteRequest. */ @@ -17368,6 +17437,9 @@ export namespace flyteidl { /** ProjectAttributesDeleteRequest resourceType. */ public resourceType: flyteidl.admin.MatchableResource; + /** ProjectAttributesDeleteRequest org. */ + public org: string; + /** * Creates a new ProjectAttributesDeleteRequest instance using the specified properties. * @param [properties] Properties to set @@ -17458,6 +17530,9 @@ export namespace flyteidl { /** ProjectDomainAttributes matchingAttributes */ matchingAttributes?: (flyteidl.admin.IMatchingAttributes|null); + + /** ProjectDomainAttributes org */ + org?: (string|null); } /** Represents a ProjectDomainAttributes. */ @@ -17478,6 +17553,9 @@ export namespace flyteidl { /** ProjectDomainAttributes matchingAttributes. */ public matchingAttributes?: (flyteidl.admin.IMatchingAttributes|null); + /** ProjectDomainAttributes org. */ + public org: string; + /** * Creates a new ProjectDomainAttributes instance using the specified properties. * @param [properties] Properties to set @@ -17620,6 +17698,9 @@ export namespace flyteidl { /** ProjectDomainAttributesGetRequest resourceType */ resourceType?: (flyteidl.admin.MatchableResource|null); + + /** ProjectDomainAttributesGetRequest org */ + org?: (string|null); } /** Represents a ProjectDomainAttributesGetRequest. */ @@ -17640,6 +17721,9 @@ export namespace flyteidl { /** ProjectDomainAttributesGetRequest resourceType. */ public resourceType: flyteidl.admin.MatchableResource; + /** ProjectDomainAttributesGetRequest org. */ + public org: string; + /** * Creates a new ProjectDomainAttributesGetRequest instance using the specified properties. * @param [properties] Properties to set @@ -17736,6 +17820,9 @@ export namespace flyteidl { /** ProjectDomainAttributesDeleteRequest resourceType */ resourceType?: (flyteidl.admin.MatchableResource|null); + + /** ProjectDomainAttributesDeleteRequest org */ + org?: (string|null); } /** Represents a ProjectDomainAttributesDeleteRequest. */ @@ -17756,6 +17843,9 @@ export namespace flyteidl { /** ProjectDomainAttributesDeleteRequest resourceType. */ public resourceType: flyteidl.admin.MatchableResource; + /** ProjectDomainAttributesDeleteRequest org. */ + public org: string; + /** * Creates a new ProjectDomainAttributesDeleteRequest instance using the specified properties. * @param [properties] Properties to set @@ -19825,6 +19915,9 @@ export namespace flyteidl { /** WorkflowAttributes matchingAttributes */ matchingAttributes?: (flyteidl.admin.IMatchingAttributes|null); + + /** WorkflowAttributes org */ + org?: (string|null); } /** Represents a WorkflowAttributes. */ @@ -19848,6 +19941,9 @@ export namespace flyteidl { /** WorkflowAttributes matchingAttributes. */ public matchingAttributes?: (flyteidl.admin.IMatchingAttributes|null); + /** WorkflowAttributes org. */ + public org: string; + /** * Creates a new WorkflowAttributes instance using the specified properties. * @param [properties] Properties to set @@ -19993,6 +20089,9 @@ export namespace flyteidl { /** WorkflowAttributesGetRequest resourceType */ resourceType?: (flyteidl.admin.MatchableResource|null); + + /** WorkflowAttributesGetRequest org */ + org?: (string|null); } /** Represents a WorkflowAttributesGetRequest. */ @@ -20016,6 +20115,9 @@ export namespace flyteidl { /** WorkflowAttributesGetRequest resourceType. */ public resourceType: flyteidl.admin.MatchableResource; + /** WorkflowAttributesGetRequest org. */ + public org: string; + /** * Creates a new WorkflowAttributesGetRequest instance using the specified properties. * @param [properties] Properties to set @@ -20115,6 +20217,9 @@ export namespace flyteidl { /** WorkflowAttributesDeleteRequest resourceType */ resourceType?: (flyteidl.admin.MatchableResource|null); + + /** WorkflowAttributesDeleteRequest org */ + org?: (string|null); } /** Represents a WorkflowAttributesDeleteRequest. */ @@ -20138,6 +20243,9 @@ export namespace flyteidl { /** WorkflowAttributesDeleteRequest resourceType. */ public resourceType: flyteidl.admin.MatchableResource; + /** WorkflowAttributesDeleteRequest org. */ + public org: string; + /** * Creates a new WorkflowAttributesDeleteRequest instance using the specified properties. * @param [properties] Properties to set diff --git a/flyteidl/gen/pb-js/flyteidl.js b/flyteidl/gen/pb-js/flyteidl.js index dd1ed748fc..537df7cb75 100644 --- a/flyteidl/gen/pb-js/flyteidl.js +++ b/flyteidl/gen/pb-js/flyteidl.js @@ -1399,6 +1399,7 @@ * @property {string|null} [domain] Identifier domain * @property {string|null} [name] Identifier name * @property {string|null} [version] Identifier version + * @property {string|null} [org] Identifier org */ /** @@ -1456,6 +1457,14 @@ */ Identifier.prototype.version = ""; + /** + * Identifier org. + * @member {string} org + * @memberof flyteidl.core.Identifier + * @instance + */ + Identifier.prototype.org = ""; + /** * Creates a new Identifier instance using the specified properties. * @function create @@ -1490,6 +1499,8 @@ writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); if (message.version != null && message.hasOwnProperty("version")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.org); return writer; }; @@ -1526,6 +1537,9 @@ case 5: message.version = reader.string(); break; + case 6: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -1568,6 +1582,9 @@ if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -1583,6 +1600,7 @@ * @property {string|null} [project] WorkflowExecutionIdentifier project * @property {string|null} [domain] WorkflowExecutionIdentifier domain * @property {string|null} [name] WorkflowExecutionIdentifier name + * @property {string|null} [org] WorkflowExecutionIdentifier org */ /** @@ -1624,6 +1642,14 @@ */ WorkflowExecutionIdentifier.prototype.name = ""; + /** + * WorkflowExecutionIdentifier org. + * @member {string} org + * @memberof flyteidl.core.WorkflowExecutionIdentifier + * @instance + */ + WorkflowExecutionIdentifier.prototype.org = ""; + /** * Creates a new WorkflowExecutionIdentifier instance using the specified properties. * @function create @@ -1654,6 +1680,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).string(message.domain); if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.org); return writer; }; @@ -1684,6 +1712,9 @@ case 4: message.name = reader.string(); break; + case 5: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -1712,6 +1743,9 @@ if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -24526,6 +24560,7 @@ * @property {string|null} [project] NamedEntityIdentifier project * @property {string|null} [domain] NamedEntityIdentifier domain * @property {string|null} [name] NamedEntityIdentifier name + * @property {string|null} [org] NamedEntityIdentifier org */ /** @@ -24567,6 +24602,14 @@ */ NamedEntityIdentifier.prototype.name = ""; + /** + * NamedEntityIdentifier org. + * @member {string} org + * @memberof flyteidl.admin.NamedEntityIdentifier + * @instance + */ + NamedEntityIdentifier.prototype.org = ""; + /** * Creates a new NamedEntityIdentifier instance using the specified properties. * @function create @@ -24597,6 +24640,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).string(message.domain); if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.org); return writer; }; @@ -24627,6 +24672,9 @@ case 3: message.name = reader.string(); break; + case 4: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -24655,6 +24703,9 @@ if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -25124,6 +25175,7 @@ * @property {string|null} [token] NamedEntityIdentifierListRequest token * @property {flyteidl.admin.ISort|null} [sortBy] NamedEntityIdentifierListRequest sortBy * @property {string|null} [filters] NamedEntityIdentifierListRequest filters + * @property {string|null} [org] NamedEntityIdentifierListRequest org */ /** @@ -25189,6 +25241,14 @@ */ NamedEntityIdentifierListRequest.prototype.filters = ""; + /** + * NamedEntityIdentifierListRequest org. + * @member {string} org + * @memberof flyteidl.admin.NamedEntityIdentifierListRequest + * @instance + */ + NamedEntityIdentifierListRequest.prototype.org = ""; + /** * Creates a new NamedEntityIdentifierListRequest instance using the specified properties. * @function create @@ -25225,6 +25285,8 @@ $root.flyteidl.admin.Sort.encode(message.sortBy, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.filters != null && message.hasOwnProperty("filters")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.filters); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.org); return writer; }; @@ -25264,6 +25326,9 @@ case 6: message.filters = reader.string(); break; + case 7: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -25303,6 +25368,9 @@ if (message.filters != null && message.hasOwnProperty("filters")) if (!$util.isString(message.filters)) return "filters: string expected"; + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -25322,6 +25390,7 @@ * @property {string|null} [token] NamedEntityListRequest token * @property {flyteidl.admin.ISort|null} [sortBy] NamedEntityListRequest sortBy * @property {string|null} [filters] NamedEntityListRequest filters + * @property {string|null} [org] NamedEntityListRequest org */ /** @@ -25395,6 +25464,14 @@ */ NamedEntityListRequest.prototype.filters = ""; + /** + * NamedEntityListRequest org. + * @member {string} org + * @memberof flyteidl.admin.NamedEntityListRequest + * @instance + */ + NamedEntityListRequest.prototype.org = ""; + /** * Creates a new NamedEntityListRequest instance using the specified properties. * @function create @@ -25433,6 +25510,8 @@ $root.flyteidl.admin.Sort.encode(message.sortBy, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.filters != null && message.hasOwnProperty("filters")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.filters); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.org); return writer; }; @@ -25475,6 +25554,9 @@ case 7: message.filters = reader.string(); break; + case 8: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -25525,6 +25607,9 @@ if (message.filters != null && message.hasOwnProperty("filters")) if (!$util.isString(message.filters)) return "filters: string expected"; + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -29839,6 +29924,7 @@ * @property {string|null} [name] ExecutionCreateRequest name * @property {flyteidl.admin.IExecutionSpec|null} [spec] ExecutionCreateRequest spec * @property {flyteidl.core.ILiteralMap|null} [inputs] ExecutionCreateRequest inputs + * @property {string|null} [org] ExecutionCreateRequest org * @property {flyteidl.core.IInputData|null} [inputData] ExecutionCreateRequest inputData */ @@ -29897,6 +29983,14 @@ */ ExecutionCreateRequest.prototype.inputs = null; + /** + * ExecutionCreateRequest org. + * @member {string} org + * @memberof flyteidl.admin.ExecutionCreateRequest + * @instance + */ + ExecutionCreateRequest.prototype.org = ""; + /** * ExecutionCreateRequest inputData. * @member {flyteidl.core.IInputData|null|undefined} inputData @@ -29939,8 +30033,10 @@ $root.flyteidl.admin.ExecutionSpec.encode(message.spec, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.inputs != null && message.hasOwnProperty("inputs")) $root.flyteidl.core.LiteralMap.encode(message.inputs, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.org); if (message.inputData != null && message.hasOwnProperty("inputData")) - $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); return writer; }; @@ -29978,6 +30074,9 @@ message.inputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; case 6: + message.org = reader.string(); + break; + case 7: message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); break; default: @@ -30018,6 +30117,9 @@ if (error) return "inputs." + error; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; if (message.inputData != null && message.hasOwnProperty("inputData")) { var error = $root.flyteidl.core.InputData.verify(message.inputData); if (error) @@ -35447,6 +35549,7 @@ * @property {number|null} [limit] ActiveLaunchPlanListRequest limit * @property {string|null} [token] ActiveLaunchPlanListRequest token * @property {flyteidl.admin.ISort|null} [sortBy] ActiveLaunchPlanListRequest sortBy + * @property {string|null} [org] ActiveLaunchPlanListRequest org */ /** @@ -35504,6 +35607,14 @@ */ ActiveLaunchPlanListRequest.prototype.sortBy = null; + /** + * ActiveLaunchPlanListRequest org. + * @member {string} org + * @memberof flyteidl.admin.ActiveLaunchPlanListRequest + * @instance + */ + ActiveLaunchPlanListRequest.prototype.org = ""; + /** * Creates a new ActiveLaunchPlanListRequest instance using the specified properties. * @function create @@ -35538,6 +35649,8 @@ writer.uint32(/* id 4, wireType 2 =*/34).string(message.token); if (message.sortBy != null && message.hasOwnProperty("sortBy")) $root.flyteidl.admin.Sort.encode(message.sortBy, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.org); return writer; }; @@ -35574,6 +35687,9 @@ case 5: message.sortBy = $root.flyteidl.admin.Sort.decode(reader, reader.uint32()); break; + case 6: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -35610,6 +35726,9 @@ if (error) return "sortBy." + error; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -37610,6 +37729,7 @@ * @property {string|null} [project] MatchableAttributesConfiguration project * @property {string|null} [workflow] MatchableAttributesConfiguration workflow * @property {string|null} [launchPlan] MatchableAttributesConfiguration launchPlan + * @property {string|null} [org] MatchableAttributesConfiguration org */ /** @@ -37667,6 +37787,14 @@ */ MatchableAttributesConfiguration.prototype.launchPlan = ""; + /** + * MatchableAttributesConfiguration org. + * @member {string} org + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @instance + */ + MatchableAttributesConfiguration.prototype.org = ""; + /** * Creates a new MatchableAttributesConfiguration instance using the specified properties. * @function create @@ -37701,6 +37829,8 @@ writer.uint32(/* id 4, wireType 2 =*/34).string(message.workflow); if (message.launchPlan != null && message.hasOwnProperty("launchPlan")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.launchPlan); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.org); return writer; }; @@ -37737,6 +37867,9 @@ case 5: message.launchPlan = reader.string(); break; + case 6: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -37773,6 +37906,9 @@ if (message.launchPlan != null && message.hasOwnProperty("launchPlan")) if (!$util.isString(message.launchPlan)) return "launchPlan: string expected"; + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -40474,6 +40610,7 @@ * @property {string|null} [description] Project description * @property {flyteidl.admin.ILabels|null} [labels] Project labels * @property {flyteidl.admin.Project.ProjectState|null} [state] Project state + * @property {string|null} [org] Project org */ /** @@ -40540,6 +40677,14 @@ */ Project.prototype.state = 0; + /** + * Project org. + * @member {string} org + * @memberof flyteidl.admin.Project + * @instance + */ + Project.prototype.org = ""; + /** * Creates a new Project instance using the specified properties. * @function create @@ -40577,6 +40722,8 @@ $root.flyteidl.admin.Labels.encode(message.labels, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.state); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.org); return writer; }; @@ -40618,6 +40765,9 @@ case 6: message.state = reader.int32(); break; + case 7: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -40669,6 +40819,9 @@ case 2: break; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -41297,6 +41450,7 @@ * @interface IProjectAttributes * @property {string|null} [project] ProjectAttributes project * @property {flyteidl.admin.IMatchingAttributes|null} [matchingAttributes] ProjectAttributes matchingAttributes + * @property {string|null} [org] ProjectAttributes org */ /** @@ -41330,6 +41484,14 @@ */ ProjectAttributes.prototype.matchingAttributes = null; + /** + * ProjectAttributes org. + * @member {string} org + * @memberof flyteidl.admin.ProjectAttributes + * @instance + */ + ProjectAttributes.prototype.org = ""; + /** * Creates a new ProjectAttributes instance using the specified properties. * @function create @@ -41358,6 +41520,8 @@ writer.uint32(/* id 1, wireType 2 =*/10).string(message.project); if (message.matchingAttributes != null && message.hasOwnProperty("matchingAttributes")) $root.flyteidl.admin.MatchingAttributes.encode(message.matchingAttributes, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.org); return writer; }; @@ -41385,6 +41549,9 @@ case 2: message.matchingAttributes = $root.flyteidl.admin.MatchingAttributes.decode(reader, reader.uint32()); break; + case 3: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -41412,6 +41579,9 @@ if (error) return "matchingAttributes." + error; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -41631,6 +41801,7 @@ * @interface IProjectAttributesGetRequest * @property {string|null} [project] ProjectAttributesGetRequest project * @property {flyteidl.admin.MatchableResource|null} [resourceType] ProjectAttributesGetRequest resourceType + * @property {string|null} [org] ProjectAttributesGetRequest org */ /** @@ -41664,6 +41835,14 @@ */ ProjectAttributesGetRequest.prototype.resourceType = 0; + /** + * ProjectAttributesGetRequest org. + * @member {string} org + * @memberof flyteidl.admin.ProjectAttributesGetRequest + * @instance + */ + ProjectAttributesGetRequest.prototype.org = ""; + /** * Creates a new ProjectAttributesGetRequest instance using the specified properties. * @function create @@ -41692,6 +41871,8 @@ writer.uint32(/* id 1, wireType 2 =*/10).string(message.project); if (message.resourceType != null && message.hasOwnProperty("resourceType")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.resourceType); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.org); return writer; }; @@ -41719,6 +41900,9 @@ case 2: message.resourceType = reader.int32(); break; + case 3: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -41755,6 +41939,9 @@ case 7: break; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -41881,6 +42068,7 @@ * @interface IProjectAttributesDeleteRequest * @property {string|null} [project] ProjectAttributesDeleteRequest project * @property {flyteidl.admin.MatchableResource|null} [resourceType] ProjectAttributesDeleteRequest resourceType + * @property {string|null} [org] ProjectAttributesDeleteRequest org */ /** @@ -41914,6 +42102,14 @@ */ ProjectAttributesDeleteRequest.prototype.resourceType = 0; + /** + * ProjectAttributesDeleteRequest org. + * @member {string} org + * @memberof flyteidl.admin.ProjectAttributesDeleteRequest + * @instance + */ + ProjectAttributesDeleteRequest.prototype.org = ""; + /** * Creates a new ProjectAttributesDeleteRequest instance using the specified properties. * @function create @@ -41942,6 +42138,8 @@ writer.uint32(/* id 1, wireType 2 =*/10).string(message.project); if (message.resourceType != null && message.hasOwnProperty("resourceType")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.resourceType); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.org); return writer; }; @@ -41969,6 +42167,9 @@ case 2: message.resourceType = reader.int32(); break; + case 3: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -42005,6 +42206,9 @@ case 7: break; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -42113,6 +42317,7 @@ * @property {string|null} [project] ProjectDomainAttributes project * @property {string|null} [domain] ProjectDomainAttributes domain * @property {flyteidl.admin.IMatchingAttributes|null} [matchingAttributes] ProjectDomainAttributes matchingAttributes + * @property {string|null} [org] ProjectDomainAttributes org */ /** @@ -42154,6 +42359,14 @@ */ ProjectDomainAttributes.prototype.matchingAttributes = null; + /** + * ProjectDomainAttributes org. + * @member {string} org + * @memberof flyteidl.admin.ProjectDomainAttributes + * @instance + */ + ProjectDomainAttributes.prototype.org = ""; + /** * Creates a new ProjectDomainAttributes instance using the specified properties. * @function create @@ -42184,6 +42397,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).string(message.domain); if (message.matchingAttributes != null && message.hasOwnProperty("matchingAttributes")) $root.flyteidl.admin.MatchingAttributes.encode(message.matchingAttributes, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.org); return writer; }; @@ -42214,6 +42429,9 @@ case 3: message.matchingAttributes = $root.flyteidl.admin.MatchingAttributes.decode(reader, reader.uint32()); break; + case 4: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -42244,6 +42462,9 @@ if (error) return "matchingAttributes." + error; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -42464,6 +42685,7 @@ * @property {string|null} [project] ProjectDomainAttributesGetRequest project * @property {string|null} [domain] ProjectDomainAttributesGetRequest domain * @property {flyteidl.admin.MatchableResource|null} [resourceType] ProjectDomainAttributesGetRequest resourceType + * @property {string|null} [org] ProjectDomainAttributesGetRequest org */ /** @@ -42505,6 +42727,14 @@ */ ProjectDomainAttributesGetRequest.prototype.resourceType = 0; + /** + * ProjectDomainAttributesGetRequest org. + * @member {string} org + * @memberof flyteidl.admin.ProjectDomainAttributesGetRequest + * @instance + */ + ProjectDomainAttributesGetRequest.prototype.org = ""; + /** * Creates a new ProjectDomainAttributesGetRequest instance using the specified properties. * @function create @@ -42535,6 +42765,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).string(message.domain); if (message.resourceType != null && message.hasOwnProperty("resourceType")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.resourceType); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.org); return writer; }; @@ -42565,6 +42797,9 @@ case 3: message.resourceType = reader.int32(); break; + case 4: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -42604,6 +42839,9 @@ case 7: break; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -42731,6 +42969,7 @@ * @property {string|null} [project] ProjectDomainAttributesDeleteRequest project * @property {string|null} [domain] ProjectDomainAttributesDeleteRequest domain * @property {flyteidl.admin.MatchableResource|null} [resourceType] ProjectDomainAttributesDeleteRequest resourceType + * @property {string|null} [org] ProjectDomainAttributesDeleteRequest org */ /** @@ -42772,6 +43011,14 @@ */ ProjectDomainAttributesDeleteRequest.prototype.resourceType = 0; + /** + * ProjectDomainAttributesDeleteRequest org. + * @member {string} org + * @memberof flyteidl.admin.ProjectDomainAttributesDeleteRequest + * @instance + */ + ProjectDomainAttributesDeleteRequest.prototype.org = ""; + /** * Creates a new ProjectDomainAttributesDeleteRequest instance using the specified properties. * @function create @@ -42802,6 +43049,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).string(message.domain); if (message.resourceType != null && message.hasOwnProperty("resourceType")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.resourceType); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.org); return writer; }; @@ -42832,6 +43081,9 @@ case 3: message.resourceType = reader.int32(); break; + case 4: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -42871,6 +43123,9 @@ case 7: break; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -47609,6 +47864,7 @@ * @property {string|null} [domain] WorkflowAttributes domain * @property {string|null} [workflow] WorkflowAttributes workflow * @property {flyteidl.admin.IMatchingAttributes|null} [matchingAttributes] WorkflowAttributes matchingAttributes + * @property {string|null} [org] WorkflowAttributes org */ /** @@ -47658,6 +47914,14 @@ */ WorkflowAttributes.prototype.matchingAttributes = null; + /** + * WorkflowAttributes org. + * @member {string} org + * @memberof flyteidl.admin.WorkflowAttributes + * @instance + */ + WorkflowAttributes.prototype.org = ""; + /** * Creates a new WorkflowAttributes instance using the specified properties. * @function create @@ -47690,6 +47954,8 @@ writer.uint32(/* id 3, wireType 2 =*/26).string(message.workflow); if (message.matchingAttributes != null && message.hasOwnProperty("matchingAttributes")) $root.flyteidl.admin.MatchingAttributes.encode(message.matchingAttributes, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.org); return writer; }; @@ -47723,6 +47989,9 @@ case 4: message.matchingAttributes = $root.flyteidl.admin.MatchingAttributes.decode(reader, reader.uint32()); break; + case 5: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -47756,6 +48025,9 @@ if (error) return "matchingAttributes." + error; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -47977,6 +48249,7 @@ * @property {string|null} [domain] WorkflowAttributesGetRequest domain * @property {string|null} [workflow] WorkflowAttributesGetRequest workflow * @property {flyteidl.admin.MatchableResource|null} [resourceType] WorkflowAttributesGetRequest resourceType + * @property {string|null} [org] WorkflowAttributesGetRequest org */ /** @@ -48026,6 +48299,14 @@ */ WorkflowAttributesGetRequest.prototype.resourceType = 0; + /** + * WorkflowAttributesGetRequest org. + * @member {string} org + * @memberof flyteidl.admin.WorkflowAttributesGetRequest + * @instance + */ + WorkflowAttributesGetRequest.prototype.org = ""; + /** * Creates a new WorkflowAttributesGetRequest instance using the specified properties. * @function create @@ -48058,6 +48339,8 @@ writer.uint32(/* id 3, wireType 2 =*/26).string(message.workflow); if (message.resourceType != null && message.hasOwnProperty("resourceType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.resourceType); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.org); return writer; }; @@ -48091,6 +48374,9 @@ case 4: message.resourceType = reader.int32(); break; + case 5: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -48133,6 +48419,9 @@ case 7: break; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; @@ -48261,6 +48550,7 @@ * @property {string|null} [domain] WorkflowAttributesDeleteRequest domain * @property {string|null} [workflow] WorkflowAttributesDeleteRequest workflow * @property {flyteidl.admin.MatchableResource|null} [resourceType] WorkflowAttributesDeleteRequest resourceType + * @property {string|null} [org] WorkflowAttributesDeleteRequest org */ /** @@ -48310,6 +48600,14 @@ */ WorkflowAttributesDeleteRequest.prototype.resourceType = 0; + /** + * WorkflowAttributesDeleteRequest org. + * @member {string} org + * @memberof flyteidl.admin.WorkflowAttributesDeleteRequest + * @instance + */ + WorkflowAttributesDeleteRequest.prototype.org = ""; + /** * Creates a new WorkflowAttributesDeleteRequest instance using the specified properties. * @function create @@ -48342,6 +48640,8 @@ writer.uint32(/* id 3, wireType 2 =*/26).string(message.workflow); if (message.resourceType != null && message.hasOwnProperty("resourceType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.resourceType); + if (message.org != null && message.hasOwnProperty("org")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.org); return writer; }; @@ -48375,6 +48675,9 @@ case 4: message.resourceType = reader.int32(); break; + case 5: + message.org = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -48417,6 +48720,9 @@ case 7: break; } + if (message.org != null && message.hasOwnProperty("org")) + if (!$util.isString(message.org)) + return "org: string expected"; return null; }; diff --git a/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.py index 7c99413e09..c12fa17b0f 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66lyteidl/admin/common.proto\x12\x0e\x66lyteidl.admin\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"]\n\x15NamedEntityIdentifier\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\"o\n\x13NamedEntityMetadata\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12\x36\n\x05state\x18\x02 \x01(\x0e\x32 .flyteidl.admin.NamedEntityStateR\x05state\"\xc7\x01\n\x0bNamedEntity\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x35\n\x02id\x18\x02 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\x12?\n\x08metadata\x18\x03 \x01(\x0b\x32#.flyteidl.admin.NamedEntityMetadataR\x08metadata\"\x82\x01\n\x04Sort\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\tdirection\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.Sort.DirectionR\tdirection\"*\n\tDirection\x12\x0e\n\nDESCENDING\x10\x00\x12\r\n\tASCENDING\x10\x01\"\xc9\x01\n NamedEntityIdentifierListRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x03 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12\x18\n\x07\x66ilters\x18\x06 \x01(\tR\x07\x66ilters\"\x81\x02\n\x16NamedEntityListRequest\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x04 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x06 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12\x18\n\x07\x66ilters\x18\x07 \x01(\tR\x07\x66ilters\"t\n\x19NamedEntityIdentifierList\x12\x41\n\x08\x65ntities\x18\x01 \x03(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x08\x65ntities\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"`\n\x0fNamedEntityList\x12\x37\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x1b.flyteidl.admin.NamedEntityR\x08\x65ntities\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x90\x01\n\x15NamedEntityGetRequest\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x35\n\x02id\x18\x02 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\"\xd4\x01\n\x18NamedEntityUpdateRequest\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x35\n\x02id\x18\x02 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\x12?\n\x08metadata\x18\x03 \x01(\x0b\x32#.flyteidl.admin.NamedEntityMetadataR\x08metadata\"\x1b\n\x19NamedEntityUpdateResponse\"=\n\x10ObjectGetRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\"\xc1\x01\n\x13ResourceListRequest\x12\x35\n\x02id\x18\x01 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\">\n\x11\x45mailNotification\x12)\n\x10recipients_email\x18\x01 \x03(\tR\x0frecipientsEmail\"B\n\x15PagerDutyNotification\x12)\n\x10recipients_email\x18\x01 \x03(\tR\x0frecipientsEmail\">\n\x11SlackNotification\x12)\n\x10recipients_email\x18\x01 \x03(\tR\x0frecipientsEmail\"\x94\x02\n\x0cNotification\x12>\n\x06phases\x18\x01 \x03(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x06phases\x12\x39\n\x05\x65mail\x18\x02 \x01(\x0b\x32!.flyteidl.admin.EmailNotificationH\x00R\x05\x65mail\x12\x46\n\npager_duty\x18\x03 \x01(\x0b\x32%.flyteidl.admin.PagerDutyNotificationH\x00R\tpagerDuty\x12\x39\n\x05slack\x18\x04 \x01(\x0b\x32!.flyteidl.admin.SlackNotificationH\x00R\x05slackB\x06\n\x04type\"5\n\x07UrlBlob\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05\x62ytes\x18\x02 \x01(\x03R\x05\x62ytes:\x02\x18\x01\"\x7f\n\x06Labels\x12:\n\x06values\x18\x01 \x03(\x0b\x32\".flyteidl.admin.Labels.ValuesEntryR\x06values\x1a\x39\n\x0bValuesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x89\x01\n\x0b\x41nnotations\x12?\n\x06values\x18\x01 \x03(\x0b\x32\'.flyteidl.admin.Annotations.ValuesEntryR\x06values\x1a\x39\n\x0bValuesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\";\n\x04\x45nvs\x12\x33\n\x06values\x18\x01 \x03(\x0b\x32\x1b.flyteidl.core.KeyValuePairR\x06values\"z\n\x08\x41uthRole\x12,\n\x12\x61ssumable_iam_role\x18\x01 \x01(\tR\x10\x61ssumableIamRole\x12<\n\x1akubernetes_service_account\x18\x02 \x01(\tR\x18kubernetesServiceAccount:\x02\x18\x01\"K\n\x13RawOutputDataConfig\x12\x34\n\x16output_location_prefix\x18\x01 \x01(\tR\x14outputLocationPrefix\"Q\n\tFlyteURLs\x12\x16\n\x06inputs\x18\x01 \x01(\tR\x06inputs\x12\x18\n\x07outputs\x18\x02 \x01(\tR\x07outputs\x12\x12\n\x04\x64\x65\x63k\x18\x03 \x01(\tR\x04\x64\x65\x63k*\\\n\x10NamedEntityState\x12\x17\n\x13NAMED_ENTITY_ACTIVE\x10\x00\x12\x19\n\x15NAMED_ENTITY_ARCHIVED\x10\x01\x12\x14\n\x10SYSTEM_GENERATED\x10\x02\x42\xb7\x01\n\x12\x63om.flyteidl.adminB\x0b\x43ommonProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66lyteidl/admin/common.proto\x12\x0e\x66lyteidl.admin\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"o\n\x15NamedEntityIdentifier\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x10\n\x03org\x18\x04 \x01(\tR\x03org\"o\n\x13NamedEntityMetadata\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12\x36\n\x05state\x18\x02 \x01(\x0e\x32 .flyteidl.admin.NamedEntityStateR\x05state\"\xc7\x01\n\x0bNamedEntity\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x35\n\x02id\x18\x02 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\x12?\n\x08metadata\x18\x03 \x01(\x0b\x32#.flyteidl.admin.NamedEntityMetadataR\x08metadata\"\x82\x01\n\x04Sort\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\tdirection\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.Sort.DirectionR\tdirection\"*\n\tDirection\x12\x0e\n\nDESCENDING\x10\x00\x12\r\n\tASCENDING\x10\x01\"\xdb\x01\n NamedEntityIdentifierListRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x03 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12\x18\n\x07\x66ilters\x18\x06 \x01(\tR\x07\x66ilters\x12\x10\n\x03org\x18\x07 \x01(\tR\x03org\"\x93\x02\n\x16NamedEntityListRequest\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x04 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x06 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12\x18\n\x07\x66ilters\x18\x07 \x01(\tR\x07\x66ilters\x12\x10\n\x03org\x18\x08 \x01(\tR\x03org\"t\n\x19NamedEntityIdentifierList\x12\x41\n\x08\x65ntities\x18\x01 \x03(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x08\x65ntities\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"`\n\x0fNamedEntityList\x12\x37\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x1b.flyteidl.admin.NamedEntityR\x08\x65ntities\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x90\x01\n\x15NamedEntityGetRequest\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x35\n\x02id\x18\x02 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\"\xd4\x01\n\x18NamedEntityUpdateRequest\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x35\n\x02id\x18\x02 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\x12?\n\x08metadata\x18\x03 \x01(\x0b\x32#.flyteidl.admin.NamedEntityMetadataR\x08metadata\"\x1b\n\x19NamedEntityUpdateResponse\"=\n\x10ObjectGetRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\"\xc1\x01\n\x13ResourceListRequest\x12\x35\n\x02id\x18\x01 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x04 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\">\n\x11\x45mailNotification\x12)\n\x10recipients_email\x18\x01 \x03(\tR\x0frecipientsEmail\"B\n\x15PagerDutyNotification\x12)\n\x10recipients_email\x18\x01 \x03(\tR\x0frecipientsEmail\">\n\x11SlackNotification\x12)\n\x10recipients_email\x18\x01 \x03(\tR\x0frecipientsEmail\"\x94\x02\n\x0cNotification\x12>\n\x06phases\x18\x01 \x03(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x06phases\x12\x39\n\x05\x65mail\x18\x02 \x01(\x0b\x32!.flyteidl.admin.EmailNotificationH\x00R\x05\x65mail\x12\x46\n\npager_duty\x18\x03 \x01(\x0b\x32%.flyteidl.admin.PagerDutyNotificationH\x00R\tpagerDuty\x12\x39\n\x05slack\x18\x04 \x01(\x0b\x32!.flyteidl.admin.SlackNotificationH\x00R\x05slackB\x06\n\x04type\"5\n\x07UrlBlob\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05\x62ytes\x18\x02 \x01(\x03R\x05\x62ytes:\x02\x18\x01\"\x7f\n\x06Labels\x12:\n\x06values\x18\x01 \x03(\x0b\x32\".flyteidl.admin.Labels.ValuesEntryR\x06values\x1a\x39\n\x0bValuesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x89\x01\n\x0b\x41nnotations\x12?\n\x06values\x18\x01 \x03(\x0b\x32\'.flyteidl.admin.Annotations.ValuesEntryR\x06values\x1a\x39\n\x0bValuesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\";\n\x04\x45nvs\x12\x33\n\x06values\x18\x01 \x03(\x0b\x32\x1b.flyteidl.core.KeyValuePairR\x06values\"z\n\x08\x41uthRole\x12,\n\x12\x61ssumable_iam_role\x18\x01 \x01(\tR\x10\x61ssumableIamRole\x12<\n\x1akubernetes_service_account\x18\x02 \x01(\tR\x18kubernetesServiceAccount:\x02\x18\x01\"K\n\x13RawOutputDataConfig\x12\x34\n\x16output_location_prefix\x18\x01 \x01(\tR\x14outputLocationPrefix\"Q\n\tFlyteURLs\x12\x16\n\x06inputs\x18\x01 \x01(\tR\x06inputs\x12\x18\n\x07outputs\x18\x02 \x01(\tR\x07outputs\x12\x12\n\x04\x64\x65\x63k\x18\x03 \x01(\tR\x04\x64\x65\x63k*\\\n\x10NamedEntityState\x12\x17\n\x13NAMED_ENTITY_ACTIVE\x10\x00\x12\x19\n\x15NAMED_ENTITY_ARCHIVED\x10\x01\x12\x14\n\x10SYSTEM_GENERATED\x10\x02\x42\xb7\x01\n\x12\x63om.flyteidl.adminB\x0b\x43ommonProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,60 +34,60 @@ _ANNOTATIONS_VALUESENTRY._serialized_options = b'8\001' _AUTHROLE._options = None _AUTHROLE._serialized_options = b'\030\001' - _globals['_NAMEDENTITYSTATE']._serialized_start=3190 - _globals['_NAMEDENTITYSTATE']._serialized_end=3282 + _globals['_NAMEDENTITYSTATE']._serialized_start=3244 + _globals['_NAMEDENTITYSTATE']._serialized_end=3336 _globals['_NAMEDENTITYIDENTIFIER']._serialized_start=173 - _globals['_NAMEDENTITYIDENTIFIER']._serialized_end=266 - _globals['_NAMEDENTITYMETADATA']._serialized_start=268 - _globals['_NAMEDENTITYMETADATA']._serialized_end=379 - _globals['_NAMEDENTITY']._serialized_start=382 - _globals['_NAMEDENTITY']._serialized_end=581 - _globals['_SORT']._serialized_start=584 - _globals['_SORT']._serialized_end=714 - _globals['_SORT_DIRECTION']._serialized_start=672 - _globals['_SORT_DIRECTION']._serialized_end=714 - _globals['_NAMEDENTITYIDENTIFIERLISTREQUEST']._serialized_start=717 - _globals['_NAMEDENTITYIDENTIFIERLISTREQUEST']._serialized_end=918 - _globals['_NAMEDENTITYLISTREQUEST']._serialized_start=921 - _globals['_NAMEDENTITYLISTREQUEST']._serialized_end=1178 - _globals['_NAMEDENTITYIDENTIFIERLIST']._serialized_start=1180 - _globals['_NAMEDENTITYIDENTIFIERLIST']._serialized_end=1296 - _globals['_NAMEDENTITYLIST']._serialized_start=1298 - _globals['_NAMEDENTITYLIST']._serialized_end=1394 - _globals['_NAMEDENTITYGETREQUEST']._serialized_start=1397 - _globals['_NAMEDENTITYGETREQUEST']._serialized_end=1541 - _globals['_NAMEDENTITYUPDATEREQUEST']._serialized_start=1544 - _globals['_NAMEDENTITYUPDATEREQUEST']._serialized_end=1756 - _globals['_NAMEDENTITYUPDATERESPONSE']._serialized_start=1758 - _globals['_NAMEDENTITYUPDATERESPONSE']._serialized_end=1785 - _globals['_OBJECTGETREQUEST']._serialized_start=1787 - _globals['_OBJECTGETREQUEST']._serialized_end=1848 - _globals['_RESOURCELISTREQUEST']._serialized_start=1851 - _globals['_RESOURCELISTREQUEST']._serialized_end=2044 - _globals['_EMAILNOTIFICATION']._serialized_start=2046 - _globals['_EMAILNOTIFICATION']._serialized_end=2108 - _globals['_PAGERDUTYNOTIFICATION']._serialized_start=2110 - _globals['_PAGERDUTYNOTIFICATION']._serialized_end=2176 - _globals['_SLACKNOTIFICATION']._serialized_start=2178 - _globals['_SLACKNOTIFICATION']._serialized_end=2240 - _globals['_NOTIFICATION']._serialized_start=2243 - _globals['_NOTIFICATION']._serialized_end=2519 - _globals['_URLBLOB']._serialized_start=2521 - _globals['_URLBLOB']._serialized_end=2574 - _globals['_LABELS']._serialized_start=2576 - _globals['_LABELS']._serialized_end=2703 - _globals['_LABELS_VALUESENTRY']._serialized_start=2646 - _globals['_LABELS_VALUESENTRY']._serialized_end=2703 - _globals['_ANNOTATIONS']._serialized_start=2706 - _globals['_ANNOTATIONS']._serialized_end=2843 - _globals['_ANNOTATIONS_VALUESENTRY']._serialized_start=2646 - _globals['_ANNOTATIONS_VALUESENTRY']._serialized_end=2703 - _globals['_ENVS']._serialized_start=2845 - _globals['_ENVS']._serialized_end=2904 - _globals['_AUTHROLE']._serialized_start=2906 - _globals['_AUTHROLE']._serialized_end=3028 - _globals['_RAWOUTPUTDATACONFIG']._serialized_start=3030 - _globals['_RAWOUTPUTDATACONFIG']._serialized_end=3105 - _globals['_FLYTEURLS']._serialized_start=3107 - _globals['_FLYTEURLS']._serialized_end=3188 + _globals['_NAMEDENTITYIDENTIFIER']._serialized_end=284 + _globals['_NAMEDENTITYMETADATA']._serialized_start=286 + _globals['_NAMEDENTITYMETADATA']._serialized_end=397 + _globals['_NAMEDENTITY']._serialized_start=400 + _globals['_NAMEDENTITY']._serialized_end=599 + _globals['_SORT']._serialized_start=602 + _globals['_SORT']._serialized_end=732 + _globals['_SORT_DIRECTION']._serialized_start=690 + _globals['_SORT_DIRECTION']._serialized_end=732 + _globals['_NAMEDENTITYIDENTIFIERLISTREQUEST']._serialized_start=735 + _globals['_NAMEDENTITYIDENTIFIERLISTREQUEST']._serialized_end=954 + _globals['_NAMEDENTITYLISTREQUEST']._serialized_start=957 + _globals['_NAMEDENTITYLISTREQUEST']._serialized_end=1232 + _globals['_NAMEDENTITYIDENTIFIERLIST']._serialized_start=1234 + _globals['_NAMEDENTITYIDENTIFIERLIST']._serialized_end=1350 + _globals['_NAMEDENTITYLIST']._serialized_start=1352 + _globals['_NAMEDENTITYLIST']._serialized_end=1448 + _globals['_NAMEDENTITYGETREQUEST']._serialized_start=1451 + _globals['_NAMEDENTITYGETREQUEST']._serialized_end=1595 + _globals['_NAMEDENTITYUPDATEREQUEST']._serialized_start=1598 + _globals['_NAMEDENTITYUPDATEREQUEST']._serialized_end=1810 + _globals['_NAMEDENTITYUPDATERESPONSE']._serialized_start=1812 + _globals['_NAMEDENTITYUPDATERESPONSE']._serialized_end=1839 + _globals['_OBJECTGETREQUEST']._serialized_start=1841 + _globals['_OBJECTGETREQUEST']._serialized_end=1902 + _globals['_RESOURCELISTREQUEST']._serialized_start=1905 + _globals['_RESOURCELISTREQUEST']._serialized_end=2098 + _globals['_EMAILNOTIFICATION']._serialized_start=2100 + _globals['_EMAILNOTIFICATION']._serialized_end=2162 + _globals['_PAGERDUTYNOTIFICATION']._serialized_start=2164 + _globals['_PAGERDUTYNOTIFICATION']._serialized_end=2230 + _globals['_SLACKNOTIFICATION']._serialized_start=2232 + _globals['_SLACKNOTIFICATION']._serialized_end=2294 + _globals['_NOTIFICATION']._serialized_start=2297 + _globals['_NOTIFICATION']._serialized_end=2573 + _globals['_URLBLOB']._serialized_start=2575 + _globals['_URLBLOB']._serialized_end=2628 + _globals['_LABELS']._serialized_start=2630 + _globals['_LABELS']._serialized_end=2757 + _globals['_LABELS_VALUESENTRY']._serialized_start=2700 + _globals['_LABELS_VALUESENTRY']._serialized_end=2757 + _globals['_ANNOTATIONS']._serialized_start=2760 + _globals['_ANNOTATIONS']._serialized_end=2897 + _globals['_ANNOTATIONS_VALUESENTRY']._serialized_start=2700 + _globals['_ANNOTATIONS_VALUESENTRY']._serialized_end=2757 + _globals['_ENVS']._serialized_start=2899 + _globals['_ENVS']._serialized_end=2958 + _globals['_AUTHROLE']._serialized_start=2960 + _globals['_AUTHROLE']._serialized_end=3082 + _globals['_RAWOUTPUTDATACONFIG']._serialized_start=3084 + _globals['_RAWOUTPUTDATACONFIG']._serialized_end=3159 + _globals['_FLYTEURLS']._serialized_start=3161 + _globals['_FLYTEURLS']._serialized_end=3242 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.pyi index 9c81d7cf45..420818fb95 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/common_pb2.pyi @@ -20,14 +20,16 @@ NAMED_ENTITY_ARCHIVED: NamedEntityState SYSTEM_GENERATED: NamedEntityState class NamedEntityIdentifier(_message.Message): - __slots__ = ["project", "domain", "name"] + __slots__ = ["project", "domain", "name", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str name: str - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class NamedEntityMetadata(_message.Message): __slots__ = ["description", "state"] @@ -62,23 +64,25 @@ class Sort(_message.Message): def __init__(self, key: _Optional[str] = ..., direction: _Optional[_Union[Sort.Direction, str]] = ...) -> None: ... class NamedEntityIdentifierListRequest(_message.Message): - __slots__ = ["project", "domain", "limit", "token", "sort_by", "filters"] + __slots__ = ["project", "domain", "limit", "token", "sort_by", "filters", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] LIMIT_FIELD_NUMBER: _ClassVar[int] TOKEN_FIELD_NUMBER: _ClassVar[int] SORT_BY_FIELD_NUMBER: _ClassVar[int] FILTERS_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str limit: int token: str sort_by: Sort filters: str - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., limit: _Optional[int] = ..., token: _Optional[str] = ..., sort_by: _Optional[_Union[Sort, _Mapping]] = ..., filters: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., limit: _Optional[int] = ..., token: _Optional[str] = ..., sort_by: _Optional[_Union[Sort, _Mapping]] = ..., filters: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class NamedEntityListRequest(_message.Message): - __slots__ = ["resource_type", "project", "domain", "limit", "token", "sort_by", "filters"] + __slots__ = ["resource_type", "project", "domain", "limit", "token", "sort_by", "filters", "org"] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] @@ -86,6 +90,7 @@ class NamedEntityListRequest(_message.Message): TOKEN_FIELD_NUMBER: _ClassVar[int] SORT_BY_FIELD_NUMBER: _ClassVar[int] FILTERS_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] resource_type: _identifier_pb2.ResourceType project: str domain: str @@ -93,7 +98,8 @@ class NamedEntityListRequest(_message.Message): token: str sort_by: Sort filters: str - def __init__(self, resource_type: _Optional[_Union[_identifier_pb2.ResourceType, str]] = ..., project: _Optional[str] = ..., domain: _Optional[str] = ..., limit: _Optional[int] = ..., token: _Optional[str] = ..., sort_by: _Optional[_Union[Sort, _Mapping]] = ..., filters: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, resource_type: _Optional[_Union[_identifier_pb2.ResourceType, str]] = ..., project: _Optional[str] = ..., domain: _Optional[str] = ..., limit: _Optional[int] = ..., token: _Optional[str] = ..., sort_by: _Optional[_Union[Sort, _Mapping]] = ..., filters: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class NamedEntityIdentifierList(_message.Message): __slots__ = ["entities", "token"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py index b3746b1593..0ebd4db764 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py @@ -24,7 +24,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x81\x02\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x35\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12\x37\n\ninput_data\x18\x06 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\xd8\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12>\n\x0c\x66ull_outputs\x18\x0f \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\x0b\x66ullOutputs\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xf8\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\x12<\n\x0c\x61rtifact_ids\x18\x12 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x0b\x61rtifactIds\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x85\x03\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x93\x02\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x35\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\x12\x37\n\ninput_data\x18\x07 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\xd8\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12>\n\x0c\x66ull_outputs\x18\x0f \x01(\x0b\x32\x19.flyteidl.core.OutputDataH\x00R\x0b\x66ullOutputs\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xf8\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\x12<\n\x0c\x61rtifact_ids\x18\x12 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x0b\x61rtifactIds\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x85\x03\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12>\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\nfullInputs\x12@\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ullOutputs\x12\x37\n\ninput_data\x18\x05 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\tinputData\x12:\n\x0boutput_data\x18\x06 \x01(\x0b\x32\x19.flyteidl.core.OutputDataR\noutputData\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -57,54 +57,54 @@ _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_inputs']._serialized_options = b'\030\001' _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._options = None _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['full_outputs']._serialized_options = b'\030\001' - _globals['_EXECUTIONSTATE']._serialized_start=5641 - _globals['_EXECUTIONSTATE']._serialized_end=5703 + _globals['_EXECUTIONSTATE']._serialized_start=5659 + _globals['_EXECUTIONSTATE']._serialized_end=5721 _globals['_EXECUTIONCREATEREQUEST']._serialized_start=403 - _globals['_EXECUTIONCREATEREQUEST']._serialized_end=660 - _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_start=663 - _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_end=816 - _globals['_EXECUTIONRECOVERREQUEST']._serialized_start=819 - _globals['_EXECUTIONRECOVERREQUEST']._serialized_end=987 - _globals['_EXECUTIONCREATERESPONSE']._serialized_start=989 - _globals['_EXECUTIONCREATERESPONSE']._serialized_end=1074 - _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_start=1076 - _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_end=1165 - _globals['_EXECUTION']._serialized_start=1168 - _globals['_EXECUTION']._serialized_end=1350 - _globals['_EXECUTIONLIST']._serialized_start=1352 - _globals['_EXECUTIONLIST']._serialized_end=1448 - _globals['_LITERALMAPBLOB']._serialized_start=1450 - _globals['_LITERALMAPBLOB']._serialized_end=1551 - _globals['_ABORTMETADATA']._serialized_start=1553 - _globals['_ABORTMETADATA']._serialized_end=1620 - _globals['_EXECUTIONCLOSURE']._serialized_start=1623 - _globals['_EXECUTIONCLOSURE']._serialized_end=2607 - _globals['_SYSTEMMETADATA']._serialized_start=2609 - _globals['_SYSTEMMETADATA']._serialized_end=2700 - _globals['_EXECUTIONMETADATA']._serialized_start=2703 - _globals['_EXECUTIONMETADATA']._serialized_end=3335 - _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_start=3232 - _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_end=3335 - _globals['_NOTIFICATIONLIST']._serialized_start=3337 - _globals['_NOTIFICATIONLIST']._serialized_end=3423 - _globals['_EXECUTIONSPEC']._serialized_start=3426 - _globals['_EXECUTIONSPEC']._serialized_end=4466 - _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4468 - _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4577 - _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4579 - _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4607 - _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4609 - _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4702 - _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4705 - _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=5094 - _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=5097 - _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=5235 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=5238 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5412 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5414 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5439 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5441 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5559 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5561 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5639 + _globals['_EXECUTIONCREATEREQUEST']._serialized_end=678 + _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_start=681 + _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_end=834 + _globals['_EXECUTIONRECOVERREQUEST']._serialized_start=837 + _globals['_EXECUTIONRECOVERREQUEST']._serialized_end=1005 + _globals['_EXECUTIONCREATERESPONSE']._serialized_start=1007 + _globals['_EXECUTIONCREATERESPONSE']._serialized_end=1092 + _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_start=1094 + _globals['_WORKFLOWEXECUTIONGETREQUEST']._serialized_end=1183 + _globals['_EXECUTION']._serialized_start=1186 + _globals['_EXECUTION']._serialized_end=1368 + _globals['_EXECUTIONLIST']._serialized_start=1370 + _globals['_EXECUTIONLIST']._serialized_end=1466 + _globals['_LITERALMAPBLOB']._serialized_start=1468 + _globals['_LITERALMAPBLOB']._serialized_end=1569 + _globals['_ABORTMETADATA']._serialized_start=1571 + _globals['_ABORTMETADATA']._serialized_end=1638 + _globals['_EXECUTIONCLOSURE']._serialized_start=1641 + _globals['_EXECUTIONCLOSURE']._serialized_end=2625 + _globals['_SYSTEMMETADATA']._serialized_start=2627 + _globals['_SYSTEMMETADATA']._serialized_end=2718 + _globals['_EXECUTIONMETADATA']._serialized_start=2721 + _globals['_EXECUTIONMETADATA']._serialized_end=3353 + _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_start=3250 + _globals['_EXECUTIONMETADATA_EXECUTIONMODE']._serialized_end=3353 + _globals['_NOTIFICATIONLIST']._serialized_start=3355 + _globals['_NOTIFICATIONLIST']._serialized_end=3441 + _globals['_EXECUTIONSPEC']._serialized_start=3444 + _globals['_EXECUTIONSPEC']._serialized_end=4484 + _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4486 + _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4595 + _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4597 + _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4625 + _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4627 + _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4720 + _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4723 + _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=5112 + _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=5115 + _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=5253 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=5256 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5430 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5432 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5457 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5459 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5577 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5579 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5657 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi index a8445b7b7e..8f282d583f 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi @@ -25,20 +25,22 @@ EXECUTION_ACTIVE: ExecutionState EXECUTION_ARCHIVED: ExecutionState class ExecutionCreateRequest(_message.Message): - __slots__ = ["project", "domain", "name", "spec", "inputs", "input_data"] + __slots__ = ["project", "domain", "name", "spec", "inputs", "org", "input_data"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] SPEC_FIELD_NUMBER: _ClassVar[int] INPUTS_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] INPUT_DATA_FIELD_NUMBER: _ClassVar[int] project: str domain: str name: str spec: ExecutionSpec inputs: _literals_pb2.LiteralMap + org: str input_data: _literals_pb2.InputData - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., spec: _Optional[_Union[ExecutionSpec, _Mapping]] = ..., inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ...) -> None: ... + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., spec: _Optional[_Union[ExecutionSpec, _Mapping]] = ..., inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., org: _Optional[str] = ..., input_data: _Optional[_Union[_literals_pb2.InputData, _Mapping]] = ...) -> None: ... class ExecutionRelaunchRequest(_message.Message): __slots__ = ["id", "name", "overwrite_cache"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py index ac1165ec99..b6307f5dd7 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.py @@ -23,7 +23,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n flyteidl/admin/launch_plan.proto\x12\x0e\x66lyteidl.admin\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1d\x66lyteidl/admin/schedule.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"x\n\x17LaunchPlanCreateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\"\x1a\n\x18LaunchPlanCreateResponse\"\xa8\x01\n\nLaunchPlan\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\x12;\n\x07\x63losure\x18\x03 \x01(\x0b\x32!.flyteidl.admin.LaunchPlanClosureR\x07\x63losure\"e\n\x0eLaunchPlanList\x12=\n\x0claunch_plans\x18\x01 \x03(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x0blaunchPlans\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"v\n\x04\x41uth\x12,\n\x12\x61ssumable_iam_role\x18\x01 \x01(\tR\x10\x61ssumableIamRole\x12<\n\x1akubernetes_service_account\x18\x02 \x01(\tR\x18kubernetesServiceAccount:\x02\x18\x01\"\x85\x08\n\x0eLaunchPlanSpec\x12:\n\x0bworkflow_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12K\n\x0f\x65ntity_metadata\x18\x02 \x01(\x0b\x32\".flyteidl.admin.LaunchPlanMetadataR\x0e\x65ntityMetadata\x12\x42\n\x0e\x64\x65\x66\x61ult_inputs\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\rdefaultInputs\x12@\n\x0c\x66ixed_inputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ixedInputs\x12\x42\n\x10\x66ixed_input_data\x18\x16 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\x0e\x66ixedInputData\x12\x16\n\x04role\x18\x05 \x01(\tB\x02\x18\x01R\x04role\x12.\n\x06labels\x18\x06 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x07 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12,\n\x04\x61uth\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.AuthB\x02\x18\x01R\x04\x61uth\x12\x39\n\tauth_role\x18\t \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12M\n\x12quality_of_service\x18\x10 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12X\n\x16raw_output_data_config\x18\x11 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12@\n\rinterruptible\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x14 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x15 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\"\xcd\x02\n\x11LaunchPlanClosure\x12\x35\n\x05state\x18\x01 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\x12\x44\n\x0f\x65xpected_inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x0e\x65xpectedInputs\x12\x45\n\x10\x65xpected_outputs\x18\x03 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x0f\x65xpectedOutputs\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"\xd1\x01\n\x12LaunchPlanMetadata\x12\x34\n\x08schedule\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ScheduleR\x08schedule\x12\x42\n\rnotifications\x18\x02 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12\x41\n\x11launch_conditions\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyR\x10launchConditions\"{\n\x17LaunchPlanUpdateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x35\n\x05state\x18\x02 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\"\x1a\n\x18LaunchPlanUpdateResponse\"P\n\x17\x41\x63tiveLaunchPlanRequest\x12\x35\n\x02id\x18\x01 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\"\xaa\x01\n\x1b\x41\x63tiveLaunchPlanListRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x03 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy*+\n\x0fLaunchPlanState\x12\x0c\n\x08INACTIVE\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x42\xbb\x01\n\x12\x63om.flyteidl.adminB\x0fLaunchPlanProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n flyteidl/admin/launch_plan.proto\x12\x0e\x66lyteidl.admin\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1d\x66lyteidl/admin/schedule.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"x\n\x17LaunchPlanCreateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\"\x1a\n\x18LaunchPlanCreateResponse\"\xa8\x01\n\nLaunchPlan\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x32\n\x04spec\x18\x02 \x01(\x0b\x32\x1e.flyteidl.admin.LaunchPlanSpecR\x04spec\x12;\n\x07\x63losure\x18\x03 \x01(\x0b\x32!.flyteidl.admin.LaunchPlanClosureR\x07\x63losure\"e\n\x0eLaunchPlanList\x12=\n\x0claunch_plans\x18\x01 \x03(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x0blaunchPlans\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"v\n\x04\x41uth\x12,\n\x12\x61ssumable_iam_role\x18\x01 \x01(\tR\x10\x61ssumableIamRole\x12<\n\x1akubernetes_service_account\x18\x02 \x01(\tR\x18kubernetesServiceAccount:\x02\x18\x01\"\x85\x08\n\x0eLaunchPlanSpec\x12:\n\x0bworkflow_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12K\n\x0f\x65ntity_metadata\x18\x02 \x01(\x0b\x32\".flyteidl.admin.LaunchPlanMetadataR\x0e\x65ntityMetadata\x12\x42\n\x0e\x64\x65\x66\x61ult_inputs\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\rdefaultInputs\x12@\n\x0c\x66ixed_inputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0b\x66ixedInputs\x12\x42\n\x10\x66ixed_input_data\x18\x16 \x01(\x0b\x32\x18.flyteidl.core.InputDataR\x0e\x66ixedInputData\x12\x16\n\x04role\x18\x05 \x01(\tB\x02\x18\x01R\x04role\x12.\n\x06labels\x18\x06 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x07 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12,\n\x04\x61uth\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.AuthB\x02\x18\x01R\x04\x61uth\x12\x39\n\tauth_role\x18\t \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12M\n\x12quality_of_service\x18\x10 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12X\n\x16raw_output_data_config\x18\x11 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12@\n\rinterruptible\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x14 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x15 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\"\xcd\x02\n\x11LaunchPlanClosure\x12\x35\n\x05state\x18\x01 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\x12\x44\n\x0f\x65xpected_inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x0e\x65xpectedInputs\x12\x45\n\x10\x65xpected_outputs\x18\x03 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x0f\x65xpectedOutputs\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\"\xd1\x01\n\x12LaunchPlanMetadata\x12\x34\n\x08schedule\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ScheduleR\x08schedule\x12\x42\n\rnotifications\x18\x02 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12\x41\n\x11launch_conditions\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyR\x10launchConditions\"{\n\x17LaunchPlanUpdateRequest\x12)\n\x02id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x02id\x12\x35\n\x05state\x18\x02 \x01(\x0e\x32\x1f.flyteidl.admin.LaunchPlanStateR\x05state\"\x1a\n\x18LaunchPlanUpdateResponse\"P\n\x17\x41\x63tiveLaunchPlanRequest\x12\x35\n\x02id\x18\x01 \x01(\x0b\x32%.flyteidl.admin.NamedEntityIdentifierR\x02id\"\xbc\x01\n\x1b\x41\x63tiveLaunchPlanListRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x14\n\x05limit\x18\x03 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12-\n\x07sort_by\x18\x05 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org*+\n\x0fLaunchPlanState\x12\x0c\n\x08INACTIVE\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x42\xbb\x01\n\x12\x63om.flyteidl.adminB\x0fLaunchPlanProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,8 +42,8 @@ _LAUNCHPLANSPEC.fields_by_name['auth']._serialized_options = b'\030\001' _LAUNCHPLANSPEC.fields_by_name['auth_role']._options = None _LAUNCHPLANSPEC.fields_by_name['auth_role']._serialized_options = b'\030\001' - _globals['_LAUNCHPLANSTATE']._serialized_start=2890 - _globals['_LAUNCHPLANSTATE']._serialized_end=2933 + _globals['_LAUNCHPLANSTATE']._serialized_start=2908 + _globals['_LAUNCHPLANSTATE']._serialized_end=2951 _globals['_LAUNCHPLANCREATEREQUEST']._serialized_start=358 _globals['_LAUNCHPLANCREATEREQUEST']._serialized_end=478 _globals['_LAUNCHPLANCREATERESPONSE']._serialized_start=480 @@ -67,5 +67,5 @@ _globals['_ACTIVELAUNCHPLANREQUEST']._serialized_start=2635 _globals['_ACTIVELAUNCHPLANREQUEST']._serialized_end=2715 _globals['_ACTIVELAUNCHPLANLISTREQUEST']._serialized_start=2718 - _globals['_ACTIVELAUNCHPLANLISTREQUEST']._serialized_end=2888 + _globals['_ACTIVELAUNCHPLANLISTREQUEST']._serialized_end=2906 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi index 0b586326df..bba770f0ec 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/launch_plan_pb2.pyi @@ -142,15 +142,17 @@ class ActiveLaunchPlanRequest(_message.Message): def __init__(self, id: _Optional[_Union[_common_pb2.NamedEntityIdentifier, _Mapping]] = ...) -> None: ... class ActiveLaunchPlanListRequest(_message.Message): - __slots__ = ["project", "domain", "limit", "token", "sort_by"] + __slots__ = ["project", "domain", "limit", "token", "sort_by", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] LIMIT_FIELD_NUMBER: _ClassVar[int] TOKEN_FIELD_NUMBER: _ClassVar[int] SORT_BY_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str limit: int token: str sort_by: _common_pb2.Sort - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., limit: _Optional[int] = ..., token: _Optional[str] = ..., sort_by: _Optional[_Union[_common_pb2.Sort, _Mapping]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., limit: _Optional[int] = ..., token: _Optional[str] = ..., sort_by: _Optional[_Union[_common_pb2.Sort, _Mapping]] = ..., org: _Optional[str] = ...) -> None: ... diff --git a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py index 931defd6e8..f95811b646 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py @@ -18,7 +18,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl/admin/matchable_resource.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x95\x01\n\x10TaskResourceSpec\x12\x10\n\x03\x63pu\x18\x01 \x01(\tR\x03\x63pu\x12\x10\n\x03gpu\x18\x02 \x01(\tR\x03gpu\x12\x16\n\x06memory\x18\x03 \x01(\tR\x06memory\x12\x18\n\x07storage\x18\x04 \x01(\tR\x07storage\x12+\n\x11\x65phemeral_storage\x18\x05 \x01(\tR\x10\x65phemeralStorage\"\x90\x01\n\x16TaskResourceAttributes\x12<\n\x08\x64\x65\x66\x61ults\x18\x01 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x08\x64\x65\x66\x61ults\x12\x38\n\x06limits\x18\x02 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x06limits\"\xb5\x01\n\x19\x43lusterResourceAttributes\x12Y\n\nattributes\x18\x01 \x03(\x0b\x32\x39.flyteidl.admin.ClusterResourceAttributes.AttributesEntryR\nattributes\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\".\n\x18\x45xecutionQueueAttributes\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags\"-\n\x15\x45xecutionClusterLabel\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\"\xec\x01\n\x0ePluginOverride\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x1b\n\tplugin_id\x18\x02 \x03(\tR\x08pluginId\x12l\n\x17missing_plugin_behavior\x18\x04 \x01(\x0e\x32\x34.flyteidl.admin.PluginOverride.MissingPluginBehaviorR\x15missingPluginBehavior\"2\n\x15MissingPluginBehavior\x12\x08\n\x04\x46\x41IL\x10\x00\x12\x0f\n\x0bUSE_DEFAULT\x10\x01\"O\n\x0fPluginOverrides\x12<\n\toverrides\x18\x01 \x03(\x0b\x32\x1e.flyteidl.admin.PluginOverrideR\toverrides\"\xeb\x03\n\x17WorkflowExecutionConfig\x12\'\n\x0fmax_parallelism\x18\x01 \x01(\x05R\x0emaxParallelism\x12I\n\x10security_context\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12X\n\x16raw_output_data_config\x18\x03 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12.\n\x06labels\x18\x04 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x05 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12@\n\rinterruptible\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x07 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\"\x94\x06\n\x12MatchingAttributes\x12\x62\n\x18task_resource_attributes\x18\x01 \x01(\x0b\x32&.flyteidl.admin.TaskResourceAttributesH\x00R\x16taskResourceAttributes\x12k\n\x1b\x63luster_resource_attributes\x18\x02 \x01(\x0b\x32).flyteidl.admin.ClusterResourceAttributesH\x00R\x19\x63lusterResourceAttributes\x12h\n\x1a\x65xecution_queue_attributes\x18\x03 \x01(\x0b\x32(.flyteidl.admin.ExecutionQueueAttributesH\x00R\x18\x65xecutionQueueAttributes\x12_\n\x17\x65xecution_cluster_label\x18\x04 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelH\x00R\x15\x65xecutionClusterLabel\x12O\n\x12quality_of_service\x18\x05 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceH\x00R\x10qualityOfService\x12L\n\x10plugin_overrides\x18\x06 \x01(\x0b\x32\x1f.flyteidl.admin.PluginOverridesH\x00R\x0fpluginOverrides\x12\x65\n\x19workflow_execution_config\x18\x07 \x01(\x0b\x32\'.flyteidl.admin.WorkflowExecutionConfigH\x00R\x17workflowExecutionConfig\x12R\n\x12\x63luster_assignment\x18\x08 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentH\x00R\x11\x63lusterAssignmentB\x08\n\x06target\"\xd5\x01\n MatchableAttributesConfiguration\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\nattributes\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x18\n\x07project\x18\x03 \x01(\tR\x07project\x12\x1a\n\x08workflow\x18\x04 \x01(\tR\x08workflow\x12\x1f\n\x0blaunch_plan\x18\x05 \x01(\tR\nlaunchPlan\"h\n\x1eListMatchableAttributesRequest\x12\x46\n\rresource_type\x18\x01 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"{\n\x1fListMatchableAttributesResponse\x12X\n\x0e\x63onfigurations\x18\x01 \x03(\x0b\x32\x30.flyteidl.admin.MatchableAttributesConfigurationR\x0e\x63onfigurations*\xe0\x01\n\x11MatchableResource\x12\x11\n\rTASK_RESOURCE\x10\x00\x12\x14\n\x10\x43LUSTER_RESOURCE\x10\x01\x12\x13\n\x0f\x45XECUTION_QUEUE\x10\x02\x12\x1b\n\x17\x45XECUTION_CLUSTER_LABEL\x10\x03\x12$\n QUALITY_OF_SERVICE_SPECIFICATION\x10\x04\x12\x13\n\x0fPLUGIN_OVERRIDE\x10\x05\x12\x1d\n\x19WORKFLOW_EXECUTION_CONFIG\x10\x06\x12\x16\n\x12\x43LUSTER_ASSIGNMENT\x10\x07\x42\xc2\x01\n\x12\x63om.flyteidl.adminB\x16MatchableResourceProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl/admin/matchable_resource.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x95\x01\n\x10TaskResourceSpec\x12\x10\n\x03\x63pu\x18\x01 \x01(\tR\x03\x63pu\x12\x10\n\x03gpu\x18\x02 \x01(\tR\x03gpu\x12\x16\n\x06memory\x18\x03 \x01(\tR\x06memory\x12\x18\n\x07storage\x18\x04 \x01(\tR\x07storage\x12+\n\x11\x65phemeral_storage\x18\x05 \x01(\tR\x10\x65phemeralStorage\"\x90\x01\n\x16TaskResourceAttributes\x12<\n\x08\x64\x65\x66\x61ults\x18\x01 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x08\x64\x65\x66\x61ults\x12\x38\n\x06limits\x18\x02 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x06limits\"\xb5\x01\n\x19\x43lusterResourceAttributes\x12Y\n\nattributes\x18\x01 \x03(\x0b\x32\x39.flyteidl.admin.ClusterResourceAttributes.AttributesEntryR\nattributes\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\".\n\x18\x45xecutionQueueAttributes\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags\"-\n\x15\x45xecutionClusterLabel\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\"\xec\x01\n\x0ePluginOverride\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x1b\n\tplugin_id\x18\x02 \x03(\tR\x08pluginId\x12l\n\x17missing_plugin_behavior\x18\x04 \x01(\x0e\x32\x34.flyteidl.admin.PluginOverride.MissingPluginBehaviorR\x15missingPluginBehavior\"2\n\x15MissingPluginBehavior\x12\x08\n\x04\x46\x41IL\x10\x00\x12\x0f\n\x0bUSE_DEFAULT\x10\x01\"O\n\x0fPluginOverrides\x12<\n\toverrides\x18\x01 \x03(\x0b\x32\x1e.flyteidl.admin.PluginOverrideR\toverrides\"\xeb\x03\n\x17WorkflowExecutionConfig\x12\'\n\x0fmax_parallelism\x18\x01 \x01(\x05R\x0emaxParallelism\x12I\n\x10security_context\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12X\n\x16raw_output_data_config\x18\x03 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12.\n\x06labels\x18\x04 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x05 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12@\n\rinterruptible\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x07 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\"\x94\x06\n\x12MatchingAttributes\x12\x62\n\x18task_resource_attributes\x18\x01 \x01(\x0b\x32&.flyteidl.admin.TaskResourceAttributesH\x00R\x16taskResourceAttributes\x12k\n\x1b\x63luster_resource_attributes\x18\x02 \x01(\x0b\x32).flyteidl.admin.ClusterResourceAttributesH\x00R\x19\x63lusterResourceAttributes\x12h\n\x1a\x65xecution_queue_attributes\x18\x03 \x01(\x0b\x32(.flyteidl.admin.ExecutionQueueAttributesH\x00R\x18\x65xecutionQueueAttributes\x12_\n\x17\x65xecution_cluster_label\x18\x04 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelH\x00R\x15\x65xecutionClusterLabel\x12O\n\x12quality_of_service\x18\x05 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceH\x00R\x10qualityOfService\x12L\n\x10plugin_overrides\x18\x06 \x01(\x0b\x32\x1f.flyteidl.admin.PluginOverridesH\x00R\x0fpluginOverrides\x12\x65\n\x19workflow_execution_config\x18\x07 \x01(\x0b\x32\'.flyteidl.admin.WorkflowExecutionConfigH\x00R\x17workflowExecutionConfig\x12R\n\x12\x63luster_assignment\x18\x08 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentH\x00R\x11\x63lusterAssignmentB\x08\n\x06target\"\xe7\x01\n MatchableAttributesConfiguration\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\nattributes\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x18\n\x07project\x18\x03 \x01(\tR\x07project\x12\x1a\n\x08workflow\x18\x04 \x01(\tR\x08workflow\x12\x1f\n\x0blaunch_plan\x18\x05 \x01(\tR\nlaunchPlan\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\"h\n\x1eListMatchableAttributesRequest\x12\x46\n\rresource_type\x18\x01 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"{\n\x1fListMatchableAttributesResponse\x12X\n\x0e\x63onfigurations\x18\x01 \x03(\x0b\x32\x30.flyteidl.admin.MatchableAttributesConfigurationR\x0e\x63onfigurations*\xe0\x01\n\x11MatchableResource\x12\x11\n\rTASK_RESOURCE\x10\x00\x12\x14\n\x10\x43LUSTER_RESOURCE\x10\x01\x12\x13\n\x0f\x45XECUTION_QUEUE\x10\x02\x12\x1b\n\x17\x45XECUTION_CLUSTER_LABEL\x10\x03\x12$\n QUALITY_OF_SERVICE_SPECIFICATION\x10\x04\x12\x13\n\x0fPLUGIN_OVERRIDE\x10\x05\x12\x1d\n\x19WORKFLOW_EXECUTION_CONFIG\x10\x06\x12\x16\n\x12\x43LUSTER_ASSIGNMENT\x10\x07\x42\xc2\x01\n\x12\x63om.flyteidl.adminB\x16MatchableResourceProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,8 +29,8 @@ DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.adminB\026MatchableResourceProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\242\002\003FAX\252\002\016Flyteidl.Admin\312\002\016Flyteidl\\Admin\342\002\032Flyteidl\\Admin\\GPBMetadata\352\002\017Flyteidl::Admin' _CLUSTERRESOURCEATTRIBUTES_ATTRIBUTESENTRY._options = None _CLUSTERRESOURCEATTRIBUTES_ATTRIBUTESENTRY._serialized_options = b'8\001' - _globals['_MATCHABLERESOURCE']._serialized_start=2853 - _globals['_MATCHABLERESOURCE']._serialized_end=3077 + _globals['_MATCHABLERESOURCE']._serialized_start=2871 + _globals['_MATCHABLERESOURCE']._serialized_end=3095 _globals['_TASKRESOURCESPEC']._serialized_start=223 _globals['_TASKRESOURCESPEC']._serialized_end=372 _globals['_TASKRESOURCEATTRIBUTES']._serialized_start=375 @@ -54,9 +54,9 @@ _globals['_MATCHINGATTRIBUTES']._serialized_start=1615 _globals['_MATCHINGATTRIBUTES']._serialized_end=2403 _globals['_MATCHABLEATTRIBUTESCONFIGURATION']._serialized_start=2406 - _globals['_MATCHABLEATTRIBUTESCONFIGURATION']._serialized_end=2619 - _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_start=2621 - _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_end=2725 - _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_start=2727 - _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_end=2850 + _globals['_MATCHABLEATTRIBUTESCONFIGURATION']._serialized_end=2637 + _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_start=2639 + _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_end=2743 + _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_start=2745 + _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_end=2868 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi index 56a7b03165..f7707cf984 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi @@ -140,18 +140,20 @@ class MatchingAttributes(_message.Message): def __init__(self, task_resource_attributes: _Optional[_Union[TaskResourceAttributes, _Mapping]] = ..., cluster_resource_attributes: _Optional[_Union[ClusterResourceAttributes, _Mapping]] = ..., execution_queue_attributes: _Optional[_Union[ExecutionQueueAttributes, _Mapping]] = ..., execution_cluster_label: _Optional[_Union[ExecutionClusterLabel, _Mapping]] = ..., quality_of_service: _Optional[_Union[_execution_pb2.QualityOfService, _Mapping]] = ..., plugin_overrides: _Optional[_Union[PluginOverrides, _Mapping]] = ..., workflow_execution_config: _Optional[_Union[WorkflowExecutionConfig, _Mapping]] = ..., cluster_assignment: _Optional[_Union[_cluster_assignment_pb2.ClusterAssignment, _Mapping]] = ...) -> None: ... class MatchableAttributesConfiguration(_message.Message): - __slots__ = ["attributes", "domain", "project", "workflow", "launch_plan"] + __slots__ = ["attributes", "domain", "project", "workflow", "launch_plan", "org"] ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] PROJECT_FIELD_NUMBER: _ClassVar[int] WORKFLOW_FIELD_NUMBER: _ClassVar[int] LAUNCH_PLAN_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] attributes: MatchingAttributes domain: str project: str workflow: str launch_plan: str - def __init__(self, attributes: _Optional[_Union[MatchingAttributes, _Mapping]] = ..., domain: _Optional[str] = ..., project: _Optional[str] = ..., workflow: _Optional[str] = ..., launch_plan: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, attributes: _Optional[_Union[MatchingAttributes, _Mapping]] = ..., domain: _Optional[str] = ..., project: _Optional[str] = ..., workflow: _Optional[str] = ..., launch_plan: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class ListMatchableAttributesRequest(_message.Message): __slots__ = ["resource_type"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.py index b6f7d05f5e..46808ec536 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.py @@ -14,7 +14,7 @@ from flyteidl.admin import matchable_resource_pb2 as flyteidl_dot_admin_dot_matchable__resource__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl/admin/project_attributes.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/matchable_resource.proto\"\x82\x01\n\x11ProjectAttributes\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12S\n\x13matching_attributes\x18\x02 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\x12matchingAttributes\"c\n\x1eProjectAttributesUpdateRequest\x12\x41\n\nattributes\x18\x01 \x01(\x0b\x32!.flyteidl.admin.ProjectAttributesR\nattributes\"!\n\x1fProjectAttributesUpdateResponse\"\x7f\n\x1bProjectAttributesGetRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x46\n\rresource_type\x18\x02 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"a\n\x1cProjectAttributesGetResponse\x12\x41\n\nattributes\x18\x01 \x01(\x0b\x32!.flyteidl.admin.ProjectAttributesR\nattributes\"\x82\x01\n\x1eProjectAttributesDeleteRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x46\n\rresource_type\x18\x02 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"!\n\x1fProjectAttributesDeleteResponseB\xc2\x01\n\x12\x63om.flyteidl.adminB\x16ProjectAttributesProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl/admin/project_attributes.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/matchable_resource.proto\"\x94\x01\n\x11ProjectAttributes\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12S\n\x13matching_attributes\x18\x02 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\x12matchingAttributes\x12\x10\n\x03org\x18\x03 \x01(\tR\x03org\"c\n\x1eProjectAttributesUpdateRequest\x12\x41\n\nattributes\x18\x01 \x01(\x0b\x32!.flyteidl.admin.ProjectAttributesR\nattributes\"!\n\x1fProjectAttributesUpdateResponse\"\x91\x01\n\x1bProjectAttributesGetRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x46\n\rresource_type\x18\x02 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x03 \x01(\tR\x03org\"a\n\x1cProjectAttributesGetResponse\x12\x41\n\nattributes\x18\x01 \x01(\x0b\x32!.flyteidl.admin.ProjectAttributesR\nattributes\"\x94\x01\n\x1eProjectAttributesDeleteRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x46\n\rresource_type\x18\x02 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x03 \x01(\tR\x03org\"!\n\x1fProjectAttributesDeleteResponseB\xc2\x01\n\x12\x63om.flyteidl.adminB\x16ProjectAttributesProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,17 +24,17 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.adminB\026ProjectAttributesProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\242\002\003FAX\252\002\016Flyteidl.Admin\312\002\016Flyteidl\\Admin\342\002\032Flyteidl\\Admin\\GPBMetadata\352\002\017Flyteidl::Admin' _globals['_PROJECTATTRIBUTES']._serialized_start=101 - _globals['_PROJECTATTRIBUTES']._serialized_end=231 - _globals['_PROJECTATTRIBUTESUPDATEREQUEST']._serialized_start=233 - _globals['_PROJECTATTRIBUTESUPDATEREQUEST']._serialized_end=332 - _globals['_PROJECTATTRIBUTESUPDATERESPONSE']._serialized_start=334 - _globals['_PROJECTATTRIBUTESUPDATERESPONSE']._serialized_end=367 - _globals['_PROJECTATTRIBUTESGETREQUEST']._serialized_start=369 - _globals['_PROJECTATTRIBUTESGETREQUEST']._serialized_end=496 - _globals['_PROJECTATTRIBUTESGETRESPONSE']._serialized_start=498 - _globals['_PROJECTATTRIBUTESGETRESPONSE']._serialized_end=595 - _globals['_PROJECTATTRIBUTESDELETEREQUEST']._serialized_start=598 - _globals['_PROJECTATTRIBUTESDELETEREQUEST']._serialized_end=728 - _globals['_PROJECTATTRIBUTESDELETERESPONSE']._serialized_start=730 - _globals['_PROJECTATTRIBUTESDELETERESPONSE']._serialized_end=763 + _globals['_PROJECTATTRIBUTES']._serialized_end=249 + _globals['_PROJECTATTRIBUTESUPDATEREQUEST']._serialized_start=251 + _globals['_PROJECTATTRIBUTESUPDATEREQUEST']._serialized_end=350 + _globals['_PROJECTATTRIBUTESUPDATERESPONSE']._serialized_start=352 + _globals['_PROJECTATTRIBUTESUPDATERESPONSE']._serialized_end=385 + _globals['_PROJECTATTRIBUTESGETREQUEST']._serialized_start=388 + _globals['_PROJECTATTRIBUTESGETREQUEST']._serialized_end=533 + _globals['_PROJECTATTRIBUTESGETRESPONSE']._serialized_start=535 + _globals['_PROJECTATTRIBUTESGETRESPONSE']._serialized_end=632 + _globals['_PROJECTATTRIBUTESDELETEREQUEST']._serialized_start=635 + _globals['_PROJECTATTRIBUTESDELETEREQUEST']._serialized_end=783 + _globals['_PROJECTATTRIBUTESDELETERESPONSE']._serialized_start=785 + _globals['_PROJECTATTRIBUTESDELETERESPONSE']._serialized_end=818 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.pyi index 8ad0997ac2..6581a30a15 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/project_attributes_pb2.pyi @@ -6,12 +6,14 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti DESCRIPTOR: _descriptor.FileDescriptor class ProjectAttributes(_message.Message): - __slots__ = ["project", "matching_attributes"] + __slots__ = ["project", "matching_attributes", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] MATCHING_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str matching_attributes: _matchable_resource_pb2.MatchingAttributes - def __init__(self, project: _Optional[str] = ..., matching_attributes: _Optional[_Union[_matchable_resource_pb2.MatchingAttributes, _Mapping]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., matching_attributes: _Optional[_Union[_matchable_resource_pb2.MatchingAttributes, _Mapping]] = ..., org: _Optional[str] = ...) -> None: ... class ProjectAttributesUpdateRequest(_message.Message): __slots__ = ["attributes"] @@ -24,12 +26,14 @@ class ProjectAttributesUpdateResponse(_message.Message): def __init__(self) -> None: ... class ProjectAttributesGetRequest(_message.Message): - __slots__ = ["project", "resource_type"] + __slots__ = ["project", "resource_type", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str resource_type: _matchable_resource_pb2.MatchableResource - def __init__(self, project: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ..., org: _Optional[str] = ...) -> None: ... class ProjectAttributesGetResponse(_message.Message): __slots__ = ["attributes"] @@ -38,12 +42,14 @@ class ProjectAttributesGetResponse(_message.Message): def __init__(self, attributes: _Optional[_Union[ProjectAttributes, _Mapping]] = ...) -> None: ... class ProjectAttributesDeleteRequest(_message.Message): - __slots__ = ["project", "resource_type"] + __slots__ = ["project", "resource_type", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str resource_type: _matchable_resource_pb2.MatchableResource - def __init__(self, project: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ..., org: _Optional[str] = ...) -> None: ... class ProjectAttributesDeleteResponse(_message.Message): __slots__ = [] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.py index ff5c077221..3d80159af4 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.py @@ -14,7 +14,7 @@ from flyteidl.admin import matchable_resource_pb2 as flyteidl_dot_admin_dot_matchable__resource__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.flyteidl/admin/project_domain_attributes.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/matchable_resource.proto\"\xa0\x01\n\x17ProjectDomainAttributes\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12S\n\x13matching_attributes\x18\x03 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\x12matchingAttributes\"o\n$ProjectDomainAttributesUpdateRequest\x12G\n\nattributes\x18\x01 \x01(\x0b\x32\'.flyteidl.admin.ProjectDomainAttributesR\nattributes\"\'\n%ProjectDomainAttributesUpdateResponse\"\x9d\x01\n!ProjectDomainAttributesGetRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x46\n\rresource_type\x18\x03 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"m\n\"ProjectDomainAttributesGetResponse\x12G\n\nattributes\x18\x01 \x01(\x0b\x32\'.flyteidl.admin.ProjectDomainAttributesR\nattributes\"\xa0\x01\n$ProjectDomainAttributesDeleteRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x46\n\rresource_type\x18\x03 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"\'\n%ProjectDomainAttributesDeleteResponseB\xc8\x01\n\x12\x63om.flyteidl.adminB\x1cProjectDomainAttributesProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.flyteidl/admin/project_domain_attributes.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/matchable_resource.proto\"\xb2\x01\n\x17ProjectDomainAttributes\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12S\n\x13matching_attributes\x18\x03 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\x12matchingAttributes\x12\x10\n\x03org\x18\x04 \x01(\tR\x03org\"o\n$ProjectDomainAttributesUpdateRequest\x12G\n\nattributes\x18\x01 \x01(\x0b\x32\'.flyteidl.admin.ProjectDomainAttributesR\nattributes\"\'\n%ProjectDomainAttributesUpdateResponse\"\xaf\x01\n!ProjectDomainAttributesGetRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x46\n\rresource_type\x18\x03 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x04 \x01(\tR\x03org\"m\n\"ProjectDomainAttributesGetResponse\x12G\n\nattributes\x18\x01 \x01(\x0b\x32\'.flyteidl.admin.ProjectDomainAttributesR\nattributes\"\xb2\x01\n$ProjectDomainAttributesDeleteRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x46\n\rresource_type\x18\x03 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x04 \x01(\tR\x03org\"\'\n%ProjectDomainAttributesDeleteResponseB\xc8\x01\n\x12\x63om.flyteidl.adminB\x1cProjectDomainAttributesProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,17 +24,17 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.adminB\034ProjectDomainAttributesProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\242\002\003FAX\252\002\016Flyteidl.Admin\312\002\016Flyteidl\\Admin\342\002\032Flyteidl\\Admin\\GPBMetadata\352\002\017Flyteidl::Admin' _globals['_PROJECTDOMAINATTRIBUTES']._serialized_start=108 - _globals['_PROJECTDOMAINATTRIBUTES']._serialized_end=268 - _globals['_PROJECTDOMAINATTRIBUTESUPDATEREQUEST']._serialized_start=270 - _globals['_PROJECTDOMAINATTRIBUTESUPDATEREQUEST']._serialized_end=381 - _globals['_PROJECTDOMAINATTRIBUTESUPDATERESPONSE']._serialized_start=383 - _globals['_PROJECTDOMAINATTRIBUTESUPDATERESPONSE']._serialized_end=422 - _globals['_PROJECTDOMAINATTRIBUTESGETREQUEST']._serialized_start=425 - _globals['_PROJECTDOMAINATTRIBUTESGETREQUEST']._serialized_end=582 - _globals['_PROJECTDOMAINATTRIBUTESGETRESPONSE']._serialized_start=584 - _globals['_PROJECTDOMAINATTRIBUTESGETRESPONSE']._serialized_end=693 - _globals['_PROJECTDOMAINATTRIBUTESDELETEREQUEST']._serialized_start=696 - _globals['_PROJECTDOMAINATTRIBUTESDELETEREQUEST']._serialized_end=856 - _globals['_PROJECTDOMAINATTRIBUTESDELETERESPONSE']._serialized_start=858 - _globals['_PROJECTDOMAINATTRIBUTESDELETERESPONSE']._serialized_end=897 + _globals['_PROJECTDOMAINATTRIBUTES']._serialized_end=286 + _globals['_PROJECTDOMAINATTRIBUTESUPDATEREQUEST']._serialized_start=288 + _globals['_PROJECTDOMAINATTRIBUTESUPDATEREQUEST']._serialized_end=399 + _globals['_PROJECTDOMAINATTRIBUTESUPDATERESPONSE']._serialized_start=401 + _globals['_PROJECTDOMAINATTRIBUTESUPDATERESPONSE']._serialized_end=440 + _globals['_PROJECTDOMAINATTRIBUTESGETREQUEST']._serialized_start=443 + _globals['_PROJECTDOMAINATTRIBUTESGETREQUEST']._serialized_end=618 + _globals['_PROJECTDOMAINATTRIBUTESGETRESPONSE']._serialized_start=620 + _globals['_PROJECTDOMAINATTRIBUTESGETRESPONSE']._serialized_end=729 + _globals['_PROJECTDOMAINATTRIBUTESDELETEREQUEST']._serialized_start=732 + _globals['_PROJECTDOMAINATTRIBUTESDELETEREQUEST']._serialized_end=910 + _globals['_PROJECTDOMAINATTRIBUTESDELETERESPONSE']._serialized_start=912 + _globals['_PROJECTDOMAINATTRIBUTESDELETERESPONSE']._serialized_end=951 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.pyi index af8624ca21..40a7a38bc7 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/project_domain_attributes_pb2.pyi @@ -6,14 +6,16 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti DESCRIPTOR: _descriptor.FileDescriptor class ProjectDomainAttributes(_message.Message): - __slots__ = ["project", "domain", "matching_attributes"] + __slots__ = ["project", "domain", "matching_attributes", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] MATCHING_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str matching_attributes: _matchable_resource_pb2.MatchingAttributes - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., matching_attributes: _Optional[_Union[_matchable_resource_pb2.MatchingAttributes, _Mapping]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., matching_attributes: _Optional[_Union[_matchable_resource_pb2.MatchingAttributes, _Mapping]] = ..., org: _Optional[str] = ...) -> None: ... class ProjectDomainAttributesUpdateRequest(_message.Message): __slots__ = ["attributes"] @@ -26,14 +28,16 @@ class ProjectDomainAttributesUpdateResponse(_message.Message): def __init__(self) -> None: ... class ProjectDomainAttributesGetRequest(_message.Message): - __slots__ = ["project", "domain", "resource_type"] + __slots__ = ["project", "domain", "resource_type", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str resource_type: _matchable_resource_pb2.MatchableResource - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ..., org: _Optional[str] = ...) -> None: ... class ProjectDomainAttributesGetResponse(_message.Message): __slots__ = ["attributes"] @@ -42,14 +46,16 @@ class ProjectDomainAttributesGetResponse(_message.Message): def __init__(self, attributes: _Optional[_Union[ProjectDomainAttributes, _Mapping]] = ...) -> None: ... class ProjectDomainAttributesDeleteRequest(_message.Message): - __slots__ = ["project", "domain", "resource_type"] + __slots__ = ["project", "domain", "resource_type", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str resource_type: _matchable_resource_pb2.MatchableResource - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ..., org: _Optional[str] = ...) -> None: ... class ProjectDomainAttributesDeleteResponse(_message.Message): __slots__ = [] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.py index ae321b092c..ddebf730f2 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.py @@ -14,7 +14,7 @@ from flyteidl.admin import common_pb2 as flyteidl_dot_admin_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/admin/project.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\",\n\x06\x44omain\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"\xad\x02\n\x07Project\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x30\n\x07\x64omains\x18\x03 \x03(\x0b\x32\x16.flyteidl.admin.DomainR\x07\x64omains\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12.\n\x06labels\x18\x05 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12:\n\x05state\x18\x06 \x01(\x0e\x32$.flyteidl.admin.Project.ProjectStateR\x05state\">\n\x0cProjectState\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x41RCHIVED\x10\x01\x12\x14\n\x10SYSTEM_GENERATED\x10\x02\"U\n\x08Projects\x12\x33\n\x08projects\x18\x01 \x03(\x0b\x32\x17.flyteidl.admin.ProjectR\x08projects\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x89\x01\n\x12ProjectListRequest\x12\x14\n\x05limit\x18\x01 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x03 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x04 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"K\n\x16ProjectRegisterRequest\x12\x31\n\x07project\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.ProjectR\x07project\"\x19\n\x17ProjectRegisterResponse\"\x17\n\x15ProjectUpdateResponseB\xb8\x01\n\x12\x63om.flyteidl.adminB\x0cProjectProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/admin/project.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\",\n\x06\x44omain\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"\xbf\x02\n\x07Project\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x30\n\x07\x64omains\x18\x03 \x03(\x0b\x32\x16.flyteidl.admin.DomainR\x07\x64omains\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12.\n\x06labels\x18\x05 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12:\n\x05state\x18\x06 \x01(\x0e\x32$.flyteidl.admin.Project.ProjectStateR\x05state\x12\x10\n\x03org\x18\x07 \x01(\tR\x03org\">\n\x0cProjectState\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x41RCHIVED\x10\x01\x12\x14\n\x10SYSTEM_GENERATED\x10\x02\"U\n\x08Projects\x12\x33\n\x08projects\x18\x01 \x03(\x0b\x32\x17.flyteidl.admin.ProjectR\x08projects\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x89\x01\n\x12ProjectListRequest\x12\x14\n\x05limit\x18\x01 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12\x18\n\x07\x66ilters\x18\x03 \x01(\tR\x07\x66ilters\x12-\n\x07sort_by\x18\x04 \x01(\x0b\x32\x14.flyteidl.admin.SortR\x06sortBy\"K\n\x16ProjectRegisterRequest\x12\x31\n\x07project\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.ProjectR\x07project\"\x19\n\x17ProjectRegisterResponse\"\x17\n\x15ProjectUpdateResponseB\xb8\x01\n\x12\x63om.flyteidl.adminB\x0cProjectProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,17 +26,17 @@ _globals['_DOMAIN']._serialized_start=77 _globals['_DOMAIN']._serialized_end=121 _globals['_PROJECT']._serialized_start=124 - _globals['_PROJECT']._serialized_end=425 - _globals['_PROJECT_PROJECTSTATE']._serialized_start=363 - _globals['_PROJECT_PROJECTSTATE']._serialized_end=425 - _globals['_PROJECTS']._serialized_start=427 - _globals['_PROJECTS']._serialized_end=512 - _globals['_PROJECTLISTREQUEST']._serialized_start=515 - _globals['_PROJECTLISTREQUEST']._serialized_end=652 - _globals['_PROJECTREGISTERREQUEST']._serialized_start=654 - _globals['_PROJECTREGISTERREQUEST']._serialized_end=729 - _globals['_PROJECTREGISTERRESPONSE']._serialized_start=731 - _globals['_PROJECTREGISTERRESPONSE']._serialized_end=756 - _globals['_PROJECTUPDATERESPONSE']._serialized_start=758 - _globals['_PROJECTUPDATERESPONSE']._serialized_end=781 + _globals['_PROJECT']._serialized_end=443 + _globals['_PROJECT_PROJECTSTATE']._serialized_start=381 + _globals['_PROJECT_PROJECTSTATE']._serialized_end=443 + _globals['_PROJECTS']._serialized_start=445 + _globals['_PROJECTS']._serialized_end=530 + _globals['_PROJECTLISTREQUEST']._serialized_start=533 + _globals['_PROJECTLISTREQUEST']._serialized_end=670 + _globals['_PROJECTREGISTERREQUEST']._serialized_start=672 + _globals['_PROJECTREGISTERREQUEST']._serialized_end=747 + _globals['_PROJECTREGISTERRESPONSE']._serialized_start=749 + _globals['_PROJECTREGISTERRESPONSE']._serialized_end=774 + _globals['_PROJECTUPDATERESPONSE']._serialized_start=776 + _globals['_PROJECTUPDATERESPONSE']._serialized_end=799 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.pyi index 33b5106c81..5353d66e1b 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/project_pb2.pyi @@ -16,7 +16,7 @@ class Domain(_message.Message): def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... class Project(_message.Message): - __slots__ = ["id", "name", "domains", "description", "labels", "state"] + __slots__ = ["id", "name", "domains", "description", "labels", "state", "org"] class ProjectState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = [] ACTIVE: _ClassVar[Project.ProjectState] @@ -31,13 +31,15 @@ class Project(_message.Message): DESCRIPTION_FIELD_NUMBER: _ClassVar[int] LABELS_FIELD_NUMBER: _ClassVar[int] STATE_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] id: str name: str domains: _containers.RepeatedCompositeFieldContainer[Domain] description: str labels: _common_pb2.Labels state: Project.ProjectState - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., domains: _Optional[_Iterable[_Union[Domain, _Mapping]]] = ..., description: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., state: _Optional[_Union[Project.ProjectState, str]] = ...) -> None: ... + org: str + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., domains: _Optional[_Iterable[_Union[Domain, _Mapping]]] = ..., description: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., state: _Optional[_Union[Project.ProjectState, str]] = ..., org: _Optional[str] = ...) -> None: ... class Projects(_message.Message): __slots__ = ["projects", "token"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.py index a277fac588..1a8ee5c48e 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.py @@ -14,7 +14,7 @@ from flyteidl.admin import matchable_resource_pb2 as flyteidl_dot_admin_dot_matchable__resource__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(flyteidl/admin/workflow_attributes.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/matchable_resource.proto\"\xb7\x01\n\x12WorkflowAttributes\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08workflow\x18\x03 \x01(\tR\x08workflow\x12S\n\x13matching_attributes\x18\x04 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\x12matchingAttributes\"e\n\x1fWorkflowAttributesUpdateRequest\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.WorkflowAttributesR\nattributes\"\"\n WorkflowAttributesUpdateResponse\"\xb4\x01\n\x1cWorkflowAttributesGetRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08workflow\x18\x03 \x01(\tR\x08workflow\x12\x46\n\rresource_type\x18\x04 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"c\n\x1dWorkflowAttributesGetResponse\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.WorkflowAttributesR\nattributes\"\xb7\x01\n\x1fWorkflowAttributesDeleteRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08workflow\x18\x03 \x01(\tR\x08workflow\x12\x46\n\rresource_type\x18\x04 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\"\"\n WorkflowAttributesDeleteResponseB\xc3\x01\n\x12\x63om.flyteidl.adminB\x17WorkflowAttributesProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(flyteidl/admin/workflow_attributes.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/matchable_resource.proto\"\xc9\x01\n\x12WorkflowAttributes\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08workflow\x18\x03 \x01(\tR\x08workflow\x12S\n\x13matching_attributes\x18\x04 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\x12matchingAttributes\x12\x10\n\x03org\x18\x05 \x01(\tR\x03org\"e\n\x1fWorkflowAttributesUpdateRequest\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.WorkflowAttributesR\nattributes\"\"\n WorkflowAttributesUpdateResponse\"\xc6\x01\n\x1cWorkflowAttributesGetRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08workflow\x18\x03 \x01(\tR\x08workflow\x12\x46\n\rresource_type\x18\x04 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x05 \x01(\tR\x03org\"c\n\x1dWorkflowAttributesGetResponse\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.WorkflowAttributesR\nattributes\"\xc9\x01\n\x1fWorkflowAttributesDeleteRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x1a\n\x08workflow\x18\x03 \x01(\tR\x08workflow\x12\x46\n\rresource_type\x18\x04 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x05 \x01(\tR\x03org\"\"\n WorkflowAttributesDeleteResponseB\xc3\x01\n\x12\x63om.flyteidl.adminB\x17WorkflowAttributesProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,17 +24,17 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.adminB\027WorkflowAttributesProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\242\002\003FAX\252\002\016Flyteidl.Admin\312\002\016Flyteidl\\Admin\342\002\032Flyteidl\\Admin\\GPBMetadata\352\002\017Flyteidl::Admin' _globals['_WORKFLOWATTRIBUTES']._serialized_start=102 - _globals['_WORKFLOWATTRIBUTES']._serialized_end=285 - _globals['_WORKFLOWATTRIBUTESUPDATEREQUEST']._serialized_start=287 - _globals['_WORKFLOWATTRIBUTESUPDATEREQUEST']._serialized_end=388 - _globals['_WORKFLOWATTRIBUTESUPDATERESPONSE']._serialized_start=390 - _globals['_WORKFLOWATTRIBUTESUPDATERESPONSE']._serialized_end=424 - _globals['_WORKFLOWATTRIBUTESGETREQUEST']._serialized_start=427 - _globals['_WORKFLOWATTRIBUTESGETREQUEST']._serialized_end=607 - _globals['_WORKFLOWATTRIBUTESGETRESPONSE']._serialized_start=609 - _globals['_WORKFLOWATTRIBUTESGETRESPONSE']._serialized_end=708 - _globals['_WORKFLOWATTRIBUTESDELETEREQUEST']._serialized_start=711 - _globals['_WORKFLOWATTRIBUTESDELETEREQUEST']._serialized_end=894 - _globals['_WORKFLOWATTRIBUTESDELETERESPONSE']._serialized_start=896 - _globals['_WORKFLOWATTRIBUTESDELETERESPONSE']._serialized_end=930 + _globals['_WORKFLOWATTRIBUTES']._serialized_end=303 + _globals['_WORKFLOWATTRIBUTESUPDATEREQUEST']._serialized_start=305 + _globals['_WORKFLOWATTRIBUTESUPDATEREQUEST']._serialized_end=406 + _globals['_WORKFLOWATTRIBUTESUPDATERESPONSE']._serialized_start=408 + _globals['_WORKFLOWATTRIBUTESUPDATERESPONSE']._serialized_end=442 + _globals['_WORKFLOWATTRIBUTESGETREQUEST']._serialized_start=445 + _globals['_WORKFLOWATTRIBUTESGETREQUEST']._serialized_end=643 + _globals['_WORKFLOWATTRIBUTESGETRESPONSE']._serialized_start=645 + _globals['_WORKFLOWATTRIBUTESGETRESPONSE']._serialized_end=744 + _globals['_WORKFLOWATTRIBUTESDELETEREQUEST']._serialized_start=747 + _globals['_WORKFLOWATTRIBUTESDELETEREQUEST']._serialized_end=948 + _globals['_WORKFLOWATTRIBUTESDELETERESPONSE']._serialized_start=950 + _globals['_WORKFLOWATTRIBUTESDELETERESPONSE']._serialized_end=984 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.pyi index 67b040a36d..57c7d80c80 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/workflow_attributes_pb2.pyi @@ -6,16 +6,18 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti DESCRIPTOR: _descriptor.FileDescriptor class WorkflowAttributes(_message.Message): - __slots__ = ["project", "domain", "workflow", "matching_attributes"] + __slots__ = ["project", "domain", "workflow", "matching_attributes", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] WORKFLOW_FIELD_NUMBER: _ClassVar[int] MATCHING_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str workflow: str matching_attributes: _matchable_resource_pb2.MatchingAttributes - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., workflow: _Optional[str] = ..., matching_attributes: _Optional[_Union[_matchable_resource_pb2.MatchingAttributes, _Mapping]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., workflow: _Optional[str] = ..., matching_attributes: _Optional[_Union[_matchable_resource_pb2.MatchingAttributes, _Mapping]] = ..., org: _Optional[str] = ...) -> None: ... class WorkflowAttributesUpdateRequest(_message.Message): __slots__ = ["attributes"] @@ -28,16 +30,18 @@ class WorkflowAttributesUpdateResponse(_message.Message): def __init__(self) -> None: ... class WorkflowAttributesGetRequest(_message.Message): - __slots__ = ["project", "domain", "workflow", "resource_type"] + __slots__ = ["project", "domain", "workflow", "resource_type", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] WORKFLOW_FIELD_NUMBER: _ClassVar[int] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str workflow: str resource_type: _matchable_resource_pb2.MatchableResource - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., workflow: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., workflow: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ..., org: _Optional[str] = ...) -> None: ... class WorkflowAttributesGetResponse(_message.Message): __slots__ = ["attributes"] @@ -46,16 +50,18 @@ class WorkflowAttributesGetResponse(_message.Message): def __init__(self, attributes: _Optional[_Union[WorkflowAttributes, _Mapping]] = ...) -> None: ... class WorkflowAttributesDeleteRequest(_message.Message): - __slots__ = ["project", "domain", "workflow", "resource_type"] + __slots__ = ["project", "domain", "workflow", "resource_type", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] WORKFLOW_FIELD_NUMBER: _ClassVar[int] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str workflow: str resource_type: _matchable_resource_pb2.MatchableResource - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., workflow: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., workflow: _Optional[str] = ..., resource_type: _Optional[_Union[_matchable_resource_pb2.MatchableResource, str]] = ..., org: _Optional[str] = ...) -> None: ... class WorkflowAttributesDeleteResponse(_message.Message): __slots__ = [] diff --git a/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py b/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py index cc5c3dc55f..983ab99c0b 100644 --- a/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/artifact/artifacts_pb2.py @@ -22,7 +22,7 @@ from flyteidl.event import cloudevents_pb2 as flyteidl_dot_event_dot_cloudevents__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!flyteidl/artifact/artifacts.proto\x12\x11\x66lyteidl.artifact\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/api/annotations.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a flyteidl/event/cloudevents.proto\"\xca\x01\n\x08\x41rtifact\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\x12\x39\n\x06source\x18\x04 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\"\x8b\x03\n\x15\x43reateArtifactRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12X\n\npartitions\x18\x04 \x03(\x0b\x32\x38.flyteidl.artifact.CreateArtifactRequest.PartitionsEntryR\npartitions\x12\x10\n\x03tag\x18\x05 \x01(\tR\x03tag\x12\x39\n\x06source\x18\x06 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\x1a=\n\x0fPartitionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xfb\x01\n\x0e\x41rtifactSource\x12Y\n\x12workflow_execution\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x11workflowExecution\x12\x17\n\x07node_id\x18\x02 \x01(\tR\x06nodeId\x12\x32\n\x07task_id\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12#\n\rretry_attempt\x18\x04 \x01(\rR\x0cretryAttempt\x12\x1c\n\tprincipal\x18\x05 \x01(\tR\tprincipal\"\xf9\x01\n\x0c\x41rtifactSpec\x12,\n\x05value\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\x12.\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\x04type\x12+\n\x11short_description\x18\x03 \x01(\tR\x10shortDescription\x12\x39\n\ruser_metadata\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x0cuserMetadata\x12#\n\rmetadata_type\x18\x05 \x01(\tR\x0cmetadataType\"Q\n\x16\x43reateArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"b\n\x12GetArtifactRequest\x12\x32\n\x05query\x18\x01 \x01(\x0b\x32\x1c.flyteidl.core.ArtifactQueryR\x05query\x12\x18\n\x07\x64\x65tails\x18\x02 \x01(\x08R\x07\x64\x65tails\"N\n\x13GetArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"`\n\rSearchOptions\x12+\n\x11strict_partitions\x18\x01 \x01(\x08R\x10strictPartitions\x12\"\n\rlatest_by_key\x18\x02 \x01(\x08R\x0blatestByKey\"\xb2\x02\n\x16SearchArtifactsRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x39\n\npartitions\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.PartitionsR\npartitions\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12:\n\x07options\x18\x05 \x01(\x0b\x32 .flyteidl.artifact.SearchOptionsR\x07options\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x14\n\x05limit\x18\x07 \x01(\x05R\x05limit\"j\n\x17SearchArtifactsResponse\x12\x39\n\tartifacts\x18\x01 \x03(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\tartifacts\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xdc\x01\n\x19\x46indByWorkflowExecRequest\x12\x43\n\x07\x65xec_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x06\x65xecId\x12T\n\tdirection\x18\x02 \x01(\x0e\x32\x36.flyteidl.artifact.FindByWorkflowExecRequest.DirectionR\tdirection\"$\n\tDirection\x12\n\n\x06INPUTS\x10\x00\x12\x0b\n\x07OUTPUTS\x10\x01\"\x7f\n\rAddTagRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x1c\n\toverwrite\x18\x03 \x01(\x08R\toverwrite\"\x10\n\x0e\x41\x64\x64TagResponse\"b\n\x14\x43reateTriggerRequest\x12J\n\x13trigger_launch_plan\x18\x01 \x01(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x11triggerLaunchPlan\"\x17\n\x15\x43reateTriggerResponse\"T\n\x18\x44\x65\x61\x63tivateTriggerRequest\x12\x38\n\ntrigger_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\ttriggerId\"\x1b\n\x19\x44\x65\x61\x63tivateTriggerResponse\"\x80\x01\n\x10\x41rtifactProducer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x34\n\x07outputs\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x07outputs\"\\\n\x17RegisterProducerRequest\x12\x41\n\tproducers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactProducerR\tproducers\"\x7f\n\x10\x41rtifactConsumer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x06inputs\"\\\n\x17RegisterConsumerRequest\x12\x41\n\tconsumers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactConsumerR\tconsumers\"\x12\n\x10RegisterResponse\"\x9a\x01\n\x16\x45xecutionInputsRequest\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x31\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x06inputs\"\x19\n\x17\x45xecutionInputsResponse\"N\n\x10ListUsageRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\"_\n\x11ListUsageResponse\x12J\n\nexecutions\x18\x01 \x03(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\nexecutions2\xf1\x10\n\x10\x41rtifactRegistry\x12g\n\x0e\x43reateArtifact\x12(.flyteidl.artifact.CreateArtifactRequest\x1a).flyteidl.artifact.CreateArtifactResponse\"\x00\x12\xf1\x04\n\x0bGetArtifact\x12%.flyteidl.artifact.GetArtifactRequest\x1a&.flyteidl.artifact.GetArtifactResponse\"\x92\x04\x82\xd3\xe4\x93\x02\x8b\x04Z\xb3\x01\x12\xb0\x01/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}/{query.artifact_id.version}Z\x97\x01\x12\x94\x01/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}Z\x9b\x01\x12\x98\x01/artifacts/api/v1/artifact/tag/{query.artifact_tag.artifact_key.project}/{query.artifact_tag.artifact_key.domain}/{query.artifact_tag.artifact_key.name}\x12\x1b/artifacts/api/v1/artifacts\x12\x96\x02\n\x0fSearchArtifacts\x12).flyteidl.artifact.SearchArtifactsRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"\xab\x01\x82\xd3\xe4\x93\x02\xa4\x01ZG\x12\x45/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}\x12Y/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}/{artifact_key.name}\x12\x64\n\rCreateTrigger\x12\'.flyteidl.artifact.CreateTriggerRequest\x1a(.flyteidl.artifact.CreateTriggerResponse\"\x00\x12\x9f\x01\n\x11\x44\x65\x61\x63tivateTrigger\x12+.flyteidl.artifact.DeactivateTriggerRequest\x1a,.flyteidl.artifact.DeactivateTriggerResponse\"/\x82\xd3\xe4\x93\x02):\x01*2$/artifacts/api/v1/trigger/deactivate\x12O\n\x06\x41\x64\x64Tag\x12 .flyteidl.artifact.AddTagRequest\x1a!.flyteidl.artifact.AddTagResponse\"\x00\x12\x65\n\x10RegisterProducer\x12*.flyteidl.artifact.RegisterProducerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12\x65\n\x10RegisterConsumer\x12*.flyteidl.artifact.RegisterConsumerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12m\n\x12SetExecutionInputs\x12).flyteidl.artifact.ExecutionInputsRequest\x1a*.flyteidl.artifact.ExecutionInputsResponse\"\x00\x12\xd8\x01\n\x12\x46indByWorkflowExec\x12,.flyteidl.artifact.FindByWorkflowExecRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"h\x82\xd3\xe4\x93\x02\x62\x12`/artifacts/api/v1/search/execution/{exec_id.project}/{exec_id.domain}/{exec_id.name}/{direction}\x12\xf5\x01\n\tListUsage\x12#.flyteidl.artifact.ListUsageRequest\x1a$.flyteidl.artifact.ListUsageResponse\"\x9c\x01\x82\xd3\xe4\x93\x02\x95\x01\x12\x92\x01/artifacts/api/v1/usage/{artifact_id.artifact_key.project}/{artifact_id.artifact_key.domain}/{artifact_id.artifact_key.name}/{artifact_id.version}B\xcc\x01\n\x15\x63om.flyteidl.artifactB\x0e\x41rtifactsProtoP\x01Z>github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/artifact\xa2\x02\x03\x46\x41X\xaa\x02\x11\x46lyteidl.Artifact\xca\x02\x11\x46lyteidl\\Artifact\xe2\x02\x1d\x46lyteidl\\Artifact\\GPBMetadata\xea\x02\x12\x46lyteidl::Artifactb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!flyteidl/artifact/artifacts.proto\x12\x11\x66lyteidl.artifact\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/api/annotations.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1d\x66lyteidl/core/interface.proto\x1a flyteidl/event/cloudevents.proto\"\xca\x01\n\x08\x41rtifact\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\x12\x39\n\x06source\x18\x04 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\"\x8b\x03\n\x15\x43reateArtifactRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x33\n\x04spec\x18\x02 \x01(\x0b\x32\x1f.flyteidl.artifact.ArtifactSpecR\x04spec\x12X\n\npartitions\x18\x04 \x03(\x0b\x32\x38.flyteidl.artifact.CreateArtifactRequest.PartitionsEntryR\npartitions\x12\x10\n\x03tag\x18\x05 \x01(\tR\x03tag\x12\x39\n\x06source\x18\x06 \x01(\x0b\x32!.flyteidl.artifact.ArtifactSourceR\x06source\x1a=\n\x0fPartitionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xfb\x01\n\x0e\x41rtifactSource\x12Y\n\x12workflow_execution\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x11workflowExecution\x12\x17\n\x07node_id\x18\x02 \x01(\tR\x06nodeId\x12\x32\n\x07task_id\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12#\n\rretry_attempt\x18\x04 \x01(\rR\x0cretryAttempt\x12\x1c\n\tprincipal\x18\x05 \x01(\tR\tprincipal\"\xf9\x01\n\x0c\x41rtifactSpec\x12,\n\x05value\x18\x01 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\x12.\n\x04type\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\x04type\x12+\n\x11short_description\x18\x03 \x01(\tR\x10shortDescription\x12\x39\n\ruser_metadata\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x0cuserMetadata\x12#\n\rmetadata_type\x18\x05 \x01(\tR\x0cmetadataType\"Q\n\x16\x43reateArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"b\n\x12GetArtifactRequest\x12\x32\n\x05query\x18\x01 \x01(\x0b\x32\x1c.flyteidl.core.ArtifactQueryR\x05query\x12\x18\n\x07\x64\x65tails\x18\x02 \x01(\x08R\x07\x64\x65tails\"N\n\x13GetArtifactResponse\x12\x37\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\x08\x61rtifact\"`\n\rSearchOptions\x12+\n\x11strict_partitions\x18\x01 \x01(\x08R\x10strictPartitions\x12\"\n\rlatest_by_key\x18\x02 \x01(\x08R\x0blatestByKey\"\xb2\x02\n\x16SearchArtifactsRequest\x12=\n\x0c\x61rtifact_key\x18\x01 \x01(\x0b\x32\x1a.flyteidl.core.ArtifactKeyR\x0b\x61rtifactKey\x12\x39\n\npartitions\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.PartitionsR\npartitions\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12:\n\x07options\x18\x05 \x01(\x0b\x32 .flyteidl.artifact.SearchOptionsR\x07options\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x14\n\x05limit\x18\x07 \x01(\x05R\x05limit\"j\n\x17SearchArtifactsResponse\x12\x39\n\tartifacts\x18\x01 \x03(\x0b\x32\x1b.flyteidl.artifact.ArtifactR\tartifacts\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\xdc\x01\n\x19\x46indByWorkflowExecRequest\x12\x43\n\x07\x65xec_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x06\x65xecId\x12T\n\tdirection\x18\x02 \x01(\x0e\x32\x36.flyteidl.artifact.FindByWorkflowExecRequest.DirectionR\tdirection\"$\n\tDirection\x12\n\n\x06INPUTS\x10\x00\x12\x0b\n\x07OUTPUTS\x10\x01\"\x7f\n\rAddTagRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x1c\n\toverwrite\x18\x03 \x01(\x08R\toverwrite\"\x10\n\x0e\x41\x64\x64TagResponse\"b\n\x14\x43reateTriggerRequest\x12J\n\x13trigger_launch_plan\x18\x01 \x01(\x0b\x32\x1a.flyteidl.admin.LaunchPlanR\x11triggerLaunchPlan\"\x17\n\x15\x43reateTriggerResponse\"T\n\x18\x44\x65\x61\x63tivateTriggerRequest\x12\x38\n\ntrigger_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\ttriggerId\"\x1b\n\x19\x44\x65\x61\x63tivateTriggerResponse\"\x80\x01\n\x10\x41rtifactProducer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x34\n\x07outputs\x18\x02 \x01(\x0b\x32\x1a.flyteidl.core.VariableMapR\x07outputs\"\\\n\x17RegisterProducerRequest\x12\x41\n\tproducers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactProducerR\tproducers\"\x7f\n\x10\x41rtifactConsumer\x12\x36\n\tentity_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x08\x65ntityId\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.ParameterMapR\x06inputs\"\\\n\x17RegisterConsumerRequest\x12\x41\n\tconsumers\x18\x01 \x03(\x0b\x32#.flyteidl.artifact.ArtifactConsumerR\tconsumers\"\x12\n\x10RegisterResponse\"\x9a\x01\n\x16\x45xecutionInputsRequest\x12M\n\x0c\x65xecution_id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\x12\x31\n\x06inputs\x18\x02 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x06inputs\"\x19\n\x17\x45xecutionInputsResponse\"N\n\x10ListUsageRequest\x12:\n\x0b\x61rtifact_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.ArtifactIDR\nartifactId\"_\n\x11ListUsageResponse\x12J\n\nexecutions\x18\x01 \x03(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\nexecutions2\xfb\x0b\n\x10\x41rtifactRegistry\x12g\n\x0e\x43reateArtifact\x12(.flyteidl.artifact.CreateArtifactRequest\x1a).flyteidl.artifact.CreateArtifactResponse\"\x00\x12\x84\x01\n\x0bGetArtifact\x12%.flyteidl.artifact.GetArtifactRequest\x1a&.flyteidl.artifact.GetArtifactResponse\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/artifacts/api/v1/artifacts\x12\x8d\x01\n\x0fSearchArtifacts\x12).flyteidl.artifact.SearchArtifactsRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/artifacts/api/v1/search\x12\x64\n\rCreateTrigger\x12\'.flyteidl.artifact.CreateTriggerRequest\x1a(.flyteidl.artifact.CreateTriggerResponse\"\x00\x12\x9f\x01\n\x11\x44\x65\x61\x63tivateTrigger\x12+.flyteidl.artifact.DeactivateTriggerRequest\x1a,.flyteidl.artifact.DeactivateTriggerResponse\"/\x82\xd3\xe4\x93\x02):\x01*2$/artifacts/api/v1/trigger/deactivate\x12O\n\x06\x41\x64\x64Tag\x12 .flyteidl.artifact.AddTagRequest\x1a!.flyteidl.artifact.AddTagResponse\"\x00\x12\x65\n\x10RegisterProducer\x12*.flyteidl.artifact.RegisterProducerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12\x65\n\x10RegisterConsumer\x12*.flyteidl.artifact.RegisterConsumerRequest\x1a#.flyteidl.artifact.RegisterResponse\"\x00\x12m\n\x12SetExecutionInputs\x12).flyteidl.artifact.ExecutionInputsRequest\x1a*.flyteidl.artifact.ExecutionInputsResponse\"\x00\x12\xd8\x01\n\x12\x46indByWorkflowExec\x12,.flyteidl.artifact.FindByWorkflowExecRequest\x1a*.flyteidl.artifact.SearchArtifactsResponse\"h\x82\xd3\xe4\x93\x02\x62\x12`/artifacts/api/v1/search/execution/{exec_id.project}/{exec_id.domain}/{exec_id.name}/{direction}\x12\xf5\x01\n\tListUsage\x12#.flyteidl.artifact.ListUsageRequest\x1a$.flyteidl.artifact.ListUsageResponse\"\x9c\x01\x82\xd3\xe4\x93\x02\x95\x01\x12\x92\x01/artifacts/api/v1/usage/{artifact_id.artifact_key.project}/{artifact_id.artifact_key.domain}/{artifact_id.artifact_key.name}/{artifact_id.version}B\xcc\x01\n\x15\x63om.flyteidl.artifactB\x0e\x41rtifactsProtoP\x01Z>github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/artifact\xa2\x02\x03\x46\x41X\xaa\x02\x11\x46lyteidl.Artifact\xca\x02\x11\x46lyteidl\\Artifact\xe2\x02\x1d\x46lyteidl\\Artifact\\GPBMetadata\xea\x02\x12\x46lyteidl::Artifactb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,9 +34,9 @@ _CREATEARTIFACTREQUEST_PARTITIONSENTRY._options = None _CREATEARTIFACTREQUEST_PARTITIONSENTRY._serialized_options = b'8\001' _ARTIFACTREGISTRY.methods_by_name['GetArtifact']._options = None - _ARTIFACTREGISTRY.methods_by_name['GetArtifact']._serialized_options = b'\202\323\344\223\002\213\004Z\263\001\022\260\001/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}/{query.artifact_id.version}Z\227\001\022\224\001/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}Z\233\001\022\230\001/artifacts/api/v1/artifact/tag/{query.artifact_tag.artifact_key.project}/{query.artifact_tag.artifact_key.domain}/{query.artifact_tag.artifact_key.name}\022\033/artifacts/api/v1/artifacts' + _ARTIFACTREGISTRY.methods_by_name['GetArtifact']._serialized_options = b'\202\323\344\223\002 :\001*\"\033/artifacts/api/v1/artifacts' _ARTIFACTREGISTRY.methods_by_name['SearchArtifacts']._options = None - _ARTIFACTREGISTRY.methods_by_name['SearchArtifacts']._serialized_options = b'\202\323\344\223\002\244\001ZG\022E/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}\022Y/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}/{artifact_key.name}' + _ARTIFACTREGISTRY.methods_by_name['SearchArtifacts']._serialized_options = b'\202\323\344\223\002\035:\001*\"\030/artifacts/api/v1/search' _ARTIFACTREGISTRY.methods_by_name['DeactivateTrigger']._options = None _ARTIFACTREGISTRY.methods_by_name['DeactivateTrigger']._serialized_options = b'\202\323\344\223\002):\001*2$/artifacts/api/v1/trigger/deactivate' _ARTIFACTREGISTRY.methods_by_name['FindByWorkflowExec']._options = None @@ -100,5 +100,5 @@ _globals['_LISTUSAGERESPONSE']._serialized_start=3563 _globals['_LISTUSAGERESPONSE']._serialized_end=3658 _globals['_ARTIFACTREGISTRY']._serialized_start=3661 - _globals['_ARTIFACTREGISTRY']._serialized_end=5822 + _globals['_ARTIFACTREGISTRY']._serialized_end=5192 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.py b/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.py index bcb507c1cb..5068f3edb4 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/core/identifier.proto\x12\rflyteidl.core\"\xae\x01\n\nIdentifier\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x18\n\x07version\x18\x05 \x01(\tR\x07version\"c\n\x1bWorkflowExecutionIdentifier\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\"\x81\x01\n\x17NodeExecutionIdentifier\x12\x17\n\x07node_id\x18\x01 \x01(\tR\x06nodeId\x12M\n\x0c\x65xecution_id\x18\x02 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xc6\x01\n\x17TaskExecutionIdentifier\x12\x32\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12R\n\x11node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x0fnodeExecutionId\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\"~\n\x10SignalIdentifier\x12\x1b\n\tsignal_id\x18\x01 \x01(\tR\x08signalId\x12M\n\x0c\x65xecution_id\x18\x02 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId*U\n\x0cResourceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04TASK\x10\x01\x12\x0c\n\x08WORKFLOW\x10\x02\x12\x0f\n\x0bLAUNCH_PLAN\x10\x03\x12\x0b\n\x07\x44\x41TASET\x10\x04\x42\xb5\x01\n\x11\x63om.flyteidl.coreB\x0fIdentifierProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/core/identifier.proto\x12\rflyteidl.core\"\xc0\x01\n\nIdentifier\x12@\n\rresource_type\x18\x01 \x01(\x0e\x32\x1b.flyteidl.core.ResourceTypeR\x0cresourceType\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x18\n\x07version\x18\x05 \x01(\tR\x07version\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\"u\n\x1bWorkflowExecutionIdentifier\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x10\n\x03org\x18\x05 \x01(\tR\x03org\"\x81\x01\n\x17NodeExecutionIdentifier\x12\x17\n\x07node_id\x18\x01 \x01(\tR\x06nodeId\x12M\n\x0c\x65xecution_id\x18\x02 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId\"\xc6\x01\n\x17TaskExecutionIdentifier\x12\x32\n\x07task_id\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\x06taskId\x12R\n\x11node_execution_id\x18\x02 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x0fnodeExecutionId\x12#\n\rretry_attempt\x18\x03 \x01(\rR\x0cretryAttempt\"~\n\x10SignalIdentifier\x12\x1b\n\tsignal_id\x18\x01 \x01(\tR\x08signalId\x12M\n\x0c\x65xecution_id\x18\x02 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x0b\x65xecutionId*U\n\x0cResourceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04TASK\x10\x01\x12\x0c\n\x08WORKFLOW\x10\x02\x12\x0f\n\x0bLAUNCH_PLAN\x10\x03\x12\x0b\n\x07\x44\x41TASET\x10\x04\x42\xb5\x01\n\x11\x63om.flyteidl.coreB\x0fIdentifierProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -22,16 +22,16 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\021com.flyteidl.coreB\017IdentifierProtoP\001Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\242\002\003FCX\252\002\rFlyteidl.Core\312\002\rFlyteidl\\Core\342\002\031Flyteidl\\Core\\GPBMetadata\352\002\016Flyteidl::Core' - _globals['_RESOURCETYPE']._serialized_start=788 - _globals['_RESOURCETYPE']._serialized_end=873 + _globals['_RESOURCETYPE']._serialized_start=824 + _globals['_RESOURCETYPE']._serialized_end=909 _globals['_IDENTIFIER']._serialized_start=50 - _globals['_IDENTIFIER']._serialized_end=224 - _globals['_WORKFLOWEXECUTIONIDENTIFIER']._serialized_start=226 - _globals['_WORKFLOWEXECUTIONIDENTIFIER']._serialized_end=325 - _globals['_NODEEXECUTIONIDENTIFIER']._serialized_start=328 - _globals['_NODEEXECUTIONIDENTIFIER']._serialized_end=457 - _globals['_TASKEXECUTIONIDENTIFIER']._serialized_start=460 - _globals['_TASKEXECUTIONIDENTIFIER']._serialized_end=658 - _globals['_SIGNALIDENTIFIER']._serialized_start=660 - _globals['_SIGNALIDENTIFIER']._serialized_end=786 + _globals['_IDENTIFIER']._serialized_end=242 + _globals['_WORKFLOWEXECUTIONIDENTIFIER']._serialized_start=244 + _globals['_WORKFLOWEXECUTIONIDENTIFIER']._serialized_end=361 + _globals['_NODEEXECUTIONIDENTIFIER']._serialized_start=364 + _globals['_NODEEXECUTIONIDENTIFIER']._serialized_end=493 + _globals['_TASKEXECUTIONIDENTIFIER']._serialized_start=496 + _globals['_TASKEXECUTIONIDENTIFIER']._serialized_end=694 + _globals['_SIGNALIDENTIFIER']._serialized_start=696 + _globals['_SIGNALIDENTIFIER']._serialized_end=822 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.pyi index 7adea46343..5d3857195e 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/core/identifier_pb2.pyi @@ -19,28 +19,32 @@ LAUNCH_PLAN: ResourceType DATASET: ResourceType class Identifier(_message.Message): - __slots__ = ["resource_type", "project", "domain", "name", "version"] + __slots__ = ["resource_type", "project", "domain", "name", "version", "org"] RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] resource_type: ResourceType project: str domain: str name: str version: str - def __init__(self, resource_type: _Optional[_Union[ResourceType, str]] = ..., project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, resource_type: _Optional[_Union[ResourceType, str]] = ..., project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., version: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class WorkflowExecutionIdentifier(_message.Message): - __slots__ = ["project", "domain", "name"] + __slots__ = ["project", "domain", "name", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str domain: str name: str - def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class NodeExecutionIdentifier(_message.Message): __slots__ = ["node_id", "execution_id"] diff --git a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py index 1de3b8a96e..c5699b3c85 100644 --- a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py @@ -16,7 +16,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&flyteidl/datacatalog/datacatalog.proto\x12\x0b\x64\x61tacatalog\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"F\n\x14\x43reateDatasetRequest\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x17\n\x15\x43reateDatasetResponse\"E\n\x11GetDatasetRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"D\n\x12GetDatasetResponse\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x96\x01\n\x12GetArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagNameB\x0e\n\x0cquery_handle\"H\n\x13GetArtifactResponse\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"J\n\x15\x43reateArtifactRequest\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"\x18\n\x16\x43reateArtifactResponse\"3\n\rAddTagRequest\x12\"\n\x03tag\x18\x01 \x01(\x0b\x32\x10.datacatalog.TagR\x03tag\"\x10\n\x0e\x41\x64\x64TagResponse\"\xbf\x01\n\x14ListArtifactsRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12\x35\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x03 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"k\n\x15ListArtifactsResponse\x12\x33\n\tartifacts\x18\x01 \x03(\x0b\x32\x15.datacatalog.ArtifactR\tartifacts\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\x8c\x01\n\x13ListDatasetsRequest\x12\x35\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x02 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"g\n\x14ListDatasetsResponse\x12\x30\n\x08\x64\x61tasets\x18\x01 \x03(\x0b\x32\x14.datacatalog.DatasetR\x08\x64\x61tasets\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\xfb\x01\n\x15UpdateArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagName\x12-\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61ta\x12\x31\n\x08metadata\x18\x05 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadataB\x0e\n\x0cquery_handle\"9\n\x16UpdateArtifactResponse\x12\x1f\n\x0b\x61rtifact_id\x18\x01 \x01(\tR\nartifactId\"a\n\rReservationID\x12\x35\n\ndataset_id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\tdatasetId\x12\x19\n\x08tag_name\x18\x02 \x01(\tR\x07tagName\"\xc7\x01\n\x1dGetOrExtendReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\"\xa3\x02\n\x0bReservation\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\x12\x39\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x31\n\x08metadata\x18\x06 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\"\\\n\x1eGetOrExtendReservationResponse\x12:\n\x0breservation\x18\x01 \x01(\x0b\x32\x18.datacatalog.ReservationR\x0breservation\"y\n\x19ReleaseReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\"\x1c\n\x1aReleaseReservationResponse\"\x8a\x01\n\x07\x44\x61taset\x12&\n\x02id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x02id\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12$\n\rpartitionKeys\x18\x03 \x03(\tR\rpartitionKeys\"3\n\tPartition\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x7f\n\tDatasetID\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12\x12\n\x04UUID\x18\x05 \x01(\tR\x04UUID\"\xc7\x02\n\x08\x41rtifact\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x30\n\x07\x64\x61taset\x18\x02 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12-\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61ta\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12\x36\n\npartitions\x18\x05 \x03(\x0b\x32\x16.datacatalog.PartitionR\npartitions\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x10.datacatalog.TagR\x04tags\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"P\n\x0c\x41rtifactData\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\"l\n\x03Tag\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0b\x61rtifact_id\x18\x02 \x01(\tR\nartifactId\x12\x30\n\x07\x64\x61taset\x18\x03 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"\x81\x01\n\x08Metadata\x12:\n\x07key_map\x18\x01 \x03(\x0b\x32!.datacatalog.Metadata.KeyMapEntryR\x06keyMap\x1a\x39\n\x0bKeyMapEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"O\n\x10\x46ilterExpression\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32!.datacatalog.SinglePropertyFilterR\x07\x66ilters\"\xce\x03\n\x14SinglePropertyFilter\x12?\n\ntag_filter\x18\x01 \x01(\x0b\x32\x1e.datacatalog.TagPropertyFilterH\x00R\ttagFilter\x12Q\n\x10partition_filter\x18\x02 \x01(\x0b\x32$.datacatalog.PartitionPropertyFilterH\x00R\x0fpartitionFilter\x12N\n\x0f\x61rtifact_filter\x18\x03 \x01(\x0b\x32#.datacatalog.ArtifactPropertyFilterH\x00R\x0e\x61rtifactFilter\x12K\n\x0e\x64\x61taset_filter\x18\x04 \x01(\x0b\x32\".datacatalog.DatasetPropertyFilterH\x00R\rdatasetFilter\x12P\n\x08operator\x18\n \x01(\x0e\x32\x34.datacatalog.SinglePropertyFilter.ComparisonOperatorR\x08operator\" \n\x12\x43omparisonOperator\x12\n\n\x06\x45QUALS\x10\x00\x42\x11\n\x0fproperty_filter\"G\n\x16\x41rtifactPropertyFilter\x12!\n\x0b\x61rtifact_id\x18\x01 \x01(\tH\x00R\nartifactIdB\n\n\x08property\"<\n\x11TagPropertyFilter\x12\x1b\n\x08tag_name\x18\x01 \x01(\tH\x00R\x07tagNameB\n\n\x08property\"[\n\x17PartitionPropertyFilter\x12\x34\n\x07key_val\x18\x01 \x01(\x0b\x32\x19.datacatalog.KeyValuePairH\x00R\x06keyValB\n\n\x08property\"6\n\x0cKeyValuePair\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x8b\x01\n\x15\x44\x61tasetPropertyFilter\x12\x1a\n\x07project\x18\x01 \x01(\tH\x00R\x07project\x12\x14\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x12\x18\n\x06\x64omain\x18\x03 \x01(\tH\x00R\x06\x64omain\x12\x1a\n\x07version\x18\x04 \x01(\tH\x00R\x07versionB\n\n\x08property\"\x93\x02\n\x11PaginationOptions\x12\x14\n\x05limit\x18\x01 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12@\n\x07sortKey\x18\x03 \x01(\x0e\x32&.datacatalog.PaginationOptions.SortKeyR\x07sortKey\x12\x46\n\tsortOrder\x18\x04 \x01(\x0e\x32(.datacatalog.PaginationOptions.SortOrderR\tsortOrder\"*\n\tSortOrder\x12\x0e\n\nDESCENDING\x10\x00\x12\r\n\tASCENDING\x10\x01\"\x1c\n\x07SortKey\x12\x11\n\rCREATION_TIME\x10\x00\x32\x86\x07\n\x0b\x44\x61taCatalog\x12V\n\rCreateDataset\x12!.datacatalog.CreateDatasetRequest\x1a\".datacatalog.CreateDatasetResponse\x12M\n\nGetDataset\x12\x1e.datacatalog.GetDatasetRequest\x1a\x1f.datacatalog.GetDatasetResponse\x12Y\n\x0e\x43reateArtifact\x12\".datacatalog.CreateArtifactRequest\x1a#.datacatalog.CreateArtifactResponse\x12P\n\x0bGetArtifact\x12\x1f.datacatalog.GetArtifactRequest\x1a .datacatalog.GetArtifactResponse\x12\x41\n\x06\x41\x64\x64Tag\x12\x1a.datacatalog.AddTagRequest\x1a\x1b.datacatalog.AddTagResponse\x12V\n\rListArtifacts\x12!.datacatalog.ListArtifactsRequest\x1a\".datacatalog.ListArtifactsResponse\x12S\n\x0cListDatasets\x12 .datacatalog.ListDatasetsRequest\x1a!.datacatalog.ListDatasetsResponse\x12Y\n\x0eUpdateArtifact\x12\".datacatalog.UpdateArtifactRequest\x1a#.datacatalog.UpdateArtifactResponse\x12q\n\x16GetOrExtendReservation\x12*.datacatalog.GetOrExtendReservationRequest\x1a+.datacatalog.GetOrExtendReservationResponse\x12\x65\n\x12ReleaseReservation\x12&.datacatalog.ReleaseReservationRequest\x1a\'.datacatalog.ReleaseReservationResponseB\xb2\x01\n\x0f\x63om.datacatalogB\x10\x44\x61tacatalogProtoP\x01ZAgithub.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/datacatalog\xa2\x02\x03\x44XX\xaa\x02\x0b\x44\x61tacatalog\xca\x02\x0b\x44\x61tacatalog\xe2\x02\x17\x44\x61tacatalog\\GPBMetadata\xea\x02\x0b\x44\x61tacatalogb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&flyteidl/datacatalog/datacatalog.proto\x12\x0b\x64\x61tacatalog\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"F\n\x14\x43reateDatasetRequest\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x17\n\x15\x43reateDatasetResponse\"E\n\x11GetDatasetRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"D\n\x12GetDatasetResponse\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x96\x01\n\x12GetArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagNameB\x0e\n\x0cquery_handle\"H\n\x13GetArtifactResponse\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"J\n\x15\x43reateArtifactRequest\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"\x18\n\x16\x43reateArtifactResponse\"3\n\rAddTagRequest\x12\"\n\x03tag\x18\x01 \x01(\x0b\x32\x10.datacatalog.TagR\x03tag\"\x10\n\x0e\x41\x64\x64TagResponse\"\xbf\x01\n\x14ListArtifactsRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12\x35\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x03 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"k\n\x15ListArtifactsResponse\x12\x33\n\tartifacts\x18\x01 \x03(\x0b\x32\x15.datacatalog.ArtifactR\tartifacts\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\x8c\x01\n\x13ListDatasetsRequest\x12\x35\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x02 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"g\n\x14ListDatasetsResponse\x12\x30\n\x08\x64\x61tasets\x18\x01 \x03(\x0b\x32\x14.datacatalog.DatasetR\x08\x64\x61tasets\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\xfb\x01\n\x15UpdateArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagName\x12-\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61ta\x12\x31\n\x08metadata\x18\x05 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadataB\x0e\n\x0cquery_handle\"9\n\x16UpdateArtifactResponse\x12\x1f\n\x0b\x61rtifact_id\x18\x01 \x01(\tR\nartifactId\"a\n\rReservationID\x12\x35\n\ndataset_id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\tdatasetId\x12\x19\n\x08tag_name\x18\x02 \x01(\tR\x07tagName\"\xc7\x01\n\x1dGetOrExtendReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\"\xa3\x02\n\x0bReservation\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\x12\x39\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x31\n\x08metadata\x18\x06 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\"\\\n\x1eGetOrExtendReservationResponse\x12:\n\x0breservation\x18\x01 \x01(\x0b\x32\x18.datacatalog.ReservationR\x0breservation\"y\n\x19ReleaseReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\"\x1c\n\x1aReleaseReservationResponse\"\x8a\x01\n\x07\x44\x61taset\x12&\n\x02id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x02id\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12$\n\rpartitionKeys\x18\x03 \x03(\tR\rpartitionKeys\"3\n\tPartition\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x91\x01\n\tDatasetID\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12\x12\n\x04UUID\x18\x05 \x01(\tR\x04UUID\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\"\xc7\x02\n\x08\x41rtifact\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x30\n\x07\x64\x61taset\x18\x02 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12-\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61ta\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12\x36\n\npartitions\x18\x05 \x03(\x0b\x32\x16.datacatalog.PartitionR\npartitions\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x10.datacatalog.TagR\x04tags\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"P\n\x0c\x41rtifactData\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\"l\n\x03Tag\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0b\x61rtifact_id\x18\x02 \x01(\tR\nartifactId\x12\x30\n\x07\x64\x61taset\x18\x03 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"\x81\x01\n\x08Metadata\x12:\n\x07key_map\x18\x01 \x03(\x0b\x32!.datacatalog.Metadata.KeyMapEntryR\x06keyMap\x1a\x39\n\x0bKeyMapEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"O\n\x10\x46ilterExpression\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32!.datacatalog.SinglePropertyFilterR\x07\x66ilters\"\xce\x03\n\x14SinglePropertyFilter\x12?\n\ntag_filter\x18\x01 \x01(\x0b\x32\x1e.datacatalog.TagPropertyFilterH\x00R\ttagFilter\x12Q\n\x10partition_filter\x18\x02 \x01(\x0b\x32$.datacatalog.PartitionPropertyFilterH\x00R\x0fpartitionFilter\x12N\n\x0f\x61rtifact_filter\x18\x03 \x01(\x0b\x32#.datacatalog.ArtifactPropertyFilterH\x00R\x0e\x61rtifactFilter\x12K\n\x0e\x64\x61taset_filter\x18\x04 \x01(\x0b\x32\".datacatalog.DatasetPropertyFilterH\x00R\rdatasetFilter\x12P\n\x08operator\x18\n \x01(\x0e\x32\x34.datacatalog.SinglePropertyFilter.ComparisonOperatorR\x08operator\" \n\x12\x43omparisonOperator\x12\n\n\x06\x45QUALS\x10\x00\x42\x11\n\x0fproperty_filter\"G\n\x16\x41rtifactPropertyFilter\x12!\n\x0b\x61rtifact_id\x18\x01 \x01(\tH\x00R\nartifactIdB\n\n\x08property\"<\n\x11TagPropertyFilter\x12\x1b\n\x08tag_name\x18\x01 \x01(\tH\x00R\x07tagNameB\n\n\x08property\"[\n\x17PartitionPropertyFilter\x12\x34\n\x07key_val\x18\x01 \x01(\x0b\x32\x19.datacatalog.KeyValuePairH\x00R\x06keyValB\n\n\x08property\"6\n\x0cKeyValuePair\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x9f\x01\n\x15\x44\x61tasetPropertyFilter\x12\x1a\n\x07project\x18\x01 \x01(\tH\x00R\x07project\x12\x14\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x12\x18\n\x06\x64omain\x18\x03 \x01(\tH\x00R\x06\x64omain\x12\x1a\n\x07version\x18\x04 \x01(\tH\x00R\x07version\x12\x12\n\x03org\x18\x05 \x01(\tH\x00R\x03orgB\n\n\x08property\"\x93\x02\n\x11PaginationOptions\x12\x14\n\x05limit\x18\x01 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12@\n\x07sortKey\x18\x03 \x01(\x0e\x32&.datacatalog.PaginationOptions.SortKeyR\x07sortKey\x12\x46\n\tsortOrder\x18\x04 \x01(\x0e\x32(.datacatalog.PaginationOptions.SortOrderR\tsortOrder\"*\n\tSortOrder\x12\x0e\n\nDESCENDING\x10\x00\x12\r\n\tASCENDING\x10\x01\"\x1c\n\x07SortKey\x12\x11\n\rCREATION_TIME\x10\x00\x32\x86\x07\n\x0b\x44\x61taCatalog\x12V\n\rCreateDataset\x12!.datacatalog.CreateDatasetRequest\x1a\".datacatalog.CreateDatasetResponse\x12M\n\nGetDataset\x12\x1e.datacatalog.GetDatasetRequest\x1a\x1f.datacatalog.GetDatasetResponse\x12Y\n\x0e\x43reateArtifact\x12\".datacatalog.CreateArtifactRequest\x1a#.datacatalog.CreateArtifactResponse\x12P\n\x0bGetArtifact\x12\x1f.datacatalog.GetArtifactRequest\x1a .datacatalog.GetArtifactResponse\x12\x41\n\x06\x41\x64\x64Tag\x12\x1a.datacatalog.AddTagRequest\x1a\x1b.datacatalog.AddTagResponse\x12V\n\rListArtifacts\x12!.datacatalog.ListArtifactsRequest\x1a\".datacatalog.ListArtifactsResponse\x12S\n\x0cListDatasets\x12 .datacatalog.ListDatasetsRequest\x1a!.datacatalog.ListDatasetsResponse\x12Y\n\x0eUpdateArtifact\x12\".datacatalog.UpdateArtifactRequest\x1a#.datacatalog.UpdateArtifactResponse\x12q\n\x16GetOrExtendReservation\x12*.datacatalog.GetOrExtendReservationRequest\x1a+.datacatalog.GetOrExtendReservationResponse\x12\x65\n\x12ReleaseReservation\x12&.datacatalog.ReleaseReservationRequest\x1a\'.datacatalog.ReleaseReservationResponseB\xb2\x01\n\x0f\x63om.datacatalogB\x10\x44\x61tacatalogProtoP\x01ZAgithub.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/datacatalog\xa2\x02\x03\x44XX\xaa\x02\x0b\x44\x61tacatalog\xca\x02\x0b\x44\x61tacatalog\xe2\x02\x17\x44\x61tacatalog\\GPBMetadata\xea\x02\x0b\x44\x61tacatalogb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -75,40 +75,40 @@ _globals['_DATASET']._serialized_end=2633 _globals['_PARTITION']._serialized_start=2635 _globals['_PARTITION']._serialized_end=2686 - _globals['_DATASETID']._serialized_start=2688 - _globals['_DATASETID']._serialized_end=2815 - _globals['_ARTIFACT']._serialized_start=2818 - _globals['_ARTIFACT']._serialized_end=3145 - _globals['_ARTIFACTDATA']._serialized_start=3147 - _globals['_ARTIFACTDATA']._serialized_end=3227 - _globals['_TAG']._serialized_start=3229 - _globals['_TAG']._serialized_end=3337 - _globals['_METADATA']._serialized_start=3340 - _globals['_METADATA']._serialized_end=3469 - _globals['_METADATA_KEYMAPENTRY']._serialized_start=3412 - _globals['_METADATA_KEYMAPENTRY']._serialized_end=3469 - _globals['_FILTEREXPRESSION']._serialized_start=3471 - _globals['_FILTEREXPRESSION']._serialized_end=3550 - _globals['_SINGLEPROPERTYFILTER']._serialized_start=3553 - _globals['_SINGLEPROPERTYFILTER']._serialized_end=4015 - _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_start=3964 - _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_end=3996 - _globals['_ARTIFACTPROPERTYFILTER']._serialized_start=4017 - _globals['_ARTIFACTPROPERTYFILTER']._serialized_end=4088 - _globals['_TAGPROPERTYFILTER']._serialized_start=4090 - _globals['_TAGPROPERTYFILTER']._serialized_end=4150 - _globals['_PARTITIONPROPERTYFILTER']._serialized_start=4152 - _globals['_PARTITIONPROPERTYFILTER']._serialized_end=4243 - _globals['_KEYVALUEPAIR']._serialized_start=4245 - _globals['_KEYVALUEPAIR']._serialized_end=4299 - _globals['_DATASETPROPERTYFILTER']._serialized_start=4302 - _globals['_DATASETPROPERTYFILTER']._serialized_end=4441 - _globals['_PAGINATIONOPTIONS']._serialized_start=4444 - _globals['_PAGINATIONOPTIONS']._serialized_end=4719 - _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_start=4647 - _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_end=4689 - _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_start=4691 - _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_end=4719 - _globals['_DATACATALOG']._serialized_start=4722 - _globals['_DATACATALOG']._serialized_end=5624 + _globals['_DATASETID']._serialized_start=2689 + _globals['_DATASETID']._serialized_end=2834 + _globals['_ARTIFACT']._serialized_start=2837 + _globals['_ARTIFACT']._serialized_end=3164 + _globals['_ARTIFACTDATA']._serialized_start=3166 + _globals['_ARTIFACTDATA']._serialized_end=3246 + _globals['_TAG']._serialized_start=3248 + _globals['_TAG']._serialized_end=3356 + _globals['_METADATA']._serialized_start=3359 + _globals['_METADATA']._serialized_end=3488 + _globals['_METADATA_KEYMAPENTRY']._serialized_start=3431 + _globals['_METADATA_KEYMAPENTRY']._serialized_end=3488 + _globals['_FILTEREXPRESSION']._serialized_start=3490 + _globals['_FILTEREXPRESSION']._serialized_end=3569 + _globals['_SINGLEPROPERTYFILTER']._serialized_start=3572 + _globals['_SINGLEPROPERTYFILTER']._serialized_end=4034 + _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_start=3983 + _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_end=4015 + _globals['_ARTIFACTPROPERTYFILTER']._serialized_start=4036 + _globals['_ARTIFACTPROPERTYFILTER']._serialized_end=4107 + _globals['_TAGPROPERTYFILTER']._serialized_start=4109 + _globals['_TAGPROPERTYFILTER']._serialized_end=4169 + _globals['_PARTITIONPROPERTYFILTER']._serialized_start=4171 + _globals['_PARTITIONPROPERTYFILTER']._serialized_end=4262 + _globals['_KEYVALUEPAIR']._serialized_start=4264 + _globals['_KEYVALUEPAIR']._serialized_end=4318 + _globals['_DATASETPROPERTYFILTER']._serialized_start=4321 + _globals['_DATASETPROPERTYFILTER']._serialized_end=4480 + _globals['_PAGINATIONOPTIONS']._serialized_start=4483 + _globals['_PAGINATIONOPTIONS']._serialized_end=4758 + _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_start=4686 + _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_end=4728 + _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_start=4730 + _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_end=4758 + _globals['_DATACATALOG']._serialized_start=4761 + _globals['_DATACATALOG']._serialized_end=5663 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi index 94cd96797b..22dd8edbfe 100644 --- a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi @@ -190,18 +190,20 @@ class Partition(_message.Message): def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... class DatasetID(_message.Message): - __slots__ = ["project", "name", "domain", "version", "UUID"] + __slots__ = ["project", "name", "domain", "version", "UUID", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] UUID_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str name: str domain: str version: str UUID: str - def __init__(self, project: _Optional[str] = ..., name: _Optional[str] = ..., domain: _Optional[str] = ..., version: _Optional[str] = ..., UUID: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., name: _Optional[str] = ..., domain: _Optional[str] = ..., version: _Optional[str] = ..., UUID: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class Artifact(_message.Message): __slots__ = ["id", "dataset", "data", "metadata", "partitions", "tags", "created_at"] @@ -303,16 +305,18 @@ class KeyValuePair(_message.Message): def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... class DatasetPropertyFilter(_message.Message): - __slots__ = ["project", "name", "domain", "version"] + __slots__ = ["project", "name", "domain", "version", "org"] PROJECT_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] DOMAIN_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] + ORG_FIELD_NUMBER: _ClassVar[int] project: str name: str domain: str version: str - def __init__(self, project: _Optional[str] = ..., name: _Optional[str] = ..., domain: _Optional[str] = ..., version: _Optional[str] = ...) -> None: ... + org: str + def __init__(self, project: _Optional[str] = ..., name: _Optional[str] = ..., domain: _Optional[str] = ..., version: _Optional[str] = ..., org: _Optional[str] = ...) -> None: ... class PaginationOptions(_message.Message): __slots__ = ["limit", "token", "sortKey", "sortOrder"] diff --git a/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py b/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py index d48148be62..4ba67242fb 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py @@ -29,7 +29,7 @@ from flyteidl.admin import description_entity_pb2 as flyteidl_dot_admin_dot_description__entity__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/service/admin.proto\x12\x10\x66lyteidl.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1c\x66lyteidl/admin/project.proto\x1a.flyteidl/admin/project_domain_attributes.proto\x1a\'flyteidl/admin/project_attributes.proto\x1a\x19\x66lyteidl/admin/task.proto\x1a\x1d\x66lyteidl/admin/workflow.proto\x1a(flyteidl/admin/workflow_attributes.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1a\x66lyteidl/admin/event.proto\x1a\x1e\x66lyteidl/admin/execution.proto\x1a\'flyteidl/admin/matchable_resource.proto\x1a#flyteidl/admin/node_execution.proto\x1a#flyteidl/admin/task_execution.proto\x1a\x1c\x66lyteidl/admin/version.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\'flyteidl/admin/description_entity.proto2\x84N\n\x0c\x41\x64minService\x12m\n\nCreateTask\x12!.flyteidl.admin.TaskCreateRequest\x1a\".flyteidl.admin.TaskCreateResponse\"\x18\x82\xd3\xe4\x93\x02\x12:\x01*\"\r/api/v1/tasks\x12\x88\x01\n\x07GetTask\x12 .flyteidl.admin.ObjectGetRequest\x1a\x14.flyteidl.admin.Task\"E\x82\xd3\xe4\x93\x02?\x12=/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}\x12\x97\x01\n\x0bListTaskIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"+\x82\xd3\xe4\x93\x02%\x12#/api/v1/task_ids/{project}/{domain}\x12\xae\x01\n\tListTasks\x12#.flyteidl.admin.ResourceListRequest\x1a\x18.flyteidl.admin.TaskList\"b\x82\xd3\xe4\x93\x02\\Z(\x12&/api/v1/tasks/{id.project}/{id.domain}\x12\x30/api/v1/tasks/{id.project}/{id.domain}/{id.name}\x12}\n\x0e\x43reateWorkflow\x12%.flyteidl.admin.WorkflowCreateRequest\x1a&.flyteidl.admin.WorkflowCreateResponse\"\x1c\x82\xd3\xe4\x93\x02\x16:\x01*\"\x11/api/v1/workflows\x12\x94\x01\n\x0bGetWorkflow\x12 .flyteidl.admin.ObjectGetRequest\x1a\x18.flyteidl.admin.Workflow\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}\x12\x9f\x01\n\x0fListWorkflowIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"/\x82\xd3\xe4\x93\x02)\x12\'/api/v1/workflow_ids/{project}/{domain}\x12\xbe\x01\n\rListWorkflows\x12#.flyteidl.admin.ResourceListRequest\x1a\x1c.flyteidl.admin.WorkflowList\"j\x82\xd3\xe4\x93\x02\x64Z,\x12*/api/v1/workflows/{id.project}/{id.domain}\x12\x34/api/v1/workflows/{id.project}/{id.domain}/{id.name}\x12\x86\x01\n\x10\x43reateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanCreateRequest\x1a(.flyteidl.admin.LaunchPlanCreateResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v1/launch_plans\x12\x9b\x01\n\rGetLaunchPlan\x12 .flyteidl.admin.ObjectGetRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}\x12\xa2\x01\n\x13GetActiveLaunchPlan\x12\'.flyteidl.admin.ActiveLaunchPlanRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"F\x82\xd3\xe4\x93\x02@\x12>/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}\x12\x9c\x01\n\x15ListActiveLaunchPlans\x12+.flyteidl.admin.ActiveLaunchPlanListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"6\x82\xd3\xe4\x93\x02\x30\x12./api/v1/active_launch_plans/{project}/{domain}\x12\xa4\x01\n\x11ListLaunchPlanIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"2\x82\xd3\xe4\x93\x02,\x12*/api/v1/launch_plan_ids/{project}/{domain}\x12\xc8\x01\n\x0fListLaunchPlans\x12#.flyteidl.admin.ResourceListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"p\x82\xd3\xe4\x93\x02jZ/\x12-/api/v1/launch_plans/{id.project}/{id.domain}\x12\x37/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}\x12\xb6\x01\n\x10UpdateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanUpdateRequest\x1a(.flyteidl.admin.LaunchPlanUpdateResponse\"O\x82\xd3\xe4\x93\x02I:\x01*\x1a\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}\x12\x81\x01\n\x0f\x43reateExecution\x12&.flyteidl.admin.ExecutionCreateRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"\x1d\x82\xd3\xe4\x93\x02\x17:\x01*\"\x12/api/v1/executions\x12\x8e\x01\n\x11RelaunchExecution\x12(.flyteidl.admin.ExecutionRelaunchRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/api/v1/executions/relaunch\x12\x8b\x01\n\x10RecoverExecution\x12\'.flyteidl.admin.ExecutionRecoverRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"%\x82\xd3\xe4\x93\x02\x1f:\x01*\"\x1a/api/v1/executions/recover\x12\x95\x01\n\x0cGetExecution\x12+.flyteidl.admin.WorkflowExecutionGetRequest\x1a\x19.flyteidl.admin.Execution\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/api/v1/executions/{id.project}/{id.domain}/{id.name}\x12\xa4\x01\n\x0fUpdateExecution\x12&.flyteidl.admin.ExecutionUpdateRequest\x1a\'.flyteidl.admin.ExecutionUpdateResponse\"@\x82\xd3\xe4\x93\x02::\x01*\x1a\x35/api/v1/executions/{id.project}/{id.domain}/{id.name}\x12\xb9\x01\n\x10GetExecutionData\x12/.flyteidl.admin.WorkflowExecutionGetDataRequest\x1a\x30.flyteidl.admin.WorkflowExecutionGetDataResponse\"B\x82\xd3\xe4\x93\x02<\x12:/api/v1/data/executions/{id.project}/{id.domain}/{id.name}\x12\x89\x01\n\x0eListExecutions\x12#.flyteidl.admin.ResourceListRequest\x1a\x1d.flyteidl.admin.ExecutionList\"3\x82\xd3\xe4\x93\x02-\x12+/api/v1/executions/{id.project}/{id.domain}\x12\xad\x01\n\x12TerminateExecution\x12).flyteidl.admin.ExecutionTerminateRequest\x1a*.flyteidl.admin.ExecutionTerminateResponse\"@\x82\xd3\xe4\x93\x02::\x01**5/api/v1/executions/{id.project}/{id.domain}/{id.name}\x12\xd2\x01\n\x10GetNodeExecution\x12\'.flyteidl.admin.NodeExecutionGetRequest\x1a\x1d.flyteidl.admin.NodeExecution\"v\x82\xd3\xe4\x93\x02p\x12n/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x12\xde\x01\n\x12ListNodeExecutions\x12(.flyteidl.admin.NodeExecutionListRequest\x1a!.flyteidl.admin.NodeExecutionList\"{\x82\xd3\xe4\x93\x02u\x12s/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\x12\xa5\x04\n\x19ListNodeExecutionsForTask\x12/.flyteidl.admin.NodeExecutionForTaskListRequest\x1a!.flyteidl.admin.NodeExecutionList\"\xb3\x03\x82\xd3\xe4\x93\x02\xac\x03\x12\xa9\x03/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}\x12\xee\x01\n\x14GetNodeExecutionData\x12+.flyteidl.admin.NodeExecutionGetDataRequest\x1a,.flyteidl.admin.NodeExecutionGetDataResponse\"{\x82\xd3\xe4\x93\x02u\x12s/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x12\x7f\n\x0fRegisterProject\x12&.flyteidl.admin.ProjectRegisterRequest\x1a\'.flyteidl.admin.ProjectRegisterResponse\"\x1b\x82\xd3\xe4\x93\x02\x15:\x01*\"\x10/api/v1/projects\x12q\n\rUpdateProject\x12\x17.flyteidl.admin.Project\x1a%.flyteidl.admin.ProjectUpdateResponse\" \x82\xd3\xe4\x93\x02\x1a:\x01*\x1a\x15/api/v1/projects/{id}\x12\x66\n\x0cListProjects\x12\".flyteidl.admin.ProjectListRequest\x1a\x18.flyteidl.admin.Projects\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v1/projects\x12\x99\x01\n\x13\x43reateWorkflowEvent\x12-.flyteidl.admin.WorkflowExecutionEventRequest\x1a..flyteidl.admin.WorkflowExecutionEventResponse\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/api/v1/events/workflows\x12\x89\x01\n\x0f\x43reateNodeEvent\x12).flyteidl.admin.NodeExecutionEventRequest\x1a*.flyteidl.admin.NodeExecutionEventResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v1/events/nodes\x12\x89\x01\n\x0f\x43reateTaskEvent\x12).flyteidl.admin.TaskExecutionEventRequest\x1a*.flyteidl.admin.TaskExecutionEventResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v1/events/tasks\x12\x80\x03\n\x10GetTaskExecution\x12\'.flyteidl.admin.TaskExecutionGetRequest\x1a\x1d.flyteidl.admin.TaskExecution\"\xa3\x02\x82\xd3\xe4\x93\x02\x9c\x02\x12\x99\x02/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x12\x98\x02\n\x12ListTaskExecutions\x12(.flyteidl.admin.TaskExecutionListRequest\x1a!.flyteidl.admin.TaskExecutionList\"\xb4\x01\x82\xd3\xe4\x93\x02\xad\x01\x12\xaa\x01/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}\x12\x9c\x03\n\x14GetTaskExecutionData\x12+.flyteidl.admin.TaskExecutionGetDataRequest\x1a,.flyteidl.admin.TaskExecutionGetDataResponse\"\xa8\x02\x82\xd3\xe4\x93\x02\xa1\x02\x12\x9e\x02/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x12\xe3\x01\n\x1dUpdateProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesUpdateRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesUpdateResponse\"U\x82\xd3\xe4\x93\x02O:\x01*\x1aJ/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}\x12\xc1\x01\n\x1aGetProjectDomainAttributes\x12\x31.flyteidl.admin.ProjectDomainAttributesGetRequest\x1a\x32.flyteidl.admin.ProjectDomainAttributesGetResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/api/v1/project_domain_attributes/{project}/{domain}\x12\xcd\x01\n\x1d\x44\x65leteProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesDeleteRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesDeleteResponse\"?\x82\xd3\xe4\x93\x02\x39:\x01**4/api/v1/project_domain_attributes/{project}/{domain}\x12\xb6\x01\n\x17UpdateProjectAttributes\x12..flyteidl.admin.ProjectAttributesUpdateRequest\x1a/.flyteidl.admin.ProjectAttributesUpdateResponse\":\x82\xd3\xe4\x93\x02\x34:\x01*\x1a//api/v1/project_attributes/{attributes.project}\x12\x9f\x01\n\x14GetProjectAttributes\x12+.flyteidl.admin.ProjectAttributesGetRequest\x1a,.flyteidl.admin.ProjectAttributesGetResponse\",\x82\xd3\xe4\x93\x02&\x12$/api/v1/project_attributes/{project}\x12\xab\x01\n\x17\x44\x65leteProjectAttributes\x12..flyteidl.admin.ProjectAttributesDeleteRequest\x1a/.flyteidl.admin.ProjectAttributesDeleteResponse\"/\x82\xd3\xe4\x93\x02):\x01**$/api/v1/project_attributes/{project}\x12\xe4\x01\n\x18UpdateWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesUpdateRequest\x1a\x30.flyteidl.admin.WorkflowAttributesUpdateResponse\"e\x82\xd3\xe4\x93\x02_:\x01*\x1aZ/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}\x12\xb7\x01\n\x15GetWorkflowAttributes\x12,.flyteidl.admin.WorkflowAttributesGetRequest\x1a-.flyteidl.admin.WorkflowAttributesGetResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/api/v1/workflow_attributes/{project}/{domain}/{workflow}\x12\xc3\x01\n\x18\x44\x65leteWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesDeleteRequest\x1a\x30.flyteidl.admin.WorkflowAttributesDeleteResponse\"D\x82\xd3\xe4\x93\x02>:\x01**9/api/v1/workflow_attributes/{project}/{domain}/{workflow}\x12\xa0\x01\n\x17ListMatchableAttributes\x12..flyteidl.admin.ListMatchableAttributesRequest\x1a/.flyteidl.admin.ListMatchableAttributesResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/v1/matchable_attributes\x12\x9f\x01\n\x11ListNamedEntities\x12&.flyteidl.admin.NamedEntityListRequest\x1a\x1f.flyteidl.admin.NamedEntityList\"A\x82\xd3\xe4\x93\x02;\x12\x39/api/v1/named_entities/{resource_type}/{project}/{domain}\x12\xa7\x01\n\x0eGetNamedEntity\x12%.flyteidl.admin.NamedEntityGetRequest\x1a\x1b.flyteidl.admin.NamedEntity\"Q\x82\xd3\xe4\x93\x02K\x12I/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}\x12\xbe\x01\n\x11UpdateNamedEntity\x12(.flyteidl.admin.NamedEntityUpdateRequest\x1a).flyteidl.admin.NamedEntityUpdateResponse\"T\x82\xd3\xe4\x93\x02N:\x01*\x1aI/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}\x12l\n\nGetVersion\x12!.flyteidl.admin.GetVersionRequest\x1a\".flyteidl.admin.GetVersionResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/v1/version\x12\xc4\x01\n\x14GetDescriptionEntity\x12 .flyteidl.admin.ObjectGetRequest\x1a!.flyteidl.admin.DescriptionEntity\"g\x82\xd3\xe4\x93\x02\x61\x12_/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}\x12\x92\x02\n\x17ListDescriptionEntities\x12,.flyteidl.admin.DescriptionEntityListRequest\x1a%.flyteidl.admin.DescriptionEntityList\"\xa1\x01\x82\xd3\xe4\x93\x02\x9a\x01ZG\x12\x45/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}\x12O/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}\x12\xc5\x01\n\x13GetExecutionMetrics\x12\x32.flyteidl.admin.WorkflowExecutionGetMetricsRequest\x1a\x33.flyteidl.admin.WorkflowExecutionGetMetricsResponse\"E\x82\xd3\xe4\x93\x02?\x12=/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}B\xc2\x01\n\x14\x63om.flyteidl.serviceB\nAdminProtoP\x01Z=github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service\xa2\x02\x03\x46SX\xaa\x02\x10\x46lyteidl.Service\xca\x02\x10\x46lyteidl\\Service\xe2\x02\x1c\x46lyteidl\\Service\\GPBMetadata\xea\x02\x11\x46lyteidl::Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/service/admin.proto\x12\x10\x66lyteidl.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1c\x66lyteidl/admin/project.proto\x1a.flyteidl/admin/project_domain_attributes.proto\x1a\'flyteidl/admin/project_attributes.proto\x1a\x19\x66lyteidl/admin/task.proto\x1a\x1d\x66lyteidl/admin/workflow.proto\x1a(flyteidl/admin/workflow_attributes.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1a\x66lyteidl/admin/event.proto\x1a\x1e\x66lyteidl/admin/execution.proto\x1a\'flyteidl/admin/matchable_resource.proto\x1a#flyteidl/admin/node_execution.proto\x1a#flyteidl/admin/task_execution.proto\x1a\x1c\x66lyteidl/admin/version.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\'flyteidl/admin/description_entity.proto2\xb5q\n\x0c\x41\x64minService\x12m\n\nCreateTask\x12!.flyteidl.admin.TaskCreateRequest\x1a\".flyteidl.admin.TaskCreateResponse\"\x18\x82\xd3\xe4\x93\x02\x12:\x01*\"\r/api/v1/tasks\x12\xd8\x01\n\x07GetTask\x12 .flyteidl.admin.ObjectGetRequest\x1a\x14.flyteidl.admin.Task\"\x94\x01\x82\xd3\xe4\x93\x02\x8d\x01ZL\x12J/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\x12=/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}\x12\xc5\x01\n\x0bListTaskIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"Y\x82\xd3\xe4\x93\x02SZ,\x12*/api/v1/tasks/org/{org}/{project}/{domain}\x12#/api/v1/task_ids/{project}/{domain}\x12\xa8\x02\n\tListTasks\x12#.flyteidl.admin.ResourceListRequest\x1a\x18.flyteidl.admin.TaskList\"\xdb\x01\x82\xd3\xe4\x93\x02\xd4\x01Z?\x12=/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}Z(\x12&/api/v1/tasks/{id.project}/{id.domain}Z5\x12\x33/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}\x12\x30/api/v1/tasks/{id.project}/{id.domain}/{id.name}\x12}\n\x0e\x43reateWorkflow\x12%.flyteidl.admin.WorkflowCreateRequest\x1a&.flyteidl.admin.WorkflowCreateResponse\"\x1c\x82\xd3\xe4\x93\x02\x16:\x01*\"\x11/api/v1/workflows\x12\xe8\x01\n\x0bGetWorkflow\x12 .flyteidl.admin.ObjectGetRequest\x1a\x18.flyteidl.admin.Workflow\"\x9c\x01\x82\xd3\xe4\x93\x02\x95\x01ZP\x12N/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\x12\x41/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}\x12\xd1\x01\n\x0fListWorkflowIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"a\x82\xd3\xe4\x93\x02[Z0\x12./api/v1/workflows/org/{org}/{project}/{domain}\x12\'/api/v1/workflow_ids/{project}/{domain}\x12\xc0\x02\n\rListWorkflows\x12#.flyteidl.admin.ResourceListRequest\x1a\x1c.flyteidl.admin.WorkflowList\"\xeb\x01\x82\xd3\xe4\x93\x02\xe4\x01ZC\x12\x41/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}Z,\x12*/api/v1/workflows/{id.project}/{id.domain}Z9\x12\x37/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}\x12\x34/api/v1/workflows/{id.project}/{id.domain}/{id.name}\x12\x86\x01\n\x10\x43reateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanCreateRequest\x1a(.flyteidl.admin.LaunchPlanCreateResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v1/launch_plans\x12\xf2\x01\n\rGetLaunchPlan\x12 .flyteidl.admin.ObjectGetRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"\xa2\x01\x82\xd3\xe4\x93\x02\x9b\x01ZS\x12Q/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\x12\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}\x12\xf3\x01\n\x13GetActiveLaunchPlan\x12\'.flyteidl.admin.ActiveLaunchPlanRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"\x96\x01\x82\xd3\xe4\x93\x02\x8f\x01ZM\x12K/api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}\x12>/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}\x12\x9c\x01\n\x15ListActiveLaunchPlans\x12+.flyteidl.admin.ActiveLaunchPlanListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"6\x82\xd3\xe4\x93\x02\x30\x12./api/v1/active_launch_plans/{project}/{domain}\x12\xdc\x01\n\x11ListLaunchPlanIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"j\x82\xd3\xe4\x93\x02\x64Z6\x12\x34/api/v1/launch_plan_ids/org/{org}/{project}/{domain}\x12*/api/v1/launch_plan_ids/{project}/{domain}\x12\xd0\x02\n\x0fListLaunchPlans\x12#.flyteidl.admin.ResourceListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"\xf7\x01\x82\xd3\xe4\x93\x02\xf0\x01ZF\x12\x44/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}Z/\x12-/api/v1/launch_plans/{id.project}/{id.domain}Z<\x12:/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}\x12\x37/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}\x12\x8d\x02\n\x10UpdateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanUpdateRequest\x1a(.flyteidl.admin.LaunchPlanUpdateResponse\"\xa5\x01\x82\xd3\xe4\x93\x02\x9e\x01:\x01*ZS\x1aQ/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\x1a\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}\x12\x81\x01\n\x0f\x43reateExecution\x12&.flyteidl.admin.ExecutionCreateRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"\x1d\x82\xd3\xe4\x93\x02\x17:\x01*\"\x12/api/v1/executions\x12\x8e\x01\n\x11RelaunchExecution\x12(.flyteidl.admin.ExecutionRelaunchRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"&\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/api/v1/executions/relaunch\x12\x8b\x01\n\x10RecoverExecution\x12\'.flyteidl.admin.ExecutionRecoverRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"%\x82\xd3\xe4\x93\x02\x1f:\x01*\"\x1a/api/v1/executions/recover\x12\xdc\x01\n\x0cGetExecution\x12+.flyteidl.admin.WorkflowExecutionGetRequest\x1a\x19.flyteidl.admin.Execution\"\x83\x01\x82\xd3\xe4\x93\x02}ZD\x12\x42/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\x12\x35/api/v1/executions/{id.project}/{id.domain}/{id.name}\x12\xef\x01\n\x0fUpdateExecution\x12&.flyteidl.admin.ExecutionUpdateRequest\x1a\'.flyteidl.admin.ExecutionUpdateResponse\"\x8a\x01\x82\xd3\xe4\x93\x02\x83\x01:\x01*ZG:\x01*\x1a\x42/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\x1a\x35/api/v1/executions/{id.project}/{id.domain}/{id.name}\x12\x86\x02\n\x10GetExecutionData\x12/.flyteidl.admin.WorkflowExecutionGetDataRequest\x1a\x30.flyteidl.admin.WorkflowExecutionGetDataResponse\"\x8e\x01\x82\xd3\xe4\x93\x02\x87\x01ZI\x12G/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\x12:/api/v1/data/executions/{id.project}/{id.domain}/{id.name}\x12\xc5\x01\n\x0eListExecutions\x12#.flyteidl.admin.ResourceListRequest\x1a\x1d.flyteidl.admin.ExecutionList\"o\x82\xd3\xe4\x93\x02iZ:\x12\x38/api/v1/executions/org/{id.org}/{id.project}/{id.domain}\x12+/api/v1/executions/{id.project}/{id.domain}\x12\xfd\x01\n\x12TerminateExecution\x12).flyteidl.admin.ExecutionTerminateRequest\x1a*.flyteidl.admin.ExecutionTerminateResponse\"\x8f\x01\x82\xd3\xe4\x93\x02\x88\x01:\x01*ZL:\x01**G/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}*5/api/v1/executions/{id.project}/{id.domain}/{id.name}\x12\xe2\x02\n\x10GetNodeExecution\x12\'.flyteidl.admin.NodeExecutionGetRequest\x1a\x1d.flyteidl.admin.NodeExecution\"\x85\x02\x82\xd3\xe4\x93\x02\xfe\x01Z\x8b\x01\x12\x88\x01/api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x12n/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x12\xf9\x02\n\x12ListNodeExecutions\x12(.flyteidl.admin.NodeExecutionListRequest\x1a!.flyteidl.admin.NodeExecutionList\"\x95\x02\x82\xd3\xe4\x93\x02\x8e\x02Z\x96\x01\x12\x93\x01/api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\x12s/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\x12\x8f\x08\n\x19ListNodeExecutionsForTask\x12/.flyteidl.admin.NodeExecutionForTaskListRequest\x1a!.flyteidl.admin.NodeExecutionList\"\x9d\x07\x82\xd3\xe4\x93\x02\x96\x07Z\xe7\x03\x12\xe4\x03/api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}\x12\xa9\x03/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}\x12\x83\x03\n\x14GetNodeExecutionData\x12+.flyteidl.admin.NodeExecutionGetDataRequest\x1a,.flyteidl.admin.NodeExecutionGetDataResponse\"\x8f\x02\x82\xd3\xe4\x93\x02\x88\x02Z\x90\x01\x12\x8d\x01/api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x12s/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x12\x7f\n\x0fRegisterProject\x12&.flyteidl.admin.ProjectRegisterRequest\x1a\'.flyteidl.admin.ProjectRegisterResponse\"\x1b\x82\xd3\xe4\x93\x02\x15:\x01*\"\x10/api/v1/projects\x12\x97\x01\n\rUpdateProject\x12\x17.flyteidl.admin.Project\x1a%.flyteidl.admin.ProjectUpdateResponse\"F\x82\xd3\xe4\x93\x02@:\x01*Z$:\x01*\x1a\x1f/api/v1/projects/org/{org}/{id}\x1a\x15/api/v1/projects/{id}\x12\x66\n\x0cListProjects\x12\".flyteidl.admin.ProjectListRequest\x1a\x18.flyteidl.admin.Projects\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v1/projects\x12\x99\x01\n\x13\x43reateWorkflowEvent\x12-.flyteidl.admin.WorkflowExecutionEventRequest\x1a..flyteidl.admin.WorkflowExecutionEventResponse\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/api/v1/events/workflows\x12\x89\x01\n\x0f\x43reateNodeEvent\x12).flyteidl.admin.NodeExecutionEventRequest\x1a*.flyteidl.admin.NodeExecutionEventResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v1/events/nodes\x12\x89\x01\n\x0f\x43reateTaskEvent\x12).flyteidl.admin.TaskExecutionEventRequest\x1a*.flyteidl.admin.TaskExecutionEventResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v1/events/tasks\x12\xcb\x05\n\x10GetTaskExecution\x12\'.flyteidl.admin.TaskExecutionGetRequest\x1a\x1d.flyteidl.admin.TaskExecution\"\xee\x04\x82\xd3\xe4\x93\x02\xe7\x04Z\xc8\x02\x12\xc5\x02/api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x12\x99\x02/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x12\xf1\x03\n\x12ListTaskExecutions\x12(.flyteidl.admin.TaskExecutionListRequest\x1a!.flyteidl.admin.TaskExecutionList\"\x8d\x03\x82\xd3\xe4\x93\x02\x86\x03Z\xd6\x01\x12\xd3\x01/api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}\x12\xaa\x01/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}\x12\xec\x05\n\x14GetTaskExecutionData\x12+.flyteidl.admin.TaskExecutionGetDataRequest\x1a,.flyteidl.admin.TaskExecutionGetDataResponse\"\xf8\x04\x82\xd3\xe4\x93\x02\xf1\x04Z\xcd\x02\x12\xca\x02/api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x12\x9e\x02/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x12\xcb\x02\n\x1dUpdateProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesUpdateRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesUpdateResponse\"\xbc\x01\x82\xd3\xe4\x93\x02\xb5\x01:\x01*Zd:\x01*\x1a_/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}\x1aJ/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}\x12\x83\x02\n\x1aGetProjectDomainAttributes\x12\x31.flyteidl.admin.ProjectDomainAttributesGetRequest\x1a\x32.flyteidl.admin.ProjectDomainAttributesGetResponse\"~\x82\xd3\xe4\x93\x02xZ@\x12>/api/v1/project_domain_attributes/org/{org}/{project}/{domain}\x12\x34/api/v1/project_domain_attributes/{project}/{domain}\x12\x93\x02\n\x1d\x44\x65leteProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesDeleteRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesDeleteResponse\"\x84\x01\x82\xd3\xe4\x93\x02~:\x01*ZC:\x01**>/api/v1/project_domain_attributes/org/{org}/{project}/{domain}*4/api/v1/project_domain_attributes/{project}/{domain}\x12\x8a\x02\n\x17UpdateProjectAttributes\x12..flyteidl.admin.ProjectAttributesUpdateRequest\x1a/.flyteidl.admin.ProjectAttributesUpdateResponse\"\x8d\x01\x82\xd3\xe4\x93\x02\x86\x01:\x01*ZP:\x01*\x1aK/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}\x1a//api/v1/project_attributes/{attributes.project}\x12\xd8\x01\n\x14GetProjectAttributes\x12+.flyteidl.admin.ProjectAttributesGetRequest\x1a,.flyteidl.admin.ProjectAttributesGetResponse\"e\x82\xd3\xe4\x93\x02_Z7\x12\x35/api/v1/project_domain_attributes/org/{org}/{project}\x12$/api/v1/project_attributes/{project}\x12\xe7\x01\n\x17\x44\x65leteProjectAttributes\x12..flyteidl.admin.ProjectAttributesDeleteRequest\x1a/.flyteidl.admin.ProjectAttributesDeleteResponse\"k\x82\xd3\xe4\x93\x02\x65:\x01*Z::\x01**5/api/v1/project_domain_attributes/org/{org}/{project}*$/api/v1/project_attributes/{project}\x12\xdc\x02\n\x18UpdateWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesUpdateRequest\x1a\x30.flyteidl.admin.WorkflowAttributesUpdateResponse\"\xdc\x01\x82\xd3\xe4\x93\x02\xd5\x01:\x01*Zt:\x01*\x1ao/api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow}\x1aZ/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}\x12\x80\x02\n\x15GetWorkflowAttributes\x12,.flyteidl.admin.WorkflowAttributesGetRequest\x1a-.flyteidl.admin.WorkflowAttributesGetResponse\"\x89\x01\x82\xd3\xe4\x93\x02\x82\x01ZE\x12\x43/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}\x12\x39/api/v1/workflow_attributes/{project}/{domain}/{workflow}\x12\x8f\x02\n\x18\x44\x65leteWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesDeleteRequest\x1a\x30.flyteidl.admin.WorkflowAttributesDeleteResponse\"\x8f\x01\x82\xd3\xe4\x93\x02\x88\x01:\x01*ZH:\x01**C/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}*9/api/v1/workflow_attributes/{project}/{domain}/{workflow}\x12\xa0\x01\n\x17ListMatchableAttributes\x12..flyteidl.admin.ListMatchableAttributesRequest\x1a/.flyteidl.admin.ListMatchableAttributesResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/v1/matchable_attributes\x12\xe8\x01\n\x11ListNamedEntities\x12&.flyteidl.admin.NamedEntityListRequest\x1a\x1f.flyteidl.admin.NamedEntityList\"\x89\x01\x82\xd3\xe4\x93\x02\x82\x01ZE\x12\x43/api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain}\x12\x39/api/v1/named_entities/{resource_type}/{project}/{domain}\x12\x83\x02\n\x0eGetNamedEntity\x12%.flyteidl.admin.NamedEntityGetRequest\x1a\x1b.flyteidl.admin.NamedEntity\"\xac\x01\x82\xd3\xe4\x93\x02\xa5\x01ZX\x12V/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}\x12I/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}\x12\x9d\x02\n\x11UpdateNamedEntity\x12(.flyteidl.admin.NamedEntityUpdateRequest\x1a).flyteidl.admin.NamedEntityUpdateResponse\"\xb2\x01\x82\xd3\xe4\x93\x02\xab\x01:\x01*Z[:\x01*\x1aV/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}\x1aI/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}\x12l\n\nGetVersion\x12!.flyteidl.admin.GetVersionRequest\x1a\".flyteidl.admin.GetVersionResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/v1/version\x12\xb6\x02\n\x14GetDescriptionEntity\x12 .flyteidl.admin.ObjectGetRequest\x1a!.flyteidl.admin.DescriptionEntity\"\xd8\x01\x82\xd3\xe4\x93\x02\xd1\x01Zn\x12l/api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}\x12_/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}\x12\xc8\x03\n\x17ListDescriptionEntities\x12,.flyteidl.admin.DescriptionEntityListRequest\x1a%.flyteidl.admin.DescriptionEntityList\"\xd7\x02\x82\xd3\xe4\x93\x02\xd0\x02Z^\x12\\/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}ZG\x12\x45/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}ZT\x12R/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}\x12O/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}\x12\x95\x02\n\x13GetExecutionMetrics\x12\x32.flyteidl.admin.WorkflowExecutionGetMetricsRequest\x1a\x33.flyteidl.admin.WorkflowExecutionGetMetricsResponse\"\x94\x01\x82\xd3\xe4\x93\x02\x8d\x01ZL\x12J/api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\x12=/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}B\xc2\x01\n\x14\x63om.flyteidl.serviceB\nAdminProtoP\x01Z=github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/service\xa2\x02\x03\x46SX\xaa\x02\x10\x46lyteidl.Service\xca\x02\x10\x46lyteidl\\Service\xe2\x02\x1c\x46lyteidl\\Service\\GPBMetadata\xea\x02\x11\x46lyteidl::Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -41,33 +41,33 @@ _ADMINSERVICE.methods_by_name['CreateTask']._options = None _ADMINSERVICE.methods_by_name['CreateTask']._serialized_options = b'\202\323\344\223\002\022:\001*\"\r/api/v1/tasks' _ADMINSERVICE.methods_by_name['GetTask']._options = None - _ADMINSERVICE.methods_by_name['GetTask']._serialized_options = b'\202\323\344\223\002?\022=/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}' + _ADMINSERVICE.methods_by_name['GetTask']._serialized_options = b'\202\323\344\223\002\215\001ZL\022J/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\022=/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}' _ADMINSERVICE.methods_by_name['ListTaskIds']._options = None - _ADMINSERVICE.methods_by_name['ListTaskIds']._serialized_options = b'\202\323\344\223\002%\022#/api/v1/task_ids/{project}/{domain}' + _ADMINSERVICE.methods_by_name['ListTaskIds']._serialized_options = b'\202\323\344\223\002SZ,\022*/api/v1/tasks/org/{org}/{project}/{domain}\022#/api/v1/task_ids/{project}/{domain}' _ADMINSERVICE.methods_by_name['ListTasks']._options = None - _ADMINSERVICE.methods_by_name['ListTasks']._serialized_options = b'\202\323\344\223\002\\Z(\022&/api/v1/tasks/{id.project}/{id.domain}\0220/api/v1/tasks/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['ListTasks']._serialized_options = b'\202\323\344\223\002\324\001Z?\022=/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}Z(\022&/api/v1/tasks/{id.project}/{id.domain}Z5\0223/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}\0220/api/v1/tasks/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['CreateWorkflow']._options = None _ADMINSERVICE.methods_by_name['CreateWorkflow']._serialized_options = b'\202\323\344\223\002\026:\001*\"\021/api/v1/workflows' _ADMINSERVICE.methods_by_name['GetWorkflow']._options = None - _ADMINSERVICE.methods_by_name['GetWorkflow']._serialized_options = b'\202\323\344\223\002C\022A/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}' + _ADMINSERVICE.methods_by_name['GetWorkflow']._serialized_options = b'\202\323\344\223\002\225\001ZP\022N/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\022A/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}' _ADMINSERVICE.methods_by_name['ListWorkflowIds']._options = None - _ADMINSERVICE.methods_by_name['ListWorkflowIds']._serialized_options = b'\202\323\344\223\002)\022\'/api/v1/workflow_ids/{project}/{domain}' + _ADMINSERVICE.methods_by_name['ListWorkflowIds']._serialized_options = b'\202\323\344\223\002[Z0\022./api/v1/workflows/org/{org}/{project}/{domain}\022\'/api/v1/workflow_ids/{project}/{domain}' _ADMINSERVICE.methods_by_name['ListWorkflows']._options = None - _ADMINSERVICE.methods_by_name['ListWorkflows']._serialized_options = b'\202\323\344\223\002dZ,\022*/api/v1/workflows/{id.project}/{id.domain}\0224/api/v1/workflows/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['ListWorkflows']._serialized_options = b'\202\323\344\223\002\344\001ZC\022A/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}Z,\022*/api/v1/workflows/{id.project}/{id.domain}Z9\0227/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}\0224/api/v1/workflows/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['CreateLaunchPlan']._options = None _ADMINSERVICE.methods_by_name['CreateLaunchPlan']._serialized_options = b'\202\323\344\223\002\031:\001*\"\024/api/v1/launch_plans' _ADMINSERVICE.methods_by_name['GetLaunchPlan']._options = None - _ADMINSERVICE.methods_by_name['GetLaunchPlan']._serialized_options = b'\202\323\344\223\002F\022D/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}' + _ADMINSERVICE.methods_by_name['GetLaunchPlan']._serialized_options = b'\202\323\344\223\002\233\001ZS\022Q/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\022D/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}' _ADMINSERVICE.methods_by_name['GetActiveLaunchPlan']._options = None - _ADMINSERVICE.methods_by_name['GetActiveLaunchPlan']._serialized_options = b'\202\323\344\223\002@\022>/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['GetActiveLaunchPlan']._serialized_options = b'\202\323\344\223\002\217\001ZM\022K/api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}\022>/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['ListActiveLaunchPlans']._options = None _ADMINSERVICE.methods_by_name['ListActiveLaunchPlans']._serialized_options = b'\202\323\344\223\0020\022./api/v1/active_launch_plans/{project}/{domain}' _ADMINSERVICE.methods_by_name['ListLaunchPlanIds']._options = None - _ADMINSERVICE.methods_by_name['ListLaunchPlanIds']._serialized_options = b'\202\323\344\223\002,\022*/api/v1/launch_plan_ids/{project}/{domain}' + _ADMINSERVICE.methods_by_name['ListLaunchPlanIds']._serialized_options = b'\202\323\344\223\002dZ6\0224/api/v1/launch_plan_ids/org/{org}/{project}/{domain}\022*/api/v1/launch_plan_ids/{project}/{domain}' _ADMINSERVICE.methods_by_name['ListLaunchPlans']._options = None - _ADMINSERVICE.methods_by_name['ListLaunchPlans']._serialized_options = b'\202\323\344\223\002jZ/\022-/api/v1/launch_plans/{id.project}/{id.domain}\0227/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['ListLaunchPlans']._serialized_options = b'\202\323\344\223\002\360\001ZF\022D/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}Z/\022-/api/v1/launch_plans/{id.project}/{id.domain}Z<\022:/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}\0227/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['UpdateLaunchPlan']._options = None - _ADMINSERVICE.methods_by_name['UpdateLaunchPlan']._serialized_options = b'\202\323\344\223\002I:\001*\032D/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}' + _ADMINSERVICE.methods_by_name['UpdateLaunchPlan']._serialized_options = b'\202\323\344\223\002\236\001:\001*ZS\032Q/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}\032D/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}' _ADMINSERVICE.methods_by_name['CreateExecution']._options = None _ADMINSERVICE.methods_by_name['CreateExecution']._serialized_options = b'\202\323\344\223\002\027:\001*\"\022/api/v1/executions' _ADMINSERVICE.methods_by_name['RelaunchExecution']._options = None @@ -75,27 +75,27 @@ _ADMINSERVICE.methods_by_name['RecoverExecution']._options = None _ADMINSERVICE.methods_by_name['RecoverExecution']._serialized_options = b'\202\323\344\223\002\037:\001*\"\032/api/v1/executions/recover' _ADMINSERVICE.methods_by_name['GetExecution']._options = None - _ADMINSERVICE.methods_by_name['GetExecution']._serialized_options = b'\202\323\344\223\0027\0225/api/v1/executions/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['GetExecution']._serialized_options = b'\202\323\344\223\002}ZD\022B/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\0225/api/v1/executions/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['UpdateExecution']._options = None - _ADMINSERVICE.methods_by_name['UpdateExecution']._serialized_options = b'\202\323\344\223\002::\001*\0325/api/v1/executions/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['UpdateExecution']._serialized_options = b'\202\323\344\223\002\203\001:\001*ZG:\001*\032B/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\0325/api/v1/executions/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['GetExecutionData']._options = None - _ADMINSERVICE.methods_by_name['GetExecutionData']._serialized_options = b'\202\323\344\223\002<\022:/api/v1/data/executions/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['GetExecutionData']._serialized_options = b'\202\323\344\223\002\207\001ZI\022G/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\022:/api/v1/data/executions/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['ListExecutions']._options = None - _ADMINSERVICE.methods_by_name['ListExecutions']._serialized_options = b'\202\323\344\223\002-\022+/api/v1/executions/{id.project}/{id.domain}' + _ADMINSERVICE.methods_by_name['ListExecutions']._serialized_options = b'\202\323\344\223\002iZ:\0228/api/v1/executions/org/{id.org}/{id.project}/{id.domain}\022+/api/v1/executions/{id.project}/{id.domain}' _ADMINSERVICE.methods_by_name['TerminateExecution']._options = None - _ADMINSERVICE.methods_by_name['TerminateExecution']._serialized_options = b'\202\323\344\223\002::\001**5/api/v1/executions/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['TerminateExecution']._serialized_options = b'\202\323\344\223\002\210\001:\001*ZL:\001**G/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}*5/api/v1/executions/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['GetNodeExecution']._options = None - _ADMINSERVICE.methods_by_name['GetNodeExecution']._serialized_options = b'\202\323\344\223\002p\022n/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}' + _ADMINSERVICE.methods_by_name['GetNodeExecution']._serialized_options = b'\202\323\344\223\002\376\001Z\213\001\022\210\001/api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\022n/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}' _ADMINSERVICE.methods_by_name['ListNodeExecutions']._options = None - _ADMINSERVICE.methods_by_name['ListNodeExecutions']._serialized_options = b'\202\323\344\223\002u\022s/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}' + _ADMINSERVICE.methods_by_name['ListNodeExecutions']._serialized_options = b'\202\323\344\223\002\216\002Z\226\001\022\223\001/api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\022s/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}' _ADMINSERVICE.methods_by_name['ListNodeExecutionsForTask']._options = None - _ADMINSERVICE.methods_by_name['ListNodeExecutionsForTask']._serialized_options = b'\202\323\344\223\002\254\003\022\251\003/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}' + _ADMINSERVICE.methods_by_name['ListNodeExecutionsForTask']._serialized_options = b'\202\323\344\223\002\226\007Z\347\003\022\344\003/api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}\022\251\003/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}' _ADMINSERVICE.methods_by_name['GetNodeExecutionData']._options = None - _ADMINSERVICE.methods_by_name['GetNodeExecutionData']._serialized_options = b'\202\323\344\223\002u\022s/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}' + _ADMINSERVICE.methods_by_name['GetNodeExecutionData']._serialized_options = b'\202\323\344\223\002\210\002Z\220\001\022\215\001/api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\022s/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}' _ADMINSERVICE.methods_by_name['RegisterProject']._options = None _ADMINSERVICE.methods_by_name['RegisterProject']._serialized_options = b'\202\323\344\223\002\025:\001*\"\020/api/v1/projects' _ADMINSERVICE.methods_by_name['UpdateProject']._options = None - _ADMINSERVICE.methods_by_name['UpdateProject']._serialized_options = b'\202\323\344\223\002\032:\001*\032\025/api/v1/projects/{id}' + _ADMINSERVICE.methods_by_name['UpdateProject']._serialized_options = b'\202\323\344\223\002@:\001*Z$:\001*\032\037/api/v1/projects/org/{org}/{id}\032\025/api/v1/projects/{id}' _ADMINSERVICE.methods_by_name['ListProjects']._options = None _ADMINSERVICE.methods_by_name['ListProjects']._serialized_options = b'\202\323\344\223\002\022\022\020/api/v1/projects' _ADMINSERVICE.methods_by_name['CreateWorkflowEvent']._options = None @@ -105,45 +105,45 @@ _ADMINSERVICE.methods_by_name['CreateTaskEvent']._options = None _ADMINSERVICE.methods_by_name['CreateTaskEvent']._serialized_options = b'\202\323\344\223\002\031:\001*\"\024/api/v1/events/tasks' _ADMINSERVICE.methods_by_name['GetTaskExecution']._options = None - _ADMINSERVICE.methods_by_name['GetTaskExecution']._serialized_options = b'\202\323\344\223\002\234\002\022\231\002/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}' + _ADMINSERVICE.methods_by_name['GetTaskExecution']._serialized_options = b'\202\323\344\223\002\347\004Z\310\002\022\305\002/api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\022\231\002/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}' _ADMINSERVICE.methods_by_name['ListTaskExecutions']._options = None - _ADMINSERVICE.methods_by_name['ListTaskExecutions']._serialized_options = b'\202\323\344\223\002\255\001\022\252\001/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}' + _ADMINSERVICE.methods_by_name['ListTaskExecutions']._serialized_options = b'\202\323\344\223\002\206\003Z\326\001\022\323\001/api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}\022\252\001/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}' _ADMINSERVICE.methods_by_name['GetTaskExecutionData']._options = None - _ADMINSERVICE.methods_by_name['GetTaskExecutionData']._serialized_options = b'\202\323\344\223\002\241\002\022\236\002/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}' + _ADMINSERVICE.methods_by_name['GetTaskExecutionData']._serialized_options = b'\202\323\344\223\002\361\004Z\315\002\022\312\002/api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\022\236\002/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}' _ADMINSERVICE.methods_by_name['UpdateProjectDomainAttributes']._options = None - _ADMINSERVICE.methods_by_name['UpdateProjectDomainAttributes']._serialized_options = b'\202\323\344\223\002O:\001*\032J/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}' + _ADMINSERVICE.methods_by_name['UpdateProjectDomainAttributes']._serialized_options = b'\202\323\344\223\002\265\001:\001*Zd:\001*\032_/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}\032J/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}' _ADMINSERVICE.methods_by_name['GetProjectDomainAttributes']._options = None - _ADMINSERVICE.methods_by_name['GetProjectDomainAttributes']._serialized_options = b'\202\323\344\223\0026\0224/api/v1/project_domain_attributes/{project}/{domain}' + _ADMINSERVICE.methods_by_name['GetProjectDomainAttributes']._serialized_options = b'\202\323\344\223\002xZ@\022>/api/v1/project_domain_attributes/org/{org}/{project}/{domain}\0224/api/v1/project_domain_attributes/{project}/{domain}' _ADMINSERVICE.methods_by_name['DeleteProjectDomainAttributes']._options = None - _ADMINSERVICE.methods_by_name['DeleteProjectDomainAttributes']._serialized_options = b'\202\323\344\223\0029:\001**4/api/v1/project_domain_attributes/{project}/{domain}' + _ADMINSERVICE.methods_by_name['DeleteProjectDomainAttributes']._serialized_options = b'\202\323\344\223\002~:\001*ZC:\001**>/api/v1/project_domain_attributes/org/{org}/{project}/{domain}*4/api/v1/project_domain_attributes/{project}/{domain}' _ADMINSERVICE.methods_by_name['UpdateProjectAttributes']._options = None - _ADMINSERVICE.methods_by_name['UpdateProjectAttributes']._serialized_options = b'\202\323\344\223\0024:\001*\032//api/v1/project_attributes/{attributes.project}' + _ADMINSERVICE.methods_by_name['UpdateProjectAttributes']._serialized_options = b'\202\323\344\223\002\206\001:\001*ZP:\001*\032K/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}\032//api/v1/project_attributes/{attributes.project}' _ADMINSERVICE.methods_by_name['GetProjectAttributes']._options = None - _ADMINSERVICE.methods_by_name['GetProjectAttributes']._serialized_options = b'\202\323\344\223\002&\022$/api/v1/project_attributes/{project}' + _ADMINSERVICE.methods_by_name['GetProjectAttributes']._serialized_options = b'\202\323\344\223\002_Z7\0225/api/v1/project_domain_attributes/org/{org}/{project}\022$/api/v1/project_attributes/{project}' _ADMINSERVICE.methods_by_name['DeleteProjectAttributes']._options = None - _ADMINSERVICE.methods_by_name['DeleteProjectAttributes']._serialized_options = b'\202\323\344\223\002):\001**$/api/v1/project_attributes/{project}' + _ADMINSERVICE.methods_by_name['DeleteProjectAttributes']._serialized_options = b'\202\323\344\223\002e:\001*Z::\001**5/api/v1/project_domain_attributes/org/{org}/{project}*$/api/v1/project_attributes/{project}' _ADMINSERVICE.methods_by_name['UpdateWorkflowAttributes']._options = None - _ADMINSERVICE.methods_by_name['UpdateWorkflowAttributes']._serialized_options = b'\202\323\344\223\002_:\001*\032Z/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}' + _ADMINSERVICE.methods_by_name['UpdateWorkflowAttributes']._serialized_options = b'\202\323\344\223\002\325\001:\001*Zt:\001*\032o/api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow}\032Z/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}' _ADMINSERVICE.methods_by_name['GetWorkflowAttributes']._options = None - _ADMINSERVICE.methods_by_name['GetWorkflowAttributes']._serialized_options = b'\202\323\344\223\002;\0229/api/v1/workflow_attributes/{project}/{domain}/{workflow}' + _ADMINSERVICE.methods_by_name['GetWorkflowAttributes']._serialized_options = b'\202\323\344\223\002\202\001ZE\022C/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}\0229/api/v1/workflow_attributes/{project}/{domain}/{workflow}' _ADMINSERVICE.methods_by_name['DeleteWorkflowAttributes']._options = None - _ADMINSERVICE.methods_by_name['DeleteWorkflowAttributes']._serialized_options = b'\202\323\344\223\002>:\001**9/api/v1/workflow_attributes/{project}/{domain}/{workflow}' + _ADMINSERVICE.methods_by_name['DeleteWorkflowAttributes']._serialized_options = b'\202\323\344\223\002\210\001:\001*ZH:\001**C/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}*9/api/v1/workflow_attributes/{project}/{domain}/{workflow}' _ADMINSERVICE.methods_by_name['ListMatchableAttributes']._options = None _ADMINSERVICE.methods_by_name['ListMatchableAttributes']._serialized_options = b'\202\323\344\223\002\036\022\034/api/v1/matchable_attributes' _ADMINSERVICE.methods_by_name['ListNamedEntities']._options = None - _ADMINSERVICE.methods_by_name['ListNamedEntities']._serialized_options = b'\202\323\344\223\002;\0229/api/v1/named_entities/{resource_type}/{project}/{domain}' + _ADMINSERVICE.methods_by_name['ListNamedEntities']._serialized_options = b'\202\323\344\223\002\202\001ZE\022C/api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain}\0229/api/v1/named_entities/{resource_type}/{project}/{domain}' _ADMINSERVICE.methods_by_name['GetNamedEntity']._options = None - _ADMINSERVICE.methods_by_name['GetNamedEntity']._serialized_options = b'\202\323\344\223\002K\022I/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['GetNamedEntity']._serialized_options = b'\202\323\344\223\002\245\001ZX\022V/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}\022I/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['UpdateNamedEntity']._options = None - _ADMINSERVICE.methods_by_name['UpdateNamedEntity']._serialized_options = b'\202\323\344\223\002N:\001*\032I/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['UpdateNamedEntity']._serialized_options = b'\202\323\344\223\002\253\001:\001*Z[:\001*\032V/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}\032I/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['GetVersion']._options = None _ADMINSERVICE.methods_by_name['GetVersion']._serialized_options = b'\202\323\344\223\002\021\022\017/api/v1/version' _ADMINSERVICE.methods_by_name['GetDescriptionEntity']._options = None - _ADMINSERVICE.methods_by_name['GetDescriptionEntity']._serialized_options = b'\202\323\344\223\002a\022_/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}' + _ADMINSERVICE.methods_by_name['GetDescriptionEntity']._serialized_options = b'\202\323\344\223\002\321\001Zn\022l/api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}\022_/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}' _ADMINSERVICE.methods_by_name['ListDescriptionEntities']._options = None - _ADMINSERVICE.methods_by_name['ListDescriptionEntities']._serialized_options = b'\202\323\344\223\002\232\001ZG\022E/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}\022O/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['ListDescriptionEntities']._serialized_options = b'\202\323\344\223\002\320\002Z^\022\\/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}ZG\022E/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}ZT\022R/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}\022O/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}' _ADMINSERVICE.methods_by_name['GetExecutionMetrics']._options = None - _ADMINSERVICE.methods_by_name['GetExecutionMetrics']._serialized_options = b'\202\323\344\223\002?\022=/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}' + _ADMINSERVICE.methods_by_name['GetExecutionMetrics']._serialized_options = b'\202\323\344\223\002\215\001ZL\022J/api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}\022=/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}' _globals['_ADMINSERVICE']._serialized_start=609 - _globals['_ADMINSERVICE']._serialized_end=10597 + _globals['_ADMINSERVICE']._serialized_end=15126 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/service/admin_pb2_grpc.py b/flyteidl/gen/pb_python/flyteidl/service/admin_pb2_grpc.py index 2e7bda23fe..7fe54c9f8c 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/admin_pb2_grpc.py +++ b/flyteidl/gen/pb_python/flyteidl/service/admin_pb2_grpc.py @@ -317,7 +317,7 @@ def GetTask(self, request, context): raise NotImplementedError('Method not implemented!') def ListTaskIds(self, request, context): - """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -503,7 +503,7 @@ def RegisterProject(self, request, context): raise NotImplementedError('Method not implemented!') def UpdateProject(self, request, context): - """Updates an existing :ref:`ref_flyteidl.admin.Project` + """Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. """ @@ -512,7 +512,7 @@ def UpdateProject(self, request, context): raise NotImplementedError('Method not implemented!') def ListProjects(self, request, context): - """Fetches a list of :ref:`ref_flyteidl.admin.Project` + """Fetches a list of :ref:`ref_flyteidl.admin.Project` """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md index 9e726ef9a1..b96abf4694 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/README.md @@ -78,55 +78,98 @@ Class | Method | HTTP request | Description *AdminServiceApi* | [**create_workflow**](docs/AdminServiceApi.md#create_workflow) | **POST** /api/v1/workflows | Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition *AdminServiceApi* | [**create_workflow_event**](docs/AdminServiceApi.md#create_workflow_event) | **POST** /api/v1/events/workflows | Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred. *AdminServiceApi* | [**delete_project_attributes**](docs/AdminServiceApi.md#delete_project_attributes) | **DELETE** /api/v1/project_attributes/{project} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**delete_project_attributes2**](docs/AdminServiceApi.md#delete_project_attributes2) | **DELETE** /api/v1/project_domain_attributes/org/{org}/{project} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**delete_project_domain_attributes**](docs/AdminServiceApi.md#delete_project_domain_attributes) | **DELETE** /api/v1/project_domain_attributes/{project}/{domain} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**delete_project_domain_attributes2**](docs/AdminServiceApi.md#delete_project_domain_attributes2) | **DELETE** /api/v1/project_domain_attributes/org/{org}/{project}/{domain} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**delete_workflow_attributes**](docs/AdminServiceApi.md#delete_workflow_attributes) | **DELETE** /api/v1/workflow_attributes/{project}/{domain}/{workflow} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +*AdminServiceApi* | [**delete_workflow_attributes2**](docs/AdminServiceApi.md#delete_workflow_attributes2) | **DELETE** /api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow} | Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. *AdminServiceApi* | [**get_active_launch_plan**](docs/AdminServiceApi.md#get_active_launch_plan) | **GET** /api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name} | Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. +*AdminServiceApi* | [**get_active_launch_plan2**](docs/AdminServiceApi.md#get_active_launch_plan2) | **GET** /api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. *AdminServiceApi* | [**get_description_entity**](docs/AdminServiceApi.md#get_description_entity) | **GET** /api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. +*AdminServiceApi* | [**get_description_entity2**](docs/AdminServiceApi.md#get_description_entity2) | **GET** /api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. *AdminServiceApi* | [**get_execution**](docs/AdminServiceApi.md#get_execution) | **GET** /api/v1/executions/{id.project}/{id.domain}/{id.name} | Fetches a :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**get_execution2**](docs/AdminServiceApi.md#get_execution2) | **GET** /api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetches a :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**get_execution_data**](docs/AdminServiceApi.md#get_execution_data) | **GET** /api/v1/data/executions/{id.project}/{id.domain}/{id.name} | Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**get_execution_data2**](docs/AdminServiceApi.md#get_execution_data2) | **GET** /api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**get_execution_metrics**](docs/AdminServiceApi.md#get_execution_metrics) | **GET** /api/v1/metrics/executions/{id.project}/{id.domain}/{id.name} | Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**get_execution_metrics2**](docs/AdminServiceApi.md#get_execution_metrics2) | **GET** /api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**get_launch_plan**](docs/AdminServiceApi.md#get_launch_plan) | **GET** /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. +*AdminServiceApi* | [**get_launch_plan2**](docs/AdminServiceApi.md#get_launch_plan2) | **GET** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. *AdminServiceApi* | [**get_named_entity**](docs/AdminServiceApi.md#get_named_entity) | **GET** /api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name} | Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. +*AdminServiceApi* | [**get_named_entity2**](docs/AdminServiceApi.md#get_named_entity2) | **GET** /api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name} | Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. *AdminServiceApi* | [**get_node_execution**](docs/AdminServiceApi.md#get_node_execution) | **GET** /api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. +*AdminServiceApi* | [**get_node_execution2**](docs/AdminServiceApi.md#get_node_execution2) | **GET** /api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. *AdminServiceApi* | [**get_node_execution_data**](docs/AdminServiceApi.md#get_node_execution_data) | **GET** /api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. +*AdminServiceApi* | [**get_node_execution_data2**](docs/AdminServiceApi.md#get_node_execution_data2) | **GET** /api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id} | Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. *AdminServiceApi* | [**get_project_attributes**](docs/AdminServiceApi.md#get_project_attributes) | **GET** /api/v1/project_attributes/{project} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**get_project_attributes2**](docs/AdminServiceApi.md#get_project_attributes2) | **GET** /api/v1/project_domain_attributes/org/{org}/{project} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**get_project_domain_attributes**](docs/AdminServiceApi.md#get_project_domain_attributes) | **GET** /api/v1/project_domain_attributes/{project}/{domain} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**get_project_domain_attributes2**](docs/AdminServiceApi.md#get_project_domain_attributes2) | **GET** /api/v1/project_domain_attributes/org/{org}/{project}/{domain} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**get_task**](docs/AdminServiceApi.md#get_task) | **GET** /api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Task` definition. +*AdminServiceApi* | [**get_task2**](docs/AdminServiceApi.md#get_task2) | **GET** /api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Task` definition. *AdminServiceApi* | [**get_task_execution**](docs/AdminServiceApi.md#get_task_execution) | **GET** /api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**get_task_execution2**](docs/AdminServiceApi.md#get_task_execution2) | **GET** /api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**get_task_execution_data**](docs/AdminServiceApi.md#get_task_execution_data) | **GET** /api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**get_task_execution_data2**](docs/AdminServiceApi.md#get_task_execution_data2) | **GET** /api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt} | Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**get_version**](docs/AdminServiceApi.md#get_version) | **GET** /api/v1/version | *AdminServiceApi* | [**get_workflow**](docs/AdminServiceApi.md#get_workflow) | **GET** /api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. +*AdminServiceApi* | [**get_workflow2**](docs/AdminServiceApi.md#get_workflow2) | **GET** /api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. *AdminServiceApi* | [**get_workflow_attributes**](docs/AdminServiceApi.md#get_workflow_attributes) | **GET** /api/v1/workflow_attributes/{project}/{domain}/{workflow} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +*AdminServiceApi* | [**get_workflow_attributes2**](docs/AdminServiceApi.md#get_workflow_attributes2) | **GET** /api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow} | Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. *AdminServiceApi* | [**list_active_launch_plans**](docs/AdminServiceApi.md#list_active_launch_plans) | **GET** /api/v1/active_launch_plans/{project}/{domain} | List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. *AdminServiceApi* | [**list_description_entities**](docs/AdminServiceApi.md#list_description_entities) | **GET** /api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. -*AdminServiceApi* | [**list_description_entities2**](docs/AdminServiceApi.md#list_description_entities2) | **GET** /api/v1/description_entities/{resource_type}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +*AdminServiceApi* | [**list_description_entities2**](docs/AdminServiceApi.md#list_description_entities2) | **GET** /api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +*AdminServiceApi* | [**list_description_entities3**](docs/AdminServiceApi.md#list_description_entities3) | **GET** /api/v1/description_entities/{resource_type}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. +*AdminServiceApi* | [**list_description_entities4**](docs/AdminServiceApi.md#list_description_entities4) | **GET** /api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. *AdminServiceApi* | [**list_executions**](docs/AdminServiceApi.md#list_executions) | **GET** /api/v1/executions/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**list_executions2**](docs/AdminServiceApi.md#list_executions2) | **GET** /api/v1/executions/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**list_launch_plan_ids**](docs/AdminServiceApi.md#list_launch_plan_ids) | **GET** /api/v1/launch_plan_ids/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. +*AdminServiceApi* | [**list_launch_plan_ids2**](docs/AdminServiceApi.md#list_launch_plan_ids2) | **GET** /api/v1/launch_plan_ids/org/{org}/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. *AdminServiceApi* | [**list_launch_plans**](docs/AdminServiceApi.md#list_launch_plans) | **GET** /api/v1/launch_plans/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. -*AdminServiceApi* | [**list_launch_plans2**](docs/AdminServiceApi.md#list_launch_plans2) | **GET** /api/v1/launch_plans/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +*AdminServiceApi* | [**list_launch_plans2**](docs/AdminServiceApi.md#list_launch_plans2) | **GET** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +*AdminServiceApi* | [**list_launch_plans3**](docs/AdminServiceApi.md#list_launch_plans3) | **GET** /api/v1/launch_plans/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. +*AdminServiceApi* | [**list_launch_plans4**](docs/AdminServiceApi.md#list_launch_plans4) | **GET** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. *AdminServiceApi* | [**list_matchable_attributes**](docs/AdminServiceApi.md#list_matchable_attributes) | **GET** /api/v1/matchable_attributes | Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. *AdminServiceApi* | [**list_named_entities**](docs/AdminServiceApi.md#list_named_entities) | **GET** /api/v1/named_entities/{resource_type}/{project}/{domain} | Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. +*AdminServiceApi* | [**list_named_entities2**](docs/AdminServiceApi.md#list_named_entities2) | **GET** /api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain} | Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. *AdminServiceApi* | [**list_node_executions**](docs/AdminServiceApi.md#list_node_executions) | **GET** /api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. +*AdminServiceApi* | [**list_node_executions2**](docs/AdminServiceApi.md#list_node_executions2) | **GET** /api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. *AdminServiceApi* | [**list_node_executions_for_task**](docs/AdminServiceApi.md#list_node_executions_for_task) | **GET** /api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**list_node_executions_for_task2**](docs/AdminServiceApi.md#list_node_executions_for_task2) | **GET** /api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt} | Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**list_projects**](docs/AdminServiceApi.md#list_projects) | **GET** /api/v1/projects | Fetches a list of :ref:`ref_flyteidl.admin.Project` *AdminServiceApi* | [**list_task_executions**](docs/AdminServiceApi.md#list_task_executions) | **GET** /api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id} | Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. +*AdminServiceApi* | [**list_task_executions2**](docs/AdminServiceApi.md#list_task_executions2) | **GET** /api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id} | Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. *AdminServiceApi* | [**list_task_ids**](docs/AdminServiceApi.md#list_task_ids) | **GET** /api/v1/task_ids/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. +*AdminServiceApi* | [**list_task_ids2**](docs/AdminServiceApi.md#list_task_ids2) | **GET** /api/v1/tasks/org/{org}/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. *AdminServiceApi* | [**list_tasks**](docs/AdminServiceApi.md#list_tasks) | **GET** /api/v1/tasks/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. -*AdminServiceApi* | [**list_tasks2**](docs/AdminServiceApi.md#list_tasks2) | **GET** /api/v1/tasks/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +*AdminServiceApi* | [**list_tasks2**](docs/AdminServiceApi.md#list_tasks2) | **GET** /api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +*AdminServiceApi* | [**list_tasks3**](docs/AdminServiceApi.md#list_tasks3) | **GET** /api/v1/tasks/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. +*AdminServiceApi* | [**list_tasks4**](docs/AdminServiceApi.md#list_tasks4) | **GET** /api/v1/tasks/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. *AdminServiceApi* | [**list_workflow_ids**](docs/AdminServiceApi.md#list_workflow_ids) | **GET** /api/v1/workflow_ids/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. +*AdminServiceApi* | [**list_workflow_ids2**](docs/AdminServiceApi.md#list_workflow_ids2) | **GET** /api/v1/workflows/org/{org}/{project}/{domain} | Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. *AdminServiceApi* | [**list_workflows**](docs/AdminServiceApi.md#list_workflows) | **GET** /api/v1/workflows/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. -*AdminServiceApi* | [**list_workflows2**](docs/AdminServiceApi.md#list_workflows2) | **GET** /api/v1/workflows/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +*AdminServiceApi* | [**list_workflows2**](docs/AdminServiceApi.md#list_workflows2) | **GET** /api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +*AdminServiceApi* | [**list_workflows3**](docs/AdminServiceApi.md#list_workflows3) | **GET** /api/v1/workflows/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. +*AdminServiceApi* | [**list_workflows4**](docs/AdminServiceApi.md#list_workflows4) | **GET** /api/v1/workflows/org/{id.org}/{id.project}/{id.domain} | Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. *AdminServiceApi* | [**recover_execution**](docs/AdminServiceApi.md#recover_execution) | **POST** /api/v1/executions/recover | Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. *AdminServiceApi* | [**register_project**](docs/AdminServiceApi.md#register_project) | **POST** /api/v1/projects | Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. *AdminServiceApi* | [**relaunch_execution**](docs/AdminServiceApi.md#relaunch_execution) | **POST** /api/v1/executions/relaunch | Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` *AdminServiceApi* | [**terminate_execution**](docs/AdminServiceApi.md#terminate_execution) | **DELETE** /api/v1/executions/{id.project}/{id.domain}/{id.name} | Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**terminate_execution2**](docs/AdminServiceApi.md#terminate_execution2) | **DELETE** /api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**update_execution**](docs/AdminServiceApi.md#update_execution) | **PUT** /api/v1/executions/{id.project}/{id.domain}/{id.name} | Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. +*AdminServiceApi* | [**update_execution2**](docs/AdminServiceApi.md#update_execution2) | **PUT** /api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name} | Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. *AdminServiceApi* | [**update_launch_plan**](docs/AdminServiceApi.md#update_launch_plan) | **PUT** /api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version} | Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. +*AdminServiceApi* | [**update_launch_plan2**](docs/AdminServiceApi.md#update_launch_plan2) | **PUT** /api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version} | Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. *AdminServiceApi* | [**update_named_entity**](docs/AdminServiceApi.md#update_named_entity) | **PUT** /api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name} | Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. -*AdminServiceApi* | [**update_project**](docs/AdminServiceApi.md#update_project) | **PUT** /api/v1/projects/{id} | Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. +*AdminServiceApi* | [**update_named_entity2**](docs/AdminServiceApi.md#update_named_entity2) | **PUT** /api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name} | Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. +*AdminServiceApi* | [**update_project**](docs/AdminServiceApi.md#update_project) | **PUT** /api/v1/projects/{id} | Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. +*AdminServiceApi* | [**update_project2**](docs/AdminServiceApi.md#update_project2) | **PUT** /api/v1/projects/org/{org}/{id} | Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. *AdminServiceApi* | [**update_project_attributes**](docs/AdminServiceApi.md#update_project_attributes) | **PUT** /api/v1/project_attributes/{attributes.project} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level +*AdminServiceApi* | [**update_project_attributes2**](docs/AdminServiceApi.md#update_project_attributes2) | **PUT** /api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level *AdminServiceApi* | [**update_project_domain_attributes**](docs/AdminServiceApi.md#update_project_domain_attributes) | **PUT** /api/v1/project_domain_attributes/{attributes.project}/{attributes.domain} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. +*AdminServiceApi* | [**update_project_domain_attributes2**](docs/AdminServiceApi.md#update_project_domain_attributes2) | **PUT** /api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. *AdminServiceApi* | [**update_workflow_attributes**](docs/AdminServiceApi.md#update_workflow_attributes) | **PUT** /api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. +*AdminServiceApi* | [**update_workflow_attributes2**](docs/AdminServiceApi.md#update_workflow_attributes2) | **PUT** /api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow} | Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. ## Documentation For Models diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/api/admin_service_api.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/api/admin_service_api.py index 01e9838ee5..1e91c85c21 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/api/admin_service_api.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/api/admin_service_api.py @@ -817,47 +817,47 @@ def delete_project_attributes_with_http_info(self, project, body, **kwargs): # _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def delete_project_domain_attributes(self, project, domain, body, **kwargs): # noqa: E501 + def delete_project_attributes2(self, org, project, body, **kwargs): # noqa: E501 """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.delete_project_domain_attributes(project, domain, body, async_req=True) + >>> thread = api.delete_project_attributes2(org, project, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str org: Optional, org key applied to the project. (required) :param str project: Unique project id which this set of attributes references. +required (required) - :param str domain: Unique domain id which this set of attributes references. +required (required) - :param AdminProjectDomainAttributesDeleteRequest body: (required) - :return: AdminProjectDomainAttributesDeleteResponse + :param AdminProjectAttributesDeleteRequest body: (required) + :return: AdminProjectAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.delete_project_domain_attributes_with_http_info(project, domain, body, **kwargs) # noqa: E501 + return self.delete_project_attributes2_with_http_info(org, project, body, **kwargs) # noqa: E501 else: - (data) = self.delete_project_domain_attributes_with_http_info(project, domain, body, **kwargs) # noqa: E501 + (data) = self.delete_project_attributes2_with_http_info(org, project, body, **kwargs) # noqa: E501 return data - def delete_project_domain_attributes_with_http_info(self, project, domain, body, **kwargs): # noqa: E501 + def delete_project_attributes2_with_http_info(self, org, project, body, **kwargs): # noqa: E501 """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.delete_project_domain_attributes_with_http_info(project, domain, body, async_req=True) + >>> thread = api.delete_project_attributes2_with_http_info(org, project, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str org: Optional, org key applied to the project. (required) :param str project: Unique project id which this set of attributes references. +required (required) - :param str domain: Unique domain id which this set of attributes references. +required (required) - :param AdminProjectDomainAttributesDeleteRequest body: (required) - :return: AdminProjectDomainAttributesDeleteResponse + :param AdminProjectAttributesDeleteRequest body: (required) + :return: AdminProjectAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'body'] # noqa: E501 + all_params = ['org', 'project', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -868,30 +868,30 @@ def delete_project_domain_attributes_with_http_info(self, project, domain, body, if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method delete_project_domain_attributes" % key + " to method delete_project_attributes2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `delete_project_attributes2`") # noqa: E501 # verify the required parameter 'project' is set if ('project' not in params or params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `delete_project_domain_attributes`") # noqa: E501 - # verify the required parameter 'domain' is set - if ('domain' not in params or - params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `delete_project_domain_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `project` when calling `delete_project_attributes2`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `delete_project_domain_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `delete_project_attributes2`") # noqa: E501 collection_formats = {} path_params = {} + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 if 'project' in params: path_params['project'] = params['project'] # noqa: E501 - if 'domain' in params: - path_params['domain'] = params['domain'] # noqa: E501 query_params = [] @@ -915,14 +915,14 @@ def delete_project_domain_attributes_with_http_info(self, project, domain, body, auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/project_domain_attributes/{project}/{domain}', 'DELETE', + '/api/v1/project_domain_attributes/org/{org}/{project}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjectDomainAttributesDeleteResponse', # noqa: E501 + response_type='AdminProjectAttributesDeleteResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -930,49 +930,47 @@ def delete_project_domain_attributes_with_http_info(self, project, domain, body, _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def delete_workflow_attributes(self, project, domain, workflow, body, **kwargs): # noqa: E501 - """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + def delete_project_domain_attributes(self, project, domain, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.delete_workflow_attributes(project, domain, workflow, body, async_req=True) + >>> thread = api.delete_project_domain_attributes(project, domain, body, async_req=True) >>> result = thread.get() :param async_req bool :param str project: Unique project id which this set of attributes references. +required (required) :param str domain: Unique domain id which this set of attributes references. +required (required) - :param str workflow: Workflow name which this set of attributes references. +required (required) - :param AdminWorkflowAttributesDeleteRequest body: (required) - :return: AdminWorkflowAttributesDeleteResponse + :param AdminProjectDomainAttributesDeleteRequest body: (required) + :return: AdminProjectDomainAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.delete_workflow_attributes_with_http_info(project, domain, workflow, body, **kwargs) # noqa: E501 + return self.delete_project_domain_attributes_with_http_info(project, domain, body, **kwargs) # noqa: E501 else: - (data) = self.delete_workflow_attributes_with_http_info(project, domain, workflow, body, **kwargs) # noqa: E501 + (data) = self.delete_project_domain_attributes_with_http_info(project, domain, body, **kwargs) # noqa: E501 return data - def delete_workflow_attributes_with_http_info(self, project, domain, workflow, body, **kwargs): # noqa: E501 - """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + def delete_project_domain_attributes_with_http_info(self, project, domain, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.delete_workflow_attributes_with_http_info(project, domain, workflow, body, async_req=True) + >>> thread = api.delete_project_domain_attributes_with_http_info(project, domain, body, async_req=True) >>> result = thread.get() :param async_req bool :param str project: Unique project id which this set of attributes references. +required (required) :param str domain: Unique domain id which this set of attributes references. +required (required) - :param str workflow: Workflow name which this set of attributes references. +required (required) - :param AdminWorkflowAttributesDeleteRequest body: (required) - :return: AdminWorkflowAttributesDeleteResponse + :param AdminProjectDomainAttributesDeleteRequest body: (required) + :return: AdminProjectDomainAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'workflow', 'body'] # noqa: E501 + all_params = ['project', 'domain', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -983,26 +981,22 @@ def delete_workflow_attributes_with_http_info(self, project, domain, workflow, b if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method delete_workflow_attributes" % key + " to method delete_project_domain_attributes" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'project' is set if ('project' not in params or params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `delete_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `project` when calling `delete_project_domain_attributes`") # noqa: E501 # verify the required parameter 'domain' is set if ('domain' not in params or params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `delete_workflow_attributes`") # noqa: E501 - # verify the required parameter 'workflow' is set - if ('workflow' not in params or - params['workflow'] is None): - raise ValueError("Missing the required parameter `workflow` when calling `delete_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `domain` when calling `delete_project_domain_attributes`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `delete_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `delete_project_domain_attributes`") # noqa: E501 collection_formats = {} @@ -1011,8 +1005,6 @@ def delete_workflow_attributes_with_http_info(self, project, domain, workflow, b path_params['project'] = params['project'] # noqa: E501 if 'domain' in params: path_params['domain'] = params['domain'] # noqa: E501 - if 'workflow' in params: - path_params['workflow'] = params['workflow'] # noqa: E501 query_params = [] @@ -1036,14 +1028,14 @@ def delete_workflow_attributes_with_http_info(self, project, domain, workflow, b auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/workflow_attributes/{project}/{domain}/{workflow}', 'DELETE', + '/api/v1/project_domain_attributes/{project}/{domain}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminWorkflowAttributesDeleteResponse', # noqa: E501 + response_type='AdminProjectDomainAttributesDeleteResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1051,47 +1043,49 @@ def delete_workflow_attributes_with_http_info(self, project, domain, workflow, b _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_active_launch_plan(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + def delete_project_domain_attributes2(self, org, project, domain, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_active_launch_plan(id_project, id_domain, id_name, async_req=True) + >>> thread = api.delete_project_domain_attributes2(org, project, domain, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :return: AdminLaunchPlan + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param AdminProjectDomainAttributesDeleteRequest body: (required) + :return: AdminProjectDomainAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_active_launch_plan_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.delete_project_domain_attributes2_with_http_info(org, project, domain, body, **kwargs) # noqa: E501 else: - (data) = self.get_active_launch_plan_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.delete_project_domain_attributes2_with_http_info(org, project, domain, body, **kwargs) # noqa: E501 return data - def get_active_launch_plan_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + def delete_project_domain_attributes2_with_http_info(self, org, project, domain, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_active_launch_plan_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> thread = api.delete_project_domain_attributes2_with_http_info(org, project, domain, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :return: AdminLaunchPlan + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param AdminProjectDomainAttributesDeleteRequest body: (required) + :return: AdminProjectDomainAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name'] # noqa: E501 + all_params = ['org', 'project', 'domain', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1102,32 +1096,36 @@ def get_active_launch_plan_with_http_info(self, id_project, id_domain, id_name, if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_active_launch_plan" % key + " to method delete_project_domain_attributes2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_active_launch_plan`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_active_launch_plan`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_active_launch_plan`") # noqa: E501 + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `delete_project_domain_attributes2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `delete_project_domain_attributes2`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `delete_project_domain_attributes2`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `delete_project_domain_attributes2`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 query_params = [] @@ -1137,6 +1135,8 @@ def get_active_launch_plan_with_http_info(self, id_project, id_domain, id_name, local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -1149,14 +1149,14 @@ def get_active_launch_plan_with_http_info(self, id_project, id_domain, id_name, auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/project_domain_attributes/org/{org}/{project}/{domain}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminLaunchPlan', # noqa: E501 + response_type='AdminProjectDomainAttributesDeleteResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1164,51 +1164,49 @@ def get_active_launch_plan_with_http_info(self, id_project, id_domain, id_name, _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_description_entity(self, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. # noqa: E501 + def delete_workflow_attributes(self, project, domain, workflow, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_description_entity(id_resource_type, id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.delete_workflow_attributes(project, domain, workflow, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :return: AdminDescriptionEntity + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param AdminWorkflowAttributesDeleteRequest body: (required) + :return: AdminWorkflowAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_description_entity_with_http_info(id_resource_type, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return self.delete_workflow_attributes_with_http_info(project, domain, workflow, body, **kwargs) # noqa: E501 else: - (data) = self.get_description_entity_with_http_info(id_resource_type, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + (data) = self.delete_workflow_attributes_with_http_info(project, domain, workflow, body, **kwargs) # noqa: E501 return data - def get_description_entity_with_http_info(self, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. # noqa: E501 + def delete_workflow_attributes_with_http_info(self, project, domain, workflow, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_description_entity_with_http_info(id_resource_type, id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.delete_workflow_attributes_with_http_info(project, domain, workflow, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :return: AdminDescriptionEntity + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param AdminWorkflowAttributesDeleteRequest body: (required) + :return: AdminWorkflowAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_resource_type', 'id_project', 'id_domain', 'id_name', 'id_version'] # noqa: E501 + all_params = ['project', 'domain', 'workflow', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1219,44 +1217,36 @@ def get_description_entity_with_http_info(self, id_resource_type, id_project, id if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_description_entity" % key + " to method delete_workflow_attributes" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_resource_type' is set - if ('id_resource_type' not in params or - params['id_resource_type'] is None): - raise ValueError("Missing the required parameter `id_resource_type` when calling `get_description_entity`") # noqa: E501 - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_description_entity`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_description_entity`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_description_entity`") # noqa: E501 - # verify the required parameter 'id_version' is set - if ('id_version' not in params or - params['id_version'] is None): - raise ValueError("Missing the required parameter `id_version` when calling `get_description_entity`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `delete_workflow_attributes`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `delete_workflow_attributes`") # noqa: E501 + # verify the required parameter 'workflow' is set + if ('workflow' not in params or + params['workflow'] is None): + raise ValueError("Missing the required parameter `workflow` when calling `delete_workflow_attributes`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `delete_workflow_attributes`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_resource_type' in params: - path_params['id.resource_type'] = params['id_resource_type'] # noqa: E501 - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 - if 'id_version' in params: - path_params['id.version'] = params['id_version'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + if 'workflow' in params: + path_params['workflow'] = params['workflow'] # noqa: E501 query_params = [] @@ -1266,6 +1256,8 @@ def get_description_entity_with_http_info(self, id_resource_type, id_project, id local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -1278,14 +1270,14 @@ def get_description_entity_with_http_info(self, id_resource_type, id_project, id auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + '/api/v1/workflow_attributes/{project}/{domain}/{workflow}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminDescriptionEntity', # noqa: E501 + response_type='AdminWorkflowAttributesDeleteResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1293,47 +1285,51 @@ def get_description_entity_with_http_info(self, id_resource_type, id_project, id _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_execution(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetches a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def delete_workflow_attributes2(self, org, project, domain, workflow, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_execution(id_project, id_domain, id_name, async_req=True) + >>> thread = api.delete_workflow_attributes2(org, project, domain, workflow, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :return: AdminExecution + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param AdminWorkflowAttributesDeleteRequest body: (required) + :return: AdminWorkflowAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_execution_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.delete_workflow_attributes2_with_http_info(org, project, domain, workflow, body, **kwargs) # noqa: E501 else: - (data) = self.get_execution_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.delete_workflow_attributes2_with_http_info(org, project, domain, workflow, body, **kwargs) # noqa: E501 return data - def get_execution_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetches a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def delete_workflow_attributes2_with_http_info(self, org, project, domain, workflow, body, **kwargs): # noqa: E501 + """Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_execution_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> thread = api.delete_workflow_attributes2_with_http_info(org, project, domain, workflow, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :return: AdminExecution + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param AdminWorkflowAttributesDeleteRequest body: (required) + :return: AdminWorkflowAttributesDeleteResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name'] # noqa: E501 + all_params = ['org', 'project', 'domain', 'workflow', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1344,32 +1340,42 @@ def get_execution_with_http_info(self, id_project, id_domain, id_name, **kwargs) if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_execution" % key + " to method delete_workflow_attributes2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_execution`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_execution`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_execution`") # noqa: E501 + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `delete_workflow_attributes2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `delete_workflow_attributes2`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `delete_workflow_attributes2`") # noqa: E501 + # verify the required parameter 'workflow' is set + if ('workflow' not in params or + params['workflow'] is None): + raise ValueError("Missing the required parameter `workflow` when calling `delete_workflow_attributes2`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `delete_workflow_attributes2`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + if 'workflow' in params: + path_params['workflow'] = params['workflow'] # noqa: E501 query_params = [] @@ -1379,6 +1385,8 @@ def get_execution_with_http_info(self, id_project, id_domain, id_name, **kwargs) local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -1391,14 +1399,14 @@ def get_execution_with_http_info(self, id_project, id_domain, id_name, **kwargs) auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/executions/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminExecution', # noqa: E501 + response_type='AdminWorkflowAttributesDeleteResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1406,47 +1414,49 @@ def get_execution_with_http_info(self, id_project, id_domain, id_name, **kwargs) _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_execution_data(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def get_active_launch_plan(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_execution_data(id_project, id_domain, id_name, async_req=True) + >>> thread = api.get_active_launch_plan(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :return: AdminWorkflowExecutionGetDataResponse + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminLaunchPlan If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_execution_data_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.get_active_launch_plan_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_execution_data_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.get_active_launch_plan_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_execution_data_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def get_active_launch_plan_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_execution_data_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> thread = api.get_active_launch_plan_with_http_info(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :return: AdminWorkflowExecutionGetDataResponse + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminLaunchPlan If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1457,22 +1467,22 @@ def get_execution_data_with_http_info(self, id_project, id_domain, id_name, **kw if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_execution_data" % key + " to method get_active_launch_plan" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_execution_data`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `get_active_launch_plan`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_execution_data`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `get_active_launch_plan`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_execution_data`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `get_active_launch_plan`") # noqa: E501 collection_formats = {} @@ -1485,6 +1495,8 @@ def get_execution_data_with_http_info(self, id_project, id_domain, id_name, **kw path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 header_params = {} @@ -1504,14 +1516,14 @@ def get_execution_data_with_http_info(self, id_project, id_domain, id_name, **kw auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/data/executions/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminWorkflowExecutionGetDataResponse', # noqa: E501 + response_type='AdminLaunchPlan', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1519,49 +1531,49 @@ def get_execution_data_with_http_info(self, id_project, id_domain, id_name, **kw _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_execution_metrics(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def get_active_launch_plan2(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_execution_metrics(id_project, id_domain, id_name, async_req=True) + >>> thread = api.get_active_launch_plan2(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :param int depth: depth defines the number of Flyte entity levels to traverse when breaking down execution details. - :return: AdminWorkflowExecutionGetMetricsResponse + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :return: AdminLaunchPlan If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_execution_metrics_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.get_active_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_execution_metrics_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.get_active_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_execution_metrics_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def get_active_launch_plan2_with_http_info(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_execution_metrics_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> thread = api.get_active_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :param int depth: depth defines the number of Flyte entity levels to traverse when breaking down execution details. - :return: AdminWorkflowExecutionGetMetricsResponse + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :return: AdminLaunchPlan If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'depth'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1572,26 +1584,32 @@ def get_execution_metrics_with_http_info(self, id_project, id_domain, id_name, * if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_execution_metrics" % key + " to method get_active_launch_plan2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_active_launch_plan2`") # noqa: E501 # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_execution_metrics`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `get_active_launch_plan2`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_execution_metrics`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `get_active_launch_plan2`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_execution_metrics`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `get_active_launch_plan2`") # noqa: E501 collection_formats = {} path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 if 'id_project' in params: path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: @@ -1600,8 +1618,6 @@ def get_execution_metrics_with_http_info(self, id_project, id_domain, id_name, * path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'depth' in params: - query_params.append(('depth', params['depth'])) # noqa: E501 header_params = {} @@ -1621,14 +1637,14 @@ def get_execution_metrics_with_http_info(self, id_project, id_domain, id_name, * auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminWorkflowExecutionGetMetricsResponse', # noqa: E501 + response_type='AdminLaunchPlan', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1636,51 +1652,53 @@ def get_execution_metrics_with_http_info(self, id_project, id_domain, id_name, * _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_launch_plan(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. # noqa: E501 + def get_description_entity(self, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_launch_plan(id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.get_description_entity(id_resource_type, id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) :param str id_name: User provided value for the resource. (required) :param str id_version: Specific version of the resource. (required) - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminLaunchPlan + :param str id_org: Optional, org key applied to the resource. + :return: AdminDescriptionEntity If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return self.get_description_entity_with_http_info(id_resource_type, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 else: - (data) = self.get_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + (data) = self.get_description_entity_with_http_info(id_resource_type, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 return data - def get_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. # noqa: E501 + def get_description_entity_with_http_info(self, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.get_description_entity_with_http_info(id_resource_type, id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) :param str id_name: User provided value for the resource. (required) :param str id_version: Specific version of the resource. (required) - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminLaunchPlan + :param str id_org: Optional, org key applied to the resource. + :return: AdminDescriptionEntity If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type'] # noqa: E501 + all_params = ['id_resource_type', 'id_project', 'id_domain', 'id_name', 'id_version', 'id_org'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1691,30 +1709,36 @@ def get_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_vers if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_launch_plan" % key + " to method get_description_entity" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'id_resource_type' is set + if ('id_resource_type' not in params or + params['id_resource_type'] is None): + raise ValueError("Missing the required parameter `id_resource_type` when calling `get_description_entity`") # noqa: E501 # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_launch_plan`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `get_description_entity`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_launch_plan`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `get_description_entity`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_launch_plan`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `get_description_entity`") # noqa: E501 # verify the required parameter 'id_version' is set if ('id_version' not in params or params['id_version'] is None): - raise ValueError("Missing the required parameter `id_version` when calling `get_launch_plan`") # noqa: E501 + raise ValueError("Missing the required parameter `id_version` when calling `get_description_entity`") # noqa: E501 collection_formats = {} path_params = {} + if 'id_resource_type' in params: + path_params['id.resource_type'] = params['id_resource_type'] # noqa: E501 if 'id_project' in params: path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: @@ -1725,8 +1749,8 @@ def get_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_vers path_params['id.version'] = params['id_version'] # noqa: E501 query_params = [] - if 'id_resource_type' in params: - query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 header_params = {} @@ -1746,14 +1770,14 @@ def get_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_vers auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + '/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminLaunchPlan', # noqa: E501 + response_type='AdminDescriptionEntity', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1761,49 +1785,53 @@ def get_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_vers _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_named_entity(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + def get_description_entity2(self, id_org, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_named_entity(resource_type, id_project, id_domain, id_name, async_req=True) + >>> thread = api.get_description_entity2(id_org, id_resource_type, id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :return: AdminNamedEntity + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :return: AdminDescriptionEntity If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.get_description_entity2_with_http_info(id_org, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 else: - (data) = self.get_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.get_description_entity2_with_http_info(id_org, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 return data - def get_named_entity_with_http_info(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + def get_description_entity2_with_http_info(self, id_org, id_resource_type, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, async_req=True) + >>> thread = api.get_description_entity2_with_http_info(id_org, id_resource_type, id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :return: AdminNamedEntity + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :return: AdminDescriptionEntity If the method is called asynchronously, returns the request thread. """ - all_params = ['resource_type', 'id_project', 'id_domain', 'id_name'] # noqa: E501 + all_params = ['id_org', 'id_resource_type', 'id_project', 'id_domain', 'id_name', 'id_version'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1814,38 +1842,50 @@ def get_named_entity_with_http_info(self, resource_type, id_project, id_domain, if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_named_entity" % key + " to method get_description_entity2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'resource_type' is set - if ('resource_type' not in params or - params['resource_type'] is None): - raise ValueError("Missing the required parameter `resource_type` when calling `get_named_entity`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_description_entity2`") # noqa: E501 + # verify the required parameter 'id_resource_type' is set + if ('id_resource_type' not in params or + params['id_resource_type'] is None): + raise ValueError("Missing the required parameter `id_resource_type` when calling `get_description_entity2`") # noqa: E501 # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_named_entity`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `get_description_entity2`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_named_entity`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `get_description_entity2`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_named_entity`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `get_description_entity2`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `get_description_entity2`") # noqa: E501 collection_formats = {} path_params = {} - if 'resource_type' in params: - path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_resource_type' in params: + path_params['id.resource_type'] = params['id_resource_type'] # noqa: E501 if 'id_project' in params: path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: path_params['id.domain'] = params['id_domain'] # noqa: E501 if 'id_name' in params: path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 query_params = [] @@ -1867,14 +1907,14 @@ def get_named_entity_with_http_info(self, resource_type, id_project, id_domain, auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNamedEntity', # noqa: E501 + response_type='AdminDescriptionEntity', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -1882,49 +1922,49 @@ def get_named_entity_with_http_info(self, resource_type, id_project, id_domain, _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_node_execution(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 - """Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + def get_execution(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_node_execution(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> thread = api.get_execution(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_id: (required) - :return: FlyteidladminNodeExecution + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminExecution If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_node_execution_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + return self.get_execution_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_node_execution_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + (data) = self.get_execution_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_node_execution_with_http_info(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 - """Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + def get_execution_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_node_execution_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> thread = api.get_execution_with_http_info(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_id: (required) - :return: FlyteidladminNodeExecution + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminExecution If the method is called asynchronously, returns the request thread. """ - all_params = ['id_execution_id_project', 'id_execution_id_domain', 'id_execution_id_name', 'id_node_id'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1935,40 +1975,36 @@ def get_node_execution_with_http_info(self, id_execution_id_project, id_executio if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_node_execution" % key + " to method get_execution" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_execution_id_project' is set - if ('id_execution_id_project' not in params or - params['id_execution_id_project'] is None): - raise ValueError("Missing the required parameter `id_execution_id_project` when calling `get_node_execution`") # noqa: E501 - # verify the required parameter 'id_execution_id_domain' is set - if ('id_execution_id_domain' not in params or - params['id_execution_id_domain'] is None): - raise ValueError("Missing the required parameter `id_execution_id_domain` when calling `get_node_execution`") # noqa: E501 - # verify the required parameter 'id_execution_id_name' is set - if ('id_execution_id_name' not in params or - params['id_execution_id_name'] is None): - raise ValueError("Missing the required parameter `id_execution_id_name` when calling `get_node_execution`") # noqa: E501 - # verify the required parameter 'id_node_id' is set - if ('id_node_id' not in params or - params['id_node_id'] is None): - raise ValueError("Missing the required parameter `id_node_id` when calling `get_node_execution`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_execution`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_execution`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_execution`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_execution_id_project' in params: - path_params['id.execution_id.project'] = params['id_execution_id_project'] # noqa: E501 - if 'id_execution_id_domain' in params: - path_params['id.execution_id.domain'] = params['id_execution_id_domain'] # noqa: E501 - if 'id_execution_id_name' in params: - path_params['id.execution_id.name'] = params['id_execution_id_name'] # noqa: E501 - if 'id_node_id' in params: - path_params['id.node_id'] = params['id_node_id'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 header_params = {} @@ -1988,14 +2024,14 @@ def get_node_execution_with_http_info(self, id_execution_id_project, id_executio auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}', 'GET', + '/api/v1/executions/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='FlyteidladminNodeExecution', # noqa: E501 + response_type='AdminExecution', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2003,49 +2039,49 @@ def get_node_execution_with_http_info(self, id_execution_id_project, id_executio _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_node_execution_data(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 - """Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + def get_execution2(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_node_execution_data(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> thread = api.get_execution2(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_id: (required) - :return: AdminNodeExecutionGetDataResponse + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :return: AdminExecution If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_node_execution_data_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + return self.get_execution2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_node_execution_data_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + (data) = self.get_execution2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_node_execution_data_with_http_info(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 - """Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + def get_execution2_with_http_info(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_node_execution_data_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> thread = api.get_execution2_with_http_info(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_id: (required) - :return: AdminNodeExecutionGetDataResponse + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :return: AdminExecution If the method is called asynchronously, returns the request thread. """ - all_params = ['id_execution_id_project', 'id_execution_id_domain', 'id_execution_id_name', 'id_node_id'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2056,38 +2092,38 @@ def get_node_execution_data_with_http_info(self, id_execution_id_project, id_exe if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_node_execution_data" % key + " to method get_execution2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_execution_id_project' is set - if ('id_execution_id_project' not in params or - params['id_execution_id_project'] is None): - raise ValueError("Missing the required parameter `id_execution_id_project` when calling `get_node_execution_data`") # noqa: E501 - # verify the required parameter 'id_execution_id_domain' is set - if ('id_execution_id_domain' not in params or - params['id_execution_id_domain'] is None): - raise ValueError("Missing the required parameter `id_execution_id_domain` when calling `get_node_execution_data`") # noqa: E501 - # verify the required parameter 'id_execution_id_name' is set - if ('id_execution_id_name' not in params or - params['id_execution_id_name'] is None): - raise ValueError("Missing the required parameter `id_execution_id_name` when calling `get_node_execution_data`") # noqa: E501 - # verify the required parameter 'id_node_id' is set - if ('id_node_id' not in params or - params['id_node_id'] is None): - raise ValueError("Missing the required parameter `id_node_id` when calling `get_node_execution_data`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_execution2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_execution2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_execution2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_execution2`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_execution_id_project' in params: - path_params['id.execution_id.project'] = params['id_execution_id_project'] # noqa: E501 - if 'id_execution_id_domain' in params: - path_params['id.execution_id.domain'] = params['id_execution_id_domain'] # noqa: E501 - if 'id_execution_id_name' in params: - path_params['id.execution_id.name'] = params['id_execution_id_name'] # noqa: E501 - if 'id_node_id' in params: - path_params['id.node_id'] = params['id_node_id'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] @@ -2109,14 +2145,14 @@ def get_node_execution_data_with_http_info(self, id_execution_id_project, id_exe auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}', 'GET', + '/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNodeExecutionGetDataResponse', # noqa: E501 + response_type='AdminExecution', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2124,45 +2160,49 @@ def get_node_execution_data_with_http_info(self, id_execution_id_project, id_exe _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_project_attributes(self, project, **kwargs): # noqa: E501 - """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + def get_execution_data(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_project_attributes(project, async_req=True) + >>> thread = api.get_execution_data(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Unique project id which this set of attributes references. +required (required) - :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminProjectAttributesGetResponse + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminWorkflowExecutionGetDataResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_project_attributes_with_http_info(project, **kwargs) # noqa: E501 + return self.get_execution_data_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_project_attributes_with_http_info(project, **kwargs) # noqa: E501 + (data) = self.get_execution_data_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_project_attributes_with_http_info(self, project, **kwargs): # noqa: E501 - """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + def get_execution_data_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_project_attributes_with_http_info(project, async_req=True) + >>> thread = api.get_execution_data_with_http_info(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Unique project id which this set of attributes references. +required (required) - :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminProjectAttributesGetResponse + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminWorkflowExecutionGetDataResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'resource_type'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2173,24 +2213,36 @@ def get_project_attributes_with_http_info(self, project, **kwargs): # noqa: E50 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_project_attributes" % key + " to method get_execution_data" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'project' is set - if ('project' not in params or - params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `get_project_attributes`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_execution_data`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_execution_data`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_execution_data`") # noqa: E501 collection_formats = {} path_params = {} - if 'project' in params: - path_params['project'] = params['project'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'resource_type' in params: - query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 header_params = {} @@ -2210,14 +2262,14 @@ def get_project_attributes_with_http_info(self, project, **kwargs): # noqa: E50 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/project_attributes/{project}', 'GET', + '/api/v1/data/executions/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjectAttributesGetResponse', # noqa: E501 + response_type='AdminWorkflowExecutionGetDataResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2225,47 +2277,49 @@ def get_project_attributes_with_http_info(self, project, **kwargs): # noqa: E50 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_project_domain_attributes(self, project, domain, **kwargs): # noqa: E501 - """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + def get_execution_data2(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_project_domain_attributes(project, domain, async_req=True) + >>> thread = api.get_execution_data2(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Unique project id which this set of attributes references. +required (required) - :param str domain: Unique domain id which this set of attributes references. +required (required) - :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminProjectDomainAttributesGetResponse + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :return: AdminWorkflowExecutionGetDataResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_project_domain_attributes_with_http_info(project, domain, **kwargs) # noqa: E501 + return self.get_execution_data2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_project_domain_attributes_with_http_info(project, domain, **kwargs) # noqa: E501 + (data) = self.get_execution_data2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_project_domain_attributes_with_http_info(self, project, domain, **kwargs): # noqa: E501 - """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + def get_execution_data2_with_http_info(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_project_domain_attributes_with_http_info(project, domain, async_req=True) + >>> thread = api.get_execution_data2_with_http_info(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Unique project id which this set of attributes references. +required (required) - :param str domain: Unique domain id which this set of attributes references. +required (required) - :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminProjectDomainAttributesGetResponse + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :return: AdminWorkflowExecutionGetDataResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'resource_type'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2276,30 +2330,40 @@ def get_project_domain_attributes_with_http_info(self, project, domain, **kwargs if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_project_domain_attributes" % key + " to method get_execution_data2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'project' is set - if ('project' not in params or - params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `get_project_domain_attributes`") # noqa: E501 - # verify the required parameter 'domain' is set - if ('domain' not in params or - params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `get_project_domain_attributes`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_execution_data2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_execution_data2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_execution_data2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_execution_data2`") # noqa: E501 collection_formats = {} path_params = {} - if 'project' in params: - path_params['project'] = params['project'] # noqa: E501 - if 'domain' in params: - path_params['domain'] = params['domain'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'resource_type' in params: - query_params.append(('resource_type', params['resource_type'])) # noqa: E501 header_params = {} @@ -2319,14 +2383,14 @@ def get_project_domain_attributes_with_http_info(self, project, domain, **kwargs auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/project_domain_attributes/{project}/{domain}', 'GET', + '/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjectDomainAttributesGetResponse', # noqa: E501 + response_type='AdminWorkflowExecutionGetDataResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2334,51 +2398,51 @@ def get_project_domain_attributes_with_http_info(self, project, domain, **kwargs _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_task(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.Task` definition. # noqa: E501 + def get_execution_metrics(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_task(id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.get_execution_metrics(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminTask + :param str id_name: User or system provided value for the resource. (required) + :param str id_org: Optional, org key applied to the resource. + :param int depth: depth defines the number of Flyte entity levels to traverse when breaking down execution details. + :return: AdminWorkflowExecutionGetMetricsResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_task_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return self.get_execution_metrics_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_task_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + (data) = self.get_execution_metrics_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_task_with_http_info(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.Task` definition. # noqa: E501 + def get_execution_metrics_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_task_with_http_info(id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.get_execution_metrics_with_http_info(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminTask - If the method is called asynchronously, - returns the request thread. + :param str id_name: User or system provided value for the resource. (required) + :param str id_org: Optional, org key applied to the resource. + :param int depth: depth defines the number of Flyte entity levels to traverse when breaking down execution details. + :return: AdminWorkflowExecutionGetMetricsResponse + If the method is called asynchronously, + returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'depth'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2389,26 +2453,22 @@ def get_task_with_http_info(self, id_project, id_domain, id_name, id_version, ** if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_task" % key + " to method get_execution_metrics" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_task`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `get_execution_metrics`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_task`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `get_execution_metrics`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_task`") # noqa: E501 - # verify the required parameter 'id_version' is set - if ('id_version' not in params or - params['id_version'] is None): - raise ValueError("Missing the required parameter `id_version` when calling `get_task`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `get_execution_metrics`") # noqa: E501 collection_formats = {} @@ -2419,12 +2479,12 @@ def get_task_with_http_info(self, id_project, id_domain, id_name, id_version, ** path_params['id.domain'] = params['id_domain'] # noqa: E501 if 'id_name' in params: path_params['id.name'] = params['id_name'] # noqa: E501 - if 'id_version' in params: - path_params['id.version'] = params['id_version'] # noqa: E501 query_params = [] - if 'id_resource_type' in params: - query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + if 'depth' in params: + query_params.append(('depth', params['depth'])) # noqa: E501 header_params = {} @@ -2444,14 +2504,14 @@ def get_task_with_http_info(self, id_project, id_domain, id_name, id_version, ** auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + '/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminTask', # noqa: E501 + response_type='AdminWorkflowExecutionGetMetricsResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2459,61 +2519,51 @@ def get_task_with_http_info(self, id_project, id_domain, id_name, id_version, ** _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_task_execution(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 - """Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def get_execution_metrics2(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_task_execution(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> thread = api.get_execution_metrics2(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_execution_id_node_id: (required) - :param str id_task_id_project: Name of the project the resource belongs to. (required) - :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_task_id_name: User provided value for the resource. (required) - :param str id_task_id_version: Specific version of the resource. (required) - :param int id_retry_attempt: (required) - :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: FlyteidladminTaskExecution + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param int depth: depth defines the number of Flyte entity levels to traverse when breaking down execution details. + :return: AdminWorkflowExecutionGetMetricsResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_task_execution_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + return self.get_execution_metrics2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.get_task_execution_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + (data) = self.get_execution_metrics2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def get_task_execution_with_http_info(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 - """Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def get_execution_metrics2_with_http_info(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_task_execution_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> thread = api.get_execution_metrics2_with_http_info(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_execution_id_node_id: (required) - :param str id_task_id_project: Name of the project the resource belongs to. (required) - :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_task_id_name: User provided value for the resource. (required) - :param str id_task_id_version: Specific version of the resource. (required) - :param int id_retry_attempt: (required) - :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: FlyteidladminTaskExecution + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param int depth: depth defines the number of Flyte entity levels to traverse when breaking down execution details. + :return: AdminWorkflowExecutionGetMetricsResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_node_execution_id_execution_id_project', 'id_node_execution_id_execution_id_domain', 'id_node_execution_id_execution_id_name', 'id_node_execution_id_node_id', 'id_task_id_project', 'id_task_id_domain', 'id_task_id_name', 'id_task_id_version', 'id_retry_attempt', 'id_task_id_resource_type'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'depth'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2524,72 +2574,42 @@ def get_task_execution_with_http_info(self, id_node_execution_id_execution_id_pr if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_task_execution" % key + " to method get_execution_metrics2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_node_execution_id_execution_id_project' is set - if ('id_node_execution_id_execution_id_project' not in params or - params['id_node_execution_id_execution_id_project'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_project` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_node_execution_id_execution_id_domain' is set - if ('id_node_execution_id_execution_id_domain' not in params or - params['id_node_execution_id_execution_id_domain'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_domain` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_node_execution_id_execution_id_name' is set - if ('id_node_execution_id_execution_id_name' not in params or - params['id_node_execution_id_execution_id_name'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_name` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_node_execution_id_node_id' is set - if ('id_node_execution_id_node_id' not in params or - params['id_node_execution_id_node_id'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_node_id` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_task_id_project' is set - if ('id_task_id_project' not in params or - params['id_task_id_project'] is None): - raise ValueError("Missing the required parameter `id_task_id_project` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_task_id_domain' is set - if ('id_task_id_domain' not in params or - params['id_task_id_domain'] is None): - raise ValueError("Missing the required parameter `id_task_id_domain` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_task_id_name' is set - if ('id_task_id_name' not in params or - params['id_task_id_name'] is None): - raise ValueError("Missing the required parameter `id_task_id_name` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_task_id_version' is set - if ('id_task_id_version' not in params or - params['id_task_id_version'] is None): - raise ValueError("Missing the required parameter `id_task_id_version` when calling `get_task_execution`") # noqa: E501 - # verify the required parameter 'id_retry_attempt' is set - if ('id_retry_attempt' not in params or - params['id_retry_attempt'] is None): - raise ValueError("Missing the required parameter `id_retry_attempt` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_execution_metrics2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_execution_metrics2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_execution_metrics2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_execution_metrics2`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_node_execution_id_execution_id_project' in params: - path_params['id.node_execution_id.execution_id.project'] = params['id_node_execution_id_execution_id_project'] # noqa: E501 - if 'id_node_execution_id_execution_id_domain' in params: - path_params['id.node_execution_id.execution_id.domain'] = params['id_node_execution_id_execution_id_domain'] # noqa: E501 - if 'id_node_execution_id_execution_id_name' in params: - path_params['id.node_execution_id.execution_id.name'] = params['id_node_execution_id_execution_id_name'] # noqa: E501 - if 'id_node_execution_id_node_id' in params: - path_params['id.node_execution_id.node_id'] = params['id_node_execution_id_node_id'] # noqa: E501 - if 'id_task_id_project' in params: - path_params['id.task_id.project'] = params['id_task_id_project'] # noqa: E501 - if 'id_task_id_domain' in params: - path_params['id.task_id.domain'] = params['id_task_id_domain'] # noqa: E501 - if 'id_task_id_name' in params: - path_params['id.task_id.name'] = params['id_task_id_name'] # noqa: E501 - if 'id_task_id_version' in params: - path_params['id.task_id.version'] = params['id_task_id_version'] # noqa: E501 - if 'id_retry_attempt' in params: - path_params['id.retry_attempt'] = params['id_retry_attempt'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'id_task_id_resource_type' in params: - query_params.append(('id.task_id.resource_type', params['id_task_id_resource_type'])) # noqa: E501 + if 'depth' in params: + query_params.append(('depth', params['depth'])) # noqa: E501 header_params = {} @@ -2609,14 +2629,14 @@ def get_task_execution_with_http_info(self, id_node_execution_id_execution_id_pr auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}', 'GET', + '/api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='FlyteidladminTaskExecution', # noqa: E501 + response_type='AdminWorkflowExecutionGetMetricsResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2624,61 +2644,53 @@ def get_task_execution_with_http_info(self, id_node_execution_id_execution_id_pr _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_task_execution_data(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 - """Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def get_launch_plan(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_task_execution_data(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> thread = api.get_launch_plan(id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_execution_id_node_id: (required) - :param str id_task_id_project: Name of the project the resource belongs to. (required) - :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_task_id_name: User provided value for the resource. (required) - :param str id_task_id_version: Specific version of the resource. (required) - :param int id_retry_attempt: (required) - :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminTaskExecutionGetDataResponse + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. + :return: AdminLaunchPlan If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_task_execution_data_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + return self.get_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 else: - (data) = self.get_task_execution_data_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + (data) = self.get_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 return data - def get_task_execution_data_with_http_info(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 - """Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def get_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_task_execution_data_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> thread = api.get_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str id_node_execution_id_node_id: (required) - :param str id_task_id_project: Name of the project the resource belongs to. (required) - :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_task_id_name: User provided value for the resource. (required) - :param str id_task_id_version: Specific version of the resource. (required) - :param int id_retry_attempt: (required) - :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminTaskExecutionGetDataResponse + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. + :return: AdminLaunchPlan If the method is called asynchronously, returns the request thread. """ - all_params = ['id_node_execution_id_execution_id_project', 'id_node_execution_id_execution_id_domain', 'id_node_execution_id_execution_id_name', 'id_node_execution_id_node_id', 'id_task_id_project', 'id_task_id_domain', 'id_task_id_name', 'id_task_id_version', 'id_retry_attempt', 'id_task_id_resource_type'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type', 'id_org'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2689,56 +2701,2327 @@ def get_task_execution_data_with_http_info(self, id_node_execution_id_execution_ if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_task_execution_data" % key + " to method get_launch_plan" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_node_execution_id_execution_id_project' is set - if ('id_node_execution_id_execution_id_project' not in params or - params['id_node_execution_id_execution_id_project'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_project` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_node_execution_id_execution_id_domain' is set - if ('id_node_execution_id_execution_id_domain' not in params or - params['id_node_execution_id_execution_id_domain'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_domain` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_node_execution_id_execution_id_name' is set - if ('id_node_execution_id_execution_id_name' not in params or - params['id_node_execution_id_execution_id_name'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_name` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_node_execution_id_node_id' is set - if ('id_node_execution_id_node_id' not in params or - params['id_node_execution_id_node_id'] is None): - raise ValueError("Missing the required parameter `id_node_execution_id_node_id` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_task_id_project' is set - if ('id_task_id_project' not in params or - params['id_task_id_project'] is None): - raise ValueError("Missing the required parameter `id_task_id_project` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_task_id_domain' is set - if ('id_task_id_domain' not in params or - params['id_task_id_domain'] is None): - raise ValueError("Missing the required parameter `id_task_id_domain` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_task_id_name' is set - if ('id_task_id_name' not in params or - params['id_task_id_name'] is None): - raise ValueError("Missing the required parameter `id_task_id_name` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_task_id_version' is set - if ('id_task_id_version' not in params or - params['id_task_id_version'] is None): - raise ValueError("Missing the required parameter `id_task_id_version` when calling `get_task_execution_data`") # noqa: E501 - # verify the required parameter 'id_retry_attempt' is set - if ('id_retry_attempt' not in params or - params['id_retry_attempt'] is None): - raise ValueError("Missing the required parameter `id_retry_attempt` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_launch_plan`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_launch_plan`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_launch_plan`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `get_launch_plan`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_node_execution_id_execution_id_project' in params: - path_params['id.node_execution_id.execution_id.project'] = params['id_node_execution_id_execution_id_project'] # noqa: E501 - if 'id_node_execution_id_execution_id_domain' in params: - path_params['id.node_execution_id.execution_id.domain'] = params['id_node_execution_id_execution_id_domain'] # noqa: E501 - if 'id_node_execution_id_execution_id_name' in params: - path_params['id.node_execution_id.execution_id.name'] = params['id_node_execution_id_execution_id_name'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 + + query_params = [] + if 'id_resource_type' in params: + query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminLaunchPlan', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_launch_plan2(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_launch_plan2(id_org, id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :return: AdminLaunchPlan + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + else: + (data) = self.get_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return data + + def get_launch_plan2_with_http_info(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :return: AdminLaunchPlan + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_launch_plan2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `get_launch_plan2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 + + query_params = [] + if 'id_resource_type' in params: + query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminLaunchPlan', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_named_entity(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_named_entity(resource_type, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminNamedEntity + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + else: + (data) = self.get_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + return data + + def get_named_entity_with_http_info(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :return: AdminNamedEntity + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'id_project', 'id_domain', 'id_name', 'id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_named_entity" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `get_named_entity`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_named_entity`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_named_entity`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_named_entity`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + + query_params = [] + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNamedEntity', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_named_entity2(self, resource_type, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_named_entity2(resource_type, id_org, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :return: AdminNamedEntity + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_named_entity2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 + else: + (data) = self.get_named_entity2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 + return data + + def get_named_entity2_with_http_info(self, resource_type, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_named_entity2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :return: AdminNamedEntity + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'id_org', 'id_project', 'id_domain', 'id_name'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_named_entity2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `get_named_entity2`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_named_entity2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_named_entity2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_named_entity2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_named_entity2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNamedEntity', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_node_execution(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :param str id_execution_id_org: Optional, org key applied to the resource. + :return: FlyteidladminNodeExecution + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_node_execution_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + else: + (data) = self.get_node_execution_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + return data + + def get_node_execution_with_http_info(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :param str id_execution_id_org: Optional, org key applied to the resource. + :return: FlyteidladminNodeExecution + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_execution_id_project', 'id_execution_id_domain', 'id_execution_id_name', 'id_node_id', 'id_execution_id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_node_execution" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_execution_id_project' is set + if ('id_execution_id_project' not in params or + params['id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_execution_id_project` when calling `get_node_execution`") # noqa: E501 + # verify the required parameter 'id_execution_id_domain' is set + if ('id_execution_id_domain' not in params or + params['id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_execution_id_domain` when calling `get_node_execution`") # noqa: E501 + # verify the required parameter 'id_execution_id_name' is set + if ('id_execution_id_name' not in params or + params['id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_execution_id_name` when calling `get_node_execution`") # noqa: E501 + # verify the required parameter 'id_node_id' is set + if ('id_node_id' not in params or + params['id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_id` when calling `get_node_execution`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_execution_id_project' in params: + path_params['id.execution_id.project'] = params['id_execution_id_project'] # noqa: E501 + if 'id_execution_id_domain' in params: + path_params['id.execution_id.domain'] = params['id_execution_id_domain'] # noqa: E501 + if 'id_execution_id_name' in params: + path_params['id.execution_id.name'] = params['id_execution_id_name'] # noqa: E501 + if 'id_node_id' in params: + path_params['id.node_id'] = params['id_node_id'] # noqa: E501 + + query_params = [] + if 'id_execution_id_org' in params: + query_params.append(('id.execution_id.org', params['id_execution_id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='FlyteidladminNodeExecution', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_node_execution2(self, id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution2(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :return: FlyteidladminNodeExecution + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_node_execution2_with_http_info(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + else: + (data) = self.get_node_execution2_with_http_info(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + return data + + def get_node_execution2_with_http_info(self, id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution2_with_http_info(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :return: FlyteidladminNodeExecution + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_execution_id_org', 'id_execution_id_project', 'id_execution_id_domain', 'id_execution_id_name', 'id_node_id'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_node_execution2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_execution_id_org' is set + if ('id_execution_id_org' not in params or + params['id_execution_id_org'] is None): + raise ValueError("Missing the required parameter `id_execution_id_org` when calling `get_node_execution2`") # noqa: E501 + # verify the required parameter 'id_execution_id_project' is set + if ('id_execution_id_project' not in params or + params['id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_execution_id_project` when calling `get_node_execution2`") # noqa: E501 + # verify the required parameter 'id_execution_id_domain' is set + if ('id_execution_id_domain' not in params or + params['id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_execution_id_domain` when calling `get_node_execution2`") # noqa: E501 + # verify the required parameter 'id_execution_id_name' is set + if ('id_execution_id_name' not in params or + params['id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_execution_id_name` when calling `get_node_execution2`") # noqa: E501 + # verify the required parameter 'id_node_id' is set + if ('id_node_id' not in params or + params['id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_id` when calling `get_node_execution2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_execution_id_org' in params: + path_params['id.execution_id.org'] = params['id_execution_id_org'] # noqa: E501 + if 'id_execution_id_project' in params: + path_params['id.execution_id.project'] = params['id_execution_id_project'] # noqa: E501 + if 'id_execution_id_domain' in params: + path_params['id.execution_id.domain'] = params['id_execution_id_domain'] # noqa: E501 + if 'id_execution_id_name' in params: + path_params['id.execution_id.name'] = params['id_execution_id_name'] # noqa: E501 + if 'id_node_id' in params: + path_params['id.node_id'] = params['id_node_id'] # noqa: E501 + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='FlyteidladminNodeExecution', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_node_execution_data(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution_data(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :param str id_execution_id_org: Optional, org key applied to the resource. + :return: AdminNodeExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_node_execution_data_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + else: + (data) = self.get_node_execution_data_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + return data + + def get_node_execution_data_with_http_info(self, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution_data_with_http_info(id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :param str id_execution_id_org: Optional, org key applied to the resource. + :return: AdminNodeExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_execution_id_project', 'id_execution_id_domain', 'id_execution_id_name', 'id_node_id', 'id_execution_id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_node_execution_data" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_execution_id_project' is set + if ('id_execution_id_project' not in params or + params['id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_execution_id_project` when calling `get_node_execution_data`") # noqa: E501 + # verify the required parameter 'id_execution_id_domain' is set + if ('id_execution_id_domain' not in params or + params['id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_execution_id_domain` when calling `get_node_execution_data`") # noqa: E501 + # verify the required parameter 'id_execution_id_name' is set + if ('id_execution_id_name' not in params or + params['id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_execution_id_name` when calling `get_node_execution_data`") # noqa: E501 + # verify the required parameter 'id_node_id' is set + if ('id_node_id' not in params or + params['id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_id` when calling `get_node_execution_data`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_execution_id_project' in params: + path_params['id.execution_id.project'] = params['id_execution_id_project'] # noqa: E501 + if 'id_execution_id_domain' in params: + path_params['id.execution_id.domain'] = params['id_execution_id_domain'] # noqa: E501 + if 'id_execution_id_name' in params: + path_params['id.execution_id.name'] = params['id_execution_id_name'] # noqa: E501 + if 'id_node_id' in params: + path_params['id.node_id'] = params['id_node_id'] # noqa: E501 + + query_params = [] + if 'id_execution_id_org' in params: + query_params.append(('id.execution_id.org', params['id_execution_id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNodeExecutionGetDataResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_node_execution_data2(self, id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution_data2(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :return: AdminNodeExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_node_execution_data2_with_http_info(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + else: + (data) = self.get_node_execution_data2_with_http_info(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs) # noqa: E501 + return data + + def get_node_execution_data2_with_http_info(self, id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_node_execution_data2_with_http_info(id_execution_id_org, id_execution_id_project, id_execution_id_domain, id_execution_id_name, id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_id: (required) + :return: AdminNodeExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_execution_id_org', 'id_execution_id_project', 'id_execution_id_domain', 'id_execution_id_name', 'id_node_id'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_node_execution_data2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_execution_id_org' is set + if ('id_execution_id_org' not in params or + params['id_execution_id_org'] is None): + raise ValueError("Missing the required parameter `id_execution_id_org` when calling `get_node_execution_data2`") # noqa: E501 + # verify the required parameter 'id_execution_id_project' is set + if ('id_execution_id_project' not in params or + params['id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_execution_id_project` when calling `get_node_execution_data2`") # noqa: E501 + # verify the required parameter 'id_execution_id_domain' is set + if ('id_execution_id_domain' not in params or + params['id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_execution_id_domain` when calling `get_node_execution_data2`") # noqa: E501 + # verify the required parameter 'id_execution_id_name' is set + if ('id_execution_id_name' not in params or + params['id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_execution_id_name` when calling `get_node_execution_data2`") # noqa: E501 + # verify the required parameter 'id_node_id' is set + if ('id_node_id' not in params or + params['id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_id` when calling `get_node_execution_data2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_execution_id_org' in params: + path_params['id.execution_id.org'] = params['id_execution_id_org'] # noqa: E501 + if 'id_execution_id_project' in params: + path_params['id.execution_id.project'] = params['id_execution_id_project'] # noqa: E501 + if 'id_execution_id_domain' in params: + path_params['id.execution_id.domain'] = params['id_execution_id_domain'] # noqa: E501 + if 'id_execution_id_name' in params: + path_params['id.execution_id.name'] = params['id_execution_id_name'] # noqa: E501 + if 'id_node_id' in params: + path_params['id.node_id'] = params['id_node_id'] # noqa: E501 + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNodeExecutionGetDataResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_project_attributes(self, project, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_attributes(project, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Unique project id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :param str org: Optional, org key applied to the project. + :return: AdminProjectAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_project_attributes_with_http_info(project, **kwargs) # noqa: E501 + else: + (data) = self.get_project_attributes_with_http_info(project, **kwargs) # noqa: E501 + return data + + def get_project_attributes_with_http_info(self, project, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_attributes_with_http_info(project, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Unique project id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :param str org: Optional, org key applied to the project. + :return: AdminProjectAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['project', 'resource_type', 'org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_project_attributes" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `get_project_attributes`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/project_attributes/{project}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminProjectAttributesGetResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_project_attributes2(self, org, project, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_attributes2(org, project, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the project. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminProjectAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_project_attributes2_with_http_info(org, project, **kwargs) # noqa: E501 + else: + (data) = self.get_project_attributes2_with_http_info(org, project, **kwargs) # noqa: E501 + return data + + def get_project_attributes2_with_http_info(self, org, project, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_attributes2_with_http_info(org, project, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the project. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminProjectAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['org', 'project', 'resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_project_attributes2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `get_project_attributes2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `get_project_attributes2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/project_domain_attributes/org/{org}/{project}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminProjectAttributesGetResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_project_domain_attributes(self, project, domain, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_domain_attributes(project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :param str org: Optional, org key applied to the attributes. + :return: AdminProjectDomainAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_project_domain_attributes_with_http_info(project, domain, **kwargs) # noqa: E501 + else: + (data) = self.get_project_domain_attributes_with_http_info(project, domain, **kwargs) # noqa: E501 + return data + + def get_project_domain_attributes_with_http_info(self, project, domain, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_domain_attributes_with_http_info(project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :param str org: Optional, org key applied to the attributes. + :return: AdminProjectDomainAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['project', 'domain', 'resource_type', 'org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_project_domain_attributes" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `get_project_domain_attributes`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `get_project_domain_attributes`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/project_domain_attributes/{project}/{domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminProjectDomainAttributesGetResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_project_domain_attributes2(self, org, project, domain, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_domain_attributes2(org, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminProjectDomainAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_project_domain_attributes2_with_http_info(org, project, domain, **kwargs) # noqa: E501 + else: + (data) = self.get_project_domain_attributes2_with_http_info(org, project, domain, **kwargs) # noqa: E501 + return data + + def get_project_domain_attributes2_with_http_info(self, org, project, domain, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_project_domain_attributes2_with_http_info(org, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminProjectDomainAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['org', 'project', 'domain', 'resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_project_domain_attributes2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `get_project_domain_attributes2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `get_project_domain_attributes2`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `get_project_domain_attributes2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/project_domain_attributes/org/{org}/{project}/{domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminProjectDomainAttributesGetResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_task(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Task` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task(id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. + :return: AdminTask + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_task_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + else: + (data) = self.get_task_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return data + + def get_task_with_http_info(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Task` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_with_http_info(id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. + :return: AdminTask + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type', 'id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_task" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_task`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_task`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_task`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `get_task`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 + + query_params = [] + if 'id_resource_type' in params: + query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminTask', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_task2(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Task` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task2(id_org, id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :return: AdminTask + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_task2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + else: + (data) = self.get_task2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return data + + def get_task2_with_http_info(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Task` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task2_with_http_info(id_org, id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :return: AdminTask + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_task2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_task2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_task2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_task2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_task2`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `get_task2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 + + query_params = [] + if 'id_resource_type' in params: + query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminTask', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_task_execution(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. + :return: FlyteidladminTaskExecution + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_task_execution_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + else: + (data) = self.get_task_execution_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + return data + + def get_task_execution_with_http_info(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. + :return: FlyteidladminTaskExecution + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_node_execution_id_execution_id_project', 'id_node_execution_id_execution_id_domain', 'id_node_execution_id_execution_id_name', 'id_node_execution_id_node_id', 'id_task_id_project', 'id_task_id_domain', 'id_task_id_name', 'id_task_id_version', 'id_retry_attempt', 'id_task_id_resource_type', 'id_task_id_org', 'id_node_execution_id_execution_id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_task_execution" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_node_execution_id_execution_id_project' is set + if ('id_node_execution_id_execution_id_project' not in params or + params['id_node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_project` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_domain' is set + if ('id_node_execution_id_execution_id_domain' not in params or + params['id_node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_domain` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_name' is set + if ('id_node_execution_id_execution_id_name' not in params or + params['id_node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_name` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_node_id' is set + if ('id_node_execution_id_node_id' not in params or + params['id_node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_node_id` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_task_id_project' is set + if ('id_task_id_project' not in params or + params['id_task_id_project'] is None): + raise ValueError("Missing the required parameter `id_task_id_project` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_task_id_domain' is set + if ('id_task_id_domain' not in params or + params['id_task_id_domain'] is None): + raise ValueError("Missing the required parameter `id_task_id_domain` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_task_id_name' is set + if ('id_task_id_name' not in params or + params['id_task_id_name'] is None): + raise ValueError("Missing the required parameter `id_task_id_name` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_task_id_version' is set + if ('id_task_id_version' not in params or + params['id_task_id_version'] is None): + raise ValueError("Missing the required parameter `id_task_id_version` when calling `get_task_execution`") # noqa: E501 + # verify the required parameter 'id_retry_attempt' is set + if ('id_retry_attempt' not in params or + params['id_retry_attempt'] is None): + raise ValueError("Missing the required parameter `id_retry_attempt` when calling `get_task_execution`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_node_execution_id_execution_id_project' in params: + path_params['id.node_execution_id.execution_id.project'] = params['id_node_execution_id_execution_id_project'] # noqa: E501 + if 'id_node_execution_id_execution_id_domain' in params: + path_params['id.node_execution_id.execution_id.domain'] = params['id_node_execution_id_execution_id_domain'] # noqa: E501 + if 'id_node_execution_id_execution_id_name' in params: + path_params['id.node_execution_id.execution_id.name'] = params['id_node_execution_id_execution_id_name'] # noqa: E501 + if 'id_node_execution_id_node_id' in params: + path_params['id.node_execution_id.node_id'] = params['id_node_execution_id_node_id'] # noqa: E501 + if 'id_task_id_project' in params: + path_params['id.task_id.project'] = params['id_task_id_project'] # noqa: E501 + if 'id_task_id_domain' in params: + path_params['id.task_id.domain'] = params['id_task_id_domain'] # noqa: E501 + if 'id_task_id_name' in params: + path_params['id.task_id.name'] = params['id_task_id_name'] # noqa: E501 + if 'id_task_id_version' in params: + path_params['id.task_id.version'] = params['id_task_id_version'] # noqa: E501 + if 'id_retry_attempt' in params: + path_params['id.retry_attempt'] = params['id_retry_attempt'] # noqa: E501 + + query_params = [] + if 'id_task_id_resource_type' in params: + query_params.append(('id.task_id.resource_type', params['id_task_id_resource_type'])) # noqa: E501 + if 'id_task_id_org' in params: + query_params.append(('id.task_id.org', params['id_task_id_org'])) # noqa: E501 + if 'id_node_execution_id_execution_id_org' in params: + query_params.append(('id.node_execution_id.execution_id.org', params['id_node_execution_id_execution_id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='FlyteidladminTaskExecution', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_task_execution2(self, id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution2(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :return: FlyteidladminTaskExecution + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_task_execution2_with_http_info(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + else: + (data) = self.get_task_execution2_with_http_info(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + return data + + def get_task_execution2_with_http_info(self, id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution2_with_http_info(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :return: FlyteidladminTaskExecution + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_node_execution_id_execution_id_org', 'id_node_execution_id_execution_id_project', 'id_node_execution_id_execution_id_domain', 'id_node_execution_id_execution_id_name', 'id_node_execution_id_node_id', 'id_task_id_project', 'id_task_id_domain', 'id_task_id_name', 'id_task_id_version', 'id_retry_attempt', 'id_task_id_resource_type', 'id_task_id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_task_execution2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_node_execution_id_execution_id_org' is set + if ('id_node_execution_id_execution_id_org' not in params or + params['id_node_execution_id_execution_id_org'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_org` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_project' is set + if ('id_node_execution_id_execution_id_project' not in params or + params['id_node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_project` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_domain' is set + if ('id_node_execution_id_execution_id_domain' not in params or + params['id_node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_domain` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_name' is set + if ('id_node_execution_id_execution_id_name' not in params or + params['id_node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_name` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_node_id' is set + if ('id_node_execution_id_node_id' not in params or + params['id_node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_node_id` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_task_id_project' is set + if ('id_task_id_project' not in params or + params['id_task_id_project'] is None): + raise ValueError("Missing the required parameter `id_task_id_project` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_task_id_domain' is set + if ('id_task_id_domain' not in params or + params['id_task_id_domain'] is None): + raise ValueError("Missing the required parameter `id_task_id_domain` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_task_id_name' is set + if ('id_task_id_name' not in params or + params['id_task_id_name'] is None): + raise ValueError("Missing the required parameter `id_task_id_name` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_task_id_version' is set + if ('id_task_id_version' not in params or + params['id_task_id_version'] is None): + raise ValueError("Missing the required parameter `id_task_id_version` when calling `get_task_execution2`") # noqa: E501 + # verify the required parameter 'id_retry_attempt' is set + if ('id_retry_attempt' not in params or + params['id_retry_attempt'] is None): + raise ValueError("Missing the required parameter `id_retry_attempt` when calling `get_task_execution2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_node_execution_id_execution_id_org' in params: + path_params['id.node_execution_id.execution_id.org'] = params['id_node_execution_id_execution_id_org'] # noqa: E501 + if 'id_node_execution_id_execution_id_project' in params: + path_params['id.node_execution_id.execution_id.project'] = params['id_node_execution_id_execution_id_project'] # noqa: E501 + if 'id_node_execution_id_execution_id_domain' in params: + path_params['id.node_execution_id.execution_id.domain'] = params['id_node_execution_id_execution_id_domain'] # noqa: E501 + if 'id_node_execution_id_execution_id_name' in params: + path_params['id.node_execution_id.execution_id.name'] = params['id_node_execution_id_execution_id_name'] # noqa: E501 + if 'id_node_execution_id_node_id' in params: + path_params['id.node_execution_id.node_id'] = params['id_node_execution_id_node_id'] # noqa: E501 + if 'id_task_id_project' in params: + path_params['id.task_id.project'] = params['id_task_id_project'] # noqa: E501 + if 'id_task_id_domain' in params: + path_params['id.task_id.domain'] = params['id_task_id_domain'] # noqa: E501 + if 'id_task_id_name' in params: + path_params['id.task_id.name'] = params['id_task_id_name'] # noqa: E501 + if 'id_task_id_version' in params: + path_params['id.task_id.version'] = params['id_task_id_version'] # noqa: E501 + if 'id_retry_attempt' in params: + path_params['id.retry_attempt'] = params['id_retry_attempt'] # noqa: E501 + + query_params = [] + if 'id_task_id_resource_type' in params: + query_params.append(('id.task_id.resource_type', params['id_task_id_resource_type'])) # noqa: E501 + if 'id_task_id_org' in params: + query_params.append(('id.task_id.org', params['id_task_id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='FlyteidladminTaskExecution', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_task_execution_data(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution_data(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. + :return: AdminTaskExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_task_execution_data_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + else: + (data) = self.get_task_execution_data_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + return data + + def get_task_execution_data_with_http_info(self, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution_data_with_http_info(id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. + :return: AdminTaskExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_node_execution_id_execution_id_project', 'id_node_execution_id_execution_id_domain', 'id_node_execution_id_execution_id_name', 'id_node_execution_id_node_id', 'id_task_id_project', 'id_task_id_domain', 'id_task_id_name', 'id_task_id_version', 'id_retry_attempt', 'id_task_id_resource_type', 'id_task_id_org', 'id_node_execution_id_execution_id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_task_execution_data" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_node_execution_id_execution_id_project' is set + if ('id_node_execution_id_execution_id_project' not in params or + params['id_node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_project` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_domain' is set + if ('id_node_execution_id_execution_id_domain' not in params or + params['id_node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_domain` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_name' is set + if ('id_node_execution_id_execution_id_name' not in params or + params['id_node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_name` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_node_id' is set + if ('id_node_execution_id_node_id' not in params or + params['id_node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_node_id` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_task_id_project' is set + if ('id_task_id_project' not in params or + params['id_task_id_project'] is None): + raise ValueError("Missing the required parameter `id_task_id_project` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_task_id_domain' is set + if ('id_task_id_domain' not in params or + params['id_task_id_domain'] is None): + raise ValueError("Missing the required parameter `id_task_id_domain` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_task_id_name' is set + if ('id_task_id_name' not in params or + params['id_task_id_name'] is None): + raise ValueError("Missing the required parameter `id_task_id_name` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_task_id_version' is set + if ('id_task_id_version' not in params or + params['id_task_id_version'] is None): + raise ValueError("Missing the required parameter `id_task_id_version` when calling `get_task_execution_data`") # noqa: E501 + # verify the required parameter 'id_retry_attempt' is set + if ('id_retry_attempt' not in params or + params['id_retry_attempt'] is None): + raise ValueError("Missing the required parameter `id_retry_attempt` when calling `get_task_execution_data`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_node_execution_id_execution_id_project' in params: + path_params['id.node_execution_id.execution_id.project'] = params['id_node_execution_id_execution_id_project'] # noqa: E501 + if 'id_node_execution_id_execution_id_domain' in params: + path_params['id.node_execution_id.execution_id.domain'] = params['id_node_execution_id_execution_id_domain'] # noqa: E501 + if 'id_node_execution_id_execution_id_name' in params: + path_params['id.node_execution_id.execution_id.name'] = params['id_node_execution_id_execution_id_name'] # noqa: E501 + if 'id_node_execution_id_node_id' in params: + path_params['id.node_execution_id.node_id'] = params['id_node_execution_id_node_id'] # noqa: E501 + if 'id_task_id_project' in params: + path_params['id.task_id.project'] = params['id_task_id_project'] # noqa: E501 + if 'id_task_id_domain' in params: + path_params['id.task_id.domain'] = params['id_task_id_domain'] # noqa: E501 + if 'id_task_id_name' in params: + path_params['id.task_id.name'] = params['id_task_id_name'] # noqa: E501 + if 'id_task_id_version' in params: + path_params['id.task_id.version'] = params['id_task_id_version'] # noqa: E501 + if 'id_retry_attempt' in params: + path_params['id.retry_attempt'] = params['id_retry_attempt'] # noqa: E501 + + query_params = [] + if 'id_task_id_resource_type' in params: + query_params.append(('id.task_id.resource_type', params['id_task_id_resource_type'])) # noqa: E501 + if 'id_task_id_org' in params: + query_params.append(('id.task_id.org', params['id_task_id_org'])) # noqa: E501 + if 'id_node_execution_id_execution_id_org' in params: + query_params.append(('id.node_execution_id.execution_id.org', params['id_node_execution_id_execution_id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminTaskExecutionGetDataResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_task_execution_data2(self, id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution_data2(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :return: AdminTaskExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_task_execution_data2_with_http_info(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + else: + (data) = self.get_task_execution_data2_with_http_info(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs) # noqa: E501 + return data + + def get_task_execution_data2_with_http_info(self, id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, **kwargs): # noqa: E501 + """Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_task_execution_data2_with_http_info(id_node_execution_id_execution_id_org, id_node_execution_id_execution_id_project, id_node_execution_id_execution_id_domain, id_node_execution_id_execution_id_name, id_node_execution_id_node_id, id_task_id_project, id_task_id_domain, id_task_id_name, id_task_id_version, id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str id_node_execution_id_node_id: (required) + :param str id_task_id_project: Name of the project the resource belongs to. (required) + :param str id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_task_id_name: User provided value for the resource. (required) + :param str id_task_id_version: Specific version of the resource. (required) + :param int id_retry_attempt: (required) + :param str id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_task_id_org: Optional, org key applied to the resource. + :return: AdminTaskExecutionGetDataResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_node_execution_id_execution_id_org', 'id_node_execution_id_execution_id_project', 'id_node_execution_id_execution_id_domain', 'id_node_execution_id_execution_id_name', 'id_node_execution_id_node_id', 'id_task_id_project', 'id_task_id_domain', 'id_task_id_name', 'id_task_id_version', 'id_retry_attempt', 'id_task_id_resource_type', 'id_task_id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_task_execution_data2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_node_execution_id_execution_id_org' is set + if ('id_node_execution_id_execution_id_org' not in params or + params['id_node_execution_id_execution_id_org'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_org` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_project' is set + if ('id_node_execution_id_execution_id_project' not in params or + params['id_node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_project` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_domain' is set + if ('id_node_execution_id_execution_id_domain' not in params or + params['id_node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_domain` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_execution_id_name' is set + if ('id_node_execution_id_execution_id_name' not in params or + params['id_node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_execution_id_name` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_node_execution_id_node_id' is set + if ('id_node_execution_id_node_id' not in params or + params['id_node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `id_node_execution_id_node_id` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_task_id_project' is set + if ('id_task_id_project' not in params or + params['id_task_id_project'] is None): + raise ValueError("Missing the required parameter `id_task_id_project` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_task_id_domain' is set + if ('id_task_id_domain' not in params or + params['id_task_id_domain'] is None): + raise ValueError("Missing the required parameter `id_task_id_domain` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_task_id_name' is set + if ('id_task_id_name' not in params or + params['id_task_id_name'] is None): + raise ValueError("Missing the required parameter `id_task_id_name` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_task_id_version' is set + if ('id_task_id_version' not in params or + params['id_task_id_version'] is None): + raise ValueError("Missing the required parameter `id_task_id_version` when calling `get_task_execution_data2`") # noqa: E501 + # verify the required parameter 'id_retry_attempt' is set + if ('id_retry_attempt' not in params or + params['id_retry_attempt'] is None): + raise ValueError("Missing the required parameter `id_retry_attempt` when calling `get_task_execution_data2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_node_execution_id_execution_id_org' in params: + path_params['id.node_execution_id.execution_id.org'] = params['id_node_execution_id_execution_id_org'] # noqa: E501 + if 'id_node_execution_id_execution_id_project' in params: + path_params['id.node_execution_id.execution_id.project'] = params['id_node_execution_id_execution_id_project'] # noqa: E501 + if 'id_node_execution_id_execution_id_domain' in params: + path_params['id.node_execution_id.execution_id.domain'] = params['id_node_execution_id_execution_id_domain'] # noqa: E501 + if 'id_node_execution_id_execution_id_name' in params: + path_params['id.node_execution_id.execution_id.name'] = params['id_node_execution_id_execution_id_name'] # noqa: E501 if 'id_node_execution_id_node_id' in params: path_params['id.node_execution_id.node_id'] = params['id_node_execution_id_node_id'] # noqa: E501 if 'id_task_id_project' in params: @@ -2753,8 +5036,3439 @@ def get_task_execution_data_with_http_info(self, id_node_execution_id_execution_ path_params['id.retry_attempt'] = params['id_retry_attempt'] # noqa: E501 query_params = [] - if 'id_task_id_resource_type' in params: - query_params.append(('id.task_id.resource_type', params['id_task_id_resource_type'])) # noqa: E501 + if 'id_task_id_resource_type' in params: + query_params.append(('id.task_id.resource_type', params['id_task_id_resource_type'])) # noqa: E501 + if 'id_task_id_org' in params: + query_params.append(('id.task_id.org', params['id_task_id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminTaskExecutionGetDataResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_version(self, **kwargs): # noqa: E501 + """get_version # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_version(async_req=True) + >>> result = thread.get() + + :param async_req bool + :return: AdminGetVersionResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_version_with_http_info(**kwargs) # noqa: E501 + else: + (data) = self.get_version_with_http_info(**kwargs) # noqa: E501 + return data + + def get_version_with_http_info(self, **kwargs): # noqa: E501 + """get_version # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_version_with_http_info(async_req=True) + >>> result = thread.get() + + :param async_req bool + :return: AdminGetVersionResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = [] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_version" % key + ) + params[key] = val + del params['kwargs'] + + collection_formats = {} + + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/version', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminGetVersionResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_workflow(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow(id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. + :return: AdminWorkflow + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_workflow_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + else: + (data) = self.get_workflow_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return data + + def get_workflow_with_http_info(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow_with_http_info(id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. + :return: AdminWorkflow + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type', 'id_org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_workflow" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_workflow`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_workflow`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_workflow`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `get_workflow`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 + + query_params = [] + if 'id_resource_type' in params: + query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminWorkflow', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_workflow2(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow2(id_org, id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :return: AdminWorkflow + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_workflow2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + else: + (data) = self.get_workflow2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return data + + def get_workflow2_with_http_info(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow2_with_http_info(id_org, id_project, id_domain, id_name, id_version, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :return: AdminWorkflow + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_workflow2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `get_workflow2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `get_workflow2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `get_workflow2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `get_workflow2`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `get_workflow2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 + + query_params = [] + if 'id_resource_type' in params: + query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminWorkflow', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_workflow_attributes(self, project, domain, workflow, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow_attributes(project, domain, workflow, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :param str org: Optional, org key applied to the attributes. + :return: AdminWorkflowAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_workflow_attributes_with_http_info(project, domain, workflow, **kwargs) # noqa: E501 + else: + (data) = self.get_workflow_attributes_with_http_info(project, domain, workflow, **kwargs) # noqa: E501 + return data + + def get_workflow_attributes_with_http_info(self, project, domain, workflow, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow_attributes_with_http_info(project, domain, workflow, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :param str org: Optional, org key applied to the attributes. + :return: AdminWorkflowAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['project', 'domain', 'workflow', 'resource_type', 'org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_workflow_attributes" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `get_workflow_attributes`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `get_workflow_attributes`") # noqa: E501 + # verify the required parameter 'workflow' is set + if ('workflow' not in params or + params['workflow'] is None): + raise ValueError("Missing the required parameter `workflow` when calling `get_workflow_attributes`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + if 'workflow' in params: + path_params['workflow'] = params['workflow'] # noqa: E501 + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/workflow_attributes/{project}/{domain}/{workflow}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminWorkflowAttributesGetResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def get_workflow_attributes2(self, org, project, domain, workflow, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow_attributes2(org, project, domain, workflow, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminWorkflowAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.get_workflow_attributes2_with_http_info(org, project, domain, workflow, **kwargs) # noqa: E501 + else: + (data) = self.get_workflow_attributes2_with_http_info(org, project, domain, workflow, **kwargs) # noqa: E501 + return data + + def get_workflow_attributes2_with_http_info(self, org, project, domain, workflow, **kwargs): # noqa: E501 + """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.get_workflow_attributes2_with_http_info(org, project, domain, workflow, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the attributes. (required) + :param str project: Unique project id which this set of attributes references. +required (required) + :param str domain: Unique domain id which this set of attributes references. +required (required) + :param str workflow: Workflow name which this set of attributes references. +required (required) + :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminWorkflowAttributesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['org', 'project', 'domain', 'workflow', 'resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method get_workflow_attributes2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `get_workflow_attributes2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `get_workflow_attributes2`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `get_workflow_attributes2`") # noqa: E501 + # verify the required parameter 'workflow' is set + if ('workflow' not in params or + params['workflow'] is None): + raise ValueError("Missing the required parameter `workflow` when calling `get_workflow_attributes2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + if 'workflow' in params: + path_params['workflow'] = params['workflow'] # noqa: E501 + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminWorkflowAttributesGetResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_active_launch_plans(self, project, domain, **kwargs): # noqa: E501 + """List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_active_launch_plans(project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Name of the project that contains the identifiers. +required. (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required. (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str org: Optional, org key applied to the resource. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_active_launch_plans_with_http_info(project, domain, **kwargs) # noqa: E501 + else: + (data) = self.list_active_launch_plans_with_http_info(project, domain, **kwargs) # noqa: E501 + return data + + def list_active_launch_plans_with_http_info(self, project, domain, **kwargs): # noqa: E501 + """List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_active_launch_plans_with_http_info(project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Name of the project that contains the identifiers. +required. (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required. (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str org: Optional, org key applied to the resource. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_active_launch_plans" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `list_active_launch_plans`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `list_active_launch_plans`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/active_launch_plans/{project}/{domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminLaunchPlanList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_description_entities(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities(resource_type, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_description_entities_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + else: + (data) = self.list_description_entities_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + return data + + def list_description_entities_with_http_info(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities_with_http_info(resource_type, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_description_entities" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `list_description_entities`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_description_entities`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_description_entities`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `list_description_entities`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + + query_params = [] + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminDescriptionEntityList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_description_entities2(self, resource_type, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities2(resource_type, id_org, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_description_entities2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 + else: + (data) = self.list_description_entities2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 + return data + + def list_description_entities2_with_http_info(self, resource_type, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_description_entities2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `list_description_entities2`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_description_entities2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_description_entities2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_description_entities2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `list_description_entities2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminDescriptionEntityList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_description_entities3(self, resource_type, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities3(resource_type, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_description_entities3_with_http_info(resource_type, id_project, id_domain, **kwargs) # noqa: E501 + else: + (data) = self.list_description_entities3_with_http_info(resource_type, id_project, id_domain, **kwargs) # noqa: E501 + return data + + def list_description_entities3_with_http_info(self, resource_type, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities3_with_http_info(resource_type, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_description_entities3" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `list_description_entities3`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_description_entities3`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_description_entities3`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + + query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminDescriptionEntityList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_description_entities4(self, resource_type, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities4(resource_type, id_org, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_description_entities4_with_http_info(resource_type, id_org, id_project, id_domain, **kwargs) # noqa: E501 + else: + (data) = self.list_description_entities4_with_http_info(resource_type, id_org, id_project, id_domain, **kwargs) # noqa: E501 + return data + + def list_description_entities4_with_http_info(self, resource_type, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_description_entities4_with_http_info(resource_type, id_org, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminDescriptionEntityList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_description_entities4" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `list_description_entities4`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_description_entities4`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_description_entities4`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_description_entities4`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + + query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminDescriptionEntityList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_executions(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_executions(id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminExecutionList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_executions_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + else: + (data) = self.list_executions_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + return data + + def list_executions_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_executions_with_http_info(id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminExecutionList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_executions" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_executions`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_executions`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + + query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/executions/{id.project}/{id.domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminExecutionList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_executions2(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_executions2(id_org, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminExecutionList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_executions2_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 + else: + (data) = self.list_executions2_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 + return data + + def list_executions2_with_http_info(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_executions2_with_http_info(id_org, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminExecutionList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_executions2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_executions2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_executions2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_executions2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + + query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/executions/org/{id.org}/{id.project}/{id.domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminExecutionList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_launch_plan_ids(self, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plan_ids(project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityIdentifierList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_launch_plan_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + else: + (data) = self.list_launch_plan_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + return data + + def list_launch_plan_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plan_ids_with_http_info(project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityIdentifierList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters', 'org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_launch_plan_ids" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `list_launch_plan_ids`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `list_launch_plan_ids`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plan_ids/{project}/{domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNamedEntityIdentifierList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_launch_plan_ids2(self, org, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plan_ids2(org, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityIdentifierList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_launch_plan_ids2_with_http_info(org, project, domain, **kwargs) # noqa: E501 + else: + (data) = self.list_launch_plan_ids2_with_http_info(org, project, domain, **kwargs) # noqa: E501 + return data + + def list_launch_plan_ids2_with_http_info(self, org, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plan_ids2_with_http_info(org, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityIdentifierList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['org', 'project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_launch_plan_ids2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `list_launch_plan_ids2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `list_launch_plan_ids2`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `list_launch_plan_ids2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plan_ids/org/{org}/{project}/{domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNamedEntityIdentifierList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_launch_plans(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans(id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_launch_plans_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + else: + (data) = self.list_launch_plans_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return data + + def list_launch_plans_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_launch_plans" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_launch_plans`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_launch_plans`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `list_launch_plans`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + + query_params = [] + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminLaunchPlanList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_launch_plans2(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans2(id_org, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_launch_plans2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 + else: + (data) = self.list_launch_plans2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 + return data + + def list_launch_plans2_with_http_info(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans2_with_http_info(id_org, id_project, id_domain, id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_launch_plans2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_launch_plans2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_launch_plans2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_launch_plans2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `list_launch_plans2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminLaunchPlanList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_launch_plans3(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans3(id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_launch_plans3_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + else: + (data) = self.list_launch_plans3_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + return data + + def list_launch_plans3_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans3_with_http_info(id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_launch_plans3" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_launch_plans3`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_launch_plans3`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + + query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plans/{id.project}/{id.domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminLaunchPlanList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_launch_plans4(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans4(id_org, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_launch_plans4_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 + else: + (data) = self.list_launch_plans4_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 + return data + + def list_launch_plans4_with_http_info(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_launch_plans4_with_http_info(id_org, id_project, id_domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminLaunchPlanList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_launch_plans4" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_launch_plans4`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_launch_plans4`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_launch_plans4`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + + query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminLaunchPlanList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_matchable_attributes(self, **kwargs): # noqa: E501 + """Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_matchable_attributes(async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminListMatchableAttributesResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_matchable_attributes_with_http_info(**kwargs) # noqa: E501 + else: + (data) = self.list_matchable_attributes_with_http_info(**kwargs) # noqa: E501 + return data + + def list_matchable_attributes_with_http_info(self, **kwargs): # noqa: E501 + """Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_matchable_attributes_with_http_info(async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. + :return: AdminListMatchableAttributesResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_matchable_attributes" % key + ) + params[key] = val + del params['kwargs'] + + collection_formats = {} + + path_params = {} + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/matchable_attributes', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminListMatchableAttributesResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_named_entities(self, resource_type, project, domain, **kwargs): # noqa: E501 + """Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_named_entities(resource_type, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. (required) + :param int limit: Indicates the number of resources to be returned. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_named_entities_with_http_info(resource_type, project, domain, **kwargs) # noqa: E501 + else: + (data) = self.list_named_entities_with_http_info(resource_type, project, domain, **kwargs) # noqa: E501 + return data + + def list_named_entities_with_http_info(self, resource_type, project, domain, **kwargs): # noqa: E501 + """Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_named_entities_with_http_info(resource_type, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. (required) + :param int limit: Indicates the number of resources to be returned. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters', 'org'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_named_entities" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `list_named_entities`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `list_named_entities`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `list_named_entities`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/named_entities/{resource_type}/{project}/{domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNamedEntityList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_named_entities2(self, resource_type, org, project, domain, **kwargs): # noqa: E501 + """Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_named_entities2(resource_type, org, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required (required) + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. (required) + :param int limit: Indicates the number of resources to be returned. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_named_entities2_with_http_info(resource_type, org, project, domain, **kwargs) # noqa: E501 + else: + (data) = self.list_named_entities2_with_http_info(resource_type, org, project, domain, **kwargs) # noqa: E501 + return data + + def list_named_entities2_with_http_info(self, resource_type, org, project, domain, **kwargs): # noqa: E501 + """Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_named_entities2_with_http_info(resource_type, org, project, domain, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required (required) + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. (required) + :param int limit: Indicates the number of resources to be returned. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type', 'org', 'project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_named_entities2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `list_named_entities2`") # noqa: E501 + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `list_named_entities2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `list_named_entities2`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `list_named_entities2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNamedEntityList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_node_executions(self, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str workflow_execution_id_project: Name of the project the resource belongs to. (required) + :param str workflow_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str workflow_execution_id_name: User or system provided value for the resource. (required) + :param str workflow_execution_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str unique_parent_id: Unique identifier of the parent node in the execution +optional. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_node_executions_with_http_info(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs) # noqa: E501 + else: + (data) = self.list_node_executions_with_http_info(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs) # noqa: E501 + return data + + def list_node_executions_with_http_info(self, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions_with_http_info(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str workflow_execution_id_project: Name of the project the resource belongs to. (required) + :param str workflow_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str workflow_execution_id_name: User or system provided value for the resource. (required) + :param str workflow_execution_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str unique_parent_id: Unique identifier of the parent node in the execution +optional. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['workflow_execution_id_project', 'workflow_execution_id_domain', 'workflow_execution_id_name', 'workflow_execution_id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction', 'unique_parent_id'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_node_executions" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'workflow_execution_id_project' is set + if ('workflow_execution_id_project' not in params or + params['workflow_execution_id_project'] is None): + raise ValueError("Missing the required parameter `workflow_execution_id_project` when calling `list_node_executions`") # noqa: E501 + # verify the required parameter 'workflow_execution_id_domain' is set + if ('workflow_execution_id_domain' not in params or + params['workflow_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `workflow_execution_id_domain` when calling `list_node_executions`") # noqa: E501 + # verify the required parameter 'workflow_execution_id_name' is set + if ('workflow_execution_id_name' not in params or + params['workflow_execution_id_name'] is None): + raise ValueError("Missing the required parameter `workflow_execution_id_name` when calling `list_node_executions`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'workflow_execution_id_project' in params: + path_params['workflow_execution_id.project'] = params['workflow_execution_id_project'] # noqa: E501 + if 'workflow_execution_id_domain' in params: + path_params['workflow_execution_id.domain'] = params['workflow_execution_id_domain'] # noqa: E501 + if 'workflow_execution_id_name' in params: + path_params['workflow_execution_id.name'] = params['workflow_execution_id_name'] # noqa: E501 + + query_params = [] + if 'workflow_execution_id_org' in params: + query_params.append(('workflow_execution_id.org', params['workflow_execution_id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'unique_parent_id' in params: + query_params.append(('unique_parent_id', params['unique_parent_id'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNodeExecutionList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_node_executions2(self, workflow_execution_id_org, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions2(workflow_execution_id_org, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str workflow_execution_id_org: Optional, org key applied to the resource. (required) + :param str workflow_execution_id_project: Name of the project the resource belongs to. (required) + :param str workflow_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str workflow_execution_id_name: User or system provided value for the resource. (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str unique_parent_id: Unique identifier of the parent node in the execution +optional. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_node_executions2_with_http_info(workflow_execution_id_org, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs) # noqa: E501 + else: + (data) = self.list_node_executions2_with_http_info(workflow_execution_id_org, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs) # noqa: E501 + return data + + def list_node_executions2_with_http_info(self, workflow_execution_id_org, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions2_with_http_info(workflow_execution_id_org, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str workflow_execution_id_org: Optional, org key applied to the resource. (required) + :param str workflow_execution_id_project: Name of the project the resource belongs to. (required) + :param str workflow_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str workflow_execution_id_name: User or system provided value for the resource. (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str unique_parent_id: Unique identifier of the parent node in the execution +optional. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['workflow_execution_id_org', 'workflow_execution_id_project', 'workflow_execution_id_domain', 'workflow_execution_id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction', 'unique_parent_id'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_node_executions2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'workflow_execution_id_org' is set + if ('workflow_execution_id_org' not in params or + params['workflow_execution_id_org'] is None): + raise ValueError("Missing the required parameter `workflow_execution_id_org` when calling `list_node_executions2`") # noqa: E501 + # verify the required parameter 'workflow_execution_id_project' is set + if ('workflow_execution_id_project' not in params or + params['workflow_execution_id_project'] is None): + raise ValueError("Missing the required parameter `workflow_execution_id_project` when calling `list_node_executions2`") # noqa: E501 + # verify the required parameter 'workflow_execution_id_domain' is set + if ('workflow_execution_id_domain' not in params or + params['workflow_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `workflow_execution_id_domain` when calling `list_node_executions2`") # noqa: E501 + # verify the required parameter 'workflow_execution_id_name' is set + if ('workflow_execution_id_name' not in params or + params['workflow_execution_id_name'] is None): + raise ValueError("Missing the required parameter `workflow_execution_id_name` when calling `list_node_executions2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'workflow_execution_id_org' in params: + path_params['workflow_execution_id.org'] = params['workflow_execution_id_org'] # noqa: E501 + if 'workflow_execution_id_project' in params: + path_params['workflow_execution_id.project'] = params['workflow_execution_id_project'] # noqa: E501 + if 'workflow_execution_id_domain' in params: + path_params['workflow_execution_id.domain'] = params['workflow_execution_id_domain'] # noqa: E501 + if 'workflow_execution_id_name' in params: + path_params['workflow_execution_id.name'] = params['workflow_execution_id_name'] # noqa: E501 + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'unique_parent_id' in params: + query_params.append(('unique_parent_id', params['unique_parent_id'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNodeExecutionList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_node_executions_for_task(self, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions_for_task(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str task_execution_id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str task_execution_id_node_execution_id_node_id: (required) + :param str task_execution_id_task_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_task_id_name: User provided value for the resource. (required) + :param str task_execution_id_task_id_version: Specific version of the resource. (required) + :param int task_execution_id_retry_attempt: (required) + :param str task_execution_id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str task_execution_id_task_id_org: Optional, org key applied to the resource. + :param str task_execution_id_node_execution_id_execution_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_node_executions_for_task_with_http_info(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs) # noqa: E501 + else: + (data) = self.list_node_executions_for_task_with_http_info(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs) # noqa: E501 + return data + + def list_node_executions_for_task_with_http_info(self, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions_for_task_with_http_info(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str task_execution_id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str task_execution_id_node_execution_id_node_id: (required) + :param str task_execution_id_task_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_task_id_name: User provided value for the resource. (required) + :param str task_execution_id_task_id_version: Specific version of the resource. (required) + :param int task_execution_id_retry_attempt: (required) + :param str task_execution_id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str task_execution_id_task_id_org: Optional, org key applied to the resource. + :param str task_execution_id_node_execution_id_execution_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['task_execution_id_node_execution_id_execution_id_project', 'task_execution_id_node_execution_id_execution_id_domain', 'task_execution_id_node_execution_id_execution_id_name', 'task_execution_id_node_execution_id_node_id', 'task_execution_id_task_id_project', 'task_execution_id_task_id_domain', 'task_execution_id_task_id_name', 'task_execution_id_task_id_version', 'task_execution_id_retry_attempt', 'task_execution_id_task_id_resource_type', 'task_execution_id_task_id_org', 'task_execution_id_node_execution_id_execution_id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_node_executions_for_task" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'task_execution_id_node_execution_id_execution_id_project' is set + if ('task_execution_id_node_execution_id_execution_id_project' not in params or + params['task_execution_id_node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_project` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_node_execution_id_execution_id_domain' is set + if ('task_execution_id_node_execution_id_execution_id_domain' not in params or + params['task_execution_id_node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_domain` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_node_execution_id_execution_id_name' is set + if ('task_execution_id_node_execution_id_execution_id_name' not in params or + params['task_execution_id_node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_name` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_node_execution_id_node_id' is set + if ('task_execution_id_node_execution_id_node_id' not in params or + params['task_execution_id_node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_node_id` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_project' is set + if ('task_execution_id_task_id_project' not in params or + params['task_execution_id_task_id_project'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_project` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_domain' is set + if ('task_execution_id_task_id_domain' not in params or + params['task_execution_id_task_id_domain'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_domain` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_name' is set + if ('task_execution_id_task_id_name' not in params or + params['task_execution_id_task_id_name'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_name` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_version' is set + if ('task_execution_id_task_id_version' not in params or + params['task_execution_id_task_id_version'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_version` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'task_execution_id_retry_attempt' is set + if ('task_execution_id_retry_attempt' not in params or + params['task_execution_id_retry_attempt'] is None): + raise ValueError("Missing the required parameter `task_execution_id_retry_attempt` when calling `list_node_executions_for_task`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'task_execution_id_node_execution_id_execution_id_project' in params: + path_params['task_execution_id.node_execution_id.execution_id.project'] = params['task_execution_id_node_execution_id_execution_id_project'] # noqa: E501 + if 'task_execution_id_node_execution_id_execution_id_domain' in params: + path_params['task_execution_id.node_execution_id.execution_id.domain'] = params['task_execution_id_node_execution_id_execution_id_domain'] # noqa: E501 + if 'task_execution_id_node_execution_id_execution_id_name' in params: + path_params['task_execution_id.node_execution_id.execution_id.name'] = params['task_execution_id_node_execution_id_execution_id_name'] # noqa: E501 + if 'task_execution_id_node_execution_id_node_id' in params: + path_params['task_execution_id.node_execution_id.node_id'] = params['task_execution_id_node_execution_id_node_id'] # noqa: E501 + if 'task_execution_id_task_id_project' in params: + path_params['task_execution_id.task_id.project'] = params['task_execution_id_task_id_project'] # noqa: E501 + if 'task_execution_id_task_id_domain' in params: + path_params['task_execution_id.task_id.domain'] = params['task_execution_id_task_id_domain'] # noqa: E501 + if 'task_execution_id_task_id_name' in params: + path_params['task_execution_id.task_id.name'] = params['task_execution_id_task_id_name'] # noqa: E501 + if 'task_execution_id_task_id_version' in params: + path_params['task_execution_id.task_id.version'] = params['task_execution_id_task_id_version'] # noqa: E501 + if 'task_execution_id_retry_attempt' in params: + path_params['task_execution_id.retry_attempt'] = params['task_execution_id_retry_attempt'] # noqa: E501 + + query_params = [] + if 'task_execution_id_task_id_resource_type' in params: + query_params.append(('task_execution_id.task_id.resource_type', params['task_execution_id_task_id_resource_type'])) # noqa: E501 + if 'task_execution_id_task_id_org' in params: + query_params.append(('task_execution_id.task_id.org', params['task_execution_id_task_id_org'])) # noqa: E501 + if 'task_execution_id_node_execution_id_execution_id_org' in params: + query_params.append(('task_execution_id.node_execution_id.execution_id.org', params['task_execution_id_node_execution_id_execution_id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminNodeExecutionList', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_node_executions_for_task2(self, task_execution_id_node_execution_id_execution_id_org, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions_for_task2(task_execution_id_node_execution_id_execution_id_org, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str task_execution_id_node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str task_execution_id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str task_execution_id_node_execution_id_node_id: (required) + :param str task_execution_id_task_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_task_id_name: User provided value for the resource. (required) + :param str task_execution_id_task_id_version: Specific version of the resource. (required) + :param int task_execution_id_retry_attempt: (required) + :param str task_execution_id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str task_execution_id_task_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_node_executions_for_task2_with_http_info(task_execution_id_node_execution_id_execution_id_org, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs) # noqa: E501 + else: + (data) = self.list_node_executions_for_task2_with_http_info(task_execution_id_node_execution_id_execution_id_org, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs) # noqa: E501 + return data + + def list_node_executions_for_task2_with_http_info(self, task_execution_id_node_execution_id_execution_id_org, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_node_executions_for_task2_with_http_info(task_execution_id_node_execution_id_execution_id_org, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str task_execution_id_node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str task_execution_id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str task_execution_id_node_execution_id_node_id: (required) + :param str task_execution_id_task_id_project: Name of the project the resource belongs to. (required) + :param str task_execution_id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str task_execution_id_task_id_name: User provided value for the resource. (required) + :param str task_execution_id_task_id_version: Specific version of the resource. (required) + :param int task_execution_id_retry_attempt: (required) + :param str task_execution_id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str task_execution_id_task_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminNodeExecutionList + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['task_execution_id_node_execution_id_execution_id_org', 'task_execution_id_node_execution_id_execution_id_project', 'task_execution_id_node_execution_id_execution_id_domain', 'task_execution_id_node_execution_id_execution_id_name', 'task_execution_id_node_execution_id_node_id', 'task_execution_id_task_id_project', 'task_execution_id_task_id_domain', 'task_execution_id_task_id_name', 'task_execution_id_task_id_version', 'task_execution_id_retry_attempt', 'task_execution_id_task_id_resource_type', 'task_execution_id_task_id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_node_executions_for_task2" % key + ) + params[key] = val + del params['kwargs'] + # verify the required parameter 'task_execution_id_node_execution_id_execution_id_org' is set + if ('task_execution_id_node_execution_id_execution_id_org' not in params or + params['task_execution_id_node_execution_id_execution_id_org'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_org` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_node_execution_id_execution_id_project' is set + if ('task_execution_id_node_execution_id_execution_id_project' not in params or + params['task_execution_id_node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_project` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_node_execution_id_execution_id_domain' is set + if ('task_execution_id_node_execution_id_execution_id_domain' not in params or + params['task_execution_id_node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_domain` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_node_execution_id_execution_id_name' is set + if ('task_execution_id_node_execution_id_execution_id_name' not in params or + params['task_execution_id_node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_name` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_node_execution_id_node_id' is set + if ('task_execution_id_node_execution_id_node_id' not in params or + params['task_execution_id_node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_node_id` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_project' is set + if ('task_execution_id_task_id_project' not in params or + params['task_execution_id_task_id_project'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_project` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_domain' is set + if ('task_execution_id_task_id_domain' not in params or + params['task_execution_id_task_id_domain'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_domain` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_name' is set + if ('task_execution_id_task_id_name' not in params or + params['task_execution_id_task_id_name'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_name` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_task_id_version' is set + if ('task_execution_id_task_id_version' not in params or + params['task_execution_id_task_id_version'] is None): + raise ValueError("Missing the required parameter `task_execution_id_task_id_version` when calling `list_node_executions_for_task2`") # noqa: E501 + # verify the required parameter 'task_execution_id_retry_attempt' is set + if ('task_execution_id_retry_attempt' not in params or + params['task_execution_id_retry_attempt'] is None): + raise ValueError("Missing the required parameter `task_execution_id_retry_attempt` when calling `list_node_executions_for_task2`") # noqa: E501 + + collection_formats = {} + + path_params = {} + if 'task_execution_id_node_execution_id_execution_id_org' in params: + path_params['task_execution_id.node_execution_id.execution_id.org'] = params['task_execution_id_node_execution_id_execution_id_org'] # noqa: E501 + if 'task_execution_id_node_execution_id_execution_id_project' in params: + path_params['task_execution_id.node_execution_id.execution_id.project'] = params['task_execution_id_node_execution_id_execution_id_project'] # noqa: E501 + if 'task_execution_id_node_execution_id_execution_id_domain' in params: + path_params['task_execution_id.node_execution_id.execution_id.domain'] = params['task_execution_id_node_execution_id_execution_id_domain'] # noqa: E501 + if 'task_execution_id_node_execution_id_execution_id_name' in params: + path_params['task_execution_id.node_execution_id.execution_id.name'] = params['task_execution_id_node_execution_id_execution_id_name'] # noqa: E501 + if 'task_execution_id_node_execution_id_node_id' in params: + path_params['task_execution_id.node_execution_id.node_id'] = params['task_execution_id_node_execution_id_node_id'] # noqa: E501 + if 'task_execution_id_task_id_project' in params: + path_params['task_execution_id.task_id.project'] = params['task_execution_id_task_id_project'] # noqa: E501 + if 'task_execution_id_task_id_domain' in params: + path_params['task_execution_id.task_id.domain'] = params['task_execution_id_task_id_domain'] # noqa: E501 + if 'task_execution_id_task_id_name' in params: + path_params['task_execution_id.task_id.name'] = params['task_execution_id_task_id_name'] # noqa: E501 + if 'task_execution_id_task_id_version' in params: + path_params['task_execution_id.task_id.version'] = params['task_execution_id_task_id_version'] # noqa: E501 + if 'task_execution_id_retry_attempt' in params: + path_params['task_execution_id.retry_attempt'] = params['task_execution_id_retry_attempt'] # noqa: E501 + + query_params = [] + if 'task_execution_id_task_id_resource_type' in params: + query_params.append(('task_execution_id.task_id.resource_type', params['task_execution_id_task_id_resource_type'])) # noqa: E501 + if 'task_execution_id_task_id_org' in params: + query_params.append(('task_execution_id.task_id.org', params['task_execution_id_task_id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -2774,14 +8488,14 @@ def get_task_execution_data_with_http_info(self, id_node_execution_id_execution_ auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}', 'GET', + '/api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminTaskExecutionGetDataResponse', # noqa: E501 + response_type='AdminNodeExecutionList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2789,41 +8503,170 @@ def get_task_execution_data_with_http_info(self, id_node_execution_id_execution_ _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_version(self, **kwargs): # noqa: E501 - """get_version # noqa: E501 + def list_projects(self, **kwargs): # noqa: E501 + """Fetches a list of :ref:`ref_flyteidl.admin.Project` # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_version(async_req=True) + >>> thread = api.list_projects(async_req=True) >>> result = thread.get() :param async_req bool - :return: AdminGetVersionResponse + :param int limit: Indicates the number of projects to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminProjects If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_version_with_http_info(**kwargs) # noqa: E501 + return self.list_projects_with_http_info(**kwargs) # noqa: E501 else: - (data) = self.get_version_with_http_info(**kwargs) # noqa: E501 + (data) = self.list_projects_with_http_info(**kwargs) # noqa: E501 return data - def get_version_with_http_info(self, **kwargs): # noqa: E501 - """get_version # noqa: E501 + def list_projects_with_http_info(self, **kwargs): # noqa: E501 + """Fetches a list of :ref:`ref_flyteidl.admin.Project` # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_projects_with_http_info(async_req=True) + >>> result = thread.get() + + :param async_req bool + :param int limit: Indicates the number of projects to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminProjects + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_projects" % key + ) + params[key] = val + del params['kwargs'] + + collection_formats = {} + + path_params = {} + + query_params = [] + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/projects', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminProjects', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + + def list_task_executions(self, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs): # noqa: E501 + """Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_task_executions(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str node_execution_id_node_id: (required) + :param str node_execution_id_execution_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminTaskExecutionList + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_task_executions_with_http_info(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs) # noqa: E501 + else: + (data) = self.list_task_executions_with_http_info(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs) # noqa: E501 + return data + + def list_task_executions_with_http_info(self, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs): # noqa: E501 + """Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_version_with_http_info(async_req=True) + >>> thread = api.list_task_executions_with_http_info(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, async_req=True) >>> result = thread.get() :param async_req bool - :return: AdminGetVersionResponse + :param str node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str node_execution_id_node_id: (required) + :param str node_execution_id_execution_id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminTaskExecutionList If the method is called asynchronously, returns the request thread. """ - all_params = [] # noqa: E501 + all_params = ['node_execution_id_execution_id_project', 'node_execution_id_execution_id_domain', 'node_execution_id_execution_id_name', 'node_execution_id_node_id', 'node_execution_id_execution_id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2834,16 +8677,52 @@ def get_version_with_http_info(self, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_version" % key + " to method list_task_executions" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'node_execution_id_execution_id_project' is set + if ('node_execution_id_execution_id_project' not in params or + params['node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `node_execution_id_execution_id_project` when calling `list_task_executions`") # noqa: E501 + # verify the required parameter 'node_execution_id_execution_id_domain' is set + if ('node_execution_id_execution_id_domain' not in params or + params['node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `node_execution_id_execution_id_domain` when calling `list_task_executions`") # noqa: E501 + # verify the required parameter 'node_execution_id_execution_id_name' is set + if ('node_execution_id_execution_id_name' not in params or + params['node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `node_execution_id_execution_id_name` when calling `list_task_executions`") # noqa: E501 + # verify the required parameter 'node_execution_id_node_id' is set + if ('node_execution_id_node_id' not in params or + params['node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `node_execution_id_node_id` when calling `list_task_executions`") # noqa: E501 collection_formats = {} path_params = {} + if 'node_execution_id_execution_id_project' in params: + path_params['node_execution_id.execution_id.project'] = params['node_execution_id_execution_id_project'] # noqa: E501 + if 'node_execution_id_execution_id_domain' in params: + path_params['node_execution_id.execution_id.domain'] = params['node_execution_id_execution_id_domain'] # noqa: E501 + if 'node_execution_id_execution_id_name' in params: + path_params['node_execution_id.execution_id.name'] = params['node_execution_id_execution_id_name'] # noqa: E501 + if 'node_execution_id_node_id' in params: + path_params['node_execution_id.node_id'] = params['node_execution_id_node_id'] # noqa: E501 query_params = [] + if 'node_execution_id_execution_id_org' in params: + query_params.append(('node_execution_id.execution_id.org', params['node_execution_id_execution_id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -2863,14 +8742,14 @@ def get_version_with_http_info(self, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/version', 'GET', + '/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminGetVersionResponse', # noqa: E501 + response_type='AdminTaskExecutionList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -2878,51 +8757,61 @@ def get_version_with_http_info(self, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_workflow(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. # noqa: E501 + def list_task_executions2(self, node_execution_id_execution_id_org, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs): # noqa: E501 + """Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_workflow(id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.list_task_executions2(node_execution_id_execution_id_org, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminWorkflow + :param str node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str node_execution_id_node_id: (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminTaskExecutionList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_workflow_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + return self.list_task_executions2_with_http_info(node_execution_id_execution_id_org, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs) # noqa: E501 else: - (data) = self.get_workflow_with_http_info(id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 + (data) = self.list_task_executions2_with_http_info(node_execution_id_execution_id_org, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs) # noqa: E501 return data - def get_workflow_with_http_info(self, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 - """Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. # noqa: E501 + def list_task_executions2_with_http_info(self, node_execution_id_execution_id_org, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs): # noqa: E501 + """Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_workflow_with_http_info(id_project, id_domain, id_name, id_version, async_req=True) + >>> thread = api.list_task_executions2_with_http_info(node_execution_id_execution_id_org, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :param str id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects - :return: AdminWorkflow + :param str node_execution_id_execution_id_org: Optional, org key applied to the resource. (required) + :param str node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) + :param str node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str node_execution_id_execution_id_name: User or system provided value for the resource. (required) + :param str node_execution_id_node_id: (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminTaskExecutionList If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'id_resource_type'] # noqa: E501 + all_params = ['node_execution_id_execution_id_org', 'node_execution_id_execution_id_project', 'node_execution_id_execution_id_domain', 'node_execution_id_execution_id_name', 'node_execution_id_node_id', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -2933,42 +8822,56 @@ def get_workflow_with_http_info(self, id_project, id_domain, id_name, id_version if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_workflow" % key + " to method list_task_executions2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `get_workflow`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `get_workflow`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `get_workflow`") # noqa: E501 - # verify the required parameter 'id_version' is set - if ('id_version' not in params or - params['id_version'] is None): - raise ValueError("Missing the required parameter `id_version` when calling `get_workflow`") # noqa: E501 + # verify the required parameter 'node_execution_id_execution_id_org' is set + if ('node_execution_id_execution_id_org' not in params or + params['node_execution_id_execution_id_org'] is None): + raise ValueError("Missing the required parameter `node_execution_id_execution_id_org` when calling `list_task_executions2`") # noqa: E501 + # verify the required parameter 'node_execution_id_execution_id_project' is set + if ('node_execution_id_execution_id_project' not in params or + params['node_execution_id_execution_id_project'] is None): + raise ValueError("Missing the required parameter `node_execution_id_execution_id_project` when calling `list_task_executions2`") # noqa: E501 + # verify the required parameter 'node_execution_id_execution_id_domain' is set + if ('node_execution_id_execution_id_domain' not in params or + params['node_execution_id_execution_id_domain'] is None): + raise ValueError("Missing the required parameter `node_execution_id_execution_id_domain` when calling `list_task_executions2`") # noqa: E501 + # verify the required parameter 'node_execution_id_execution_id_name' is set + if ('node_execution_id_execution_id_name' not in params or + params['node_execution_id_execution_id_name'] is None): + raise ValueError("Missing the required parameter `node_execution_id_execution_id_name` when calling `list_task_executions2`") # noqa: E501 + # verify the required parameter 'node_execution_id_node_id' is set + if ('node_execution_id_node_id' not in params or + params['node_execution_id_node_id'] is None): + raise ValueError("Missing the required parameter `node_execution_id_node_id` when calling `list_task_executions2`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 - if 'id_version' in params: - path_params['id.version'] = params['id_version'] # noqa: E501 + if 'node_execution_id_execution_id_org' in params: + path_params['node_execution_id.execution_id.org'] = params['node_execution_id_execution_id_org'] # noqa: E501 + if 'node_execution_id_execution_id_project' in params: + path_params['node_execution_id.execution_id.project'] = params['node_execution_id_execution_id_project'] # noqa: E501 + if 'node_execution_id_execution_id_domain' in params: + path_params['node_execution_id.execution_id.domain'] = params['node_execution_id_execution_id_domain'] # noqa: E501 + if 'node_execution_id_execution_id_name' in params: + path_params['node_execution_id.execution_id.name'] = params['node_execution_id_execution_id_name'] # noqa: E501 + if 'node_execution_id_node_id' in params: + path_params['node_execution_id.node_id'] = params['node_execution_id_node_id'] # noqa: E501 query_params = [] - if 'id_resource_type' in params: - query_params.append(('id.resource_type', params['id_resource_type'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -2988,14 +8891,14 @@ def get_workflow_with_http_info(self, id_project, id_domain, id_name, id_version auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}', 'GET', + '/api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminWorkflow', # noqa: E501 + response_type='AdminTaskExecutionList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3003,49 +8906,57 @@ def get_workflow_with_http_info(self, id_project, id_domain, id_name, id_version _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def get_workflow_attributes(self, project, domain, workflow, **kwargs): # noqa: E501 - """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + def list_task_ids(self, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_workflow_attributes(project, domain, workflow, async_req=True) + >>> thread = api.list_task_ids(project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Unique project id which this set of attributes references. +required (required) - :param str domain: Unique domain id which this set of attributes references. +required (required) - :param str workflow: Workflow name which this set of attributes references. +required (required) - :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminWorkflowAttributesGetResponse + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.get_workflow_attributes_with_http_info(project, domain, workflow, **kwargs) # noqa: E501 + return self.list_task_ids_with_http_info(project, domain, **kwargs) # noqa: E501 else: - (data) = self.get_workflow_attributes_with_http_info(project, domain, workflow, **kwargs) # noqa: E501 + (data) = self.list_task_ids_with_http_info(project, domain, **kwargs) # noqa: E501 return data - def get_workflow_attributes_with_http_info(self, project, domain, workflow, **kwargs): # noqa: E501 - """Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + def list_task_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.get_workflow_attributes_with_http_info(project, domain, workflow, async_req=True) + >>> thread = api.list_task_ids_with_http_info(project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Unique project id which this set of attributes references. +required (required) - :param str domain: Unique domain id which this set of attributes references. +required (required) - :param str workflow: Workflow name which this set of attributes references. +required (required) - :param str resource_type: Which type of matchable attributes to return. +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminWorkflowAttributesGetResponse + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'workflow', 'resource_type'] # noqa: E501 + all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters', 'org'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3056,22 +8967,18 @@ def get_workflow_attributes_with_http_info(self, project, domain, workflow, **kw if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method get_workflow_attributes" % key + " to method list_task_ids" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'project' is set if ('project' not in params or params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `get_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `project` when calling `list_task_ids`") # noqa: E501 # verify the required parameter 'domain' is set if ('domain' not in params or params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `get_workflow_attributes`") # noqa: E501 - # verify the required parameter 'workflow' is set - if ('workflow' not in params or - params['workflow'] is None): - raise ValueError("Missing the required parameter `workflow` when calling `get_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `domain` when calling `list_task_ids`") # noqa: E501 collection_formats = {} @@ -3080,12 +8987,20 @@ def get_workflow_attributes_with_http_info(self, project, domain, workflow, **kw path_params['project'] = params['project'] # noqa: E501 if 'domain' in params: path_params['domain'] = params['domain'] # noqa: E501 - if 'workflow' in params: - path_params['workflow'] = params['workflow'] # noqa: E501 query_params = [] - if 'resource_type' in params: - query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 header_params = {} @@ -3105,14 +9020,14 @@ def get_workflow_attributes_with_http_info(self, project, domain, workflow, **kw auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/workflow_attributes/{project}/{domain}/{workflow}', 'GET', + '/api/v1/task_ids/{project}/{domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminWorkflowAttributesGetResponse', # noqa: E501 + response_type='AdminNamedEntityIdentifierList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3120,53 +9035,57 @@ def get_workflow_attributes_with_http_info(self, project, domain, workflow, **kw _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_active_launch_plans(self, project, domain, **kwargs): # noqa: E501 - """List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + def list_task_ids2(self, org, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_active_launch_plans(project, domain, async_req=True) + >>> thread = api.list_task_ids2(org, project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Name of the project that contains the identifiers. +required. (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required. (required) + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) :param int limit: Indicates the number of resources to be returned. +required. :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminLaunchPlanList + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_active_launch_plans_with_http_info(project, domain, **kwargs) # noqa: E501 + return self.list_task_ids2_with_http_info(org, project, domain, **kwargs) # noqa: E501 else: - (data) = self.list_active_launch_plans_with_http_info(project, domain, **kwargs) # noqa: E501 + (data) = self.list_task_ids2_with_http_info(org, project, domain, **kwargs) # noqa: E501 return data - def list_active_launch_plans_with_http_info(self, project, domain, **kwargs): # noqa: E501 - """List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + def list_task_ids2_with_http_info(self, org, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_active_launch_plans_with_http_info(project, domain, async_req=True) + >>> thread = api.list_task_ids2_with_http_info(org, project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Name of the project that contains the identifiers. +required. (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required. (required) + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) :param int limit: Indicates the number of resources to be returned. +required. :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminLaunchPlanList + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['org', 'project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3177,22 +9096,28 @@ def list_active_launch_plans_with_http_info(self, project, domain, **kwargs): # if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_active_launch_plans" % key + " to method list_task_ids2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `list_task_ids2`") # noqa: E501 # verify the required parameter 'project' is set if ('project' not in params or params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `list_active_launch_plans`") # noqa: E501 + raise ValueError("Missing the required parameter `project` when calling `list_task_ids2`") # noqa: E501 # verify the required parameter 'domain' is set if ('domain' not in params or params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `list_active_launch_plans`") # noqa: E501 + raise ValueError("Missing the required parameter `domain` when calling `list_task_ids2`") # noqa: E501 collection_formats = {} path_params = {} + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 if 'project' in params: path_params['project'] = params['project'] # noqa: E501 if 'domain' in params: @@ -3207,6 +9132,8 @@ def list_active_launch_plans_with_http_info(self, project, domain, **kwargs): # query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 if 'sort_by_direction' in params: query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 header_params = {} @@ -3226,14 +9153,14 @@ def list_active_launch_plans_with_http_info(self, project, domain, **kwargs): # auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/active_launch_plans/{project}/{domain}', 'GET', + '/api/v1/tasks/org/{org}/{project}/{domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminLaunchPlanList', # noqa: E501 + response_type='AdminNamedEntityIdentifierList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3241,59 +9168,59 @@ def list_active_launch_plans_with_http_info(self, project, domain, **kwargs): # _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_description_entities(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + def list_tasks(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_description_entities(resource_type, id_project, id_domain, id_name, async_req=True) + >>> thread = api.list_tasks(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminDescriptionEntityList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_description_entities_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.list_tasks_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.list_description_entities_with_http_info(resource_type, id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.list_tasks_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def list_description_entities_with_http_info(self, resource_type, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + def list_tasks_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_description_entities_with_http_info(resource_type, id_project, id_domain, id_name, async_req=True) + >>> thread = api.list_tasks_with_http_info(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminDescriptionEntityList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ - all_params = ['resource_type', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3304,32 +9231,26 @@ def list_description_entities_with_http_info(self, resource_type, id_project, id if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_description_entities" % key + " to method list_tasks" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'resource_type' is set - if ('resource_type' not in params or - params['resource_type'] is None): - raise ValueError("Missing the required parameter `resource_type` when calling `list_description_entities`") # noqa: E501 # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_description_entities`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `list_tasks`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_description_entities`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `list_tasks`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `list_description_entities`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `list_tasks`") # noqa: E501 collection_formats = {} path_params = {} - if 'resource_type' in params: - path_params['resource_type'] = params['resource_type'] # noqa: E501 if 'id_project' in params: path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: @@ -3338,6 +9259,8 @@ def list_description_entities_with_http_info(self, resource_type, id_project, id path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: @@ -3367,14 +9290,14 @@ def list_description_entities_with_http_info(self, resource_type, id_project, id auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/tasks/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminDescriptionEntityList', # noqa: E501 + response_type='AdminTaskList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3382,59 +9305,59 @@ def list_description_entities_with_http_info(self, resource_type, id_project, id _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_description_entities2(self, resource_type, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + def list_tasks2(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_description_entities2(resource_type, id_project, id_domain, async_req=True) + >>> thread = api.list_tasks2(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminDescriptionEntityList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_description_entities2_with_http_info(resource_type, id_project, id_domain, **kwargs) # noqa: E501 + return self.list_tasks2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.list_description_entities2_with_http_info(resource_type, id_project, id_domain, **kwargs) # noqa: E501 + (data) = self.list_tasks2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def list_description_entities2_with_http_info(self, resource_type, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + def list_tasks2_with_http_info(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_description_entities2_with_http_info(resource_type, id_project, id_domain, async_req=True) + >>> thread = api.list_tasks2_with_http_info(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Identifies the specific type of resource that this identifier corresponds to. (required) + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminDescriptionEntityList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ - all_params = ['resource_type', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3445,36 +9368,40 @@ def list_description_entities2_with_http_info(self, resource_type, id_project, i if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_description_entities2" % key + " to method list_tasks2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'resource_type' is set - if ('resource_type' not in params or - params['resource_type'] is None): - raise ValueError("Missing the required parameter `resource_type` when calling `list_description_entities2`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_tasks2`") # noqa: E501 # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_description_entities2`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `list_tasks2`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_description_entities2`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `list_tasks2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `list_tasks2`") # noqa: E501 collection_formats = {} path_params = {} - if 'resource_type' in params: - path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 if 'id_project' in params: path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'id_name' in params: - query_params.append(('id.name', params['id_name'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: @@ -3504,14 +9431,14 @@ def list_description_entities2_with_http_info(self, resource_type, id_project, i auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}', 'GET', + '/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminDescriptionEntityList', # noqa: E501 + response_type='AdminTaskList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3519,57 +9446,59 @@ def list_description_entities2_with_http_info(self, resource_type, id_project, i _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_executions(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def list_tasks3(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_executions(id_project, id_domain, async_req=True) + >>> thread = api.list_tasks3(id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. :param int limit: Indicates the number of resources to be returned. +required. :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminExecutionList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_executions_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + return self.list_tasks3_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 else: - (data) = self.list_executions_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + (data) = self.list_tasks3_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 return data - def list_executions_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def list_tasks3_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_executions_with_http_info(id_project, id_domain, async_req=True) + >>> thread = api.list_tasks3_with_http_info(id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. :param int limit: Indicates the number of resources to be returned. +required. :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminExecutionList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3580,18 +9509,18 @@ def list_executions_with_http_info(self, id_project, id_domain, **kwargs): # no if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_executions" % key + " to method list_tasks3" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_executions`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `list_tasks3`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_executions`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `list_tasks3`") # noqa: E501 collection_formats = {} @@ -3604,6 +9533,8 @@ def list_executions_with_http_info(self, id_project, id_domain, **kwargs): # no query_params = [] if 'id_name' in params: query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: @@ -3633,14 +9564,14 @@ def list_executions_with_http_info(self, id_project, id_domain, **kwargs): # no auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/executions/{id.project}/{id.domain}', 'GET', + '/api/v1/tasks/{id.project}/{id.domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminExecutionList', # noqa: E501 + response_type='AdminTaskList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3648,55 +9579,59 @@ def list_executions_with_http_info(self, id_project, id_domain, **kwargs): # no _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_launch_plan_ids(self, project, domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. # noqa: E501 + def list_tasks4(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_launch_plan_ids(project, domain, async_req=True) + >>> thread = api.list_tasks4(id_org, id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityIdentifierList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_launch_plan_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + return self.list_tasks4_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 else: - (data) = self.list_launch_plan_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + (data) = self.list_tasks4_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 return data - def list_launch_plan_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. # noqa: E501 + def list_tasks4_with_http_info(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_launch_plan_ids_with_http_info(project, domain, async_req=True) + >>> thread = api.list_tasks4_with_http_info(id_org, id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityIdentifierList + :return: AdminTaskList If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3707,38 +9642,46 @@ def list_launch_plan_ids_with_http_info(self, project, domain, **kwargs): # noq if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_launch_plan_ids" % key + " to method list_tasks4" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'project' is set - if ('project' not in params or - params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `list_launch_plan_ids`") # noqa: E501 - # verify the required parameter 'domain' is set - if ('domain' not in params or - params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `list_launch_plan_ids`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_tasks4`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_tasks4`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_tasks4`") # noqa: E501 collection_formats = {} path_params = {} - if 'project' in params: - path_params['project'] = params['project'] # noqa: E501 - if 'domain' in params: - path_params['domain'] = params['domain'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 if 'sort_by_key' in params: query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 if 'sort_by_direction' in params: query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 header_params = {} @@ -3758,14 +9701,14 @@ def list_launch_plan_ids_with_http_info(self, project, domain, **kwargs): # noq auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/launch_plan_ids/{project}/{domain}', 'GET', + '/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNamedEntityIdentifierList', # noqa: E501 + response_type='AdminTaskList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3773,57 +9716,57 @@ def list_launch_plan_ids_with_http_info(self, project, domain, **kwargs): # noq _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_launch_plans(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + def list_workflow_ids(self, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_launch_plans(id_project, id_domain, id_name, async_req=True) + >>> thread = api.list_workflow_ids(project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminLaunchPlanList + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_launch_plans_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.list_workflow_ids_with_http_info(project, domain, **kwargs) # noqa: E501 else: - (data) = self.list_launch_plans_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.list_workflow_ids_with_http_info(project, domain, **kwargs) # noqa: E501 return data - def list_launch_plans_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + def list_workflow_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_launch_plans_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> thread = api.list_workflow_ids_with_http_info(project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminLaunchPlanList + :param str filters: Indicates a list of filters passed as string. +optional. + :param str org: Optional, org key applied to the resource. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters', 'org'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3834,44 +9777,40 @@ def list_launch_plans_with_http_info(self, id_project, id_domain, id_name, **kwa if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_launch_plans" % key + " to method list_workflow_ids" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_launch_plans`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_launch_plans`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `list_launch_plans`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `list_workflow_ids`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `list_workflow_ids`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 query_params = [] if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 if 'sort_by_key' in params: query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 if 'sort_by_direction' in params: query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'org' in params: + query_params.append(('org', params['org'])) # noqa: E501 header_params = {} @@ -3891,14 +9830,14 @@ def list_launch_plans_with_http_info(self, id_project, id_domain, id_name, **kwa auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/workflow_ids/{project}/{domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminLaunchPlanList', # noqa: E501 + response_type='AdminNamedEntityIdentifierList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -3906,57 +9845,57 @@ def list_launch_plans_with_http_info(self, id_project, id_domain, id_name, **kwa _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_launch_plans2(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + def list_workflow_ids2(self, org, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_launch_plans2(id_project, id_domain, async_req=True) + >>> thread = api.list_workflow_ids2(org, project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminLaunchPlanList + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_launch_plans2_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + return self.list_workflow_ids2_with_http_info(org, project, domain, **kwargs) # noqa: E501 else: - (data) = self.list_launch_plans2_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + (data) = self.list_workflow_ids2_with_http_info(org, project, domain, **kwargs) # noqa: E501 return data - def list_launch_plans2_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + def list_workflow_ids2_with_http_info(self, org, project, domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_launch_plans2_with_http_info(id_project, id_domain, async_req=True) + >>> thread = api.list_workflow_ids2_with_http_info(org, project, domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str org: Optional, org key applied to the resource. (required) + :param str project: Name of the project that contains the identifiers. +required (required) + :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminLaunchPlanList + :param str filters: Indicates a list of filters passed as string. +optional. + :return: AdminNamedEntityIdentifierList If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['org', 'project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -3967,40 +9906,44 @@ def list_launch_plans2_with_http_info(self, id_project, id_domain, **kwargs): # if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_launch_plans2" % key + " to method list_workflow_ids2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_launch_plans2`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_launch_plans2`") # noqa: E501 + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `list_workflow_ids2`") # noqa: E501 + # verify the required parameter 'project' is set + if ('project' not in params or + params['project'] is None): + raise ValueError("Missing the required parameter `project` when calling `list_workflow_ids2`") # noqa: E501 + # verify the required parameter 'domain' is set + if ('domain' not in params or + params['domain'] is None): + raise ValueError("Missing the required parameter `domain` when calling `list_workflow_ids2`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'project' in params: + path_params['project'] = params['project'] # noqa: E501 + if 'domain' in params: + path_params['domain'] = params['domain'] # noqa: E501 query_params = [] - if 'id_name' in params: - query_params.append(('id.name', params['id_name'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 if 'sort_by_key' in params: query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 if 'sort_by_direction' in params: query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 header_params = {} @@ -4020,14 +9963,14 @@ def list_launch_plans2_with_http_info(self, id_project, id_domain, **kwargs): # auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/launch_plans/{id.project}/{id.domain}', 'GET', + '/api/v1/workflows/org/{org}/{project}/{domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminLaunchPlanList', # noqa: E501 + response_type='AdminNamedEntityIdentifierList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4035,43 +9978,59 @@ def list_launch_plans2_with_http_info(self, id_project, id_domain, **kwargs): # _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_matchable_attributes(self, **kwargs): # noqa: E501 - """Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. # noqa: E501 + def list_workflows(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_matchable_attributes(async_req=True) + >>> thread = api.list_workflows(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminListMatchableAttributesResponse + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_matchable_attributes_with_http_info(**kwargs) # noqa: E501 + return self.list_workflows_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.list_matchable_attributes_with_http_info(**kwargs) # noqa: E501 + (data) = self.list_workflows_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def list_matchable_attributes_with_http_info(self, **kwargs): # noqa: E501 - """Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. # noqa: E501 + def list_workflows_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_matchable_attributes_with_http_info(async_req=True) + >>> thread = api.list_workflows_with_http_info(id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: +required. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. - :return: AdminListMatchableAttributesResponse + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param str id_org: Optional, org key applied to the resource. + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. + :param str sort_by_key: Indicates an attribute to sort the response values. +required. + :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ - all_params = ['resource_type'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -4082,18 +10041,46 @@ def list_matchable_attributes_with_http_info(self, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_matchable_attributes" % key + " to method list_workflows" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_workflows`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_workflows`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `list_workflows`") # noqa: E501 collection_formats = {} path_params = {} + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'resource_type' in params: - query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 + if 'limit' in params: + query_params.append(('limit', params['limit'])) # noqa: E501 + if 'token' in params: + query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 + if 'sort_by_key' in params: + query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 + if 'sort_by_direction' in params: + query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -4113,14 +10100,14 @@ def list_matchable_attributes_with_http_info(self, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/matchable_attributes', 'GET', + '/api/v1/workflows/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminListMatchableAttributesResponse', # noqa: E501 + response_type='AdminWorkflowList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4128,57 +10115,59 @@ def list_matchable_attributes_with_http_info(self, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_named_entities(self, resource_type, project, domain, **kwargs): # noqa: E501 - """Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. # noqa: E501 + def list_workflows2(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_named_entities(resource_type, project, domain, async_req=True) + >>> thread = api.list_workflows2(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required (required) - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. (required) - :param int limit: Indicates the number of resources to be returned. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityList + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_named_entities_with_http_info(resource_type, project, domain, **kwargs) # noqa: E501 + return self.list_workflows2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 else: - (data) = self.list_named_entities_with_http_info(resource_type, project, domain, **kwargs) # noqa: E501 + (data) = self.list_workflows2_with_http_info(id_org, id_project, id_domain, id_name, **kwargs) # noqa: E501 return data - def list_named_entities_with_http_info(self, resource_type, project, domain, **kwargs): # noqa: E501 - """Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. # noqa: E501 + def list_workflows2_with_http_info(self, id_org, id_project, id_domain, id_name, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_named_entities_with_http_info(resource_type, project, domain, async_req=True) + >>> thread = api.list_workflows2_with_http_info(id_org, id_project, id_domain, id_name, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required (required) - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. (required) - :param int limit: Indicates the number of resources to be returned. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param int limit: Indicates the number of resources to be returned. +required. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. + :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityList + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ - all_params = ['resource_type', 'project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -4189,44 +10178,50 @@ def list_named_entities_with_http_info(self, resource_type, project, domain, **k if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_named_entities" % key + " to method list_workflows2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'resource_type' is set - if ('resource_type' not in params or - params['resource_type'] is None): - raise ValueError("Missing the required parameter `resource_type` when calling `list_named_entities`") # noqa: E501 - # verify the required parameter 'project' is set - if ('project' not in params or - params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `list_named_entities`") # noqa: E501 - # verify the required parameter 'domain' is set - if ('domain' not in params or - params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `list_named_entities`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_workflows2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_workflows2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_workflows2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `list_workflows2`") # noqa: E501 collection_formats = {} path_params = {} - if 'resource_type' in params: - path_params['resource_type'] = params['resource_type'] # noqa: E501 - if 'project' in params: - path_params['project'] = params['project'] # noqa: E501 - if 'domain' in params: - path_params['domain'] = params['domain'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: query_params.append(('token', params['token'])) # noqa: E501 + if 'filters' in params: + query_params.append(('filters', params['filters'])) # noqa: E501 if 'sort_by_key' in params: query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 if 'sort_by_direction' in params: query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 header_params = {} @@ -4246,14 +10241,14 @@ def list_named_entities_with_http_info(self, resource_type, project, domain, **k auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/named_entities/{resource_type}/{project}/{domain}', 'GET', + '/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNamedEntityList', # noqa: E501 + response_type='AdminWorkflowList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4261,59 +10256,59 @@ def list_named_entities_with_http_info(self, resource_type, project, domain, **k _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_node_executions(self, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + def list_workflows3(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_node_executions(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, async_req=True) + >>> thread = api.list_workflows3(id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str workflow_execution_id_project: Name of the project the resource belongs to. (required) - :param str workflow_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str workflow_execution_id_name: User or system provided value for the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str unique_parent_id: Unique identifier of the parent node in the execution +optional. - :return: AdminNodeExecutionList + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_node_executions_with_http_info(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs) # noqa: E501 + return self.list_workflows3_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 else: - (data) = self.list_node_executions_with_http_info(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs) # noqa: E501 + (data) = self.list_workflows3_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 return data - def list_node_executions_with_http_info(self, workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + def list_workflows3_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_node_executions_with_http_info(workflow_execution_id_project, workflow_execution_id_domain, workflow_execution_id_name, async_req=True) + >>> thread = api.list_workflows3_with_http_info(id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str workflow_execution_id_project: Name of the project the resource belongs to. (required) - :param str workflow_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str workflow_execution_id_name: User or system provided value for the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. + :param str id_org: Optional, org key applied to the resource. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str unique_parent_id: Unique identifier of the parent node in the execution +optional. - :return: AdminNodeExecutionList + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ - all_params = ['workflow_execution_id_project', 'workflow_execution_id_domain', 'workflow_execution_id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction', 'unique_parent_id'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_org', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -4324,34 +10319,32 @@ def list_node_executions_with_http_info(self, workflow_execution_id_project, wor if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_node_executions" % key + " to method list_workflows3" % key ) params[key] = val - del params['kwargs'] - # verify the required parameter 'workflow_execution_id_project' is set - if ('workflow_execution_id_project' not in params or - params['workflow_execution_id_project'] is None): - raise ValueError("Missing the required parameter `workflow_execution_id_project` when calling `list_node_executions`") # noqa: E501 - # verify the required parameter 'workflow_execution_id_domain' is set - if ('workflow_execution_id_domain' not in params or - params['workflow_execution_id_domain'] is None): - raise ValueError("Missing the required parameter `workflow_execution_id_domain` when calling `list_node_executions`") # noqa: E501 - # verify the required parameter 'workflow_execution_id_name' is set - if ('workflow_execution_id_name' not in params or - params['workflow_execution_id_name'] is None): - raise ValueError("Missing the required parameter `workflow_execution_id_name` when calling `list_node_executions`") # noqa: E501 + del params['kwargs'] + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_workflows3`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_workflows3`") # noqa: E501 collection_formats = {} path_params = {} - if 'workflow_execution_id_project' in params: - path_params['workflow_execution_id.project'] = params['workflow_execution_id_project'] # noqa: E501 - if 'workflow_execution_id_domain' in params: - path_params['workflow_execution_id.domain'] = params['workflow_execution_id_domain'] # noqa: E501 - if 'workflow_execution_id_name' in params: - path_params['workflow_execution_id.name'] = params['workflow_execution_id_name'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 query_params = [] + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 + if 'id_org' in params: + query_params.append(('id.org', params['id_org'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: @@ -4362,8 +10355,6 @@ def list_node_executions_with_http_info(self, workflow_execution_id_project, wor query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 if 'sort_by_direction' in params: query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 - if 'unique_parent_id' in params: - query_params.append(('unique_parent_id', params['unique_parent_id'])) # noqa: E501 header_params = {} @@ -4383,14 +10374,14 @@ def list_node_executions_with_http_info(self, workflow_execution_id_project, wor auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}', 'GET', + '/api/v1/workflows/{id.project}/{id.domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNodeExecutionList', # noqa: E501 + response_type='AdminWorkflowList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4398,71 +10389,59 @@ def list_node_executions_with_http_info(self, workflow_execution_id_project, wor _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_node_executions_for_task(self, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def list_workflows4(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_node_executions_for_task(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, async_req=True) + >>> thread = api.list_workflows4(id_org, id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str task_execution_id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str task_execution_id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str task_execution_id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str task_execution_id_node_execution_id_node_id: (required) - :param str task_execution_id_task_id_project: Name of the project the resource belongs to. (required) - :param str task_execution_id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str task_execution_id_task_id_name: User provided value for the resource. (required) - :param str task_execution_id_task_id_version: Specific version of the resource. (required) - :param int task_execution_id_retry_attempt: (required) - :param str task_execution_id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminNodeExecutionList + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_node_executions_for_task_with_http_info(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs) # noqa: E501 + return self.list_workflows4_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 else: - (data) = self.list_node_executions_for_task_with_http_info(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs) # noqa: E501 + (data) = self.list_workflows4_with_http_info(id_org, id_project, id_domain, **kwargs) # noqa: E501 return data - def list_node_executions_for_task_with_http_info(self, task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def list_workflows4_with_http_info(self, id_org, id_project, id_domain, **kwargs): # noqa: E501 + """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_node_executions_for_task_with_http_info(task_execution_id_node_execution_id_execution_id_project, task_execution_id_node_execution_id_execution_id_domain, task_execution_id_node_execution_id_execution_id_name, task_execution_id_node_execution_id_node_id, task_execution_id_task_id_project, task_execution_id_task_id_domain, task_execution_id_task_id_name, task_execution_id_task_id_version, task_execution_id_retry_attempt, async_req=True) + >>> thread = api.list_workflows4_with_http_info(id_org, id_project, id_domain, async_req=True) >>> result = thread.get() :param async_req bool - :param str task_execution_id_node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str task_execution_id_node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str task_execution_id_node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str task_execution_id_node_execution_id_node_id: (required) - :param str task_execution_id_task_id_project: Name of the project the resource belongs to. (required) - :param str task_execution_id_task_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str task_execution_id_task_id_name: User provided value for the resource. (required) - :param str task_execution_id_task_id_version: Specific version of the resource. (required) - :param int task_execution_id_retry_attempt: (required) - :param str task_execution_id_task_id_resource_type: Identifies the specific type of resource that this identifier corresponds to. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional. + :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. :param str sort_by_key: Indicates an attribute to sort the response values. +required. :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminNodeExecutionList + :return: AdminWorkflowList If the method is called asynchronously, returns the request thread. """ - all_params = ['task_execution_id_node_execution_id_execution_id_project', 'task_execution_id_node_execution_id_execution_id_domain', 'task_execution_id_node_execution_id_execution_id_name', 'task_execution_id_node_execution_id_node_id', 'task_execution_id_task_id_project', 'task_execution_id_task_id_domain', 'task_execution_id_task_id_name', 'task_execution_id_task_id_version', 'task_execution_id_retry_attempt', 'task_execution_id_task_id_resource_type', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -4473,72 +10452,36 @@ def list_node_executions_for_task_with_http_info(self, task_execution_id_node_ex if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_node_executions_for_task" % key + " to method list_workflows4" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'task_execution_id_node_execution_id_execution_id_project' is set - if ('task_execution_id_node_execution_id_execution_id_project' not in params or - params['task_execution_id_node_execution_id_execution_id_project'] is None): - raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_project` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_node_execution_id_execution_id_domain' is set - if ('task_execution_id_node_execution_id_execution_id_domain' not in params or - params['task_execution_id_node_execution_id_execution_id_domain'] is None): - raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_domain` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_node_execution_id_execution_id_name' is set - if ('task_execution_id_node_execution_id_execution_id_name' not in params or - params['task_execution_id_node_execution_id_execution_id_name'] is None): - raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_execution_id_name` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_node_execution_id_node_id' is set - if ('task_execution_id_node_execution_id_node_id' not in params or - params['task_execution_id_node_execution_id_node_id'] is None): - raise ValueError("Missing the required parameter `task_execution_id_node_execution_id_node_id` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_task_id_project' is set - if ('task_execution_id_task_id_project' not in params or - params['task_execution_id_task_id_project'] is None): - raise ValueError("Missing the required parameter `task_execution_id_task_id_project` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_task_id_domain' is set - if ('task_execution_id_task_id_domain' not in params or - params['task_execution_id_task_id_domain'] is None): - raise ValueError("Missing the required parameter `task_execution_id_task_id_domain` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_task_id_name' is set - if ('task_execution_id_task_id_name' not in params or - params['task_execution_id_task_id_name'] is None): - raise ValueError("Missing the required parameter `task_execution_id_task_id_name` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_task_id_version' is set - if ('task_execution_id_task_id_version' not in params or - params['task_execution_id_task_id_version'] is None): - raise ValueError("Missing the required parameter `task_execution_id_task_id_version` when calling `list_node_executions_for_task`") # noqa: E501 - # verify the required parameter 'task_execution_id_retry_attempt' is set - if ('task_execution_id_retry_attempt' not in params or - params['task_execution_id_retry_attempt'] is None): - raise ValueError("Missing the required parameter `task_execution_id_retry_attempt` when calling `list_node_executions_for_task`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `list_workflows4`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `list_workflows4`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `list_workflows4`") # noqa: E501 collection_formats = {} path_params = {} - if 'task_execution_id_node_execution_id_execution_id_project' in params: - path_params['task_execution_id.node_execution_id.execution_id.project'] = params['task_execution_id_node_execution_id_execution_id_project'] # noqa: E501 - if 'task_execution_id_node_execution_id_execution_id_domain' in params: - path_params['task_execution_id.node_execution_id.execution_id.domain'] = params['task_execution_id_node_execution_id_execution_id_domain'] # noqa: E501 - if 'task_execution_id_node_execution_id_execution_id_name' in params: - path_params['task_execution_id.node_execution_id.execution_id.name'] = params['task_execution_id_node_execution_id_execution_id_name'] # noqa: E501 - if 'task_execution_id_node_execution_id_node_id' in params: - path_params['task_execution_id.node_execution_id.node_id'] = params['task_execution_id_node_execution_id_node_id'] # noqa: E501 - if 'task_execution_id_task_id_project' in params: - path_params['task_execution_id.task_id.project'] = params['task_execution_id_task_id_project'] # noqa: E501 - if 'task_execution_id_task_id_domain' in params: - path_params['task_execution_id.task_id.domain'] = params['task_execution_id_task_id_domain'] # noqa: E501 - if 'task_execution_id_task_id_name' in params: - path_params['task_execution_id.task_id.name'] = params['task_execution_id_task_id_name'] # noqa: E501 - if 'task_execution_id_task_id_version' in params: - path_params['task_execution_id.task_id.version'] = params['task_execution_id_task_id_version'] # noqa: E501 - if 'task_execution_id_retry_attempt' in params: - path_params['task_execution_id.retry_attempt'] = params['task_execution_id_retry_attempt'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 query_params = [] - if 'task_execution_id_task_id_resource_type' in params: - query_params.append(('task_execution_id.task_id.resource_type', params['task_execution_id_task_id_resource_type'])) # noqa: E501 + if 'id_name' in params: + query_params.append(('id.name', params['id_name'])) # noqa: E501 if 'limit' in params: query_params.append(('limit', params['limit'])) # noqa: E501 if 'token' in params: @@ -4568,14 +10511,14 @@ def list_node_executions_for_task_with_http_info(self, task_execution_id_node_ex auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}', 'GET', + '/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNodeExecutionList', # noqa: E501 + response_type='AdminWorkflowList', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4583,51 +10526,43 @@ def list_node_executions_for_task_with_http_info(self, task_execution_id_node_ex _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_projects(self, **kwargs): # noqa: E501 - """Fetches a list of :ref:`ref_flyteidl.admin.Project` # noqa: E501 + def recover_execution(self, body, **kwargs): # noqa: E501 + """Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_projects(async_req=True) + >>> thread = api.recover_execution(body, async_req=True) >>> result = thread.get() :param async_req bool - :param int limit: Indicates the number of projects to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminProjects + :param AdminExecutionRecoverRequest body: (required) + :return: AdminExecutionCreateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_projects_with_http_info(**kwargs) # noqa: E501 + return self.recover_execution_with_http_info(body, **kwargs) # noqa: E501 else: - (data) = self.list_projects_with_http_info(**kwargs) # noqa: E501 + (data) = self.recover_execution_with_http_info(body, **kwargs) # noqa: E501 return data - def list_projects_with_http_info(self, **kwargs): # noqa: E501 - """Fetches a list of :ref:`ref_flyteidl.admin.Project` # noqa: E501 + def recover_execution_with_http_info(self, body, **kwargs): # noqa: E501 + """Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_projects_with_http_info(async_req=True) + >>> thread = api.recover_execution_with_http_info(body, async_req=True) >>> result = thread.get() :param async_req bool - :param int limit: Indicates the number of projects to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminProjects + :param AdminExecutionRecoverRequest body: (required) + :return: AdminExecutionCreateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -4638,26 +10573,20 @@ def list_projects_with_http_info(self, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_projects" % key + " to method recover_execution" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `recover_execution`") # noqa: E501 collection_formats = {} path_params = {} query_params = [] - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -4665,6 +10594,8 @@ def list_projects_with_http_info(self, **kwargs): # noqa: E501 local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -4677,14 +10608,14 @@ def list_projects_with_http_info(self, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/projects', 'GET', + '/api/v1/executions/recover', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjects', # noqa: E501 + response_type='AdminExecutionCreateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4692,59 +10623,43 @@ def list_projects_with_http_info(self, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_task_executions(self, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs): # noqa: E501 - """Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def register_project(self, body, **kwargs): # noqa: E501 + """Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_task_executions(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, async_req=True) + >>> thread = api.register_project(body, async_req=True) >>> result = thread.get() :param async_req bool - :param str node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str node_execution_id_node_id: (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminTaskExecutionList + :param AdminProjectRegisterRequest body: (required) + :return: AdminProjectRegisterResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_task_executions_with_http_info(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs) # noqa: E501 + return self.register_project_with_http_info(body, **kwargs) # noqa: E501 else: - (data) = self.list_task_executions_with_http_info(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs) # noqa: E501 + (data) = self.register_project_with_http_info(body, **kwargs) # noqa: E501 return data - def list_task_executions_with_http_info(self, node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, **kwargs): # noqa: E501 - """Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + def register_project_with_http_info(self, body, **kwargs): # noqa: E501 + """Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_task_executions_with_http_info(node_execution_id_execution_id_project, node_execution_id_execution_id_domain, node_execution_id_execution_id_name, node_execution_id_node_id, async_req=True) + >>> thread = api.register_project_with_http_info(body, async_req=True) >>> result = thread.get() :param async_req bool - :param str node_execution_id_execution_id_project: Name of the project the resource belongs to. (required) - :param str node_execution_id_execution_id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str node_execution_id_execution_id_name: User or system provided value for the resource. (required) - :param str node_execution_id_node_id: (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminTaskExecutionList + :param AdminProjectRegisterRequest body: (required) + :return: AdminProjectRegisterResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['node_execution_id_execution_id_project', 'node_execution_id_execution_id_domain', 'node_execution_id_execution_id_name', 'node_execution_id_node_id', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -4755,50 +10670,20 @@ def list_task_executions_with_http_info(self, node_execution_id_execution_id_pro if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_task_executions" % key + " to method register_project" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'node_execution_id_execution_id_project' is set - if ('node_execution_id_execution_id_project' not in params or - params['node_execution_id_execution_id_project'] is None): - raise ValueError("Missing the required parameter `node_execution_id_execution_id_project` when calling `list_task_executions`") # noqa: E501 - # verify the required parameter 'node_execution_id_execution_id_domain' is set - if ('node_execution_id_execution_id_domain' not in params or - params['node_execution_id_execution_id_domain'] is None): - raise ValueError("Missing the required parameter `node_execution_id_execution_id_domain` when calling `list_task_executions`") # noqa: E501 - # verify the required parameter 'node_execution_id_execution_id_name' is set - if ('node_execution_id_execution_id_name' not in params or - params['node_execution_id_execution_id_name'] is None): - raise ValueError("Missing the required parameter `node_execution_id_execution_id_name` when calling `list_task_executions`") # noqa: E501 - # verify the required parameter 'node_execution_id_node_id' is set - if ('node_execution_id_node_id' not in params or - params['node_execution_id_node_id'] is None): - raise ValueError("Missing the required parameter `node_execution_id_node_id` when calling `list_task_executions`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `register_project`") # noqa: E501 collection_formats = {} path_params = {} - if 'node_execution_id_execution_id_project' in params: - path_params['node_execution_id.execution_id.project'] = params['node_execution_id_execution_id_project'] # noqa: E501 - if 'node_execution_id_execution_id_domain' in params: - path_params['node_execution_id.execution_id.domain'] = params['node_execution_id_execution_id_domain'] # noqa: E501 - if 'node_execution_id_execution_id_name' in params: - path_params['node_execution_id.execution_id.name'] = params['node_execution_id_execution_id_name'] # noqa: E501 - if 'node_execution_id_node_id' in params: - path_params['node_execution_id.node_id'] = params['node_execution_id_node_id'] # noqa: E501 query_params = [] - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -4806,6 +10691,8 @@ def list_task_executions_with_http_info(self, node_execution_id_execution_id_pro local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -4818,14 +10705,14 @@ def list_task_executions_with_http_info(self, node_execution_id_execution_id_pro auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}', 'GET', + '/api/v1/projects', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminTaskExecutionList', # noqa: E501 + response_type='AdminProjectRegisterResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4833,55 +10720,43 @@ def list_task_executions_with_http_info(self, node_execution_id_execution_id_pro _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_task_ids(self, project, domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. # noqa: E501 + def relaunch_execution(self, body, **kwargs): # noqa: E501 + """Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_task_ids(project, domain, async_req=True) + >>> thread = api.relaunch_execution(body, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityIdentifierList + :param AdminExecutionRelaunchRequest body: (required) + :return: AdminExecutionCreateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_task_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + return self.relaunch_execution_with_http_info(body, **kwargs) # noqa: E501 else: - (data) = self.list_task_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + (data) = self.relaunch_execution_with_http_info(body, **kwargs) # noqa: E501 return data - def list_task_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. # noqa: E501 + def relaunch_execution_with_http_info(self, body, **kwargs): # noqa: E501 + """Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_task_ids_with_http_info(project, domain, async_req=True) + >>> thread = api.relaunch_execution_with_http_info(body, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityIdentifierList + :param AdminExecutionRelaunchRequest body: (required) + :return: AdminExecutionCreateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 + all_params = ['body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -4892,38 +10767,20 @@ def list_task_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_task_ids" % key + " to method relaunch_execution" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'project' is set - if ('project' not in params or - params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `list_task_ids`") # noqa: E501 - # verify the required parameter 'domain' is set - if ('domain' not in params or - params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `list_task_ids`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `relaunch_execution`") # noqa: E501 collection_formats = {} path_params = {} - if 'project' in params: - path_params['project'] = params['project'] # noqa: E501 - if 'domain' in params: - path_params['domain'] = params['domain'] # noqa: E501 query_params = [] - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 header_params = {} @@ -4931,6 +10788,8 @@ def list_task_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -4943,14 +10802,14 @@ def list_task_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/task_ids/{project}/{domain}', 'GET', + '/api/v1/executions/relaunch', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNamedEntityIdentifierList', # noqa: E501 + response_type='AdminExecutionCreateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -4958,57 +10817,49 @@ def list_task_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_tasks(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 + def terminate_execution(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_tasks(id_project, id_domain, id_name, async_req=True) + >>> thread = api.terminate_execution(id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminTaskList + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionTerminateRequest body: (required) + :return: AdminExecutionTerminateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_tasks_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.terminate_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 else: - (data) = self.list_tasks_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.terminate_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 return data - def list_tasks_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 + def terminate_execution_with_http_info(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_tasks_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> thread = api.terminate_execution_with_http_info(id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminTaskList + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionTerminateRequest body: (required) + :return: AdminExecutionTerminateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5019,22 +10870,26 @@ def list_tasks_with_http_info(self, id_project, id_domain, id_name, **kwargs): if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_tasks" % key + " to method terminate_execution" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_tasks`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `terminate_execution`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_tasks`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `terminate_execution`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `list_tasks`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `terminate_execution`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `terminate_execution`") # noqa: E501 collection_formats = {} @@ -5047,16 +10902,6 @@ def list_tasks_with_http_info(self, id_project, id_domain, id_name, **kwargs): path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -5064,6 +10909,8 @@ def list_tasks_with_http_info(self, id_project, id_domain, id_name, **kwargs): local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -5076,14 +10923,14 @@ def list_tasks_with_http_info(self, id_project, id_domain, id_name, **kwargs): auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/tasks/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/executions/{id.project}/{id.domain}/{id.name}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminTaskList', # noqa: E501 + response_type='AdminExecutionTerminateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5091,57 +10938,51 @@ def list_tasks_with_http_info(self, id_project, id_domain, id_name, **kwargs): _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_tasks2(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 + def terminate_execution2(self, id_org, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_tasks2(id_project, id_domain, async_req=True) + >>> thread = api.terminate_execution2(id_org, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminTaskList + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionTerminateRequest body: (required) + :return: AdminExecutionTerminateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_tasks2_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + return self.terminate_execution2_with_http_info(id_org, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 else: - (data) = self.list_tasks2_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + (data) = self.terminate_execution2_with_http_info(id_org, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 return data - def list_tasks2_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 + def terminate_execution2_with_http_info(self, id_org, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_tasks2_with_http_info(id_project, id_domain, async_req=True) + >>> thread = api.terminate_execution2_with_http_info(id_org, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminTaskList + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionTerminateRequest body: (required) + :return: AdminExecutionTerminateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5152,40 +10993,44 @@ def list_tasks2_with_http_info(self, id_project, id_domain, **kwargs): # noqa: if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_tasks2" % key + " to method terminate_execution2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `terminate_execution2`") # noqa: E501 # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_tasks2`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `terminate_execution2`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_tasks2`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `terminate_execution2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `terminate_execution2`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `terminate_execution2`") # noqa: E501 collection_formats = {} path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 if 'id_project' in params: path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'id_name' in params: - query_params.append(('id.name', params['id_name'])) # noqa: E501 - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -5193,6 +11038,8 @@ def list_tasks2_with_http_info(self, id_project, id_domain, **kwargs): # noqa: local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -5205,14 +11052,14 @@ def list_tasks2_with_http_info(self, id_project, id_domain, **kwargs): # noqa: auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/tasks/{id.project}/{id.domain}', 'GET', + '/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminTaskList', # noqa: E501 + response_type='AdminExecutionTerminateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5220,55 +11067,49 @@ def list_tasks2_with_http_info(self, id_project, id_domain, **kwargs): # noqa: _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_workflow_ids(self, project, domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. # noqa: E501 + def update_execution(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_workflow_ids(project, domain, async_req=True) + >>> thread = api.update_execution(id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityIdentifierList + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionUpdateRequest body: (required) + :return: AdminExecutionUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_workflow_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + return self.update_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 else: - (data) = self.list_workflow_ids_with_http_info(project, domain, **kwargs) # noqa: E501 + (data) = self.update_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 return data - def list_workflow_ids_with_http_info(self, project, domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. # noqa: E501 + def update_execution_with_http_info(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an - asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_workflow_ids_with_http_info(project, domain, async_req=True) - >>> result = thread.get() - - :param async_req bool - :param str project: Name of the project that contains the identifiers. +required (required) - :param str domain: Name of the domain the identifiers belongs to within the project. +required (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :param str filters: Indicates a list of filters passed as string. +optional. - :return: AdminNamedEntityIdentifierList + asynchronous HTTP request, please pass async_req=True + >>> thread = api.update_execution_with_http_info(id_project, id_domain, id_name, body, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionUpdateRequest body: (required) + :return: AdminExecutionUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['project', 'domain', 'limit', 'token', 'sort_by_key', 'sort_by_direction', 'filters'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5279,38 +11120,38 @@ def list_workflow_ids_with_http_info(self, project, domain, **kwargs): # noqa: if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_workflow_ids" % key + " to method update_execution" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'project' is set - if ('project' not in params or - params['project'] is None): - raise ValueError("Missing the required parameter `project` when calling `list_workflow_ids`") # noqa: E501 - # verify the required parameter 'domain' is set - if ('domain' not in params or - params['domain'] is None): - raise ValueError("Missing the required parameter `domain` when calling `list_workflow_ids`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `update_execution`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `update_execution`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `update_execution`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `update_execution`") # noqa: E501 collection_formats = {} path_params = {} - if 'project' in params: - path_params['project'] = params['project'] # noqa: E501 - if 'domain' in params: - path_params['domain'] = params['domain'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 header_params = {} @@ -5318,6 +11159,8 @@ def list_workflow_ids_with_http_info(self, project, domain, **kwargs): # noqa: local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -5330,14 +11173,14 @@ def list_workflow_ids_with_http_info(self, project, domain, **kwargs): # noqa: auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/workflow_ids/{project}/{domain}', 'GET', + '/api/v1/executions/{id.project}/{id.domain}/{id.name}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNamedEntityIdentifierList', # noqa: E501 + response_type='AdminExecutionUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5345,57 +11188,51 @@ def list_workflow_ids_with_http_info(self, project, domain, **kwargs): # noqa: _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_workflows(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 + def update_execution2(self, id_org, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_workflows(id_project, id_domain, id_name, async_req=True) + >>> thread = api.update_execution2(id_org, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminWorkflowList + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionUpdateRequest body: (required) + :return: AdminExecutionUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_workflows_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + return self.update_execution2_with_http_info(id_org, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 else: - (data) = self.list_workflows_with_http_info(id_project, id_domain, id_name, **kwargs) # noqa: E501 + (data) = self.update_execution2_with_http_info(id_org, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 return data - def list_workflows_with_http_info(self, id_project, id_domain, id_name, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 + def update_execution2_with_http_info(self, id_org, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_workflows_with_http_info(id_project, id_domain, id_name, async_req=True) + >>> thread = api.update_execution2_with_http_info(id_org, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str id_org: Optional, org key applied to the resource. (required) :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminWorkflowList + :param str id_name: User or system provided value for the resource. (required) + :param AdminExecutionUpdateRequest body: (required) + :return: AdminExecutionUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5406,26 +11243,36 @@ def list_workflows_with_http_info(self, id_project, id_domain, id_name, **kwargs if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_workflows" % key + " to method update_execution2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `update_execution2`") # noqa: E501 # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_workflows`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `update_execution2`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_workflows`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `update_execution2`") # noqa: E501 # verify the required parameter 'id_name' is set if ('id_name' not in params or params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `list_workflows`") # noqa: E501 + raise ValueError("Missing the required parameter `id_name` when calling `update_execution2`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `update_execution2`") # noqa: E501 collection_formats = {} path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 if 'id_project' in params: path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: @@ -5434,16 +11281,6 @@ def list_workflows_with_http_info(self, id_project, id_domain, id_name, **kwargs path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -5451,6 +11288,8 @@ def list_workflows_with_http_info(self, id_project, id_domain, id_name, **kwargs local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -5463,14 +11302,14 @@ def list_workflows_with_http_info(self, id_project, id_domain, id_name, **kwargs auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/workflows/{id.project}/{id.domain}/{id.name}', 'GET', + '/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminWorkflowList', # noqa: E501 + response_type='AdminExecutionUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5478,57 +11317,51 @@ def list_workflows_with_http_info(self, id_project, id_domain, id_name, **kwargs _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_workflows2(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 + def update_launch_plan(self, id_project, id_domain, id_name, id_version, body, **kwargs): # noqa: E501 + """Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_workflows2(id_project, id_domain, async_req=True) + >>> thread = api.update_launch_plan(id_project, id_domain, id_name, id_version, body, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminWorkflowList + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param AdminLaunchPlanUpdateRequest body: (required) + :return: AdminLaunchPlanUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.list_workflows2_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + return self.update_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, body, **kwargs) # noqa: E501 else: - (data) = self.list_workflows2_with_http_info(id_project, id_domain, **kwargs) # noqa: E501 + (data) = self.update_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, body, **kwargs) # noqa: E501 return data - def list_workflows2_with_http_info(self, id_project, id_domain, **kwargs): # noqa: E501 - """Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 + def update_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_version, body, **kwargs): # noqa: E501 + """Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.list_workflows2_with_http_info(id_project, id_domain, async_req=True) + >>> thread = api.update_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, body, async_req=True) >>> result = thread.get() :param async_req bool :param str id_project: Name of the project the resource belongs to. (required) :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans'. - :param int limit: Indicates the number of resources to be returned. +required. - :param str token: In the case of multiple pages of results, this server-provided token can be used to fetch the next page in a query. +optional. - :param str filters: Indicates a list of filters passed as string. More info on constructing filters : +optional. - :param str sort_by_key: Indicates an attribute to sort the response values. +required. - :param str sort_by_direction: Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. - :return: AdminWorkflowList + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :param AdminLaunchPlanUpdateRequest body: (required) + :return: AdminLaunchPlanUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'limit', 'token', 'filters', 'sort_by_key', 'sort_by_direction'] # noqa: E501 + all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5539,18 +11372,30 @@ def list_workflows2_with_http_info(self, id_project, id_domain, **kwargs): # no if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method list_workflows2" % key + " to method update_launch_plan" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'id_project' is set if ('id_project' not in params or params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `list_workflows2`") # noqa: E501 + raise ValueError("Missing the required parameter `id_project` when calling `update_launch_plan`") # noqa: E501 # verify the required parameter 'id_domain' is set if ('id_domain' not in params or params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `list_workflows2`") # noqa: E501 + raise ValueError("Missing the required parameter `id_domain` when calling `update_launch_plan`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `update_launch_plan`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `update_launch_plan`") # noqa: E501 + # verify the required parameter 'body' is set + if ('body' not in params or + params['body'] is None): + raise ValueError("Missing the required parameter `body` when calling `update_launch_plan`") # noqa: E501 collection_formats = {} @@ -5559,20 +11404,12 @@ def list_workflows2_with_http_info(self, id_project, id_domain, **kwargs): # no path_params['id.project'] = params['id_project'] # noqa: E501 if 'id_domain' in params: path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 query_params = [] - if 'id_name' in params: - query_params.append(('id.name', params['id_name'])) # noqa: E501 - if 'limit' in params: - query_params.append(('limit', params['limit'])) # noqa: E501 - if 'token' in params: - query_params.append(('token', params['token'])) # noqa: E501 - if 'filters' in params: - query_params.append(('filters', params['filters'])) # noqa: E501 - if 'sort_by_key' in params: - query_params.append(('sort_by.key', params['sort_by_key'])) # noqa: E501 - if 'sort_by_direction' in params: - query_params.append(('sort_by.direction', params['sort_by_direction'])) # noqa: E501 header_params = {} @@ -5580,6 +11417,8 @@ def list_workflows2_with_http_info(self, id_project, id_domain, **kwargs): # no local_var_files = {} body_params = None + if 'body' in params: + body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -5592,14 +11431,14 @@ def list_workflows2_with_http_info(self, id_project, id_domain, **kwargs): # no auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/workflows/{id.project}/{id.domain}', 'GET', + '/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminWorkflowList', # noqa: E501 + response_type='AdminLaunchPlanUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5607,43 +11446,51 @@ def list_workflows2_with_http_info(self, id_project, id_domain, **kwargs): # no _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def recover_execution(self, body, **kwargs): # noqa: E501 - """Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. # noqa: E501 + def update_launch_plan2(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.recover_execution(body, async_req=True) + >>> thread = api.update_launch_plan2(id_org, id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool - :param AdminExecutionRecoverRequest body: (required) - :return: AdminExecutionCreateResponse + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :return: AdminLaunchPlanUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.recover_execution_with_http_info(body, **kwargs) # noqa: E501 + return self.update_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 else: - (data) = self.recover_execution_with_http_info(body, **kwargs) # noqa: E501 + (data) = self.update_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, id_version, **kwargs) # noqa: E501 return data - def recover_execution_with_http_info(self, body, **kwargs): # noqa: E501 - """Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. # noqa: E501 + def update_launch_plan2_with_http_info(self, id_org, id_project, id_domain, id_name, id_version, **kwargs): # noqa: E501 + """Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.recover_execution_with_http_info(body, async_req=True) + >>> thread = api.update_launch_plan2_with_http_info(id_org, id_project, id_domain, id_name, id_version, async_req=True) >>> result = thread.get() :param async_req bool - :param AdminExecutionRecoverRequest body: (required) - :return: AdminExecutionCreateResponse + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. (required) + :param str id_version: Specific version of the resource. (required) + :return: AdminLaunchPlanUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['body'] # noqa: E501 + all_params = ['id_org', 'id_project', 'id_domain', 'id_name', 'id_version'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5654,18 +11501,44 @@ def recover_execution_with_http_info(self, body, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method recover_execution" % key + " to method update_launch_plan2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'body' is set - if ('body' not in params or - params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `recover_execution`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `update_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `update_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `update_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `update_launch_plan2`") # noqa: E501 + # verify the required parameter 'id_version' is set + if ('id_version' not in params or + params['id_version'] is None): + raise ValueError("Missing the required parameter `id_version` when calling `update_launch_plan2`") # noqa: E501 collection_formats = {} path_params = {} + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id_version' in params: + path_params['id.version'] = params['id_version'] # noqa: E501 query_params = [] @@ -5675,8 +11548,6 @@ def recover_execution_with_http_info(self, body, **kwargs): # noqa: E501 local_var_files = {} body_params = None - if 'body' in params: - body_params = params['body'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept( ['application/json']) # noqa: E501 @@ -5689,14 +11560,14 @@ def recover_execution_with_http_info(self, body, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/executions/recover', 'POST', + '/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminExecutionCreateResponse', # noqa: E501 + response_type='AdminLaunchPlanUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5704,43 +11575,51 @@ def recover_execution_with_http_info(self, body, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def register_project(self, body, **kwargs): # noqa: E501 - """Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. # noqa: E501 + def update_named_entity(self, resource_type, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.register_project(body, async_req=True) + >>> thread = api.update_named_entity(resource_type, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool - :param AdminProjectRegisterRequest body: (required) - :return: AdminProjectRegisterResponse + :param str resource_type: Resource type of the metadata to update +required (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param AdminNamedEntityUpdateRequest body: (required) + :return: AdminNamedEntityUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.register_project_with_http_info(body, **kwargs) # noqa: E501 + return self.update_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 else: - (data) = self.register_project_with_http_info(body, **kwargs) # noqa: E501 + (data) = self.update_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 return data - def register_project_with_http_info(self, body, **kwargs): # noqa: E501 - """Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. # noqa: E501 + def update_named_entity_with_http_info(self, resource_type, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.register_project_with_http_info(body, async_req=True) + >>> thread = api.update_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool - :param AdminProjectRegisterRequest body: (required) - :return: AdminProjectRegisterResponse + :param str resource_type: Resource type of the metadata to update +required (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param AdminNamedEntityUpdateRequest body: (required) + :return: AdminNamedEntityUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['body'] # noqa: E501 + all_params = ['resource_type', 'id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5751,18 +11630,42 @@ def register_project_with_http_info(self, body, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method register_project" % key + " to method update_named_entity" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `update_named_entity`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `update_named_entity`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `update_named_entity`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `update_named_entity`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `register_project`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_named_entity`") # noqa: E501 collection_formats = {} path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] @@ -5786,14 +11689,14 @@ def register_project_with_http_info(self, body, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/projects', 'POST', + '/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjectRegisterResponse', # noqa: E501 + response_type='AdminNamedEntityUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5801,43 +11704,53 @@ def register_project_with_http_info(self, body, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def relaunch_execution(self, body, **kwargs): # noqa: E501 - """Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` # noqa: E501 + def update_named_entity2(self, resource_type, id_org, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.relaunch_execution(body, async_req=True) + >>> thread = api.update_named_entity2(resource_type, id_org, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool - :param AdminExecutionRelaunchRequest body: (required) - :return: AdminExecutionCreateResponse + :param str resource_type: Resource type of the metadata to update +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param AdminNamedEntityUpdateRequest body: (required) + :return: AdminNamedEntityUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.relaunch_execution_with_http_info(body, **kwargs) # noqa: E501 + return self.update_named_entity2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 else: - (data) = self.relaunch_execution_with_http_info(body, **kwargs) # noqa: E501 + (data) = self.update_named_entity2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 return data - def relaunch_execution_with_http_info(self, body, **kwargs): # noqa: E501 - """Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` # noqa: E501 + def update_named_entity2_with_http_info(self, resource_type, id_org, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 + """Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.relaunch_execution_with_http_info(body, async_req=True) + >>> thread = api.update_named_entity2_with_http_info(resource_type, id_org, id_project, id_domain, id_name, body, async_req=True) >>> result = thread.get() :param async_req bool - :param AdminExecutionRelaunchRequest body: (required) - :return: AdminExecutionCreateResponse + :param str resource_type: Resource type of the metadata to update +required (required) + :param str id_org: Optional, org key applied to the resource. (required) + :param str id_project: Name of the project the resource belongs to. (required) + :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) + :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) + :param AdminNamedEntityUpdateRequest body: (required) + :return: AdminNamedEntityUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['body'] # noqa: E501 + all_params = ['resource_type', 'id_org', 'id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5848,18 +11761,48 @@ def relaunch_execution_with_http_info(self, body, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method relaunch_execution" % key + " to method update_named_entity2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'resource_type' is set + if ('resource_type' not in params or + params['resource_type'] is None): + raise ValueError("Missing the required parameter `resource_type` when calling `update_named_entity2`") # noqa: E501 + # verify the required parameter 'id_org' is set + if ('id_org' not in params or + params['id_org'] is None): + raise ValueError("Missing the required parameter `id_org` when calling `update_named_entity2`") # noqa: E501 + # verify the required parameter 'id_project' is set + if ('id_project' not in params or + params['id_project'] is None): + raise ValueError("Missing the required parameter `id_project` when calling `update_named_entity2`") # noqa: E501 + # verify the required parameter 'id_domain' is set + if ('id_domain' not in params or + params['id_domain'] is None): + raise ValueError("Missing the required parameter `id_domain` when calling `update_named_entity2`") # noqa: E501 + # verify the required parameter 'id_name' is set + if ('id_name' not in params or + params['id_name'] is None): + raise ValueError("Missing the required parameter `id_name` when calling `update_named_entity2`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `relaunch_execution`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_named_entity2`") # noqa: E501 collection_formats = {} path_params = {} + if 'resource_type' in params: + path_params['resource_type'] = params['resource_type'] # noqa: E501 + if 'id_org' in params: + path_params['id.org'] = params['id_org'] # noqa: E501 + if 'id_project' in params: + path_params['id.project'] = params['id_project'] # noqa: E501 + if 'id_domain' in params: + path_params['id.domain'] = params['id_domain'] # noqa: E501 + if 'id_name' in params: + path_params['id.name'] = params['id_name'] # noqa: E501 query_params = [] @@ -5883,14 +11826,14 @@ def relaunch_execution_with_http_info(self, body, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/executions/relaunch', 'POST', + '/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminExecutionCreateResponse', # noqa: E501 + response_type='AdminNamedEntityUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -5898,49 +11841,45 @@ def relaunch_execution_with_http_info(self, body, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def terminate_execution(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 - """Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def update_project(self, id, body, **kwargs): # noqa: E501 + """Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.terminate_execution(id_project, id_domain, id_name, body, async_req=True) + >>> thread = api.update_project(id, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :param AdminExecutionTerminateRequest body: (required) - :return: AdminExecutionTerminateResponse + :param str id: Globally unique project name. (required) + :param AdminProject body: (required) + :return: AdminProjectUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.terminate_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 + return self.update_project_with_http_info(id, body, **kwargs) # noqa: E501 else: - (data) = self.terminate_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 + (data) = self.update_project_with_http_info(id, body, **kwargs) # noqa: E501 return data - def terminate_execution_with_http_info(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 - """Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def update_project_with_http_info(self, id, body, **kwargs): # noqa: E501 + """Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.terminate_execution_with_http_info(id_project, id_domain, id_name, body, async_req=True) + >>> thread = api.update_project_with_http_info(id, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :param AdminExecutionTerminateRequest body: (required) - :return: AdminExecutionTerminateResponse + :param str id: Globally unique project name. (required) + :param AdminProject body: (required) + :return: AdminProjectUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 + all_params = ['id', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -5951,36 +11890,24 @@ def terminate_execution_with_http_info(self, id_project, id_domain, id_name, bod if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method terminate_execution" % key + " to method update_project" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `terminate_execution`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `terminate_execution`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `terminate_execution`") # noqa: E501 + # verify the required parameter 'id' is set + if ('id' not in params or + params['id'] is None): + raise ValueError("Missing the required parameter `id` when calling `update_project`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `terminate_execution`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_project`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 + if 'id' in params: + path_params['id'] = params['id'] # noqa: E501 query_params = [] @@ -6004,14 +11931,14 @@ def terminate_execution_with_http_info(self, id_project, id_domain, id_name, bod auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/executions/{id.project}/{id.domain}/{id.name}', 'DELETE', + '/api/v1/projects/{id}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminExecutionTerminateResponse', # noqa: E501 + response_type='AdminProjectUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -6019,49 +11946,47 @@ def terminate_execution_with_http_info(self, id_project, id_domain, id_name, bod _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def update_execution(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 - """Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def update_project2(self, org, id, body, **kwargs): # noqa: E501 + """Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_execution(id_project, id_domain, id_name, body, async_req=True) + >>> thread = api.update_project2(org, id, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :param AdminExecutionUpdateRequest body: (required) - :return: AdminExecutionUpdateResponse + :param str org: Optional, org key applied to the resource. (required) + :param str id: Globally unique project name. (required) + :param AdminProject body: (required) + :return: AdminProjectUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.update_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 + return self.update_project2_with_http_info(org, id, body, **kwargs) # noqa: E501 else: - (data) = self.update_execution_with_http_info(id_project, id_domain, id_name, body, **kwargs) # noqa: E501 + (data) = self.update_project2_with_http_info(org, id, body, **kwargs) # noqa: E501 return data - def update_execution_with_http_info(self, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 - """Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + def update_project2_with_http_info(self, org, id, body, **kwargs): # noqa: E501 + """Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_execution_with_http_info(id_project, id_domain, id_name, body, async_req=True) + >>> thread = api.update_project2_with_http_info(org, id, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User or system provided value for the resource. (required) - :param AdminExecutionUpdateRequest body: (required) - :return: AdminExecutionUpdateResponse + :param str org: Optional, org key applied to the resource. (required) + :param str id: Globally unique project name. (required) + :param AdminProject body: (required) + :return: AdminProjectUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 + all_params = ['org', 'id', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -6072,36 +11997,30 @@ def update_execution_with_http_info(self, id_project, id_domain, id_name, body, if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method update_execution" % key + " to method update_project2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `update_execution`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `update_execution`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `update_execution`") # noqa: E501 + # verify the required parameter 'org' is set + if ('org' not in params or + params['org'] is None): + raise ValueError("Missing the required parameter `org` when calling `update_project2`") # noqa: E501 + # verify the required parameter 'id' is set + if ('id' not in params or + params['id'] is None): + raise ValueError("Missing the required parameter `id` when calling `update_project2`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `update_execution`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_project2`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 + if 'org' in params: + path_params['org'] = params['org'] # noqa: E501 + if 'id' in params: + path_params['id'] = params['id'] # noqa: E501 query_params = [] @@ -6125,14 +12044,14 @@ def update_execution_with_http_info(self, id_project, id_domain, id_name, body, auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/executions/{id.project}/{id.domain}/{id.name}', 'PUT', + '/api/v1/projects/org/{org}/{id}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminExecutionUpdateResponse', # noqa: E501 + response_type='AdminProjectUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -6140,51 +12059,45 @@ def update_execution_with_http_info(self, id_project, id_domain, id_name, body, _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def update_launch_plan(self, id_project, id_domain, id_name, id_version, body, **kwargs): # noqa: E501 - """Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + def update_project_attributes(self, attributes_project, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_launch_plan(id_project, id_domain, id_name, id_version, body, async_req=True) + >>> thread = api.update_project_attributes(attributes_project, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :param AdminLaunchPlanUpdateRequest body: (required) - :return: AdminLaunchPlanUpdateResponse + :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) + :param AdminProjectAttributesUpdateRequest body: (required) + :return: AdminProjectAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.update_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, body, **kwargs) # noqa: E501 + return self.update_project_attributes_with_http_info(attributes_project, body, **kwargs) # noqa: E501 else: - (data) = self.update_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, body, **kwargs) # noqa: E501 + (data) = self.update_project_attributes_with_http_info(attributes_project, body, **kwargs) # noqa: E501 return data - def update_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_version, body, **kwargs): # noqa: E501 - """Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + def update_project_attributes_with_http_info(self, attributes_project, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_launch_plan_with_http_info(id_project, id_domain, id_name, id_version, body, async_req=True) - >>> result = thread.get() - - :param async_req bool - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. (required) - :param str id_version: Specific version of the resource. (required) - :param AdminLaunchPlanUpdateRequest body: (required) - :return: AdminLaunchPlanUpdateResponse + >>> thread = api.update_project_attributes_with_http_info(attributes_project, body, async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) + :param AdminProjectAttributesUpdateRequest body: (required) + :return: AdminProjectAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id_project', 'id_domain', 'id_name', 'id_version', 'body'] # noqa: E501 + all_params = ['attributes_project', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -6195,42 +12108,24 @@ def update_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_v if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method update_launch_plan" % key + " to method update_project_attributes" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `update_launch_plan`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `update_launch_plan`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `update_launch_plan`") # noqa: E501 - # verify the required parameter 'id_version' is set - if ('id_version' not in params or - params['id_version'] is None): - raise ValueError("Missing the required parameter `id_version` when calling `update_launch_plan`") # noqa: E501 + # verify the required parameter 'attributes_project' is set + if ('attributes_project' not in params or + params['attributes_project'] is None): + raise ValueError("Missing the required parameter `attributes_project` when calling `update_project_attributes`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `update_launch_plan`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_project_attributes`") # noqa: E501 collection_formats = {} path_params = {} - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 - if 'id_version' in params: - path_params['id.version'] = params['id_version'] # noqa: E501 + if 'attributes_project' in params: + path_params['attributes.project'] = params['attributes_project'] # noqa: E501 query_params = [] @@ -6254,14 +12149,14 @@ def update_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_v auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}', 'PUT', + '/api/v1/project_attributes/{attributes.project}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminLaunchPlanUpdateResponse', # noqa: E501 + response_type='AdminProjectAttributesUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -6269,51 +12164,47 @@ def update_launch_plan_with_http_info(self, id_project, id_domain, id_name, id_v _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def update_named_entity(self, resource_type, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 - """Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + def update_project_attributes2(self, attributes_org, attributes_project, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_named_entity(resource_type, id_project, id_domain, id_name, body, async_req=True) + >>> thread = api.update_project_attributes2(attributes_org, attributes_project, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Resource type of the metadata to update +required (required) - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :param AdminNamedEntityUpdateRequest body: (required) - :return: AdminNamedEntityUpdateResponse + :param str attributes_org: Optional, org key applied to the project. (required) + :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) + :param AdminProjectAttributesUpdateRequest body: (required) + :return: AdminProjectAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.update_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 + return self.update_project_attributes2_with_http_info(attributes_org, attributes_project, body, **kwargs) # noqa: E501 else: - (data) = self.update_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, body, **kwargs) # noqa: E501 + (data) = self.update_project_attributes2_with_http_info(attributes_org, attributes_project, body, **kwargs) # noqa: E501 return data - def update_named_entity_with_http_info(self, resource_type, id_project, id_domain, id_name, body, **kwargs): # noqa: E501 - """Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + def update_project_attributes2_with_http_info(self, attributes_org, attributes_project, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_named_entity_with_http_info(resource_type, id_project, id_domain, id_name, body, async_req=True) + >>> thread = api.update_project_attributes2_with_http_info(attributes_org, attributes_project, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str resource_type: Resource type of the metadata to update +required (required) - :param str id_project: Name of the project the resource belongs to. (required) - :param str id_domain: Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. (required) - :param str id_name: User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' (required) - :param AdminNamedEntityUpdateRequest body: (required) - :return: AdminNamedEntityUpdateResponse + :param str attributes_org: Optional, org key applied to the project. (required) + :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) + :param AdminProjectAttributesUpdateRequest body: (required) + :return: AdminProjectAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['resource_type', 'id_project', 'id_domain', 'id_name', 'body'] # noqa: E501 + all_params = ['attributes_org', 'attributes_project', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -6324,42 +12215,30 @@ def update_named_entity_with_http_info(self, resource_type, id_project, id_domai if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method update_named_entity" % key + " to method update_project_attributes2" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'resource_type' is set - if ('resource_type' not in params or - params['resource_type'] is None): - raise ValueError("Missing the required parameter `resource_type` when calling `update_named_entity`") # noqa: E501 - # verify the required parameter 'id_project' is set - if ('id_project' not in params or - params['id_project'] is None): - raise ValueError("Missing the required parameter `id_project` when calling `update_named_entity`") # noqa: E501 - # verify the required parameter 'id_domain' is set - if ('id_domain' not in params or - params['id_domain'] is None): - raise ValueError("Missing the required parameter `id_domain` when calling `update_named_entity`") # noqa: E501 - # verify the required parameter 'id_name' is set - if ('id_name' not in params or - params['id_name'] is None): - raise ValueError("Missing the required parameter `id_name` when calling `update_named_entity`") # noqa: E501 + # verify the required parameter 'attributes_org' is set + if ('attributes_org' not in params or + params['attributes_org'] is None): + raise ValueError("Missing the required parameter `attributes_org` when calling `update_project_attributes2`") # noqa: E501 + # verify the required parameter 'attributes_project' is set + if ('attributes_project' not in params or + params['attributes_project'] is None): + raise ValueError("Missing the required parameter `attributes_project` when calling `update_project_attributes2`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `update_named_entity`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_project_attributes2`") # noqa: E501 collection_formats = {} path_params = {} - if 'resource_type' in params: - path_params['resource_type'] = params['resource_type'] # noqa: E501 - if 'id_project' in params: - path_params['id.project'] = params['id_project'] # noqa: E501 - if 'id_domain' in params: - path_params['id.domain'] = params['id_domain'] # noqa: E501 - if 'id_name' in params: - path_params['id.name'] = params['id_name'] # noqa: E501 + if 'attributes_org' in params: + path_params['attributes.org'] = params['attributes_org'] # noqa: E501 + if 'attributes_project' in params: + path_params['attributes.project'] = params['attributes_project'] # noqa: E501 query_params = [] @@ -6383,14 +12262,14 @@ def update_named_entity_with_http_info(self, resource_type, id_project, id_domai auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}', 'PUT', + '/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminNamedEntityUpdateResponse', # noqa: E501 + response_type='AdminProjectAttributesUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -6398,45 +12277,47 @@ def update_named_entity_with_http_info(self, resource_type, id_project, id_domai _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def update_project(self, id, body, **kwargs): # noqa: E501 - """Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 + def update_project_domain_attributes(self, attributes_project, attributes_domain, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_project(id, body, async_req=True) + >>> thread = api.update_project_domain_attributes(attributes_project, attributes_domain, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id: Globally unique project name. (required) - :param AdminProject body: (required) - :return: AdminProjectUpdateResponse + :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) + :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) + :param AdminProjectDomainAttributesUpdateRequest body: (required) + :return: AdminProjectDomainAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.update_project_with_http_info(id, body, **kwargs) # noqa: E501 + return self.update_project_domain_attributes_with_http_info(attributes_project, attributes_domain, body, **kwargs) # noqa: E501 else: - (data) = self.update_project_with_http_info(id, body, **kwargs) # noqa: E501 + (data) = self.update_project_domain_attributes_with_http_info(attributes_project, attributes_domain, body, **kwargs) # noqa: E501 return data - def update_project_with_http_info(self, id, body, **kwargs): # noqa: E501 - """Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 + def update_project_domain_attributes_with_http_info(self, attributes_project, attributes_domain, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_project_with_http_info(id, body, async_req=True) + >>> thread = api.update_project_domain_attributes_with_http_info(attributes_project, attributes_domain, body, async_req=True) >>> result = thread.get() :param async_req bool - :param str id: Globally unique project name. (required) - :param AdminProject body: (required) - :return: AdminProjectUpdateResponse + :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) + :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) + :param AdminProjectDomainAttributesUpdateRequest body: (required) + :return: AdminProjectDomainAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['id', 'body'] # noqa: E501 + all_params = ['attributes_project', 'attributes_domain', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -6447,24 +12328,30 @@ def update_project_with_http_info(self, id, body, **kwargs): # noqa: E501 if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method update_project" % key + " to method update_project_domain_attributes" % key ) params[key] = val del params['kwargs'] - # verify the required parameter 'id' is set - if ('id' not in params or - params['id'] is None): - raise ValueError("Missing the required parameter `id` when calling `update_project`") # noqa: E501 + # verify the required parameter 'attributes_project' is set + if ('attributes_project' not in params or + params['attributes_project'] is None): + raise ValueError("Missing the required parameter `attributes_project` when calling `update_project_domain_attributes`") # noqa: E501 + # verify the required parameter 'attributes_domain' is set + if ('attributes_domain' not in params or + params['attributes_domain'] is None): + raise ValueError("Missing the required parameter `attributes_domain` when calling `update_project_domain_attributes`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `update_project`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_project_domain_attributes`") # noqa: E501 collection_formats = {} path_params = {} - if 'id' in params: - path_params['id'] = params['id'] # noqa: E501 + if 'attributes_project' in params: + path_params['attributes.project'] = params['attributes_project'] # noqa: E501 + if 'attributes_domain' in params: + path_params['attributes.domain'] = params['attributes_domain'] # noqa: E501 query_params = [] @@ -6488,14 +12375,14 @@ def update_project_with_http_info(self, id, body, **kwargs): # noqa: E501 auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/projects/{id}', 'PUT', + '/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjectUpdateResponse', # noqa: E501 + response_type='AdminProjectDomainAttributesUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -6503,45 +12390,49 @@ def update_project_with_http_info(self, id, body, **kwargs): # noqa: E501 _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def update_project_attributes(self, attributes_project, body, **kwargs): # noqa: E501 - """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level # noqa: E501 + def update_project_domain_attributes2(self, attributes_org, attributes_project, attributes_domain, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_project_attributes(attributes_project, body, async_req=True) + >>> thread = api.update_project_domain_attributes2(attributes_org, attributes_project, attributes_domain, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str attributes_org: Optional, org key applied to the attributes. (required) :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) - :param AdminProjectAttributesUpdateRequest body: (required) - :return: AdminProjectAttributesUpdateResponse + :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) + :param AdminProjectDomainAttributesUpdateRequest body: (required) + :return: AdminProjectDomainAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.update_project_attributes_with_http_info(attributes_project, body, **kwargs) # noqa: E501 + return self.update_project_domain_attributes2_with_http_info(attributes_org, attributes_project, attributes_domain, body, **kwargs) # noqa: E501 else: - (data) = self.update_project_attributes_with_http_info(attributes_project, body, **kwargs) # noqa: E501 + (data) = self.update_project_domain_attributes2_with_http_info(attributes_org, attributes_project, attributes_domain, body, **kwargs) # noqa: E501 return data - def update_project_attributes_with_http_info(self, attributes_project, body, **kwargs): # noqa: E501 - """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level # noqa: E501 + def update_project_domain_attributes2_with_http_info(self, attributes_org, attributes_project, attributes_domain, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_project_attributes_with_http_info(attributes_project, body, async_req=True) + >>> thread = api.update_project_domain_attributes2_with_http_info(attributes_org, attributes_project, attributes_domain, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str attributes_org: Optional, org key applied to the attributes. (required) :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) - :param AdminProjectAttributesUpdateRequest body: (required) - :return: AdminProjectAttributesUpdateResponse + :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) + :param AdminProjectDomainAttributesUpdateRequest body: (required) + :return: AdminProjectDomainAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['attributes_project', 'body'] # noqa: E501 + all_params = ['attributes_org', 'attributes_project', 'attributes_domain', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -6552,24 +12443,36 @@ def update_project_attributes_with_http_info(self, attributes_project, body, **k if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method update_project_attributes" % key + " to method update_project_domain_attributes2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'attributes_org' is set + if ('attributes_org' not in params or + params['attributes_org'] is None): + raise ValueError("Missing the required parameter `attributes_org` when calling `update_project_domain_attributes2`") # noqa: E501 # verify the required parameter 'attributes_project' is set if ('attributes_project' not in params or params['attributes_project'] is None): - raise ValueError("Missing the required parameter `attributes_project` when calling `update_project_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `attributes_project` when calling `update_project_domain_attributes2`") # noqa: E501 + # verify the required parameter 'attributes_domain' is set + if ('attributes_domain' not in params or + params['attributes_domain'] is None): + raise ValueError("Missing the required parameter `attributes_domain` when calling `update_project_domain_attributes2`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `update_project_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_project_domain_attributes2`") # noqa: E501 collection_formats = {} path_params = {} + if 'attributes_org' in params: + path_params['attributes.org'] = params['attributes_org'] # noqa: E501 if 'attributes_project' in params: path_params['attributes.project'] = params['attributes_project'] # noqa: E501 + if 'attributes_domain' in params: + path_params['attributes.domain'] = params['attributes_domain'] # noqa: E501 query_params = [] @@ -6593,14 +12496,14 @@ def update_project_attributes_with_http_info(self, attributes_project, body, **k auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/project_attributes/{attributes.project}', 'PUT', + '/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjectAttributesUpdateResponse', # noqa: E501 + response_type='AdminProjectDomainAttributesUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -6608,47 +12511,49 @@ def update_project_attributes_with_http_info(self, attributes_project, body, **k _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def update_project_domain_attributes(self, attributes_project, attributes_domain, body, **kwargs): # noqa: E501 - """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + def update_workflow_attributes(self, attributes_project, attributes_domain, attributes_workflow, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_project_domain_attributes(attributes_project, attributes_domain, body, async_req=True) + >>> thread = api.update_workflow_attributes(attributes_project, attributes_domain, attributes_workflow, body, async_req=True) >>> result = thread.get() :param async_req bool :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) - :param AdminProjectDomainAttributesUpdateRequest body: (required) - :return: AdminProjectDomainAttributesUpdateResponse + :param str attributes_workflow: Workflow name for which this set of attributes will be applied. (required) + :param AdminWorkflowAttributesUpdateRequest body: (required) + :return: AdminWorkflowAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.update_project_domain_attributes_with_http_info(attributes_project, attributes_domain, body, **kwargs) # noqa: E501 + return self.update_workflow_attributes_with_http_info(attributes_project, attributes_domain, attributes_workflow, body, **kwargs) # noqa: E501 else: - (data) = self.update_project_domain_attributes_with_http_info(attributes_project, attributes_domain, body, **kwargs) # noqa: E501 + (data) = self.update_workflow_attributes_with_http_info(attributes_project, attributes_domain, attributes_workflow, body, **kwargs) # noqa: E501 return data - def update_project_domain_attributes_with_http_info(self, attributes_project, attributes_domain, body, **kwargs): # noqa: E501 - """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + def update_workflow_attributes_with_http_info(self, attributes_project, attributes_domain, attributes_workflow, body, **kwargs): # noqa: E501 + """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_project_domain_attributes_with_http_info(attributes_project, attributes_domain, body, async_req=True) + >>> thread = api.update_workflow_attributes_with_http_info(attributes_project, attributes_domain, attributes_workflow, body, async_req=True) >>> result = thread.get() :param async_req bool :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) - :param AdminProjectDomainAttributesUpdateRequest body: (required) - :return: AdminProjectDomainAttributesUpdateResponse + :param str attributes_workflow: Workflow name for which this set of attributes will be applied. (required) + :param AdminWorkflowAttributesUpdateRequest body: (required) + :return: AdminWorkflowAttributesUpdateResponse If the method is called asynchronously, returns the request thread. """ - all_params = ['attributes_project', 'attributes_domain', 'body'] # noqa: E501 + all_params = ['attributes_project', 'attributes_domain', 'attributes_workflow', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -6659,22 +12564,26 @@ def update_project_domain_attributes_with_http_info(self, attributes_project, at if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method update_project_domain_attributes" % key + " to method update_workflow_attributes" % key ) params[key] = val del params['kwargs'] # verify the required parameter 'attributes_project' is set if ('attributes_project' not in params or params['attributes_project'] is None): - raise ValueError("Missing the required parameter `attributes_project` when calling `update_project_domain_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `attributes_project` when calling `update_workflow_attributes`") # noqa: E501 # verify the required parameter 'attributes_domain' is set if ('attributes_domain' not in params or params['attributes_domain'] is None): - raise ValueError("Missing the required parameter `attributes_domain` when calling `update_project_domain_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `attributes_domain` when calling `update_workflow_attributes`") # noqa: E501 + # verify the required parameter 'attributes_workflow' is set + if ('attributes_workflow' not in params or + params['attributes_workflow'] is None): + raise ValueError("Missing the required parameter `attributes_workflow` when calling `update_workflow_attributes`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `update_project_domain_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_workflow_attributes`") # noqa: E501 collection_formats = {} @@ -6683,6 +12592,8 @@ def update_project_domain_attributes_with_http_info(self, attributes_project, at path_params['attributes.project'] = params['attributes_project'] # noqa: E501 if 'attributes_domain' in params: path_params['attributes.domain'] = params['attributes_domain'] # noqa: E501 + if 'attributes_workflow' in params: + path_params['attributes.workflow'] = params['attributes_workflow'] # noqa: E501 query_params = [] @@ -6706,14 +12617,14 @@ def update_project_domain_attributes_with_http_info(self, attributes_project, at auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}', 'PUT', + '/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}', 'PUT', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, - response_type='AdminProjectDomainAttributesUpdateResponse', # noqa: E501 + response_type='AdminWorkflowAttributesUpdateResponse', # noqa: E501 auth_settings=auth_settings, async_req=params.get('async_req'), _return_http_data_only=params.get('_return_http_data_only'), @@ -6721,15 +12632,16 @@ def update_project_domain_attributes_with_http_info(self, attributes_project, at _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def update_workflow_attributes(self, attributes_project, attributes_domain, attributes_workflow, body, **kwargs): # noqa: E501 + def update_workflow_attributes2(self, attributes_org, attributes_project, attributes_domain, attributes_workflow, body, **kwargs): # noqa: E501 """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_workflow_attributes(attributes_project, attributes_domain, attributes_workflow, body, async_req=True) + >>> thread = api.update_workflow_attributes2(attributes_org, attributes_project, attributes_domain, attributes_workflow, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str attributes_org: Optional, org key applied to the attributes. (required) :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) :param str attributes_workflow: Workflow name for which this set of attributes will be applied. (required) @@ -6740,20 +12652,21 @@ def update_workflow_attributes(self, attributes_project, attributes_domain, attr """ kwargs['_return_http_data_only'] = True if kwargs.get('async_req'): - return self.update_workflow_attributes_with_http_info(attributes_project, attributes_domain, attributes_workflow, body, **kwargs) # noqa: E501 + return self.update_workflow_attributes2_with_http_info(attributes_org, attributes_project, attributes_domain, attributes_workflow, body, **kwargs) # noqa: E501 else: - (data) = self.update_workflow_attributes_with_http_info(attributes_project, attributes_domain, attributes_workflow, body, **kwargs) # noqa: E501 + (data) = self.update_workflow_attributes2_with_http_info(attributes_org, attributes_project, attributes_domain, attributes_workflow, body, **kwargs) # noqa: E501 return data - def update_workflow_attributes_with_http_info(self, attributes_project, attributes_domain, attributes_workflow, body, **kwargs): # noqa: E501 + def update_workflow_attributes2_with_http_info(self, attributes_org, attributes_project, attributes_domain, attributes_workflow, body, **kwargs): # noqa: E501 """Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True - >>> thread = api.update_workflow_attributes_with_http_info(attributes_project, attributes_domain, attributes_workflow, body, async_req=True) + >>> thread = api.update_workflow_attributes2_with_http_info(attributes_org, attributes_project, attributes_domain, attributes_workflow, body, async_req=True) >>> result = thread.get() :param async_req bool + :param str attributes_org: Optional, org key applied to the attributes. (required) :param str attributes_project: Unique project id for which this set of attributes will be applied. (required) :param str attributes_domain: Unique domain id for which this set of attributes will be applied. (required) :param str attributes_workflow: Workflow name for which this set of attributes will be applied. (required) @@ -6763,7 +12676,7 @@ def update_workflow_attributes_with_http_info(self, attributes_project, attribut returns the request thread. """ - all_params = ['attributes_project', 'attributes_domain', 'attributes_workflow', 'body'] # noqa: E501 + all_params = ['attributes_org', 'attributes_project', 'attributes_domain', 'attributes_workflow', 'body'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -6774,30 +12687,36 @@ def update_workflow_attributes_with_http_info(self, attributes_project, attribut if key not in all_params: raise TypeError( "Got an unexpected keyword argument '%s'" - " to method update_workflow_attributes" % key + " to method update_workflow_attributes2" % key ) params[key] = val del params['kwargs'] + # verify the required parameter 'attributes_org' is set + if ('attributes_org' not in params or + params['attributes_org'] is None): + raise ValueError("Missing the required parameter `attributes_org` when calling `update_workflow_attributes2`") # noqa: E501 # verify the required parameter 'attributes_project' is set if ('attributes_project' not in params or params['attributes_project'] is None): - raise ValueError("Missing the required parameter `attributes_project` when calling `update_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `attributes_project` when calling `update_workflow_attributes2`") # noqa: E501 # verify the required parameter 'attributes_domain' is set if ('attributes_domain' not in params or params['attributes_domain'] is None): - raise ValueError("Missing the required parameter `attributes_domain` when calling `update_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `attributes_domain` when calling `update_workflow_attributes2`") # noqa: E501 # verify the required parameter 'attributes_workflow' is set if ('attributes_workflow' not in params or params['attributes_workflow'] is None): - raise ValueError("Missing the required parameter `attributes_workflow` when calling `update_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `attributes_workflow` when calling `update_workflow_attributes2`") # noqa: E501 # verify the required parameter 'body' is set if ('body' not in params or params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `update_workflow_attributes`") # noqa: E501 + raise ValueError("Missing the required parameter `body` when calling `update_workflow_attributes2`") # noqa: E501 collection_formats = {} path_params = {} + if 'attributes_org' in params: + path_params['attributes.org'] = params['attributes_org'] # noqa: E501 if 'attributes_project' in params: path_params['attributes.project'] = params['attributes_project'] # noqa: E501 if 'attributes_domain' in params: @@ -6827,7 +12746,7 @@ def update_workflow_attributes_with_http_info(self, attributes_project, attribut auth_settings = [] # noqa: E501 return self.api_client.call_api( - '/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}', 'PUT', + '/api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow}', 'PUT', path_params, query_params, header_params, diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py index 4c17d006e3..6b3a9f07b8 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_create_request.py @@ -40,6 +40,7 @@ class AdminExecutionCreateRequest(object): 'name': 'str', 'spec': 'AdminExecutionSpec', 'inputs': 'CoreLiteralMap', + 'org': 'str', 'input_data': 'CoreInputData' } @@ -49,10 +50,11 @@ class AdminExecutionCreateRequest(object): 'name': 'name', 'spec': 'spec', 'inputs': 'inputs', + 'org': 'org', 'input_data': 'input_data' } - def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None, input_data=None): # noqa: E501 + def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None, org=None, input_data=None): # noqa: E501 """AdminExecutionCreateRequest - a model defined in Swagger""" # noqa: E501 self._project = None @@ -60,6 +62,7 @@ def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None, self._name = None self._spec = None self._inputs = None + self._org = None self._input_data = None self.discriminator = None @@ -73,6 +76,8 @@ def __init__(self, project=None, domain=None, name=None, spec=None, inputs=None, self.spec = spec if inputs is not None: self.inputs = inputs + if org is not None: + self.org = org if input_data is not None: self.input_data = input_data @@ -183,6 +188,29 @@ def inputs(self, inputs): self._inputs = inputs + @property + def org(self): + """Gets the org of this AdminExecutionCreateRequest. # noqa: E501 + + Optional, org key applied to the resource. # noqa: E501 + + :return: The org of this AdminExecutionCreateRequest. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminExecutionCreateRequest. + + Optional, org key applied to the resource. # noqa: E501 + + :param org: The org of this AdminExecutionCreateRequest. # noqa: E501 + :type: str + """ + + self._org = org + @property def input_data(self): """Gets the input_data of this AdminExecutionCreateRequest. # noqa: E501 diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_matchable_attributes_configuration.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_matchable_attributes_configuration.py index a9be455f25..58e05cbdb4 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_matchable_attributes_configuration.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_matchable_attributes_configuration.py @@ -37,7 +37,8 @@ class AdminMatchableAttributesConfiguration(object): 'domain': 'str', 'project': 'str', 'workflow': 'str', - 'launch_plan': 'str' + 'launch_plan': 'str', + 'org': 'str' } attribute_map = { @@ -45,10 +46,11 @@ class AdminMatchableAttributesConfiguration(object): 'domain': 'domain', 'project': 'project', 'workflow': 'workflow', - 'launch_plan': 'launch_plan' + 'launch_plan': 'launch_plan', + 'org': 'org' } - def __init__(self, attributes=None, domain=None, project=None, workflow=None, launch_plan=None): # noqa: E501 + def __init__(self, attributes=None, domain=None, project=None, workflow=None, launch_plan=None, org=None): # noqa: E501 """AdminMatchableAttributesConfiguration - a model defined in Swagger""" # noqa: E501 self._attributes = None @@ -56,6 +58,7 @@ def __init__(self, attributes=None, domain=None, project=None, workflow=None, la self._project = None self._workflow = None self._launch_plan = None + self._org = None self.discriminator = None if attributes is not None: @@ -68,6 +71,8 @@ def __init__(self, attributes=None, domain=None, project=None, workflow=None, la self.workflow = workflow if launch_plan is not None: self.launch_plan = launch_plan + if org is not None: + self.org = org @property def attributes(self): @@ -174,6 +179,29 @@ def launch_plan(self, launch_plan): self._launch_plan = launch_plan + @property + def org(self): + """Gets the org of this AdminMatchableAttributesConfiguration. # noqa: E501 + + Optional, org key applied to the resource. # noqa: E501 + + :return: The org of this AdminMatchableAttributesConfiguration. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminMatchableAttributesConfiguration. + + Optional, org key applied to the resource. # noqa: E501 + + :param org: The org of this AdminMatchableAttributesConfiguration. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_named_entity_identifier.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_named_entity_identifier.py index 8a06241403..a38944ceec 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_named_entity_identifier.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_named_entity_identifier.py @@ -33,21 +33,24 @@ class AdminNamedEntityIdentifier(object): swagger_types = { 'project': 'str', 'domain': 'str', - 'name': 'str' + 'name': 'str', + 'org': 'str' } attribute_map = { 'project': 'project', 'domain': 'domain', - 'name': 'name' + 'name': 'name', + 'org': 'org' } - def __init__(self, project=None, domain=None, name=None): # noqa: E501 + def __init__(self, project=None, domain=None, name=None, org=None): # noqa: E501 """AdminNamedEntityIdentifier - a model defined in Swagger""" # noqa: E501 self._project = None self._domain = None self._name = None + self._org = None self.discriminator = None if project is not None: @@ -56,6 +59,8 @@ def __init__(self, project=None, domain=None, name=None): # noqa: E501 self.domain = domain if name is not None: self.name = name + if org is not None: + self.org = org @property def project(self): @@ -124,6 +129,29 @@ def name(self, name): self._name = name + @property + def org(self): + """Gets the org of this AdminNamedEntityIdentifier. # noqa: E501 + + Optional, org key applied to the resource. # noqa: E501 + + :return: The org of this AdminNamedEntityIdentifier. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminNamedEntityIdentifier. + + Optional, org key applied to the resource. # noqa: E501 + + :param org: The org of this AdminNamedEntityIdentifier. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project.py index 1d64553b8f..7e62124a77 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project.py @@ -40,7 +40,8 @@ class AdminProject(object): 'domains': 'list[AdminDomain]', 'description': 'str', 'labels': 'AdminLabels', - 'state': 'ProjectProjectState' + 'state': 'ProjectProjectState', + 'org': 'str' } attribute_map = { @@ -49,10 +50,11 @@ class AdminProject(object): 'domains': 'domains', 'description': 'description', 'labels': 'labels', - 'state': 'state' + 'state': 'state', + 'org': 'org' } - def __init__(self, id=None, name=None, domains=None, description=None, labels=None, state=None): # noqa: E501 + def __init__(self, id=None, name=None, domains=None, description=None, labels=None, state=None, org=None): # noqa: E501 """AdminProject - a model defined in Swagger""" # noqa: E501 self._id = None @@ -61,6 +63,7 @@ def __init__(self, id=None, name=None, domains=None, description=None, labels=No self._description = None self._labels = None self._state = None + self._org = None self.discriminator = None if id is not None: @@ -75,6 +78,8 @@ def __init__(self, id=None, name=None, domains=None, description=None, labels=No self.labels = labels if state is not None: self.state = state + if org is not None: + self.org = org @property def id(self): @@ -208,6 +213,29 @@ def state(self, state): self._state = state + @property + def org(self): + """Gets the org of this AdminProject. # noqa: E501 + + Optional, org key applied to the resource. # noqa: E501 + + :return: The org of this AdminProject. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminProject. + + Optional, org key applied to the resource. # noqa: E501 + + :param org: The org of this AdminProject. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes.py index a892f96441..c0c913f4fd 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes.py @@ -34,25 +34,30 @@ class AdminProjectAttributes(object): """ swagger_types = { 'project': 'str', - 'matching_attributes': 'AdminMatchingAttributes' + 'matching_attributes': 'AdminMatchingAttributes', + 'org': 'str' } attribute_map = { 'project': 'project', - 'matching_attributes': 'matching_attributes' + 'matching_attributes': 'matching_attributes', + 'org': 'org' } - def __init__(self, project=None, matching_attributes=None): # noqa: E501 + def __init__(self, project=None, matching_attributes=None, org=None): # noqa: E501 """AdminProjectAttributes - a model defined in Swagger""" # noqa: E501 self._project = None self._matching_attributes = None + self._org = None self.discriminator = None if project is not None: self.project = project if matching_attributes is not None: self.matching_attributes = matching_attributes + if org is not None: + self.org = org @property def project(self): @@ -98,6 +103,29 @@ def matching_attributes(self, matching_attributes): self._matching_attributes = matching_attributes + @property + def org(self): + """Gets the org of this AdminProjectAttributes. # noqa: E501 + + Optional, org key applied to the project. # noqa: E501 + + :return: The org of this AdminProjectAttributes. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminProjectAttributes. + + Optional, org key applied to the project. # noqa: E501 + + :param org: The org of this AdminProjectAttributes. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes_delete_request.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes_delete_request.py index 5b41e2c590..439707074f 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes_delete_request.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_attributes_delete_request.py @@ -34,25 +34,30 @@ class AdminProjectAttributesDeleteRequest(object): """ swagger_types = { 'project': 'str', - 'resource_type': 'AdminMatchableResource' + 'resource_type': 'AdminMatchableResource', + 'org': 'str' } attribute_map = { 'project': 'project', - 'resource_type': 'resource_type' + 'resource_type': 'resource_type', + 'org': 'org' } - def __init__(self, project=None, resource_type=None): # noqa: E501 + def __init__(self, project=None, resource_type=None, org=None): # noqa: E501 """AdminProjectAttributesDeleteRequest - a model defined in Swagger""" # noqa: E501 self._project = None self._resource_type = None + self._org = None self.discriminator = None if project is not None: self.project = project if resource_type is not None: self.resource_type = resource_type + if org is not None: + self.org = org @property def project(self): @@ -96,6 +101,29 @@ def resource_type(self, resource_type): self._resource_type = resource_type + @property + def org(self): + """Gets the org of this AdminProjectAttributesDeleteRequest. # noqa: E501 + + Optional, org key applied to the project. # noqa: E501 + + :return: The org of this AdminProjectAttributesDeleteRequest. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminProjectAttributesDeleteRequest. + + Optional, org key applied to the project. # noqa: E501 + + :param org: The org of this AdminProjectAttributesDeleteRequest. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes.py index 0c7d6e4559..2a8abfe98e 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes.py @@ -35,21 +35,24 @@ class AdminProjectDomainAttributes(object): swagger_types = { 'project': 'str', 'domain': 'str', - 'matching_attributes': 'AdminMatchingAttributes' + 'matching_attributes': 'AdminMatchingAttributes', + 'org': 'str' } attribute_map = { 'project': 'project', 'domain': 'domain', - 'matching_attributes': 'matching_attributes' + 'matching_attributes': 'matching_attributes', + 'org': 'org' } - def __init__(self, project=None, domain=None, matching_attributes=None): # noqa: E501 + def __init__(self, project=None, domain=None, matching_attributes=None, org=None): # noqa: E501 """AdminProjectDomainAttributes - a model defined in Swagger""" # noqa: E501 self._project = None self._domain = None self._matching_attributes = None + self._org = None self.discriminator = None if project is not None: @@ -58,6 +61,8 @@ def __init__(self, project=None, domain=None, matching_attributes=None): # noqa self.domain = domain if matching_attributes is not None: self.matching_attributes = matching_attributes + if org is not None: + self.org = org @property def project(self): @@ -126,6 +131,29 @@ def matching_attributes(self, matching_attributes): self._matching_attributes = matching_attributes + @property + def org(self): + """Gets the org of this AdminProjectDomainAttributes. # noqa: E501 + + Optional, org key applied to the attributes. # noqa: E501 + + :return: The org of this AdminProjectDomainAttributes. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminProjectDomainAttributes. + + Optional, org key applied to the attributes. # noqa: E501 + + :param org: The org of this AdminProjectDomainAttributes. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes_delete_request.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes_delete_request.py index aef8bfa14f..bafad3aa40 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes_delete_request.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_project_domain_attributes_delete_request.py @@ -35,21 +35,24 @@ class AdminProjectDomainAttributesDeleteRequest(object): swagger_types = { 'project': 'str', 'domain': 'str', - 'resource_type': 'AdminMatchableResource' + 'resource_type': 'AdminMatchableResource', + 'org': 'str' } attribute_map = { 'project': 'project', 'domain': 'domain', - 'resource_type': 'resource_type' + 'resource_type': 'resource_type', + 'org': 'org' } - def __init__(self, project=None, domain=None, resource_type=None): # noqa: E501 + def __init__(self, project=None, domain=None, resource_type=None, org=None): # noqa: E501 """AdminProjectDomainAttributesDeleteRequest - a model defined in Swagger""" # noqa: E501 self._project = None self._domain = None self._resource_type = None + self._org = None self.discriminator = None if project is not None: @@ -58,6 +61,8 @@ def __init__(self, project=None, domain=None, resource_type=None): # noqa: E501 self.domain = domain if resource_type is not None: self.resource_type = resource_type + if org is not None: + self.org = org @property def project(self): @@ -122,6 +127,29 @@ def resource_type(self, resource_type): self._resource_type = resource_type + @property + def org(self): + """Gets the org of this AdminProjectDomainAttributesDeleteRequest. # noqa: E501 + + Optional, org key applied to the attributes. # noqa: E501 + + :return: The org of this AdminProjectDomainAttributesDeleteRequest. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminProjectDomainAttributesDeleteRequest. + + Optional, org key applied to the attributes. # noqa: E501 + + :param org: The org of this AdminProjectDomainAttributesDeleteRequest. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes.py index e5dc389073..4add43a463 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes.py @@ -36,23 +36,26 @@ class AdminWorkflowAttributes(object): 'project': 'str', 'domain': 'str', 'workflow': 'str', - 'matching_attributes': 'AdminMatchingAttributes' + 'matching_attributes': 'AdminMatchingAttributes', + 'org': 'str' } attribute_map = { 'project': 'project', 'domain': 'domain', 'workflow': 'workflow', - 'matching_attributes': 'matching_attributes' + 'matching_attributes': 'matching_attributes', + 'org': 'org' } - def __init__(self, project=None, domain=None, workflow=None, matching_attributes=None): # noqa: E501 + def __init__(self, project=None, domain=None, workflow=None, matching_attributes=None, org=None): # noqa: E501 """AdminWorkflowAttributes - a model defined in Swagger""" # noqa: E501 self._project = None self._domain = None self._workflow = None self._matching_attributes = None + self._org = None self.discriminator = None if project is not None: @@ -63,6 +66,8 @@ def __init__(self, project=None, domain=None, workflow=None, matching_attributes self.workflow = workflow if matching_attributes is not None: self.matching_attributes = matching_attributes + if org is not None: + self.org = org @property def project(self): @@ -154,6 +159,29 @@ def matching_attributes(self, matching_attributes): self._matching_attributes = matching_attributes + @property + def org(self): + """Gets the org of this AdminWorkflowAttributes. # noqa: E501 + + Optional, org key applied to the attributes. # noqa: E501 + + :return: The org of this AdminWorkflowAttributes. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminWorkflowAttributes. + + Optional, org key applied to the attributes. # noqa: E501 + + :param org: The org of this AdminWorkflowAttributes. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes_delete_request.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes_delete_request.py index 348cd98213..445583cf96 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes_delete_request.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_workflow_attributes_delete_request.py @@ -36,23 +36,26 @@ class AdminWorkflowAttributesDeleteRequest(object): 'project': 'str', 'domain': 'str', 'workflow': 'str', - 'resource_type': 'AdminMatchableResource' + 'resource_type': 'AdminMatchableResource', + 'org': 'str' } attribute_map = { 'project': 'project', 'domain': 'domain', 'workflow': 'workflow', - 'resource_type': 'resource_type' + 'resource_type': 'resource_type', + 'org': 'org' } - def __init__(self, project=None, domain=None, workflow=None, resource_type=None): # noqa: E501 + def __init__(self, project=None, domain=None, workflow=None, resource_type=None, org=None): # noqa: E501 """AdminWorkflowAttributesDeleteRequest - a model defined in Swagger""" # noqa: E501 self._project = None self._domain = None self._workflow = None self._resource_type = None + self._org = None self.discriminator = None if project is not None: @@ -63,6 +66,8 @@ def __init__(self, project=None, domain=None, workflow=None, resource_type=None) self.workflow = workflow if resource_type is not None: self.resource_type = resource_type + if org is not None: + self.org = org @property def project(self): @@ -148,6 +153,29 @@ def resource_type(self, resource_type): self._resource_type = resource_type + @property + def org(self): + """Gets the org of this AdminWorkflowAttributesDeleteRequest. # noqa: E501 + + Optional, org key applied to the attributes. # noqa: E501 + + :return: The org of this AdminWorkflowAttributesDeleteRequest. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this AdminWorkflowAttributesDeleteRequest. + + Optional, org key applied to the attributes. # noqa: E501 + + :param org: The org of this AdminWorkflowAttributesDeleteRequest. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_identifier.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_identifier.py index ae03fc69e6..1770753b3e 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_identifier.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_identifier.py @@ -37,7 +37,8 @@ class CoreIdentifier(object): 'project': 'str', 'domain': 'str', 'name': 'str', - 'version': 'str' + 'version': 'str', + 'org': 'str' } attribute_map = { @@ -45,10 +46,11 @@ class CoreIdentifier(object): 'project': 'project', 'domain': 'domain', 'name': 'name', - 'version': 'version' + 'version': 'version', + 'org': 'org' } - def __init__(self, resource_type=None, project=None, domain=None, name=None, version=None): # noqa: E501 + def __init__(self, resource_type=None, project=None, domain=None, name=None, version=None, org=None): # noqa: E501 """CoreIdentifier - a model defined in Swagger""" # noqa: E501 self._resource_type = None @@ -56,6 +58,7 @@ def __init__(self, resource_type=None, project=None, domain=None, name=None, ver self._domain = None self._name = None self._version = None + self._org = None self.discriminator = None if resource_type is not None: @@ -68,6 +71,8 @@ def __init__(self, resource_type=None, project=None, domain=None, name=None, ver self.name = name if version is not None: self.version = version + if org is not None: + self.org = org @property def resource_type(self): @@ -184,6 +189,29 @@ def version(self, version): self._version = version + @property + def org(self): + """Gets the org of this CoreIdentifier. # noqa: E501 + + Optional, org key applied to the resource. # noqa: E501 + + :return: The org of this CoreIdentifier. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this CoreIdentifier. + + Optional, org key applied to the resource. # noqa: E501 + + :param org: The org of this CoreIdentifier. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_workflow_execution_identifier.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_workflow_execution_identifier.py index 09bd015a36..aad31c1687 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_workflow_execution_identifier.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/core_workflow_execution_identifier.py @@ -33,21 +33,24 @@ class CoreWorkflowExecutionIdentifier(object): swagger_types = { 'project': 'str', 'domain': 'str', - 'name': 'str' + 'name': 'str', + 'org': 'str' } attribute_map = { 'project': 'project', 'domain': 'domain', - 'name': 'name' + 'name': 'name', + 'org': 'org' } - def __init__(self, project=None, domain=None, name=None): # noqa: E501 + def __init__(self, project=None, domain=None, name=None, org=None): # noqa: E501 """CoreWorkflowExecutionIdentifier - a model defined in Swagger""" # noqa: E501 self._project = None self._domain = None self._name = None + self._org = None self.discriminator = None if project is not None: @@ -56,6 +59,8 @@ def __init__(self, project=None, domain=None, name=None): # noqa: E501 self.domain = domain if name is not None: self.name = name + if org is not None: + self.org = org @property def project(self): @@ -126,6 +131,29 @@ def name(self, name): self._name = name + @property + def org(self): + """Gets the org of this CoreWorkflowExecutionIdentifier. # noqa: E501 + + Optional, org key applied to the resource. # noqa: E501 + + :return: The org of this CoreWorkflowExecutionIdentifier. # noqa: E501 + :rtype: str + """ + return self._org + + @org.setter + def org(self, org): + """Sets the org of this CoreWorkflowExecutionIdentifier. + + Optional, org key applied to the resource. # noqa: E501 + + :param org: The org of this CoreWorkflowExecutionIdentifier. # noqa: E501 + :type: str + """ + + self._org = org + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py index 680b2cd5f5..21e5e86a25 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py @@ -85,6 +85,13 @@ def test_delete_project_attributes(self): """ pass + def test_delete_project_attributes2(self): + """Test case for delete_project_attributes2 + + Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + """ + pass + def test_delete_project_domain_attributes(self): """Test case for delete_project_domain_attributes @@ -92,6 +99,13 @@ def test_delete_project_domain_attributes(self): """ pass + def test_delete_project_domain_attributes2(self): + """Test case for delete_project_domain_attributes2 + + Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + """ + pass + def test_delete_workflow_attributes(self): """Test case for delete_workflow_attributes @@ -99,6 +113,13 @@ def test_delete_workflow_attributes(self): """ pass + def test_delete_workflow_attributes2(self): + """Test case for delete_workflow_attributes2 + + Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + """ + pass + def test_get_active_launch_plan(self): """Test case for get_active_launch_plan @@ -106,6 +127,13 @@ def test_get_active_launch_plan(self): """ pass + def test_get_active_launch_plan2(self): + """Test case for get_active_launch_plan2 + + Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + """ + pass + def test_get_description_entity(self): """Test case for get_description_entity @@ -113,6 +141,13 @@ def test_get_description_entity(self): """ pass + def test_get_description_entity2(self): + """Test case for get_description_entity2 + + Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. # noqa: E501 + """ + pass + def test_get_execution(self): """Test case for get_execution @@ -120,6 +155,13 @@ def test_get_execution(self): """ pass + def test_get_execution2(self): + """Test case for get_execution2 + + Fetches a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + """ + pass + def test_get_execution_data(self): """Test case for get_execution_data @@ -127,6 +169,13 @@ def test_get_execution_data(self): """ pass + def test_get_execution_data2(self): + """Test case for get_execution_data2 + + Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + """ + pass + def test_get_execution_metrics(self): """Test case for get_execution_metrics @@ -134,6 +183,13 @@ def test_get_execution_metrics(self): """ pass + def test_get_execution_metrics2(self): + """Test case for get_execution_metrics2 + + Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + """ + pass + def test_get_launch_plan(self): """Test case for get_launch_plan @@ -141,6 +197,13 @@ def test_get_launch_plan(self): """ pass + def test_get_launch_plan2(self): + """Test case for get_launch_plan2 + + Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. # noqa: E501 + """ + pass + def test_get_named_entity(self): """Test case for get_named_entity @@ -148,6 +211,13 @@ def test_get_named_entity(self): """ pass + def test_get_named_entity2(self): + """Test case for get_named_entity2 + + Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + """ + pass + def test_get_node_execution(self): """Test case for get_node_execution @@ -155,6 +225,13 @@ def test_get_node_execution(self): """ pass + def test_get_node_execution2(self): + """Test case for get_node_execution2 + + Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + """ + pass + def test_get_node_execution_data(self): """Test case for get_node_execution_data @@ -162,6 +239,13 @@ def test_get_node_execution_data(self): """ pass + def test_get_node_execution_data2(self): + """Test case for get_node_execution_data2 + + Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + """ + pass + def test_get_project_attributes(self): """Test case for get_project_attributes @@ -169,6 +253,13 @@ def test_get_project_attributes(self): """ pass + def test_get_project_attributes2(self): + """Test case for get_project_attributes2 + + Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + """ + pass + def test_get_project_domain_attributes(self): """Test case for get_project_domain_attributes @@ -176,6 +267,13 @@ def test_get_project_domain_attributes(self): """ pass + def test_get_project_domain_attributes2(self): + """Test case for get_project_domain_attributes2 + + Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + """ + pass + def test_get_task(self): """Test case for get_task @@ -183,6 +281,13 @@ def test_get_task(self): """ pass + def test_get_task2(self): + """Test case for get_task2 + + Fetch a :ref:`ref_flyteidl.admin.Task` definition. # noqa: E501 + """ + pass + def test_get_task_execution(self): """Test case for get_task_execution @@ -190,6 +295,13 @@ def test_get_task_execution(self): """ pass + def test_get_task_execution2(self): + """Test case for get_task_execution2 + + Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + """ + pass + def test_get_task_execution_data(self): """Test case for get_task_execution_data @@ -197,6 +309,13 @@ def test_get_task_execution_data(self): """ pass + def test_get_task_execution_data2(self): + """Test case for get_task_execution_data2 + + Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + """ + pass + def test_get_version(self): """Test case for get_version @@ -210,6 +329,13 @@ def test_get_workflow(self): """ pass + def test_get_workflow2(self): + """Test case for get_workflow2 + + Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. # noqa: E501 + """ + pass + def test_get_workflow_attributes(self): """Test case for get_workflow_attributes @@ -217,6 +343,13 @@ def test_get_workflow_attributes(self): """ pass + def test_get_workflow_attributes2(self): + """Test case for get_workflow_attributes2 + + Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + """ + pass + def test_list_active_launch_plans(self): """Test case for list_active_launch_plans @@ -238,6 +371,20 @@ def test_list_description_entities2(self): """ pass + def test_list_description_entities3(self): + """Test case for list_description_entities3 + + Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + """ + pass + + def test_list_description_entities4(self): + """Test case for list_description_entities4 + + Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. # noqa: E501 + """ + pass + def test_list_executions(self): """Test case for list_executions @@ -245,6 +392,13 @@ def test_list_executions(self): """ pass + def test_list_executions2(self): + """Test case for list_executions2 + + Fetch a list of :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + """ + pass + def test_list_launch_plan_ids(self): """Test case for list_launch_plan_ids @@ -252,6 +406,13 @@ def test_list_launch_plan_ids(self): """ pass + def test_list_launch_plan_ids2(self): + """Test case for list_launch_plan_ids2 + + Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. # noqa: E501 + """ + pass + def test_list_launch_plans(self): """Test case for list_launch_plans @@ -266,6 +427,20 @@ def test_list_launch_plans2(self): """ pass + def test_list_launch_plans3(self): + """Test case for list_launch_plans3 + + Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + """ + pass + + def test_list_launch_plans4(self): + """Test case for list_launch_plans4 + + Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. # noqa: E501 + """ + pass + def test_list_matchable_attributes(self): """Test case for list_matchable_attributes @@ -280,6 +455,13 @@ def test_list_named_entities(self): """ pass + def test_list_named_entities2(self): + """Test case for list_named_entities2 + + Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. # noqa: E501 + """ + pass + def test_list_node_executions(self): """Test case for list_node_executions @@ -287,6 +469,13 @@ def test_list_node_executions(self): """ pass + def test_list_node_executions2(self): + """Test case for list_node_executions2 + + Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. # noqa: E501 + """ + pass + def test_list_node_executions_for_task(self): """Test case for list_node_executions_for_task @@ -294,6 +483,13 @@ def test_list_node_executions_for_task(self): """ pass + def test_list_node_executions_for_task2(self): + """Test case for list_node_executions_for_task2 + + Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + """ + pass + def test_list_projects(self): """Test case for list_projects @@ -308,6 +504,13 @@ def test_list_task_executions(self): """ pass + def test_list_task_executions2(self): + """Test case for list_task_executions2 + + Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. # noqa: E501 + """ + pass + def test_list_task_ids(self): """Test case for list_task_ids @@ -315,6 +518,13 @@ def test_list_task_ids(self): """ pass + def test_list_task_ids2(self): + """Test case for list_task_ids2 + + Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. # noqa: E501 + """ + pass + def test_list_tasks(self): """Test case for list_tasks @@ -329,6 +539,20 @@ def test_list_tasks2(self): """ pass + def test_list_tasks3(self): + """Test case for list_tasks3 + + Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 + """ + pass + + def test_list_tasks4(self): + """Test case for list_tasks4 + + Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. # noqa: E501 + """ + pass + def test_list_workflow_ids(self): """Test case for list_workflow_ids @@ -336,6 +560,13 @@ def test_list_workflow_ids(self): """ pass + def test_list_workflow_ids2(self): + """Test case for list_workflow_ids2 + + Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. # noqa: E501 + """ + pass + def test_list_workflows(self): """Test case for list_workflows @@ -350,6 +581,20 @@ def test_list_workflows2(self): """ pass + def test_list_workflows3(self): + """Test case for list_workflows3 + + Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 + """ + pass + + def test_list_workflows4(self): + """Test case for list_workflows4 + + Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. # noqa: E501 + """ + pass + def test_recover_execution(self): """Test case for recover_execution @@ -378,6 +623,13 @@ def test_terminate_execution(self): """ pass + def test_terminate_execution2(self): + """Test case for terminate_execution2 + + Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + """ + pass + def test_update_execution(self): """Test case for update_execution @@ -385,6 +637,13 @@ def test_update_execution(self): """ pass + def test_update_execution2(self): + """Test case for update_execution2 + + Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. # noqa: E501 + """ + pass + def test_update_launch_plan(self): """Test case for update_launch_plan @@ -392,6 +651,13 @@ def test_update_launch_plan(self): """ pass + def test_update_launch_plan2(self): + """Test case for update_launch_plan2 + + Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. # noqa: E501 + """ + pass + def test_update_named_entity(self): """Test case for update_named_entity @@ -399,10 +665,24 @@ def test_update_named_entity(self): """ pass + def test_update_named_entity2(self): + """Test case for update_named_entity2 + + Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. # noqa: E501 + """ + pass + def test_update_project(self): """Test case for update_project - Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 + Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 + """ + pass + + def test_update_project2(self): + """Test case for update_project2 + + Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. # noqa: E501 """ pass @@ -413,6 +693,13 @@ def test_update_project_attributes(self): """ pass + def test_update_project_attributes2(self): + """Test case for update_project_attributes2 + + Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level # noqa: E501 + """ + pass + def test_update_project_domain_attributes(self): """Test case for update_project_domain_attributes @@ -420,6 +707,13 @@ def test_update_project_domain_attributes(self): """ pass + def test_update_project_domain_attributes2(self): + """Test case for update_project_domain_attributes2 + + Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. # noqa: E501 + """ + pass + def test_update_workflow_attributes(self): """Test case for update_workflow_attributes @@ -427,6 +721,13 @@ def test_update_workflow_attributes(self): """ pass + def test_update_workflow_attributes2(self): + """Test case for update_workflow_attributes2 + + Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. # noqa: E501 + """ + pass + if __name__ == '__main__': unittest.main() diff --git a/flyteidl/gen/pb_rust/datacatalog.rs b/flyteidl/gen/pb_rust/datacatalog.rs index 8c8a79dcc7..ac2c695cab 100644 --- a/flyteidl/gen/pb_rust/datacatalog.rs +++ b/flyteidl/gen/pb_rust/datacatalog.rs @@ -290,6 +290,9 @@ pub struct DatasetId { /// UUID for the dataset (if set the above fields are optional) #[prost(string, tag="5")] pub uuid: ::prost::alloc::string::String, + /// Optional, org key applied to the resource. + #[prost(string, tag="6")] + pub org: ::prost::alloc::string::String, } /// /// Artifact message. It is composed of several string fields. @@ -469,7 +472,7 @@ pub struct KeyValuePair { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DatasetPropertyFilter { - #[prost(oneof="dataset_property_filter::Property", tags="1, 2, 3, 4")] + #[prost(oneof="dataset_property_filter::Property", tags="1, 2, 3, 4, 5")] pub property: ::core::option::Option, } /// Nested message and enum types in `DatasetPropertyFilter`. @@ -485,6 +488,9 @@ pub mod dataset_property_filter { Domain(::prost::alloc::string::String), #[prost(string, tag="4")] Version(::prost::alloc::string::String), + /// Optional, org key applied to the dataset. + #[prost(string, tag="5")] + Org(::prost::alloc::string::String), } } /// Pagination options for making list requests diff --git a/flyteidl/gen/pb_rust/flyteidl.admin.rs b/flyteidl/gen/pb_rust/flyteidl.admin.rs index e5787f62d6..88ec11f7ca 100644 --- a/flyteidl/gen/pb_rust/flyteidl.admin.rs +++ b/flyteidl/gen/pb_rust/flyteidl.admin.rs @@ -294,6 +294,9 @@ pub struct NamedEntityIdentifier { /// +optional - in certain contexts - like 'List API', 'Launch plans' #[prost(string, tag="3")] pub name: ::prost::alloc::string::String, + /// Optional, org key applied to the resource. + #[prost(string, tag="4")] + pub org: ::prost::alloc::string::String, } /// Additional metadata around a named entity. #[allow(clippy::derive_partial_eq_without_eq)] @@ -395,6 +398,9 @@ pub struct NamedEntityIdentifierListRequest { /// +optional #[prost(string, tag="6")] pub filters: ::prost::alloc::string::String, + /// Optional, org key applied to the resource. + #[prost(string, tag="7")] + pub org: ::prost::alloc::string::String, } /// Represents a request structure to list NamedEntity objects #[allow(clippy::derive_partial_eq_without_eq)] @@ -427,6 +433,9 @@ pub struct NamedEntityListRequest { /// +optional #[prost(string, tag="7")] pub filters: ::prost::alloc::string::String, + /// Optional, org key applied to the resource. + #[prost(string, tag="8")] + pub org: ::prost::alloc::string::String, } /// Represents a list of NamedEntityIdentifiers. #[allow(clippy::derive_partial_eq_without_eq)] @@ -943,10 +952,13 @@ pub struct ExecutionCreateRequest { #[deprecated] #[prost(message, optional, tag="5")] pub inputs: ::core::option::Option, + /// Optional, org key applied to the resource. + #[prost(string, tag="6")] + pub org: ::prost::alloc::string::String, /// The inputs required to start the execution. All required inputs must be /// included in this map. If not required and not provided, defaults apply. /// +optional - #[prost(message, optional, tag="6")] + #[prost(message, optional, tag="7")] pub input_data: ::core::option::Option, } /// Request to relaunch the referenced execution. @@ -1720,7 +1732,7 @@ pub struct ActiveLaunchPlanRequest { #[prost(message, optional, tag="1")] pub id: ::core::option::Option, } -/// Represents a request structure to list active launch plans within a project/domain. +/// Represents a request structure to list active launch plans within a project/domain and optional org. /// See :ref:`ref_flyteidl.admin.LaunchPlan` for more details #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1746,6 +1758,9 @@ pub struct ActiveLaunchPlanListRequest { /// +optional #[prost(message, optional, tag="5")] pub sort_by: ::core::option::Option, + /// Optional, org key applied to the resource. + #[prost(string, tag="6")] + pub org: ::prost::alloc::string::String, } /// By default any launch plan regardless of state can be used to launch a workflow execution. /// However, at most one version of a launch plan @@ -1942,8 +1957,8 @@ pub mod matching_attributes { ClusterAssignment(super::ClusterAssignment), } } -/// Represents a custom set of attributes applied for either a domain; a domain and project; or -/// domain, project and workflow name. +/// Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org); +/// or domain, project and workflow name (and optional org). /// These are used to override system level defaults for kubernetes cluster resource management, /// default execution values, and more all across different levels of specificity. #[allow(clippy::derive_partial_eq_without_eq)] @@ -1959,6 +1974,9 @@ pub struct MatchableAttributesConfiguration { pub workflow: ::prost::alloc::string::String, #[prost(string, tag="5")] pub launch_plan: ::prost::alloc::string::String, + /// Optional, org key applied to the resource. + #[prost(string, tag="6")] + pub org: ::prost::alloc::string::String, } /// Request all matching resource attributes for a resource type. /// See :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for more details @@ -2365,6 +2383,9 @@ pub struct Project { pub labels: ::core::option::Option, #[prost(enumeration="project::ProjectState", tag="6")] pub state: i32, + /// Optional, org key applied to the resource. + #[prost(string, tag="7")] + pub org: ::prost::alloc::string::String, } /// Nested message and enum types in `Project`. pub mod project { @@ -2467,6 +2488,9 @@ pub struct ProjectAttributes { pub project: ::prost::alloc::string::String, #[prost(message, optional, tag="2")] pub matching_attributes: ::core::option::Option, + /// Optional, org key applied to the project. + #[prost(string, tag="3")] + pub org: ::prost::alloc::string::String, } /// Sets custom attributes for a project /// For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` @@ -2495,6 +2519,9 @@ pub struct ProjectAttributesGetRequest { /// +required #[prost(enumeration="MatchableResource", tag="2")] pub resource_type: i32, + /// Optional, org key applied to the project. + #[prost(string, tag="3")] + pub org: ::prost::alloc::string::String, } /// Response to get an individual project level attribute override. /// For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` @@ -2517,6 +2544,9 @@ pub struct ProjectAttributesDeleteRequest { /// +required #[prost(enumeration="MatchableResource", tag="2")] pub resource_type: i32, + /// Optional, org key applied to the project. + #[prost(string, tag="3")] + pub org: ::prost::alloc::string::String, } /// Purposefully empty, may be populated in the future. #[allow(clippy::derive_partial_eq_without_eq)] @@ -2536,6 +2566,9 @@ pub struct ProjectDomainAttributes { pub domain: ::prost::alloc::string::String, #[prost(message, optional, tag="3")] pub matching_attributes: ::core::option::Option, + /// Optional, org key applied to the attributes. + #[prost(string, tag="4")] + pub org: ::prost::alloc::string::String, } /// Sets custom attributes for a project-domain combination. /// For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` @@ -2568,6 +2601,9 @@ pub struct ProjectDomainAttributesGetRequest { /// +required #[prost(enumeration="MatchableResource", tag="3")] pub resource_type: i32, + /// Optional, org key applied to the attributes. + #[prost(string, tag="4")] + pub org: ::prost::alloc::string::String, } /// Response to get an individual project domain attribute override. /// For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` @@ -2594,6 +2630,9 @@ pub struct ProjectDomainAttributesDeleteRequest { /// +required #[prost(enumeration="MatchableResource", tag="3")] pub resource_type: i32, + /// Optional, org key applied to the attributes. + #[prost(string, tag="4")] + pub org: ::prost::alloc::string::String, } /// Purposefully empty, may be populated in the future. #[allow(clippy::derive_partial_eq_without_eq)] @@ -3106,6 +3145,9 @@ pub struct WorkflowAttributes { pub workflow: ::prost::alloc::string::String, #[prost(message, optional, tag="4")] pub matching_attributes: ::core::option::Option, + /// Optional, org key applied to the attributes. + #[prost(string, tag="5")] + pub org: ::prost::alloc::string::String, } /// Sets custom attributes for a project, domain and workflow combination. /// For more info on matchable attributes, see :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` @@ -3141,6 +3183,9 @@ pub struct WorkflowAttributesGetRequest { /// +required #[prost(enumeration="MatchableResource", tag="4")] pub resource_type: i32, + /// Optional, org key applied to the attributes. + #[prost(string, tag="5")] + pub org: ::prost::alloc::string::String, } /// Response to get an individual workflow attribute override. #[allow(clippy::derive_partial_eq_without_eq)] @@ -3170,6 +3215,9 @@ pub struct WorkflowAttributesDeleteRequest { /// +required #[prost(enumeration="MatchableResource", tag="4")] pub resource_type: i32, + /// Optional, org key applied to the attributes. + #[prost(string, tag="5")] + pub org: ::prost::alloc::string::String, } /// Purposefully empty, may be populated in the future. #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/flyteidl/gen/pb_rust/flyteidl.core.rs b/flyteidl/gen/pb_rust/flyteidl.core.rs index 551a4bc925..3a4c3d31cd 100644 --- a/flyteidl/gen/pb_rust/flyteidl.core.rs +++ b/flyteidl/gen/pb_rust/flyteidl.core.rs @@ -639,6 +639,9 @@ pub struct Identifier { /// Specific version of the resource. #[prost(string, tag="5")] pub version: ::prost::alloc::string::String, + /// Optional, org key applied to the resource. + #[prost(string, tag="6")] + pub org: ::prost::alloc::string::String, } /// Encapsulation of fields that uniquely identifies a Flyte workflow execution #[allow(clippy::derive_partial_eq_without_eq)] @@ -654,6 +657,9 @@ pub struct WorkflowExecutionIdentifier { /// User or system provided value for the resource. #[prost(string, tag="4")] pub name: ::prost::alloc::string::String, + /// Optional, org key applied to the resource. + #[prost(string, tag="5")] + pub org: ::prost::alloc::string::String, } /// Encapsulation of fields that identify a Flyte node execution entity. #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/flyteidl/go.mod b/flyteidl/go.mod index f410e79d6b..34466ad69e 100644 --- a/flyteidl/go.mod +++ b/flyteidl/go.mod @@ -2,6 +2,8 @@ module github.com/flyteorg/flyte/flyteidl go 1.21 +toolchain go1.21.3 + require ( github.com/antihax/optional v1.0.0 github.com/flyteorg/flyte/flytestdlib v0.0.0-00010101000000-000000000000 diff --git a/flyteidl/protos/flyteidl/admin/common.proto b/flyteidl/protos/flyteidl/admin/common.proto index 93bf9b0e03..6c04b0531a 100644 --- a/flyteidl/protos/flyteidl/admin/common.proto +++ b/flyteidl/protos/flyteidl/admin/common.proto @@ -22,6 +22,9 @@ message NamedEntityIdentifier { // The combination of project + domain + name uniquely identifies the resource. // +optional - in certain contexts - like 'List API', 'Launch plans' string name = 3; + + // Optional, org key applied to the resource. + string org = 4; } // The status of the named entity is used to control its visibility in the UI. @@ -102,6 +105,9 @@ message NamedEntityIdentifierListRequest { // Indicates a list of filters passed as string. // +optional string filters = 6; + + // Optional, org key applied to the resource. + string org = 7; } // Represents a request structure to list NamedEntity objects @@ -129,6 +135,8 @@ message NamedEntityListRequest { // +optional string filters = 7; + // Optional, org key applied to the resource. + string org = 8; } // Represents a list of NamedEntityIdentifiers. diff --git a/flyteidl/protos/flyteidl/admin/execution.proto b/flyteidl/protos/flyteidl/admin/execution.proto index 4bf1621af6..4e8bdb6ddd 100644 --- a/flyteidl/protos/flyteidl/admin/execution.proto +++ b/flyteidl/protos/flyteidl/admin/execution.proto @@ -41,10 +41,13 @@ message ExecutionCreateRequest { // Deprecated: Please use input_data instead. core.LiteralMap inputs = 5 [deprecated = true]; + // Optional, org key applied to the resource. + string org = 6; + // The inputs required to start the execution. All required inputs must be // included in this map. If not required and not provided, defaults apply. // +optional - core.InputData input_data = 6; + core.InputData input_data = 7; } // Request to relaunch the referenced execution. diff --git a/flyteidl/protos/flyteidl/admin/launch_plan.proto b/flyteidl/protos/flyteidl/admin/launch_plan.proto index 7a953c4669..bd6a2a30c1 100644 --- a/flyteidl/protos/flyteidl/admin/launch_plan.proto +++ b/flyteidl/protos/flyteidl/admin/launch_plan.proto @@ -197,7 +197,7 @@ message ActiveLaunchPlanRequest { NamedEntityIdentifier id = 1; } -// Represents a request structure to list active launch plans within a project/domain. +// Represents a request structure to list active launch plans within a project/domain and optional org. // See :ref:`ref_flyteidl.admin.LaunchPlan` for more details message ActiveLaunchPlanListRequest { // Name of the project that contains the identifiers. @@ -220,4 +220,7 @@ message ActiveLaunchPlanListRequest { // Sort ordering. // +optional Sort sort_by = 5; + + // Optional, org key applied to the resource. + string org = 6; } diff --git a/flyteidl/protos/flyteidl/admin/matchable_resource.proto b/flyteidl/protos/flyteidl/admin/matchable_resource.proto index bf93d0bd7e..692215b59d 100644 --- a/flyteidl/protos/flyteidl/admin/matchable_resource.proto +++ b/flyteidl/protos/flyteidl/admin/matchable_resource.proto @@ -154,8 +154,8 @@ message MatchingAttributes { } } -// Represents a custom set of attributes applied for either a domain; a domain and project; or -// domain, project and workflow name. +// Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org); +// or domain, project and workflow name (and optional org). // These are used to override system level defaults for kubernetes cluster resource management, // default execution values, and more all across different levels of specificity. message MatchableAttributesConfiguration { @@ -168,6 +168,9 @@ message MatchableAttributesConfiguration { string workflow = 4; string launch_plan = 5; + + // Optional, org key applied to the resource. + string org = 6; } // Request all matching resource attributes for a resource type. diff --git a/flyteidl/protos/flyteidl/admin/project.proto b/flyteidl/protos/flyteidl/admin/project.proto index 761ae8da05..907b7d2cae 100644 --- a/flyteidl/protos/flyteidl/admin/project.proto +++ b/flyteidl/protos/flyteidl/admin/project.proto @@ -45,6 +45,9 @@ message Project { SYSTEM_GENERATED = 2; } ProjectState state = 6; + + // Optional, org key applied to the resource. + string org = 7; } // Represents a list of projects. diff --git a/flyteidl/protos/flyteidl/admin/project_attributes.proto b/flyteidl/protos/flyteidl/admin/project_attributes.proto index e61515b0c7..2656ab25f5 100644 --- a/flyteidl/protos/flyteidl/admin/project_attributes.proto +++ b/flyteidl/protos/flyteidl/admin/project_attributes.proto @@ -12,6 +12,9 @@ message ProjectAttributes { string project = 1; MatchingAttributes matching_attributes = 2; + + // Optional, org key applied to the project. + string org = 3; } // Sets custom attributes for a project @@ -35,6 +38,9 @@ message ProjectAttributesGetRequest { // Which type of matchable attributes to return. // +required MatchableResource resource_type = 2; + + // Optional, org key applied to the project. + string org = 3; } // Response to get an individual project level attribute override. @@ -53,6 +59,9 @@ message ProjectAttributesDeleteRequest { // Which type of matchable attributes to delete. // +required MatchableResource resource_type = 2; + + // Optional, org key applied to the project. + string org = 3; } // Purposefully empty, may be populated in the future. diff --git a/flyteidl/protos/flyteidl/admin/project_domain_attributes.proto b/flyteidl/protos/flyteidl/admin/project_domain_attributes.proto index d25ea92324..b493ae1178 100644 --- a/flyteidl/protos/flyteidl/admin/project_domain_attributes.proto +++ b/flyteidl/protos/flyteidl/admin/project_domain_attributes.proto @@ -14,7 +14,10 @@ message ProjectDomainAttributes { // Unique domain id for which this set of attributes will be applied. string domain = 2; - MatchingAttributes matching_attributes = 3; + MatchingAttributes matching_attributes = 3; + + // Optional, org key applied to the attributes. + string org = 4; } // Sets custom attributes for a project-domain combination. @@ -42,6 +45,9 @@ message ProjectDomainAttributesGetRequest { // Which type of matchable attributes to return. // +required MatchableResource resource_type = 3; + + // Optional, org key applied to the attributes. + string org = 4; } // Response to get an individual project domain attribute override. @@ -64,6 +70,9 @@ message ProjectDomainAttributesDeleteRequest { // Which type of matchable attributes to delete. // +required MatchableResource resource_type = 3; + + // Optional, org key applied to the attributes. + string org = 4; } // Purposefully empty, may be populated in the future. diff --git a/flyteidl/protos/flyteidl/admin/workflow_attributes.proto b/flyteidl/protos/flyteidl/admin/workflow_attributes.proto index fed42205a7..9767f00df7 100644 --- a/flyteidl/protos/flyteidl/admin/workflow_attributes.proto +++ b/flyteidl/protos/flyteidl/admin/workflow_attributes.proto @@ -18,6 +18,9 @@ message WorkflowAttributes { string workflow = 3; MatchingAttributes matching_attributes = 4; + + // Optional, org key applied to the attributes. + string org = 5; } // Sets custom attributes for a project, domain and workflow combination. @@ -48,6 +51,9 @@ message WorkflowAttributesGetRequest { // Which type of matchable attributes to return. // +required MatchableResource resource_type = 4; + + // Optional, org key applied to the attributes. + string org = 5; } // Response to get an individual workflow attribute override. @@ -73,6 +79,9 @@ message WorkflowAttributesDeleteRequest { // Which type of matchable attributes to delete. // +required MatchableResource resource_type = 4; + + // Optional, org key applied to the attributes. + string org = 5; } // Purposefully empty, may be populated in the future. diff --git a/flyteidl/protos/flyteidl/artifact/artifacts.proto b/flyteidl/protos/flyteidl/artifact/artifacts.proto index eda28944f5..5a3135d793 100644 --- a/flyteidl/protos/flyteidl/artifact/artifacts.proto +++ b/flyteidl/protos/flyteidl/artifact/artifacts.proto @@ -197,17 +197,15 @@ service ArtifactRegistry { rpc GetArtifact (GetArtifactRequest) returns (GetArtifactResponse) { option (google.api.http) = { - get: "/artifacts/api/v1/artifacts" - additional_bindings {get: "/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}/{query.artifact_id.version}"} - additional_bindings {get: "/artifacts/api/v1/artifact/id/{query.artifact_id.artifact_key.project}/{query.artifact_id.artifact_key.domain}/{query.artifact_id.artifact_key.name}"} - additional_bindings {get: "/artifacts/api/v1/artifact/tag/{query.artifact_tag.artifact_key.project}/{query.artifact_tag.artifact_key.domain}/{query.artifact_tag.artifact_key.name}"} + post: "/artifacts/api/v1/artifacts" + body: "*" }; } rpc SearchArtifacts (SearchArtifactsRequest) returns (SearchArtifactsResponse) { option (google.api.http) = { - get: "/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}/{artifact_key.name}" - additional_bindings {get: "/artifacts/api/v1/search/{artifact_key.project}/{artifact_key.domain}"} + post: "/artifacts/api/v1/search" + body: "*" }; } diff --git a/flyteidl/protos/flyteidl/core/identifier.proto b/flyteidl/protos/flyteidl/core/identifier.proto index d50e836099..50bf22429c 100644 --- a/flyteidl/protos/flyteidl/core/identifier.proto +++ b/flyteidl/protos/flyteidl/core/identifier.proto @@ -33,6 +33,9 @@ message Identifier { // Specific version of the resource. string version = 5; + + // Optional, org key applied to the resource. + string org = 6; } // Encapsulation of fields that uniquely identifies a Flyte workflow execution @@ -46,6 +49,9 @@ message WorkflowExecutionIdentifier { // User or system provided value for the resource. string name = 4; + + // Optional, org key applied to the resource. + string org = 5; } // Encapsulation of fields that identify a Flyte node execution entity. diff --git a/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto b/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto index 1ddac9fccf..e296603113 100644 --- a/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto +++ b/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto @@ -289,6 +289,9 @@ message DatasetID { string domain = 3; // The domain (eg. environment) string version = 4; // Version of the data schema string UUID = 5; // UUID for the dataset (if set the above fields are optional) + + // Optional, org key applied to the resource. + string org = 6; } /* @@ -386,6 +389,8 @@ message DatasetPropertyFilter { string name = 2; string domain = 3; string version = 4; + // Optional, org key applied to the dataset. + string org = 5; } } diff --git a/flyteidl/protos/flyteidl/service/admin.proto b/flyteidl/protos/flyteidl/service/admin.proto index 95ad07686f..d0f5391d25 100644 --- a/flyteidl/protos/flyteidl/service/admin.proto +++ b/flyteidl/protos/flyteidl/service/admin.proto @@ -51,16 +51,22 @@ service AdminService { rpc GetTask (flyteidl.admin.ObjectGetRequest) returns (flyteidl.admin.Task) { option (google.api.http) = { get: "/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}" + additional_bindings { + get: "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve an existing task definition." // }; } - // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. + // Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. rpc ListTaskIds (flyteidl.admin.NamedEntityIdentifierListRequest) returns (flyteidl.admin.NamedEntityIdentifierList) { option (google.api.http) = { get: "/api/v1/task_ids/{project}/{domain}" + additional_bindings { + get: "/api/v1/tasks/org/{org}/{project}/{domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch existing task definition identifiers matching input filters." @@ -72,7 +78,13 @@ service AdminService { option (google.api.http) = { get: "/api/v1/tasks/{id.project}/{id.domain}/{id.name}" additional_bindings { - get: "/api/v1/tasks/{id.project}/{id.domain}" + get: "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}/{id.name}", + } + additional_bindings { + get: "/api/v1/tasks/{id.project}/{id.domain}", + } + additional_bindings { + get: "/api/v1/tasks/org/{id.org}/{id.project}/{id.domain}", } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { @@ -107,6 +119,9 @@ service AdminService { rpc GetWorkflow (flyteidl.admin.ObjectGetRequest) returns (flyteidl.admin.Workflow) { option (google.api.http) = { get: "/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}" + additional_bindings { + get: "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve an existing workflow definition." @@ -117,6 +132,9 @@ service AdminService { rpc ListWorkflowIds (flyteidl.admin.NamedEntityIdentifierListRequest) returns (flyteidl.admin.NamedEntityIdentifierList) { option (google.api.http) = { get: "/api/v1/workflow_ids/{project}/{domain}" + additional_bindings { + get: "/api/v1/workflows/org/{org}/{project}/{domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch an existing workflow definition identifiers matching input filters." @@ -128,7 +146,13 @@ service AdminService { option (google.api.http) = { get: "/api/v1/workflows/{id.project}/{id.domain}/{id.name}" additional_bindings { - get: "/api/v1/workflows/{id.project}/{id.domain}" + get: "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}/{id.name}", + } + additional_bindings { + get: "/api/v1/workflows/{id.project}/{id.domain}", + } + additional_bindings { + get: "/api/v1/workflows/org/{id.org}/{id.project}/{id.domain}", } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { @@ -163,6 +187,9 @@ service AdminService { rpc GetLaunchPlan (flyteidl.admin.ObjectGetRequest) returns (flyteidl.admin.LaunchPlan) { option (google.api.http) = { get: "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}" + additional_bindings { + get: "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve an existing launch plan definition." @@ -173,6 +200,9 @@ service AdminService { rpc GetActiveLaunchPlan (flyteidl.admin.ActiveLaunchPlanRequest) returns (flyteidl.admin.LaunchPlan) { option (google.api.http) = { get: "/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}" + additional_bindings { + get: "/api/v1/active_launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve the active launch plan version specified by input request filters." @@ -193,6 +223,9 @@ service AdminService { rpc ListLaunchPlanIds (flyteidl.admin.NamedEntityIdentifierListRequest) returns (flyteidl.admin.NamedEntityIdentifierList) { option (google.api.http) = { get: "/api/v1/launch_plan_ids/{project}/{domain}" + additional_bindings { + get: "/api/v1/launch_plan_ids/org/{org}/{project}/{domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch existing launch plan definition identifiers matching input filters." @@ -203,9 +236,15 @@ service AdminService { rpc ListLaunchPlans (flyteidl.admin.ResourceListRequest) returns (flyteidl.admin.LaunchPlanList) { option (google.api.http) = { get: "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}" + additional_bindings { + get: "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}" + } additional_bindings { get: "/api/v1/launch_plans/{id.project}/{id.domain}" } + additional_bindings { + get: "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch existing launch plan definitions matching input filters." @@ -216,6 +255,9 @@ service AdminService { rpc UpdateLaunchPlan (flyteidl.admin.LaunchPlanUpdateRequest) returns (flyteidl.admin.LaunchPlanUpdateResponse) { option (google.api.http) = { put: "/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}" + additional_bindings { + put: "/api/v1/launch_plans/org/{id.org}/{id.project}/{id.domain}/{id.name}/{id.version}" + } body: "*" }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { @@ -273,6 +315,9 @@ service AdminService { rpc GetExecution (flyteidl.admin.WorkflowExecutionGetRequest) returns (flyteidl.admin.Execution) { option (google.api.http) = { get: "/api/v1/executions/{id.project}/{id.domain}/{id.name}" + additional_bindings { + get: "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve an existing workflow execution." @@ -284,6 +329,10 @@ service AdminService { option (google.api.http) = { put: "/api/v1/executions/{id.project}/{id.domain}/{id.name}" body: "*" + additional_bindings { + put: "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Update execution belonging to project domain." @@ -294,6 +343,9 @@ service AdminService { rpc GetExecutionData (flyteidl.admin.WorkflowExecutionGetDataRequest) returns (flyteidl.admin.WorkflowExecutionGetDataResponse) { option (google.api.http) = { get: "/api/v1/data/executions/{id.project}/{id.domain}/{id.name}" + additional_bindings { + get: "/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve input and output data from an existing workflow execution." @@ -304,6 +356,9 @@ service AdminService { rpc ListExecutions (flyteidl.admin.ResourceListRequest) returns (flyteidl.admin.ExecutionList) { option (google.api.http) = { get: "/api/v1/executions/{id.project}/{id.domain}" + additional_bindings { + get: "/api/v1/executions/org/{id.org}/{id.project}/{id.domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch existing workflow executions matching input filters." @@ -315,6 +370,10 @@ service AdminService { option (google.api.http) = { delete: "/api/v1/executions/{id.project}/{id.domain}/{id.name}" body: "*" + additional_bindings { + delete: "/api/v1/data/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Terminate the active workflow execution specified in the request." @@ -325,6 +384,9 @@ service AdminService { rpc GetNodeExecution (flyteidl.admin.NodeExecutionGetRequest) returns (flyteidl.admin.NodeExecution) { option (google.api.http) = { get: "/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + additional_bindings { + get: "/api/v1/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve an existing node execution." @@ -335,6 +397,9 @@ service AdminService { rpc ListNodeExecutions (flyteidl.admin.NodeExecutionListRequest) returns (flyteidl.admin.NodeExecutionList) { option (google.api.http) = { get: "/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}" + additional_bindings { + get: "/api/v1/node_executions/org/{workflow_execution_id.org}/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch existing node executions matching input filters." @@ -345,6 +410,9 @@ service AdminService { rpc ListNodeExecutionsForTask (flyteidl.admin.NodeExecutionForTaskListRequest) returns (flyteidl.admin.NodeExecutionList) { option (google.api.http) = { get: "/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}" + additional_bindings { + get: "/api/v1/children/task_executions/org/{task_execution_id.node_execution_id.execution_id.org}/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch child node executions launched by the specified task execution." @@ -355,6 +423,9 @@ service AdminService { rpc GetNodeExecutionData (flyteidl.admin.NodeExecutionGetDataRequest) returns (flyteidl.admin.NodeExecutionGetDataResponse) { option (google.api.http) = { get: "/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + additional_bindings { + get: "/api/v1/data/node_executions/org/{id.execution_id.org}/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve input and output data from an existing node execution." @@ -372,20 +443,24 @@ service AdminService { // }; } - // Updates an existing :ref:`ref_flyteidl.admin.Project` + // Updates an existing :ref:`ref_flyteidl.admin.Project` // flyteidl.admin.Project should be passed but the domains property should be empty; // it will be ignored in the handler as domains cannot be updated via this API. rpc UpdateProject (flyteidl.admin.Project) returns (flyteidl.admin.ProjectUpdateResponse) { option (google.api.http) = { put: "/api/v1/projects/{id}" body: "*" + additional_bindings { + put: "/api/v1/projects/org/{org}/{id}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Update a project." // }; } - // Fetches a list of :ref:`ref_flyteidl.admin.Project` + // Fetches a list of :ref:`ref_flyteidl.admin.Project` rpc ListProjects (flyteidl.admin.ProjectListRequest) returns (flyteidl.admin.Projects) { option (google.api.http) = { get: "/api/v1/projects" @@ -431,7 +506,10 @@ service AdminService { // Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. rpc GetTaskExecution (flyteidl.admin.TaskExecutionGetRequest) returns (flyteidl.admin.TaskExecution) { option (google.api.http) = { - get: "/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + get: "/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + additional_bindings { + get: "/api/v1/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve an existing task execution." @@ -441,7 +519,10 @@ service AdminService { // Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. rpc ListTaskExecutions (flyteidl.admin.TaskExecutionListRequest) returns (flyteidl.admin.TaskExecutionList) { option (google.api.http) = { - get: "/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}" + get: "/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}" + additional_bindings { + get: "/api/v1/task_executions/org/{node_execution_id.execution_id.org}/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch existing task executions matching input filters." @@ -452,7 +533,10 @@ service AdminService { // Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. rpc GetTaskExecutionData (flyteidl.admin.TaskExecutionGetDataRequest) returns (flyteidl.admin.TaskExecutionGetDataResponse) { option (google.api.http) = { - get: "/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + get: "/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + additional_bindings { + get: "/api/v1/data/task_executions/org/{id.node_execution_id.execution_id.org}/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve input and output data from an existing task execution." @@ -464,6 +548,10 @@ service AdminService { option (google.api.http) = { put: "/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}" body: "*" + additional_bindings { + put: "/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Update the customized resource attributes associated with a project-domain combination" @@ -474,6 +562,9 @@ service AdminService { rpc GetProjectDomainAttributes (flyteidl.admin.ProjectDomainAttributesGetRequest) returns (flyteidl.admin.ProjectDomainAttributesGetResponse) { option (google.api.http) = { get: "/api/v1/project_domain_attributes/{project}/{domain}" + additional_bindings { + get: "/api/v1/project_domain_attributes/org/{org}/{project}/{domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve the customized resource attributes associated with a project-domain combination" @@ -485,6 +576,10 @@ service AdminService { option (google.api.http) = { delete: "/api/v1/project_domain_attributes/{project}/{domain}" body: "*" + additional_bindings { + delete: "/api/v1/project_domain_attributes/org/{org}/{project}/{domain}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Delete the customized resource attributes associated with a project-domain combination" @@ -496,6 +591,10 @@ service AdminService { option (google.api.http) = { put: "/api/v1/project_attributes/{attributes.project}" body: "*" + additional_bindings { + put: "/api/v1/project_domain_attributes/org/{attributes.org}/{attributes.project}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Update the customized resource attributes associated with a project" @@ -506,6 +605,9 @@ service AdminService { rpc GetProjectAttributes (flyteidl.admin.ProjectAttributesGetRequest) returns (flyteidl.admin.ProjectAttributesGetResponse) { option (google.api.http) = { get: "/api/v1/project_attributes/{project}" + additional_bindings { + get: "/api/v1/project_domain_attributes/org/{org}/{project}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve the customized resource attributes associated with a project" @@ -517,6 +619,10 @@ service AdminService { option (google.api.http) = { delete: "/api/v1/project_attributes/{project}" body: "*" + additional_bindings { + delete: "/api/v1/project_domain_attributes/org/{org}/{project}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Delete the customized resource attributes associated with a project" @@ -527,6 +633,10 @@ service AdminService { option (google.api.http) = { put: "/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}" body: "*" + additional_bindings { + put: "/api/v1/workflow_attributes/org/{attributes.org}/{attributes.project}/{attributes.domain}/{attributes.workflow}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Update the customized resource attributes associated with a project, domain and workflow combination" @@ -537,6 +647,9 @@ service AdminService { rpc GetWorkflowAttributes (flyteidl.admin.WorkflowAttributesGetRequest) returns (flyteidl.admin.WorkflowAttributesGetResponse) { option (google.api.http) = { get: "/api/v1/workflow_attributes/{project}/{domain}/{workflow}" + additional_bindings { + get: "/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve the customized resource attributes associated with a project, domain and workflow combination" @@ -548,6 +661,10 @@ service AdminService { option (google.api.http) = { delete: "/api/v1/workflow_attributes/{project}/{domain}/{workflow}" body: "*" + additional_bindings { + delete: "/api/v1/workflow_attributes/org/{org}/{project}/{domain}/{workflow}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Delete the customized resource attributes associated with a project, domain and workflow combination" @@ -568,6 +685,9 @@ service AdminService { rpc ListNamedEntities (flyteidl.admin.NamedEntityListRequest) returns (flyteidl.admin.NamedEntityList) { option (google.api.http) = { get: "/api/v1/named_entities/{resource_type}/{project}/{domain}" + additional_bindings { + get: "/api/v1/named_entities/{resource_type}/org/{org}/{project}/{domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve a list of NamedEntity objects sharing a common resource type, project, and domain." @@ -578,6 +698,9 @@ service AdminService { rpc GetNamedEntity (flyteidl.admin.NamedEntityGetRequest) returns (flyteidl.admin.NamedEntity) { option (google.api.http) = { get: "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" + additional_bindings { + get: "/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve a NamedEntity object." @@ -589,6 +712,10 @@ service AdminService { option (google.api.http) = { put: "/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" body: "*" + additional_bindings { + put: "/api/v1/named_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}" + body: "*" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Update the fields associated with a NamedEntity" @@ -596,18 +723,21 @@ service AdminService { } rpc GetVersion (flyteidl.admin.GetVersionRequest) returns (flyteidl.admin.GetVersionResponse) { - option (google.api.http) = { - get: "/api/v1/version" - }; - // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { - // description: "Retrieve the Version (including the Build information) for FlyteAdmin service" - // }; + option (google.api.http) = { + get: "/api/v1/version" + }; + // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { + // description: "Retrieve the Version (including the Build information) for FlyteAdmin service" + // }; } // Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. rpc GetDescriptionEntity (flyteidl.admin.ObjectGetRequest) returns (flyteidl.admin.DescriptionEntity) { option (google.api.http) = { get: "/api/v1/description_entities/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}" + additional_bindings { + get: "/api/v1/description_entities/org/{id.org}/{id.resource_type}/{id.project}/{id.domain}/{id.name}/{id.version}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve an existing description entity description." @@ -618,9 +748,15 @@ service AdminService { rpc ListDescriptionEntities (flyteidl.admin.DescriptionEntityListRequest) returns (flyteidl.admin.DescriptionEntityList) { option (google.api.http) = { get: "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}/{id.name}" + additional_bindings { + get: "/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}/{id.name}" + } additional_bindings { get: "/api/v1/description_entities/{resource_type}/{id.project}/{id.domain}" } + additional_bindings { + get: "/api/v1/description_entities/{resource_type}/org/{id.org}/{id.project}/{id.domain}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Fetch existing description entity definitions matching input filters." @@ -631,9 +767,12 @@ service AdminService { rpc GetExecutionMetrics (flyteidl.admin.WorkflowExecutionGetMetricsRequest) returns (flyteidl.admin.WorkflowExecutionGetMetricsResponse) { option (google.api.http) = { get: "/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}" + additional_bindings { + get: "/api/v1/metrics/executions/org/{id.org}/{id.project}/{id.domain}/{id.name}" + } }; // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { // description: "Retrieve metrics from an existing workflow execution." // }; }; -} +} \ No newline at end of file diff --git a/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go b/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go index b0c4cc75b5..0013e2e6f8 100644 --- a/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go +++ b/flyteplugins/go/tasks/pluginmachinery/catalog/async_client_impl_test.go @@ -114,8 +114,8 @@ func TestAsyncClientImpl_Download(t *testing.T) { func TestAsyncClientImpl_Upload(t *testing.T) { ctx := context.Background() - inputHash1 := "{UNSPECIFIED {} [] 0}:-0-DNhkpTTPC5YDtRGb4yT-PFxgMSgHzHrKAQKgQGEfGRY" - inputHash2 := "{UNSPECIFIED {} [] 0}:-1-26M4dwarvBVJqJSUC4JC1GtRYgVBIAmQfsFSdLVMlAc" + inputHash1 := "{UNSPECIFIED {} [] 0}:-0-DNhkpTTPC5YDtRGb4yT-PFxgMSgHzHrKAQKgQGEfGRY" + inputHash2 := "{UNSPECIFIED {} [] 0}:-1-26M4dwarvBVJqJSUC4JC1GtRYgVBIAmQfsFSdLVMlAc" q := &mocks.IndexedWorkQueue{} info := &mocks.WorkItemInfo{} diff --git a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go index c69bb59cbf..2f2730528c 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go @@ -114,6 +114,21 @@ func Render(ctx context.Context, inputTemplate []string, params Parameters) ([]s return res, nil } +func IsInputOutputWrapperSupported(ctx context.Context, metadata RuntimeMetadata) bool { + if metadata != nil && metadata.GetType() == idlCore.RuntimeMetadata_FLYTE_SDK { + v, err := version.ParseSemantic(metadata.GetVersion()) + if err != nil { + logger.Warnf(ctx, "Failed to parse version [%v] to determine the input path behavior. Proceeding with InputDataWrapper format.", metadata.GetVersion()) + } else if !v.AtLeast(inputDataWrapperMinVersion) { + return false + } + } else { + return false + } + + return true +} + func render(ctx context.Context, inputTemplate string, params Parameters, perRetryKey string) (string, error) { val := outputRegex.ReplaceAllString(inputTemplate, params.OutputPath.GetOutputPrefixPath().String()) val = inputPrefixRegex.ReplaceAllString(val, params.Inputs.GetInputPrefixPath().String()) @@ -129,18 +144,7 @@ func render(ctx context.Context, inputTemplate string, params Parameters, perRet // Input format has been updated, check if flytekit has been updated to the new version, the GetInputPath() // itself will upload the input (can be expensive) to the remote location if inputFileRegex.MatchString(val) { - useNewFormat := true - if params.Runtime != nil && params.Runtime.GetType() == idlCore.RuntimeMetadata_FLYTE_SDK { - v, err := version.ParseSemantic(params.Runtime.GetVersion()) - if err != nil { - logger.Warnf(ctx, "Failed to parse version [%v] to determine the input path behavior. Proceeding with InputDataWrapper format.", params.Runtime.GetVersion()) - } else if !v.AtLeast(inputDataWrapperMinVersion) { - useNewFormat = false - } - } else { - useNewFormat = false - } - + useNewFormat := IsInputOutputWrapperSupported(ctx, params.Runtime) if useNewFormat { val = inputFileRegex.ReplaceAllString(val, params.Inputs.GetInputDataPath().String()) } else { diff --git a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go index d18d635cc0..ca1743241d 100644 --- a/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go +++ b/flyteplugins/go/tasks/pluginmachinery/flytek8s/container_helper.go @@ -330,6 +330,14 @@ func AddFlyteCustomizationsToContainer(ctx context.Context, parameters template. container.Resources = ApplyResourceOverrides(container.Resources, *platformResources, !assignIfUnset) } + useNewFormat := template.IsInputOutputWrapperSupported(ctx, parameters.Runtime) + if useNewFormat { + container.Env = append(container.Env, v1.EnvVar{ + Name: "FLYTE_INPUT_OUTPUT_FORMAT", + Value: "VERSION_3", + }) + } + logger.Infof(ctx, "Adjusted container resources [%v]", container.Resources) return nil } diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go index 8ec25aee61..aae253b846 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/iface.go @@ -319,7 +319,7 @@ type MutableNodeStatus interface { SetOutputDir(d DataReference) SetParentNodeID(n *NodeID) SetParentTaskID(t *core.TaskExecutionIdentifier) - UpdatePhase(phase NodePhase, occurredAt metav1.Time, reason string, err *core.ExecutionError) + UpdatePhase(phase NodePhase, occurredAt metav1.Time, reason string, enableCRDebugMetadata bool, err *core.ExecutionError) IncrementAttempts() uint32 IncrementSystemFailures() uint32 SetCached() diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableNodeStatus.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableNodeStatus.go index cb447e06fc..cdf3f1b6ab 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableNodeStatus.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/ExecutableNodeStatus.go @@ -1187,9 +1187,9 @@ func (_m *ExecutableNodeStatus) SetParentTaskID(t *core.TaskExecutionIdentifier) _m.Called(t) } -// UpdatePhase provides a mock function with given fields: phase, occurredAt, reason, err -func (_m *ExecutableNodeStatus) UpdatePhase(phase v1alpha1.NodePhase, occurredAt v1.Time, reason string, err *core.ExecutionError) { - _m.Called(phase, occurredAt, reason, err) +// UpdatePhase provides a mock function with given fields: phase, occurredAt, reason, enableCRDebugMetadata, err +func (_m *ExecutableNodeStatus) UpdatePhase(phase v1alpha1.NodePhase, occurredAt v1.Time, reason string, enableCRDebugMetadata bool, err *core.ExecutionError) { + _m.Called(phase, occurredAt, reason, enableCRDebugMetadata, err) } // VisitNodeStatuses provides a mock function with given fields: visitor diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableNodeStatus.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableNodeStatus.go index b8c97f6be7..3f103bc2ec 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableNodeStatus.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/mocks/MutableNodeStatus.go @@ -587,7 +587,7 @@ func (_m *MutableNodeStatus) SetParentTaskID(t *core.TaskExecutionIdentifier) { _m.Called(t) } -// UpdatePhase provides a mock function with given fields: phase, occurredAt, reason, err -func (_m *MutableNodeStatus) UpdatePhase(phase v1alpha1.NodePhase, occurredAt v1.Time, reason string, err *core.ExecutionError) { - _m.Called(phase, occurredAt, reason, err) +// UpdatePhase provides a mock function with given fields: phase, occurredAt, reason, enableCRDebugMetadata, err +func (_m *MutableNodeStatus) UpdatePhase(phase v1alpha1.NodePhase, occurredAt v1.Time, reason string, enableCRDebugMetadata bool, err *core.ExecutionError) { + _m.Called(phase, occurredAt, reason, enableCRDebugMetadata, err) } diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status.go index 9fb891d01a..aab034224d 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status.go @@ -594,7 +594,7 @@ func (in *NodeStatus) GetOrCreateArrayNodeStatus() MutableArrayNodeStatus { return in.ArrayNodeStatus } -func (in *NodeStatus) UpdatePhase(p NodePhase, occurredAt metav1.Time, reason string, err *core.ExecutionError) { +func (in *NodeStatus) UpdatePhase(p NodePhase, occurredAt metav1.Time, reason string, enableCRDebugMetadata bool, err *core.ExecutionError) { if in.Phase == p && in.Message == reason { // We will not update the phase multiple times. This prevents the comparison from returning false positive return @@ -607,6 +607,7 @@ func (in *NodeStatus) UpdatePhase(p NodePhase, occurredAt metav1.Time, reason st } n := occurredAt + in.LastUpdatedAt = &n if occurredAt.IsZero() { n = metav1.Now() } @@ -625,35 +626,31 @@ func (in *NodeStatus) UpdatePhase(p NodePhase, occurredAt metav1.Time, reason st in.LastAttemptStartedAt = &n } } else if IsPhaseTerminal(p) { - // If we are in terminal phase then we will clear out all our fields as they are not required anymore - // Only thing required is stopped at and lastupdatedat time if in.StoppedAt == nil { in.StoppedAt = &n } - if in.StartedAt == nil { - in.StartedAt = &n - } - if in.LastAttemptStartedAt == nil { - in.LastAttemptStartedAt = &n + if p == NodePhaseSucceeded || p == NodePhaseSkipped || !enableCRDebugMetadata { + // Clear most status related fields after reaching a terminal state. This keeps the CR state small to avoid + // etcd size limits. Importantly we keep Phase, StoppedAt and Error which will be needed further. + in.Message = "" + in.QueuedAt = nil + in.StartedAt = nil + in.LastUpdatedAt = nil + in.LastAttemptStartedAt = nil + in.DynamicNodeStatus = nil + in.BranchStatus = nil + in.SubNodeStatus = nil + in.TaskNodeStatus = nil + in.WorkflowNodeStatus = nil + } else { + if in.StartedAt == nil { + in.StartedAt = &n + } + if in.LastAttemptStartedAt == nil { + in.LastAttemptStartedAt = &n + } } } - in.LastUpdatedAt = &n - - // For cases in which the node is either Succeeded or Skipped we clear most fields from the status - // except for StoppedAt and Phase. StoppedAt is used to calculate transition latency between this node and - // any downstream nodes and Phase is required for propeller to continue to downstream nodes. - if p == NodePhaseSucceeded || p == NodePhaseSkipped { - in.Message = "" - in.QueuedAt = nil - in.StartedAt = nil - in.LastAttemptStartedAt = nil - in.DynamicNodeStatus = nil - in.BranchStatus = nil - in.SubNodeStatus = nil - in.TaskNodeStatus = nil - in.WorkflowNodeStatus = nil - in.LastUpdatedAt = nil - } in.SetDirty() } diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status_test.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status_test.go index 45c299687a..0278d62f55 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status_test.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/node_status_test.go @@ -259,71 +259,202 @@ func TestNodeStatus_UpdatePhase(t *testing.T) { n := metav1.NewTime(time.Now()) const queued = "queued" - t.Run("identical-phase", func(t *testing.T) { - p := NodePhaseQueued - ns := NodeStatus{ - Phase: p, - Message: queued, - } - msg := queued - ns.UpdatePhase(p, n, msg, nil) - assert.Nil(t, ns.QueuedAt) - }) + const success = "success" + for _, enableCRDebugMetadata := range []bool{false, true} { + t.Run("identical-phase", func(t *testing.T) { + p := NodePhaseQueued + ns := NodeStatus{ + Phase: p, + Message: queued, + } + msg := queued + ns.UpdatePhase(p, n, msg, enableCRDebugMetadata, nil) + assert.Nil(t, ns.QueuedAt) + }) - t.Run("zero", func(t *testing.T) { - p := NodePhaseQueued - ns := NodeStatus{} - msg := queued - ns.UpdatePhase(p, metav1.NewTime(time.Time{}), msg, nil) - assert.NotNil(t, ns.QueuedAt) - }) + t.Run("zero", func(t *testing.T) { + p := NodePhaseQueued + ns := NodeStatus{} + msg := queued + ns.UpdatePhase(p, metav1.NewTime(time.Time{}), msg, enableCRDebugMetadata, nil) + assert.NotNil(t, ns.QueuedAt) + }) - t.Run("non-terminal", func(t *testing.T) { - ns := NodeStatus{} - p := NodePhaseQueued - msg := queued - ns.UpdatePhase(p, n, msg, nil) + t.Run("non-terminal", func(t *testing.T) { + ns := NodeStatus{} + p := NodePhaseQueued + msg := queued + ns.UpdatePhase(p, n, msg, enableCRDebugMetadata, nil) + + assert.Equal(t, *ns.LastUpdatedAt, n) + assert.Equal(t, *ns.QueuedAt, n) + assert.Nil(t, ns.LastAttemptStartedAt) + assert.Nil(t, ns.StartedAt) + assert.Nil(t, ns.StoppedAt) + assert.Equal(t, p, ns.Phase) + assert.Equal(t, msg, ns.Message) + assert.Nil(t, ns.Error) + }) - assert.Equal(t, *ns.LastUpdatedAt, n) - assert.Equal(t, *ns.QueuedAt, n) - assert.Nil(t, ns.LastAttemptStartedAt) - assert.Nil(t, ns.StartedAt) - assert.Nil(t, ns.StoppedAt) - assert.Equal(t, p, ns.Phase) - assert.Equal(t, msg, ns.Message) - assert.Nil(t, ns.Error) - }) + t.Run("non-terminal-running", func(t *testing.T) { + ns := NodeStatus{} + p := NodePhaseRunning + msg := "running" + ns.UpdatePhase(p, n, msg, enableCRDebugMetadata, nil) + + assert.Equal(t, *ns.LastUpdatedAt, n) + assert.Nil(t, ns.QueuedAt) + assert.Equal(t, *ns.LastAttemptStartedAt, n) + assert.Equal(t, *ns.StartedAt, n) + assert.Nil(t, ns.StoppedAt) + assert.Equal(t, p, ns.Phase) + assert.Equal(t, msg, ns.Message) + assert.Nil(t, ns.Error) + }) + + t.Run("non-terminal-timing-out", func(t *testing.T) { + ns := NodeStatus{} + p := NodePhaseTimingOut + msg := "timing-out" + ns.UpdatePhase(p, n, msg, enableCRDebugMetadata, nil) + + assert.Equal(t, *ns.LastUpdatedAt, n) + assert.Nil(t, ns.QueuedAt) + assert.Nil(t, ns.LastAttemptStartedAt) + assert.Nil(t, ns.StartedAt) + assert.Nil(t, ns.StoppedAt) + assert.Equal(t, p, ns.Phase) + assert.Equal(t, msg, ns.Message) + assert.Nil(t, ns.Error) + }) - t.Run("non-terminal-running", func(t *testing.T) { + t.Run("terminal-success", func(t *testing.T) { + ns := NodeStatus{} + p := NodePhaseSucceeded + msg := success + ns.UpdatePhase(p, n, msg, enableCRDebugMetadata, nil) + + assert.Nil(t, ns.LastUpdatedAt) + assert.Nil(t, ns.QueuedAt) + assert.Nil(t, ns.LastAttemptStartedAt) + assert.Nil(t, ns.StartedAt) + assert.Equal(t, *ns.StoppedAt, n) + assert.Equal(t, p, ns.Phase) + assert.Empty(t, ns.Message) + assert.Nil(t, ns.Error) + }) + + t.Run("terminal-skipped", func(t *testing.T) { + ns := NodeStatus{} + p := NodePhaseSucceeded + msg := success + ns.UpdatePhase(p, n, msg, enableCRDebugMetadata, nil) + + assert.Nil(t, ns.LastUpdatedAt) + assert.Nil(t, ns.QueuedAt) + assert.Nil(t, ns.LastAttemptStartedAt) + assert.Nil(t, ns.StartedAt) + assert.Equal(t, *ns.StoppedAt, n) + assert.Equal(t, p, ns.Phase) + assert.Empty(t, ns.Message) + assert.Nil(t, ns.Error) + }) + + t.Run("terminal-success-preset", func(t *testing.T) { + ns := NodeStatus{ + QueuedAt: &n, + StartedAt: &n, + LastUpdatedAt: &n, + LastAttemptStartedAt: &n, + WorkflowNodeStatus: &WorkflowNodeStatus{}, + BranchStatus: &BranchNodeStatus{}, + DynamicNodeStatus: &DynamicNodeStatus{}, + TaskNodeStatus: &TaskNodeStatus{}, + SubNodeStatus: map[NodeID]*NodeStatus{}, + } + p := NodePhaseSucceeded + msg := success + ns.UpdatePhase(p, n, msg, enableCRDebugMetadata, nil) + + assert.Nil(t, ns.LastUpdatedAt) + assert.Nil(t, ns.QueuedAt) + assert.Nil(t, ns.LastAttemptStartedAt) + assert.Nil(t, ns.StartedAt) + assert.Equal(t, *ns.StoppedAt, n) + assert.Equal(t, p, ns.Phase) + assert.Empty(t, ns.Message) + assert.Nil(t, ns.Error) + assert.Nil(t, ns.SubNodeStatus) + assert.Nil(t, ns.DynamicNodeStatus) + assert.Nil(t, ns.WorkflowNodeStatus) + assert.Nil(t, ns.BranchStatus) + assert.Nil(t, ns.TaskNodeStatus) + }) + + t.Run("non-terminal-preset", func(t *testing.T) { + ns := NodeStatus{ + QueuedAt: &n, + StartedAt: &n, + LastUpdatedAt: &n, + LastAttemptStartedAt: &n, + WorkflowNodeStatus: &WorkflowNodeStatus{}, + BranchStatus: &BranchNodeStatus{}, + DynamicNodeStatus: &DynamicNodeStatus{}, + TaskNodeStatus: &TaskNodeStatus{}, + SubNodeStatus: map[NodeID]*NodeStatus{}, + } + n2 := metav1.NewTime(time.Now()) + p := NodePhaseRunning + msg := "running" + ns.UpdatePhase(p, n2, msg, enableCRDebugMetadata, nil) + + assert.Equal(t, *ns.LastUpdatedAt, n2) + assert.Equal(t, *ns.QueuedAt, n) + assert.Equal(t, *ns.LastAttemptStartedAt, n) + assert.Equal(t, *ns.StartedAt, n) + assert.Nil(t, ns.StoppedAt) + assert.Equal(t, p, ns.Phase) + assert.Equal(t, msg, ns.Message) + assert.Nil(t, ns.Error) + assert.NotNil(t, ns.SubNodeStatus) + assert.NotNil(t, ns.DynamicNodeStatus) + assert.NotNil(t, ns.WorkflowNodeStatus) + assert.NotNil(t, ns.BranchStatus) + assert.NotNil(t, ns.TaskNodeStatus) + }) + } + + t.Run("terminal-fail", func(t *testing.T) { ns := NodeStatus{} - p := NodePhaseRunning - msg := "running" - ns.UpdatePhase(p, n, msg, nil) + p := NodePhaseFailed + msg := "failed" + err := &core.ExecutionError{} + ns.UpdatePhase(p, n, msg, true, err) assert.Equal(t, *ns.LastUpdatedAt, n) assert.Nil(t, ns.QueuedAt) assert.Equal(t, *ns.LastAttemptStartedAt, n) assert.Equal(t, *ns.StartedAt, n) - assert.Nil(t, ns.StoppedAt) + assert.Equal(t, *ns.StoppedAt, n) assert.Equal(t, p, ns.Phase) assert.Equal(t, msg, ns.Message) - assert.Nil(t, ns.Error) + assert.Equal(t, ns.Error.ExecutionError, err) }) - t.Run("terminal-fail", func(t *testing.T) { + t.Run("terminal-fail-clear-state-on-any-termination", func(t *testing.T) { ns := NodeStatus{} p := NodePhaseFailed msg := "failed" err := &core.ExecutionError{} - ns.UpdatePhase(p, n, msg, err) + ns.UpdatePhase(p, n, msg, false, err) - assert.Equal(t, *ns.LastUpdatedAt, n) + assert.Nil(t, ns.LastUpdatedAt) assert.Nil(t, ns.QueuedAt) - assert.Equal(t, *ns.LastAttemptStartedAt, n) - assert.Equal(t, *ns.StartedAt, n) + assert.Nil(t, ns.LastAttemptStartedAt) + assert.Nil(t, ns.StartedAt) assert.Equal(t, *ns.StoppedAt, n) assert.Equal(t, p, ns.Phase) - assert.Equal(t, msg, ns.Message) + assert.Equal(t, ns.Message, "") assert.Equal(t, ns.Error.ExecutionError, err) }) @@ -332,7 +463,7 @@ func TestNodeStatus_UpdatePhase(t *testing.T) { p := NodePhaseTimedOut msg := "tm" err := &core.ExecutionError{} - ns.UpdatePhase(p, n, msg, err) + ns.UpdatePhase(p, n, msg, true, err) assert.Equal(t, *ns.LastUpdatedAt, n) assert.Nil(t, ns.QueuedAt) @@ -344,54 +475,12 @@ func TestNodeStatus_UpdatePhase(t *testing.T) { assert.Equal(t, ns.Error.ExecutionError, err) }) - const success = "success" - t.Run("terminal-success", func(t *testing.T) { - ns := NodeStatus{} - p := NodePhaseSucceeded - msg := success - ns.UpdatePhase(p, n, msg, nil) - - assert.Nil(t, ns.LastUpdatedAt) - assert.Nil(t, ns.QueuedAt) - assert.Nil(t, ns.LastAttemptStartedAt) - assert.Nil(t, ns.StartedAt) - assert.Equal(t, *ns.StoppedAt, n) - assert.Equal(t, p, ns.Phase) - assert.Empty(t, ns.Message) - assert.Nil(t, ns.Error) - }) - - t.Run("terminal-skipped", func(t *testing.T) { + t.Run("terminal-timeout-clear-state-on-any-termination", func(t *testing.T) { ns := NodeStatus{} - p := NodePhaseSucceeded - msg := success - ns.UpdatePhase(p, n, msg, nil) - - assert.Nil(t, ns.LastUpdatedAt) - assert.Nil(t, ns.QueuedAt) - assert.Nil(t, ns.LastAttemptStartedAt) - assert.Nil(t, ns.StartedAt) - assert.Equal(t, *ns.StoppedAt, n) - assert.Equal(t, p, ns.Phase) - assert.Empty(t, ns.Message) - assert.Nil(t, ns.Error) - }) - - t.Run("terminal-success-preset", func(t *testing.T) { - ns := NodeStatus{ - QueuedAt: &n, - StartedAt: &n, - LastUpdatedAt: &n, - LastAttemptStartedAt: &n, - WorkflowNodeStatus: &WorkflowNodeStatus{}, - BranchStatus: &BranchNodeStatus{}, - DynamicNodeStatus: &DynamicNodeStatus{}, - TaskNodeStatus: &TaskNodeStatus{}, - SubNodeStatus: map[NodeID]*NodeStatus{}, - } - p := NodePhaseSucceeded - msg := success - ns.UpdatePhase(p, n, msg, nil) + p := NodePhaseTimedOut + msg := "tm" + err := &core.ExecutionError{} + ns.UpdatePhase(p, n, msg, false, err) assert.Nil(t, ns.LastUpdatedAt) assert.Nil(t, ns.QueuedAt) @@ -399,44 +488,7 @@ func TestNodeStatus_UpdatePhase(t *testing.T) { assert.Nil(t, ns.StartedAt) assert.Equal(t, *ns.StoppedAt, n) assert.Equal(t, p, ns.Phase) - assert.Empty(t, ns.Message) - assert.Nil(t, ns.Error) - assert.Nil(t, ns.SubNodeStatus) - assert.Nil(t, ns.DynamicNodeStatus) - assert.Nil(t, ns.WorkflowNodeStatus) - assert.Nil(t, ns.BranchStatus) - assert.Nil(t, ns.TaskNodeStatus) - }) - - t.Run("non-terminal-preset", func(t *testing.T) { - ns := NodeStatus{ - QueuedAt: &n, - StartedAt: &n, - LastUpdatedAt: &n, - LastAttemptStartedAt: &n, - WorkflowNodeStatus: &WorkflowNodeStatus{}, - BranchStatus: &BranchNodeStatus{}, - DynamicNodeStatus: &DynamicNodeStatus{}, - TaskNodeStatus: &TaskNodeStatus{}, - SubNodeStatus: map[NodeID]*NodeStatus{}, - } - n2 := metav1.NewTime(time.Now()) - p := NodePhaseRunning - msg := "running" - ns.UpdatePhase(p, n2, msg, nil) - - assert.Equal(t, *ns.LastUpdatedAt, n2) - assert.Equal(t, *ns.QueuedAt, n) - assert.Equal(t, *ns.LastAttemptStartedAt, n) - assert.Equal(t, *ns.StartedAt, n) - assert.Nil(t, ns.StoppedAt) - assert.Equal(t, p, ns.Phase) - assert.Equal(t, msg, ns.Message) - assert.Nil(t, ns.Error) - assert.NotNil(t, ns.SubNodeStatus) - assert.NotNil(t, ns.DynamicNodeStatus) - assert.NotNil(t, ns.WorkflowNodeStatus) - assert.NotNil(t, ns.BranchStatus) - assert.NotNil(t, ns.TaskNodeStatus) + assert.Equal(t, ns.Message, "") + assert.Equal(t, ns.Error.ExecutionError, err) }) } diff --git a/flytepropeller/pkg/controller/config/config.go b/flytepropeller/pkg/controller/config/config.go index 1afc986287..698883fb48 100644 --- a/flytepropeller/pkg/controller/config/config.go +++ b/flytepropeller/pkg/controller/config/config.go @@ -98,6 +98,7 @@ var ( InterruptibleFailureThreshold: -1, DefaultMaxAttempts: 1, IgnoreRetryCause: false, + EnableCRDebugMetadata: false, }, MaxStreakLength: 8, // Turbo mode is enabled by default ProfilerPort: config.Port{ @@ -213,6 +214,7 @@ type NodeConfig struct { InterruptibleFailureThreshold int32 `json:"interruptible-failure-threshold" pflag:"1,number of failures for a node to be still considered interruptible. Negative numbers are treated as complementary (ex. -1 means last attempt is non-interruptible).'"` DefaultMaxAttempts int32 `json:"default-max-attempts" pflag:"3,Default maximum number of attempts for a node"` IgnoreRetryCause bool `json:"ignore-retry-cause" pflag:",Ignore retry cause and count all attempts toward a node's max attempts"` + EnableCRDebugMetadata bool `json:"enable-cr-debug-metadata" pflag:",Collapse node on any terminal state, not just successful terminations. This is useful to reduce the size of workflow state in etcd."` } // DefaultDeadlines contains default values for timeouts diff --git a/flytepropeller/pkg/controller/config/config_flags.go b/flytepropeller/pkg/controller/config/config_flags.go index 07a4fba742..c60f724ee2 100755 --- a/flytepropeller/pkg/controller/config/config_flags.go +++ b/flytepropeller/pkg/controller/config/config_flags.go @@ -96,6 +96,7 @@ func (cfg Config) GetPFlagSet(prefix string) *pflag.FlagSet { cmdFlags.Int32(fmt.Sprintf("%v%v", prefix, "node-config.interruptible-failure-threshold"), defaultConfig.NodeConfig.InterruptibleFailureThreshold, "number of failures for a node to be still considered interruptible. Negative numbers are treated as complementary (ex. -1 means last attempt is non-interruptible).'") cmdFlags.Int32(fmt.Sprintf("%v%v", prefix, "node-config.default-max-attempts"), defaultConfig.NodeConfig.DefaultMaxAttempts, "Default maximum number of attempts for a node") cmdFlags.Bool(fmt.Sprintf("%v%v", prefix, "node-config.ignore-retry-cause"), defaultConfig.NodeConfig.IgnoreRetryCause, "Ignore retry cause and count all attempts toward a node's max attempts") + cmdFlags.Bool(fmt.Sprintf("%v%v", prefix, "node-config.enable-cr-debug-metadata"), defaultConfig.NodeConfig.EnableCRDebugMetadata, "Collapse node on any terminal state, not just successful terminations. This is useful to reduce the size of workflow state in etcd.") cmdFlags.Int(fmt.Sprintf("%v%v", prefix, "max-streak-length"), defaultConfig.MaxStreakLength, "Maximum number of consecutive rounds that one propeller worker can use for one workflow - >1 => turbo-mode is enabled.") cmdFlags.String(fmt.Sprintf("%v%v", prefix, "event-config.raw-output-policy"), defaultConfig.EventConfig.RawOutputPolicy, "How output data should be passed along in execution events.") cmdFlags.Bool(fmt.Sprintf("%v%v", prefix, "event-config.fallback-to-output-reference"), defaultConfig.EventConfig.FallbackToOutputReference, "Whether output data should be sent by reference when it is too large to be sent inline in execution events.") diff --git a/flytepropeller/pkg/controller/config/config_flags_test.go b/flytepropeller/pkg/controller/config/config_flags_test.go index 54da9e9fe1..6f3c67b652 100755 --- a/flytepropeller/pkg/controller/config/config_flags_test.go +++ b/flytepropeller/pkg/controller/config/config_flags_test.go @@ -743,6 +743,20 @@ func TestConfig_SetFlags(t *testing.T) { } }) }) + t.Run("Test_node-config.enable-cr-debug-metadata", func(t *testing.T) { + + t.Run("Override", func(t *testing.T) { + testValue := "1" + + cmdFlags.Set("node-config.enable-cr-debug-metadata", testValue) + if vBool, err := cmdFlags.GetBool("node-config.enable-cr-debug-metadata"); err == nil { + testDecodeJson_Config(t, fmt.Sprintf("%v", vBool), &actual.NodeConfig.EnableCRDebugMetadata) + + } else { + assert.FailNow(t, err.Error()) + } + }) + }) t.Run("Test_max-streak-length", func(t *testing.T) { t.Run("Override", func(t *testing.T) { diff --git a/flytepropeller/pkg/controller/controller.go b/flytepropeller/pkg/controller/controller.go index ac94ab6848..de28612c54 100644 --- a/flytepropeller/pkg/controller/controller.go +++ b/flytepropeller/pkg/controller/controller.go @@ -324,10 +324,21 @@ func New(ctx context.Context, cfg *config.Config, kubeClientset kubernetes.Inter logger.Errorf(ctx, "failed to initialize Admin client, err :%s", err.Error()) return nil, err } + + sCfg := storage.GetConfig() + if sCfg == nil { + logger.Errorf(ctx, "Storage configuration missing.") + } + + store, err := storage.NewDataStore(sCfg, scope.NewSubScope("metastore")) + if err != nil { + return nil, errors.Wrapf(err, "Failed to create Metadata storage") + } + var launchPlanActor launchplan.FlyteAdmin if cfg.EnableAdminLauncher { launchPlanActor, err = launchplan.NewAdminLaunchPlanExecutor(ctx, adminClient, cfg.DownstreamEval.Duration, - launchplan.GetAdminConfig(), scope.NewSubScope("admin_launcher")) + launchplan.GetAdminConfig(), scope.NewSubScope("admin_launcher"), store) if err != nil { logger.Errorf(ctx, "failed to create Admin workflow Launcher, err: %v", err.Error()) return nil, err @@ -401,16 +412,6 @@ func New(ctx context.Context, cfg *config.Config, kubeClientset kubernetes.Inter flytek8s.DefaultPodTemplateStore.SetDefaultNamespace(podNamespace) - sCfg := storage.GetConfig() - if sCfg == nil { - logger.Errorf(ctx, "Storage configuration missing.") - } - - store, err := storage.NewDataStoreWithContext(ctx, sCfg, scope.NewSubScope("metastore")) - if err != nil { - return nil, errors.Wrapf(err, "Failed to create Metadata storage") - } - logger.Info(ctx, "Setting up Catalog client.") catalogClient, err := catalog.NewCatalogClient(ctx, authOpts...) if err != nil { diff --git a/flytepropeller/pkg/controller/nodes/branch/evaluator.go b/flytepropeller/pkg/controller/nodes/branch/evaluator.go index cafe8941b1..ae08eb7499 100644 --- a/flytepropeller/pkg/controller/nodes/branch/evaluator.go +++ b/flytepropeller/pkg/controller/nodes/branch/evaluator.go @@ -133,7 +133,9 @@ func DecideBranch(ctx context.Context, nl executors.NodeLookup, nodeID v1alpha1. } nStatus := nl.GetNodeExecutionStatus(ctx, n.GetID()) logger.Infof(ctx, "Branch Setting Node[%v] status to Skipped!", skippedNodeID) - nStatus.UpdatePhase(v1alpha1.NodePhaseSkipped, v1.Now(), "Branch evaluated to false", nil) + // We hard code enableCRDebugMetadata=true because it has no effect when setting phase to + // NodePhaseSkipped. This saves us passing the config all the way down from the nodeExecutor. + nStatus.UpdatePhase(v1alpha1.NodePhaseSkipped, v1.Now(), "Branch evaluated to false", true, nil) } if selectedNodeID == nil { diff --git a/flytepropeller/pkg/controller/nodes/executor.go b/flytepropeller/pkg/controller/nodes/executor.go index c8f47ac1fd..31859ebaf5 100644 --- a/flytepropeller/pkg/controller/nodes/executor.go +++ b/flytepropeller/pkg/controller/nodes/executor.go @@ -478,6 +478,7 @@ func (c *recursiveNodeExecutor) WithNodeExecutionContextBuilder(nCtxBuilder inte type nodeExecutor struct { catalog catalog.Client clusterID string + enableCRDebugMetadata bool defaultActiveDeadline time.Duration defaultDataSandbox storage.DataReference defaultExecutionDeadline time.Duration @@ -1015,7 +1016,7 @@ func (c *nodeExecutor) handleNotYetStartedNode(ctx context.Context, dag executor logger.Warningf(ctx, "Failed to record nodeEvent, error [%s]", err.Error()) return interfaces.NodeStatusUndefined, errors.Wrapf(errors.EventRecordingFailed, nCtx.NodeID(), err, "failed to record node event") } - UpdateNodeStatus(np, p, nCtx.NodeStateReader(), nodeStatus) + UpdateNodeStatus(np, p, nCtx.NodeStateReader(), nodeStatus, c.enableCRDebugMetadata) c.RecordTransitionLatency(ctx, dag, nCtx.ContextualNodeLookup(), nCtx.Node(), nodeStatus) } @@ -1281,7 +1282,7 @@ func (c *nodeExecutor) handleQueuedOrRunningNode(ctx context.Context, nCtx inter } } - UpdateNodeStatus(np, p, nCtx.NodeStateReader(), nodeStatus) + UpdateNodeStatus(np, p, nCtx.NodeStateReader(), nodeStatus, c.enableCRDebugMetadata) return finalStatus, nil } @@ -1295,7 +1296,7 @@ func (c *nodeExecutor) handleRetryableFailure(ctx context.Context, nCtx interfac // NOTE: It is important to increment attempts only after abort has been called. Increment attempt mutates the state // Attempt is used throughout the system to determine the idempotent resource version. nodeStatus.IncrementAttempts() - nodeStatus.UpdatePhase(v1alpha1.NodePhaseRunning, metav1.Now(), "retrying", nil) + nodeStatus.UpdatePhase(v1alpha1.NodePhaseRunning, metav1.Now(), "retrying", c.enableCRDebugMetadata, nil) // We are going to retry in the next round, so we should clear all current state nodeStatus.ClearSubNodeStatus() nodeStatus.ClearTaskStatus() @@ -1334,8 +1335,14 @@ func (c *nodeExecutor) HandleNode(ctx context.Context, dag executors.DAGStructur if err := c.Abort(ctx, h, nCtx, "node failing", false); err != nil { return interfaces.NodeStatusUndefined, err } - nodeStatus.UpdatePhase(v1alpha1.NodePhaseFailed, metav1.Now(), nodeStatus.GetMessage(), nodeStatus.GetExecutionError()) - c.metrics.FailureDuration.Observe(ctx, nodeStatus.GetStartedAt().Time, nodeStatus.GetStoppedAt().Time) + t := metav1.Now() + + startedAt := nodeStatus.GetStartedAt() + if startedAt == nil { + startedAt = &t + } + nodeStatus.UpdatePhase(v1alpha1.NodePhaseFailed, t, nodeStatus.GetMessage(), c.enableCRDebugMetadata, nodeStatus.GetExecutionError()) + c.metrics.FailureDuration.Observe(ctx, startedAt.Time, nodeStatus.GetStoppedAt().Time) if nCtx.NodeExecutionMetadata().IsInterruptible() { c.metrics.InterruptibleNodesTerminated.Inc(ctx) } @@ -1348,8 +1355,7 @@ func (c *nodeExecutor) HandleNode(ctx context.Context, dag executors.DAGStructur return interfaces.NodeStatusUndefined, err } - nodeStatus.ClearSubNodeStatus() - nodeStatus.UpdatePhase(v1alpha1.NodePhaseTimedOut, metav1.Now(), nodeStatus.GetMessage(), nodeStatus.GetExecutionError()) + nodeStatus.UpdatePhase(v1alpha1.NodePhaseTimedOut, metav1.Now(), nodeStatus.GetMessage(), c.enableCRDebugMetadata, nodeStatus.GetExecutionError()) c.metrics.TimedOutFailure.Inc(ctx) if nCtx.NodeExecutionMetadata().IsInterruptible() { c.metrics.InterruptibleNodesTerminated.Inc(ctx) @@ -1373,8 +1379,7 @@ func (c *nodeExecutor) HandleNode(ctx context.Context, dag executors.DAGStructur stopped = &t } c.metrics.SuccessDuration.Observe(ctx, started.Time, stopped.Time) - nodeStatus.ClearSubNodeStatus() - nodeStatus.UpdatePhase(v1alpha1.NodePhaseSucceeded, t, "completed successfully", nil) + nodeStatus.UpdatePhase(v1alpha1.NodePhaseSucceeded, t, "completed successfully", c.enableCRDebugMetadata, nil) if nCtx.NodeExecutionMetadata().IsInterruptible() { c.metrics.InterruptibleNodesTerminated.Inc(ctx) } @@ -1441,6 +1446,7 @@ func NewExecutor(ctx context.Context, nodeConfig config.NodeConfig, store *stora nodeExecutor := &nodeExecutor{ catalog: catalogClient, clusterID: clusterID, + enableCRDebugMetadata: nodeConfig.EnableCRDebugMetadata, defaultActiveDeadline: nodeConfig.DefaultDeadlines.DefaultNodeActiveDeadline.Duration, defaultDataSandbox: defaultRawOutputPrefix, defaultExecutionDeadline: nodeConfig.DefaultDeadlines.DefaultNodeExecutionDeadline.Duration, diff --git a/flytepropeller/pkg/controller/nodes/executor_test.go b/flytepropeller/pkg/controller/nodes/executor_test.go index e953afcddb..aefa0827bb 100644 --- a/flytepropeller/pkg/controller/nodes/executor_test.go +++ b/flytepropeller/pkg/controller/nodes/executor_test.go @@ -567,7 +567,7 @@ func TestNodeExecutor_RecursiveNodeHandler_Recurse(t *testing.T) { }, } - setupNodePhase := func(n0Phase, n2Phase, expectedN2Phase v1alpha1.NodePhase) (*mocks.ExecutableWorkflow, *mocks.ExecutableNodeStatus) { + setupNodePhase := func(n0Phase, n2Phase, expectedN2Phase v1alpha1.NodePhase, expectedClearStateOnAnyTermination bool) (*mocks.ExecutableWorkflow, *mocks.ExecutableNodeStatus) { taskID := "id" taskID0 := "id1" // Setup @@ -584,7 +584,7 @@ func TestNodeExecutor_RecursiveNodeHandler_Recurse(t *testing.T) { mockN2Status.OnGetStoppedAt().Return(nil) var ee *core.ExecutionError - mockN2Status.On("UpdatePhase", expectedN2Phase, mock.Anything, mock.AnythingOfType("string"), ee) + mockN2Status.On("UpdatePhase", expectedN2Phase, mock.Anything, mock.AnythingOfType("string"), expectedClearStateOnAnyTermination, ee) mockN2Status.OnIsDirty().Return(false) mockN2Status.OnGetTaskNodeStatus().Return(nil) mockN2Status.On("ClearDynamicNodeStatus").Return(nil) @@ -661,17 +661,21 @@ func TestNodeExecutor_RecursiveNodeHandler_Recurse(t *testing.T) { } tests := []struct { - name string - currentNodePhase v1alpha1.NodePhase - parentNodePhase v1alpha1.NodePhase - expectedNodePhase v1alpha1.NodePhase - expectedPhase interfaces.NodePhase - expectedError bool - updateCalled bool + name string + currentNodePhase v1alpha1.NodePhase + parentNodePhase v1alpha1.NodePhase + enableCRDebugMetadata bool + expectedNodePhase v1alpha1.NodePhase + expectedPhase interfaces.NodePhase + expectedError bool + updateCalled bool }{ - {"notYetStarted->skipped", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseFailed, v1alpha1.NodePhaseSkipped, interfaces.NodePhaseFailed, false, false}, - {"notYetStarted->skipped", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseSkipped, v1alpha1.NodePhaseSkipped, interfaces.NodePhaseSuccess, false, true}, - {"notYetStarted->queued", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseSucceeded, v1alpha1.NodePhaseQueued, interfaces.NodePhasePending, false, true}, + {"notYetStarted->skipped", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseFailed, false, v1alpha1.NodePhaseSkipped, interfaces.NodePhaseFailed, false, false}, + {"notYetStarted->skipped", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseSkipped, false, v1alpha1.NodePhaseSkipped, interfaces.NodePhaseSuccess, false, true}, + {"notYetStarted->queued", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseSucceeded, false, v1alpha1.NodePhaseQueued, interfaces.NodePhasePending, false, true}, + {"notYetStarted->skipped enableCRDebugMetadata", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseFailed, true, v1alpha1.NodePhaseSkipped, interfaces.NodePhaseFailed, false, false}, + {"notYetStarted->skipped enableCRDebugMetadata", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseSkipped, true, v1alpha1.NodePhaseSkipped, interfaces.NodePhaseSuccess, false, true}, + {"notYetStarted->queued enableCRDebugMetadata", v1alpha1.NodePhaseNotYetStarted, v1alpha1.NodePhaseSucceeded, true, v1alpha1.NodePhaseQueued, interfaces.NodePhasePending, false, true}, } for _, test := range tests { t.Run(test.name, func(t *testing.T) { @@ -686,12 +690,14 @@ func TestNodeExecutor_RecursiveNodeHandler_Recurse(t *testing.T) { h.OnFinalizeRequired().Return(false) hf.OnGetHandler(v1alpha1.NodeKindTask).Return(h, nil) - mockWf, _ := setupNodePhase(test.parentNodePhase, test.currentNodePhase, test.expectedNodePhase) + mockWf, _ := setupNodePhase(test.parentNodePhase, test.currentNodePhase, test.expectedNodePhase, test.enableCRDebugMetadata) startNode := mockWf.StartNode() store := createInmemoryDataStore(t, promutils.NewTestScope()) adminClient := launchplan.NewFailFastLaunchPlanExecutor() - execIface, err := NewExecutor(ctx, config.GetConfig().NodeConfig, store, enQWf, mockEventSink, adminClient, adminClient, + nodeConfig := config.GetConfig().NodeConfig + nodeConfig.EnableCRDebugMetadata = test.enableCRDebugMetadata + execIface, err := NewExecutor(ctx, nodeConfig, store, enQWf, mockEventSink, adminClient, adminClient, 10, "s3://bucket", fakeKubeClient, catalogClient, recoveryClient, eventConfig, testClusterID, signalClient, hf, promutils.NewTestScope()) assert.NoError(t, err) exec := execIface.(*recursiveNodeExecutor) @@ -1331,7 +1337,7 @@ func TestNodeExecutor_RecursiveNodeHandler_BranchNode(t *testing.T) { if test.phaseUpdateExpected { var ee *core.ExecutionError - branchTakeNodeStatus.On("UpdatePhase", v1alpha1.NodePhaseQueued, mock.Anything, mock.Anything, ee).Return() + branchTakeNodeStatus.On("UpdatePhase", v1alpha1.NodePhaseQueued, mock.Anything, mock.Anything, false, ee).Return() } leafDag := executors.NewLeafNodeDAGStructure(branchTakenNodeID, parentBranchNodeID) diff --git a/flytepropeller/pkg/controller/nodes/output_resolver.go b/flytepropeller/pkg/controller/nodes/output_resolver.go index f052200599..595263f4d7 100644 --- a/flytepropeller/pkg/controller/nodes/output_resolver.go +++ b/flytepropeller/pkg/controller/nodes/output_resolver.go @@ -113,8 +113,8 @@ func resolveSubtaskOutput(ctx context.Context, store storage.ProtobufStore, node func resolveSingleOutput(ctx context.Context, store storage.ProtobufStore, nodeID string, outputsFileRef storage.DataReference, varName string) (*core.Literal, error) { - oldOutputs := &core.LiteralMap{} outputs := &core.OutputData{} + oldOutputs := &core.LiteralMap{} if msgIndex, err := store.ReadProtobufAny(ctx, outputsFileRef, outputs, oldOutputs); err != nil { return nil, errors.Wrapf(errors.CausedByError, nodeID, err, "Failed to GetPrevious data from outputDir [%v]", outputsFileRef) diff --git a/flytepropeller/pkg/controller/nodes/output_resolver_test.go b/flytepropeller/pkg/controller/nodes/output_resolver_test.go index 89840ae371..ae6d08ea7f 100644 --- a/flytepropeller/pkg/controller/nodes/output_resolver_test.go +++ b/flytepropeller/pkg/controller/nodes/output_resolver_test.go @@ -1,6 +1,9 @@ package nodes import ( + protoV1 "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" + "os" "testing" "github.com/stretchr/testify/assert" @@ -29,3 +32,35 @@ func TestCreateAliasMap(t *testing.T) { assert.Equal(t, map[string]string{}, m) } } + +func TestOutputTemp(t *testing.T) { + f, err := os.ReadFile("/Users/haytham/Downloads/outputs.pb") + assert.NoError(t, err) + + msg := []protoV1.Message{&core.OutputData{}, &core.LiteralMap{}} + var lastErr error + var index int + for i, m := range msg { + //var mCopy proto.Message + //if len(msg) > 1 { + // mCopy = proto.Clone(protoV1.MessageV2(m)) + //} + + err = proto.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(f, protoV1.MessageV2(m)) + if err != nil { + lastErr = err + continue + } + + if len(msg) == 1 || len(protoV1.MessageV2(m).ProtoReflect().GetUnknown()) == 0 { + index = i + lastErr = nil + break + } + } + + assert.NoError(t, lastErr) + t.Log(index) + t.Log(msg[index]) + t.FailNow() +} diff --git a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin.go b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin.go index 7bd8d45f70..f3ed73ef5a 100644 --- a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin.go +++ b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin.go @@ -19,6 +19,7 @@ import ( stdErr "github.com/flyteorg/flyte/flytestdlib/errors" "github.com/flyteorg/flyte/flytestdlib/logger" "github.com/flyteorg/flyte/flytestdlib/promutils" + "github.com/flyteorg/flyte/flytestdlib/storage" ) var isRecovery = true @@ -33,6 +34,7 @@ func IsWorkflowTerminated(p core.WorkflowExecution_Phase) bool { type adminLaunchPlanExecutor struct { adminClient service.AdminServiceClient cache cache.AutoRefresh + store *storage.DataStore } type executionCacheItem struct { @@ -267,24 +269,34 @@ func (a *adminLaunchPlanExecutor) syncItem(ctx context.Context, batch cache.Batc execData, err := a.adminClient.GetExecutionData(ctx, &admin.WorkflowExecutionGetDataRequest{ Id: &exec.WorkflowExecutionIdentifier, }) + if err != nil || execData.GetFullOutputs() == nil || execData.GetFullOutputs().GetLiterals() == nil { + outputURI := res.GetClosure().GetOutputs().GetUri() + // attempt remote storage read on GetExecutionData failure + if outputURI != "" { + err = a.store.ReadProtobuf(ctx, storage.DataReference(outputURI), outputs) + if err != nil { + logger.Errorf(ctx, "Failed to read outputs from URI [%s] with err: %v", outputURI, err) + } + } + if err != nil { + resp = append(resp, cache.ItemSyncResponse{ + ID: obj.GetID(), + Item: executionCacheItem{ + WorkflowExecutionIdentifier: exec.WorkflowExecutionIdentifier, + SyncError: err, + }, + Action: cache.Update, + }) + + continue + } - if err != nil { - resp = append(resp, cache.ItemSyncResponse{ - ID: obj.GetID(), - Item: executionCacheItem{ - WorkflowExecutionIdentifier: exec.WorkflowExecutionIdentifier, - SyncError: err, - }, - Action: cache.Update, - }) - - continue - } - - outputs = execData.GetOutputData() - if outputs == nil && execData.GetFullOutputs() != nil { - outputs = &core.OutputData{ - Outputs: execData.GetFullOutputs(), + } else { + outputs = execData.GetOutputData() + if outputs == nil && execData.GetFullOutputs() != nil { + outputs = &core.OutputData{ + Outputs: execData.GetFullOutputs(), + } } } } @@ -305,9 +317,10 @@ func (a *adminLaunchPlanExecutor) syncItem(ctx context.Context, batch cache.Batc } func NewAdminLaunchPlanExecutor(_ context.Context, client service.AdminServiceClient, - syncPeriod time.Duration, cfg *AdminConfig, scope promutils.Scope) (FlyteAdmin, error) { + syncPeriod time.Duration, cfg *AdminConfig, scope promutils.Scope, store *storage.DataStore) (FlyteAdmin, error) { exec := &adminLaunchPlanExecutor{ adminClient: client, + store: store, } rateLimiter := &workqueue.BucketRateLimiter{Limiter: rate.NewLimiter(rate.Limit(cfg.TPS), cfg.Burst)} diff --git a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go index 0af8d1eb16..1f359c1d6a 100644 --- a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go +++ b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go @@ -12,11 +12,16 @@ import ( "google.golang.org/grpc/status" "github.com/flyteorg/flyte/flyteidl/clients/go/admin/mocks" + "github.com/flyteorg/flyte/flyteidl/clients/go/coreutils" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flytestdlib/cache" mocks2 "github.com/flyteorg/flyte/flytestdlib/cache/mocks" + "github.com/flyteorg/flyte/flytestdlib/contextutils" "github.com/flyteorg/flyte/flytestdlib/promutils" + "github.com/flyteorg/flyte/flytestdlib/promutils/labeled" + "github.com/flyteorg/flyte/flytestdlib/storage" + storageMocks "github.com/flyteorg/flyte/flytestdlib/storage/mocks" ) func TestAdminLaunchPlanExecutor_GetStatus(t *testing.T) { @@ -28,9 +33,12 @@ func TestAdminLaunchPlanExecutor_GetStatus(t *testing.T) { } var result *admin.ExecutionClosure + memStore, err := storage.NewDataStore(&storage.Config{Type: storage.TypeMemory}, promutils.NewTestScope()) + assert.NoError(t, err) + t.Run("happy", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope(), memStore) assert.NoError(t, err) mockClient.On("GetExecution", ctx, @@ -42,25 +50,6 @@ func TestAdminLaunchPlanExecutor_GetStatus(t *testing.T) { assert.Equal(t, result, s) }) - t.Run("terminal-sync", func(t *testing.T) { - mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope()) - assert.NoError(t, err) - iwMock := &mocks2.ItemWrapper{} - i := executionCacheItem{ExecutionClosure: &admin.ExecutionClosure{Phase: core.WorkflowExecution_SUCCEEDED, WorkflowId: &core.Identifier{Project: "p"}}} - iwMock.OnGetItem().Return(i) - iwMock.OnGetID().Return("id") - adminExec := exec.(*adminLaunchPlanExecutor) - v, err := adminExec.syncItem(ctx, cache.Batch{ - iwMock, - }) - assert.NoError(t, err) - assert.NotNil(t, v) - assert.Len(t, v, 1) - assert.Equal(t, v[0].ID, "id") - assert.Equal(t, v[0].Item, i) - }) - t.Run("notFound", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} @@ -76,7 +65,7 @@ func TestAdminLaunchPlanExecutor_GetStatus(t *testing.T) { mock.MatchedBy(func(o *admin.WorkflowExecutionGetRequest) bool { return true }), ).Return(nil, status.Error(codes.NotFound, "")) - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope(), memStore) assert.NoError(t, err) assert.NoError(t, exec.Initialize(ctx)) @@ -122,7 +111,7 @@ func TestAdminLaunchPlanExecutor_GetStatus(t *testing.T) { mock.MatchedBy(func(o *admin.WorkflowExecutionGetRequest) bool { return true }), ).Return(nil, status.Error(codes.Canceled, "")) - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope(), memStore) assert.NoError(t, err) assert.NoError(t, exec.Initialize(ctx)) @@ -162,11 +151,13 @@ func TestAdminLaunchPlanExecutor_Launch(t *testing.T) { Domain: "d", Project: "p", } + memStore, err := storage.NewDataStore(&storage.Config{Type: storage.TypeMemory}, promutils.NewTestScope()) + assert.NoError(t, err) t.Run("happy", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) mockClient.On("CreateExecution", ctx, mock.MatchedBy(func(o *admin.ExecutionCreateRequest) bool { @@ -204,7 +195,7 @@ func TestAdminLaunchPlanExecutor_Launch(t *testing.T) { Name: "orig", }, } - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) mockClient.On("RecoverExecution", ctx, mock.MatchedBy(func(o *admin.ExecutionRecoverRequest) bool { @@ -240,7 +231,7 @@ func TestAdminLaunchPlanExecutor_Launch(t *testing.T) { Name: "orig", }, } - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) assert.NoError(t, err) recoveryErr := status.Error(codes.NotFound, "foo") @@ -282,7 +273,7 @@ func TestAdminLaunchPlanExecutor_Launch(t *testing.T) { t.Run("notFound", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) mockClient.On("CreateExecution", ctx, mock.MatchedBy(func(o *admin.ExecutionCreateRequest) bool { return true }), @@ -310,7 +301,7 @@ func TestAdminLaunchPlanExecutor_Launch(t *testing.T) { t.Run("other", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) mockClient.On("CreateExecution", ctx, mock.MatchedBy(func(o *admin.ExecutionCreateRequest) bool { return true }), @@ -343,12 +334,14 @@ func TestAdminLaunchPlanExecutor_Kill(t *testing.T) { Domain: "d", Project: "p", } + memStore, err := storage.NewDataStore(&storage.Config{Type: storage.TypeMemory}, promutils.NewTestScope()) + assert.NoError(t, err) const reason = "reason" t.Run("happy", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) mockClient.On("TerminateExecution", ctx, mock.MatchedBy(func(o *admin.ExecutionTerminateRequest) bool { return o.Id == id && o.Cause == reason }), @@ -361,7 +354,7 @@ func TestAdminLaunchPlanExecutor_Kill(t *testing.T) { t.Run("notFound", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) mockClient.On("TerminateExecution", ctx, mock.MatchedBy(func(o *admin.ExecutionTerminateRequest) bool { return o.Id == id && o.Cause == reason }), @@ -374,7 +367,7 @@ func TestAdminLaunchPlanExecutor_Kill(t *testing.T) { t.Run("other", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) mockClient.On("TerminateExecution", ctx, mock.MatchedBy(func(o *admin.ExecutionTerminateRequest) bool { return o.Id == id && o.Cause == reason }), @@ -395,10 +388,12 @@ func TestNewAdminLaunchPlanExecutor_GetLaunchPlan(t *testing.T) { Project: "p", Version: "v", } + memStore, err := storage.NewDataStore(&storage.Config{Type: storage.TypeMemory}, promutils.NewTestScope()) + assert.NoError(t, err) t.Run("launch plan found", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) assert.NoError(t, err) mockClient.OnGetLaunchPlanMatch( ctx, @@ -411,7 +406,7 @@ func TestNewAdminLaunchPlanExecutor_GetLaunchPlan(t *testing.T) { t.Run("launch plan not found", func(t *testing.T) { mockClient := &mocks.AdminServiceClient{} - exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope()) + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Second, defaultAdminConfig, promutils.NewTestScope(), memStore) assert.NoError(t, err) mockClient.OnGetLaunchPlanMatch( ctx, @@ -423,6 +418,165 @@ func TestNewAdminLaunchPlanExecutor_GetLaunchPlan(t *testing.T) { }) } +type test struct { + name string + cacheItem executionCacheItem + getExecutionResp *admin.Execution + getExecutionError error + getExecutionDataResp *admin.WorkflowExecutionGetDataResponse + getExecutionDataError error + storageReadError error + expectSuccess bool + expectError bool + expectedOutputs *core.LiteralMap + expectedErrorContains string +} + +func TestAdminLaunchPlanExecutorScenarios(t *testing.T) { + ctx := context.TODO() + + mockExecutionRespWithOutputs := &admin.Execution{ + Closure: &admin.ExecutionClosure{ + Phase: core.WorkflowExecution_SUCCEEDED, + OutputResult: &admin.ExecutionClosure_Outputs{ + Outputs: &admin.LiteralMapBlob{ + Data: &admin.LiteralMapBlob_Uri{ + Uri: "s3://foo/bar", + }, + }, + }, + }, + } + mockExecutionRespWithoutOutputs := &admin.Execution{ + Closure: &admin.ExecutionClosure{ + Phase: core.WorkflowExecution_SUCCEEDED, + }, + } + outputLiteral := &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo-1": coreutils.MustMakeLiteral("foo-value-1"), + }, + } + + tests := []test{ + { + name: "terminal-sync", + expectSuccess: true, + cacheItem: executionCacheItem{ + ExecutionClosure: &admin.ExecutionClosure{ + Phase: core.WorkflowExecution_SUCCEEDED, + WorkflowId: &core.Identifier{Project: "p"}}, + ExecutionOutputs: outputLiteral, + }, + expectedOutputs: outputLiteral, + }, + { + name: "GetExecution-fails", + expectError: true, + cacheItem: executionCacheItem{}, + getExecutionError: status.Error(codes.NotFound, ""), + expectedErrorContains: RemoteErrorNotFound, + }, + { + name: "GetExecution-fails-system", + expectError: true, + cacheItem: executionCacheItem{}, + getExecutionError: status.Error(codes.Internal, ""), + expectedErrorContains: RemoteErrorSystem, + }, + { + name: "GetExecutionData-succeeds", + expectSuccess: true, + cacheItem: executionCacheItem{}, + expectedOutputs: outputLiteral, + getExecutionDataResp: &admin.WorkflowExecutionGetDataResponse{ + FullOutputs: outputLiteral, + }, + getExecutionDataError: nil, + getExecutionResp: mockExecutionRespWithOutputs, + }, + { + name: "GetExecutionData-error-no-retry", + expectError: true, + cacheItem: executionCacheItem{}, + getExecutionDataError: status.Error(codes.NotFound, ""), + expectedErrorContains: codes.NotFound.String(), + getExecutionResp: mockExecutionRespWithoutOutputs, + }, + { + name: "GetExecutionData-error-retry-fails", + expectError: true, + cacheItem: executionCacheItem{}, + getExecutionDataError: status.Error(codes.NotFound, ""), + storageReadError: status.Error(codes.Internal, ""), + expectedErrorContains: codes.Internal.String(), + getExecutionResp: mockExecutionRespWithOutputs, + }, + { + name: "GetExecutionData-empty-retry-fails", + expectError: true, + cacheItem: executionCacheItem{}, + getExecutionDataResp: &admin.WorkflowExecutionGetDataResponse{ + FullOutputs: &core.LiteralMap{}, + }, + getExecutionDataError: nil, + storageReadError: status.Error(codes.Internal, ""), + expectedErrorContains: codes.Internal.String(), + getExecutionResp: mockExecutionRespWithOutputs, + }, + { + name: "GetExecutionData-empty-retry-succeeds", + expectSuccess: true, + cacheItem: executionCacheItem{}, + getExecutionDataResp: &admin.WorkflowExecutionGetDataResponse{ + FullOutputs: &core.LiteralMap{}, + }, + getExecutionDataError: nil, + expectedOutputs: &core.LiteralMap{}, + getExecutionResp: mockExecutionRespWithOutputs, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + mockClient := &mocks.AdminServiceClient{} + pbStore := &storageMocks.ComposedProtobufStore{} + pbStore.On("ReadProtobuf", mock.Anything, mock.Anything, mock.Anything).Return(tc.storageReadError) + storageClient := &storage.DataStore{ + ComposedProtobufStore: pbStore, + ReferenceConstructor: &storageMocks.ReferenceConstructor{}, + } + exec, err := NewAdminLaunchPlanExecutor(ctx, mockClient, time.Millisecond, defaultAdminConfig, promutils.NewTestScope(), storageClient) + assert.NoError(t, err) + + iwMock := &mocks2.ItemWrapper{} + i := tc.cacheItem + iwMock.OnGetItem().Return(i) + iwMock.OnGetID().Return("id") + + mockClient.On("GetExecution", mock.Anything, mock.Anything).Return(tc.getExecutionResp, tc.getExecutionError) + mockClient.On("GetExecutionData", mock.Anything, mock.Anything).Return(tc.getExecutionDataResp, tc.getExecutionDataError) + + adminExec := exec.(*adminLaunchPlanExecutor) + + v, err := adminExec.syncItem(ctx, cache.Batch{iwMock}) + assert.NoError(t, err) + assert.Len(t, v, 1) + item, ok := v[0].Item.(executionCacheItem) + assert.True(t, ok) + + if tc.expectSuccess { + assert.Nil(t, item.SyncError) + assert.Equal(t, tc.expectedOutputs, item.ExecutionOutputs) + } + if tc.expectError { + assert.NotNil(t, item.SyncError) + assert.Contains(t, item.SyncError.Error(), tc.expectedErrorContains) + } + }) + } +} + func TestIsWorkflowTerminated(t *testing.T) { assert.True(t, IsWorkflowTerminated(core.WorkflowExecution_SUCCEEDED)) assert.True(t, IsWorkflowTerminated(core.WorkflowExecution_ABORTED)) @@ -434,3 +588,7 @@ func TestIsWorkflowTerminated(t *testing.T) { assert.False(t, IsWorkflowTerminated(core.WorkflowExecution_QUEUED)) assert.False(t, IsWorkflowTerminated(core.WorkflowExecution_UNDEFINED)) } + +func init() { + labeled.SetMetricKeys(contextutils.ProjectKey, contextutils.DomainKey, contextutils.WorkflowIDKey, contextutils.TaskIDKey) +} diff --git a/flytepropeller/pkg/controller/nodes/transformers.go b/flytepropeller/pkg/controller/nodes/transformers.go index 8c0db1e57a..e341a0d2a1 100644 --- a/flytepropeller/pkg/controller/nodes/transformers.go +++ b/flytepropeller/pkg/controller/nodes/transformers.go @@ -228,10 +228,10 @@ func ToK8sTime(t time.Time) v1.Time { return v1.Time{Time: t} } -func UpdateNodeStatus(np v1alpha1.NodePhase, p handler.PhaseInfo, n interfaces.NodeStateReader, s v1alpha1.ExecutableNodeStatus) { +func UpdateNodeStatus(np v1alpha1.NodePhase, p handler.PhaseInfo, n interfaces.NodeStateReader, s v1alpha1.ExecutableNodeStatus, enableCRDebugMetadata bool) { // We update the phase and / or reason only if they are not already updated if np != s.GetPhase() || p.GetReason() != s.GetMessage() { - s.UpdatePhase(np, ToK8sTime(p.GetOccurredAt()), p.GetReason(), p.GetErr()) + s.UpdatePhase(np, ToK8sTime(p.GetOccurredAt()), p.GetReason(), enableCRDebugMetadata, p.GetErr()) } // Update TaskStatus if n.HasTaskNodeState() { diff --git a/flytestdlib/storage/protobuf_store.go b/flytestdlib/storage/protobuf_store.go index 7ea8bfed5f..6d1027ee5e 100644 --- a/flytestdlib/storage/protobuf_store.go +++ b/flytestdlib/storage/protobuf_store.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "fmt" + "google.golang.org/protobuf/reflect/protoreflect" "time" protoV1 "github.com/golang/protobuf/proto" @@ -33,6 +34,52 @@ type DefaultProtobufStore struct { metrics *protoMetrics } +func hasUnrecognizedFields(msg protoreflect.Message) bool { + if msg == nil { + return false + } + + if len(msg.GetUnknown()) > 0 { + return true + } + + unrecognized := false + + msg.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + defer func() { + if err := recover(); err != nil { + return + } + }() + + if !v.IsValid() { + return true + } + + if fd.Kind() != protoreflect.MessageKind { + return true + } + + iface := v.Interface() + if iface == nil { + return true + //} else if _, casted := iface.(protoV1.Message); !casted { + // unrecognized = true + // return false + } + + if vMessage := v.Message(); vMessage != nil && len(v.Message().GetUnknown()) > 0 { + unrecognized = true + return false + } + + unrecognized = hasUnrecognizedFields(v.Message()) + return !unrecognized + }) + + return unrecognized +} + func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference DataReference, msg ...protoV1.Message) (msgIndex int, err error) { ctx, span := otelutils.NewSpan(ctx, otelutils.BlobstoreClientTracer, "flytestdlib.storage.DefaultProtobufStore/ReadProtobuf") defer span.End() @@ -60,11 +107,12 @@ func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference Dat for i, m := range msg { t := s.metrics.UnmarshalTime.Start() var mCopy proto.Message + v2Message := protoV1.MessageV2(m) if len(msg) > 1 { - mCopy = proto.Clone(protoV1.MessageV2(m)) + mCopy = proto.Clone(v2Message) } - err = proto.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(docContents, protoV1.MessageV2(m)) + err = proto.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(docContents, v2Message) t.Stop() if err != nil { s.metrics.UnmarshalFailure.Inc() @@ -72,7 +120,7 @@ func (s DefaultProtobufStore) ReadProtobufAny(ctx context.Context, reference Dat continue } - if len(msg) == 1 || !proto.Equal(mCopy, protoV1.MessageV2(m)) { + if len(msg) == 1 || (!hasUnrecognizedFields(protoV1.MessageV2(m).ProtoReflect()) && !proto.Equal(mCopy, v2Message)) { return i, nil } } diff --git a/go.mod b/go.mod index 9630132fd8..1e3b523a3d 100644 --- a/go.mod +++ b/go.mod @@ -8,9 +8,11 @@ require ( github.com/flyteorg/flyte/flytepropeller v0.0.0-00010101000000-000000000000 github.com/flyteorg/flyte/flytestdlib v0.0.0-00010101000000-000000000000 github.com/golang/glog v1.1.0 + github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 + github.com/stretchr/testify v1.8.4 golang.org/x/sync v0.3.0 gorm.io/driver/postgres v1.5.3 k8s.io/client-go v0.28.3 @@ -136,7 +138,6 @@ require ( github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect github.com/mattn/goveralls v0.0.6 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect @@ -168,7 +169,6 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/viper v1.11.0 // indirect github.com/stretchr/objx v0.5.0 // indirect - github.com/stretchr/testify v1.8.4 // indirect github.com/subosito/gotenv v1.2.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 // indirect From 62e37cb0b3aaed4b5d1097e5b1c23d04e78d7baa Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Tue, 23 Jan 2024 10:09:23 -0800 Subject: [PATCH 16/25] Lint Signed-off-by: Haytham Abuelfutuh --- .codespellrc | 2 +- flytepropeller/pkg/controller/nodes/output_resolver_test.go | 5 +++-- .../controller/nodes/subworkflow/launchplan/admin_test.go | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.codespellrc b/.codespellrc index 0f0abe525b..fbdc238851 100644 --- a/.codespellrc +++ b/.codespellrc @@ -3,4 +3,4 @@ skip = .git,*.pdf,*.svg,go.sum,go.mod,*requirements.txt,gen # some strings with unicodes, constructs like [o]utput ignore-regex = ".*\\0[0-9][0-9].*"|json:"[^"]*"|\b[a-z]*\[[a-z]\][a-z]*\b # some ad-hoc variable names etc -ignore-words-list = te,nd,querys,ser +ignore-words-list = te,nd,querys,ser,AtLeast diff --git a/flytepropeller/pkg/controller/nodes/output_resolver_test.go b/flytepropeller/pkg/controller/nodes/output_resolver_test.go index ae6d08ea7f..da42b4112c 100644 --- a/flytepropeller/pkg/controller/nodes/output_resolver_test.go +++ b/flytepropeller/pkg/controller/nodes/output_resolver_test.go @@ -1,11 +1,12 @@ package nodes import ( - protoV1 "github.com/golang/protobuf/proto" - "google.golang.org/protobuf/proto" "os" "testing" + protoV1 "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" + "github.com/stretchr/testify/assert" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" diff --git a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go index 1f359c1d6a..2b75843e46 100644 --- a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go +++ b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go @@ -466,7 +466,7 @@ func TestAdminLaunchPlanExecutorScenarios(t *testing.T) { ExecutionClosure: &admin.ExecutionClosure{ Phase: core.WorkflowExecution_SUCCEEDED, WorkflowId: &core.Identifier{Project: "p"}}, - ExecutionOutputs: outputLiteral, + ExecutionOutputs: &core.OutputData{Outputs: outputLiteral}, }, expectedOutputs: outputLiteral, }, From 4b599759a07f7e42611e1dc5a7660477eb70d414 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Tue, 23 Jan 2024 12:00:26 -0800 Subject: [PATCH 17/25] Try Tmate Signed-off-by: Haytham Abuelfutuh --- .github/workflows/integration.yml | 13 +++++++++++++ .../pkg/controller/nodes/output_resolver_test.go | 5 ----- flytestdlib/storage/protobuf_store.go | 12 ++++++++---- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index ba640f851c..aa541b8aac 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -13,6 +13,13 @@ on: go-version: required: true type: string + workflow_dispatch: + inputs: + debug_enabled: + type: boolean + description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' + required: false + default: false jobs: integration: name: Integration tests @@ -50,3 +57,9 @@ jobs: echo "current-context:" $(kubectl config current-context) echo "environment-kubeconfig:" ${KUBECONFIG} IMAGE_NAME=${{ inputs.component }} IMAGE=${{ github.repository_owner }}/${{ inputs.component }}:builder make k8s_integration_execute + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + if: ${{ failure() && github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} + with: + detached: true + limit-access-to-actor: true diff --git a/flytepropeller/pkg/controller/nodes/output_resolver_test.go b/flytepropeller/pkg/controller/nodes/output_resolver_test.go index da42b4112c..aeadd4cdb5 100644 --- a/flytepropeller/pkg/controller/nodes/output_resolver_test.go +++ b/flytepropeller/pkg/controller/nodes/output_resolver_test.go @@ -42,11 +42,6 @@ func TestOutputTemp(t *testing.T) { var lastErr error var index int for i, m := range msg { - //var mCopy proto.Message - //if len(msg) > 1 { - // mCopy = proto.Clone(protoV1.MessageV2(m)) - //} - err = proto.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(f, protoV1.MessageV2(m)) if err != nil { lastErr = err diff --git a/flytestdlib/storage/protobuf_store.go b/flytestdlib/storage/protobuf_store.go index 494223f498..d32c172845 100644 --- a/flytestdlib/storage/protobuf_store.go +++ b/flytestdlib/storage/protobuf_store.go @@ -28,24 +28,31 @@ type protoMetrics struct { ReadFailureUnrelatedToCache prometheus.Counter } -// Implements ProtobufStore to marshal and unmarshal protobufs to/from a RawStore +// DefaultProtobufStore implements ProtobufStore to marshal and unmarshal protobufs to/from a RawStore type DefaultProtobufStore struct { RawStore metrics *protoMetrics } +// hasUnrecognizedFields recursively checks a protobuf message for unrecognized fields. When the unmarshaller unmarshalls +// a byte array into a message, it will not error if the byte array contains unrecognized fields. This function checks +// for unrecognized fields by checking if the message has any unknown fields or if any of its nested messages have +// unknown fields. func hasUnrecognizedFields(msg protoreflect.Message) bool { if msg == nil { return false } + // If the top level message has unknown fields, then the message has unrecognized fields if len(msg.GetUnknown()) > 0 { return true } unrecognized := false + // Iterate over all sub-fields msg.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + // TODO: This is a hack because the protoreflect.Value.Message() panics if the value is not a message defer func() { if err := recover(); err != nil { return @@ -63,9 +70,6 @@ func hasUnrecognizedFields(msg protoreflect.Message) bool { iface := v.Interface() if iface == nil { return true - //} else if _, casted := iface.(protoV1.Message); !casted { - // unrecognized = true - // return false } if vMessage := v.Message(); vMessage != nil && len(v.Message().GetUnknown()) > 0 { From 2f45a9f1d4432d56c21a94fc0a01a6fbc482fcdd Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Tue, 23 Jan 2024 12:01:42 -0800 Subject: [PATCH 18/25] just attach on prev failure Signed-off-by: Haytham Abuelfutuh --- .github/workflows/integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index aa541b8aac..435589fb5f 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -59,7 +59,7 @@ jobs: IMAGE_NAME=${{ inputs.component }} IMAGE=${{ github.repository_owner }}/${{ inputs.component }}:builder make k8s_integration_execute - name: Setup tmate session uses: mxschmitt/action-tmate@v3 - if: ${{ failure() && github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} + if: ${{ failure() }} with: detached: true limit-access-to-actor: true From bd4fc278da297a10870b3c8e100d9ad74cf0ee74 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Tue, 23 Jan 2024 13:48:54 -0800 Subject: [PATCH 19/25] Add it to the right workflow Signed-off-by: Haytham Abuelfutuh --- .github/workflows/integration.yml | 13 ------------- .github/workflows/single-binary.yml | 6 ++++++ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 435589fb5f..ba640f851c 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -13,13 +13,6 @@ on: go-version: required: true type: string - workflow_dispatch: - inputs: - debug_enabled: - type: boolean - description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' - required: false - default: false jobs: integration: name: Integration tests @@ -57,9 +50,3 @@ jobs: echo "current-context:" $(kubectl config current-context) echo "environment-kubeconfig:" ${KUBECONFIG} IMAGE_NAME=${{ inputs.component }} IMAGE=${{ github.repository_owner }}/${{ inputs.component }}:builder make k8s_integration_execute - - name: Setup tmate session - uses: mxschmitt/action-tmate@v3 - if: ${{ failure() }} - with: - detached: true - limit-access-to-actor: true diff --git a/.github/workflows/single-binary.yml b/.github/workflows/single-binary.yml index 9a2c19a52c..6223355521 100644 --- a/.github/workflows/single-binary.yml +++ b/.github/workflows/single-binary.yml @@ -198,6 +198,12 @@ jobs: - name: End2End run: | make end2end_execute + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + if: ${{ failure() }} + with: + limit-access-to-actor: true + build-and-push-sandbox-bundled-image: if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} From 0f332551b461109b659fb018f2daff7b1d8346c4 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Wed, 24 Jan 2024 09:23:43 -0800 Subject: [PATCH 20/25] Default to not supported for unknown sdks/versions Signed-off-by: Haytham Abuelfutuh --- .codespellrc | 2 +- .../go/tasks/pluginmachinery/core/template/template.go | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.codespellrc b/.codespellrc index fbdc238851..66e8daa94c 100644 --- a/.codespellrc +++ b/.codespellrc @@ -3,4 +3,4 @@ skip = .git,*.pdf,*.svg,go.sum,go.mod,*requirements.txt,gen # some strings with unicodes, constructs like [o]utput ignore-regex = ".*\\0[0-9][0-9].*"|json:"[^"]*"|\b[a-z]*\[[a-z]\][a-z]*\b # some ad-hoc variable names etc -ignore-words-list = te,nd,querys,ser,AtLeast +ignore-words-list = te,nd,querys,ser,AtLeast,LessThan diff --git a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go index 2f2730528c..7ad451d80e 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/template/template.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/template/template.go @@ -50,7 +50,7 @@ var ( prevCheckpointPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]PrevCheckpointPrefix\s*}}`) currCheckpointPrefixRegex = regexp.MustCompile(`(?i){{\s*[\.$]CheckpointOutputPrefix\s*}}`) // TODO(haytham): write down the right version once we release flytekit - inputDataWrapperMinVersion = version.MustParseSemantic("v1.10.3") + inputDataWrapperMinVersion = version.MustParseSemantic("v1.11.0") ) type ErrorCollection struct { @@ -119,14 +119,13 @@ func IsInputOutputWrapperSupported(ctx context.Context, metadata RuntimeMetadata v, err := version.ParseSemantic(metadata.GetVersion()) if err != nil { logger.Warnf(ctx, "Failed to parse version [%v] to determine the input path behavior. Proceeding with InputDataWrapper format.", metadata.GetVersion()) - } else if !v.AtLeast(inputDataWrapperMinVersion) { + } else if v.LessThan(inputDataWrapperMinVersion) { return false } - } else { - return false } - return true + // TODO: Invert this after updating other SDKs + return false } func render(ctx context.Context, inputTemplate string, params Parameters, perRetryKey string) (string, error) { From 90bacf7b061fa758006fb7aac4fa73ae86d78d05 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Wed, 24 Jan 2024 10:58:07 -0800 Subject: [PATCH 21/25] unit tests Signed-off-by: Haytham Abuelfutuh --- .../nodes/subworkflow/launchplan/admin_test.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go index 2b75843e46..20f2e2be51 100644 --- a/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go +++ b/flytepropeller/pkg/controller/nodes/subworkflow/launchplan/admin_test.go @@ -428,7 +428,7 @@ type test struct { storageReadError error expectSuccess bool expectError bool - expectedOutputs *core.LiteralMap + expectedOutputs *core.OutputData expectedErrorContains string } @@ -452,9 +452,11 @@ func TestAdminLaunchPlanExecutorScenarios(t *testing.T) { Phase: core.WorkflowExecution_SUCCEEDED, }, } - outputLiteral := &core.LiteralMap{ - Literals: map[string]*core.Literal{ - "foo-1": coreutils.MustMakeLiteral("foo-value-1"), + outputLiteral := &core.OutputData{ + Outputs: &core.LiteralMap{ + Literals: map[string]*core.Literal{ + "foo-1": coreutils.MustMakeLiteral("foo-value-1"), + }, }, } @@ -466,7 +468,7 @@ func TestAdminLaunchPlanExecutorScenarios(t *testing.T) { ExecutionClosure: &admin.ExecutionClosure{ Phase: core.WorkflowExecution_SUCCEEDED, WorkflowId: &core.Identifier{Project: "p"}}, - ExecutionOutputs: &core.OutputData{Outputs: outputLiteral}, + ExecutionOutputs: outputLiteral, }, expectedOutputs: outputLiteral, }, @@ -490,7 +492,7 @@ func TestAdminLaunchPlanExecutorScenarios(t *testing.T) { cacheItem: executionCacheItem{}, expectedOutputs: outputLiteral, getExecutionDataResp: &admin.WorkflowExecutionGetDataResponse{ - FullOutputs: outputLiteral, + FullOutputs: outputLiteral.GetOutputs(), }, getExecutionDataError: nil, getExecutionResp: mockExecutionRespWithOutputs, @@ -532,7 +534,7 @@ func TestAdminLaunchPlanExecutorScenarios(t *testing.T) { FullOutputs: &core.LiteralMap{}, }, getExecutionDataError: nil, - expectedOutputs: &core.LiteralMap{}, + expectedOutputs: nil, getExecutionResp: mockExecutionRespWithOutputs, }, } From 0721a7e4066f26df75cdaee4137c4bfe25f3f689 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Wed, 24 Jan 2024 12:35:52 -0800 Subject: [PATCH 22/25] test Signed-off-by: Haytham Abuelfutuh --- .../controller/nodes/output_resolver_test.go | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/flytepropeller/pkg/controller/nodes/output_resolver_test.go b/flytepropeller/pkg/controller/nodes/output_resolver_test.go index aeadd4cdb5..89840ae371 100644 --- a/flytepropeller/pkg/controller/nodes/output_resolver_test.go +++ b/flytepropeller/pkg/controller/nodes/output_resolver_test.go @@ -1,12 +1,8 @@ package nodes import ( - "os" "testing" - protoV1 "github.com/golang/protobuf/proto" - "google.golang.org/protobuf/proto" - "github.com/stretchr/testify/assert" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" @@ -33,30 +29,3 @@ func TestCreateAliasMap(t *testing.T) { assert.Equal(t, map[string]string{}, m) } } - -func TestOutputTemp(t *testing.T) { - f, err := os.ReadFile("/Users/haytham/Downloads/outputs.pb") - assert.NoError(t, err) - - msg := []protoV1.Message{&core.OutputData{}, &core.LiteralMap{}} - var lastErr error - var index int - for i, m := range msg { - err = proto.UnmarshalOptions{DiscardUnknown: false, AllowPartial: false}.Unmarshal(f, protoV1.MessageV2(m)) - if err != nil { - lastErr = err - continue - } - - if len(msg) == 1 || len(protoV1.MessageV2(m).ProtoReflect().GetUnknown()) == 0 { - index = i - lastErr = nil - break - } - } - - assert.NoError(t, lastErr) - t.Log(index) - t.Log(msg[index]) - t.FailNow() -} From 3273c5e7871023622f6c6f4eaf68ecd1734ab96d Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Fri, 9 Feb 2024 14:13:18 -0800 Subject: [PATCH 23/25] merge conflict Signed-off-by: Haytham Abuelfutuh --- .../tasks/plugins/webapi/agent/plugin_test.go | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go b/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go index d2e2a20803..bddea6869e 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/plugin_test.go @@ -22,37 +22,6 @@ import ( "github.com/flyteorg/flyte/flytestdlib/promutils" ) -func TestSyncTask(t *testing.T) { - tCtx := getTaskContext(t) - taskReader := new(pluginCoreMocks.TaskReader) - - template := flyteIdlCore.TaskTemplate{ - Type: "api_task", - } - - taskReader.On("Read", mock.Anything).Return(&template, nil) - - tCtx.OnTaskReader().Return(taskReader) - - agentPlugin := newMockSyncAgentPlugin() - pluginEntry := pluginmachinery.CreateRemotePlugin(agentPlugin) - plugin, err := pluginEntry.LoadPlugin(context.TODO(), newFakeSetupContext("create_task_sync_test")) - assert.NoError(t, err) - - inputs := &flyteIdlCore.InputData{Inputs: coreutils.MustMakeLiteral(map[string]interface{}{"x": 1}).GetMap()} - assert.NoError(t, err) - basePrefix := storage.DataReference("fake://bucket/prefix/") - inputReader := &ioMocks.InputReader{} - inputReader.OnGetInputPrefixPath().Return(basePrefix) - inputReader.OnGetInputPathMatch(mock.Anything).Return(basePrefix+"/inputs.pb", nil) - inputReader.OnGetInputDataPath().Return(basePrefix + "/inputs.pb") - inputReader.OnGetMatch(mock.Anything).Return(inputs, nil) - tCtx.OnInputReader().Return(inputReader) - - phase := tests.RunPluginEndToEndTest(t, plugin, &template, inputs, nil, nil, nil) - assert.Equal(t, true, phase.Phase().IsSuccess()) -} - const defaultAgentEndpoint = "localhost:8000" func TestPlugin(t *testing.T) { From ede12970adad70be880df5f223b675166f08fc74 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Wed, 3 Jul 2024 17:52:32 -0400 Subject: [PATCH 24/25] Remaining merge conflicts Signed-off-by: Haytham Abuelfutuh --- Makefile | 1 - .../pkg/manager/impl/execution_manager.go | 4 +- .../pluginmachinery/core/exec_metadata.go | 4 - .../core/mocks/runtime_metadata.go | 109 ++++++++++++++++++ .../go/tasks/plugins/webapi/agent/plugin.go | 6 +- .../nodes/catalog/datacatalog/datacatalog.go | 6 +- go.mod | 3 +- 7 files changed, 120 insertions(+), 13 deletions(-) create mode 100644 flyteplugins/go/tasks/pluginmachinery/core/mocks/runtime_metadata.go diff --git a/Makefile b/Makefile index 477f850ea3..eaf9b0abab 100644 --- a/Makefile +++ b/Makefile @@ -157,4 +157,3 @@ spellcheck: .PHONY: clean clean: ## Remove the HTML files related to the Flyteconsole and Makefile rm -rf cmd/single/dist .tmp_build ->>>>>>> 2407e906c9efc2b5b3bb26bf1fe298277abf4a62 diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 6184cbfecc..a6d158769e 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -563,7 +563,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( executionClusterLabel = requestSpec.ExecutionClusterLabel } executionParameters := workflowengineInterfaces.ExecutionParameters{ - Inputs: executionInputs, + InputData: executionInputs, AcceptedAt: requestedAt, Labels: labels, Annotations: annotations, @@ -971,7 +971,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( } executionParameters := workflowengineInterfaces.ExecutionParameters{ - Inputs: executionInputs, + InputData: executionInputs, AcceptedAt: requestedAt, Labels: labels, Annotations: annotations, diff --git a/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go b/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go index f5f06939eb..5969d44661 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go @@ -53,9 +53,5 @@ type TaskExecutionMetadata interface { GetPlatformResources() *v1.ResourceRequirements GetInterruptibleFailureThreshold() int32 GetEnvironmentVariables() map[string]string -<<<<<<< HEAD - //GetRuntime() string -======= GetConsoleURL() string ->>>>>>> 2407e906c9efc2b5b3bb26bf1fe298277abf4a62 } diff --git a/flyteplugins/go/tasks/pluginmachinery/core/mocks/runtime_metadata.go b/flyteplugins/go/tasks/pluginmachinery/core/mocks/runtime_metadata.go new file mode 100644 index 0000000000..4837c6a22d --- /dev/null +++ b/flyteplugins/go/tasks/pluginmachinery/core/mocks/runtime_metadata.go @@ -0,0 +1,109 @@ +// Code generated by mockery v1.0.1. DO NOT EDIT. + +package mocks + +import ( + core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" + mock "github.com/stretchr/testify/mock" +) + +// RuntimeMetadata is an autogenerated mock type for the RuntimeMetadata type +type RuntimeMetadata struct { + mock.Mock +} + +type RuntimeMetadata_GetFlavor struct { + *mock.Call +} + +func (_m RuntimeMetadata_GetFlavor) Return(_a0 string) *RuntimeMetadata_GetFlavor { + return &RuntimeMetadata_GetFlavor{Call: _m.Call.Return(_a0)} +} + +func (_m *RuntimeMetadata) OnGetFlavor() *RuntimeMetadata_GetFlavor { + c_call := _m.On("GetFlavor") + return &RuntimeMetadata_GetFlavor{Call: c_call} +} + +func (_m *RuntimeMetadata) OnGetFlavorMatch(matchers ...interface{}) *RuntimeMetadata_GetFlavor { + c_call := _m.On("GetFlavor", matchers...) + return &RuntimeMetadata_GetFlavor{Call: c_call} +} + +// GetFlavor provides a mock function with given fields: +func (_m *RuntimeMetadata) GetFlavor() string { + ret := _m.Called() + + var r0 string + if rf, ok := ret.Get(0).(func() string); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(string) + } + + return r0 +} + +type RuntimeMetadata_GetType struct { + *mock.Call +} + +func (_m RuntimeMetadata_GetType) Return(_a0 core.RuntimeMetadata_RuntimeType) *RuntimeMetadata_GetType { + return &RuntimeMetadata_GetType{Call: _m.Call.Return(_a0)} +} + +func (_m *RuntimeMetadata) OnGetType() *RuntimeMetadata_GetType { + c_call := _m.On("GetType") + return &RuntimeMetadata_GetType{Call: c_call} +} + +func (_m *RuntimeMetadata) OnGetTypeMatch(matchers ...interface{}) *RuntimeMetadata_GetType { + c_call := _m.On("GetType", matchers...) + return &RuntimeMetadata_GetType{Call: c_call} +} + +// GetType provides a mock function with given fields: +func (_m *RuntimeMetadata) GetType() core.RuntimeMetadata_RuntimeType { + ret := _m.Called() + + var r0 core.RuntimeMetadata_RuntimeType + if rf, ok := ret.Get(0).(func() core.RuntimeMetadata_RuntimeType); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(core.RuntimeMetadata_RuntimeType) + } + + return r0 +} + +type RuntimeMetadata_GetVersion struct { + *mock.Call +} + +func (_m RuntimeMetadata_GetVersion) Return(_a0 string) *RuntimeMetadata_GetVersion { + return &RuntimeMetadata_GetVersion{Call: _m.Call.Return(_a0)} +} + +func (_m *RuntimeMetadata) OnGetVersion() *RuntimeMetadata_GetVersion { + c_call := _m.On("GetVersion") + return &RuntimeMetadata_GetVersion{Call: c_call} +} + +func (_m *RuntimeMetadata) OnGetVersionMatch(matchers ...interface{}) *RuntimeMetadata_GetVersion { + c_call := _m.On("GetVersion", matchers...) + return &RuntimeMetadata_GetVersion{Call: c_call} +} + +// GetVersion provides a mock function with given fields: +func (_m *RuntimeMetadata) GetVersion() string { + ret := _m.Called() + + var r0 string + if rf, ok := ret.Get(0).(func() string); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(string) + } + + return r0 +} diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go b/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go index 7a210d2b65..3722a858b2 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go @@ -147,7 +147,7 @@ func (p *Plugin) ExecuteTaskSync( ctx context.Context, client service.SyncAgentServiceClient, header *admin.CreateRequestHeader, - inputs *flyteIdl.LiteralMap, + inputs *flyteIdl.InputData, ) (webapi.ResourceMeta, webapi.Resource, error) { stream, err := client.ExecuteTaskSync(ctx) if err != nil { @@ -166,7 +166,7 @@ func (p *Plugin) ExecuteTaskSync( } inputsProto := &admin.ExecuteTaskSyncRequest{ Part: &admin.ExecuteTaskSyncRequest_Inputs{ - Inputs: inputs, + Inputs: inputs.GetInputs(), }, } err = stream.Send(inputsProto) @@ -350,7 +350,7 @@ func (p *Plugin) getFinalAgent(taskCategory *admin.TaskCategory, cfg *Config) (* return &cfg.DefaultAgent, false } -func writeOutput(ctx context.Context, taskCtx webapi.StatusContext, outputs *flyteIdl.LiteralMap) error { +func writeOutput(ctx context.Context, taskCtx webapi.StatusContext, outputs *flyteIdl.OutputData) error { taskTemplate, err := taskCtx.TaskReader().Read(ctx) if err != nil { return err diff --git a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go index fa3eb34f66..afed909b16 100644 --- a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go +++ b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go @@ -207,7 +207,8 @@ func (m *CatalogClient) prepareInputsAndOutputs(ctx context.Context, key catalog // createArtifact creates an Artifact in datacatalog including its associated ArtifactData and tags it with a hash of // the provided input values for retrieval. -func (m *CatalogClient) createArtifact(ctx context.Context, key catalog.Key, datasetID *datacatalog.DatasetID, inputs *core.LiteralMap, outputs *core.LiteralMap, metadata catalog.Metadata) (catalog.Status, error) { +func (m *CatalogClient) createArtifact(ctx context.Context, key catalog.Key, datasetID *datacatalog.DatasetID, + inputs *core.InputData, outputs *core.OutputData, metadata catalog.Metadata) (catalog.Status, error) { logger.Debugf(ctx, "Creating artifact for key %+v, dataset %+v and execution %+v", key, datasetID, metadata) // Create the artifact for the execution that belongs in the task @@ -264,7 +265,8 @@ func (m *CatalogClient) createArtifact(ctx context.Context, key catalog.Key, dat } // updateArtifact overwrites the ArtifactData of an existing artifact with the provided data in datacatalog. -func (m *CatalogClient) updateArtifact(ctx context.Context, key catalog.Key, datasetID *datacatalog.DatasetID, inputs *core.LiteralMap, outputs *core.LiteralMap, metadata catalog.Metadata) (catalog.Status, error) { +func (m *CatalogClient) updateArtifact(ctx context.Context, key catalog.Key, datasetID *datacatalog.DatasetID, + inputs *core.InputData, outputs *core.OutputData, metadata catalog.Metadata) (catalog.Status, error) { logger.Debugf(ctx, "Updating artifact for key %+v, dataset %+v and execution %+v", key, datasetID, metadata) artifactDataList := make([]*datacatalog.ArtifactData, 0, len(outputs.GetOutputs().GetLiterals())) diff --git a/go.mod b/go.mod index f4f26e10c0..115da6cc56 100644 --- a/go.mod +++ b/go.mod @@ -8,9 +8,11 @@ require ( github.com/flyteorg/flyte/flytepropeller v0.0.0-00010101000000-000000000000 github.com/flyteorg/flyte/flytestdlib v0.0.0-00010101000000-000000000000 github.com/golang/glog v1.2.0 + github.com/mitchellh/mapstructure v1.5.0 github.com/prometheus/client_golang v1.16.0 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 + github.com/stretchr/testify v1.9.0 golang.org/x/sync v0.6.0 gorm.io/driver/postgres v1.5.3 sigs.k8s.io/controller-runtime v0.16.3 @@ -170,7 +172,6 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/viper v1.11.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - github.com/stretchr/testify v1.9.0 // indirect github.com/subosito/gotenv v1.2.0 // indirect github.com/tidwall/gjson v1.17.0 // indirect github.com/tidwall/match v1.1.1 // indirect From ddc3fe00af3d2b4c7cbe45b774003225fca29397 Mon Sep 17 00:00:00 2001 From: Haytham Abuelfutuh Date: Wed, 3 Jul 2024 23:47:41 -0400 Subject: [PATCH 25/25] Fix make generate and run it Signed-off-by: Haytham Abuelfutuh --- Makefile | 5 +- .../flyte/golang_test_targets/Makefile | 3 +- .../golang_test_targets/download_tooling.sh | 2 +- datacatalog/Makefile | 2 +- flyteadmin/Makefile | 2 +- flytecopilot/Makefile | 2 +- flytectl/Makefile | 2 +- flyteidl/Makefile | 2 +- flyteidl/clients/go/assets/admin.swagger.json | 528 +----------------- flyteidl/gen/pb-js/flyteidl.d.ts | 24 +- flyteidl/gen/pb-js/flyteidl.js | 97 ++-- flyteplugins/Makefile | 2 +- flytepropeller/Makefile | 2 +- flytestdlib/Makefile | 2 +- 14 files changed, 90 insertions(+), 585 deletions(-) diff --git a/Makefile b/Makefile index eaf9b0abab..2d9fdf1e5d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ export REPOSITORY=flyte +export REPO_ROOT := $(shell pwd) include boilerplate/flyte/end2end/Makefile include boilerplate/flyte/golang_test_targets/Makefile @@ -136,8 +137,8 @@ go-tidy: make -C flytestdlib go-tidy make -C flytecopilot go-tidy -.PHONY: gen -gen: +.PHONY: generate +generate: make -C flyteidl generate make -C flyteadmin generate make -C flytepropeller generate diff --git a/boilerplate/flyte/golang_test_targets/Makefile b/boilerplate/flyte/golang_test_targets/Makefile index c02409a318..c89e471740 100644 --- a/boilerplate/flyte/golang_test_targets/Makefile +++ b/boilerplate/flyte/golang_test_targets/Makefile @@ -4,10 +4,11 @@ # TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst LINT_FLAGS ?= +export REPO_ROOT ?= $(shell pwd) .PHONY: download_tooling download_tooling: #download dependencies (including test deps) for the package - @../boilerplate/flyte/golang_test_targets/download_tooling.sh + @${REPO_ROOT}/boilerplate/flyte/golang_test_targets/download_tooling.sh .PHONY: generate generate: download_tooling #generate go code diff --git a/boilerplate/flyte/golang_test_targets/download_tooling.sh b/boilerplate/flyte/golang_test_targets/download_tooling.sh index 5ba5c6d1da..64a30bf07a 100755 --- a/boilerplate/flyte/golang_test_targets/download_tooling.sh +++ b/boilerplate/flyte/golang_test_targets/download_tooling.sh @@ -30,7 +30,7 @@ cp $REPO_ROOT/flytestdlib/bin/pflags $(go env GOPATH)/bin tmp_dir=$(mktemp -d -t gotooling-XXX) echo "Using temp directory ${tmp_dir}" -cp -R ../boilerplate/flyte/golang_support_tools/* $tmp_dir +cp -R $REPO_ROOT/boilerplate/flyte/golang_support_tools/* $tmp_dir pushd "$tmp_dir" for tool in "${tools[@]}"; do diff --git a/datacatalog/Makefile b/datacatalog/Makefile index e4e9b72c42..59258bb4df 100644 --- a/datacatalog/Makefile +++ b/datacatalog/Makefile @@ -1,5 +1,5 @@ export REPOSITORY=datacatalog -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/docker_build/Makefile include ../boilerplate/flyte/golang_test_targets/Makefile diff --git a/flyteadmin/Makefile b/flyteadmin/Makefile index fad51a2edf..f35dee522f 100644 --- a/flyteadmin/Makefile +++ b/flyteadmin/Makefile @@ -1,6 +1,6 @@ export REPOSITORY=flyteadmin export FLYTE_SCHEDULER_REPOSITORY=flytescheduler -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/docker_build/Makefile include ../boilerplate/flyte/golang_test_targets/Makefile include ../boilerplate/flyte/end2end/Makefile diff --git a/flytecopilot/Makefile b/flytecopilot/Makefile index 8a21a884ff..db8f2b8bbf 100755 --- a/flytecopilot/Makefile +++ b/flytecopilot/Makefile @@ -1,5 +1,5 @@ export REPOSITORY=flytecopilot -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/docker_build/Makefile include ../boilerplate/flyte/golang_test_targets/Makefile diff --git a/flytectl/Makefile b/flytectl/Makefile index 17c8b5f2bc..240523f346 100644 --- a/flytectl/Makefile +++ b/flytectl/Makefile @@ -1,5 +1,5 @@ export REPOSITORY=flytectl -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/docker_build/Makefile include ../boilerplate/flyte/golang_test_targets/Makefile include ../boilerplate/flyte/end2end/Makefile diff --git a/flyteidl/Makefile b/flyteidl/Makefile index aad8a5c6b5..ffeb7dcbfb 100644 --- a/flyteidl/Makefile +++ b/flyteidl/Makefile @@ -1,5 +1,5 @@ export REPOSITORY=flyteidl -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/golang_test_targets/Makefile define PIP_COMPILE diff --git a/flyteidl/clients/go/assets/admin.swagger.json b/flyteidl/clients/go/assets/admin.swagger.json index 3b0e997ee6..0fd1f8be8d 100644 --- a/flyteidl/clients/go/assets/admin.swagger.json +++ b/flyteidl/clients/go/assets/admin.swagger.json @@ -4034,454 +4034,6 @@ } }, "definitions": { -<<<<<<< HEAD - "AdminServiceCreateExecutionBody": { - "type": "object", - "properties": { - "project": { - "type": "string", - "title": "Name of the project the execution belongs to.\n+required" - }, - "domain": { - "type": "string", - "title": "Name of the domain the execution belongs to.\nA domain can be considered as a subset within a specific project.\n+required" - }, - "name": { - "type": "string", - "title": "User provided value for the resource.\nIf none is provided the system will generate a unique string.\n+optional" - }, - "spec": { - "$ref": "#/definitions/adminExecutionSpec", - "title": "Additional fields necessary to launch the execution.\n+optional" - }, - "inputs": { - "$ref": "#/definitions/coreLiteralMap", - "description": "The inputs required to start the execution. All required inputs must be\nincluded in this map. If not required and not provided, defaults apply.\n+optional\nDeprecated: Please use input_data instead." - }, - "input_data": { - "$ref": "#/definitions/coreInputData", - "title": "The inputs required to start the execution. All required inputs must be\nincluded in this map. If not required and not provided, defaults apply.\n+optional" - } - }, - "description": "Request to launch an execution with the given project, domain and optionally-assigned name." - }, - "AdminServiceCreateLaunchPlanBody": { - "type": "object", - "properties": { - "id": { - "type": "object", - "properties": { - "resource_type": { - "$ref": "#/definitions/coreResourceType", - "description": "Identifies the specific type of resource that this identifier corresponds to." - }, - "project": { - "type": "string", - "description": "Name of the project the resource belongs to." - }, - "domain": { - "type": "string", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project." - }, - "name": { - "type": "string", - "description": "User provided value for the resource." - }, - "version": { - "type": "string", - "description": "Specific version of the resource." - } - }, - "description": "Uniquely identifies a launch plan entity.", - "title": "Uniquely identifies a launch plan entity." - }, - "spec": { - "$ref": "#/definitions/adminLaunchPlanSpec", - "description": "User-provided launch plan details, including reference workflow, inputs and other metadata." - } - }, - "description": "Request to register a launch plan. The included LaunchPlanSpec may have a complete or incomplete set of inputs required\nto launch a workflow execution. By default all launch plans are registered in state INACTIVE. If you wish to\nset the state to ACTIVE, you must submit a LaunchPlanUpdateRequest, after you have successfully created a launch plan." - }, - "AdminServiceCreateNodeEventBody": { - "type": "object", - "properties": { - "request_id": { - "type": "string", - "title": "Unique ID for this request that can be traced between services" - }, - "event": { - "type": "object", - "properties": { - "id": { - "type": "object", - "properties": { - "node_id": { - "type": "string" - }, - "execution_id": { - "type": "object", - "properties": { - "project": { - "type": "string", - "description": "Name of the project the resource belongs to." - }, - "domain": { - "type": "string", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project." - }, - "name": { - "type": "string", - "description": "User or system provided value for the resource." - } - }, - "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" - } - }, - "title": "Unique identifier for this node execution" - }, - "producer_id": { - "type": "string", - "title": "the id of the originator (Propeller) of the event" - }, - "phase": { - "$ref": "#/definitions/coreNodeExecutionPhase" - }, - "occurred_at": { - "type": "string", - "format": "date-time", - "description": "This timestamp represents when the original event occurred, it is generated\nby the executor of the node." - }, - "input_uri": { - "type": "string" - }, - "deprecated_input_data": { - "$ref": "#/definitions/coreLiteralMap", - "title": "Raw input data consumed by this node execution.\nDeprecated: please use input_data instead" - }, - "input_data": { - "$ref": "#/definitions/coreInputData", - "description": "Raw input data consumed by this node execution." - }, - "output_uri": { - "type": "string", - "description": "URL to the output of the execution, it encodes all the information\nincluding Cloud source provider. ie., s3://..." - }, - "error": { - "$ref": "#/definitions/coreExecutionError", - "title": "Error information for the execution" - }, - "deprecated_output_data": { - "$ref": "#/definitions/coreLiteralMap", - "title": "Raw output data produced by this workflow execution.\nDeprecated: please use output_data instead" - }, - "output_data": { - "$ref": "#/definitions/coreOutputData", - "description": "Raw output data produced by this workflow execution." - }, - "workflow_node_metadata": { - "$ref": "#/definitions/flyteidleventWorkflowNodeMetadata" - }, - "task_node_metadata": { - "$ref": "#/definitions/flyteidleventTaskNodeMetadata" - }, - "parent_task_metadata": { - "$ref": "#/definitions/eventParentTaskExecutionMetadata", - "description": "[To be deprecated] Specifies which task (if any) launched this node." - }, - "parent_node_metadata": { - "$ref": "#/definitions/eventParentNodeExecutionMetadata", - "description": "Specifies the parent node of the current node execution. Node executions at level zero will not have a parent node." - }, - "retry_group": { - "type": "string", - "title": "Retry group to indicate grouping of nodes by retries" - }, - "spec_node_id": { - "type": "string", - "title": "Identifier of the node in the original workflow/graph\nThis maps to value of WorkflowTemplate.nodes[X].id" - }, - "node_name": { - "type": "string", - "title": "Friendly readable name for the node" - }, - "event_version": { - "type": "integer", - "format": "int32" - }, - "is_parent": { - "type": "boolean", - "description": "Whether this node launched a subworkflow." - }, - "is_dynamic": { - "type": "boolean", - "description": "Whether this node yielded a dynamic workflow." - }, - "deck_uri": { - "type": "string", - "title": "String location uniquely identifying where the deck HTML file is\nNativeUrl specifies the url in the format of the configured storage provider (e.g. s3://my-bucket/randomstring/suffix.tar)" - }, - "reported_at": { - "type": "string", - "format": "date-time", - "description": "This timestamp represents the instant when the event was reported by the executing framework. For example,\nwhen first processing a node the `occurred_at` timestamp should be the instant propeller makes progress, so when\nliteral inputs are initially copied. The event however will not be sent until after the copy completes.\nExtracting both of these timestamps facilitates a more accurate portrayal of the evaluation time-series." - }, - "is_array": { - "type": "boolean", - "description": "Indicates if this node is an ArrayNode." - } - }, - "description": "Details about the event that occurred.", - "title": "Details about the event that occurred." - } - }, - "description": "Request to send a notification that a node execution event has occurred." - }, - "AdminServiceCreateTaskEventBody": { - "type": "object", - "properties": { - "request_id": { - "type": "string", - "title": "Unique ID for this request that can be traced between services" - }, - "event": { - "type": "object", - "properties": { - "task_id": { - "$ref": "#/definitions/coreIdentifier", - "description": "ID of the task. In combination with the retryAttempt this will indicate\nthe task execution uniquely for a given parent node execution." - }, - "parent_node_execution_id": { - "type": "object", - "properties": { - "node_id": { - "type": "string" - }, - "execution_id": { - "type": "object", - "properties": { - "project": { - "type": "string", - "description": "Name of the project the resource belongs to." - }, - "domain": { - "type": "string", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project." - }, - "name": { - "type": "string", - "description": "User or system provided value for the resource." - } - }, - "title": "Encapsulation of fields that uniquely identifies a Flyte workflow execution" - } - }, - "title": "A task execution is always kicked off by a node execution, the event consumer\nwill use the parent_id to relate the task to it's parent node execution" - }, - "retry_attempt": { - "type": "integer", - "format": "int64", - "title": "retry attempt number for this task, ie., 2 for the second attempt" - }, - "phase": { - "$ref": "#/definitions/coreTaskExecutionPhase", - "title": "Phase associated with the event" - }, - "producer_id": { - "type": "string", - "title": "id of the process that sent this event, mainly for trace debugging" - }, - "logs": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/coreTaskLog" - }, - "title": "log information for the task execution" - }, - "occurred_at": { - "type": "string", - "format": "date-time", - "description": "This timestamp represents when the original event occurred, it is generated\nby the executor of the task." - }, - "input_uri": { - "type": "string", - "description": "URI of the input file, it encodes all the information\nincluding Cloud source provider. ie., s3://..." - }, - "deprecated_input_data": { - "$ref": "#/definitions/coreLiteralMap", - "title": "Raw input data consumed by this node execution.\nDeprecated: please use input_data instead" - }, - "input_data": { - "$ref": "#/definitions/coreInputData", - "description": "Raw input data consumed by this node execution." - }, - "output_uri": { - "type": "string", - "description": "URI to the output of the execution, it will be in a format that encodes all the information\nincluding Cloud source provider. ie., s3://..." - }, - "error": { - "$ref": "#/definitions/coreExecutionError", - "title": "Error information for the execution" - }, - "deprecated_output_data": { - "$ref": "#/definitions/coreLiteralMap", - "title": "Raw output data produced by this workflow execution.\nDeprecated: please use output_data instead" - }, - "output_data": { - "$ref": "#/definitions/coreOutputData", - "description": "Raw output data produced by this workflow execution." - }, - "custom_info": { - "type": "object", - "description": "Custom data that the task plugin sends back. This is extensible to allow various plugins in the system." - }, - "phase_version": { - "type": "integer", - "format": "int64", - "description": "Some phases, like RUNNING, can send multiple events with changed metadata (new logs, additional custom_info, etc)\nthat should be recorded regardless of the lack of phase change.\nThe version field should be incremented when metadata changes across the duration of an individual phase." - }, - "reason": { - "type": "string", - "description": "An optional explanation for the phase transition.\nDeprecated: Use reasons instead." - }, - "reasons": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/eventEventReason" - }, - "description": "An optional list of explanations for the phase transition." - }, - "task_type": { - "type": "string", - "description": "A predefined yet extensible Task type identifier. If the task definition is already registered in flyte admin\nthis type will be identical, but not all task executions necessarily use pre-registered definitions and this\ntype is useful to render the task in the UI, filter task executions, etc." - }, - "metadata": { - "$ref": "#/definitions/flyteidleventTaskExecutionMetadata", - "description": "Metadata around how a task was executed." - }, - "event_version": { - "type": "integer", - "format": "int32", - "description": "The event version is used to indicate versioned changes in how data is reported using this\nproto message. For example, event_verison \u003e 0 means that maps tasks report logs using the\nTaskExecutionMetadata ExternalResourceInfo fields for each subtask rather than the TaskLog\nin this message." - }, - "reported_at": { - "type": "string", - "format": "date-time", - "description": "This timestamp represents the instant when the event was reported by the executing framework. For example, a k8s\npod task may be marked completed at (ie. `occurred_at`) the instant the container running user code completes,\nbut this event will not be reported until the pod is marked as completed. Extracting both of these timestamps\nfacilitates a more accurate portrayal of the evaluation time-series." - } - }, - "description": "Details about the event that occurred.", - "title": "Details about the event that occurred." - } - }, - "description": "Request to send a notification that a task execution event has occurred." - }, - "AdminServiceCreateWorkflowBody": { - "type": "object", - "properties": { - "id": { - "type": "object", - "properties": { - "resource_type": { - "$ref": "#/definitions/coreResourceType", - "description": "Identifies the specific type of resource that this identifier corresponds to." - }, - "project": { - "type": "string", - "description": "Name of the project the resource belongs to." - }, - "domain": { - "type": "string", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project." - }, - "name": { - "type": "string", - "description": "User provided value for the resource." - }, - "version": { - "type": "string", - "description": "Specific version of the resource." - } - }, - "title": "id represents the unique identifier of the workflow.\n+required" - }, - "spec": { - "$ref": "#/definitions/adminWorkflowSpec", - "title": "Represents the specification for workflow.\n+required" - } - }, - "title": "Represents a request structure to create a revision of a workflow.\nSee :ref:`ref_flyteidl.admin.Workflow` for more details" - }, - "AdminServiceCreateWorkflowEventBody": { - "type": "object", - "properties": { - "request_id": { - "type": "string", - "title": "Unique ID for this request that can be traced between services" - }, - "event": { - "type": "object", - "properties": { - "execution_id": { - "type": "object", - "properties": { - "project": { - "type": "string", - "description": "Name of the project the resource belongs to." - }, - "domain": { - "type": "string", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project." - }, - "name": { - "type": "string", - "description": "User or system provided value for the resource." - } - }, - "title": "Workflow execution id" - }, - "producer_id": { - "type": "string", - "title": "the id of the originator (Propeller) of the event" - }, - "phase": { - "$ref": "#/definitions/coreWorkflowExecutionPhase" - }, - "occurred_at": { - "type": "string", - "format": "date-time", - "description": "This timestamp represents when the original event occurred, it is generated\nby the executor of the workflow." - }, - "output_uri": { - "type": "string", - "description": "URL to the output of the execution, it encodes all the information\nincluding Cloud source provider. ie., s3://..." - }, - "error": { - "$ref": "#/definitions/coreExecutionError", - "title": "Error information for the execution" - }, - "deprecated_output_data": { - "$ref": "#/definitions/coreLiteralMap", - "title": "Raw output data produced by this workflow execution.\nDeprecated: please use output_data instead" - }, - "output_data": { - "$ref": "#/definitions/coreOutputData", - "description": "Raw output data produced by this workflow execution." - }, - "event_version": { - "type": "integer", - "format": "int32" - } - }, - "description": "Details about the event that occurred.", - "title": "Details about the event that occurred." - } - }, - "description": "Request to send a notification that a workflow execution event has occurred." - }, -======= ->>>>>>> 2407e906c9efc2b5b3bb26bf1fe298277abf4a62 "AdminServiceDeleteProjectAttributesBody": { "type": "object", "properties": { @@ -5747,10 +5299,6 @@ "$ref": "#/definitions/coreLiteralMap", "title": "Fixed, non-overridable inputs for the Launch Plan.\nThese can not be overridden when an execution is created with this launch plan.\nDeprecated: Please use fixec_input_data instead" }, - "fixed_input_data": { - "$ref": "#/definitions/coreInputData", - "description": "Fixed, non-overridable inputs for the Launch Plan.\nThese can not be overridden when an execution is created with this launch plan." - }, "role": { "type": "string", "title": "String to indicate the role to use to execute the workflow underneath" @@ -5806,6 +5354,10 @@ "$ref": "#/definitions/coreExecutionEnvAssignment" }, "description": "Execution environment assignments to be set for the execution." + }, + "fixed_input_data": { + "$ref": "#/definitions/coreInputData", + "description": "Fixed, non-overridable inputs for the Launch Plan.\nThese can not be overridden when an execution is created with this launch plan." } }, "description": "User-provided launch plan definition and configuration values." @@ -7551,19 +7103,6 @@ }, "description": "This configuration allows executing raw containers in Flyte using the Flyte CoPilot system.\nFlyte CoPilot, eliminates the needs of flytekit or sdk inside the container. Any inputs required by the users container are side-loaded in the input_path\nAny outputs generated by the user container - within output_path are automatically uploaded." }, - "coreEnumType": { - "type": "object", - "properties": { - "values": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Predefined set of enum values." - } - }, - "description": "Enables declaring enum types, with predefined string values\nFor len(values) \u003e 0, the first value in the ordered list is regarded as the default value. If you wish\nTo provide no defaults, make the first value as undefined." - }, "coreError": { "type": "object", "properties": { @@ -7982,7 +7521,7 @@ "description": "A blob might have specialized implementation details depending on associated metadata." }, "enum_type": { - "$ref": "#/definitions/coreEnumType", + "$ref": "#/definitions/flyteidlcoreEnumType", "description": "Defines an enum with pre-defined string values." }, "structured_dataset_type": { @@ -9554,6 +9093,19 @@ }, "title": "Metadata for a WorkflowNode" }, + "flyteidlcoreEnumType": { + "type": "object", + "properties": { + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Predefined set of enum values." + } + }, + "description": "Enables declaring enum types, with predefined string values\nFor len(values) \u003e 0, the first value in the ordered list is regarded as the default value. If you wish\nTo provide no defaults, make the first value as undefined." + }, "flyteidlcoreKeyValuePair": { "type": "object", "properties": { @@ -9697,11 +9249,11 @@ "properties": { "@type": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, "protobufNullValue": { "type": "string", @@ -9709,47 +9261,7 @@ "NULL_VALUE" ], "default": "NULL_VALUE", -<<<<<<< HEAD - "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." - }, - "serviceAdminServiceCreateTaskBody": { - "type": "object", - "properties": { - "id": { - "type": "object", - "properties": { - "resource_type": { - "$ref": "#/definitions/coreResourceType", - "description": "Identifies the specific type of resource that this identifier corresponds to." - }, - "project": { - "type": "string", - "description": "Name of the project the resource belongs to." - }, - "domain": { - "type": "string", - "description": "Name of the domain the resource belongs to.\nA domain can be considered as a subset within a specific project." - }, - "name": { - "type": "string", - "description": "User provided value for the resource." - }, - "version": { - "type": "string", - "description": "Specific version of the resource." - } - }, - "title": "id represents the unique identifier of the task.\n+required" - }, - "spec": { - "$ref": "#/definitions/adminTaskSpec", - "title": "Represents the specification for task.\n+required" - } - }, - "title": "Represents a request structure to create a revision of a task.\nSee :ref:`ref_flyteidl.admin.Task` for more details" -======= "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." ->>>>>>> 2407e906c9efc2b5b3bb26bf1fe298277abf4a62 } } } diff --git a/flyteidl/gen/pb-js/flyteidl.d.ts b/flyteidl/gen/pb-js/flyteidl.d.ts index 136b9757b9..82cc68c027 100644 --- a/flyteidl/gen/pb-js/flyteidl.d.ts +++ b/flyteidl/gen/pb-js/flyteidl.d.ts @@ -10042,9 +10042,6 @@ export namespace flyteidl { /** Resource deprecatedOutputs */ deprecatedOutputs?: (flyteidl.core.ILiteralMap|null); - /** Resource outputs */ - outputs?: (flyteidl.core.IOutputData|null); - /** Resource message */ message?: (string|null); @@ -10056,6 +10053,9 @@ export namespace flyteidl { /** Resource customInfo */ customInfo?: (google.protobuf.IStruct|null); + + /** Resource outputs */ + outputs?: (flyteidl.core.IOutputData|null); } /** Represents a Resource. */ @@ -10073,9 +10073,6 @@ export namespace flyteidl { /** Resource deprecatedOutputs. */ public deprecatedOutputs?: (flyteidl.core.ILiteralMap|null); - /** Resource outputs. */ - public outputs?: (flyteidl.core.IOutputData|null); - /** Resource message. */ public message: string; @@ -10088,6 +10085,9 @@ export namespace flyteidl { /** Resource customInfo. */ public customInfo?: (google.protobuf.IStruct|null); + /** Resource outputs. */ + public outputs?: (flyteidl.core.IOutputData|null); + /** * Creates a new Resource instance using the specified properties. * @param [properties] Properties to set @@ -16021,9 +16021,6 @@ export namespace flyteidl { /** LaunchPlanSpec fixedInputs */ fixedInputs?: (flyteidl.core.ILiteralMap|null); - /** LaunchPlanSpec fixedInputData */ - fixedInputData?: (flyteidl.core.IInputData|null); - /** LaunchPlanSpec role */ role?: (string|null); @@ -16062,6 +16059,9 @@ export namespace flyteidl { /** LaunchPlanSpec executionEnvAssignments */ executionEnvAssignments?: (flyteidl.core.IExecutionEnvAssignment[]|null); + + /** LaunchPlanSpec fixedInputData */ + fixedInputData?: (flyteidl.core.IInputData|null); } /** Represents a LaunchPlanSpec. */ @@ -16085,9 +16085,6 @@ export namespace flyteidl { /** LaunchPlanSpec fixedInputs. */ public fixedInputs?: (flyteidl.core.ILiteralMap|null); - /** LaunchPlanSpec fixedInputData. */ - public fixedInputData?: (flyteidl.core.IInputData|null); - /** LaunchPlanSpec role. */ public role: string; @@ -16127,6 +16124,9 @@ export namespace flyteidl { /** LaunchPlanSpec executionEnvAssignments. */ public executionEnvAssignments: flyteidl.core.IExecutionEnvAssignment[]; + /** LaunchPlanSpec fixedInputData. */ + public fixedInputData?: (flyteidl.core.IInputData|null); + /** * Creates a new LaunchPlanSpec instance using the specified properties. * @param [properties] Properties to set diff --git a/flyteidl/gen/pb-js/flyteidl.js b/flyteidl/gen/pb-js/flyteidl.js index ce2589996c..6d8b5c9d25 100644 --- a/flyteidl/gen/pb-js/flyteidl.js +++ b/flyteidl/gen/pb-js/flyteidl.js @@ -20896,17 +20896,14 @@ $root.google.protobuf.Timestamp.encode(message.reportedAt, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.isArray != null && message.hasOwnProperty("isArray")) writer.uint32(/* id 22, wireType 0 =*/176).bool(message.isArray); -<<<<<<< HEAD - if (message.outputData != null && message.hasOwnProperty("outputData")) - $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); - if (message.inputData != null && message.hasOwnProperty("inputData")) - $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); -======= if (message.targetEntity != null && message.hasOwnProperty("targetEntity")) $root.flyteidl.core.Identifier.encode(message.targetEntity, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); if (message.isInDynamicChain != null && message.hasOwnProperty("isInDynamicChain")) writer.uint32(/* id 24, wireType 0 =*/192).bool(message.isInDynamicChain); ->>>>>>> 2407e906c9efc2b5b3bb26bf1fe298277abf4a62 + if (message.inputData != null && message.hasOwnProperty("inputData")) + $root.flyteidl.core.InputData.encode(message.inputData, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); + if (message.outputData != null && message.hasOwnProperty("outputData")) + $root.flyteidl.core.OutputData.encode(message.outputData, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); return writer; }; @@ -20946,7 +20943,7 @@ case 20: message.deprecatedInputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; - case 24: + case 25: message.inputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); break; case 6: @@ -20958,7 +20955,7 @@ case 15: message.deprecatedOutputData = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; - case 23: + case 26: message.outputData = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); break; case 8: @@ -24646,11 +24643,11 @@ * @interface IResource * @property {flyteidl.admin.State|null} [state] Resource state * @property {flyteidl.core.ILiteralMap|null} [deprecatedOutputs] Resource deprecatedOutputs - * @property {flyteidl.core.IOutputData|null} [outputs] Resource outputs * @property {string|null} [message] Resource message * @property {Array.|null} [logLinks] Resource logLinks * @property {flyteidl.core.TaskExecution.Phase|null} [phase] Resource phase * @property {google.protobuf.IStruct|null} [customInfo] Resource customInfo + * @property {flyteidl.core.IOutputData|null} [outputs] Resource outputs */ /** @@ -24685,14 +24682,6 @@ */ Resource.prototype.deprecatedOutputs = null; - /** - * Resource outputs. - * @member {flyteidl.core.IOutputData|null|undefined} outputs - * @memberof flyteidl.admin.Resource - * @instance - */ - Resource.prototype.outputs = null; - /** * Resource message. * @member {string} message @@ -24725,6 +24714,14 @@ */ Resource.prototype.customInfo = null; + /** + * Resource outputs. + * @member {flyteidl.core.IOutputData|null|undefined} outputs + * @memberof flyteidl.admin.Resource + * @instance + */ + Resource.prototype.outputs = null; + /** * Creates a new Resource instance using the specified properties. * @function create @@ -24760,13 +24757,10 @@ $root.flyteidl.core.TaskLog.encode(message.logLinks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.phase != null && message.hasOwnProperty("phase")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.phase); -<<<<<<< HEAD - if (message.outputs != null && message.hasOwnProperty("outputs")) - $root.flyteidl.core.OutputData.encode(message.outputs, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); -======= if (message.customInfo != null && message.hasOwnProperty("customInfo")) $root.google.protobuf.Struct.encode(message.customInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); ->>>>>>> 2407e906c9efc2b5b3bb26bf1fe298277abf4a62 + if (message.outputs != null && message.hasOwnProperty("outputs")) + $root.flyteidl.core.OutputData.encode(message.outputs, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); return writer; }; @@ -24794,9 +24788,6 @@ case 2: message.deprecatedOutputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; - case 6: - message.outputs = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); - break; case 3: message.message = reader.string(); break; @@ -24811,6 +24802,9 @@ case 6: message.customInfo = $root.google.protobuf.Struct.decode(reader, reader.uint32()); break; + case 7: + message.outputs = $root.flyteidl.core.OutputData.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -24846,11 +24840,6 @@ if (error) return "deprecatedOutputs." + error; } - if (message.outputs != null && message.hasOwnProperty("outputs")) { - var error = $root.flyteidl.core.OutputData.verify(message.outputs); - if (error) - return "outputs." + error; - } if (message.message != null && message.hasOwnProperty("message")) if (!$util.isString(message.message)) return "message: string expected"; @@ -24882,6 +24871,11 @@ if (error) return "customInfo." + error; } + if (message.outputs != null && message.hasOwnProperty("outputs")) { + var error = $root.flyteidl.core.OutputData.verify(message.outputs); + if (error) + return "outputs." + error; + } return null; }; @@ -38833,7 +38827,6 @@ * @property {flyteidl.admin.ILaunchPlanMetadata|null} [entityMetadata] LaunchPlanSpec entityMetadata * @property {flyteidl.core.IParameterMap|null} [defaultInputs] LaunchPlanSpec defaultInputs * @property {flyteidl.core.ILiteralMap|null} [fixedInputs] LaunchPlanSpec fixedInputs - * @property {flyteidl.core.IInputData|null} [fixedInputData] LaunchPlanSpec fixedInputData * @property {string|null} [role] LaunchPlanSpec role * @property {flyteidl.admin.ILabels|null} [labels] LaunchPlanSpec labels * @property {flyteidl.admin.IAnnotations|null} [annotations] LaunchPlanSpec annotations @@ -38847,6 +38840,7 @@ * @property {boolean|null} [overwriteCache] LaunchPlanSpec overwriteCache * @property {flyteidl.admin.IEnvs|null} [envs] LaunchPlanSpec envs * @property {Array.|null} [executionEnvAssignments] LaunchPlanSpec executionEnvAssignments + * @property {flyteidl.core.IInputData|null} [fixedInputData] LaunchPlanSpec fixedInputData */ /** @@ -38897,14 +38891,6 @@ */ LaunchPlanSpec.prototype.fixedInputs = null; - /** - * LaunchPlanSpec fixedInputData. - * @member {flyteidl.core.IInputData|null|undefined} fixedInputData - * @memberof flyteidl.admin.LaunchPlanSpec - * @instance - */ - LaunchPlanSpec.prototype.fixedInputData = null; - /** * LaunchPlanSpec role. * @member {string} role @@ -39009,6 +38995,14 @@ */ LaunchPlanSpec.prototype.executionEnvAssignments = $util.emptyArray; + /** + * LaunchPlanSpec fixedInputData. + * @member {flyteidl.core.IInputData|null|undefined} fixedInputData + * @memberof flyteidl.admin.LaunchPlanSpec + * @instance + */ + LaunchPlanSpec.prototype.fixedInputData = null; + /** * Creates a new LaunchPlanSpec instance using the specified properties. * @function create @@ -39065,14 +39059,11 @@ writer.uint32(/* id 20, wireType 0 =*/160).bool(message.overwriteCache); if (message.envs != null && message.hasOwnProperty("envs")) $root.flyteidl.admin.Envs.encode(message.envs, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); -<<<<<<< HEAD - if (message.fixedInputData != null && message.hasOwnProperty("fixedInputData")) - $root.flyteidl.core.InputData.encode(message.fixedInputData, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); -======= if (message.executionEnvAssignments != null && message.executionEnvAssignments.length) for (var i = 0; i < message.executionEnvAssignments.length; ++i) $root.flyteidl.core.ExecutionEnvAssignment.encode(message.executionEnvAssignments[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); ->>>>>>> 2407e906c9efc2b5b3bb26bf1fe298277abf4a62 + if (message.fixedInputData != null && message.hasOwnProperty("fixedInputData")) + $root.flyteidl.core.InputData.encode(message.fixedInputData, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); return writer; }; @@ -39106,9 +39097,6 @@ case 4: message.fixedInputs = $root.flyteidl.core.LiteralMap.decode(reader, reader.uint32()); break; - case 22: - message.fixedInputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); - break; case 5: message.role = reader.string(); break; @@ -39150,6 +39138,9 @@ message.executionEnvAssignments = []; message.executionEnvAssignments.push($root.flyteidl.core.ExecutionEnvAssignment.decode(reader, reader.uint32())); break; + case 23: + message.fixedInputData = $root.flyteidl.core.InputData.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -39189,11 +39180,6 @@ if (error) return "fixedInputs." + error; } - if (message.fixedInputData != null && message.hasOwnProperty("fixedInputData")) { - var error = $root.flyteidl.core.InputData.verify(message.fixedInputData); - if (error) - return "fixedInputData." + error; - } if (message.role != null && message.hasOwnProperty("role")) if (!$util.isString(message.role)) return "role: string expected"; @@ -39257,6 +39243,11 @@ return "executionEnvAssignments." + error; } } + if (message.fixedInputData != null && message.hasOwnProperty("fixedInputData")) { + var error = $root.flyteidl.core.InputData.verify(message.fixedInputData); + if (error) + return "fixedInputData." + error; + } return null; }; diff --git a/flyteplugins/Makefile b/flyteplugins/Makefile index 9861909e96..2bd8e5260a 100755 --- a/flyteplugins/Makefile +++ b/flyteplugins/Makefile @@ -1,5 +1,5 @@ export REPOSITORY=flyteplugins -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/docker_build/Makefile include ../boilerplate/flyte/golang_test_targets/Makefile diff --git a/flytepropeller/Makefile b/flytepropeller/Makefile index 351ff9ed03..09b59d305f 100644 --- a/flytepropeller/Makefile +++ b/flytepropeller/Makefile @@ -1,5 +1,5 @@ export REPOSITORY=flytepropeller -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/docker_build/Makefile include ../boilerplate/flyte/golang_test_targets/Makefile include ../boilerplate/flyte/end2end/Makefile diff --git a/flytestdlib/Makefile b/flytestdlib/Makefile index 2e862291c7..eeba9f0a32 100644 --- a/flytestdlib/Makefile +++ b/flytestdlib/Makefile @@ -1,5 +1,5 @@ export REPOSITORY=flytestdlib -export REPO_ROOT=.. +export REPO_ROOT ?= $(shell pwd)/../ include ../boilerplate/flyte/golang_test_targets/Makefile .PHONY: update_boilerplate