diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml
index a1c6384ed6a5a..0b982318dad12 100644
--- a/.github/workflows/ci-build.yaml
+++ b/.github/workflows/ci-build.yaml
@@ -265,7 +265,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
- name: Setup NodeJS
- uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3.8.0
+ uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: '20.7.0'
- name: Restore node dependency cache
@@ -360,6 +360,7 @@ jobs:
name: Run end-to-end tests
runs-on: ubuntu-22.04
strategy:
+ fail-fast: false
matrix:
k3s-version: [v1.27.2, v1.26.0, v1.25.4, v1.24.3]
needs:
diff --git a/.github/workflows/image-reuse.yaml b/.github/workflows/image-reuse.yaml
index 9c12c6027113c..55d3bc309294a 100644
--- a/.github/workflows/image-reuse.yaml
+++ b/.github/workflows/image-reuse.yaml
@@ -135,6 +135,14 @@ jobs:
echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV
echo "GIT_TREE_STATE=$(if [ -z "`git status --porcelain`" ]; then echo "clean" ; else echo "dirty"; fi)" >> $GITHUB_ENV
+ - name: Free Disk Space (Ubuntu)
+ uses: jlumbroso/free-disk-space@4d9e71b726748f254fe64fa44d273194bd18ec91
+ with:
+ large-packages: false
+ docker-images: false
+ swap-storage: false
+ tool-cache: false
+
- name: Build and push container image
id: image
uses: docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 #v4.1.1
diff --git a/Makefile b/Makefile
index 4c119188105b9..4d245b9bf15b5 100644
--- a/Makefile
+++ b/Makefile
@@ -49,7 +49,7 @@ ARGOCD_E2E_DEX_PORT?=5556
ARGOCD_E2E_YARN_HOST?=localhost
ARGOCD_E2E_DISABLE_AUTH?=
-ARGOCD_E2E_TEST_TIMEOUT?=45m
+ARGOCD_E2E_TEST_TIMEOUT?=60m
ARGOCD_IN_CI?=false
ARGOCD_TEST_E2E?=true
@@ -386,9 +386,9 @@ test: test-tools-image
.PHONY: test-local
test-local:
if test "$(TEST_MODULE)" = ""; then \
- ./hack/test.sh -coverprofile=coverage.out `go list ./... | grep -v 'test/e2e'`; \
+ DIST_DIR=${DIST_DIR} RERUN_FAILS=0 PACKAGES=`go list ./... | grep -v 'test/e2e'` ./hack/test.sh -coverprofile=coverage.out; \
else \
- ./hack/test.sh -coverprofile=coverage.out "$(TEST_MODULE)"; \
+ DIST_DIR=${DIST_DIR} RERUN_FAILS=0 PACKAGES="$(TEST_MODULE)" ./hack/test.sh -coverprofile=coverage.out "$(TEST_MODULE)"; \
fi
.PHONY: test-race
@@ -400,9 +400,9 @@ test-race: test-tools-image
.PHONY: test-race-local
test-race-local:
if test "$(TEST_MODULE)" = ""; then \
- ./hack/test.sh -race -coverprofile=coverage.out `go list ./... | grep -v 'test/e2e'`; \
+ DIST_DIR=${DIST_DIR} RERUN_FAILS=0 PACKAGES=`go list ./... | grep -v 'test/e2e'` ./hack/test.sh -race -coverprofile=coverage.out; \
else \
- ./hack/test.sh -race -coverprofile=coverage.out "$(TEST_MODULE)"; \
+ DIST_DIR=${DIST_DIR} RERUN_FAILS=0 PACKAGES="$(TEST_MODULE)" ./hack/test.sh -race -coverprofile=coverage.out; \
fi
# Run the E2E test suite. E2E test servers (see start-e2e target) must be
@@ -416,7 +416,7 @@ test-e2e:
test-e2e-local: cli-local
# NO_PROXY ensures all tests don't go out through a proxy if one is configured on the test system
export GO111MODULE=off
- ARGOCD_E2E_RECORD=${ARGOCD_E2E_RECORD} ARGOCD_GPG_ENABLED=true NO_PROXY=* ./hack/test.sh -timeout $(ARGOCD_E2E_TEST_TIMEOUT) -v ./test/e2e
+ DIST_DIR=${DIST_DIR} RERUN_FAILS=5 PACKAGES="./test/e2e" ARGOCD_E2E_RECORD=${ARGOCD_E2E_RECORD} ARGOCD_GPG_ENABLED=true NO_PROXY=* ./hack/test.sh -timeout $(ARGOCD_E2E_TEST_TIMEOUT) -v
# Spawns a shell in the test server container for debugging purposes
debug-test-server: test-tools-image
@@ -557,6 +557,7 @@ install-tools-local: install-test-tools-local install-codegen-tools-local instal
install-test-tools-local:
./hack/install.sh kustomize
./hack/install.sh helm-linux
+ ./hack/install.sh gotestsum
# Installs all tools required for running codegen (Linux packages)
.PHONY: install-codegen-tools-local
diff --git a/applicationset/controllers/applicationset_controller.go b/applicationset/controllers/applicationset_controller.go
index e3a2b1a9c2e7a..09c4c219c3cb3 100644
--- a/applicationset/controllers/applicationset_controller.go
+++ b/applicationset/controllers/applicationset_controller.go
@@ -16,6 +16,7 @@ package controllers
import (
"context"
+ "encoding/json"
"fmt"
"reflect"
"time"
@@ -24,6 +25,7 @@ import (
corev1 "k8s.io/api/core/v1"
apierr "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/intstr"
@@ -44,6 +46,7 @@ import (
"github.com/argoproj/argo-cd/v2/applicationset/generators"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
"github.com/argoproj/argo-cd/v2/common"
+ argodiff "github.com/argoproj/argo-cd/v2/util/argo/diff"
"github.com/argoproj/argo-cd/v2/util/db"
"github.com/argoproj/argo-cd/v2/util/glob"
@@ -436,8 +439,7 @@ func (r *ApplicationSetReconciler) validateGeneratedApplications(ctx context.Con
errorsByIndex[i] = fmt.Errorf("ApplicationSet %s contains applications with duplicate name: %s", applicationSetInfo.Name, app.Name)
continue
}
-
- proj, err := r.ArgoAppClientset.ArgoprojV1alpha1().AppProjects(r.ArgoCDNamespace).Get(ctx, app.Spec.GetProject(), metav1.GetOptions{})
+ _, err := r.ArgoAppClientset.ArgoprojV1alpha1().AppProjects(r.ArgoCDNamespace).Get(ctx, app.Spec.GetProject(), metav1.GetOptions{})
if err != nil {
if apierr.IsNotFound(err) {
errorsByIndex[i] = fmt.Errorf("application references project %s which does not exist", app.Spec.Project)
@@ -451,15 +453,6 @@ func (r *ApplicationSetReconciler) validateGeneratedApplications(ctx context.Con
continue
}
- conditions, err := argoutil.ValidatePermissions(ctx, &app.Spec, proj, r.ArgoDB)
- if err != nil {
- return nil, fmt.Errorf("error validating permissions: %s", err)
- }
- if len(conditions) > 0 {
- errorsByIndex[i] = fmt.Errorf("application spec is invalid: %s", argoutil.FormatAppConditions(conditions))
- continue
- }
-
}
return errorsByIndex, nil
@@ -685,6 +678,14 @@ func (r *ApplicationSetReconciler) createOrUpdateInCluster(ctx context.Context,
found.ObjectMeta.Finalizers = generatedApp.Finalizers
found.ObjectMeta.Labels = generatedApp.Labels
+
+ if found != nil && len(found.Spec.IgnoreDifferences) > 0 {
+ err := applyIgnoreDifferences(applicationSet.Spec.IgnoreApplicationDifferences, found, generatedApp)
+ if err != nil {
+ return fmt.Errorf("failed to apply ignore differences: %w", err)
+ }
+ }
+
return controllerutil.SetControllerReference(&applicationSet, found, r.Scheme)
})
@@ -696,12 +697,68 @@ func (r *ApplicationSetReconciler) createOrUpdateInCluster(ctx context.Context,
continue
}
r.updateCache(ctx, found, appLog)
- r.Recorder.Eventf(&applicationSet, corev1.EventTypeNormal, fmt.Sprint(action), "%s Application %q", action, generatedApp.Name)
- appLog.Logf(log.InfoLevel, "%s Application", action)
+
+ if action != controllerutil.OperationResultNone {
+ // Don't pollute etcd with "unchanged Application" events
+ r.Recorder.Eventf(&applicationSet, corev1.EventTypeNormal, fmt.Sprint(action), "%s Application %q", action, generatedApp.Name)
+ appLog.Logf(log.InfoLevel, "%s Application", action)
+ } else {
+ // "unchanged Application" can be inferred by Reconcile Complete with no action being listed
+ // Or enable debug logging
+ appLog.Logf(log.DebugLevel, "%s Application", action)
+ }
}
return firstError
}
+// applyIgnoreDifferences applies the ignore differences rules to the found application. It modifies the found application in place.
+func applyIgnoreDifferences(applicationSetIgnoreDifferences argov1alpha1.ApplicationSetIgnoreDifferences, found *argov1alpha1.Application, generatedApp argov1alpha1.Application) error {
+ diffConfig, err := argodiff.NewDiffConfigBuilder().
+ WithDiffSettings(applicationSetIgnoreDifferences.ToApplicationIgnoreDifferences(), nil, false).
+ WithNoCache().
+ Build()
+ if err != nil {
+ return fmt.Errorf("failed to build diff config: %w", err)
+ }
+ unstructuredFound, err := appToUnstructured(found)
+ if err != nil {
+ return fmt.Errorf("failed to convert found application to unstructured: %w", err)
+ }
+ unstructuredGenerated, err := appToUnstructured(&generatedApp)
+ if err != nil {
+ return fmt.Errorf("failed to convert found application to unstructured: %w", err)
+ }
+ result, err := argodiff.Normalize([]*unstructured.Unstructured{unstructuredFound}, []*unstructured.Unstructured{unstructuredGenerated}, diffConfig)
+ if err != nil {
+ return fmt.Errorf("failed to normalize application spec: %w", err)
+ }
+ if len(result.Targets) != 1 {
+ return fmt.Errorf("expected 1 normalized application, got %d", len(result.Targets))
+ }
+ jsonNormalized, err := json.Marshal(result.Targets[0].Object)
+ if err != nil {
+ return fmt.Errorf("failed to marshal normalized app to json: %w", err)
+ }
+ err = json.Unmarshal(jsonNormalized, &found)
+ if err != nil {
+ return fmt.Errorf("failed to unmarshal normalized app json to structured app: %w", err)
+ }
+ // Prohibit jq queries from mutating silly things.
+ found.TypeMeta = generatedApp.TypeMeta
+ found.Name = generatedApp.Name
+ found.Namespace = generatedApp.Namespace
+ found.Operation = generatedApp.Operation
+ return nil
+}
+
+func appToUnstructured(app *argov1alpha1.Application) (*unstructured.Unstructured, error) {
+ u, err := runtime.DefaultUnstructuredConverter.ToUnstructured(app)
+ if err != nil {
+ return nil, fmt.Errorf("failed to convert app object to unstructured: %w", err)
+ }
+ return &unstructured.Unstructured{Object: u}, nil
+}
+
// createInCluster will filter from the desiredApplications only the application that needs to be created
// Then it will call createOrUpdateInCluster to do the actual create
func (r *ApplicationSetReconciler) createInCluster(ctx context.Context, applicationSet argov1alpha1.ApplicationSet, desiredApplications []argov1alpha1.Application) error {
diff --git a/applicationset/controllers/applicationset_controller_test.go b/applicationset/controllers/applicationset_controller_test.go
index ceb564b9f2740..d734d26ff437e 100644
--- a/applicationset/controllers/applicationset_controller_test.go
+++ b/applicationset/controllers/applicationset_controller_test.go
@@ -12,6 +12,8 @@ import (
log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
+ "github.com/stretchr/testify/require"
+ "gopkg.in/yaml.v2"
corev1 "k8s.io/api/core/v1"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -1951,7 +1953,7 @@ func TestValidateGeneratedApplications(t *testing.T) {
}
}
-func TestReconcilerValidationErrorBehaviour(t *testing.T) {
+func TestReconcilerValidationProjectErrorBehaviour(t *testing.T) {
scheme := runtime.NewScheme()
err := v1alpha1.AddToScheme(scheme)
@@ -1959,9 +1961,8 @@ func TestReconcilerValidationErrorBehaviour(t *testing.T) {
err = v1alpha1.AddToScheme(scheme)
assert.Nil(t, err)
- defaultProject := v1alpha1.AppProject{
- ObjectMeta: metav1.ObjectMeta{Name: "default", Namespace: "argocd"},
- Spec: v1alpha1.AppProjectSpec{SourceRepos: []string{"*"}, Destinations: []v1alpha1.ApplicationDestination{{Namespace: "*", Server: "https://good-cluster"}}},
+ project := v1alpha1.AppProject{
+ ObjectMeta: metav1.ObjectMeta{Name: "good-project", Namespace: "argocd"},
}
appSet := v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -1974,22 +1975,22 @@ func TestReconcilerValidationErrorBehaviour(t *testing.T) {
{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{{
- Raw: []byte(`{"cluster": "good-cluster","url": "https://good-cluster"}`),
+ Raw: []byte(`{"project": "good-project"}`),
}, {
- Raw: []byte(`{"cluster": "bad-cluster","url": "https://bad-cluster"}`),
+ Raw: []byte(`{"project": "bad-project"}`),
}},
},
},
},
Template: v1alpha1.ApplicationSetTemplate{
ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{
- Name: "{{.cluster}}",
+ Name: "{{.project}}",
Namespace: "argocd",
},
Spec: v1alpha1.ApplicationSpec{
Source: &v1alpha1.ApplicationSource{RepoURL: "https://github.com/argoproj/argocd-example-apps", Path: "guestbook"},
- Project: "default",
- Destination: v1alpha1.ApplicationDestination{Server: "{{.url}}"},
+ Project: "{{.project}}",
+ Destination: v1alpha1.ApplicationDestination{Server: "https://kubernetes.default.svc"},
},
},
},
@@ -1997,7 +1998,7 @@ func TestReconcilerValidationErrorBehaviour(t *testing.T) {
kubeclientset := kubefake.NewSimpleClientset()
argoDBMock := dbmocks.ArgoDB{}
- argoObjs := []runtime.Object{&defaultProject}
+ argoObjs := []runtime.Object{&project}
client := fake.NewClientBuilder().WithScheme(scheme).WithObjects(&appSet).WithIndex(&v1alpha1.Application{}, ".metadata.controller", appControllerIndexer).Build()
goodCluster := v1alpha1.Cluster{Server: "https://good-cluster", Name: "good-cluster"}
@@ -2039,12 +2040,12 @@ func TestReconcilerValidationErrorBehaviour(t *testing.T) {
var app v1alpha1.Application
// make sure good app got created
- err = r.Client.Get(context.TODO(), crtclient.ObjectKey{Namespace: "argocd", Name: "good-cluster"}, &app)
+ err = r.Client.Get(context.TODO(), crtclient.ObjectKey{Namespace: "argocd", Name: "good-project"}, &app)
assert.NoError(t, err)
- assert.Equal(t, app.Name, "good-cluster")
+ assert.Equal(t, app.Name, "good-project")
// make sure bad app was not created
- err = r.Client.Get(context.TODO(), crtclient.ObjectKey{Namespace: "argocd", Name: "bad-cluster"}, &app)
+ err = r.Client.Get(context.TODO(), crtclient.ObjectKey{Namespace: "argocd", Name: "bad-project"}, &app)
assert.Error(t, err)
}
@@ -5726,3 +5727,173 @@ func TestOwnsHandler(t *testing.T) {
})
}
}
+
+func Test_applyIgnoreDifferences(t *testing.T) {
+ appMeta := metav1.TypeMeta{
+ APIVersion: v1alpha1.ApplicationSchemaGroupVersionKind.GroupVersion().String(),
+ Kind: v1alpha1.ApplicationSchemaGroupVersionKind.Kind,
+ }
+ testCases := []struct {
+ name string
+ ignoreDifferences v1alpha1.ApplicationSetIgnoreDifferences
+ foundApp string
+ generatedApp string
+ expectedApp string
+ }{
+ {
+ name: "empty ignoreDifferences",
+ foundApp: `
+spec: {}`,
+ generatedApp: `
+spec: {}`,
+ expectedApp: `
+spec: {}`,
+ },
+ {
+ // For this use case: https://github.com/argoproj/argo-cd/issues/9101#issuecomment-1191138278
+ name: "ignore target revision with jq",
+ ignoreDifferences: v1alpha1.ApplicationSetIgnoreDifferences{
+ {JQPathExpressions: []string{".spec.source.targetRevision"}},
+ },
+ foundApp: `
+spec:
+ source:
+ targetRevision: foo`,
+ generatedApp: `
+spec:
+ source:
+ targetRevision: bar`,
+ expectedApp: `
+spec:
+ source:
+ targetRevision: foo`,
+ },
+ {
+ // For this use case: https://github.com/argoproj/argo-cd/issues/9101#issuecomment-1103593714
+ name: "ignore helm parameter with jq",
+ ignoreDifferences: v1alpha1.ApplicationSetIgnoreDifferences{
+ {JQPathExpressions: []string{`.spec.source.helm.parameters | select(.name == "image.tag")`}},
+ },
+ foundApp: `
+spec:
+ source:
+ helm:
+ parameters:
+ - name: image.tag
+ value: test
+ - name: another
+ value: value`,
+ generatedApp: `
+spec:
+ source:
+ helm:
+ parameters:
+ - name: image.tag
+ value: v1.0.0
+ - name: another
+ value: value`,
+ expectedApp: `
+spec:
+ source:
+ helm:
+ parameters:
+ - name: image.tag
+ value: test
+ - name: another
+ value: value`,
+ },
+ {
+ // For this use case: https://github.com/argoproj/argo-cd/issues/9101#issuecomment-1191138278
+ name: "ignore auto-sync with jq",
+ ignoreDifferences: v1alpha1.ApplicationSetIgnoreDifferences{
+ {JQPathExpressions: []string{".spec.syncPolicy.automated"}},
+ },
+ foundApp: `
+spec:
+ syncPolicy:
+ retry:
+ limit: 5`,
+ generatedApp: `
+spec:
+ syncPolicy:
+ automated:
+ selfHeal: true
+ retry:
+ limit: 5`,
+ expectedApp: `
+spec:
+ syncPolicy:
+ retry:
+ limit: 5`,
+ },
+ {
+ // For this use case: https://github.com/argoproj/argo-cd/issues/9101#issuecomment-1420656537
+ name: "ignore a one-off annotation with jq",
+ ignoreDifferences: v1alpha1.ApplicationSetIgnoreDifferences{
+ {JQPathExpressions: []string{`.metadata.annotations | select(.["foo.bar"] == "baz")`}},
+ },
+ foundApp: `
+metadata:
+ annotations:
+ foo.bar: baz
+ some.other: annotation`,
+ generatedApp: `
+metadata:
+ annotations:
+ some.other: annotation`,
+ expectedApp: `
+metadata:
+ annotations:
+ foo.bar: baz
+ some.other: annotation`,
+ },
+ {
+ // For this use case: https://github.com/argoproj/argo-cd/issues/9101#issuecomment-1515672638
+ name: "ignore the source.plugin field with a json pointer",
+ ignoreDifferences: v1alpha1.ApplicationSetIgnoreDifferences{
+ {JSONPointers: []string{"/spec/source/plugin"}},
+ },
+ foundApp: `
+spec:
+ source:
+ plugin:
+ parameters:
+ - name: url
+ string: https://example.com`,
+ generatedApp: `
+spec:
+ source:
+ plugin:
+ parameters:
+ - name: url
+ string: https://example.com/wrong`,
+ expectedApp: `
+spec:
+ source:
+ plugin:
+ parameters:
+ - name: url
+ string: https://example.com`,
+ },
+ }
+
+ for _, tc := range testCases {
+ tc := tc
+ t.Run(tc.name, func(t *testing.T) {
+ t.Parallel()
+ foundApp := v1alpha1.Application{TypeMeta: appMeta}
+ err := yaml.Unmarshal([]byte(tc.foundApp), &foundApp)
+ require.NoError(t, err, tc.foundApp)
+ generatedApp := v1alpha1.Application{TypeMeta: appMeta}
+ err = yaml.Unmarshal([]byte(tc.generatedApp), &generatedApp)
+ require.NoError(t, err, tc.generatedApp)
+ err = applyIgnoreDifferences(tc.ignoreDifferences, &foundApp, generatedApp)
+ require.NoError(t, err)
+ jsonFound, err := json.Marshal(tc.foundApp)
+ require.NoError(t, err)
+ jsonExpected, err := json.Marshal(tc.expectedApp)
+ require.NoError(t, err)
+ assert.Equal(t, string(jsonExpected), string(jsonFound))
+ })
+ }
+}
diff --git a/applicationset/generators/git.go b/applicationset/generators/git.go
index d3d46f51c4575..07c1b11849cd0 100644
--- a/applicationset/generators/git.go
+++ b/applicationset/generators/git.go
@@ -148,6 +148,9 @@ func (g *GitGenerator) generateParamsFromGitFile(filePath string, fileContent []
return nil, fmt.Errorf("unable to parse file: %v", err)
}
objectsFound = append(objectsFound, singleObj)
+ } else if len(objectsFound) == 0 {
+ // If file is valid but empty, add a default empty item
+ objectsFound = append(objectsFound, map[string]interface{}{})
}
res := []map[string]interface{}{}
diff --git a/applicationset/generators/git_test.go b/applicationset/generators/git_test.go
index 479987e8e763e..f0d1d29bca6ec 100644
--- a/applicationset/generators/git_test.go
+++ b/applicationset/generators/git_test.go
@@ -4,119 +4,173 @@ import (
"fmt"
"testing"
+ "github.com/argoproj/argo-cd/v2/applicationset/services/mocks"
+ argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
- "github.com/argoproj/argo-cd/v2/applicationset/services/mocks"
-
- argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
)
func Test_generateParamsFromGitFile(t *testing.T) {
- values := map[string]string{}
- params, err := (*GitGenerator)(nil).generateParamsFromGitFile("path/dir/file_name.yaml", []byte(`
+ defaultContent := []byte(`
foo:
bar: baz
-`), values, false, nil, "")
- if err != nil {
- t.Fatal(err)
+`)
+ type args struct {
+ filePath string
+ fileContent []byte
+ values map[string]string
+ useGoTemplate bool
+ goTemplateOptions []string
+ pathParamPrefix string
}
- assert.Equal(t, []map[string]interface{}{
+ tests := []struct {
+ name string
+ args args
+ want []map[string]interface{}
+ wantErr bool
+ }{
{
- "foo.bar": "baz",
- "path": "path/dir",
- "path.basename": "dir",
- "path.filename": "file_name.yaml",
- "path.basenameNormalized": "dir",
- "path.filenameNormalized": "file-name.yaml",
- "path[0]": "path",
- "path[1]": "dir",
+ name: "empty file returns path parameters",
+ args: args{
+ filePath: "path/dir/file_name.yaml",
+ fileContent: []byte(""),
+ values: map[string]string{},
+ useGoTemplate: false,
+ },
+ want: []map[string]interface{}{
+ {
+ "path": "path/dir",
+ "path.basename": "dir",
+ "path.filename": "file_name.yaml",
+ "path.basenameNormalized": "dir",
+ "path.filenameNormalized": "file-name.yaml",
+ "path[0]": "path",
+ "path[1]": "dir",
+ },
+ },
},
- }, params)
-}
-
-func Test_generatePrefixedParamsFromGitFile(t *testing.T) {
- values := map[string]string{}
- params, err := (*GitGenerator)(nil).generateParamsFromGitFile("path/dir/file_name.yaml", []byte(`
-foo:
- bar: baz
-`), values, false, nil, "myRepo")
- if err != nil {
- t.Fatal(err)
- }
- assert.Equal(t, []map[string]interface{}{
{
- "foo.bar": "baz",
- "myRepo.path": "path/dir",
- "myRepo.path.basename": "dir",
- "myRepo.path.filename": "file_name.yaml",
- "myRepo.path.basenameNormalized": "dir",
- "myRepo.path.filenameNormalized": "file-name.yaml",
- "myRepo.path[0]": "path",
- "myRepo.path[1]": "dir",
+ name: "invalid json/yaml file returns error",
+ args: args{
+ filePath: "path/dir/file_name.yaml",
+ fileContent: []byte("this is not json or yaml"),
+ values: map[string]string{},
+ useGoTemplate: false,
+ },
+ wantErr: true,
},
- }, params)
-}
-
-func Test_generateParamsFromGitFileGoTemplate(t *testing.T) {
- values := map[string]string{}
- params, err := (*GitGenerator)(nil).generateParamsFromGitFile("path/dir/file_name.yaml", []byte(`
-foo:
- bar: baz
-`), values, true, nil, "")
- if err != nil {
- t.Fatal(err)
- }
- assert.Equal(t, []map[string]interface{}{
{
- "foo": map[string]interface{}{
- "bar": "baz",
+ name: "file parameters are added to params",
+ args: args{
+ filePath: "path/dir/file_name.yaml",
+ fileContent: defaultContent,
+ values: map[string]string{},
+ useGoTemplate: false,
},
- "path": map[string]interface{}{
- "path": "path/dir",
- "basename": "dir",
- "filename": "file_name.yaml",
- "basenameNormalized": "dir",
- "filenameNormalized": "file-name.yaml",
- "segments": []string{
- "path",
- "dir",
+ want: []map[string]interface{}{
+ {
+ "foo.bar": "baz",
+ "path": "path/dir",
+ "path.basename": "dir",
+ "path.filename": "file_name.yaml",
+ "path.basenameNormalized": "dir",
+ "path.filenameNormalized": "file-name.yaml",
+ "path[0]": "path",
+ "path[1]": "dir",
},
},
},
- }, params)
-}
-
-func Test_generatePrefixedParamsFromGitFileGoTemplate(t *testing.T) {
- values := map[string]string{}
- params, err := (*GitGenerator)(nil).generateParamsFromGitFile("path/dir/file_name.yaml", []byte(`
-foo:
- bar: baz
-`), values, true, nil, "myRepo")
- if err != nil {
- t.Fatal(err)
- }
- assert.Equal(t, []map[string]interface{}{
{
- "foo": map[string]interface{}{
- "bar": "baz",
+ name: "path parameter are prefixed",
+ args: args{
+ filePath: "path/dir/file_name.yaml",
+ fileContent: defaultContent,
+ values: map[string]string{},
+ useGoTemplate: false,
+ pathParamPrefix: "myRepo",
},
- "myRepo": map[string]interface{}{
- "path": map[string]interface{}{
- "path": "path/dir",
- "basename": "dir",
- "filename": "file_name.yaml",
- "basenameNormalized": "dir",
- "filenameNormalized": "file-name.yaml",
- "segments": []string{
- "path",
- "dir",
+ want: []map[string]interface{}{
+ {
+ "foo.bar": "baz",
+ "myRepo.path": "path/dir",
+ "myRepo.path.basename": "dir",
+ "myRepo.path.filename": "file_name.yaml",
+ "myRepo.path.basenameNormalized": "dir",
+ "myRepo.path.filenameNormalized": "file-name.yaml",
+ "myRepo.path[0]": "path",
+ "myRepo.path[1]": "dir",
+ },
+ },
+ },
+ {
+ name: "file parameters are added to params with go template",
+ args: args{
+ filePath: "path/dir/file_name.yaml",
+ fileContent: defaultContent,
+ values: map[string]string{},
+ useGoTemplate: true,
+ },
+ want: []map[string]interface{}{
+ {
+ "foo": map[string]interface{}{
+ "bar": "baz",
+ },
+ "path": map[string]interface{}{
+ "path": "path/dir",
+ "basename": "dir",
+ "filename": "file_name.yaml",
+ "basenameNormalized": "dir",
+ "filenameNormalized": "file-name.yaml",
+ "segments": []string{
+ "path",
+ "dir",
+ },
+ },
+ },
+ },
+ },
+ {
+ name: "path parameter are prefixed with go template",
+ args: args{
+ filePath: "path/dir/file_name.yaml",
+ fileContent: defaultContent,
+ values: map[string]string{},
+ useGoTemplate: true,
+ pathParamPrefix: "myRepo",
+ },
+ want: []map[string]interface{}{
+ {
+ "foo": map[string]interface{}{
+ "bar": "baz",
+ },
+ "myRepo": map[string]interface{}{
+ "path": map[string]interface{}{
+ "path": "path/dir",
+ "basename": "dir",
+ "filename": "file_name.yaml",
+ "basenameNormalized": "dir",
+ "filenameNormalized": "file-name.yaml",
+ "segments": []string{
+ "path",
+ "dir",
+ },
+ },
},
},
},
},
- }, params)
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ params, err := (*GitGenerator)(nil).generateParamsFromGitFile(tt.args.filePath, tt.args.fileContent, tt.args.values, tt.args.useGoTemplate, tt.args.goTemplateOptions, tt.args.pathParamPrefix)
+ if (err != nil) != tt.wantErr {
+ t.Errorf("GitGenerator.generateParamsFromGitFile() error = %v, wantErr %v", err, tt.wantErr)
+ return
+ }
+ assert.Equal(t, tt.want, params)
+ })
+ }
}
func TestGitGenerateParamsFromDirectories(t *testing.T) {
diff --git a/applicationset/utils/clusterUtils_test.go b/applicationset/utils/clusterUtils_test.go
index ba5d24d1604f6..70332afdd80fb 100644
--- a/applicationset/utils/clusterUtils_test.go
+++ b/applicationset/utils/clusterUtils_test.go
@@ -13,7 +13,6 @@ import (
kubetesting "k8s.io/client-go/testing"
argoappv1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
- "github.com/argoproj/argo-cd/v2/test/e2e/fixture/applicationsets/utils"
)
const (
@@ -69,7 +68,7 @@ func createClusterSecret(secretName string, clusterName string, clusterServer st
secret := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
- Namespace: utils.ArgoCDNamespace,
+ Namespace: fakeNamespace,
Labels: map[string]string{
ArgoCDSecretTypeLabel: ArgoCDSecretTypeCluster,
},
@@ -111,7 +110,7 @@ func TestValidateDestination(t *testing.T) {
objects = append(objects, secret)
kubeclientset := fake.NewSimpleClientset(objects...)
- appCond := ValidateDestination(context.Background(), &dest, kubeclientset, utils.ArgoCDNamespace)
+ appCond := ValidateDestination(context.Background(), &dest, kubeclientset, fakeNamespace)
assert.Nil(t, appCond)
assert.Equal(t, "https://127.0.0.1:6443", dest.Server)
assert.True(t, dest.IsServerInferred())
@@ -124,7 +123,7 @@ func TestValidateDestination(t *testing.T) {
Namespace: "default",
}
- err := ValidateDestination(context.Background(), &dest, nil, utils.ArgoCDNamespace)
+ err := ValidateDestination(context.Background(), &dest, nil, fakeNamespace)
assert.Equal(t, "application destination can't have both name and server defined: minikube https://127.0.0.1:6443", err.Error())
assert.False(t, dest.IsServerInferred())
})
@@ -139,7 +138,7 @@ func TestValidateDestination(t *testing.T) {
return true, nil, fmt.Errorf("an error occurred")
})
- err := ValidateDestination(context.Background(), &dest, kubeclientset, utils.ArgoCDNamespace)
+ err := ValidateDestination(context.Background(), &dest, kubeclientset, fakeNamespace)
assert.Equal(t, "unable to find destination server: an error occurred", err.Error())
assert.False(t, dest.IsServerInferred())
})
@@ -154,7 +153,7 @@ func TestValidateDestination(t *testing.T) {
objects = append(objects, secret)
kubeclientset := fake.NewSimpleClientset(objects...)
- err := ValidateDestination(context.Background(), &dest, kubeclientset, utils.ArgoCDNamespace)
+ err := ValidateDestination(context.Background(), &dest, kubeclientset, fakeNamespace)
assert.Equal(t, "unable to find destination server: there are no clusters with this name: minikube", err.Error())
assert.False(t, dest.IsServerInferred())
})
@@ -171,7 +170,7 @@ func TestValidateDestination(t *testing.T) {
objects = append(objects, secret, secret2)
kubeclientset := fake.NewSimpleClientset(objects...)
- err := ValidateDestination(context.Background(), &dest, kubeclientset, utils.ArgoCDNamespace)
+ err := ValidateDestination(context.Background(), &dest, kubeclientset, fakeNamespace)
assert.Equal(t, "unable to find destination server: there are 2 clusters with the same name: [https://127.0.0.1:2443 https://127.0.0.1:8443]", err.Error())
assert.False(t, dest.IsServerInferred())
})
diff --git a/applicationset/webhook/testdata/azuredevops-pull-request.json b/applicationset/webhook/testdata/azuredevops-pull-request.json
new file mode 100644
index 0000000000000..80c5e7cb90822
--- /dev/null
+++ b/applicationset/webhook/testdata/azuredevops-pull-request.json
@@ -0,0 +1,85 @@
+{
+ "id": "2ab4e3d3-b7a6-425e-92b1-5a9982c1269e",
+ "eventType": "git.pullrequest.created",
+ "publisherId": "tfs",
+ "scope": "all",
+ "message": {
+ "text": "Jamal Hartnett created a new pull request",
+ "html": "Jamal Hartnett created a new pull request",
+ "markdown": "Jamal Hartnett created a new pull request"
+ },
+ "detailedMessage": {
+ "text": "Jamal Hartnett created a new pull request\r\n\r\n- Merge status: Succeeded\r\n- Merge commit: eef717(https://dev.azure.com/fabrikam/DefaultCollection/_apis/repos/git/repositories/4bc14d40-c903-45e2-872e-0462c7748079/commits/eef717f69257a6333f221566c1c987dc94cc0d72)\r\n",
+ "html": "Jamal Hartnett created a new pull request\r\n
\r\n- Merge status: Succeeded
\r\n- Merge commit: eef717
\r\n
",
+ "markdown": "Jamal Hartnett created a new pull request\r\n\r\n+ Merge status: Succeeded\r\n+ Merge commit: [eef717](https://dev.azure.com/fabrikam/DefaultCollection/_apis/repos/git/repositories/4bc14d40-c903-45e2-872e-0462c7748079/commits/eef717f69257a6333f221566c1c987dc94cc0d72)\r\n"
+ },
+ "resource": {
+ "repository": {
+ "id": "4bc14d40-c903-45e2-872e-0462c7748079",
+ "name": "Fabrikam",
+ "url": "https://dev.azure.com/fabrikam/DefaultCollection/_apis/repos/git/repositories/4bc14d40-c903-45e2-872e-0462c7748079",
+ "project": {
+ "id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
+ "name": "DefaultCollection",
+ "url": "https://dev.azure.com/fabrikam/DefaultCollection/_apis/projects/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
+ "state": "wellFormed"
+ },
+ "defaultBranch": "refs/heads/master",
+ "remoteUrl": "https://dev.azure.com/fabrikam/DefaultCollection/_git/Fabrikam"
+ },
+ "pullRequestId": 1,
+ "status": "active",
+ "createdBy": {
+ "id": "54d125f7-69f7-4191-904f-c5b96b6261c8",
+ "displayName": "Jamal Hartnett",
+ "uniqueName": "fabrikamfiber4@hotmail.com",
+ "url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/54d125f7-69f7-4191-904f-c5b96b6261c8",
+ "imageUrl": "https://dev.azure.com/fabrikam/DefaultCollection/_api/_common/identityImage?id=54d125f7-69f7-4191-904f-c5b96b6261c8"
+ },
+ "creationDate": "2014-06-17T16:55:46.589889Z",
+ "title": "my first pull request",
+ "description": " - test2\r\n",
+ "sourceRefName": "refs/heads/mytopic",
+ "targetRefName": "refs/heads/master",
+ "mergeStatus": "succeeded",
+ "mergeId": "a10bb228-6ba6-4362-abd7-49ea21333dbd",
+ "lastMergeSourceCommit": {
+ "commitId": "53d54ac915144006c2c9e90d2c7d3880920db49c",
+ "url": "https://dev.azure.com/fabrikam/DefaultCollection/_apis/repos/git/repositories/4bc14d40-c903-45e2-872e-0462c7748079/commits/53d54ac915144006c2c9e90d2c7d3880920db49c"
+ },
+ "lastMergeTargetCommit": {
+ "commitId": "a511f535b1ea495ee0c903badb68fbc83772c882",
+ "url": "https://dev.azure.com/fabrikam/DefaultCollection/_apis/repos/git/repositories/4bc14d40-c903-45e2-872e-0462c7748079/commits/a511f535b1ea495ee0c903badb68fbc83772c882"
+ },
+ "lastMergeCommit": {
+ "commitId": "eef717f69257a6333f221566c1c987dc94cc0d72",
+ "url": "https://dev.azure.com/fabrikam/DefaultCollection/_apis/repos/git/repositories/4bc14d40-c903-45e2-872e-0462c7748079/commits/eef717f69257a6333f221566c1c987dc94cc0d72"
+ },
+ "reviewers": [
+ {
+ "reviewerUrl": null,
+ "vote": 0,
+ "id": "2ea2d095-48f9-4cd6-9966-62f6f574096c",
+ "displayName": "[Mobile]\\Mobile Team",
+ "uniqueName": "vstfs:///Classification/TeamProject/f0811a3b-8c8a-4e43-a3bf-9a049b4835bd\\Mobile Team",
+ "url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/2ea2d095-48f9-4cd6-9966-62f6f574096c",
+ "imageUrl": "https://dev.azure.com/fabrikam/DefaultCollection/_api/_common/identityImage?id=2ea2d095-48f9-4cd6-9966-62f6f574096c",
+ "isContainer": true
+ }
+ ],
+ "url": "https://dev.azure.com/fabrikam/DefaultCollection/_apis/repos/git/repositories/4bc14d40-c903-45e2-872e-0462c7748079/pullRequests/1"
+ },
+ "resourceVersion": "1.0",
+ "resourceContainers": {
+ "collection": {
+ "id": "c12d0eb8-e382-443b-9f9c-c52cba5014c2"
+ },
+ "account": {
+ "id": "f844ec47-a9db-4511-8281-8b63f4eaf94e"
+ },
+ "project": {
+ "id": "be9b3917-87e6-42a4-a549-2bc06a7a878f"
+ }
+ },
+ "createdDate": "2016-09-19T13:03:27.2879096Z"
+ }
\ No newline at end of file
diff --git a/applicationset/webhook/testdata/azuredevops-push.json b/applicationset/webhook/testdata/azuredevops-push.json
new file mode 100644
index 0000000000000..41ee074892e39
--- /dev/null
+++ b/applicationset/webhook/testdata/azuredevops-push.json
@@ -0,0 +1,76 @@
+{
+ "id": "03c164c2-8912-4d5e-8009-3707d5f83734",
+ "eventType": "git.push",
+ "publisherId": "tfs",
+ "scope": "all",
+ "message": {
+ "text": "Jamal Hartnett pushed updates to branch master of repository Fabrikam-Fiber-Git.",
+ "html": "Jamal Hartnett pushed updates to branch master of repository Fabrikam-Fiber-Git.",
+ "markdown": "Jamal Hartnett pushed updates to branch `master` of repository `Fabrikam-Fiber-Git`."
+ },
+ "detailedMessage": {
+ "text": "Jamal Hartnett pushed 1 commit to branch master of repository Fabrikam-Fiber-Git.\n - Fixed bug in web.config file 33b55f7c",
+ "html": "Jamal Hartnett pushed 1 commit to branch master of repository Fabrikam-Fiber-Git.\n\n- Fixed bug in web.config file 33b55f7c\n
",
+ "markdown": "Jamal Hartnett pushed 1 commit to branch [master](https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_git/Fabrikam-Fiber-Git/#version=GBmaster) of repository [Fabrikam-Fiber-Git](https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_git/Fabrikam-Fiber-Git/).\n* Fixed bug in web.config file [33b55f7c](https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74)"
+ },
+ "resource": {
+ "commits": [
+ {
+ "commitId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74",
+ "author": {
+ "name": "Jamal Hartnett",
+ "email": "fabrikamfiber4@hotmail.com",
+ "date": "2015-02-25T19:01:00Z"
+ },
+ "committer": {
+ "name": "Jamal Hartnett",
+ "email": "fabrikamfiber4@hotmail.com",
+ "date": "2015-02-25T19:01:00Z"
+ },
+ "comment": "Fixed bug in web.config file",
+ "url": "https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74"
+ }
+ ],
+ "refUpdates": [
+ {
+ "name": "refs/heads/master",
+ "oldObjectId": "aad331d8d3b131fa9ae03cf5e53965b51942618a",
+ "newObjectId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74"
+ }
+ ],
+ "repository": {
+ "id": "278d5cd2-584d-4b63-824a-2ba458937249",
+ "name": "Fabrikam-Fiber-Git",
+ "url": "https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_apis/repos/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249",
+ "project": {
+ "id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
+ "name": "DefaultCollection",
+ "url": "https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_apis/projects/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
+ "state": "wellFormed"
+ },
+ "defaultBranch": "refs/heads/master",
+ "remoteUrl": "https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_git/Fabrikam-Fiber-Git"
+ },
+ "pushedBy": {
+ "id": "00067FFED5C7AF52@Live.com",
+ "displayName": "Jamal Hartnett",
+ "uniqueName": "Windows Live ID\\fabrikamfiber4@hotmail.com"
+ },
+ "pushId": 14,
+ "date": "2014-05-02T19:17:13.3309587Z",
+ "url": "https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_apis/repos/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/pushes/14"
+ },
+ "resourceVersion": "1.0",
+ "resourceContainers": {
+ "collection": {
+ "id": "c12d0eb8-e382-443b-9f9c-c52cba5014c2"
+ },
+ "account": {
+ "id": "f844ec47-a9db-4511-8281-8b63f4eaf94e"
+ },
+ "project": {
+ "id": "be9b3917-87e6-42a4-a549-2bc06a7a878f"
+ }
+ },
+ "createdDate": "2016-09-19T13:03:27.0379153Z"
+ }
\ No newline at end of file
diff --git a/applicationset/webhook/webhook.go b/applicationset/webhook/webhook.go
index ed48997db813e..ce099df35ea35 100644
--- a/applicationset/webhook/webhook.go
+++ b/applicationset/webhook/webhook.go
@@ -2,6 +2,7 @@ package webhook
import (
"context"
+ "errors"
"fmt"
"html"
"net/http"
@@ -19,17 +20,24 @@ import (
"github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argosettings "github.com/argoproj/argo-cd/v2/util/settings"
+ "github.com/go-playground/webhooks/v6/azuredevops"
"github.com/go-playground/webhooks/v6/github"
"github.com/go-playground/webhooks/v6/gitlab"
log "github.com/sirupsen/logrus"
)
+var (
+ errBasicAuthVerificationFailed = errors.New("basic auth verification failed")
+)
+
type WebhookHandler struct {
- namespace string
- github *github.Webhook
- gitlab *gitlab.Webhook
- client client.Client
- generators map[string]generators.Generator
+ namespace string
+ github *github.Webhook
+ gitlab *gitlab.Webhook
+ azuredevops *azuredevops.Webhook
+ azuredevopsAuthHandler func(r *http.Request) error
+ client client.Client
+ generators map[string]generators.Generator
}
type gitGeneratorInfo struct {
@@ -39,8 +47,14 @@ type gitGeneratorInfo struct {
}
type prGeneratorInfo struct {
- Github *prGeneratorGithubInfo
- Gitlab *prGeneratorGitlabInfo
+ Azuredevops *prGeneratorAzuredevopsInfo
+ Github *prGeneratorGithubInfo
+ Gitlab *prGeneratorGitlabInfo
+}
+
+type prGeneratorAzuredevopsInfo struct {
+ Repo string
+ Project string
}
type prGeneratorGithubInfo struct {
@@ -68,13 +82,28 @@ func NewWebhookHandler(namespace string, argocdSettingsMgr *argosettings.Setting
if err != nil {
return nil, fmt.Errorf("Unable to init GitLab webhook: %v", err)
}
+ azuredevopsHandler, err := azuredevops.New()
+ if err != nil {
+ return nil, fmt.Errorf("Unable to init Azure DevOps webhook: %v", err)
+ }
+ azuredevopsAuthHandler := func(r *http.Request) error {
+ if argocdSettings.WebhookAzureDevOpsUsername != "" && argocdSettings.WebhookAzureDevOpsPassword != "" {
+ username, password, ok := r.BasicAuth()
+ if !ok || username != argocdSettings.WebhookAzureDevOpsUsername || password != argocdSettings.WebhookAzureDevOpsPassword {
+ return errBasicAuthVerificationFailed
+ }
+ }
+ return nil
+ }
return &WebhookHandler{
- namespace: namespace,
- github: githubHandler,
- gitlab: gitlabHandler,
- client: client,
- generators: generators,
+ namespace: namespace,
+ github: githubHandler,
+ gitlab: gitlabHandler,
+ azuredevops: azuredevopsHandler,
+ azuredevopsAuthHandler: azuredevopsAuthHandler,
+ client: client,
+ generators: generators,
}, nil
}
@@ -125,6 +154,14 @@ func (h *WebhookHandler) Handler(w http.ResponseWriter, r *http.Request) {
payload, err = h.github.Parse(r, github.PushEvent, github.PullRequestEvent, github.PingEvent)
case r.Header.Get("X-Gitlab-Event") != "":
payload, err = h.gitlab.Parse(r, gitlab.PushEvents, gitlab.TagEvents, gitlab.MergeRequestEvents)
+ case r.Header.Get("X-Vss-Activityid") != "":
+ if err = h.azuredevopsAuthHandler(r); err != nil {
+ if errors.Is(err, errBasicAuthVerificationFailed) {
+ log.WithField(common.SecurityField, common.SecurityHigh).Infof("Azure DevOps webhook basic auth verification failed")
+ }
+ } else {
+ payload, err = h.azuredevops.Parse(r, azuredevops.GitPushEventType, azuredevops.GitPullRequestCreatedEventType, azuredevops.GitPullRequestUpdatedEventType, azuredevops.GitPullRequestMergedEventType)
+ }
default:
log.Debug("Ignoring unknown webhook event")
http.Error(w, "Unknown webhook event", http.StatusBadRequest)
@@ -164,6 +201,12 @@ func getGitGeneratorInfo(payload interface{}) *gitGeneratorInfo {
webURL = payload.Project.WebURL
revision = parseRevision(payload.Ref)
touchedHead = payload.Project.DefaultBranch == revision
+ case azuredevops.GitPushEvent:
+ // See: https://learn.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops#git.push
+ webURL = payload.Resource.Repository.RemoteURL
+ revision = parseRevision(payload.Resource.RefUpdates[0].Name)
+ touchedHead = payload.Resource.RefUpdates[0].Name == payload.Resource.Repository.DefaultBranch
+ // unfortunately, Azure DevOps doesn't provide a list of changed files
default:
return nil
}
@@ -229,6 +272,18 @@ func getPRGeneratorInfo(payload interface{}) *prGeneratorInfo {
Project: strconv.FormatInt(payload.ObjectAttributes.TargetProjectID, 10),
APIHostname: urlObj.Hostname(),
}
+ case azuredevops.GitPullRequestEvent:
+ if !isAllowedAzureDevOpsPullRequestAction(string(payload.EventType)) {
+ return nil
+ }
+
+ repo := payload.Resource.Repository.Name
+ project := payload.Resource.Repository.Project.Name
+
+ info.Azuredevops = &prGeneratorAzuredevopsInfo{
+ Repo: repo,
+ Project: project,
+ }
default:
return nil
}
@@ -256,6 +311,13 @@ var gitlabAllowedPullRequestActions = []string{
"merge",
}
+// azuredevopsAllowedPullRequestActions is a list of Azure DevOps actions that allow refresh
+var azuredevopsAllowedPullRequestActions = []string{
+ "git.pullrequest.created",
+ "git.pullrequest.merged",
+ "git.pullrequest.updated",
+}
+
func isAllowedGithubPullRequestAction(action string) bool {
for _, allow := range githubAllowedPullRequestActions {
if allow == action {
@@ -274,6 +336,15 @@ func isAllowedGitlabPullRequestAction(action string) bool {
return false
}
+func isAllowedAzureDevOpsPullRequestAction(action string) bool {
+ for _, allow := range azuredevopsAllowedPullRequestActions {
+ if allow == action {
+ return true
+ }
+ }
+ return false
+}
+
func shouldRefreshGitGenerator(gen *v1alpha1.GitGenerator, info *gitGeneratorInfo) bool {
if gen == nil || info == nil {
return false
@@ -359,6 +430,16 @@ func shouldRefreshPRGenerator(gen *v1alpha1.PullRequestGenerator, info *prGenera
return true
}
+ if gen.AzureDevOps != nil && info.Azuredevops != nil {
+ if gen.AzureDevOps.Project != info.Azuredevops.Project {
+ return false
+ }
+ if gen.AzureDevOps.Repo != info.Azuredevops.Repo {
+ return false
+ }
+ return true
+ }
+
return false
}
diff --git a/applicationset/webhook/webhook_test.go b/applicationset/webhook/webhook_test.go
index 2d683762d7170..349d275948aee 100644
--- a/applicationset/webhook/webhook_test.go
+++ b/applicationset/webhook/webhook_test.go
@@ -146,6 +146,24 @@ func TestWebhookHandler(t *testing.T) {
expectedStatusCode: http.StatusOK,
expectedRefresh: false,
},
+ {
+ desc: "WebHook from a Azure DevOps repository via Commit",
+ headerKey: "X-Vss-Activityid",
+ headerValue: "Push Hook",
+ payloadFile: "azuredevops-push.json",
+ effectedAppSets: []string{"git-azure-devops", "plugin", "matrix-pull-request-github-plugin"},
+ expectedStatusCode: http.StatusOK,
+ expectedRefresh: true,
+ },
+ {
+ desc: "WebHook from a Azure DevOps repository via pull request event",
+ headerKey: "X-Vss-Activityid",
+ headerValue: "Pull Request Hook",
+ payloadFile: "azuredevops-pull-request.json",
+ effectedAppSets: []string{"pull-request-azure-devops", "plugin", "matrix-pull-request-github-plugin"},
+ expectedStatusCode: http.StatusOK,
+ expectedRefresh: true,
+ },
}
namespace := "test"
@@ -161,8 +179,10 @@ func TestWebhookHandler(t *testing.T) {
fc := fake.NewClientBuilder().WithScheme(scheme).WithObjects(
fakeAppWithGitGenerator("git-github", namespace, "https://github.com/org/repo"),
fakeAppWithGitGenerator("git-gitlab", namespace, "https://gitlab/group/name"),
+ fakeAppWithGitGenerator("git-azure-devops", namespace, "https://dev.azure.com/fabrikam-fiber-inc/DefaultCollection/_git/Fabrikam-Fiber-Git"),
fakeAppWithGithubPullRequestGenerator("pull-request-github", namespace, "Codertocat", "Hello-World"),
fakeAppWithGitlabPullRequestGenerator("pull-request-gitlab", namespace, "100500"),
+ fakeAppWithAzureDevOpsPullRequestGenerator("pull-request-azure-devops", namespace, "DefaultCollection", "Fabrikam"),
fakeAppWithPluginGenerator("plugin", namespace),
fakeAppWithMatrixAndGitGenerator("matrix-git-github", namespace, "https://github.com/org/repo"),
fakeAppWithMatrixAndPullRequestGenerator("matrix-pull-request-github", namespace, "Codertocat", "Hello-World"),
@@ -338,6 +358,27 @@ func fakeAppWithGithubPullRequestGenerator(name, namespace, owner, repo string)
}
}
+func fakeAppWithAzureDevOpsPullRequestGenerator(name, namespace, project, repo string) *v1alpha1.ApplicationSet {
+ return &v1alpha1.ApplicationSet{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: name,
+ Namespace: namespace,
+ },
+ Spec: v1alpha1.ApplicationSetSpec{
+ Generators: []v1alpha1.ApplicationSetGenerator{
+ {
+ PullRequest: &v1alpha1.PullRequestGenerator{
+ AzureDevOps: &v1alpha1.PullRequestGeneratorAzureDevOps{
+ Project: project,
+ Repo: repo,
+ },
+ },
+ },
+ },
+ },
+ }
+}
+
func fakeAppWithMatrixAndGitGenerator(name, namespace, repo string) *v1alpha1.ApplicationSet {
return &v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
diff --git a/assets/swagger.json b/assets/swagger.json
index 694e4a0e1c11c..a08ae7ea4fa47 100644
--- a/assets/swagger.json
+++ b/assets/swagger.json
@@ -6051,6 +6051,30 @@
}
}
},
+ "v1alpha1ApplicationSetResourceIgnoreDifferences": {
+ "description": "ApplicationSetResourceIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live\napplications when applying changes from generated applications.",
+ "type": "object",
+ "properties": {
+ "jqPathExpressions": {
+ "description": "JQPathExpressions is a list of JQ path expressions to fields to ignore differences for.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "jsonPointers": {
+ "description": "JSONPointers is a list of JSON pointers to fields to ignore differences for.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Name is the name of the application to ignore differences for. If not specified, the rule applies to all applications.",
+ "type": "string"
+ }
+ }
+ },
"v1alpha1ApplicationSetRolloutStep": {
"type": "object",
"properties": {
@@ -6099,6 +6123,12 @@
"type": "string"
}
},
+ "ignoreApplicationDifferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/v1alpha1ApplicationSetResourceIgnoreDifferences"
+ }
+ },
"preservedFields": {
"$ref": "#/definitions/v1alpha1ApplicationPreservedFields"
},
@@ -6389,6 +6419,13 @@
"type": "string",
"title": "Namespace sets the namespace that Kustomize adds to all resources"
},
+ "patches": {
+ "type": "array",
+ "title": "Patches is a list of Kustomize patches",
+ "items": {
+ "$ref": "#/definitions/v1alpha1KustomizePatch"
+ }
+ },
"replicas": {
"type": "array",
"title": "Replicas is a list of Kustomize Replicas override specifications",
@@ -7261,6 +7298,20 @@
}
}
},
+ "v1alpha1KustomizeGvk": {
+ "type": "object",
+ "properties": {
+ "group": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ }
+ },
"v1alpha1KustomizeOptions": {
"type": "object",
"title": "KustomizeOptions are options for kustomize to use when building manifests",
@@ -7275,6 +7326,26 @@
}
}
},
+ "v1alpha1KustomizePatch": {
+ "type": "object",
+ "properties": {
+ "options": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean"
+ }
+ },
+ "patch": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "target": {
+ "$ref": "#/definitions/v1alpha1KustomizeSelector"
+ }
+ }
+ },
"v1alpha1KustomizeReplica": {
"type": "object",
"properties": {
@@ -7287,6 +7358,34 @@
}
}
},
+ "v1alpha1KustomizeResId": {
+ "type": "object",
+ "properties": {
+ "gvk": {
+ "$ref": "#/definitions/v1alpha1KustomizeGvk"
+ },
+ "name": {
+ "type": "string"
+ },
+ "namespace": {
+ "type": "string"
+ }
+ }
+ },
+ "v1alpha1KustomizeSelector": {
+ "type": "object",
+ "properties": {
+ "annotationSelector": {
+ "type": "string"
+ },
+ "labelSelector": {
+ "type": "string"
+ },
+ "resId": {
+ "$ref": "#/definitions/v1alpha1KustomizeResId"
+ }
+ }
+ },
"v1alpha1ListGenerator": {
"type": "object",
"title": "ListGenerator include items info",
diff --git a/cmd/argocd-application-controller/commands/argocd_application_controller.go b/cmd/argocd-application-controller/commands/argocd_application_controller.go
index a4707e511974c..a43174633b02a 100644
--- a/cmd/argocd-application-controller/commands/argocd_application_controller.go
+++ b/cmd/argocd-application-controller/commands/argocd_application_controller.go
@@ -45,28 +45,29 @@ const (
func NewCommand() *cobra.Command {
var (
- clientConfig clientcmd.ClientConfig
- appResyncPeriod int64
- appHardResyncPeriod int64
- repoServerAddress string
- repoServerTimeoutSeconds int
- selfHealTimeoutSeconds int
- statusProcessors int
- operationProcessors int
- glogLevel int
- metricsPort int
- metricsCacheExpiration time.Duration
- metricsAplicationLabels []string
- kubectlParallelismLimit int64
- cacheSource func() (*appstatecache.Cache, error)
- redisClient *redis.Client
- repoServerPlaintext bool
- repoServerStrictTLS bool
- otlpAddress string
- otlpAttrs []string
- applicationNamespaces []string
- persistResourceHealth bool
- shardingAlgorithm string
+ clientConfig clientcmd.ClientConfig
+ appResyncPeriod int64
+ appHardResyncPeriod int64
+ repoServerAddress string
+ repoServerTimeoutSeconds int
+ selfHealTimeoutSeconds int
+ statusProcessors int
+ operationProcessors int
+ glogLevel int
+ metricsPort int
+ metricsCacheExpiration time.Duration
+ metricsAplicationLabels []string
+ kubectlParallelismLimit int64
+ cacheSource func() (*appstatecache.Cache, error)
+ redisClient *redis.Client
+ repoServerPlaintext bool
+ repoServerStrictTLS bool
+ otlpAddress string
+ otlpAttrs []string
+ applicationNamespaces []string
+ persistResourceHealth bool
+ shardingAlgorithm string
+ enableDynamicClusterDistribution bool
)
var command = cobra.Command{
Use: cliName,
@@ -139,7 +140,7 @@ func NewCommand() *cobra.Command {
appController.InvalidateProjectsCache()
}))
kubectl := kubeutil.NewKubectl()
- clusterFilter := getClusterFilter(kubeClient, settingsMgr, shardingAlgorithm)
+ clusterFilter := getClusterFilter(kubeClient, settingsMgr, shardingAlgorithm, enableDynamicClusterDistribution)
errors.CheckError(err)
appController, err = controller.NewApplicationController(
namespace,
@@ -204,21 +205,27 @@ func NewCommand() *cobra.Command {
command.Flags().StringSliceVar(&applicationNamespaces, "application-namespaces", env.StringsFromEnv("ARGOCD_APPLICATION_NAMESPACES", []string{}, ","), "List of additional namespaces that applications are allowed to be reconciled from")
command.Flags().BoolVar(&persistResourceHealth, "persist-resource-health", env.ParseBoolFromEnv("ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH", true), "Enables storing the managed resources health in the Application CRD")
command.Flags().StringVar(&shardingAlgorithm, "sharding-method", env.StringFromEnv(common.EnvControllerShardingAlgorithm, common.DefaultShardingAlgorithm), "Enables choice of sharding method. Supported sharding methods are : [legacy, round-robin] ")
+ command.Flags().BoolVar(&enableDynamicClusterDistribution, "dynamic-cluster-distribution-enabled", env.ParseBoolFromEnv(common.EnvEnableDynamicClusterDistribution, false), "Enables dynamic cluster distribution.")
cacheSource = appstatecache.AddCacheFlagsToCmd(&command, func(client *redis.Client) {
redisClient = client
})
return &command
}
-func getClusterFilter(kubeClient *kubernetes.Clientset, settingsMgr *settings.SettingsManager, shardingAlgorithm string) sharding.ClusterFilterFunction {
+func getClusterFilter(kubeClient *kubernetes.Clientset, settingsMgr *settings.SettingsManager, shardingAlgorithm string, enableDynamicClusterDistribution bool) sharding.ClusterFilterFunction {
var replicas int
shard := env.ParseNumFromEnv(common.EnvControllerShard, -1, -math.MaxInt32, math.MaxInt32)
applicationControllerName := env.StringFromEnv(common.EnvAppControllerName, common.DefaultApplicationControllerName)
- appControllerDeployment, _ := kubeClient.AppsV1().Deployments(settingsMgr.GetNamespace()).Get(context.Background(), applicationControllerName, metav1.GetOptions{})
+ appControllerDeployment, err := kubeClient.AppsV1().Deployments(settingsMgr.GetNamespace()).Get(context.Background(), applicationControllerName, metav1.GetOptions{})
- if appControllerDeployment != nil && appControllerDeployment.Spec.Replicas != nil {
+ // if the application controller deployment was not found, the Get() call returns an empty Deployment object. So, set the variable to nil explicitly
+ if err != nil && kubeerrors.IsNotFound(err) {
+ appControllerDeployment = nil
+ }
+
+ if enableDynamicClusterDistribution && appControllerDeployment != nil && appControllerDeployment.Spec.Replicas != nil {
replicas = int(*appControllerDeployment.Spec.Replicas)
} else {
replicas = env.ParseNumFromEnv(common.EnvControllerReplicas, 0, 0, math.MaxInt32)
@@ -228,7 +235,7 @@ func getClusterFilter(kubeClient *kubernetes.Clientset, settingsMgr *settings.Se
if replicas > 1 {
// check for shard mapping using configmap if application-controller is a deployment
// else use existing logic to infer shard from pod name if application-controller is a statefulset
- if appControllerDeployment != nil {
+ if enableDynamicClusterDistribution && appControllerDeployment != nil {
var err error
// retry 3 times if we find a conflict while updating shard mapping configMap.
diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go
index e46e93035b9a9..ff68f0b877696 100644
--- a/cmd/argocd/commands/app.go
+++ b/cmd/argocd/commands/app.go
@@ -358,14 +358,14 @@ func NewApplicationGetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com
}
case "tree":
printHeader(acdClient, app, ctx, windows, showOperation, showParams)
- mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(acdClient, ctx, appName, appNs, app)
+ mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(ctx, acdClient, appName, appNs)
if len(mapUidToNode) > 0 {
fmt.Println()
printTreeView(mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState)
}
case "tree=detailed":
printHeader(acdClient, app, ctx, windows, showOperation, showParams)
- mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(acdClient, ctx, appName, appNs, app)
+ mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(ctx, acdClient, appName, appNs)
if len(mapUidToNode) > 0 {
fmt.Println()
printTreeViewDetailed(mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState)
@@ -2074,9 +2074,14 @@ func checkResourceStatus(watch watchOpts, healthStatus string, syncStatus string
operational := !watch.operation || operationStatus == nil
return synced && healthCheckPassed && operational
}
-func resourceParentChild(acdClient argocdclient.Client, ctx context.Context, appName string, appNs string, app *argoappv1.Application) (map[string]argoappv1.ResourceNode, map[string][]string, map[string]struct{}, map[string]*resourceState) {
+
+// resourceParentChild gets the latest state of the app and the latest state of the app's resource tree and then
+// constructs the necessary data structures to print the app as a tree.
+func resourceParentChild(ctx context.Context, acdClient argocdclient.Client, appName string, appNs string) (map[string]argoappv1.ResourceNode, map[string][]string, map[string]struct{}, map[string]*resourceState) {
_, appIf := acdClient.NewApplicationClientOrDie()
mapUidToNode, mapParentToChild, parentNode := parentChildDetails(appIf, ctx, appName, appNs)
+ app, err := appIf.Get(ctx, &application.ApplicationQuery{Name: pointer.String(appName), AppNamespace: pointer.String(appNs)})
+ errors.CheckError(err)
mapNodeNameToResourceState := make(map[string]*resourceState)
for _, res := range getResourceStates(app, nil) {
mapNodeNameToResourceState[res.Kind+"/"+res.Name] = res
@@ -2087,7 +2092,7 @@ func resourceParentChild(acdClient argocdclient.Client, ctx context.Context, app
const waitFormatString = "%s\t%5s\t%10s\t%10s\t%20s\t%8s\t%7s\t%10s\t%s\n"
// waitOnApplicationStatus watches an application and blocks until either the desired watch conditions
-// are fulfiled or we reach the timeout. Returns the app once desired conditions have been filled.
+// are fulfilled or we reach the timeout. Returns the app once desired conditions have been filled.
// Additionally return the operationState at time of fulfilment (which may be different than returned app).
func waitOnApplicationStatus(ctx context.Context, acdClient argocdclient.Client, appName string, timeout uint, watch watchOpts, selectedResources []*argoappv1.SyncOperationResource, output string) (*argoappv1.Application, *argoappv1.OperationState, error) {
ctx, cancel := context.WithCancel(ctx)
@@ -2133,13 +2138,13 @@ func waitOnApplicationStatus(ctx context.Context, acdClient argocdclient.Client,
_ = w.Flush()
}
case "tree":
- mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(acdClient, ctx, appName, appNs, app)
+ mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(ctx, acdClient, appName, appNs)
if len(mapUidToNode) > 0 {
fmt.Println()
printTreeView(mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState)
}
case "tree=detailed":
- mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(acdClient, ctx, appName, appNs, app)
+ mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState := resourceParentChild(ctx, acdClient, appName, appNs)
if len(mapUidToNode) > 0 {
fmt.Println()
printTreeViewDetailed(mapUidToNode, mapParentToChild, parentNode, mapNodeNameToResourceState)
@@ -2163,9 +2168,8 @@ func waitOnApplicationStatus(ctx context.Context, acdClient argocdclient.Client,
printFinalStatus(app)
cancel()
fmt.Println()
- fmt.Println("The command timed out waiting for the conditions to be met")
+ fmt.Println("The command timed out waiting for the conditions to be met.")
})
-
}
w := tabwriter.NewWriter(os.Stdout, 5, 0, 2, ' ', 0)
diff --git a/common/common.go b/common/common.go
index 59e2d7b8474ab..d7c2d24738b58 100644
--- a/common/common.go
+++ b/common/common.go
@@ -224,6 +224,8 @@ const (
EnvControllerShard = "ARGOCD_CONTROLLER_SHARD"
// EnvControllerShardingAlgorithm is the distribution sharding algorithm to be used: legacy or round-robin
EnvControllerShardingAlgorithm = "ARGOCD_CONTROLLER_SHARDING_ALGORITHM"
+ //EnvEnableDynamicClusterDistribution enables dynamic sharding (ALPHA)
+ EnvEnableDynamicClusterDistribution = "ARGOCD_ENABLE_DYNAMIC_CLUSTER_DISTRIBUTION"
// EnvEnableGRPCTimeHistogramEnv enables gRPC metrics collection
EnvEnableGRPCTimeHistogramEnv = "ARGOCD_ENABLE_GRPC_TIME_HISTOGRAM"
// EnvGithubAppCredsExpirationDuration controls the caching of Github app credentials. This value is in minutes (default: 60)
diff --git a/controller/appcontroller.go b/controller/appcontroller.go
index 101f24d19cc1f..d99b64a74b702 100644
--- a/controller/appcontroller.go
+++ b/controller/appcontroller.go
@@ -212,14 +212,18 @@ func NewApplicationController(
return nil, err
}
- factory := informers.NewSharedInformerFactory(ctrl.kubeClientset, defaultDeploymentInformerResyncDuration)
+ factory := informers.NewSharedInformerFactoryWithOptions(ctrl.kubeClientset, defaultDeploymentInformerResyncDuration, informers.WithNamespace(settingsMgr.GetNamespace()))
deploymentInformer := factory.Apps().V1().Deployments()
readinessHealthCheck := func(r *http.Request) error {
applicationControllerName := env.StringFromEnv(common.EnvAppControllerName, common.DefaultApplicationControllerName)
appControllerDeployment, err := deploymentInformer.Lister().Deployments(settingsMgr.GetNamespace()).Get(applicationControllerName)
- if !kubeerrors.IsNotFound(err) {
- return fmt.Errorf("error retrieving Application Controller Deployment: %s", err)
+ if err != nil {
+ if kubeerrors.IsNotFound(err) {
+ appControllerDeployment = nil
+ } else {
+ return fmt.Errorf("error retrieving Application Controller Deployment: %s", err)
+ }
}
if appControllerDeployment != nil {
if appControllerDeployment.Spec.Replicas != nil && int(*appControllerDeployment.Spec.Replicas) <= 0 {
diff --git a/docs/assets/zitadel-actions.png b/docs/assets/zitadel-actions.png
new file mode 100644
index 0000000000000..db0b37245c49e
Binary files /dev/null and b/docs/assets/zitadel-actions.png differ
diff --git a/docs/assets/zitadel-application-1.png b/docs/assets/zitadel-application-1.png
new file mode 100644
index 0000000000000..f69acf9b6939e
Binary files /dev/null and b/docs/assets/zitadel-application-1.png differ
diff --git a/docs/assets/zitadel-application-2.png b/docs/assets/zitadel-application-2.png
new file mode 100644
index 0000000000000..f0b4ff34eabed
Binary files /dev/null and b/docs/assets/zitadel-application-2.png differ
diff --git a/docs/assets/zitadel-application-3.png b/docs/assets/zitadel-application-3.png
new file mode 100644
index 0000000000000..7650217264cbc
Binary files /dev/null and b/docs/assets/zitadel-application-3.png differ
diff --git a/docs/assets/zitadel-application-4.png b/docs/assets/zitadel-application-4.png
new file mode 100644
index 0000000000000..d5660fc4f5f0e
Binary files /dev/null and b/docs/assets/zitadel-application-4.png differ
diff --git a/docs/assets/zitadel-application-secrets.png b/docs/assets/zitadel-application-secrets.png
new file mode 100644
index 0000000000000..9530dc7f1de50
Binary files /dev/null and b/docs/assets/zitadel-application-secrets.png differ
diff --git a/docs/assets/zitadel-application-settings.png b/docs/assets/zitadel-application-settings.png
new file mode 100644
index 0000000000000..cbe2e62aee738
Binary files /dev/null and b/docs/assets/zitadel-application-settings.png differ
diff --git a/docs/assets/zitadel-argocd-login.png b/docs/assets/zitadel-argocd-login.png
new file mode 100644
index 0000000000000..b4f2e0b75ae77
Binary files /dev/null and b/docs/assets/zitadel-argocd-login.png differ
diff --git a/docs/assets/zitadel-argocd-user-info.png b/docs/assets/zitadel-argocd-user-info.png
new file mode 100644
index 0000000000000..88b5a2befa8f2
Binary files /dev/null and b/docs/assets/zitadel-argocd-user-info.png differ
diff --git a/docs/assets/zitadel-project-authorizations.png b/docs/assets/zitadel-project-authorizations.png
new file mode 100644
index 0000000000000..0ec01f7755dab
Binary files /dev/null and b/docs/assets/zitadel-project-authorizations.png differ
diff --git a/docs/assets/zitadel-project-roles.png b/docs/assets/zitadel-project-roles.png
new file mode 100644
index 0000000000000..ee18d1e1f3dd0
Binary files /dev/null and b/docs/assets/zitadel-project-roles.png differ
diff --git a/docs/assets/zitadel-project-settings.png b/docs/assets/zitadel-project-settings.png
new file mode 100644
index 0000000000000..ac0c3fa8036c7
Binary files /dev/null and b/docs/assets/zitadel-project-settings.png differ
diff --git a/docs/assets/zitadel-project.png b/docs/assets/zitadel-project.png
new file mode 100644
index 0000000000000..4ed9b04f87541
Binary files /dev/null and b/docs/assets/zitadel-project.png differ
diff --git a/docs/developer-guide/ci.md b/docs/developer-guide/ci.md
index 800af14396402..921f9d69d4c57 100644
--- a/docs/developer-guide/ci.md
+++ b/docs/developer-guide/ci.md
@@ -66,7 +66,7 @@ make builder-image IMAGE_NAMESPACE=argoproj IMAGE_TAG=v1.0.0
## Public CD
Every commit to master is built and published to `ghcr.io/argoproj/argo-cd/argocd:-`. The list of images is available at
-https://github.com/argoproj/argo-cd/packages.
+[https://github.com/argoproj/argo-cd/packages](https://github.com/argoproj/argo-cd/packages).
!!! note
GitHub docker registry [requires](https://github.community/t5/GitHub-Actions/docker-pull-from-public-GitHub-Package-Registry-fail-with-quot/m-p/32888#M1294) authentication to read
diff --git a/docs/operator-manual/app-any-namespace.md b/docs/operator-manual/app-any-namespace.md
index 5a91b79dac491..e4efb1669193e 100644
--- a/docs/operator-manual/app-any-namespace.md
+++ b/docs/operator-manual/app-any-namespace.md
@@ -20,7 +20,7 @@ Some manual steps will need to be performed by the Argo CD administrator in orde
### Cluster-scoped Argo CD installation
-This feature can only be enabled and used when your Argo CD is installed as a cluster-wide instance, so it has permissions to list and manipulate resources on a cluster scope. It will *not* work with an Argo CD installed in namespace-scoped mode.
+This feature can only be enabled and used when your Argo CD is installed as a cluster-wide instance, so it has permissions to list and manipulate resources on a cluster scope. It will not work with an Argo CD installed in namespace-scoped mode.
### Switch resource tracking method
diff --git a/docs/operator-manual/applicationset.yaml b/docs/operator-manual/applicationset.yaml
index 7e5a5b80d3583..65935802c674a 100644
--- a/docs/operator-manual/applicationset.yaml
+++ b/docs/operator-manual/applicationset.yaml
@@ -26,3 +26,13 @@ spec:
preserveResourcesOnDeletion: false
# Alpha feature to determine the order in which ApplicationSet applies changes.
strategy:
+ # This field lets you define fields which should be ignored when applying Application resources. This is helpful if you
+ # want to use ApplicationSets to create apps, but also want to allow users to modify those apps without having their
+ # changes overwritten by the ApplicationSet.
+ ignoreApplicationDifferences:
+ - jsonPointers:
+ - /spec/source/targetRevision
+ - name: some-app
+ jqExpressions:
+ - .spec.source.helm.values
+
diff --git a/docs/operator-manual/applicationset/Add-self-signed-TLS-Certs.md b/docs/operator-manual/applicationset/Add-self-signed-TLS-Certs.md
deleted file mode 100644
index 4a4ed1b44426e..0000000000000
--- a/docs/operator-manual/applicationset/Add-self-signed-TLS-Certs.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Add support for self-signed TLS / Certificates for Gitlab SCM/PR Provider
-
-## Implementation details
-
-### Overview
-
-In order for a self-signed TLS certificate be used by an ApplicationSet's SCM / PR Gitlab Generator, the certificate needs to be mounted on the application-controller. The path of the mounted certificate must be explicitly set using the environment variable `ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH` or alternatively using parameter `--scm-root-ca-path`. The applicationset controller will read the mounted certificate to create the Gitlab client for SCM/PR Providers
-
-This can be achieved conveniently by setting `applicationsetcontroller.scm.root.ca.path` in the argocd-cmd-params-cm ConfigMap. Be sure to restart the ApplicationSet controller after setting this value.
diff --git a/docs/operator-manual/applicationset/Controlling-Resource-Modification.md b/docs/operator-manual/applicationset/Controlling-Resource-Modification.md
index 7fa0e3d075ded..73f8a5a3eeb50 100644
--- a/docs/operator-manual/applicationset/Controlling-Resource-Modification.md
+++ b/docs/operator-manual/applicationset/Controlling-Resource-Modification.md
@@ -79,6 +79,29 @@ spec:
applicationsSync: create-update
```
+### Ignore certain changes to Applications
+
+The ApplicationSet spec includes an `ignoreApplicationDifferences` field, which allows you to specify which fields of
+the ApplicationSet should be ignored when comparing Applications.
+
+The field supports multiple ignore rules. Each ignore rule may specify a list of either `jsonPointers` or
+`jqPathExpressions` to ignore.
+
+You may optionally also specify a `name` to apply the ignore rule to a specific Application, or omit the `name` to apply
+the ignore rule to all Applications.
+
+```yaml
+apiVersion: argoproj.io/v1alpha1
+kind: ApplicationSet
+spec:
+ ignoreApplicationDifferences:
+ - jsonPointers:
+ - /spec/source/targetRevision
+ - name: some-app
+ jqExpressions:
+ - .spec.source.helm.values
+```
+
### Prevent an `Application`'s child resources from being deleted, when the parent Application is deleted
By default, when an `Application` resource is deleted by the ApplicationSet controller, all of the child resources of the Application will be deleted as well (such as, all of the Application's `Deployments`, `Services`, etc).
@@ -197,49 +220,3 @@ By default, the Argo CD notifications and the Argo CD refresh type annotations a
!!!note
One can also set global preserved fields for the controller by passing a comma separated list of annotations and labels to
`ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_ANNOTATIONS` and `ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_LABELS` respectively.
-
-## Limitations: what isn't supported as of the current release
-
-Here is a list of commonly requested resource modification features which are not supported as of the current release. This lack of support is *not* necessarily by design; rather these behaviours are documented here to provide clear, concise descriptions of the current state of the feature.
-
-### Limitation: No support for manual edits to individual Applications
-
-There is currently no way to allow modification of a single child Application of an ApplicationSet, for example, if you wanted to make manual edits to a single Application for debugging/testing purposes.
-
-For example:
-
-- Imagine that you have an ApplicationSet that created Applications `app1`, `app2`, and `app3`.
-- You now want to edit `app3` with `kubectl edit application/app3`, to update one of the `app3`'s fields.
-- However, as soon as you make edits to `app3` (or any of the individual Applications), they will be immediately reverted by the ApplicationSet reconciler back to the `template`-ized version (by design).
-
-As of this writing, there is [an issue open](https://github.com/argoproj/applicationset/issues/186) for discussion of this behaviour.
-
-
-### Limitation: ApplicationSet controller will not selectively ignore changes to individual fields
-
-Currently, you can only instruct the ApplicationSet controller to ignore changes to Application annotations and labels.
-
-For example, imagine that we have an Application created from an ApplicationSet, but a user has attempted to add a custom annotation/label (to the Application) that does not exist in the `ApplicationSet` resource:
-```yaml
-apiVersion: argoproj.io/v1alpha1
-kind: Application
-metadata:
- labels:
- # This label exists only on this Application, and not in
- # the parent ApplicationSet template:
- my-custom-label: some-value
-spec:
- # (...)
-```
-
-As above, the `ApplicationSet` resource does not have a `my-custom-label: some-value` label in the `.spec.template.labels` for the Application.
-
-Since this field is not in the ApplicationSet template, as soon as a user adds this custom label, it will be immediately reverted (removed) by the ApplicationSet controller.
-
-If the labels/annotations are not mentioned in appset preserved fields, there is currently no way for disabling or customizing this behaviour.
-
-To some extent this is by design: the main principle of ApplicationSets is that we maintain a 1-to-many relationship between the ApplicationSet and the Applications that it owns, such that all the Applications necessarily conform to a strict template.
-
-This provides the advantages of the 'cattle not pets' philosophy of microservice/cloud native application resource management, wherein you don't need to worry about individual Applications differing from each other in subtle ways: they will all necessarily be reconciled to be consistent with the parent template.
-
-BUT, support exists for preserving changes to Application annotations and labels as documented [above](#preserving-changes-made-to-an-applications-annotations-and-labels).
diff --git a/docs/operator-manual/applicationset/Generators-Pull-Request.md b/docs/operator-manual/applicationset/Generators-Pull-Request.md
index 8762bf572f243..298e5135392ce 100644
--- a/docs/operator-manual/applicationset/Generators-Pull-Request.md
+++ b/docs/operator-manual/applicationset/Generators-Pull-Request.md
@@ -105,7 +105,7 @@ spec:
* `pullRequestState`: PullRequestState is an additional MRs filter to get only those with a certain state. Default: "" (all states)
* `insecure`: By default (false) - Skip checking the validity of the SCM's certificate - useful for self-signed TLS certificates.
-As a preferable alternative to setting `insecure` to true, you can configure self-signed TLS certificates for Gitlab by [mounting self-signed certificate to the applicationset controller](./Add-self-signed-TLS-Certs.md).
+As a preferable alternative to setting `insecure` to true, you can configure self-signed TLS certificates for Gitlab by [mounting self-signed certificate to the applicationset controller](./Generators-SCM-Provider.md#self-signed-tls-certificates).
## Gitea
diff --git a/docs/operator-manual/applicationset/Generators-SCM-Provider.md b/docs/operator-manual/applicationset/Generators-SCM-Provider.md
index befe7ad81cfdb..5e3c4a6ab8aa4 100644
--- a/docs/operator-manual/applicationset/Generators-SCM-Provider.md
+++ b/docs/operator-manual/applicationset/Generators-SCM-Provider.md
@@ -111,12 +111,18 @@ spec:
* `tokenRef`: A `Secret` name and key containing the GitLab access token to use for requests. If not specified, will make anonymous requests which have a lower rate limit and can only see public repositories.
* `insecure`: By default (false) - Skip checking the validity of the SCM's certificate - useful for self-signed TLS certificates.
-As a preferable alternative to setting `insecure` to true, you can configure self-signed TLS certificates for Gitlab by [mounting self-signed certificate to the applicationset controller](./Add-self-signed-TLS-Certs.md).
-
For label filtering, the repository tags are used.
Available clone protocols are `ssh` and `https`.
+### Self-signed TLS Certificates
+
+As a preferable alternative to setting `insecure` to true, you can configure self-signed TLS certificates for Gitlab.
+
+In order for a self-signed TLS certificate be used by an ApplicationSet's SCM / PR Gitlab Generator, the certificate needs to be mounted on the applicationset-controller. The path of the mounted certificate must be explicitly set using the environment variable `ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH` or alternatively using parameter `--scm-root-ca-path`. The applicationset controller will read the mounted certificate to create the Gitlab client for SCM/PR Providers
+
+This can be achieved conveniently by setting `applicationsetcontroller.scm.root.ca.path` in the argocd-cmd-params-cm ConfigMap. Be sure to restart the ApplicationSet controller after setting this value.
+
## Gitea
The Gitea mode uses the Gitea API to scan organizations in your instance
diff --git a/docs/operator-manual/dynamic-cluster-distribution.md b/docs/operator-manual/dynamic-cluster-distribution.md
index b07165ae0219a..a32258c3f2f0a 100644
--- a/docs/operator-manual/dynamic-cluster-distribution.md
+++ b/docs/operator-manual/dynamic-cluster-distribution.md
@@ -17,6 +17,8 @@ which does not require a restart of the application controller pods.
## Enabling Dynamic Distribution of Clusters
+This feature is disabled by default while it is in alpha. To enable it, you must set the environment `ARGOCD_ENABLE_DYNAMIC_CLUSTER_DISTRIBUTION` to true when running the Application Controller.
+
In order to utilize the feature, the manifests `manifests/ha/base/controller-deployment/` can be applied as a Kustomize
overlay. This overlay sets the StatefulSet replicas to `0` and deploys the application controller as a Deployment. The
dynamic distribution code automatically kicks in when the controller is deployed as a Deployment.
diff --git a/docs/operator-manual/server-commands/argocd-application-controller.md b/docs/operator-manual/server-commands/argocd-application-controller.md
index 1172f52f520db..b4b62c28f23db 100644
--- a/docs/operator-manual/server-commands/argocd-application-controller.md
+++ b/docs/operator-manual/server-commands/argocd-application-controller.md
@@ -28,7 +28,8 @@ argocd-application-controller [flags]
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--default-cache-expiration duration Cache expiration default (default 24h0m0s)
- --disable-compression If true, opt-out of response compression for all requests to the server
+ --disable-compression If true, opt-out of response compression for all requests to the server
+ --dynamic-cluster-distribution-enabled Enables dynamic cluster distribution.
--gloglevel int Set the glog logging level
-h, --help help for argocd-application-controller
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
diff --git a/docs/operator-manual/user-management/zitadel.md b/docs/operator-manual/user-management/zitadel.md
new file mode 100644
index 0000000000000..08841983bc95f
--- /dev/null
+++ b/docs/operator-manual/user-management/zitadel.md
@@ -0,0 +1,210 @@
+# Zitadel
+Please also consult the [Zitadel Documentation](https://zitadel.com/docs).
+## Integrating Zitadel and ArgoCD
+These instructions will take you through the entire process of getting your ArgoCD application authenticating and authorizing with Zitadel. You will create an application within Zitadel and configure ArgoCD to use Zitadel for authentication using roles set in Zitadel to determine privileges in ArgoCD.
+
+The following steps are required to integrate ArgoCD with Zitadel:
+1. Create a new project and a new application in Zitadel
+2. Configure the application in Zitadel
+3. Set up roles in Zitadel
+4. Set up an action in Zitadel
+5. Configure ArgoCD configmaps
+6. Test the setup
+
+The following values will be used in this example:
+- Zitadel FQDN: `auth.example.com`
+- Zitadel Project: `argocd-project`
+- Zitadel Application: `argocd-application`
+- Zitadel Action: `groupsClaim`
+- ArgoCD FQDN: `argocd.example.com`
+- ArgoCD Administrator Role: `argocd_administrators`
+- ArgoCD User Role: `argocd_users`
+
+You may choose different values in your setup; these are used to keep the guide consistent.
+
+## Setting up your project and application in Zitadel
+First, we will create a new project within Zitadel. Go to **Projects** and select **Create New Project**.
+You should now see the following screen.
+
+
+
+Check the following options:
+- Assert Roles on Authentication
+- Check authorization on Authentication
+
+
+
+### Roles
+
+Go to **Roles** and click **New**. Create the following two roles. Use the specified values below for both fields **Key** and **Group**.
+- `argocd_administrators`
+- `argocd_users`
+
+Your roles should now look like this:
+
+
+
+### Authorizations
+
+Next, go to **Authorizations** and assign your user the role `argocd_administrators`.
+Click **New**, enter the name of your user and click **Continue**. Select the role `argocd_administrators` and click **Save**.
+
+Your authorizations should now look like this:
+
+
+
+### Creating an application
+
+Go to **General** and create a new application. Name the application `argocd-application`.
+
+For type of the application, select **WEB** and click continue.
+
+
+
+Select **CODE** and continue.
+
+
+
+Next, we will set up the redirect and post-logout URIs. Set the following values:
+- Redirect URI: `https://argocd.example.com/auth/callback`
+- Post Logout URI: `https://argocd.example.com`
+
+The post logout URI is optional. In the example setup users will be taken back to the ArgoCD login page after logging out.
+
+
+
+Verify your configuration on the next screen and click **Create** to create the application.
+
+
+
+After clicking **Create** you will be shown the `ClientId` and the `ClientSecret` for your application. Make sure to copy the ClientSecret as you will not be able to retrieve it after closing this window.
+For our example, the following values are used:
+- ClientId: `227060711795262483@argocd-project`
+- ClientSecret: `UGvTjXVFAQ8EkMv2x4GbPcrEwrJGWZ0sR2KbwHRNfYxeLsDurCiVEpa5bkgW0pl0`
+
+
+
+Once you have saved the ClientSecret in a safe place, click **Close** to complete creating the application.
+
+Go to **Token Settings** and enable the following options:
+- User roles inside ID Token
+- User Info inside ID Token
+
+
+
+## Setting up an action in Zitadel
+
+To include the role of the user in the token issued by Zitadel, we will need to set up a Zitadel Action. The authorization in ArgoCD will be determined by the role contained within the auth token.
+Go to **Actions**, click **New** and choose `groupsClaim` as the name of your action.
+
+Paste the following code into the action:
+
+```javascript
+/**
+ * sets the roles an additional claim in the token with roles as value an project as key
+ *
+ * The role claims of the token look like the following:
+ *
+ * // added by the code below
+ * "groups": ["{roleName}", "{roleName}", ...],
+ *
+ * Flow: Complement token, Triggers: Pre Userinfo creation, Pre access token creation
+ *
+ * @param ctx
+ * @param api
+ */
+function groupsClaim(ctx, api) {
+ if (ctx.v1.user.grants === undefined || ctx.v1.user.grants.count == 0) {
+ return;
+ }
+
+ let grants = [];
+ ctx.v1.user.grants.grants.forEach((claim) => {
+ claim.roles.forEach((role) => {
+ grants.push(role);
+ });
+ });
+
+ api.v1.claims.setClaim("groups", grants);
+}
+```
+
+Check **Allowed To Fail** and click **Add** to add your action.
+
+*Note: If **Allowed To Fail** is not checked and a user does not have a role assigned, it may be possible that the user is no longer able to log in to Zitadel as the login flow fails when the action fails.*
+
+Next, add your action to the **Complement Token** flow. Select the **Complement Token** flow from the dropdown and click **Add trigger**.
+Add your action to both triggers **Pre Userinfo creation** and **Pre access token creation**.
+
+Your Actions page should now look like the following screenshot:
+
+
+
+
+## Configuring the ArgoCD configmaps
+
+Next, we will configure two ArgoCD configmaps:
+- [argocd-cm.yaml](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cm.yaml)
+- [argocd-rbac-cm.yaml](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-rbac-cm.yaml)
+
+Configure your configmaps as follows while making sure to replace the relevant values such as `url`, `issuer`, `clientID`, `clientSecret` and `logoutURL` with ones matching your setup.
+
+### argocd-cm.yaml
+```yaml
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: argocd-cm
+ namespace: argocd
+ labels:
+ app.kubernetes.io/part-of: argocd
+data:
+ admin.enabled: "false"
+ url: https://argocd.example.com
+ oidc.config: |
+ name: Zitadel
+ issuer: https://auth.example.com
+ clientID: 227060711795262483@argocd-project
+ clientSecret: UGvTjXVFAQ8EkMv2x4GbPcrEwrJGWZ0sR2KbwHRNfYxeLsDurCiVEpa5bkgW0pl0
+ requestedScopes:
+ - openid
+ - profile
+ - email
+ - groups
+ logoutURL: https://auth.example.com/oidc/v1/end_session
+```
+
+### argocd-rbac-cm.yaml
+```yaml
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: argocd-rbac-cm
+ namespace: argocd
+ labels:
+ app.kubernetes.io/part-of: argocd
+data:
+ scopes: '[groups]'
+ policy.csv: |
+ g, argocd_administrators, role:admin
+ g, argocd_users, role:readonly
+ policy.default: ''
+```
+
+The roles specified under `policy.csv` must match the roles configured in Zitadel.
+The Zitadel role `argocd_administrators` will be assigned the ArgoCD role `admin` granting admin access to ArgoCD.
+The Zitadel role `argocd_users` will be assigned the ArgoCD role `readonly` granting read-only access to ArgoCD.
+
+Deploy your ArgoCD configmaps. ArgoCD and Zitadel should now be set up correctly to allow users to log in to ArgoCD using Zitadel.
+
+## Testing the setup
+
+Go to your ArgoCD instance. You should now see the **LOG IN WITH ZITADEL** button above the usual username/password login.
+
+
+
+After logging in with your Zitadel user go to **User Info**. If everything is set up correctly you should now see the group `argocd_administrators` as shown below.
+
+
diff --git a/docs/user-guide/kustomize.md b/docs/user-guide/kustomize.md
index 601c9b2eef1fb..ee137cab27149 100644
--- a/docs/user-guide/kustomize.md
+++ b/docs/user-guide/kustomize.md
@@ -12,12 +12,64 @@ The following configuration options are available for Kustomize:
* `namespace` is a kubernetes resources namespace
* `forceCommonAnnotations` is a boolean value which defines if it's allowed to override existing annotations
* `commonAnnotationsEnvsubst` is a boolean value which enables env variables substition in annotation values
+* `patches` is a list of Kustomize patches that supports inline updates
To use Kustomize with an overlay, point your path to the overlay.
!!! tip
If you're generating resources, you should read up how to ignore those generated resources using the [`IgnoreExtraneous` compare option](compare-options.md).
+## Patches
+Patches are a way to kustomize resources using inline configurations in Argo CD applications. This allows for kustomizing without kustomization file. `patches` follow the same logic as the corresponding Kustomization. Any patches that target existing Kustomization file will be merged.
+
+The following Kustomization can be done similarly in an Argo CD application.
+```yaml
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+metadata:
+ name: kustomize-inline-example
+namespace: test1
+resources:
+ - https://raw.githubusercontent.com/argoproj/argocd-example-apps/master/guestbook/guestbook-ui-deployment.yaml
+ - https://raw.githubusercontent.com/argoproj/argocd-example-apps/master/guestbook/guestbook-ui-svc.yaml
+patches:
+ - target:
+ kind: Deployment
+ name: guestbook-ui
+ patch: |-
+ - op: replace
+ path: /spec/template/spec/containers/0/ports/0/containerPort
+ value: 443
+```
+Application will clone the repository, use the specified path, then kustomize using inline patches configuration.
+```yaml
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: kustomize-inline-guestbook
+ namespace: argocd
+ finalizers:
+ - resources-finalizer.argocd.argoproj.io
+spec:
+ destination:
+ namespace: test1
+ server: https://kubernetes.default.svc
+ project: default
+ source:
+ path: guestbook
+ repoURL: https://github.com/argoproj/argocd-example-apps.git
+ targetRevision: master
+ kustomize:
+ patches:
+ - target:
+ kind: Deployment
+ name: guestbook-ui
+ patch: |-
+ - op: replace
+ path: /spec/template/spec/containers/0/ports/0/containerPort
+ value: 443
+```
+
## Private Remote Bases
If you have remote bases that are either (a) HTTPS and need username/password (b) SSH and need SSH private key, then they'll inherit that from the app's repo.
diff --git a/docs/user-guide/projects.md b/docs/user-guide/projects.md
index 0ed79ede623d5..6fb59b1ef3456 100644
--- a/docs/user-guide/projects.md
+++ b/docs/user-guide/projects.md
@@ -3,8 +3,8 @@
Projects provide a logical grouping of applications, which is useful when Argo CD is used by multiple
teams. Projects provide the following features:
-* restrict *what* may be deployed (trusted Git source repositories)
-* restrict *where* apps may be deployed to (destination clusters and namespaces)
+* restrict what may be deployed (trusted Git source repositories)
+* restrict where apps may be deployed to (destination clusters and namespaces)
* restrict what kinds of objects may or may not be deployed (e.g. RBAC, CRDs, DaemonSets, NetworkPolicy etc...)
* defining project roles to provide application RBAC (bound to OIDC groups and/or JWT tokens)
@@ -346,4 +346,4 @@ spec:
```
With this set, the application above would no longer be allowed to be synced to any cluster other than the ones which
-are a part of the same project.
\ No newline at end of file
+are a part of the same project.
diff --git a/hack/installers/install-gotestsum.sh b/hack/installers/install-gotestsum.sh
new file mode 100755
index 0000000000000..27b497696ccdc
--- /dev/null
+++ b/hack/installers/install-gotestsum.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+set -eux -o pipefail
+
+# Code from: https://github.com/argoproj/argo-rollouts/blob/f650a1fd0ba7beb2125e1598410515edd572776f/hack/installers/install-dev-tools.sh
+
+PROJECT_ROOT=$(cd $(dirname ${BASH_SOURCE})/../..; pwd)
+DIST_PATH="${PROJECT_ROOT}/dist"
+PATH="${DIST_PATH}:${PATH}"
+
+mkdir -p ${DIST_PATH}
+
+gotestsum_version=1.11.0
+
+OS=$(go env GOOS)
+ARCH=$(go env GOARCH)
+
+export TARGET_FILE=gotestsum_${gotestsum_version}_${OS}_${ARCH}.tar.gz
+temp_path="/tmp/${TARGET_FILE}"
+url=https://github.com/gotestyourself/gotestsum/releases/download/v${gotestsum_version}/gotestsum_${gotestsum_version}_${OS}_${ARCH}.tar.gz
+[ -e ${temp_path} ] || curl -sLf --retry 3 -o ${temp_path} ${url}
+
+mkdir -p /tmp/gotestsum-${gotestsum_version}
+tar -xvzf ${temp_path} -C /tmp/gotestsum-${gotestsum_version}
+cp /tmp/gotestsum-${gotestsum_version}/gotestsum ${DIST_PATH}/gotestsum
+chmod +x ${DIST_PATH}/gotestsum
+gotestsum --version
diff --git a/hack/test.sh b/hack/test.sh
index 6eacb0a358722..454a58d749291 100755
--- a/hack/test.sh
+++ b/hack/test.sh
@@ -15,12 +15,4 @@ fi
mkdir -p $TEST_RESULTS
-report() {
- set -eux -o pipefail
-
- go-junit-report < $TEST_RESULTS/test.out > $TEST_RESULTS/junit.xml
-}
-
-trap 'report' EXIT
-
-GODEBUG="tarinsecurepath=0,zipinsecurepath=0" go test $TEST_FLAGS -failfast $* 2>&1 | tee $TEST_RESULTS/test.out
+GODEBUG="tarinsecurepath=0,zipinsecurepath=0" ${DIST_DIR}/gotestsum --rerun-fails-report=rerunreport.txt --junitfile=$TEST_RESULTS/junit.xml --format=testname --rerun-fails="$RERUN_FAILS" --packages="$PACKAGES" -- $TEST_FLAGS $*
diff --git a/manifests/core-install.yaml b/manifests/core-install.yaml
index 1f1e51c686d4a..2d8afc40dcfb0 100644
--- a/manifests/core-install.yaml
+++ b/manifests/core-install.yaml
@@ -349,6 +349,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -647,6 +678,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -1059,6 +1121,37 @@ spec:
description: Namespace sets the namespace that Kustomize adds
to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1347,6 +1440,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1788,6 +1912,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2089,6 +2244,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2534,6 +2720,37 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2852,6 +3069,38 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize
+ patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize
Replicas override specifications
@@ -3284,6 +3533,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -3595,6 +3875,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4050,6 +4361,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4361,20 +4703,51 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
- replicas:
- description: Replicas is a list of Kustomize Replicas
- override specifications
+ patches:
+ description: Patches is a list of Kustomize patches
items:
properties:
- count:
- anyOf:
- - type: integer
- - type: string
- description: Number of replicas
- x-kubernetes-int-or-string: true
- name:
- description: Name of Deployment or StatefulSet
- type: string
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
+ replicas:
+ description: Replicas is a list of Kustomize Replicas
+ override specifications
+ items:
+ properties:
+ count:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Number of replicas
+ x-kubernetes-int-or-string: true
+ name:
+ description: Name of Deployment or StatefulSet
+ type: string
required:
- count
- name
@@ -4749,6 +5122,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -4929,6 +5332,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5268,6 +5701,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5448,6 +5911,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5791,6 +6284,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5971,6 +6494,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6294,6 +6847,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6474,6 +7057,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6821,6 +7434,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7001,6 +7644,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7340,6 +8013,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7520,6 +8223,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7857,12 +8590,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8043,6 +8806,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8366,6 +9159,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8546,6 +9369,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8879,6 +9732,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9059,6 +9942,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9572,6 +10485,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9752,6 +10695,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10260,6 +11233,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10440,6 +11443,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10777,6 +11810,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10957,6 +12020,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11298,12 +12391,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11484,6 +12607,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11823,6 +12976,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12003,6 +13186,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12346,6 +13559,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12526,6 +13769,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12849,6 +14122,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13029,6 +14332,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13362,6 +14695,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13542,6 +14905,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14055,6 +15448,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14235,6 +15658,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14743,6 +16196,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14923,6 +16406,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15264,6 +16777,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15444,6 +16987,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15774,6 +17347,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15954,6 +17557,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -16467,6 +18100,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -16647,6 +18310,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17155,6 +18848,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17335,6 +19058,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17486,6 +19239,21 @@ spec:
items:
type: string
type: array
+ ignoreApplicationDifferences:
+ items:
+ properties:
+ jqPathExpressions:
+ items:
+ type: string
+ type: array
+ jsonPointers:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ type: object
+ type: array
preservedFields:
properties:
annotations:
@@ -17732,6 +19500,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17912,6 +19710,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
diff --git a/manifests/crds/application-crd.yaml b/manifests/crds/application-crd.yaml
index 1248bd37b421b..f1833e22a95da 100644
--- a/manifests/crds/application-crd.yaml
+++ b/manifests/crds/application-crd.yaml
@@ -348,6 +348,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -646,6 +677,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -1058,6 +1120,37 @@ spec:
description: Namespace sets the namespace that Kustomize adds
to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1346,6 +1439,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1787,6 +1911,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2088,6 +2243,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2533,6 +2719,37 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2851,6 +3068,38 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize
+ patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize
Replicas override specifications
@@ -3283,6 +3532,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -3594,6 +3874,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4049,6 +4360,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4360,6 +4702,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
diff --git a/manifests/crds/applicationset-crd.yaml b/manifests/crds/applicationset-crd.yaml
index a4d9a9e7c1a8a..9348368951811 100644
--- a/manifests/crds/applicationset-crd.yaml
+++ b/manifests/crds/applicationset-crd.yaml
@@ -258,6 +258,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -438,6 +468,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -777,6 +837,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -957,6 +1047,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -1300,6 +1420,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -1480,6 +1630,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -1803,6 +1983,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -1983,6 +2193,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -2330,6 +2570,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -2510,6 +2780,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -2849,6 +3149,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -3029,6 +3359,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -3366,12 +3726,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -3552,6 +3942,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -3875,6 +4295,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -4055,6 +4505,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -4388,6 +4868,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -4568,6 +5078,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5081,6 +5621,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5261,6 +5831,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5769,6 +6369,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5949,6 +6579,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6286,6 +6946,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6466,6 +7156,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6807,12 +7527,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6993,6 +7743,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7332,6 +8112,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7512,6 +8322,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7855,6 +8695,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8035,6 +8905,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8358,6 +9258,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8538,6 +9468,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8871,6 +9831,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9051,6 +10041,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9564,6 +10584,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9744,6 +10794,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10246,12 +11326,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10432,6 +11542,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10773,6 +11913,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10953,6 +12123,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11283,6 +12483,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11463,6 +12693,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11976,6 +13236,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12156,6 +13446,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12664,6 +13984,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12844,6 +14194,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12995,6 +14375,21 @@ spec:
items:
type: string
type: array
+ ignoreApplicationDifferences:
+ items:
+ properties:
+ jqPathExpressions:
+ items:
+ type: string
+ type: array
+ jsonPointers:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ type: object
+ type: array
preservedFields:
properties:
annotations:
@@ -13241,6 +14636,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13421,6 +14846,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml
index d7a3a8125c10a..e8bf0f01b6ebb 100644
--- a/manifests/ha/install.yaml
+++ b/manifests/ha/install.yaml
@@ -349,6 +349,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -647,6 +678,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -1059,6 +1121,37 @@ spec:
description: Namespace sets the namespace that Kustomize adds
to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1347,6 +1440,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1788,6 +1912,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2089,6 +2244,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2534,6 +2720,37 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2852,6 +3069,38 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize
+ patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize
Replicas override specifications
@@ -3284,6 +3533,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -3595,6 +3875,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4050,6 +4361,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4361,20 +4703,51 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
- replicas:
- description: Replicas is a list of Kustomize Replicas
- override specifications
+ patches:
+ description: Patches is a list of Kustomize patches
items:
properties:
- count:
- anyOf:
- - type: integer
- - type: string
- description: Number of replicas
- x-kubernetes-int-or-string: true
- name:
- description: Name of Deployment or StatefulSet
- type: string
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
+ replicas:
+ description: Replicas is a list of Kustomize Replicas
+ override specifications
+ items:
+ properties:
+ count:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Number of replicas
+ x-kubernetes-int-or-string: true
+ name:
+ description: Name of Deployment or StatefulSet
+ type: string
required:
- count
- name
@@ -4749,6 +5122,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -4929,6 +5332,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5268,6 +5701,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5448,6 +5911,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5791,6 +6284,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5971,6 +6494,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6294,6 +6847,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6474,6 +7057,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6821,6 +7434,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7001,6 +7644,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7340,6 +8013,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7520,6 +8223,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7857,12 +8590,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8043,6 +8806,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8366,6 +9159,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8546,6 +9369,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8879,6 +9732,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9059,6 +9942,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9572,6 +10485,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9752,6 +10695,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10260,6 +11233,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10440,6 +11443,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10777,6 +11810,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10957,6 +12020,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11298,12 +12391,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11484,6 +12607,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11823,6 +12976,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12003,6 +13186,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12346,6 +13559,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12526,6 +13769,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12849,6 +14122,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13029,6 +14332,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13362,6 +14695,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13542,6 +14905,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14055,6 +15448,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14235,6 +15658,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14743,6 +16196,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14923,6 +16406,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15264,6 +16777,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15444,6 +16987,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15774,6 +17347,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15954,6 +17557,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -16467,6 +18100,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -16647,6 +18310,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17155,6 +18848,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17335,6 +19058,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17486,6 +19239,21 @@ spec:
items:
type: string
type: array
+ ignoreApplicationDifferences:
+ items:
+ properties:
+ jqPathExpressions:
+ items:
+ type: string
+ type: array
+ jsonPointers:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ type: object
+ type: array
preservedFields:
properties:
annotations:
@@ -17732,6 +19500,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17912,6 +19710,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
diff --git a/manifests/install.yaml b/manifests/install.yaml
index a04743c7f820e..a23138952e84f 100644
--- a/manifests/install.yaml
+++ b/manifests/install.yaml
@@ -349,6 +349,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -647,6 +678,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -1059,6 +1121,37 @@ spec:
description: Namespace sets the namespace that Kustomize adds
to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1347,6 +1440,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas override
specifications
@@ -1788,6 +1912,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2089,6 +2244,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2534,6 +2720,37 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -2852,6 +3069,38 @@ spec:
description: Namespace sets the namespace that
Kustomize adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize
+ patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize
Replicas override specifications
@@ -3284,6 +3533,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -3595,6 +3875,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4050,6 +4361,37 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
+ patches:
+ description: Patches is a list of Kustomize patches
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
description: Replicas is a list of Kustomize Replicas
override specifications
@@ -4361,20 +4703,51 @@ spec:
description: Namespace sets the namespace that Kustomize
adds to all resources
type: string
- replicas:
- description: Replicas is a list of Kustomize Replicas
- override specifications
+ patches:
+ description: Patches is a list of Kustomize patches
items:
properties:
- count:
- anyOf:
- - type: integer
- - type: string
- description: Number of replicas
- x-kubernetes-int-or-string: true
- name:
- description: Name of Deployment or StatefulSet
- type: string
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
+ replicas:
+ description: Replicas is a list of Kustomize Replicas
+ override specifications
+ items:
+ properties:
+ count:
+ anyOf:
+ - type: integer
+ - type: string
+ description: Number of replicas
+ x-kubernetes-int-or-string: true
+ name:
+ description: Name of Deployment or StatefulSet
+ type: string
required:
- count
- name
@@ -4749,6 +5122,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -4929,6 +5332,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5268,6 +5701,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5448,6 +5911,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5791,6 +6284,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -5971,6 +6494,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6294,6 +6847,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6474,6 +7057,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -6821,6 +7434,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7001,6 +7644,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7340,6 +8013,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7520,6 +8223,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -7857,12 +8590,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8043,6 +8806,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8366,6 +9159,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8546,6 +9369,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -8879,6 +9732,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9059,6 +9942,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9572,6 +10485,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -9752,6 +10695,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10260,6 +11233,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10440,6 +11443,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10777,6 +11810,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -10957,6 +12020,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11298,12 +12391,42 @@ spec:
items:
type: string
type: array
- namePrefix:
- type: string
- nameSuffix:
- type: string
- namespace:
- type: string
+ namePrefix:
+ type: string
+ nameSuffix:
+ type: string
+ namespace:
+ type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11484,6 +12607,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -11823,6 +12976,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12003,6 +13186,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12346,6 +13559,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12526,6 +13769,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -12849,6 +14122,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13029,6 +14332,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13362,6 +14695,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -13542,6 +14905,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14055,6 +15448,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14235,6 +15658,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14743,6 +16196,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -14923,6 +16406,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15264,6 +16777,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15444,6 +16987,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15774,6 +17347,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -15954,6 +17557,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -16467,6 +18100,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -16647,6 +18310,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17155,6 +18848,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17335,6 +19058,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17486,6 +19239,21 @@ spec:
items:
type: string
type: array
+ ignoreApplicationDifferences:
+ items:
+ properties:
+ jqPathExpressions:
+ items:
+ type: string
+ type: array
+ jsonPointers:
+ items:
+ type: string
+ type: array
+ name:
+ type: string
+ type: object
+ type: array
preservedFields:
properties:
annotations:
@@ -17732,6 +19500,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
@@ -17912,6 +19710,36 @@ spec:
type: string
namespace:
type: string
+ patches:
+ items:
+ properties:
+ options:
+ additionalProperties:
+ type: boolean
+ type: object
+ patch:
+ type: string
+ path:
+ type: string
+ target:
+ properties:
+ annotationSelector:
+ type: string
+ group:
+ type: string
+ kind:
+ type: string
+ labelSelector:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ version:
+ type: string
+ type: object
+ type: object
+ type: array
replicas:
items:
properties:
diff --git a/mkdocs.yml b/mkdocs.yml
index bbcd56a956333..60cf690e908c7 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -26,6 +26,9 @@ nav:
- operator-manual/declarative-setup.md
- operator-manual/app-any-namespace.md
- operator-manual/ingress.md
+ - High Availability:
+ - Overview: operator-manual/high_availability.md
+ - Dynamic Cluster Distribution: operator-manual/dynamic-cluster-distribution.md
- User Management:
- operator-manual/user-management/index.md
- operator-manual/user-management/auth0.md
@@ -35,6 +38,7 @@ nav:
- operator-manual/user-management/keycloak.md
- operator-manual/user-management/openunison.md
- operator-manual/user-management/google.md
+ - operator-manual/user-management/zitadel.md
- operator-manual/rbac.md
- Security:
- Overview: operator-manual/security.md
@@ -44,7 +48,6 @@ nav:
- operator-manual/cluster-bootstrapping.md
- operator-manual/secret-management.md
- operator-manual/disaster_recovery.md
- - operator-manual/high_availability.md
- operator-manual/reconcile.md
- operator-manual/webhook.md
- operator-manual/health.md
diff --git a/pkg/apis/api-rules/violation_exceptions.list b/pkg/apis/api-rules/violation_exceptions.list
index 5142175684f66..a4f9a79767ac9 100644
--- a/pkg/apis/api-rules/violation_exceptions.list
+++ b/pkg/apis/api-rules/violation_exceptions.list
@@ -10,6 +10,8 @@ API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/ap
API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationMatchExpression,Values
API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationPreservedFields,Annotations
API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationPreservedFields,Labels
+API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationSetResourceIgnoreDifferences,JQPathExpressions
+API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationSetResourceIgnoreDifferences,JSONPointers
API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationSetRolloutStep,MatchExpressions
API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationSetRolloutStrategy,Steps
API rule violation: list_type_missing,github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1,ApplicationSetSpec,Generators
diff --git a/pkg/apis/application/v1alpha1/applicationset_types.go b/pkg/apis/application/v1alpha1/applicationset_types.go
index 29a701273a3be..23c8d5954f4d0 100644
--- a/pkg/apis/application/v1alpha1/applicationset_types.go
+++ b/pkg/apis/application/v1alpha1/applicationset_types.go
@@ -63,7 +63,8 @@ type ApplicationSetSpec struct {
PreservedFields *ApplicationPreservedFields `json:"preservedFields,omitempty" protobuf:"bytes,6,opt,name=preservedFields"`
GoTemplateOptions []string `json:"goTemplateOptions,omitempty" protobuf:"bytes,7,opt,name=goTemplateOptions"`
// ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators
- ApplyNestedSelectors bool `json:"applyNestedSelectors,omitempty" protobuf:"bytes,8,name=applyNestedSelectors"`
+ ApplyNestedSelectors bool `json:"applyNestedSelectors,omitempty" protobuf:"bytes,8,name=applyNestedSelectors"`
+ IgnoreApplicationDifferences ApplicationSetIgnoreDifferences `json:"ignoreApplicationDifferences,omitempty" protobuf:"bytes,9,name=ignoreApplicationDifferences"`
}
type ApplicationPreservedFields struct {
@@ -127,6 +128,39 @@ type ApplicationSetSyncPolicy struct {
ApplicationsSync *ApplicationsSyncPolicy `json:"applicationsSync,omitempty" protobuf:"bytes,2,opt,name=applicationsSync,casttype=ApplicationsSyncPolicy"`
}
+// ApplicationSetIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live
+// applications when applying changes from generated applications.
+type ApplicationSetIgnoreDifferences []ApplicationSetResourceIgnoreDifferences
+
+func (a ApplicationSetIgnoreDifferences) ToApplicationIgnoreDifferences() []ResourceIgnoreDifferences {
+ var result []ResourceIgnoreDifferences
+ for _, item := range a {
+ result = append(result, item.ToApplicationResourceIgnoreDifferences())
+ }
+ return result
+}
+
+// ApplicationSetResourceIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live
+// applications when applying changes from generated applications.
+type ApplicationSetResourceIgnoreDifferences struct {
+ // Name is the name of the application to ignore differences for. If not specified, the rule applies to all applications.
+ Name string `json:"name,omitempty" protobuf:"bytes,1,name=name"`
+ // JSONPointers is a list of JSON pointers to fields to ignore differences for.
+ JSONPointers []string `json:"jsonPointers,omitempty" protobuf:"bytes,2,name=jsonPointers"`
+ // JQPathExpressions is a list of JQ path expressions to fields to ignore differences for.
+ JQPathExpressions []string `json:"jqPathExpressions,omitempty" protobuf:"bytes,3,name=jqExpressions"`
+}
+
+func (a *ApplicationSetResourceIgnoreDifferences) ToApplicationResourceIgnoreDifferences() ResourceIgnoreDifferences {
+ return ResourceIgnoreDifferences{
+ Kind: ApplicationSchemaGroupVersionKind.Kind,
+ Group: ApplicationSchemaGroupVersionKind.Group,
+ Name: a.Name,
+ JSONPointers: a.JSONPointers,
+ JQPathExpressions: a.JQPathExpressions,
+ }
+}
+
// ApplicationSetTemplate represents argocd ApplicationSpec
type ApplicationSetTemplate struct {
ApplicationSetTemplateMeta `json:"metadata" protobuf:"bytes,1,name=metadata"`
@@ -195,7 +229,7 @@ type ApplicationSetTerminalGenerator struct {
SCMProvider *SCMProviderGenerator `json:"scmProvider,omitempty" protobuf:"bytes,4,name=scmProvider"`
ClusterDecisionResource *DuckTypeGenerator `json:"clusterDecisionResource,omitempty" protobuf:"bytes,5,name=clusterDecisionResource"`
PullRequest *PullRequestGenerator `json:"pullRequest,omitempty" protobuf:"bytes,6,name=pullRequest"`
- Plugin *PluginGenerator `json:"plugin,omitempty" protobuf:"bytes,7,name=pullRequest"`
+ Plugin *PluginGenerator `json:"plugin,omitempty" protobuf:"bytes,7,name=plugin"`
// Selector allows to post-filter all generator.
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,8,name=selector"`
diff --git a/pkg/apis/application/v1alpha1/generated.pb.go b/pkg/apis/application/v1alpha1/generated.pb.go
index a3e0b34cd2b2b..91e8f8d42963b 100644
--- a/pkg/apis/application/v1alpha1/generated.pb.go
+++ b/pkg/apis/application/v1alpha1/generated.pb.go
@@ -515,10 +515,40 @@ func (m *ApplicationSetNestedGenerator) XXX_DiscardUnknown() {
var xxx_messageInfo_ApplicationSetNestedGenerator proto.InternalMessageInfo
+func (m *ApplicationSetResourceIgnoreDifferences) Reset() {
+ *m = ApplicationSetResourceIgnoreDifferences{}
+}
+func (*ApplicationSetResourceIgnoreDifferences) ProtoMessage() {}
+func (*ApplicationSetResourceIgnoreDifferences) Descriptor() ([]byte, []int) {
+ return fileDescriptor_030104ce3b95bcac, []int{17}
+}
+func (m *ApplicationSetResourceIgnoreDifferences) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *ApplicationSetResourceIgnoreDifferences) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *ApplicationSetResourceIgnoreDifferences) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ApplicationSetResourceIgnoreDifferences.Merge(m, src)
+}
+func (m *ApplicationSetResourceIgnoreDifferences) XXX_Size() int {
+ return m.Size()
+}
+func (m *ApplicationSetResourceIgnoreDifferences) XXX_DiscardUnknown() {
+ xxx_messageInfo_ApplicationSetResourceIgnoreDifferences.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ApplicationSetResourceIgnoreDifferences proto.InternalMessageInfo
+
func (m *ApplicationSetRolloutStep) Reset() { *m = ApplicationSetRolloutStep{} }
func (*ApplicationSetRolloutStep) ProtoMessage() {}
func (*ApplicationSetRolloutStep) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{17}
+ return fileDescriptor_030104ce3b95bcac, []int{18}
}
func (m *ApplicationSetRolloutStep) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -546,7 +576,7 @@ var xxx_messageInfo_ApplicationSetRolloutStep proto.InternalMessageInfo
func (m *ApplicationSetRolloutStrategy) Reset() { *m = ApplicationSetRolloutStrategy{} }
func (*ApplicationSetRolloutStrategy) ProtoMessage() {}
func (*ApplicationSetRolloutStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{18}
+ return fileDescriptor_030104ce3b95bcac, []int{19}
}
func (m *ApplicationSetRolloutStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -574,7 +604,7 @@ var xxx_messageInfo_ApplicationSetRolloutStrategy proto.InternalMessageInfo
func (m *ApplicationSetSpec) Reset() { *m = ApplicationSetSpec{} }
func (*ApplicationSetSpec) ProtoMessage() {}
func (*ApplicationSetSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{19}
+ return fileDescriptor_030104ce3b95bcac, []int{20}
}
func (m *ApplicationSetSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -602,7 +632,7 @@ var xxx_messageInfo_ApplicationSetSpec proto.InternalMessageInfo
func (m *ApplicationSetStatus) Reset() { *m = ApplicationSetStatus{} }
func (*ApplicationSetStatus) ProtoMessage() {}
func (*ApplicationSetStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{20}
+ return fileDescriptor_030104ce3b95bcac, []int{21}
}
func (m *ApplicationSetStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -630,7 +660,7 @@ var xxx_messageInfo_ApplicationSetStatus proto.InternalMessageInfo
func (m *ApplicationSetStrategy) Reset() { *m = ApplicationSetStrategy{} }
func (*ApplicationSetStrategy) ProtoMessage() {}
func (*ApplicationSetStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{21}
+ return fileDescriptor_030104ce3b95bcac, []int{22}
}
func (m *ApplicationSetStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -658,7 +688,7 @@ var xxx_messageInfo_ApplicationSetStrategy proto.InternalMessageInfo
func (m *ApplicationSetSyncPolicy) Reset() { *m = ApplicationSetSyncPolicy{} }
func (*ApplicationSetSyncPolicy) ProtoMessage() {}
func (*ApplicationSetSyncPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{22}
+ return fileDescriptor_030104ce3b95bcac, []int{23}
}
func (m *ApplicationSetSyncPolicy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -686,7 +716,7 @@ var xxx_messageInfo_ApplicationSetSyncPolicy proto.InternalMessageInfo
func (m *ApplicationSetTemplate) Reset() { *m = ApplicationSetTemplate{} }
func (*ApplicationSetTemplate) ProtoMessage() {}
func (*ApplicationSetTemplate) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{23}
+ return fileDescriptor_030104ce3b95bcac, []int{24}
}
func (m *ApplicationSetTemplate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -714,7 +744,7 @@ var xxx_messageInfo_ApplicationSetTemplate proto.InternalMessageInfo
func (m *ApplicationSetTemplateMeta) Reset() { *m = ApplicationSetTemplateMeta{} }
func (*ApplicationSetTemplateMeta) ProtoMessage() {}
func (*ApplicationSetTemplateMeta) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{24}
+ return fileDescriptor_030104ce3b95bcac, []int{25}
}
func (m *ApplicationSetTemplateMeta) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -742,7 +772,7 @@ var xxx_messageInfo_ApplicationSetTemplateMeta proto.InternalMessageInfo
func (m *ApplicationSetTerminalGenerator) Reset() { *m = ApplicationSetTerminalGenerator{} }
func (*ApplicationSetTerminalGenerator) ProtoMessage() {}
func (*ApplicationSetTerminalGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{25}
+ return fileDescriptor_030104ce3b95bcac, []int{26}
}
func (m *ApplicationSetTerminalGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -770,7 +800,7 @@ var xxx_messageInfo_ApplicationSetTerminalGenerator proto.InternalMessageInfo
func (m *ApplicationSource) Reset() { *m = ApplicationSource{} }
func (*ApplicationSource) ProtoMessage() {}
func (*ApplicationSource) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{26}
+ return fileDescriptor_030104ce3b95bcac, []int{27}
}
func (m *ApplicationSource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -798,7 +828,7 @@ var xxx_messageInfo_ApplicationSource proto.InternalMessageInfo
func (m *ApplicationSourceDirectory) Reset() { *m = ApplicationSourceDirectory{} }
func (*ApplicationSourceDirectory) ProtoMessage() {}
func (*ApplicationSourceDirectory) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{27}
+ return fileDescriptor_030104ce3b95bcac, []int{28}
}
func (m *ApplicationSourceDirectory) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -826,7 +856,7 @@ var xxx_messageInfo_ApplicationSourceDirectory proto.InternalMessageInfo
func (m *ApplicationSourceHelm) Reset() { *m = ApplicationSourceHelm{} }
func (*ApplicationSourceHelm) ProtoMessage() {}
func (*ApplicationSourceHelm) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{28}
+ return fileDescriptor_030104ce3b95bcac, []int{29}
}
func (m *ApplicationSourceHelm) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -854,7 +884,7 @@ var xxx_messageInfo_ApplicationSourceHelm proto.InternalMessageInfo
func (m *ApplicationSourceJsonnet) Reset() { *m = ApplicationSourceJsonnet{} }
func (*ApplicationSourceJsonnet) ProtoMessage() {}
func (*ApplicationSourceJsonnet) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{29}
+ return fileDescriptor_030104ce3b95bcac, []int{30}
}
func (m *ApplicationSourceJsonnet) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -882,7 +912,7 @@ var xxx_messageInfo_ApplicationSourceJsonnet proto.InternalMessageInfo
func (m *ApplicationSourceKustomize) Reset() { *m = ApplicationSourceKustomize{} }
func (*ApplicationSourceKustomize) ProtoMessage() {}
func (*ApplicationSourceKustomize) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{30}
+ return fileDescriptor_030104ce3b95bcac, []int{31}
}
func (m *ApplicationSourceKustomize) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -910,7 +940,7 @@ var xxx_messageInfo_ApplicationSourceKustomize proto.InternalMessageInfo
func (m *ApplicationSourcePlugin) Reset() { *m = ApplicationSourcePlugin{} }
func (*ApplicationSourcePlugin) ProtoMessage() {}
func (*ApplicationSourcePlugin) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{31}
+ return fileDescriptor_030104ce3b95bcac, []int{32}
}
func (m *ApplicationSourcePlugin) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -938,7 +968,7 @@ var xxx_messageInfo_ApplicationSourcePlugin proto.InternalMessageInfo
func (m *ApplicationSourcePluginParameter) Reset() { *m = ApplicationSourcePluginParameter{} }
func (*ApplicationSourcePluginParameter) ProtoMessage() {}
func (*ApplicationSourcePluginParameter) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{32}
+ return fileDescriptor_030104ce3b95bcac, []int{33}
}
func (m *ApplicationSourcePluginParameter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -966,7 +996,7 @@ var xxx_messageInfo_ApplicationSourcePluginParameter proto.InternalMessageInfo
func (m *ApplicationSpec) Reset() { *m = ApplicationSpec{} }
func (*ApplicationSpec) ProtoMessage() {}
func (*ApplicationSpec) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{33}
+ return fileDescriptor_030104ce3b95bcac, []int{34}
}
func (m *ApplicationSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -994,7 +1024,7 @@ var xxx_messageInfo_ApplicationSpec proto.InternalMessageInfo
func (m *ApplicationStatus) Reset() { *m = ApplicationStatus{} }
func (*ApplicationStatus) ProtoMessage() {}
func (*ApplicationStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{34}
+ return fileDescriptor_030104ce3b95bcac, []int{35}
}
func (m *ApplicationStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1022,7 +1052,7 @@ var xxx_messageInfo_ApplicationStatus proto.InternalMessageInfo
func (m *ApplicationSummary) Reset() { *m = ApplicationSummary{} }
func (*ApplicationSummary) ProtoMessage() {}
func (*ApplicationSummary) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{35}
+ return fileDescriptor_030104ce3b95bcac, []int{36}
}
func (m *ApplicationSummary) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1050,7 +1080,7 @@ var xxx_messageInfo_ApplicationSummary proto.InternalMessageInfo
func (m *ApplicationTree) Reset() { *m = ApplicationTree{} }
func (*ApplicationTree) ProtoMessage() {}
func (*ApplicationTree) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{36}
+ return fileDescriptor_030104ce3b95bcac, []int{37}
}
func (m *ApplicationTree) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1078,7 +1108,7 @@ var xxx_messageInfo_ApplicationTree proto.InternalMessageInfo
func (m *ApplicationWatchEvent) Reset() { *m = ApplicationWatchEvent{} }
func (*ApplicationWatchEvent) ProtoMessage() {}
func (*ApplicationWatchEvent) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{37}
+ return fileDescriptor_030104ce3b95bcac, []int{38}
}
func (m *ApplicationWatchEvent) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1106,7 +1136,7 @@ var xxx_messageInfo_ApplicationWatchEvent proto.InternalMessageInfo
func (m *Backoff) Reset() { *m = Backoff{} }
func (*Backoff) ProtoMessage() {}
func (*Backoff) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{38}
+ return fileDescriptor_030104ce3b95bcac, []int{39}
}
func (m *Backoff) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1134,7 +1164,7 @@ var xxx_messageInfo_Backoff proto.InternalMessageInfo
func (m *BasicAuthBitbucketServer) Reset() { *m = BasicAuthBitbucketServer{} }
func (*BasicAuthBitbucketServer) ProtoMessage() {}
func (*BasicAuthBitbucketServer) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{39}
+ return fileDescriptor_030104ce3b95bcac, []int{40}
}
func (m *BasicAuthBitbucketServer) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1162,7 +1192,7 @@ var xxx_messageInfo_BasicAuthBitbucketServer proto.InternalMessageInfo
func (m *BearerTokenBitbucketCloud) Reset() { *m = BearerTokenBitbucketCloud{} }
func (*BearerTokenBitbucketCloud) ProtoMessage() {}
func (*BearerTokenBitbucketCloud) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{40}
+ return fileDescriptor_030104ce3b95bcac, []int{41}
}
func (m *BearerTokenBitbucketCloud) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1190,7 +1220,7 @@ var xxx_messageInfo_BearerTokenBitbucketCloud proto.InternalMessageInfo
func (m *ChartDetails) Reset() { *m = ChartDetails{} }
func (*ChartDetails) ProtoMessage() {}
func (*ChartDetails) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{41}
+ return fileDescriptor_030104ce3b95bcac, []int{42}
}
func (m *ChartDetails) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1218,7 +1248,7 @@ var xxx_messageInfo_ChartDetails proto.InternalMessageInfo
func (m *Cluster) Reset() { *m = Cluster{} }
func (*Cluster) ProtoMessage() {}
func (*Cluster) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{42}
+ return fileDescriptor_030104ce3b95bcac, []int{43}
}
func (m *Cluster) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1246,7 +1276,7 @@ var xxx_messageInfo_Cluster proto.InternalMessageInfo
func (m *ClusterCacheInfo) Reset() { *m = ClusterCacheInfo{} }
func (*ClusterCacheInfo) ProtoMessage() {}
func (*ClusterCacheInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{43}
+ return fileDescriptor_030104ce3b95bcac, []int{44}
}
func (m *ClusterCacheInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1274,7 +1304,7 @@ var xxx_messageInfo_ClusterCacheInfo proto.InternalMessageInfo
func (m *ClusterConfig) Reset() { *m = ClusterConfig{} }
func (*ClusterConfig) ProtoMessage() {}
func (*ClusterConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{44}
+ return fileDescriptor_030104ce3b95bcac, []int{45}
}
func (m *ClusterConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1302,7 +1332,7 @@ var xxx_messageInfo_ClusterConfig proto.InternalMessageInfo
func (m *ClusterGenerator) Reset() { *m = ClusterGenerator{} }
func (*ClusterGenerator) ProtoMessage() {}
func (*ClusterGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{45}
+ return fileDescriptor_030104ce3b95bcac, []int{46}
}
func (m *ClusterGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1330,7 +1360,7 @@ var xxx_messageInfo_ClusterGenerator proto.InternalMessageInfo
func (m *ClusterInfo) Reset() { *m = ClusterInfo{} }
func (*ClusterInfo) ProtoMessage() {}
func (*ClusterInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{46}
+ return fileDescriptor_030104ce3b95bcac, []int{47}
}
func (m *ClusterInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1358,7 +1388,7 @@ var xxx_messageInfo_ClusterInfo proto.InternalMessageInfo
func (m *ClusterList) Reset() { *m = ClusterList{} }
func (*ClusterList) ProtoMessage() {}
func (*ClusterList) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{47}
+ return fileDescriptor_030104ce3b95bcac, []int{48}
}
func (m *ClusterList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1386,7 +1416,7 @@ var xxx_messageInfo_ClusterList proto.InternalMessageInfo
func (m *Command) Reset() { *m = Command{} }
func (*Command) ProtoMessage() {}
func (*Command) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{48}
+ return fileDescriptor_030104ce3b95bcac, []int{49}
}
func (m *Command) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1414,7 +1444,7 @@ var xxx_messageInfo_Command proto.InternalMessageInfo
func (m *ComparedTo) Reset() { *m = ComparedTo{} }
func (*ComparedTo) ProtoMessage() {}
func (*ComparedTo) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{49}
+ return fileDescriptor_030104ce3b95bcac, []int{50}
}
func (m *ComparedTo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1442,7 +1472,7 @@ var xxx_messageInfo_ComparedTo proto.InternalMessageInfo
func (m *ComponentParameter) Reset() { *m = ComponentParameter{} }
func (*ComponentParameter) ProtoMessage() {}
func (*ComponentParameter) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{50}
+ return fileDescriptor_030104ce3b95bcac, []int{51}
}
func (m *ComponentParameter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1470,7 +1500,7 @@ var xxx_messageInfo_ComponentParameter proto.InternalMessageInfo
func (m *ConfigManagementPlugin) Reset() { *m = ConfigManagementPlugin{} }
func (*ConfigManagementPlugin) ProtoMessage() {}
func (*ConfigManagementPlugin) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{51}
+ return fileDescriptor_030104ce3b95bcac, []int{52}
}
func (m *ConfigManagementPlugin) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1498,7 +1528,7 @@ var xxx_messageInfo_ConfigManagementPlugin proto.InternalMessageInfo
func (m *ConnectionState) Reset() { *m = ConnectionState{} }
func (*ConnectionState) ProtoMessage() {}
func (*ConnectionState) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{52}
+ return fileDescriptor_030104ce3b95bcac, []int{53}
}
func (m *ConnectionState) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1526,7 +1556,7 @@ var xxx_messageInfo_ConnectionState proto.InternalMessageInfo
func (m *DuckTypeGenerator) Reset() { *m = DuckTypeGenerator{} }
func (*DuckTypeGenerator) ProtoMessage() {}
func (*DuckTypeGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{53}
+ return fileDescriptor_030104ce3b95bcac, []int{54}
}
func (m *DuckTypeGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1554,7 +1584,7 @@ var xxx_messageInfo_DuckTypeGenerator proto.InternalMessageInfo
func (m *EnvEntry) Reset() { *m = EnvEntry{} }
func (*EnvEntry) ProtoMessage() {}
func (*EnvEntry) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{54}
+ return fileDescriptor_030104ce3b95bcac, []int{55}
}
func (m *EnvEntry) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1582,7 +1612,7 @@ var xxx_messageInfo_EnvEntry proto.InternalMessageInfo
func (m *ExecProviderConfig) Reset() { *m = ExecProviderConfig{} }
func (*ExecProviderConfig) ProtoMessage() {}
func (*ExecProviderConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{55}
+ return fileDescriptor_030104ce3b95bcac, []int{56}
}
func (m *ExecProviderConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1610,7 +1640,7 @@ var xxx_messageInfo_ExecProviderConfig proto.InternalMessageInfo
func (m *GitDirectoryGeneratorItem) Reset() { *m = GitDirectoryGeneratorItem{} }
func (*GitDirectoryGeneratorItem) ProtoMessage() {}
func (*GitDirectoryGeneratorItem) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{56}
+ return fileDescriptor_030104ce3b95bcac, []int{57}
}
func (m *GitDirectoryGeneratorItem) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1638,7 +1668,7 @@ var xxx_messageInfo_GitDirectoryGeneratorItem proto.InternalMessageInfo
func (m *GitFileGeneratorItem) Reset() { *m = GitFileGeneratorItem{} }
func (*GitFileGeneratorItem) ProtoMessage() {}
func (*GitFileGeneratorItem) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{57}
+ return fileDescriptor_030104ce3b95bcac, []int{58}
}
func (m *GitFileGeneratorItem) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1666,7 +1696,7 @@ var xxx_messageInfo_GitFileGeneratorItem proto.InternalMessageInfo
func (m *GitGenerator) Reset() { *m = GitGenerator{} }
func (*GitGenerator) ProtoMessage() {}
func (*GitGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{58}
+ return fileDescriptor_030104ce3b95bcac, []int{59}
}
func (m *GitGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1694,7 +1724,7 @@ var xxx_messageInfo_GitGenerator proto.InternalMessageInfo
func (m *GnuPGPublicKey) Reset() { *m = GnuPGPublicKey{} }
func (*GnuPGPublicKey) ProtoMessage() {}
func (*GnuPGPublicKey) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{59}
+ return fileDescriptor_030104ce3b95bcac, []int{60}
}
func (m *GnuPGPublicKey) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1722,7 +1752,7 @@ var xxx_messageInfo_GnuPGPublicKey proto.InternalMessageInfo
func (m *GnuPGPublicKeyList) Reset() { *m = GnuPGPublicKeyList{} }
func (*GnuPGPublicKeyList) ProtoMessage() {}
func (*GnuPGPublicKeyList) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{60}
+ return fileDescriptor_030104ce3b95bcac, []int{61}
}
func (m *GnuPGPublicKeyList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1750,7 +1780,7 @@ var xxx_messageInfo_GnuPGPublicKeyList proto.InternalMessageInfo
func (m *HealthStatus) Reset() { *m = HealthStatus{} }
func (*HealthStatus) ProtoMessage() {}
func (*HealthStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{61}
+ return fileDescriptor_030104ce3b95bcac, []int{62}
}
func (m *HealthStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1778,7 +1808,7 @@ var xxx_messageInfo_HealthStatus proto.InternalMessageInfo
func (m *HelmFileParameter) Reset() { *m = HelmFileParameter{} }
func (*HelmFileParameter) ProtoMessage() {}
func (*HelmFileParameter) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{62}
+ return fileDescriptor_030104ce3b95bcac, []int{63}
}
func (m *HelmFileParameter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1806,7 +1836,7 @@ var xxx_messageInfo_HelmFileParameter proto.InternalMessageInfo
func (m *HelmOptions) Reset() { *m = HelmOptions{} }
func (*HelmOptions) ProtoMessage() {}
func (*HelmOptions) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{63}
+ return fileDescriptor_030104ce3b95bcac, []int{64}
}
func (m *HelmOptions) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1834,7 +1864,7 @@ var xxx_messageInfo_HelmOptions proto.InternalMessageInfo
func (m *HelmParameter) Reset() { *m = HelmParameter{} }
func (*HelmParameter) ProtoMessage() {}
func (*HelmParameter) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{64}
+ return fileDescriptor_030104ce3b95bcac, []int{65}
}
func (m *HelmParameter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1862,7 +1892,7 @@ var xxx_messageInfo_HelmParameter proto.InternalMessageInfo
func (m *HostInfo) Reset() { *m = HostInfo{} }
func (*HostInfo) ProtoMessage() {}
func (*HostInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{65}
+ return fileDescriptor_030104ce3b95bcac, []int{66}
}
func (m *HostInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1890,7 +1920,7 @@ var xxx_messageInfo_HostInfo proto.InternalMessageInfo
func (m *HostResourceInfo) Reset() { *m = HostResourceInfo{} }
func (*HostResourceInfo) ProtoMessage() {}
func (*HostResourceInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{66}
+ return fileDescriptor_030104ce3b95bcac, []int{67}
}
func (m *HostResourceInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1918,7 +1948,7 @@ var xxx_messageInfo_HostResourceInfo proto.InternalMessageInfo
func (m *Info) Reset() { *m = Info{} }
func (*Info) ProtoMessage() {}
func (*Info) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{67}
+ return fileDescriptor_030104ce3b95bcac, []int{68}
}
func (m *Info) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1946,7 +1976,7 @@ var xxx_messageInfo_Info proto.InternalMessageInfo
func (m *InfoItem) Reset() { *m = InfoItem{} }
func (*InfoItem) ProtoMessage() {}
func (*InfoItem) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{68}
+ return fileDescriptor_030104ce3b95bcac, []int{69}
}
func (m *InfoItem) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -1974,7 +2004,7 @@ var xxx_messageInfo_InfoItem proto.InternalMessageInfo
func (m *JWTToken) Reset() { *m = JWTToken{} }
func (*JWTToken) ProtoMessage() {}
func (*JWTToken) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{69}
+ return fileDescriptor_030104ce3b95bcac, []int{70}
}
func (m *JWTToken) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2002,7 +2032,7 @@ var xxx_messageInfo_JWTToken proto.InternalMessageInfo
func (m *JWTTokens) Reset() { *m = JWTTokens{} }
func (*JWTTokens) ProtoMessage() {}
func (*JWTTokens) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{70}
+ return fileDescriptor_030104ce3b95bcac, []int{71}
}
func (m *JWTTokens) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2030,7 +2060,7 @@ var xxx_messageInfo_JWTTokens proto.InternalMessageInfo
func (m *JsonnetVar) Reset() { *m = JsonnetVar{} }
func (*JsonnetVar) ProtoMessage() {}
func (*JsonnetVar) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{71}
+ return fileDescriptor_030104ce3b95bcac, []int{72}
}
func (m *JsonnetVar) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2058,7 +2088,7 @@ var xxx_messageInfo_JsonnetVar proto.InternalMessageInfo
func (m *KnownTypeField) Reset() { *m = KnownTypeField{} }
func (*KnownTypeField) ProtoMessage() {}
func (*KnownTypeField) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{72}
+ return fileDescriptor_030104ce3b95bcac, []int{73}
}
func (m *KnownTypeField) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2083,10 +2113,38 @@ func (m *KnownTypeField) XXX_DiscardUnknown() {
var xxx_messageInfo_KnownTypeField proto.InternalMessageInfo
+func (m *KustomizeGvk) Reset() { *m = KustomizeGvk{} }
+func (*KustomizeGvk) ProtoMessage() {}
+func (*KustomizeGvk) Descriptor() ([]byte, []int) {
+ return fileDescriptor_030104ce3b95bcac, []int{74}
+}
+func (m *KustomizeGvk) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *KustomizeGvk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *KustomizeGvk) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KustomizeGvk.Merge(m, src)
+}
+func (m *KustomizeGvk) XXX_Size() int {
+ return m.Size()
+}
+func (m *KustomizeGvk) XXX_DiscardUnknown() {
+ xxx_messageInfo_KustomizeGvk.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KustomizeGvk proto.InternalMessageInfo
+
func (m *KustomizeOptions) Reset() { *m = KustomizeOptions{} }
func (*KustomizeOptions) ProtoMessage() {}
func (*KustomizeOptions) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{73}
+ return fileDescriptor_030104ce3b95bcac, []int{75}
}
func (m *KustomizeOptions) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2111,10 +2169,38 @@ func (m *KustomizeOptions) XXX_DiscardUnknown() {
var xxx_messageInfo_KustomizeOptions proto.InternalMessageInfo
+func (m *KustomizePatch) Reset() { *m = KustomizePatch{} }
+func (*KustomizePatch) ProtoMessage() {}
+func (*KustomizePatch) Descriptor() ([]byte, []int) {
+ return fileDescriptor_030104ce3b95bcac, []int{76}
+}
+func (m *KustomizePatch) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *KustomizePatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *KustomizePatch) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KustomizePatch.Merge(m, src)
+}
+func (m *KustomizePatch) XXX_Size() int {
+ return m.Size()
+}
+func (m *KustomizePatch) XXX_DiscardUnknown() {
+ xxx_messageInfo_KustomizePatch.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KustomizePatch proto.InternalMessageInfo
+
func (m *KustomizeReplica) Reset() { *m = KustomizeReplica{} }
func (*KustomizeReplica) ProtoMessage() {}
func (*KustomizeReplica) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{74}
+ return fileDescriptor_030104ce3b95bcac, []int{77}
}
func (m *KustomizeReplica) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2139,10 +2225,66 @@ func (m *KustomizeReplica) XXX_DiscardUnknown() {
var xxx_messageInfo_KustomizeReplica proto.InternalMessageInfo
+func (m *KustomizeResId) Reset() { *m = KustomizeResId{} }
+func (*KustomizeResId) ProtoMessage() {}
+func (*KustomizeResId) Descriptor() ([]byte, []int) {
+ return fileDescriptor_030104ce3b95bcac, []int{78}
+}
+func (m *KustomizeResId) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *KustomizeResId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *KustomizeResId) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KustomizeResId.Merge(m, src)
+}
+func (m *KustomizeResId) XXX_Size() int {
+ return m.Size()
+}
+func (m *KustomizeResId) XXX_DiscardUnknown() {
+ xxx_messageInfo_KustomizeResId.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KustomizeResId proto.InternalMessageInfo
+
+func (m *KustomizeSelector) Reset() { *m = KustomizeSelector{} }
+func (*KustomizeSelector) ProtoMessage() {}
+func (*KustomizeSelector) Descriptor() ([]byte, []int) {
+ return fileDescriptor_030104ce3b95bcac, []int{79}
+}
+func (m *KustomizeSelector) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *KustomizeSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *KustomizeSelector) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_KustomizeSelector.Merge(m, src)
+}
+func (m *KustomizeSelector) XXX_Size() int {
+ return m.Size()
+}
+func (m *KustomizeSelector) XXX_DiscardUnknown() {
+ xxx_messageInfo_KustomizeSelector.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_KustomizeSelector proto.InternalMessageInfo
+
func (m *ListGenerator) Reset() { *m = ListGenerator{} }
func (*ListGenerator) ProtoMessage() {}
func (*ListGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{75}
+ return fileDescriptor_030104ce3b95bcac, []int{80}
}
func (m *ListGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2170,7 +2312,7 @@ var xxx_messageInfo_ListGenerator proto.InternalMessageInfo
func (m *ManagedNamespaceMetadata) Reset() { *m = ManagedNamespaceMetadata{} }
func (*ManagedNamespaceMetadata) ProtoMessage() {}
func (*ManagedNamespaceMetadata) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{76}
+ return fileDescriptor_030104ce3b95bcac, []int{81}
}
func (m *ManagedNamespaceMetadata) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2198,7 +2340,7 @@ var xxx_messageInfo_ManagedNamespaceMetadata proto.InternalMessageInfo
func (m *MatrixGenerator) Reset() { *m = MatrixGenerator{} }
func (*MatrixGenerator) ProtoMessage() {}
func (*MatrixGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{77}
+ return fileDescriptor_030104ce3b95bcac, []int{82}
}
func (m *MatrixGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2226,7 +2368,7 @@ var xxx_messageInfo_MatrixGenerator proto.InternalMessageInfo
func (m *MergeGenerator) Reset() { *m = MergeGenerator{} }
func (*MergeGenerator) ProtoMessage() {}
func (*MergeGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{78}
+ return fileDescriptor_030104ce3b95bcac, []int{83}
}
func (m *MergeGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2254,7 +2396,7 @@ var xxx_messageInfo_MergeGenerator proto.InternalMessageInfo
func (m *NestedMatrixGenerator) Reset() { *m = NestedMatrixGenerator{} }
func (*NestedMatrixGenerator) ProtoMessage() {}
func (*NestedMatrixGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{79}
+ return fileDescriptor_030104ce3b95bcac, []int{84}
}
func (m *NestedMatrixGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2282,7 +2424,7 @@ var xxx_messageInfo_NestedMatrixGenerator proto.InternalMessageInfo
func (m *NestedMergeGenerator) Reset() { *m = NestedMergeGenerator{} }
func (*NestedMergeGenerator) ProtoMessage() {}
func (*NestedMergeGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{80}
+ return fileDescriptor_030104ce3b95bcac, []int{85}
}
func (m *NestedMergeGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2310,7 +2452,7 @@ var xxx_messageInfo_NestedMergeGenerator proto.InternalMessageInfo
func (m *Operation) Reset() { *m = Operation{} }
func (*Operation) ProtoMessage() {}
func (*Operation) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{81}
+ return fileDescriptor_030104ce3b95bcac, []int{86}
}
func (m *Operation) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2338,7 +2480,7 @@ var xxx_messageInfo_Operation proto.InternalMessageInfo
func (m *OperationInitiator) Reset() { *m = OperationInitiator{} }
func (*OperationInitiator) ProtoMessage() {}
func (*OperationInitiator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{82}
+ return fileDescriptor_030104ce3b95bcac, []int{87}
}
func (m *OperationInitiator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2366,7 +2508,7 @@ var xxx_messageInfo_OperationInitiator proto.InternalMessageInfo
func (m *OperationState) Reset() { *m = OperationState{} }
func (*OperationState) ProtoMessage() {}
func (*OperationState) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{83}
+ return fileDescriptor_030104ce3b95bcac, []int{88}
}
func (m *OperationState) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2394,7 +2536,7 @@ var xxx_messageInfo_OperationState proto.InternalMessageInfo
func (m *OptionalArray) Reset() { *m = OptionalArray{} }
func (*OptionalArray) ProtoMessage() {}
func (*OptionalArray) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{84}
+ return fileDescriptor_030104ce3b95bcac, []int{89}
}
func (m *OptionalArray) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2422,7 +2564,7 @@ var xxx_messageInfo_OptionalArray proto.InternalMessageInfo
func (m *OptionalMap) Reset() { *m = OptionalMap{} }
func (*OptionalMap) ProtoMessage() {}
func (*OptionalMap) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{85}
+ return fileDescriptor_030104ce3b95bcac, []int{90}
}
func (m *OptionalMap) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2450,7 +2592,7 @@ var xxx_messageInfo_OptionalMap proto.InternalMessageInfo
func (m *OrphanedResourceKey) Reset() { *m = OrphanedResourceKey{} }
func (*OrphanedResourceKey) ProtoMessage() {}
func (*OrphanedResourceKey) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{86}
+ return fileDescriptor_030104ce3b95bcac, []int{91}
}
func (m *OrphanedResourceKey) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2478,7 +2620,7 @@ var xxx_messageInfo_OrphanedResourceKey proto.InternalMessageInfo
func (m *OrphanedResourcesMonitorSettings) Reset() { *m = OrphanedResourcesMonitorSettings{} }
func (*OrphanedResourcesMonitorSettings) ProtoMessage() {}
func (*OrphanedResourcesMonitorSettings) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{87}
+ return fileDescriptor_030104ce3b95bcac, []int{92}
}
func (m *OrphanedResourcesMonitorSettings) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2506,7 +2648,7 @@ var xxx_messageInfo_OrphanedResourcesMonitorSettings proto.InternalMessageInfo
func (m *OverrideIgnoreDiff) Reset() { *m = OverrideIgnoreDiff{} }
func (*OverrideIgnoreDiff) ProtoMessage() {}
func (*OverrideIgnoreDiff) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{88}
+ return fileDescriptor_030104ce3b95bcac, []int{93}
}
func (m *OverrideIgnoreDiff) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2534,7 +2676,7 @@ var xxx_messageInfo_OverrideIgnoreDiff proto.InternalMessageInfo
func (m *PluginConfigMapRef) Reset() { *m = PluginConfigMapRef{} }
func (*PluginConfigMapRef) ProtoMessage() {}
func (*PluginConfigMapRef) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{89}
+ return fileDescriptor_030104ce3b95bcac, []int{94}
}
func (m *PluginConfigMapRef) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2562,7 +2704,7 @@ var xxx_messageInfo_PluginConfigMapRef proto.InternalMessageInfo
func (m *PluginGenerator) Reset() { *m = PluginGenerator{} }
func (*PluginGenerator) ProtoMessage() {}
func (*PluginGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{90}
+ return fileDescriptor_030104ce3b95bcac, []int{95}
}
func (m *PluginGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2590,7 +2732,7 @@ var xxx_messageInfo_PluginGenerator proto.InternalMessageInfo
func (m *PluginInput) Reset() { *m = PluginInput{} }
func (*PluginInput) ProtoMessage() {}
func (*PluginInput) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{91}
+ return fileDescriptor_030104ce3b95bcac, []int{96}
}
func (m *PluginInput) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2618,7 +2760,7 @@ var xxx_messageInfo_PluginInput proto.InternalMessageInfo
func (m *ProjectRole) Reset() { *m = ProjectRole{} }
func (*ProjectRole) ProtoMessage() {}
func (*ProjectRole) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{92}
+ return fileDescriptor_030104ce3b95bcac, []int{97}
}
func (m *ProjectRole) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2646,7 +2788,7 @@ var xxx_messageInfo_ProjectRole proto.InternalMessageInfo
func (m *PullRequestGenerator) Reset() { *m = PullRequestGenerator{} }
func (*PullRequestGenerator) ProtoMessage() {}
func (*PullRequestGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{93}
+ return fileDescriptor_030104ce3b95bcac, []int{98}
}
func (m *PullRequestGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2674,7 +2816,7 @@ var xxx_messageInfo_PullRequestGenerator proto.InternalMessageInfo
func (m *PullRequestGeneratorAzureDevOps) Reset() { *m = PullRequestGeneratorAzureDevOps{} }
func (*PullRequestGeneratorAzureDevOps) ProtoMessage() {}
func (*PullRequestGeneratorAzureDevOps) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{94}
+ return fileDescriptor_030104ce3b95bcac, []int{99}
}
func (m *PullRequestGeneratorAzureDevOps) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2702,7 +2844,7 @@ var xxx_messageInfo_PullRequestGeneratorAzureDevOps proto.InternalMessageInfo
func (m *PullRequestGeneratorBitbucket) Reset() { *m = PullRequestGeneratorBitbucket{} }
func (*PullRequestGeneratorBitbucket) ProtoMessage() {}
func (*PullRequestGeneratorBitbucket) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{95}
+ return fileDescriptor_030104ce3b95bcac, []int{100}
}
func (m *PullRequestGeneratorBitbucket) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2730,7 +2872,7 @@ var xxx_messageInfo_PullRequestGeneratorBitbucket proto.InternalMessageInfo
func (m *PullRequestGeneratorBitbucketServer) Reset() { *m = PullRequestGeneratorBitbucketServer{} }
func (*PullRequestGeneratorBitbucketServer) ProtoMessage() {}
func (*PullRequestGeneratorBitbucketServer) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{96}
+ return fileDescriptor_030104ce3b95bcac, []int{101}
}
func (m *PullRequestGeneratorBitbucketServer) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2758,7 +2900,7 @@ var xxx_messageInfo_PullRequestGeneratorBitbucketServer proto.InternalMessageInf
func (m *PullRequestGeneratorFilter) Reset() { *m = PullRequestGeneratorFilter{} }
func (*PullRequestGeneratorFilter) ProtoMessage() {}
func (*PullRequestGeneratorFilter) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{97}
+ return fileDescriptor_030104ce3b95bcac, []int{102}
}
func (m *PullRequestGeneratorFilter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2786,7 +2928,7 @@ var xxx_messageInfo_PullRequestGeneratorFilter proto.InternalMessageInfo
func (m *PullRequestGeneratorGitLab) Reset() { *m = PullRequestGeneratorGitLab{} }
func (*PullRequestGeneratorGitLab) ProtoMessage() {}
func (*PullRequestGeneratorGitLab) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{98}
+ return fileDescriptor_030104ce3b95bcac, []int{103}
}
func (m *PullRequestGeneratorGitLab) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2814,7 +2956,7 @@ var xxx_messageInfo_PullRequestGeneratorGitLab proto.InternalMessageInfo
func (m *PullRequestGeneratorGitea) Reset() { *m = PullRequestGeneratorGitea{} }
func (*PullRequestGeneratorGitea) ProtoMessage() {}
func (*PullRequestGeneratorGitea) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{99}
+ return fileDescriptor_030104ce3b95bcac, []int{104}
}
func (m *PullRequestGeneratorGitea) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2842,7 +2984,7 @@ var xxx_messageInfo_PullRequestGeneratorGitea proto.InternalMessageInfo
func (m *PullRequestGeneratorGithub) Reset() { *m = PullRequestGeneratorGithub{} }
func (*PullRequestGeneratorGithub) ProtoMessage() {}
func (*PullRequestGeneratorGithub) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{100}
+ return fileDescriptor_030104ce3b95bcac, []int{105}
}
func (m *PullRequestGeneratorGithub) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2870,7 +3012,7 @@ var xxx_messageInfo_PullRequestGeneratorGithub proto.InternalMessageInfo
func (m *RefTarget) Reset() { *m = RefTarget{} }
func (*RefTarget) ProtoMessage() {}
func (*RefTarget) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{101}
+ return fileDescriptor_030104ce3b95bcac, []int{106}
}
func (m *RefTarget) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2898,7 +3040,7 @@ var xxx_messageInfo_RefTarget proto.InternalMessageInfo
func (m *RepoCreds) Reset() { *m = RepoCreds{} }
func (*RepoCreds) ProtoMessage() {}
func (*RepoCreds) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{102}
+ return fileDescriptor_030104ce3b95bcac, []int{107}
}
func (m *RepoCreds) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2926,7 +3068,7 @@ var xxx_messageInfo_RepoCreds proto.InternalMessageInfo
func (m *RepoCredsList) Reset() { *m = RepoCredsList{} }
func (*RepoCredsList) ProtoMessage() {}
func (*RepoCredsList) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{103}
+ return fileDescriptor_030104ce3b95bcac, []int{108}
}
func (m *RepoCredsList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2954,7 +3096,7 @@ var xxx_messageInfo_RepoCredsList proto.InternalMessageInfo
func (m *Repository) Reset() { *m = Repository{} }
func (*Repository) ProtoMessage() {}
func (*Repository) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{104}
+ return fileDescriptor_030104ce3b95bcac, []int{109}
}
func (m *Repository) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -2982,7 +3124,7 @@ var xxx_messageInfo_Repository proto.InternalMessageInfo
func (m *RepositoryCertificate) Reset() { *m = RepositoryCertificate{} }
func (*RepositoryCertificate) ProtoMessage() {}
func (*RepositoryCertificate) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{105}
+ return fileDescriptor_030104ce3b95bcac, []int{110}
}
func (m *RepositoryCertificate) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3010,7 +3152,7 @@ var xxx_messageInfo_RepositoryCertificate proto.InternalMessageInfo
func (m *RepositoryCertificateList) Reset() { *m = RepositoryCertificateList{} }
func (*RepositoryCertificateList) ProtoMessage() {}
func (*RepositoryCertificateList) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{106}
+ return fileDescriptor_030104ce3b95bcac, []int{111}
}
func (m *RepositoryCertificateList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3038,7 +3180,7 @@ var xxx_messageInfo_RepositoryCertificateList proto.InternalMessageInfo
func (m *RepositoryList) Reset() { *m = RepositoryList{} }
func (*RepositoryList) ProtoMessage() {}
func (*RepositoryList) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{107}
+ return fileDescriptor_030104ce3b95bcac, []int{112}
}
func (m *RepositoryList) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3066,7 +3208,7 @@ var xxx_messageInfo_RepositoryList proto.InternalMessageInfo
func (m *ResourceAction) Reset() { *m = ResourceAction{} }
func (*ResourceAction) ProtoMessage() {}
func (*ResourceAction) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{108}
+ return fileDescriptor_030104ce3b95bcac, []int{113}
}
func (m *ResourceAction) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3094,7 +3236,7 @@ var xxx_messageInfo_ResourceAction proto.InternalMessageInfo
func (m *ResourceActionDefinition) Reset() { *m = ResourceActionDefinition{} }
func (*ResourceActionDefinition) ProtoMessage() {}
func (*ResourceActionDefinition) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{109}
+ return fileDescriptor_030104ce3b95bcac, []int{114}
}
func (m *ResourceActionDefinition) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3122,7 +3264,7 @@ var xxx_messageInfo_ResourceActionDefinition proto.InternalMessageInfo
func (m *ResourceActionParam) Reset() { *m = ResourceActionParam{} }
func (*ResourceActionParam) ProtoMessage() {}
func (*ResourceActionParam) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{110}
+ return fileDescriptor_030104ce3b95bcac, []int{115}
}
func (m *ResourceActionParam) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3150,7 +3292,7 @@ var xxx_messageInfo_ResourceActionParam proto.InternalMessageInfo
func (m *ResourceActions) Reset() { *m = ResourceActions{} }
func (*ResourceActions) ProtoMessage() {}
func (*ResourceActions) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{111}
+ return fileDescriptor_030104ce3b95bcac, []int{116}
}
func (m *ResourceActions) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3178,7 +3320,7 @@ var xxx_messageInfo_ResourceActions proto.InternalMessageInfo
func (m *ResourceDiff) Reset() { *m = ResourceDiff{} }
func (*ResourceDiff) ProtoMessage() {}
func (*ResourceDiff) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{112}
+ return fileDescriptor_030104ce3b95bcac, []int{117}
}
func (m *ResourceDiff) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3206,7 +3348,7 @@ var xxx_messageInfo_ResourceDiff proto.InternalMessageInfo
func (m *ResourceIgnoreDifferences) Reset() { *m = ResourceIgnoreDifferences{} }
func (*ResourceIgnoreDifferences) ProtoMessage() {}
func (*ResourceIgnoreDifferences) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{113}
+ return fileDescriptor_030104ce3b95bcac, []int{118}
}
func (m *ResourceIgnoreDifferences) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3234,7 +3376,7 @@ var xxx_messageInfo_ResourceIgnoreDifferences proto.InternalMessageInfo
func (m *ResourceNetworkingInfo) Reset() { *m = ResourceNetworkingInfo{} }
func (*ResourceNetworkingInfo) ProtoMessage() {}
func (*ResourceNetworkingInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{114}
+ return fileDescriptor_030104ce3b95bcac, []int{119}
}
func (m *ResourceNetworkingInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3262,7 +3404,7 @@ var xxx_messageInfo_ResourceNetworkingInfo proto.InternalMessageInfo
func (m *ResourceNode) Reset() { *m = ResourceNode{} }
func (*ResourceNode) ProtoMessage() {}
func (*ResourceNode) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{115}
+ return fileDescriptor_030104ce3b95bcac, []int{120}
}
func (m *ResourceNode) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3290,7 +3432,7 @@ var xxx_messageInfo_ResourceNode proto.InternalMessageInfo
func (m *ResourceOverride) Reset() { *m = ResourceOverride{} }
func (*ResourceOverride) ProtoMessage() {}
func (*ResourceOverride) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{116}
+ return fileDescriptor_030104ce3b95bcac, []int{121}
}
func (m *ResourceOverride) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3318,7 +3460,7 @@ var xxx_messageInfo_ResourceOverride proto.InternalMessageInfo
func (m *ResourceRef) Reset() { *m = ResourceRef{} }
func (*ResourceRef) ProtoMessage() {}
func (*ResourceRef) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{117}
+ return fileDescriptor_030104ce3b95bcac, []int{122}
}
func (m *ResourceRef) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3346,7 +3488,7 @@ var xxx_messageInfo_ResourceRef proto.InternalMessageInfo
func (m *ResourceResult) Reset() { *m = ResourceResult{} }
func (*ResourceResult) ProtoMessage() {}
func (*ResourceResult) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{118}
+ return fileDescriptor_030104ce3b95bcac, []int{123}
}
func (m *ResourceResult) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3374,7 +3516,7 @@ var xxx_messageInfo_ResourceResult proto.InternalMessageInfo
func (m *ResourceStatus) Reset() { *m = ResourceStatus{} }
func (*ResourceStatus) ProtoMessage() {}
func (*ResourceStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{119}
+ return fileDescriptor_030104ce3b95bcac, []int{124}
}
func (m *ResourceStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3402,7 +3544,7 @@ var xxx_messageInfo_ResourceStatus proto.InternalMessageInfo
func (m *RetryStrategy) Reset() { *m = RetryStrategy{} }
func (*RetryStrategy) ProtoMessage() {}
func (*RetryStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{120}
+ return fileDescriptor_030104ce3b95bcac, []int{125}
}
func (m *RetryStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3430,7 +3572,7 @@ var xxx_messageInfo_RetryStrategy proto.InternalMessageInfo
func (m *RevisionHistory) Reset() { *m = RevisionHistory{} }
func (*RevisionHistory) ProtoMessage() {}
func (*RevisionHistory) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{121}
+ return fileDescriptor_030104ce3b95bcac, []int{126}
}
func (m *RevisionHistory) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3458,7 +3600,7 @@ var xxx_messageInfo_RevisionHistory proto.InternalMessageInfo
func (m *RevisionMetadata) Reset() { *m = RevisionMetadata{} }
func (*RevisionMetadata) ProtoMessage() {}
func (*RevisionMetadata) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{122}
+ return fileDescriptor_030104ce3b95bcac, []int{127}
}
func (m *RevisionMetadata) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3486,7 +3628,7 @@ var xxx_messageInfo_RevisionMetadata proto.InternalMessageInfo
func (m *SCMProviderGenerator) Reset() { *m = SCMProviderGenerator{} }
func (*SCMProviderGenerator) ProtoMessage() {}
func (*SCMProviderGenerator) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{123}
+ return fileDescriptor_030104ce3b95bcac, []int{128}
}
func (m *SCMProviderGenerator) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3514,7 +3656,7 @@ var xxx_messageInfo_SCMProviderGenerator proto.InternalMessageInfo
func (m *SCMProviderGeneratorAWSCodeCommit) Reset() { *m = SCMProviderGeneratorAWSCodeCommit{} }
func (*SCMProviderGeneratorAWSCodeCommit) ProtoMessage() {}
func (*SCMProviderGeneratorAWSCodeCommit) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{124}
+ return fileDescriptor_030104ce3b95bcac, []int{129}
}
func (m *SCMProviderGeneratorAWSCodeCommit) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3542,7 +3684,7 @@ var xxx_messageInfo_SCMProviderGeneratorAWSCodeCommit proto.InternalMessageInfo
func (m *SCMProviderGeneratorAzureDevOps) Reset() { *m = SCMProviderGeneratorAzureDevOps{} }
func (*SCMProviderGeneratorAzureDevOps) ProtoMessage() {}
func (*SCMProviderGeneratorAzureDevOps) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{125}
+ return fileDescriptor_030104ce3b95bcac, []int{130}
}
func (m *SCMProviderGeneratorAzureDevOps) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3570,7 +3712,7 @@ var xxx_messageInfo_SCMProviderGeneratorAzureDevOps proto.InternalMessageInfo
func (m *SCMProviderGeneratorBitbucket) Reset() { *m = SCMProviderGeneratorBitbucket{} }
func (*SCMProviderGeneratorBitbucket) ProtoMessage() {}
func (*SCMProviderGeneratorBitbucket) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{126}
+ return fileDescriptor_030104ce3b95bcac, []int{131}
}
func (m *SCMProviderGeneratorBitbucket) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3598,7 +3740,7 @@ var xxx_messageInfo_SCMProviderGeneratorBitbucket proto.InternalMessageInfo
func (m *SCMProviderGeneratorBitbucketServer) Reset() { *m = SCMProviderGeneratorBitbucketServer{} }
func (*SCMProviderGeneratorBitbucketServer) ProtoMessage() {}
func (*SCMProviderGeneratorBitbucketServer) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{127}
+ return fileDescriptor_030104ce3b95bcac, []int{132}
}
func (m *SCMProviderGeneratorBitbucketServer) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3626,7 +3768,7 @@ var xxx_messageInfo_SCMProviderGeneratorBitbucketServer proto.InternalMessageInf
func (m *SCMProviderGeneratorFilter) Reset() { *m = SCMProviderGeneratorFilter{} }
func (*SCMProviderGeneratorFilter) ProtoMessage() {}
func (*SCMProviderGeneratorFilter) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{128}
+ return fileDescriptor_030104ce3b95bcac, []int{133}
}
func (m *SCMProviderGeneratorFilter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3654,7 +3796,7 @@ var xxx_messageInfo_SCMProviderGeneratorFilter proto.InternalMessageInfo
func (m *SCMProviderGeneratorGitea) Reset() { *m = SCMProviderGeneratorGitea{} }
func (*SCMProviderGeneratorGitea) ProtoMessage() {}
func (*SCMProviderGeneratorGitea) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{129}
+ return fileDescriptor_030104ce3b95bcac, []int{134}
}
func (m *SCMProviderGeneratorGitea) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3682,7 +3824,7 @@ var xxx_messageInfo_SCMProviderGeneratorGitea proto.InternalMessageInfo
func (m *SCMProviderGeneratorGithub) Reset() { *m = SCMProviderGeneratorGithub{} }
func (*SCMProviderGeneratorGithub) ProtoMessage() {}
func (*SCMProviderGeneratorGithub) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{130}
+ return fileDescriptor_030104ce3b95bcac, []int{135}
}
func (m *SCMProviderGeneratorGithub) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3710,7 +3852,7 @@ var xxx_messageInfo_SCMProviderGeneratorGithub proto.InternalMessageInfo
func (m *SCMProviderGeneratorGitlab) Reset() { *m = SCMProviderGeneratorGitlab{} }
func (*SCMProviderGeneratorGitlab) ProtoMessage() {}
func (*SCMProviderGeneratorGitlab) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{131}
+ return fileDescriptor_030104ce3b95bcac, []int{136}
}
func (m *SCMProviderGeneratorGitlab) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3738,7 +3880,7 @@ var xxx_messageInfo_SCMProviderGeneratorGitlab proto.InternalMessageInfo
func (m *SecretRef) Reset() { *m = SecretRef{} }
func (*SecretRef) ProtoMessage() {}
func (*SecretRef) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{132}
+ return fileDescriptor_030104ce3b95bcac, []int{137}
}
func (m *SecretRef) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3766,7 +3908,7 @@ var xxx_messageInfo_SecretRef proto.InternalMessageInfo
func (m *SignatureKey) Reset() { *m = SignatureKey{} }
func (*SignatureKey) ProtoMessage() {}
func (*SignatureKey) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{133}
+ return fileDescriptor_030104ce3b95bcac, []int{138}
}
func (m *SignatureKey) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3794,7 +3936,7 @@ var xxx_messageInfo_SignatureKey proto.InternalMessageInfo
func (m *SyncOperation) Reset() { *m = SyncOperation{} }
func (*SyncOperation) ProtoMessage() {}
func (*SyncOperation) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{134}
+ return fileDescriptor_030104ce3b95bcac, []int{139}
}
func (m *SyncOperation) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3822,7 +3964,7 @@ var xxx_messageInfo_SyncOperation proto.InternalMessageInfo
func (m *SyncOperationResource) Reset() { *m = SyncOperationResource{} }
func (*SyncOperationResource) ProtoMessage() {}
func (*SyncOperationResource) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{135}
+ return fileDescriptor_030104ce3b95bcac, []int{140}
}
func (m *SyncOperationResource) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3850,7 +3992,7 @@ var xxx_messageInfo_SyncOperationResource proto.InternalMessageInfo
func (m *SyncOperationResult) Reset() { *m = SyncOperationResult{} }
func (*SyncOperationResult) ProtoMessage() {}
func (*SyncOperationResult) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{136}
+ return fileDescriptor_030104ce3b95bcac, []int{141}
}
func (m *SyncOperationResult) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3878,7 +4020,7 @@ var xxx_messageInfo_SyncOperationResult proto.InternalMessageInfo
func (m *SyncPolicy) Reset() { *m = SyncPolicy{} }
func (*SyncPolicy) ProtoMessage() {}
func (*SyncPolicy) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{137}
+ return fileDescriptor_030104ce3b95bcac, []int{142}
}
func (m *SyncPolicy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3906,7 +4048,7 @@ var xxx_messageInfo_SyncPolicy proto.InternalMessageInfo
func (m *SyncPolicyAutomated) Reset() { *m = SyncPolicyAutomated{} }
func (*SyncPolicyAutomated) ProtoMessage() {}
func (*SyncPolicyAutomated) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{138}
+ return fileDescriptor_030104ce3b95bcac, []int{143}
}
func (m *SyncPolicyAutomated) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3934,7 +4076,7 @@ var xxx_messageInfo_SyncPolicyAutomated proto.InternalMessageInfo
func (m *SyncStatus) Reset() { *m = SyncStatus{} }
func (*SyncStatus) ProtoMessage() {}
func (*SyncStatus) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{139}
+ return fileDescriptor_030104ce3b95bcac, []int{144}
}
func (m *SyncStatus) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3962,7 +4104,7 @@ var xxx_messageInfo_SyncStatus proto.InternalMessageInfo
func (m *SyncStrategy) Reset() { *m = SyncStrategy{} }
func (*SyncStrategy) ProtoMessage() {}
func (*SyncStrategy) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{140}
+ return fileDescriptor_030104ce3b95bcac, []int{145}
}
func (m *SyncStrategy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -3990,7 +4132,7 @@ var xxx_messageInfo_SyncStrategy proto.InternalMessageInfo
func (m *SyncStrategyApply) Reset() { *m = SyncStrategyApply{} }
func (*SyncStrategyApply) ProtoMessage() {}
func (*SyncStrategyApply) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{141}
+ return fileDescriptor_030104ce3b95bcac, []int{146}
}
func (m *SyncStrategyApply) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -4018,7 +4160,7 @@ var xxx_messageInfo_SyncStrategyApply proto.InternalMessageInfo
func (m *SyncStrategyHook) Reset() { *m = SyncStrategyHook{} }
func (*SyncStrategyHook) ProtoMessage() {}
func (*SyncStrategyHook) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{142}
+ return fileDescriptor_030104ce3b95bcac, []int{147}
}
func (m *SyncStrategyHook) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -4046,7 +4188,7 @@ var xxx_messageInfo_SyncStrategyHook proto.InternalMessageInfo
func (m *SyncWindow) Reset() { *m = SyncWindow{} }
func (*SyncWindow) ProtoMessage() {}
func (*SyncWindow) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{143}
+ return fileDescriptor_030104ce3b95bcac, []int{148}
}
func (m *SyncWindow) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -4074,7 +4216,7 @@ var xxx_messageInfo_SyncWindow proto.InternalMessageInfo
func (m *TLSClientConfig) Reset() { *m = TLSClientConfig{} }
func (*TLSClientConfig) ProtoMessage() {}
func (*TLSClientConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{144}
+ return fileDescriptor_030104ce3b95bcac, []int{149}
}
func (m *TLSClientConfig) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -4102,7 +4244,7 @@ var xxx_messageInfo_TLSClientConfig proto.InternalMessageInfo
func (m *TagFilter) Reset() { *m = TagFilter{} }
func (*TagFilter) ProtoMessage() {}
func (*TagFilter) Descriptor() ([]byte, []int) {
- return fileDescriptor_030104ce3b95bcac, []int{145}
+ return fileDescriptor_030104ce3b95bcac, []int{150}
}
func (m *TagFilter) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -4146,6 +4288,7 @@ func init() {
proto.RegisterType((*ApplicationSetGenerator)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSetGenerator")
proto.RegisterType((*ApplicationSetList)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSetList")
proto.RegisterType((*ApplicationSetNestedGenerator)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSetNestedGenerator")
+ proto.RegisterType((*ApplicationSetResourceIgnoreDifferences)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSetResourceIgnoreDifferences")
proto.RegisterType((*ApplicationSetRolloutStep)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSetRolloutStep")
proto.RegisterType((*ApplicationSetRolloutStrategy)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSetRolloutStrategy")
proto.RegisterType((*ApplicationSetSpec)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSetSpec")
@@ -4212,8 +4355,13 @@ func init() {
proto.RegisterType((*JWTTokens)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.JWTTokens")
proto.RegisterType((*JsonnetVar)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.JsonnetVar")
proto.RegisterType((*KnownTypeField)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KnownTypeField")
+ proto.RegisterType((*KustomizeGvk)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizeGvk")
proto.RegisterType((*KustomizeOptions)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizeOptions")
+ proto.RegisterType((*KustomizePatch)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizePatch")
+ proto.RegisterMapType((map[string]bool)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizePatch.OptionsEntry")
proto.RegisterType((*KustomizeReplica)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizeReplica")
+ proto.RegisterType((*KustomizeResId)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizeResId")
+ proto.RegisterType((*KustomizeSelector)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizeSelector")
proto.RegisterType((*ListGenerator)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ListGenerator")
proto.RegisterType((*ManagedNamespaceMetadata)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ManagedNamespaceMetadata")
proto.RegisterMapType((map[string]string)(nil), "github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ManagedNamespaceMetadata.AnnotationsEntry")
@@ -4300,673 +4448,692 @@ func init() {
}
var fileDescriptor_030104ce3b95bcac = []byte{
- // 10656 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x24, 0xc9,
- 0x71, 0x18, 0xcc, 0x9e, 0x07, 0x30, 0x93, 0xc0, 0xbe, 0x6a, 0x77, 0xef, 0xb0, 0xcb, 0xbb, 0xc3,
- 0xaa, 0x2f, 0x74, 0x3a, 0x7e, 0xbc, 0x03, 0x74, 0xcb, 0x3b, 0x7e, 0x67, 0x9d, 0x44, 0x0a, 0x8f,
- 0x7d, 0x60, 0x17, 0x58, 0xe0, 0x0a, 0xd8, 0x5d, 0xf2, 0xa8, 0xe3, 0xb1, 0xd1, 0x53, 0x18, 0xf4,
- 0xa2, 0xa7, 0xbb, 0xaf, 0xbb, 0x07, 0x0b, 0x9c, 0x48, 0x8a, 0x14, 0xf5, 0xa0, 0xcd, 0xa7, 0x49,
- 0x3b, 0x44, 0xd9, 0xa6, 0x4c, 0x89, 0xb2, 0xc3, 0x0a, 0x9b, 0x61, 0xd9, 0xfe, 0x61, 0xd9, 0xb2,
- 0x43, 0x21, 0xc9, 0x3f, 0xe8, 0xa0, 0x1d, 0x56, 0x38, 0x14, 0xa2, 0x6c, 0x4b, 0x30, 0x09, 0x87,
- 0xc3, 0x0e, 0x47, 0x58, 0x11, 0xb2, 0xf5, 0xc3, 0x5e, 0x3b, 0xc2, 0x8e, 0x7a, 0x57, 0xf7, 0xf4,
- 0x2c, 0x06, 0x40, 0x63, 0x77, 0x49, 0xdf, 0xbf, 0x99, 0xca, 0xec, 0xcc, 0xea, 0xea, 0xaa, 0xac,
- 0xcc, 0xac, 0xcc, 0x2c, 0x98, 0x6f, 0x7b, 0xe9, 0x7a, 0x77, 0x75, 0xc2, 0x0d, 0x3b, 0x93, 0x4e,
- 0xdc, 0x0e, 0xa3, 0x38, 0xbc, 0xc3, 0x7e, 0x3c, 0xef, 0xb6, 0x26, 0x37, 0x2f, 0x4e, 0x46, 0x1b,
- 0xed, 0x49, 0x27, 0xf2, 0x92, 0x49, 0x27, 0x8a, 0x7c, 0xcf, 0x75, 0x52, 0x2f, 0x0c, 0x26, 0x37,
- 0x5f, 0x70, 0xfc, 0x68, 0xdd, 0x79, 0x61, 0xb2, 0x4d, 0x02, 0x12, 0x3b, 0x29, 0x69, 0x4d, 0x44,
- 0x71, 0x98, 0x86, 0xe8, 0x47, 0x35, 0xb5, 0x09, 0x49, 0x8d, 0xfd, 0x78, 0xc3, 0x6d, 0x4d, 0x6c,
- 0x5e, 0x9c, 0x88, 0x36, 0xda, 0x13, 0x94, 0xda, 0x84, 0x41, 0x6d, 0x42, 0x52, 0x3b, 0xff, 0xbc,
- 0xd1, 0x97, 0x76, 0xd8, 0x0e, 0x27, 0x19, 0xd1, 0xd5, 0xee, 0x1a, 0xfb, 0xc7, 0xfe, 0xb0, 0x5f,
- 0x9c, 0xd9, 0x79, 0x7b, 0xe3, 0xe5, 0x64, 0xc2, 0x0b, 0x69, 0xf7, 0x26, 0xdd, 0x30, 0x26, 0x93,
- 0x9b, 0x3d, 0x1d, 0x3a, 0x7f, 0x55, 0xe3, 0x90, 0xad, 0x94, 0x04, 0x89, 0x17, 0x06, 0xc9, 0xf3,
- 0xb4, 0x0b, 0x24, 0xde, 0x24, 0xb1, 0xf9, 0x7a, 0x06, 0x42, 0x11, 0xa5, 0x17, 0x35, 0xa5, 0x8e,
- 0xe3, 0xae, 0x7b, 0x01, 0x89, 0xb7, 0xf5, 0xe3, 0x1d, 0x92, 0x3a, 0x45, 0x4f, 0x4d, 0xf6, 0x7b,
- 0x2a, 0xee, 0x06, 0xa9, 0xd7, 0x21, 0x3d, 0x0f, 0xbc, 0x77, 0xaf, 0x07, 0x12, 0x77, 0x9d, 0x74,
- 0x9c, 0x9e, 0xe7, 0xde, 0xd3, 0xef, 0xb9, 0x6e, 0xea, 0xf9, 0x93, 0x5e, 0x90, 0x26, 0x69, 0x9c,
- 0x7f, 0xc8, 0x7e, 0x13, 0x8e, 0x4d, 0xdd, 0x5e, 0x9e, 0xea, 0xa6, 0xeb, 0x33, 0x61, 0xb0, 0xe6,
- 0xb5, 0xd1, 0x4b, 0x30, 0xe2, 0xfa, 0xdd, 0x24, 0x25, 0xf1, 0x0d, 0xa7, 0x43, 0xc6, 0xac, 0x0b,
- 0xd6, 0xb3, 0xcd, 0xe9, 0xd3, 0xdf, 0xdc, 0x19, 0x7f, 0xc7, 0xee, 0xce, 0xf8, 0xc8, 0x8c, 0x06,
- 0x61, 0x13, 0x0f, 0xbd, 0x0b, 0x86, 0xe3, 0xd0, 0x27, 0x53, 0xf8, 0xc6, 0x58, 0x85, 0x3d, 0x72,
- 0x42, 0x3c, 0x32, 0x8c, 0x79, 0x33, 0x96, 0x70, 0xfb, 0x0f, 0x2a, 0x00, 0x53, 0x51, 0xb4, 0x14,
- 0x87, 0x77, 0x88, 0x9b, 0xa2, 0x8f, 0x40, 0x83, 0x0e, 0x5d, 0xcb, 0x49, 0x1d, 0xc6, 0x6d, 0xe4,
- 0xe2, 0x0f, 0x4f, 0xf0, 0x37, 0x99, 0x30, 0xdf, 0x44, 0x4f, 0x1c, 0x8a, 0x3d, 0xb1, 0xf9, 0xc2,
- 0xc4, 0xe2, 0x2a, 0x7d, 0x7e, 0x81, 0xa4, 0xce, 0x34, 0x12, 0xcc, 0x40, 0xb7, 0x61, 0x45, 0x15,
- 0x05, 0x50, 0x4b, 0x22, 0xe2, 0xb2, 0x8e, 0x8d, 0x5c, 0x9c, 0x9f, 0x38, 0xcc, 0x0c, 0x9d, 0xd0,
- 0x3d, 0x5f, 0x8e, 0x88, 0x3b, 0x3d, 0x2a, 0x38, 0xd7, 0xe8, 0x3f, 0xcc, 0xf8, 0xa0, 0x4d, 0x18,
- 0x4a, 0x52, 0x27, 0xed, 0x26, 0x63, 0x55, 0xc6, 0xf1, 0x46, 0x69, 0x1c, 0x19, 0xd5, 0xe9, 0xe3,
- 0x82, 0xe7, 0x10, 0xff, 0x8f, 0x05, 0x37, 0xfb, 0x8f, 0x2d, 0x38, 0xae, 0x91, 0xe7, 0xbd, 0x24,
- 0x45, 0x3f, 0xd1, 0x33, 0xb8, 0x13, 0x83, 0x0d, 0x2e, 0x7d, 0x9a, 0x0d, 0xed, 0x49, 0xc1, 0xac,
- 0x21, 0x5b, 0x8c, 0x81, 0xed, 0x40, 0xdd, 0x4b, 0x49, 0x27, 0x19, 0xab, 0x5c, 0xa8, 0x3e, 0x3b,
- 0x72, 0xf1, 0x6a, 0x59, 0xef, 0x39, 0x7d, 0x4c, 0x30, 0xad, 0xcf, 0x51, 0xf2, 0x98, 0x73, 0xb1,
- 0x7f, 0x6d, 0xd4, 0x7c, 0x3f, 0x3a, 0xe0, 0xe8, 0x05, 0x18, 0x49, 0xc2, 0x6e, 0xec, 0x12, 0x4c,
- 0xa2, 0x30, 0x19, 0xb3, 0x2e, 0x54, 0xe9, 0xd4, 0xa3, 0x33, 0x75, 0x59, 0x37, 0x63, 0x13, 0x07,
- 0x7d, 0xde, 0x82, 0xd1, 0x16, 0x49, 0x52, 0x2f, 0x60, 0xfc, 0x65, 0xe7, 0x57, 0x0e, 0xdd, 0x79,
- 0xd9, 0x38, 0xab, 0x89, 0x4f, 0x9f, 0x11, 0x2f, 0x32, 0x6a, 0x34, 0x26, 0x38, 0xc3, 0x9f, 0xae,
- 0xb8, 0x16, 0x49, 0xdc, 0xd8, 0x8b, 0xe8, 0x7f, 0x36, 0x67, 0x8c, 0x15, 0x37, 0xab, 0x41, 0xd8,
- 0xc4, 0x43, 0x01, 0xd4, 0xe9, 0x8a, 0x4a, 0xc6, 0x6a, 0xac, 0xff, 0x73, 0x87, 0xeb, 0xbf, 0x18,
- 0x54, 0xba, 0x58, 0xf5, 0xe8, 0xd3, 0x7f, 0x09, 0xe6, 0x6c, 0xd0, 0xe7, 0x2c, 0x18, 0x13, 0x2b,
- 0x1e, 0x13, 0x3e, 0xa0, 0xb7, 0xd7, 0xbd, 0x94, 0xf8, 0x5e, 0x92, 0x8e, 0xd5, 0x59, 0x1f, 0x26,
- 0x07, 0x9b, 0x5b, 0x57, 0xe2, 0xb0, 0x1b, 0x5d, 0xf7, 0x82, 0xd6, 0xf4, 0x05, 0xc1, 0x69, 0x6c,
- 0xa6, 0x0f, 0x61, 0xdc, 0x97, 0x25, 0xfa, 0xb2, 0x05, 0xe7, 0x03, 0xa7, 0x43, 0x92, 0xc8, 0xa1,
- 0x9f, 0x96, 0x83, 0xa7, 0x7d, 0xc7, 0xdd, 0x60, 0x3d, 0x1a, 0x3a, 0x58, 0x8f, 0x6c, 0xd1, 0xa3,
- 0xf3, 0x37, 0xfa, 0x92, 0xc6, 0xf7, 0x61, 0x8b, 0xbe, 0x6e, 0xc1, 0xa9, 0x30, 0x8e, 0xd6, 0x9d,
- 0x80, 0xb4, 0x24, 0x34, 0x19, 0x1b, 0x66, 0x4b, 0xef, 0xc3, 0x87, 0xfb, 0x44, 0x8b, 0x79, 0xb2,
- 0x0b, 0x61, 0xe0, 0xa5, 0x61, 0xbc, 0x4c, 0xd2, 0xd4, 0x0b, 0xda, 0xc9, 0xf4, 0xd9, 0xdd, 0x9d,
- 0xf1, 0x53, 0x3d, 0x58, 0xb8, 0xb7, 0x3f, 0xe8, 0x27, 0x61, 0x24, 0xd9, 0x0e, 0xdc, 0xdb, 0x5e,
- 0xd0, 0x0a, 0xef, 0x26, 0x63, 0x8d, 0x32, 0x96, 0xef, 0xb2, 0x22, 0x28, 0x16, 0xa0, 0x66, 0x80,
- 0x4d, 0x6e, 0xc5, 0x1f, 0x4e, 0x4f, 0xa5, 0x66, 0xd9, 0x1f, 0x4e, 0x4f, 0xa6, 0xfb, 0xb0, 0x45,
- 0x3f, 0x6f, 0xc1, 0xb1, 0xc4, 0x6b, 0x07, 0x4e, 0xda, 0x8d, 0xc9, 0x75, 0xb2, 0x9d, 0x8c, 0x01,
- 0xeb, 0xc8, 0xb5, 0x43, 0x8e, 0x8a, 0x41, 0x72, 0xfa, 0xac, 0xe8, 0xe3, 0x31, 0xb3, 0x35, 0xc1,
- 0x59, 0xbe, 0x45, 0x0b, 0x4d, 0x4f, 0xeb, 0x91, 0x72, 0x17, 0x9a, 0x9e, 0xd4, 0x7d, 0x59, 0xa2,
- 0x1f, 0x87, 0x93, 0xbc, 0x49, 0x8d, 0x6c, 0x32, 0x36, 0xca, 0x04, 0xed, 0x99, 0xdd, 0x9d, 0xf1,
- 0x93, 0xcb, 0x39, 0x18, 0xee, 0xc1, 0x46, 0x6f, 0xc2, 0x78, 0x44, 0xe2, 0x8e, 0x97, 0x2e, 0x06,
- 0xfe, 0xb6, 0x14, 0xdf, 0x6e, 0x18, 0x91, 0x96, 0xe8, 0x4e, 0x32, 0x76, 0xec, 0x82, 0xf5, 0x6c,
- 0x63, 0xfa, 0x87, 0x44, 0x37, 0xc7, 0x97, 0xee, 0x8f, 0x8e, 0xf7, 0xa2, 0x67, 0xff, 0xf3, 0x0a,
- 0x9c, 0xcc, 0x6f, 0x9c, 0xe8, 0x6f, 0x5a, 0x70, 0xe2, 0xce, 0xdd, 0x74, 0x25, 0xdc, 0x20, 0x41,
- 0x32, 0xbd, 0x4d, 0xc5, 0x1b, 0xdb, 0x32, 0x46, 0x2e, 0xba, 0xe5, 0x6e, 0xd1, 0x13, 0xd7, 0xb2,
- 0x5c, 0x2e, 0x05, 0x69, 0xbc, 0x3d, 0xfd, 0xb8, 0x78, 0xbb, 0x13, 0xd7, 0x6e, 0xaf, 0x98, 0x50,
- 0x9c, 0xef, 0xd4, 0xf9, 0xcf, 0x58, 0x70, 0xa6, 0x88, 0x04, 0x3a, 0x09, 0xd5, 0x0d, 0xb2, 0xcd,
- 0xb5, 0x32, 0x4c, 0x7f, 0xa2, 0xd7, 0xa1, 0xbe, 0xe9, 0xf8, 0x5d, 0x22, 0xb4, 0x9b, 0x2b, 0x87,
- 0x7b, 0x11, 0xd5, 0x33, 0xcc, 0xa9, 0xfe, 0x48, 0xe5, 0x65, 0xcb, 0xfe, 0x57, 0x55, 0x18, 0x31,
- 0xf6, 0xb7, 0x07, 0xa0, 0xb1, 0x85, 0x19, 0x8d, 0x6d, 0xa1, 0xb4, 0xad, 0xb9, 0xaf, 0xca, 0x76,
- 0x37, 0xa7, 0xb2, 0x2d, 0x96, 0xc7, 0xf2, 0xbe, 0x3a, 0x1b, 0x4a, 0xa1, 0x19, 0x46, 0x54, 0x23,
- 0xa7, 0x5b, 0x7f, 0xad, 0x8c, 0x4f, 0xb8, 0x28, 0xc9, 0x4d, 0x1f, 0xdb, 0xdd, 0x19, 0x6f, 0xaa,
- 0xbf, 0x58, 0x33, 0xb2, 0xbf, 0x6d, 0xc1, 0x19, 0xa3, 0x8f, 0x33, 0x61, 0xd0, 0xf2, 0xd8, 0xa7,
- 0xbd, 0x00, 0xb5, 0x74, 0x3b, 0x92, 0x6a, 0xbf, 0x1a, 0xa9, 0x95, 0xed, 0x88, 0x60, 0x06, 0xa1,
- 0x8a, 0x7e, 0x87, 0x24, 0x89, 0xd3, 0x26, 0x79, 0x45, 0x7f, 0x81, 0x37, 0x63, 0x09, 0x47, 0x31,
- 0x20, 0xdf, 0x49, 0xd2, 0x95, 0xd8, 0x09, 0x12, 0x46, 0x7e, 0xc5, 0xeb, 0x10, 0x31, 0xc0, 0xff,
- 0xdf, 0x60, 0x33, 0x86, 0x3e, 0x31, 0xfd, 0xd8, 0xee, 0xce, 0x38, 0x9a, 0xef, 0xa1, 0x84, 0x0b,
- 0xa8, 0xdb, 0x5f, 0xb6, 0xe0, 0xb1, 0x62, 0x5d, 0x0c, 0x3d, 0x03, 0x43, 0xdc, 0xe4, 0x13, 0x6f,
- 0xa7, 0x3f, 0x09, 0x6b, 0xc5, 0x02, 0x8a, 0x26, 0xa1, 0xa9, 0xf6, 0x09, 0xf1, 0x8e, 0xa7, 0x04,
- 0x6a, 0x53, 0x6f, 0x2e, 0x1a, 0x87, 0x0e, 0x1a, 0xfd, 0x23, 0x34, 0x37, 0x35, 0x68, 0xcc, 0x48,
- 0x62, 0x10, 0xfb, 0xdf, 0x5b, 0x70, 0xc2, 0xe8, 0xd5, 0x03, 0x50, 0xcd, 0x83, 0xac, 0x6a, 0x3e,
- 0x57, 0xda, 0x7c, 0xee, 0xa3, 0x9b, 0x7f, 0xce, 0x82, 0xf3, 0x06, 0xd6, 0x82, 0x93, 0xba, 0xeb,
- 0x97, 0xb6, 0xa2, 0x98, 0x24, 0xd4, 0x9c, 0x46, 0x4f, 0x1a, 0x72, 0x6b, 0x7a, 0x44, 0x50, 0xa8,
- 0x5e, 0x27, 0xdb, 0x5c, 0x88, 0x3d, 0x07, 0x0d, 0x3e, 0x39, 0xc3, 0x58, 0x8c, 0xb8, 0x7a, 0xb7,
- 0x45, 0xd1, 0x8e, 0x15, 0x06, 0xb2, 0x61, 0x88, 0x09, 0x27, 0xba, 0x58, 0xe9, 0x36, 0x04, 0xf4,
- 0x23, 0xde, 0x62, 0x2d, 0x58, 0x40, 0xec, 0x24, 0xd3, 0x9d, 0xa5, 0x98, 0xb0, 0x8f, 0xdb, 0xba,
- 0xec, 0x11, 0xbf, 0x95, 0x50, 0xb3, 0xc1, 0x09, 0x82, 0x30, 0x15, 0x16, 0x80, 0x61, 0x36, 0x4c,
- 0xe9, 0x66, 0x6c, 0xe2, 0x50, 0xa6, 0xbe, 0xb3, 0x4a, 0x7c, 0x3e, 0xa2, 0x82, 0xe9, 0x3c, 0x6b,
- 0xc1, 0x02, 0x62, 0xef, 0x56, 0x98, 0x81, 0xa2, 0x96, 0x3e, 0x79, 0x10, 0xd6, 0x6d, 0x9c, 0x91,
- 0x95, 0x4b, 0xe5, 0x09, 0x2e, 0xd2, 0xdf, 0xc2, 0x7d, 0x2b, 0x27, 0x2e, 0x71, 0xa9, 0x5c, 0xef,
- 0x6f, 0xe5, 0xfe, 0x76, 0x05, 0xc6, 0xb3, 0x0f, 0xf4, 0x48, 0x5b, 0x6a, 0x52, 0x19, 0x8c, 0xf2,
- 0x4e, 0x0c, 0x03, 0x1f, 0x9b, 0x78, 0x7d, 0x04, 0x56, 0xe5, 0x28, 0x05, 0x96, 0x29, 0x4f, 0xab,
- 0x7b, 0xc8, 0xd3, 0x67, 0xd4, 0xa8, 0xd7, 0x72, 0x02, 0x2c, 0xbb, 0xa7, 0x5c, 0x80, 0x5a, 0x92,
- 0x92, 0x68, 0xac, 0x9e, 0x95, 0x47, 0xcb, 0x29, 0x89, 0x30, 0x83, 0xd8, 0xff, 0xa5, 0x02, 0x8f,
- 0x67, 0xc7, 0x50, 0x6f, 0x01, 0xef, 0xcf, 0x6c, 0x01, 0xef, 0x36, 0xb7, 0x80, 0x7b, 0x3b, 0xe3,
- 0xef, 0xec, 0xf3, 0xd8, 0xf7, 0xcc, 0x0e, 0x81, 0xae, 0xe4, 0x46, 0x71, 0x32, 0x3b, 0x8a, 0xf7,
- 0x76, 0xc6, 0x9f, 0xec, 0xf3, 0x8e, 0xb9, 0x61, 0x7e, 0x06, 0x86, 0x62, 0xe2, 0x24, 0x61, 0x20,
- 0x06, 0x5a, 0x7d, 0x0e, 0xcc, 0x5a, 0xb1, 0x80, 0xda, 0xff, 0xba, 0x99, 0x1f, 0xec, 0x2b, 0xdc,
- 0x09, 0x17, 0xc6, 0xc8, 0x83, 0x1a, 0x53, 0xeb, 0xb9, 0x68, 0xb8, 0x7e, 0xb8, 0x65, 0x44, 0xb7,
- 0x01, 0x45, 0x7a, 0xba, 0x41, 0xbf, 0x1a, 0x6d, 0xc2, 0x8c, 0x05, 0xda, 0x82, 0x86, 0x2b, 0xb5,
- 0xed, 0x4a, 0x19, 0x7e, 0x29, 0xa1, 0x6b, 0x6b, 0x8e, 0xa3, 0x54, 0x5e, 0x2b, 0x15, 0x5d, 0x71,
- 0x43, 0x04, 0xaa, 0x6d, 0x2f, 0x15, 0x9f, 0xf5, 0x90, 0xf6, 0xd4, 0x15, 0xcf, 0x78, 0xc5, 0x61,
- 0xba, 0x89, 0x5c, 0xf1, 0x52, 0x4c, 0xe9, 0xa3, 0x9f, 0xb5, 0x60, 0x24, 0x71, 0x3b, 0x4b, 0x71,
- 0xb8, 0xe9, 0xb5, 0x48, 0x2c, 0xb4, 0xa9, 0x43, 0x8a, 0xa6, 0xe5, 0x99, 0x05, 0x49, 0x50, 0xf3,
- 0xe5, 0xf6, 0xad, 0x86, 0x60, 0x93, 0x2f, 0xb5, 0x32, 0x1e, 0x17, 0xef, 0x3e, 0x4b, 0x5c, 0x8f,
- 0xee, 0x7f, 0xd2, 0xa8, 0x62, 0x33, 0xe5, 0xd0, 0xda, 0xe5, 0x6c, 0xd7, 0xdd, 0xa0, 0xeb, 0x4d,
- 0x77, 0xe8, 0x9d, 0xbb, 0x3b, 0xe3, 0x8f, 0xcf, 0x14, 0xf3, 0xc4, 0xfd, 0x3a, 0xc3, 0x06, 0x2c,
- 0xea, 0xfa, 0x3e, 0x26, 0x6f, 0x76, 0x09, 0x73, 0x99, 0x94, 0x30, 0x60, 0x4b, 0x9a, 0x60, 0x6e,
- 0xc0, 0x0c, 0x08, 0x36, 0xf9, 0xa2, 0x37, 0x61, 0xa8, 0xe3, 0xa4, 0xb1, 0xb7, 0x25, 0xfc, 0x24,
- 0x87, 0xd4, 0xf7, 0x17, 0x18, 0x2d, 0xcd, 0x9c, 0xed, 0xd4, 0xbc, 0x11, 0x0b, 0x46, 0xa8, 0x03,
- 0xf5, 0x0e, 0x89, 0xdb, 0x64, 0xac, 0x51, 0x86, 0x4f, 0x78, 0x81, 0x92, 0xd2, 0x0c, 0x9b, 0x54,
- 0x3b, 0x62, 0x6d, 0x98, 0x73, 0x41, 0xaf, 0x43, 0x23, 0x21, 0x3e, 0x71, 0xa9, 0x7e, 0xd3, 0x64,
- 0x1c, 0xdf, 0x33, 0xa0, 0xae, 0x47, 0x15, 0x8b, 0x65, 0xf1, 0x28, 0x5f, 0x60, 0xf2, 0x1f, 0x56,
- 0x24, 0xe9, 0x00, 0x46, 0x7e, 0xb7, 0xed, 0x05, 0x63, 0x50, 0xc6, 0x00, 0x2e, 0x31, 0x5a, 0xb9,
- 0x01, 0xe4, 0x8d, 0x58, 0x30, 0xb2, 0xff, 0xa3, 0x05, 0x28, 0x2b, 0xd4, 0x1e, 0x80, 0x52, 0xfb,
- 0x66, 0x56, 0xa9, 0x9d, 0x2f, 0x53, 0xeb, 0xe8, 0xa3, 0xd7, 0xfe, 0x66, 0x13, 0x72, 0xdb, 0xc1,
- 0x0d, 0x92, 0xa4, 0xa4, 0xf5, 0xb6, 0x08, 0x7f, 0x5b, 0x84, 0xbf, 0x2d, 0xc2, 0x95, 0x08, 0x5f,
- 0xcd, 0x89, 0xf0, 0xf7, 0x19, 0xab, 0x5e, 0x1f, 0xaa, 0xbe, 0xa1, 0x4e, 0x5d, 0xcd, 0x1e, 0x18,
- 0x08, 0x54, 0x12, 0x5c, 0x5b, 0x5e, 0xbc, 0x51, 0x28, 0xb3, 0xdf, 0xc8, 0xca, 0xec, 0xc3, 0xb2,
- 0xf8, 0x7f, 0x41, 0x4a, 0xff, 0xd5, 0x0a, 0x9c, 0xcb, 0x4a, 0x2f, 0x1c, 0xfa, 0x7e, 0xd8, 0x4d,
- 0xa9, 0x2d, 0x80, 0x7e, 0xc9, 0x82, 0x93, 0x9d, 0xac, 0xa1, 0x9e, 0x08, 0x7f, 0xe8, 0x07, 0x4a,
- 0x13, 0xad, 0x39, 0x4f, 0xc0, 0xf4, 0x98, 0x10, 0xb3, 0x27, 0x73, 0x80, 0x04, 0xf7, 0xf4, 0x05,
- 0xbd, 0x0e, 0xcd, 0x8e, 0xb3, 0x75, 0x33, 0x6a, 0x39, 0xa9, 0x34, 0xc3, 0xfa, 0x5b, 0xcf, 0xdd,
- 0xd4, 0xf3, 0x27, 0xf8, 0x29, 0xf7, 0xc4, 0x5c, 0x90, 0x2e, 0xc6, 0xcb, 0x69, 0xec, 0x05, 0x6d,
- 0xee, 0x05, 0x5b, 0x90, 0x64, 0xb0, 0xa6, 0x68, 0x7f, 0xd5, 0xca, 0xcb, 0x76, 0x35, 0x3a, 0xb1,
- 0x93, 0x92, 0xf6, 0x36, 0xfa, 0x28, 0xd4, 0xa9, 0xbd, 0x24, 0x47, 0xe5, 0x76, 0x99, 0x1b, 0x8e,
- 0xf1, 0x25, 0xf4, 0xde, 0x43, 0xff, 0x25, 0x98, 0x33, 0xb5, 0xbf, 0x3c, 0x9c, 0xdf, 0x63, 0xd9,
- 0x99, 0xe7, 0x45, 0x80, 0x76, 0xb8, 0x42, 0x3a, 0x91, 0x4f, 0x87, 0xc5, 0x62, 0x8e, 0x73, 0xe5,
- 0x22, 0xb8, 0xa2, 0x20, 0xd8, 0xc0, 0x42, 0x7f, 0xde, 0x02, 0x68, 0xcb, 0xa9, 0x22, 0xf7, 0xcf,
- 0x9b, 0x65, 0xbe, 0x8e, 0x9e, 0x88, 0xba, 0x2f, 0x8a, 0x21, 0x36, 0x98, 0xa3, 0x9f, 0xb6, 0xa0,
- 0x91, 0xca, 0xee, 0xf3, 0x1d, 0x65, 0xa5, 0xcc, 0x9e, 0xc8, 0x97, 0xd6, 0xaa, 0x84, 0x1a, 0x12,
- 0xc5, 0x17, 0xfd, 0x9c, 0x05, 0x90, 0x6c, 0x07, 0xee, 0x52, 0xe8, 0x7b, 0xee, 0xb6, 0xd8, 0x68,
- 0x6e, 0x95, 0xea, 0xc6, 0x50, 0xd4, 0xa7, 0x8f, 0xd3, 0xd1, 0xd0, 0xff, 0xb1, 0xc1, 0x19, 0x7d,
- 0x1c, 0x1a, 0x89, 0x98, 0x6e, 0x62, 0x6b, 0x59, 0x29, 0xd7, 0x99, 0xc2, 0x69, 0x0b, 0xa9, 0x24,
- 0xfe, 0x61, 0xc5, 0x13, 0xfd, 0x82, 0x05, 0x27, 0xa2, 0xac, 0x7b, 0x4c, 0xec, 0x22, 0xe5, 0xc9,
- 0x80, 0x9c, 0xfb, 0x6d, 0xfa, 0xf4, 0xee, 0xce, 0xf8, 0x89, 0x5c, 0x23, 0xce, 0xf7, 0x02, 0xcd,
- 0xc0, 0x29, 0x3d, 0x83, 0x17, 0x23, 0xee, 0xaa, 0x1b, 0x66, 0xce, 0x37, 0x76, 0xd2, 0x79, 0x25,
- 0x0f, 0xc4, 0xbd, 0xf8, 0x68, 0x09, 0xce, 0xd0, 0xde, 0x6d, 0x73, 0xad, 0x4d, 0x4a, 0xe5, 0x84,
- 0xed, 0x21, 0x8d, 0xe9, 0x27, 0xc4, 0x0c, 0x61, 0xce, 0xf0, 0x3c, 0x0e, 0x2e, 0x7c, 0xd2, 0xfe,
- 0x56, 0x25, 0xe3, 0x3b, 0x57, 0x0e, 0x2b, 0xb6, 0xc6, 0x5c, 0xe9, 0x2b, 0x90, 0x22, 0xa3, 0xd4,
- 0x35, 0xa6, 0x3c, 0x11, 0x7a, 0x8d, 0xa9, 0xa6, 0x04, 0x1b, 0xcc, 0xa9, 0x02, 0x73, 0xca, 0xc9,
- 0xbb, 0xc5, 0xc4, 0xb2, 0x7f, 0xbd, 0xcc, 0x2e, 0xf5, 0x9e, 0x74, 0x9c, 0x13, 0x5d, 0x3b, 0xd5,
- 0x03, 0xc2, 0xbd, 0x5d, 0xb2, 0xbf, 0x95, 0xf5, 0xd7, 0x1b, 0x33, 0x76, 0x80, 0xb3, 0x88, 0xcf,
- 0x5b, 0x30, 0x12, 0x87, 0xbe, 0xef, 0x05, 0x6d, 0xba, 0xba, 0xc4, 0x16, 0xf1, 0xa1, 0x23, 0x91,
- 0xd2, 0x62, 0x19, 0x31, 0x35, 0x08, 0x6b, 0x9e, 0xd8, 0xec, 0x80, 0xfd, 0xc7, 0x16, 0x8c, 0xf5,
- 0x93, 0x02, 0x88, 0xc0, 0x3b, 0xe5, 0x14, 0x57, 0x27, 0xf1, 0x8b, 0xc1, 0x2c, 0xf1, 0x89, 0x72,
- 0x52, 0x36, 0xa6, 0x9f, 0x16, 0xaf, 0xf9, 0xce, 0xa5, 0xfe, 0xa8, 0xf8, 0x7e, 0x74, 0xd0, 0x6b,
- 0x70, 0xd2, 0x78, 0xaf, 0x44, 0x0d, 0x4c, 0x73, 0x7a, 0x82, 0x6e, 0xbb, 0x53, 0x39, 0xd8, 0xbd,
- 0x9d, 0xf1, 0xc7, 0xf2, 0x6d, 0x42, 0x4c, 0xf5, 0xd0, 0xb1, 0x7f, 0xb5, 0x92, 0xff, 0x5a, 0x6a,
- 0x87, 0xf9, 0x8a, 0xd5, 0x63, 0xfa, 0x7d, 0xe0, 0x28, 0xa4, 0x3a, 0x33, 0x12, 0xd5, 0x61, 0x7f,
- 0x7f, 0x9c, 0x87, 0x78, 0x9a, 0x68, 0xff, 0x8b, 0x1a, 0xdc, 0xa7, 0x67, 0xea, 0xbc, 0xc8, 0xea,
- 0x77, 0x5e, 0xb4, 0xff, 0x23, 0xa8, 0xcf, 0x5a, 0xea, 0x78, 0xa2, 0xca, 0x16, 0x79, 0xeb, 0xa8,
- 0xc6, 0x9e, 0x2b, 0xbb, 0x09, 0x3f, 0xd1, 0x56, 0x2e, 0xcf, 0xec, 0x41, 0x08, 0xfa, 0x9a, 0x95,
- 0x3d, 0x60, 0xe1, 0x21, 0x4a, 0xde, 0x91, 0xf5, 0xc9, 0x38, 0xb5, 0xe1, 0x1d, 0xd3, 0xbe, 0xfe,
- 0x7e, 0xe7, 0x39, 0x13, 0x00, 0x6b, 0x5e, 0xe0, 0xf8, 0xde, 0x5b, 0xd4, 0x9a, 0xae, 0xb3, 0x6d,
- 0x85, 0xed, 0xd3, 0x97, 0x55, 0x2b, 0x36, 0x30, 0xce, 0xff, 0x39, 0x18, 0x31, 0xde, 0xbc, 0xe0,
- 0x20, 0xfe, 0x8c, 0x79, 0x10, 0xdf, 0x34, 0xce, 0xcf, 0xcf, 0xbf, 0x0f, 0x4e, 0xe6, 0x3b, 0xb8,
- 0x9f, 0xe7, 0xed, 0xff, 0x31, 0x9c, 0x3f, 0xf1, 0x58, 0x21, 0x71, 0x87, 0x76, 0xed, 0x6d, 0x2f,
- 0xc4, 0xdb, 0x5e, 0x88, 0xb7, 0xbd, 0x10, 0xa6, 0x23, 0x59, 0x58, 0xd8, 0xc3, 0x0f, 0xc8, 0xc2,
- 0xce, 0xf8, 0x0c, 0x1a, 0xa5, 0xfb, 0x0c, 0xec, 0xdd, 0x3a, 0x64, 0xf4, 0x28, 0x3e, 0xde, 0xef,
- 0x82, 0xe1, 0x98, 0x44, 0xe1, 0x4d, 0x3c, 0x2f, 0xf6, 0x10, 0x1d, 0x6c, 0xcd, 0x9b, 0xb1, 0x84,
- 0xd3, 0xbd, 0x26, 0x72, 0xd2, 0x75, 0xb1, 0x89, 0xa8, 0xbd, 0x66, 0xc9, 0x49, 0xd7, 0x31, 0x83,
- 0xa0, 0xf7, 0xc1, 0xf1, 0xd4, 0x89, 0xdb, 0x24, 0xc5, 0x64, 0x93, 0x7d, 0x56, 0x71, 0x2e, 0xf6,
- 0x98, 0xc0, 0x3d, 0xbe, 0x92, 0x81, 0xe2, 0x1c, 0x36, 0x7a, 0x13, 0x6a, 0xeb, 0xc4, 0xef, 0x88,
- 0x21, 0x5f, 0x2e, 0x4f, 0xc6, 0xb3, 0x77, 0xbd, 0x4a, 0xfc, 0x0e, 0x97, 0x40, 0xf4, 0x17, 0x66,
- 0xac, 0xe8, 0x7c, 0x6b, 0x6e, 0x74, 0x93, 0x34, 0xec, 0x78, 0x6f, 0x49, 0x77, 0xd0, 0x07, 0x4a,
- 0x66, 0x7c, 0x5d, 0xd2, 0xe7, 0x0e, 0x04, 0xf5, 0x17, 0x6b, 0xce, 0xac, 0x1f, 0x2d, 0x2f, 0x66,
- 0x9f, 0x6a, 0x5b, 0x78, 0x75, 0xca, 0xee, 0xc7, 0xac, 0xa4, 0xcf, 0xfb, 0xa1, 0xfe, 0x62, 0xcd,
- 0x19, 0x6d, 0xab, 0x79, 0x3f, 0xc2, 0xfa, 0x70, 0xb3, 0xe4, 0x3e, 0xf0, 0x39, 0x5f, 0x38, 0xff,
- 0x9f, 0x86, 0xba, 0xbb, 0xee, 0xc4, 0xe9, 0xd8, 0x28, 0x9b, 0x34, 0xca, 0x91, 0x31, 0x43, 0x1b,
- 0x31, 0x87, 0xa1, 0x27, 0xa1, 0x1a, 0x93, 0x35, 0x16, 0xe3, 0x67, 0x44, 0x7f, 0x60, 0xb2, 0x86,
- 0x69, 0xbb, 0xfd, 0xcb, 0x95, 0xac, 0xba, 0x94, 0x7d, 0x6f, 0x3e, 0xdb, 0xdd, 0x6e, 0x9c, 0x48,
- 0x67, 0x87, 0x31, 0xdb, 0x59, 0x33, 0x96, 0x70, 0xf4, 0x49, 0x0b, 0x86, 0xef, 0x24, 0x61, 0x10,
- 0x90, 0x54, 0x6c, 0x4d, 0xb7, 0x4a, 0x1e, 0x8a, 0x6b, 0x9c, 0xba, 0xee, 0x83, 0x68, 0xc0, 0x92,
- 0x2f, 0xed, 0x2e, 0xd9, 0x72, 0xfd, 0x6e, 0xab, 0xe7, 0x40, 0xff, 0x12, 0x6f, 0xc6, 0x12, 0x4e,
- 0x51, 0xbd, 0x80, 0xa3, 0xd6, 0xb2, 0xa8, 0x73, 0x81, 0x40, 0x15, 0x70, 0xfb, 0x2f, 0x0f, 0xc1,
- 0xd9, 0xc2, 0xc5, 0x41, 0x15, 0x19, 0xa6, 0x2a, 0x5c, 0xf6, 0x7c, 0x22, 0x43, 0x59, 0x98, 0x22,
- 0x73, 0x4b, 0xb5, 0x62, 0x03, 0x03, 0xfd, 0x14, 0x40, 0xe4, 0xc4, 0x4e, 0x87, 0x88, 0x0d, 0xbc,
- 0x7a, 0x78, 0x7d, 0x81, 0xf6, 0x63, 0x49, 0xd2, 0xd4, 0xb6, 0xa9, 0x6a, 0x4a, 0xb0, 0xc1, 0x12,
- 0xbd, 0x04, 0x23, 0x31, 0xf1, 0x89, 0x93, 0xb0, 0x10, 0xd1, 0x7c, 0xbc, 0x3b, 0xd6, 0x20, 0x6c,
- 0xe2, 0xa1, 0x67, 0x54, 0xd4, 0x4f, 0x2e, 0xfa, 0x21, 0x1b, 0xf9, 0x83, 0xbe, 0x60, 0xc1, 0xf1,
- 0x35, 0xcf, 0x27, 0x9a, 0xbb, 0x88, 0x4e, 0x5f, 0x3c, 0xfc, 0x4b, 0x5e, 0x36, 0xe9, 0x6a, 0x09,
- 0x99, 0x69, 0x4e, 0x70, 0x8e, 0x3d, 0xfd, 0xcc, 0x9b, 0x24, 0x66, 0xa2, 0x75, 0x28, 0xfb, 0x99,
- 0x6f, 0xf1, 0x66, 0x2c, 0xe1, 0x68, 0x0a, 0x4e, 0x44, 0x4e, 0x92, 0xcc, 0xc4, 0xa4, 0x45, 0x82,
- 0xd4, 0x73, 0x7c, 0x1e, 0x3b, 0xde, 0xd0, 0xb1, 0xa3, 0x4b, 0x59, 0x30, 0xce, 0xe3, 0xa3, 0x0f,
- 0xc2, 0xe3, 0x5e, 0x3b, 0x08, 0x63, 0xb2, 0xe0, 0x25, 0x89, 0x17, 0xb4, 0xf5, 0x34, 0x10, 0x4e,
- 0x8f, 0x71, 0x41, 0xea, 0xf1, 0xb9, 0x62, 0x34, 0xdc, 0xef, 0x79, 0xf4, 0x1c, 0x34, 0x92, 0x0d,
- 0x2f, 0x9a, 0x89, 0x5b, 0x09, 0x73, 0x90, 0x37, 0xb4, 0x8b, 0x6d, 0x59, 0xb4, 0x63, 0x85, 0x81,
- 0x5c, 0x18, 0xe5, 0x9f, 0x84, 0x87, 0x2d, 0x09, 0xf9, 0xf8, 0x7c, 0xdf, 0xed, 0x51, 0xa4, 0x37,
- 0x4d, 0x60, 0xe7, 0xee, 0x25, 0xe9, 0xae, 0x9f, 0x3e, 0xb9, 0xbb, 0x33, 0x3e, 0x7a, 0xcb, 0x20,
- 0x83, 0x33, 0x44, 0xed, 0x5f, 0xac, 0x64, 0x2d, 0x6e, 0x73, 0x91, 0xa2, 0x84, 0x2e, 0xc5, 0xf4,
- 0x96, 0x13, 0x4b, 0x6f, 0xcc, 0x21, 0x43, 0xdc, 0x05, 0xdd, 0x5b, 0x4e, 0x6c, 0x2e, 0x6a, 0xc6,
- 0x00, 0x4b, 0x4e, 0xe8, 0x0e, 0xd4, 0x52, 0xdf, 0x29, 0x29, 0x27, 0xc6, 0xe0, 0xa8, 0x1d, 0x20,
- 0xf3, 0x53, 0x09, 0x66, 0x3c, 0xd0, 0x13, 0x54, 0xeb, 0x5f, 0x95, 0x71, 0x70, 0x42, 0x51, 0x5f,
- 0x4d, 0x30, 0x6b, 0xb5, 0xff, 0x4f, 0xa3, 0x40, 0xae, 0xaa, 0x8d, 0x0c, 0x5d, 0x04, 0xa0, 0x06,
- 0xe4, 0x52, 0x4c, 0xd6, 0xbc, 0x2d, 0xa1, 0x48, 0xa8, 0xb5, 0x7b, 0x43, 0x41, 0xb0, 0x81, 0x25,
- 0x9f, 0x59, 0xee, 0xae, 0xd1, 0x67, 0x2a, 0xbd, 0xcf, 0x70, 0x08, 0x36, 0xb0, 0xd0, 0x8b, 0x30,
- 0xe4, 0x75, 0x9c, 0xb6, 0x0a, 0xd7, 0x7b, 0x82, 0x2e, 0xda, 0x39, 0xd6, 0x72, 0x6f, 0x67, 0xfc,
- 0xb8, 0xea, 0x10, 0x6b, 0xc2, 0x02, 0x17, 0xfd, 0xaa, 0x05, 0xa3, 0x6e, 0xd8, 0xe9, 0x84, 0x01,
- 0x37, 0xbb, 0x84, 0x0d, 0x79, 0xe7, 0xa8, 0xb6, 0xf9, 0x89, 0x19, 0x83, 0x19, 0x37, 0x22, 0x55,
- 0xf2, 0x8e, 0x09, 0xc2, 0x99, 0x5e, 0x99, 0x6b, 0xbb, 0xbe, 0xc7, 0xda, 0xfe, 0x0d, 0x0b, 0x4e,
- 0xf1, 0x67, 0x0d, 0x6b, 0x50, 0xe4, 0xa9, 0x84, 0x47, 0xfc, 0x5a, 0x3d, 0x06, 0xb2, 0xf2, 0xd2,
- 0xf5, 0xc0, 0x71, 0x6f, 0x27, 0xd1, 0x15, 0x38, 0xb5, 0x16, 0xc6, 0x2e, 0x31, 0x07, 0x42, 0x08,
- 0x26, 0x45, 0xe8, 0x72, 0x1e, 0x01, 0xf7, 0x3e, 0x83, 0x6e, 0xc1, 0x63, 0x46, 0xa3, 0x39, 0x0e,
- 0x5c, 0x36, 0x3d, 0x25, 0xa8, 0x3d, 0x76, 0xb9, 0x10, 0x0b, 0xf7, 0x79, 0x3a, 0xeb, 0x30, 0x69,
- 0x0e, 0xe0, 0x30, 0x79, 0x03, 0xce, 0xb9, 0xbd, 0x23, 0xb3, 0x99, 0x74, 0x57, 0x13, 0x2e, 0xa9,
- 0x1a, 0xd3, 0x3f, 0x20, 0x08, 0x9c, 0x9b, 0xe9, 0x87, 0x88, 0xfb, 0xd3, 0x40, 0x1f, 0x85, 0x46,
- 0x4c, 0xd8, 0x57, 0x49, 0x44, 0xd2, 0xc6, 0x21, 0xad, 0x64, 0xad, 0x81, 0x72, 0xb2, 0x5a, 0xf6,
- 0x8a, 0x86, 0x04, 0x2b, 0x8e, 0xe7, 0xdf, 0x0f, 0xa7, 0x7a, 0xe6, 0xf3, 0xbe, 0x7c, 0x16, 0xb3,
- 0xf0, 0x58, 0xf1, 0xcc, 0xd9, 0x97, 0xe7, 0xe2, 0x1f, 0xe4, 0xe2, 0x0c, 0x0d, 0x6d, 0x72, 0x00,
- 0x2f, 0x98, 0x03, 0x55, 0x12, 0x6c, 0x0a, 0x41, 0x7a, 0xf9, 0x70, 0xa3, 0x77, 0x29, 0xd8, 0xe4,
- 0x13, 0x9f, 0x99, 0xfa, 0x97, 0x82, 0x4d, 0x4c, 0x69, 0xa3, 0x2f, 0x59, 0x19, 0x6d, 0x88, 0xfb,
- 0xce, 0x3e, 0x7c, 0x24, 0xea, 0xf3, 0xc0, 0x0a, 0x92, 0xfd, 0x2f, 0x2b, 0x70, 0x61, 0x2f, 0x22,
- 0x03, 0x0c, 0xdf, 0xd3, 0x30, 0x94, 0xb0, 0x23, 0x50, 0x21, 0x99, 0x46, 0xa8, 0x54, 0xe2, 0x87,
- 0xa2, 0x6f, 0x60, 0x01, 0x42, 0x3e, 0x54, 0x3b, 0x4e, 0x24, 0x5c, 0x2a, 0x73, 0x87, 0xcd, 0x3c,
- 0xa0, 0xff, 0x1d, 0x7f, 0xc1, 0x89, 0xb8, 0xa1, 0x6e, 0x34, 0x60, 0xca, 0x06, 0xa5, 0x50, 0x77,
- 0xe2, 0xd8, 0x91, 0xe7, 0x6d, 0xd7, 0xcb, 0xe1, 0x37, 0x45, 0x49, 0x4e, 0x9f, 0xda, 0xdd, 0x19,
- 0x3f, 0x96, 0x69, 0xc2, 0x9c, 0x99, 0xfd, 0xd9, 0xe1, 0x4c, 0xf4, 0x3d, 0x3b, 0x44, 0x4d, 0x60,
- 0x48, 0x78, 0x52, 0xac, 0xb2, 0x13, 0x3e, 0x78, 0xfa, 0x14, 0x33, 0x96, 0x44, 0x12, 0xaa, 0x60,
- 0x85, 0x3e, 0x63, 0xb1, 0x54, 0x4f, 0x99, 0x91, 0x20, 0x4c, 0x94, 0xa3, 0xc9, 0x3c, 0x35, 0x13,
- 0x48, 0x65, 0x23, 0x36, 0xb9, 0xd3, 0xad, 0x2b, 0xe2, 0x49, 0x4b, 0x79, 0x43, 0x45, 0x26, 0x83,
- 0x4a, 0x38, 0xda, 0x2a, 0x38, 0x2c, 0x2d, 0x21, 0x5d, 0x70, 0x80, 0xe3, 0xd1, 0xaf, 0x59, 0x70,
- 0x8a, 0xab, 0xa3, 0xb3, 0xde, 0xda, 0x1a, 0x89, 0x49, 0xe0, 0x12, 0xa9, 0xd0, 0x1f, 0xf2, 0x38,
- 0x5e, 0xba, 0xaf, 0xe6, 0xf2, 0xe4, 0xf5, 0x9e, 0xd6, 0x03, 0xc2, 0xbd, 0x9d, 0x41, 0x2d, 0xa8,
- 0x79, 0xc1, 0x5a, 0x28, 0x76, 0xf2, 0xe9, 0xc3, 0x75, 0x6a, 0x2e, 0x58, 0x0b, 0xf5, 0x6a, 0xa6,
- 0xff, 0x30, 0xa3, 0x8e, 0xe6, 0xe1, 0x4c, 0x2c, 0x5c, 0x2e, 0x57, 0xbd, 0x84, 0x1a, 0xc6, 0xf3,
- 0x5e, 0xc7, 0x4b, 0xd9, 0x2e, 0x5c, 0x9d, 0x1e, 0xdb, 0xdd, 0x19, 0x3f, 0x83, 0x0b, 0xe0, 0xb8,
- 0xf0, 0x29, 0xf4, 0x16, 0x0c, 0xcb, 0xdc, 0xd4, 0x46, 0x19, 0xc6, 0x51, 0xef, 0xfc, 0x57, 0x93,
- 0x69, 0x59, 0xa4, 0xa1, 0x4a, 0x86, 0xf6, 0x17, 0x46, 0xa0, 0xf7, 0x6c, 0x10, 0x7d, 0x0c, 0x9a,
- 0xb1, 0xca, 0x97, 0xb5, 0xca, 0x88, 0xef, 0x93, 0xdf, 0x57, 0x9c, 0x4b, 0x2a, 0x7d, 0x40, 0x67,
- 0xc6, 0x6a, 0x8e, 0x54, 0x6b, 0x4f, 0xf4, 0x11, 0x62, 0x09, 0x73, 0x5b, 0x70, 0xd5, 0xc7, 0x43,
- 0xdb, 0x81, 0x8b, 0x19, 0x0f, 0x14, 0xc3, 0xd0, 0x3a, 0x71, 0xfc, 0x74, 0xbd, 0x1c, 0x4f, 0xf6,
- 0x55, 0x46, 0x2b, 0x9f, 0x35, 0xc1, 0x5b, 0xb1, 0xe0, 0x84, 0xb6, 0x60, 0x78, 0x9d, 0x4f, 0x00,
- 0xa1, 0x48, 0x2f, 0x1c, 0x76, 0x70, 0x33, 0xb3, 0x4a, 0x7f, 0x6e, 0xd1, 0x80, 0x25, 0x3b, 0x16,
- 0x69, 0x61, 0x1c, 0x8b, 0xf3, 0xa5, 0x5b, 0x5e, 0xc2, 0xc8, 0xe0, 0x67, 0xe2, 0x1f, 0x81, 0xd1,
- 0x98, 0xb8, 0x61, 0xe0, 0x7a, 0x3e, 0x69, 0x4d, 0x49, 0x2f, 0xf5, 0x7e, 0xd2, 0x0c, 0x98, 0x31,
- 0x8a, 0x0d, 0x1a, 0x38, 0x43, 0x11, 0x7d, 0xda, 0x82, 0xe3, 0x2a, 0xc9, 0x8e, 0x7e, 0x10, 0x22,
- 0xbc, 0xa2, 0xf3, 0x25, 0xa5, 0xf4, 0x31, 0x9a, 0xd3, 0x68, 0x77, 0x67, 0xfc, 0x78, 0xb6, 0x0d,
- 0xe7, 0xf8, 0xa2, 0xd7, 0x00, 0xc2, 0x55, 0x1e, 0x4e, 0x31, 0x95, 0x0a, 0x17, 0xe9, 0x7e, 0x5e,
- 0xf5, 0x38, 0xcf, 0x37, 0x92, 0x14, 0xb0, 0x41, 0x0d, 0x5d, 0x07, 0xe0, 0xcb, 0x66, 0x65, 0x3b,
- 0x92, 0xda, 0xb6, 0xcc, 0x13, 0x81, 0x65, 0x05, 0xb9, 0xb7, 0x33, 0xde, 0xeb, 0xb2, 0x62, 0xa7,
- 0xf7, 0xc6, 0xe3, 0xe8, 0x27, 0x61, 0x38, 0xe9, 0x76, 0x3a, 0x8e, 0x72, 0xa0, 0x96, 0x98, 0xc1,
- 0xc4, 0xe9, 0x1a, 0xa2, 0x88, 0x37, 0x60, 0xc9, 0x11, 0xdd, 0xa1, 0x42, 0x35, 0x11, 0xbe, 0x34,
- 0xb6, 0x8a, 0xb8, 0x4e, 0x30, 0xc2, 0xde, 0xe9, 0xbd, 0x32, 0x3a, 0x04, 0x17, 0xe0, 0xdc, 0xdb,
- 0x19, 0x7f, 0x2c, 0xdb, 0x3e, 0x1f, 0x8a, 0x9c, 0xa2, 0x42, 0x9a, 0xe8, 0x9a, 0x2c, 0x55, 0x41,
- 0x5f, 0x5b, 0x66, 0x50, 0x3f, 0xab, 0x4b, 0x55, 0xb0, 0xe6, 0xfe, 0x63, 0x66, 0x3e, 0x8c, 0x16,
- 0xe0, 0xb4, 0x1b, 0x06, 0x69, 0x1c, 0xfa, 0x3e, 0xaf, 0xbf, 0xc2, 0x0d, 0x1f, 0xee, 0x60, 0x7d,
- 0xa7, 0xe8, 0xf6, 0xe9, 0x99, 0x5e, 0x14, 0x5c, 0xf4, 0x9c, 0x1d, 0x64, 0xe3, 0xcc, 0xc4, 0xe0,
- 0xbc, 0x08, 0xa3, 0x64, 0x2b, 0x25, 0x71, 0xe0, 0xf8, 0x37, 0xf1, 0xbc, 0x74, 0x2d, 0xb2, 0x35,
- 0x70, 0xc9, 0x68, 0xc7, 0x19, 0x2c, 0x64, 0x2b, 0x6b, 0xdf, 0xc8, 0x93, 0xe3, 0xd6, 0xbe, 0xb4,
- 0xed, 0xed, 0xff, 0x59, 0xc9, 0x28, 0x64, 0x2b, 0x31, 0x21, 0x28, 0x84, 0x7a, 0x10, 0xb6, 0x94,
- 0xec, 0xbf, 0x56, 0x8e, 0xec, 0xbf, 0x11, 0xb6, 0x8c, 0x7a, 0x16, 0xf4, 0x5f, 0x82, 0x39, 0x1f,
- 0x96, 0xf0, 0x2f, 0x2b, 0x23, 0x30, 0x80, 0x30, 0x34, 0xca, 0xe4, 0xac, 0x12, 0xfe, 0x17, 0x4d,
- 0x46, 0x38, 0xcb, 0x17, 0x6d, 0x40, 0x7d, 0x3d, 0x4c, 0x52, 0x69, 0x7e, 0x1c, 0xd2, 0xd2, 0xb9,
- 0x1a, 0x26, 0x29, 0xd3, 0x22, 0xd4, 0x6b, 0xd3, 0x96, 0x04, 0x73, 0x1e, 0xf6, 0x7f, 0xb2, 0x32,
- 0x8e, 0xe4, 0xdb, 0x2c, 0xe6, 0x72, 0x93, 0x04, 0x74, 0x59, 0x9b, 0xf1, 0x36, 0xff, 0x7f, 0x2e,
- 0xf1, 0xeb, 0x87, 0xfa, 0x55, 0x17, 0xba, 0x4b, 0x29, 0x4c, 0x30, 0x12, 0x46, 0x68, 0xce, 0x27,
- 0xac, 0x6c, 0x0a, 0x5e, 0xa5, 0x0c, 0x03, 0xc3, 0x4c, 0x43, 0xdd, 0x33, 0x9b, 0xcf, 0xfe, 0x92,
- 0x05, 0xc3, 0xd3, 0x8e, 0xbb, 0x11, 0xae, 0xad, 0xa1, 0xe7, 0xa0, 0xd1, 0xea, 0xc6, 0x66, 0x36,
- 0xa0, 0xb2, 0x9e, 0x67, 0x45, 0x3b, 0x56, 0x18, 0x74, 0x0e, 0xaf, 0x39, 0xae, 0x4c, 0x46, 0xad,
- 0xf2, 0x39, 0x7c, 0x99, 0xb5, 0x60, 0x01, 0x41, 0x2f, 0xc1, 0x48, 0xc7, 0xd9, 0x92, 0x0f, 0xe7,
- 0xbd, 0xd8, 0x0b, 0x1a, 0x84, 0x4d, 0x3c, 0xfb, 0x9f, 0x59, 0x30, 0x36, 0xed, 0x24, 0x9e, 0x3b,
- 0xd5, 0x4d, 0xd7, 0xa7, 0xbd, 0x74, 0xb5, 0xeb, 0x6e, 0x90, 0x94, 0x67, 0x20, 0xd3, 0x5e, 0x76,
- 0x13, 0xba, 0x94, 0x94, 0x5d, 0xa7, 0x7a, 0x79, 0x53, 0xb4, 0x63, 0x85, 0x81, 0xde, 0x82, 0x91,
- 0xc8, 0x49, 0x92, 0xbb, 0x61, 0xdc, 0xc2, 0x64, 0xad, 0x9c, 0xfc, 0xff, 0x65, 0xe2, 0xc6, 0x24,
- 0xc5, 0x64, 0x4d, 0x9c, 0xb4, 0x6a, 0xfa, 0xd8, 0x64, 0x66, 0x7f, 0xde, 0x82, 0x73, 0xd3, 0xc4,
- 0x89, 0x49, 0xcc, 0xca, 0x05, 0xa8, 0x17, 0x99, 0xf1, 0xc3, 0x6e, 0x0b, 0xbd, 0x09, 0x8d, 0x94,
- 0x36, 0xd3, 0x6e, 0x59, 0xe5, 0x76, 0x8b, 0x1d, 0x94, 0xae, 0x08, 0xe2, 0x58, 0xb1, 0xb1, 0xff,
- 0x8a, 0x05, 0xa3, 0xec, 0xcc, 0x69, 0x96, 0xa4, 0x8e, 0xe7, 0xf7, 0x54, 0xd5, 0xb1, 0x06, 0xac,
- 0xaa, 0x73, 0x01, 0x6a, 0xeb, 0x61, 0x87, 0xe4, 0xcf, 0x4b, 0xaf, 0x86, 0xd4, 0xac, 0xa6, 0x10,
- 0xf4, 0x02, 0xfd, 0xf0, 0x5e, 0x90, 0x3a, 0x74, 0x09, 0x48, 0x9f, 0xe6, 0x09, 0xfe, 0xd1, 0x55,
- 0x33, 0x36, 0x71, 0xec, 0xdf, 0x6e, 0xc2, 0xb0, 0x38, 0x54, 0x1f, 0x38, 0x0b, 0x5d, 0xda, 0xf7,
- 0x95, 0xbe, 0xf6, 0x7d, 0x02, 0x43, 0x2e, 0xab, 0xd9, 0x25, 0xd4, 0xc8, 0xeb, 0xa5, 0x44, 0x61,
- 0xf0, 0x32, 0x60, 0xba, 0x5b, 0xfc, 0x3f, 0x16, 0xac, 0xd0, 0x17, 0x2d, 0x38, 0xe1, 0x86, 0x41,
- 0x40, 0x5c, 0xad, 0xe3, 0xd4, 0xca, 0x38, 0x6c, 0x9f, 0xc9, 0x12, 0xd5, 0x07, 0x1e, 0x39, 0x00,
- 0xce, 0xb3, 0x47, 0xaf, 0xc0, 0x31, 0x3e, 0x66, 0xb7, 0x32, 0x8e, 0x58, 0x5d, 0x6c, 0xc5, 0x04,
- 0xe2, 0x2c, 0x2e, 0x9a, 0xe0, 0x0e, 0x6d, 0x51, 0xd6, 0x64, 0x48, 0x9f, 0x9e, 0x19, 0x05, 0x4d,
- 0x0c, 0x0c, 0x14, 0x03, 0x8a, 0xc9, 0x5a, 0x4c, 0x92, 0x75, 0x11, 0x74, 0xc0, 0xf4, 0xab, 0xe1,
- 0x83, 0x65, 0xac, 0xe2, 0x1e, 0x4a, 0xb8, 0x80, 0x3a, 0xda, 0x10, 0x06, 0x66, 0xa3, 0x0c, 0x19,
- 0x2a, 0x3e, 0x73, 0x5f, 0x3b, 0x73, 0x1c, 0xea, 0xc9, 0xba, 0x13, 0xb7, 0x98, 0x5e, 0x57, 0xe5,
- 0x59, 0x12, 0xcb, 0xb4, 0x01, 0xf3, 0x76, 0x34, 0x0b, 0x27, 0x73, 0xa5, 0x62, 0x12, 0xe1, 0x30,
- 0x55, 0xa1, 0xfd, 0xb9, 0x22, 0x33, 0x09, 0xee, 0x79, 0xc2, 0x74, 0x3e, 0x8c, 0xec, 0xe1, 0x7c,
- 0xd8, 0x56, 0xa1, 0x6d, 0xa3, 0x6c, 0x7f, 0x7c, 0xb5, 0x94, 0x01, 0x18, 0x28, 0x8e, 0xed, 0x73,
- 0xb9, 0x38, 0xb6, 0x63, 0xac, 0x03, 0xb7, 0xca, 0xe9, 0xc0, 0xfe, 0x83, 0xd6, 0x1e, 0x66, 0x10,
- 0xda, 0x9f, 0x59, 0x20, 0xbf, 0xeb, 0x8c, 0xe3, 0xae, 0x13, 0x3a, 0x65, 0xd0, 0xfb, 0xe0, 0xb8,
- 0x32, 0xa1, 0x67, 0xc2, 0x6e, 0xc0, 0xe3, 0xcf, 0xaa, 0xfa, 0x64, 0x14, 0x67, 0xa0, 0x38, 0x87,
- 0x8d, 0x26, 0xa1, 0x49, 0xc7, 0x89, 0x3f, 0xca, 0xf7, 0x5a, 0x65, 0xa6, 0x4f, 0x2d, 0xcd, 0x89,
- 0xa7, 0x34, 0x0e, 0x0a, 0xe1, 0x94, 0xef, 0x24, 0x29, 0xeb, 0x01, 0xb5, 0xa8, 0x0f, 0x98, 0x2f,
- 0xce, 0xe2, 0xc7, 0xe7, 0xf3, 0x84, 0x70, 0x2f, 0x6d, 0xfb, 0xdb, 0x35, 0x38, 0x96, 0x91, 0x8c,
- 0xfb, 0xdc, 0xa4, 0x9f, 0x83, 0x86, 0xdc, 0x37, 0xf3, 0x95, 0x2d, 0xd4, 0xe6, 0xaa, 0x30, 0xe8,
- 0xa6, 0xb5, 0xaa, 0x77, 0xd5, 0xbc, 0x52, 0x61, 0x6c, 0xb8, 0xd8, 0xc4, 0x63, 0x42, 0x39, 0xf5,
- 0x93, 0x19, 0xdf, 0x23, 0x41, 0xca, 0xbb, 0x59, 0x8e, 0x50, 0x5e, 0x99, 0x5f, 0x36, 0x89, 0x6a,
- 0xa1, 0x9c, 0x03, 0xe0, 0x3c, 0x7b, 0xf4, 0x33, 0x16, 0x1c, 0x73, 0xee, 0x26, 0xba, 0xb0, 0xa4,
- 0x88, 0x58, 0x3b, 0xe4, 0x26, 0x95, 0xa9, 0x55, 0xc9, 0x5d, 0xbe, 0x99, 0x26, 0x9c, 0x65, 0x8a,
- 0xbe, 0x62, 0x01, 0x22, 0x5b, 0xc4, 0x95, 0x31, 0x75, 0xa2, 0x2f, 0x43, 0x65, 0x58, 0x9a, 0x97,
- 0x7a, 0xe8, 0x72, 0xa9, 0xde, 0xdb, 0x8e, 0x0b, 0xfa, 0x60, 0xff, 0xe3, 0xaa, 0x5a, 0x50, 0x3a,
- 0x8c, 0xd3, 0x31, 0xc2, 0xc9, 0xac, 0x83, 0x87, 0x93, 0xe9, 0x63, 0xf9, 0xde, 0x34, 0xb4, 0x4c,
- 0xfa, 0x4d, 0xe5, 0x21, 0xa5, 0xdf, 0xfc, 0xb4, 0x95, 0xa9, 0xe1, 0x32, 0x72, 0xf1, 0xb5, 0x72,
- 0x43, 0x48, 0x27, 0x78, 0xc8, 0x40, 0x4e, 0xba, 0x67, 0x23, 0x45, 0xa8, 0x34, 0x35, 0xd0, 0xf6,
- 0x25, 0x0d, 0xff, 0x6d, 0x15, 0x46, 0x8c, 0x9d, 0xb4, 0x50, 0x2d, 0xb2, 0x1e, 0x31, 0xb5, 0xa8,
- 0xb2, 0x0f, 0xb5, 0xe8, 0xa7, 0xa0, 0xe9, 0x4a, 0x29, 0x5f, 0x4e, 0x15, 0xd3, 0xfc, 0xde, 0xa1,
- 0x05, 0xbd, 0x6a, 0xc2, 0x9a, 0x27, 0xba, 0x92, 0xc9, 0x5f, 0x11, 0x3b, 0x44, 0x8d, 0xed, 0x10,
- 0x45, 0x09, 0x26, 0x62, 0xa7, 0xe8, 0x7d, 0x86, 0x95, 0xfa, 0x89, 0x3c, 0xf1, 0x5e, 0x32, 0xd0,
- 0x9b, 0x97, 0xfa, 0x59, 0x9a, 0x93, 0xcd, 0xd8, 0xc4, 0xb1, 0xbf, 0x6d, 0xa9, 0x8f, 0xfb, 0x00,
- 0x92, 0xda, 0xef, 0x64, 0x93, 0xda, 0x2f, 0x95, 0x32, 0xcc, 0x7d, 0xb2, 0xd9, 0x6f, 0xc0, 0xf0,
- 0x4c, 0xd8, 0xe9, 0x38, 0x41, 0x0b, 0xfd, 0x20, 0x0c, 0xbb, 0xfc, 0xa7, 0x70, 0xec, 0xb0, 0xe3,
- 0x41, 0x01, 0xc5, 0x12, 0x86, 0x9e, 0x80, 0x9a, 0x13, 0xb7, 0xa5, 0x33, 0x87, 0x45, 0x98, 0x4c,
- 0xc5, 0xed, 0x04, 0xb3, 0x56, 0xfb, 0xef, 0xd7, 0x00, 0x66, 0xc2, 0x4e, 0xe4, 0xc4, 0xa4, 0xb5,
- 0x12, 0xb2, 0x2a, 0x6a, 0x47, 0x7a, 0xa8, 0xa6, 0x8d, 0xa5, 0x47, 0xf9, 0x60, 0xcd, 0x38, 0x5c,
- 0xa9, 0x3e, 0xe0, 0xc3, 0x95, 0x3e, 0xe7, 0x65, 0xb5, 0x47, 0xe8, 0xbc, 0xcc, 0xfe, 0xac, 0x05,
- 0x88, 0x4e, 0x9a, 0x30, 0x20, 0x41, 0xaa, 0x0f, 0xb4, 0x27, 0xa1, 0xe9, 0xca, 0x56, 0xa1, 0x58,
- 0x69, 0x11, 0x21, 0x01, 0x58, 0xe3, 0x0c, 0x60, 0x21, 0x3f, 0x2d, 0xe5, 0x77, 0x35, 0x1b, 0x9c,
- 0xca, 0xa4, 0xbe, 0x10, 0xe7, 0xf6, 0xef, 0x54, 0xe0, 0x31, 0xbe, 0x25, 0x2f, 0x38, 0x81, 0xd3,
- 0x26, 0x1d, 0xda, 0xab, 0x41, 0x43, 0x14, 0x5c, 0x6a, 0x9a, 0x79, 0x32, 0xd8, 0xf4, 0xb0, 0x6b,
- 0x97, 0xaf, 0x39, 0xbe, 0xca, 0xe6, 0x02, 0x2f, 0xc5, 0x8c, 0x38, 0x4a, 0xa0, 0x21, 0xcb, 0x76,
- 0x0b, 0x59, 0x5c, 0x12, 0x23, 0x25, 0x96, 0xc4, 0xbe, 0x49, 0xb0, 0x62, 0x44, 0x15, 0x57, 0x3f,
- 0x74, 0x37, 0x30, 0x89, 0x42, 0x26, 0x77, 0x8d, 0x58, 0xbf, 0x79, 0xd1, 0x8e, 0x15, 0x86, 0xfd,
- 0x3b, 0x16, 0xe4, 0x77, 0x24, 0xa3, 0x5c, 0x95, 0x75, 0xdf, 0x72, 0x55, 0xfb, 0xa8, 0x17, 0xf5,
- 0x13, 0x30, 0xe2, 0xa4, 0x54, 0x89, 0xe0, 0x66, 0x77, 0xf5, 0x60, 0xc7, 0x1a, 0x0b, 0x61, 0xcb,
- 0x5b, 0xf3, 0x98, 0xb9, 0x6d, 0x92, 0xb3, 0xff, 0x5b, 0x0d, 0x4e, 0xf5, 0xa4, 0x44, 0xa0, 0x97,
- 0x61, 0xd4, 0x15, 0xd3, 0x23, 0x92, 0x0e, 0xad, 0xa6, 0x19, 0x1b, 0xa6, 0x61, 0x38, 0x83, 0x39,
- 0xc0, 0x04, 0x9d, 0x83, 0xd3, 0x31, 0x35, 0xf4, 0xbb, 0x64, 0x6a, 0x2d, 0x25, 0xf1, 0x32, 0x71,
- 0xc3, 0xa0, 0xc5, 0x8b, 0xaa, 0x55, 0xa7, 0x1f, 0xdf, 0xdd, 0x19, 0x3f, 0x8d, 0x7b, 0xc1, 0xb8,
- 0xe8, 0x19, 0x14, 0xc1, 0x31, 0xdf, 0xd4, 0x01, 0x85, 0x01, 0x70, 0x20, 0xf5, 0x51, 0xe9, 0x08,
- 0x99, 0x66, 0x9c, 0x65, 0x90, 0x55, 0x24, 0xeb, 0x0f, 0x49, 0x91, 0xfc, 0x94, 0x56, 0x24, 0xf9,
- 0xf9, 0xfb, 0x87, 0x4a, 0x4e, 0x89, 0x39, 0x6a, 0x4d, 0xf2, 0x55, 0x68, 0xc8, 0xd8, 0xa4, 0x81,
- 0x62, 0x7a, 0x4c, 0x3a, 0x7d, 0x24, 0xda, 0xbd, 0x0a, 0x14, 0x18, 0x21, 0x74, 0x9d, 0xe9, 0x1d,
- 0x3f, 0xb3, 0xce, 0xf6, 0xb7, 0xeb, 0xa3, 0x2d, 0x1e, 0x97, 0xc5, 0xf7, 0xb6, 0x0f, 0x96, 0x6d,
- 0x44, 0xe9, 0x50, 0x2d, 0x95, 0x29, 0xa0, 0xc2, 0xb5, 0x2e, 0x02, 0x68, 0x45, 0x4d, 0xc4, 0x81,
- 0xab, 0x63, 0x5f, 0xad, 0xcf, 0x61, 0x03, 0x8b, 0xda, 0xd4, 0x5e, 0x90, 0xa4, 0x8e, 0xef, 0x5f,
- 0xf5, 0x82, 0x54, 0x38, 0x07, 0xd5, 0x26, 0x3e, 0xa7, 0x41, 0xd8, 0xc4, 0x3b, 0xff, 0x5e, 0xe3,
- 0xbb, 0xec, 0xe7, 0x7b, 0xae, 0xc3, 0xb9, 0x2b, 0x5e, 0xaa, 0xb2, 0x17, 0xd4, 0x3c, 0xa2, 0x7a,
- 0x98, 0xca, 0xc6, 0xb1, 0xfa, 0x66, 0xe3, 0x18, 0xd9, 0x03, 0x95, 0x6c, 0xb2, 0x43, 0x3e, 0x7b,
- 0xc0, 0x7e, 0x19, 0xce, 0x5c, 0xf1, 0xd2, 0xcb, 0x9e, 0x4f, 0xf6, 0xc9, 0xc4, 0xfe, 0xad, 0x21,
- 0x18, 0x35, 0xf3, 0xdf, 0xf6, 0x93, 0x50, 0xf4, 0x79, 0xaa, 0x6a, 0x89, 0xb7, 0xf3, 0xd4, 0xa1,
- 0xd9, 0xed, 0x43, 0x27, 0xe3, 0x15, 0x8f, 0x98, 0xa1, 0x6d, 0x69, 0x9e, 0xd8, 0xec, 0x00, 0xba,
- 0x0b, 0xf5, 0x35, 0x16, 0xdd, 0x5e, 0x2d, 0x23, 0xb2, 0xa0, 0x68, 0x44, 0xf5, 0x32, 0xe3, 0xf1,
- 0xf1, 0x9c, 0x1f, 0xdd, 0x21, 0xe3, 0x6c, 0xca, 0x94, 0x11, 0x91, 0x29, 0x92, 0xa5, 0x14, 0x46,
- 0x3f, 0x51, 0x5f, 0x3f, 0x80, 0xa8, 0xcf, 0x08, 0xde, 0xa1, 0x87, 0x24, 0x78, 0x59, 0xa6, 0x42,
- 0xba, 0xce, 0xf4, 0x37, 0x11, 0x42, 0x3e, 0xcc, 0x06, 0xc1, 0xc8, 0x54, 0xc8, 0x80, 0x71, 0x1e,
- 0x1f, 0x7d, 0x5c, 0x89, 0xee, 0x46, 0x19, 0x7e, 0x55, 0x73, 0x46, 0x1f, 0xb5, 0xd4, 0xfe, 0x6c,
- 0x05, 0x8e, 0x5f, 0x09, 0xba, 0x4b, 0x57, 0x96, 0xba, 0xab, 0xbe, 0xe7, 0x5e, 0x27, 0xdb, 0x54,
- 0x34, 0x6f, 0x90, 0xed, 0xb9, 0x59, 0xb1, 0x82, 0xd4, 0x9c, 0xb9, 0x4e, 0x1b, 0x31, 0x87, 0x51,
- 0x61, 0xb4, 0xe6, 0x05, 0x6d, 0x12, 0x47, 0xb1, 0x27, 0x5c, 0x9e, 0x86, 0x30, 0xba, 0xac, 0x41,
- 0xd8, 0xc4, 0xa3, 0xb4, 0xc3, 0xbb, 0x01, 0x89, 0xf3, 0x8a, 0xec, 0x22, 0x6d, 0xc4, 0x1c, 0x46,
- 0x91, 0xd2, 0xb8, 0x9b, 0xa4, 0x62, 0x32, 0x2a, 0xa4, 0x15, 0xda, 0x88, 0x39, 0x8c, 0xae, 0xf4,
- 0xa4, 0xbb, 0xca, 0x02, 0x37, 0x72, 0xf1, 0xea, 0xcb, 0xbc, 0x19, 0x4b, 0x38, 0x45, 0xdd, 0x20,
- 0xdb, 0xb3, 0xd4, 0xea, 0xcd, 0xa5, 0xad, 0x5c, 0xe7, 0xcd, 0x58, 0xc2, 0x59, 0x35, 0xb8, 0xec,
- 0x70, 0x7c, 0xcf, 0x55, 0x83, 0xcb, 0x76, 0xbf, 0x8f, 0xfd, 0xfc, 0x2b, 0x16, 0x8c, 0x9a, 0xe1,
- 0x56, 0xa8, 0x9d, 0xd3, 0x71, 0x17, 0x7b, 0x8a, 0x89, 0xfe, 0x58, 0xd1, 0xed, 0x4a, 0x6d, 0x2f,
- 0x0d, 0xa3, 0xe4, 0x79, 0x12, 0xb4, 0xbd, 0x80, 0xb0, 0x53, 0x74, 0x1e, 0xa6, 0x95, 0x89, 0xe5,
- 0x9a, 0x09, 0x5b, 0xe4, 0x00, 0x4a, 0xb2, 0x7d, 0x1b, 0x4e, 0xf5, 0xe4, 0x2a, 0x0d, 0xa0, 0x5a,
- 0xec, 0x99, 0x29, 0x6a, 0x63, 0x18, 0xa1, 0x84, 0x65, 0x69, 0x95, 0x19, 0x38, 0xc5, 0x17, 0x12,
- 0xe5, 0xb4, 0xec, 0xae, 0x93, 0x8e, 0xca, 0x3f, 0x63, 0xfe, 0xf5, 0x5b, 0x79, 0x20, 0xee, 0xc5,
- 0xb7, 0x3f, 0x67, 0xc1, 0xb1, 0x4c, 0xfa, 0x58, 0x49, 0x4a, 0x10, 0x5b, 0x69, 0x21, 0x8b, 0xfe,
- 0x63, 0x21, 0xd0, 0x55, 0xb6, 0x99, 0xea, 0x95, 0xa6, 0x41, 0xd8, 0xc4, 0xb3, 0xbf, 0x54, 0x81,
- 0x86, 0x8c, 0xa0, 0x18, 0xa0, 0x2b, 0x9f, 0xb1, 0xe0, 0x98, 0x3a, 0xd3, 0x60, 0xce, 0xb2, 0x4a,
- 0x19, 0xb1, 0xfe, 0xb4, 0x07, 0xca, 0xdc, 0x0e, 0xd6, 0x42, 0xad, 0x91, 0x63, 0x93, 0x19, 0xce,
- 0xf2, 0x46, 0xb7, 0x00, 0x92, 0xed, 0x24, 0x25, 0x1d, 0xc3, 0x6d, 0x67, 0x1b, 0x2b, 0x6e, 0xc2,
- 0x0d, 0x63, 0x42, 0xd7, 0xd7, 0x8d, 0xb0, 0x45, 0x96, 0x15, 0xa6, 0x56, 0xa1, 0x74, 0x1b, 0x36,
- 0x28, 0xd9, 0x7f, 0xb7, 0x02, 0x27, 0xf3, 0x5d, 0x42, 0x1f, 0x82, 0x51, 0xc9, 0xdd, 0xb8, 0x29,
- 0x4a, 0x86, 0x8d, 0x8c, 0x62, 0x03, 0x76, 0x6f, 0x67, 0x7c, 0xbc, 0xf7, 0xa6, 0xae, 0x09, 0x13,
- 0x05, 0x67, 0x88, 0xf1, 0x83, 0x25, 0x71, 0x02, 0x3a, 0xbd, 0x3d, 0x15, 0x45, 0xe2, 0x74, 0xc8,
- 0x38, 0x58, 0x32, 0xa1, 0x38, 0x87, 0x8d, 0x96, 0xe0, 0x8c, 0xd1, 0x72, 0x83, 0x78, 0xed, 0xf5,
- 0xd5, 0x30, 0x96, 0x96, 0xd5, 0x13, 0x3a, 0xb0, 0xab, 0x17, 0x07, 0x17, 0x3e, 0x49, 0x77, 0x7b,
- 0xd7, 0x89, 0x1c, 0xd7, 0x4b, 0xb7, 0x85, 0x1f, 0x52, 0xc9, 0xa6, 0x19, 0xd1, 0x8e, 0x15, 0x86,
- 0xbd, 0x00, 0xb5, 0x01, 0x67, 0xd0, 0x40, 0x1a, 0xfd, 0xab, 0xd0, 0xa0, 0xe4, 0xa4, 0x7a, 0x57,
- 0x06, 0xc9, 0x10, 0x1a, 0xf2, 0xb2, 0x07, 0x64, 0x43, 0xd5, 0x73, 0xe4, 0xd9, 0x9d, 0x7a, 0xad,
- 0xb9, 0x24, 0xe9, 0x32, 0x23, 0x99, 0x02, 0xd1, 0xd3, 0x50, 0x25, 0x5b, 0x51, 0xfe, 0x90, 0xee,
- 0xd2, 0x56, 0xe4, 0xc5, 0x24, 0xa1, 0x48, 0x64, 0x2b, 0x42, 0xe7, 0xa1, 0xe2, 0xb5, 0xc4, 0x26,
- 0x05, 0x02, 0xa7, 0x32, 0x37, 0x8b, 0x2b, 0x5e, 0xcb, 0xde, 0x82, 0xa6, 0xba, 0x5d, 0x02, 0x6d,
- 0x48, 0xd9, 0x6d, 0x95, 0x11, 0xf2, 0x24, 0xe9, 0xf6, 0x91, 0xda, 0x5d, 0x00, 0x9d, 0x47, 0x57,
- 0x96, 0x7c, 0xb9, 0x00, 0x35, 0x37, 0x14, 0x39, 0xbe, 0x0d, 0x4d, 0x86, 0x09, 0x6d, 0x06, 0xb1,
- 0x6f, 0xc3, 0xf1, 0xeb, 0x41, 0x78, 0x97, 0x95, 0xc6, 0x66, 0x25, 0xad, 0x28, 0xe1, 0x35, 0xfa,
- 0x23, 0xaf, 0x22, 0x30, 0x28, 0xe6, 0x30, 0x55, 0xf6, 0xa8, 0xd2, 0xaf, 0xec, 0x91, 0xfd, 0x09,
- 0x0b, 0x4e, 0xaa, 0x6c, 0x20, 0x29, 0x8d, 0x5f, 0x86, 0xd1, 0xd5, 0xae, 0xe7, 0xb7, 0x64, 0xa1,
- 0xac, 0x9c, 0x9b, 0x62, 0xda, 0x80, 0xe1, 0x0c, 0x26, 0x35, 0xaa, 0x56, 0xbd, 0xc0, 0x89, 0xb7,
- 0x97, 0xb4, 0xf8, 0x57, 0x12, 0x61, 0x5a, 0x41, 0xb0, 0x81, 0x65, 0x7f, 0xc6, 0xec, 0x82, 0xc8,
- 0x3f, 0x1a, 0x60, 0x64, 0x6f, 0x42, 0xdd, 0x55, 0x67, 0xbd, 0x07, 0x2a, 0xe6, 0xa7, 0xf2, 0xcb,
- 0x99, 0xbf, 0x9f, 0x53, 0xb3, 0xff, 0x49, 0x05, 0x8e, 0x65, 0x6a, 0x96, 0x20, 0x1f, 0x1a, 0xc4,
- 0x67, 0xae, 0x3c, 0x39, 0xc5, 0x0e, 0x5b, 0x2e, 0x52, 0x2d, 0x8b, 0x4b, 0x82, 0x2e, 0x56, 0x1c,
- 0x1e, 0x8d, 0x23, 0xb5, 0x97, 0x61, 0x54, 0x76, 0xe8, 0x83, 0x4e, 0xc7, 0x17, 0xab, 0x50, 0x4d,
- 0x80, 0x4b, 0x06, 0x0c, 0x67, 0x30, 0xed, 0xdf, 0xad, 0xc2, 0x18, 0xf7, 0x7d, 0xb6, 0x54, 0xd4,
- 0xcb, 0x82, 0xd4, 0xb2, 0xfe, 0x82, 0xae, 0x2c, 0xc4, 0x07, 0x72, 0xf5, 0xb0, 0xd5, 0x99, 0x8b,
- 0x19, 0x0d, 0x14, 0x8f, 0xf1, 0x4b, 0xb9, 0x78, 0x0c, 0xbe, 0xd9, 0xb6, 0x8f, 0xa8, 0x47, 0xdf,
- 0x5b, 0x01, 0x1a, 0x7f, 0xab, 0x02, 0x27, 0x72, 0xa5, 0xaf, 0xd1, 0x17, 0xb2, 0x65, 0x1f, 0xad,
- 0x32, 0x3c, 0x64, 0xf7, 0xad, 0x86, 0xbc, 0xbf, 0xe2, 0x8f, 0x0f, 0x69, 0xa9, 0xd8, 0xbf, 0x5f,
- 0x81, 0xe3, 0xd9, 0x9a, 0xdd, 0x8f, 0xe0, 0x48, 0xbd, 0x1b, 0x9a, 0xac, 0x2c, 0x2d, 0xbb, 0x8b,
- 0x8c, 0x3b, 0xe2, 0x78, 0x29, 0x53, 0xd9, 0x88, 0x35, 0xfc, 0x91, 0xa8, 0xa9, 0x69, 0xff, 0x6d,
- 0x0b, 0xce, 0xf2, 0xb7, 0xcc, 0xcf, 0xc3, 0xbf, 0x58, 0x34, 0xba, 0xaf, 0x97, 0xdb, 0xc1, 0x5c,
- 0x45, 0xac, 0xbd, 0xc6, 0x97, 0xdd, 0x81, 0x24, 0x7a, 0x9b, 0x9d, 0x0a, 0x8f, 0x60, 0x67, 0xf7,
- 0x35, 0x19, 0xec, 0xdf, 0xaf, 0x82, 0xbe, 0xf6, 0x09, 0x79, 0x22, 0xb3, 0xa9, 0x94, 0xca, 0x60,
- 0xcb, 0xdb, 0x81, 0xab, 0x2f, 0x98, 0x6a, 0xe4, 0x12, 0x9b, 0x7e, 0xde, 0x82, 0x11, 0x2f, 0xf0,
- 0x52, 0xcf, 0x61, 0xca, 0x73, 0x39, 0x57, 0xd2, 0x28, 0x76, 0x73, 0x9c, 0x72, 0x18, 0x9b, 0xde,
- 0x5b, 0xc5, 0x0c, 0x9b, 0x9c, 0xd1, 0x47, 0x44, 0xc8, 0x64, 0xb5, 0xb4, 0x9c, 0xbc, 0x46, 0x2e,
- 0x4e, 0x32, 0x82, 0x7a, 0x4c, 0xd2, 0xb8, 0xa4, 0x54, 0x56, 0x4c, 0x49, 0xa9, 0x22, 0x93, 0xfa,
- 0x02, 0x4e, 0xda, 0x8c, 0x39, 0x23, 0x3b, 0x01, 0xd4, 0x3b, 0x16, 0xfb, 0x0c, 0x47, 0x9b, 0x84,
- 0xa6, 0xd3, 0x4d, 0xc3, 0x0e, 0x1d, 0x26, 0xe1, 0x60, 0xd6, 0x01, 0x77, 0x12, 0x80, 0x35, 0x8e,
- 0xfd, 0x85, 0x3a, 0xe4, 0x52, 0x8d, 0xd0, 0x96, 0x79, 0x65, 0x99, 0x55, 0xee, 0x95, 0x65, 0xaa,
- 0x33, 0x45, 0xd7, 0x96, 0xa1, 0x36, 0xd4, 0xa3, 0x75, 0x27, 0x91, 0xba, 0xf1, 0xab, 0x72, 0x98,
- 0x96, 0x68, 0xe3, 0xbd, 0x9d, 0xf1, 0x1f, 0x1f, 0xcc, 0xd7, 0x42, 0xe7, 0xea, 0x24, 0xcf, 0xdc,
- 0xd7, 0xac, 0x19, 0x0d, 0xcc, 0xe9, 0xef, 0xe7, 0x52, 0x9e, 0x4f, 0x8a, 0x42, 0xc2, 0x98, 0x24,
- 0x5d, 0x3f, 0x15, 0xb3, 0xe1, 0xd5, 0x12, 0x57, 0x19, 0x27, 0xac, 0x93, 0x64, 0xf9, 0x7f, 0x6c,
- 0x30, 0x45, 0x1f, 0x82, 0x66, 0x92, 0x3a, 0x71, 0x7a, 0xc0, 0xb4, 0x36, 0x35, 0xe8, 0xcb, 0x92,
- 0x08, 0xd6, 0xf4, 0xd0, 0x6b, 0xac, 0x50, 0xa2, 0x97, 0xac, 0x1f, 0x30, 0xd2, 0x59, 0x16, 0x55,
- 0x14, 0x14, 0xb0, 0x41, 0x8d, 0x9a, 0x1e, 0x6c, 0x6e, 0xf3, 0xf0, 0x9e, 0x06, 0xb3, 0x2d, 0x95,
- 0x28, 0xc4, 0x0a, 0x82, 0x0d, 0x2c, 0xfb, 0x87, 0x21, 0x9b, 0xe5, 0x8d, 0xc6, 0x65, 0x52, 0x39,
- 0xf7, 0x3d, 0xb1, 0x88, 0xe5, 0x4c, 0xfe, 0xf7, 0x6f, 0x58, 0x60, 0xa6, 0xa2, 0xa3, 0x37, 0x79,
- 0xce, 0xbb, 0x55, 0xc6, 0x79, 0x81, 0x41, 0x77, 0x62, 0xc1, 0x89, 0x72, 0x07, 0x57, 0x32, 0xf1,
- 0xfd, 0xfc, 0x7b, 0xa1, 0x21, 0xa1, 0xfb, 0x52, 0xea, 0x3e, 0x0e, 0xa7, 0xf3, 0x17, 0xba, 0x0a,
- 0x5f, 0x73, 0x3b, 0x0e, 0xbb, 0x51, 0xde, 0x90, 0x64, 0x17, 0x7e, 0x62, 0x0e, 0xa3, 0xe6, 0xd8,
- 0x86, 0x17, 0xb4, 0xf2, 0x86, 0xe4, 0x75, 0x2f, 0x68, 0x61, 0x06, 0x19, 0xe0, 0xe2, 0xba, 0xdf,
- 0xb4, 0xe0, 0xc2, 0x5e, 0xf7, 0xce, 0xa2, 0x27, 0xa0, 0x76, 0xd7, 0x89, 0x65, 0x05, 0x5b, 0x26,
- 0x28, 0x6f, 0x3b, 0x71, 0x80, 0x59, 0x2b, 0xda, 0x86, 0x21, 0x1e, 0x03, 0x22, 0xb4, 0xf5, 0x57,
- 0xcb, 0xbd, 0x05, 0xf7, 0x3a, 0x31, 0xcc, 0x05, 0x1e, 0x7f, 0x82, 0x05, 0x43, 0xfb, 0x3b, 0x16,
- 0xa0, 0xc5, 0x4d, 0x12, 0xc7, 0x5e, 0xcb, 0x88, 0x5a, 0x41, 0x2f, 0xc2, 0xe8, 0x9d, 0xe5, 0xc5,
- 0x1b, 0x4b, 0xa1, 0x17, 0xb0, 0xaa, 0x0f, 0x46, 0x62, 0xdb, 0x35, 0xa3, 0x1d, 0x67, 0xb0, 0xd0,
- 0x0c, 0x9c, 0xba, 0xf3, 0x26, 0x35, 0x7e, 0xcd, 0x6a, 0xf9, 0x15, 0xed, 0xee, 0xbc, 0xf6, 0x6a,
- 0x0e, 0x88, 0x7b, 0xf1, 0xd1, 0x22, 0x9c, 0xed, 0x70, 0x73, 0x83, 0x17, 0xb9, 0xe6, 0xb6, 0x87,
- 0x4a, 0x23, 0x39, 0xb7, 0xbb, 0x33, 0x7e, 0x76, 0xa1, 0x08, 0x01, 0x17, 0x3f, 0x67, 0xbf, 0x17,
- 0x10, 0x0f, 0x56, 0x99, 0x29, 0x8a, 0x3c, 0xe8, 0x6b, 0x89, 0xdb, 0x5f, 0xad, 0xc3, 0x89, 0x5c,
- 0x7d, 0x43, 0x6a, 0xea, 0xf5, 0x86, 0x3a, 0x1c, 0x7a, 0xff, 0xee, 0xed, 0xde, 0x40, 0xc1, 0x13,
- 0x01, 0xd4, 0xbd, 0x20, 0xea, 0xa6, 0xe5, 0x64, 0x8e, 0xf1, 0x4e, 0xcc, 0x51, 0x82, 0x86, 0x93,
- 0x88, 0xfe, 0xc5, 0x9c, 0x4d, 0x99, 0xa1, 0x18, 0x19, 0x65, 0xbc, 0xf6, 0x90, 0xdc, 0x01, 0x9f,
- 0xd4, 0x81, 0x11, 0xf5, 0x32, 0x0e, 0xea, 0x73, 0x93, 0xe5, 0xa8, 0x0f, 0xd8, 0x7e, 0xbd, 0x02,
- 0x23, 0xc6, 0x47, 0x43, 0xbf, 0x9c, 0x2d, 0xd4, 0x62, 0x95, 0xf7, 0x4a, 0x8c, 0xfe, 0x84, 0x2e,
- 0xc5, 0xc2, 0x5f, 0xe9, 0x99, 0xde, 0x1a, 0x2d, 0xf7, 0x76, 0xc6, 0x4f, 0xe6, 0xaa, 0xb0, 0x64,
- 0xea, 0xb6, 0x9c, 0xff, 0x18, 0x9c, 0xc8, 0x91, 0x29, 0x78, 0xe5, 0x95, 0xec, 0x7d, 0xbd, 0x87,
- 0x74, 0x4b, 0x99, 0x43, 0xf6, 0x0d, 0x3a, 0x64, 0xfa, 0x1a, 0xf7, 0x01, 0xdc, 0x71, 0xb9, 0x1c,
- 0xb9, 0xca, 0x80, 0x39, 0x72, 0xcf, 0x42, 0x23, 0x0a, 0x7d, 0xcf, 0xf5, 0x54, 0x49, 0x2f, 0x96,
- 0x95, 0xb7, 0x24, 0xda, 0xb0, 0x82, 0xa2, 0xbb, 0xd0, 0x54, 0x57, 0x1b, 0x8b, 0x20, 0xc4, 0xb2,
- 0x5c, 0xbd, 0x4a, 0x69, 0xd1, 0x57, 0x16, 0x6b, 0x5e, 0xc8, 0x86, 0x21, 0xb6, 0x09, 0xca, 0x80,
- 0x5f, 0x96, 0xc1, 0xc9, 0x76, 0xc7, 0x04, 0x0b, 0x88, 0xfd, 0xf5, 0x26, 0x9c, 0x29, 0x2a, 0x32,
- 0x8b, 0x3e, 0x0a, 0x43, 0xbc, 0x8f, 0xe5, 0xd4, 0x31, 0x2f, 0xe2, 0x71, 0x85, 0x11, 0x14, 0xdd,
- 0x62, 0xbf, 0xb1, 0xe0, 0x29, 0xb8, 0xfb, 0xce, 0xaa, 0x98, 0x21, 0x47, 0xc3, 0x7d, 0xde, 0xd1,
- 0xdc, 0xe7, 0x1d, 0xce, 0xdd, 0x77, 0x56, 0xd1, 0x16, 0xd4, 0xdb, 0x5e, 0x4a, 0x1c, 0xe1, 0x44,
- 0xb8, 0x7d, 0x24, 0xcc, 0x89, 0xc3, 0xb5, 0x34, 0xf6, 0x13, 0x73, 0x86, 0xe8, 0x6b, 0x16, 0x9c,
- 0x58, 0xcd, 0x26, 0xc4, 0x0a, 0xe1, 0xe9, 0x1c, 0x41, 0x21, 0xe1, 0x2c, 0x23, 0x7e, 0x23, 0x45,
- 0xae, 0x11, 0xe7, 0xbb, 0x83, 0x3e, 0x65, 0xc1, 0xf0, 0x9a, 0xe7, 0x1b, 0x35, 0x25, 0x8f, 0xe0,
- 0xe3, 0x5c, 0x66, 0x0c, 0xb4, 0xc5, 0xc1, 0xff, 0x27, 0x58, 0x72, 0xee, 0xb7, 0x53, 0x0d, 0x1d,
- 0x76, 0xa7, 0x1a, 0x7e, 0x48, 0x3b, 0xd5, 0xa7, 0x2d, 0x68, 0xaa, 0x91, 0x16, 0x49, 0x8e, 0x1f,
- 0x3a, 0xc2, 0x4f, 0xce, 0x3d, 0x27, 0xea, 0x2f, 0xd6, 0xcc, 0xd1, 0x17, 0x2d, 0x18, 0x71, 0xde,
- 0xea, 0xc6, 0xa4, 0x45, 0x36, 0xc3, 0x28, 0x11, 0xb7, 0x40, 0xbd, 0x5e, 0x7e, 0x67, 0xa6, 0x28,
- 0x93, 0x59, 0xb2, 0xb9, 0x18, 0x25, 0x22, 0x19, 0x41, 0x37, 0x60, 0xb3, 0x0b, 0xf6, 0x4e, 0x05,
- 0xc6, 0xf7, 0xa0, 0x80, 0x5e, 0x86, 0xd1, 0x30, 0x6e, 0x3b, 0x81, 0xf7, 0x96, 0x99, 0xe1, 0xae,
- 0xb4, 0xac, 0x45, 0x03, 0x86, 0x33, 0x98, 0x66, 0x1a, 0x66, 0x65, 0x8f, 0x34, 0xcc, 0x0b, 0x50,
- 0x8b, 0x49, 0x14, 0xe6, 0x8d, 0x05, 0x16, 0x08, 0xcc, 0x20, 0xe8, 0x49, 0xa8, 0x3a, 0x91, 0x27,
- 0xc2, 0x4f, 0x94, 0x0d, 0x34, 0xb5, 0x34, 0x87, 0x69, 0x7b, 0x26, 0x2b, 0xbc, 0xfe, 0x40, 0xb2,
- 0xc2, 0x8d, 0x4b, 0x9b, 0x87, 0xfa, 0x5e, 0xda, 0xfc, 0x95, 0x2a, 0x3c, 0x79, 0xdf, 0xf9, 0xa2,
- 0xa3, 0x6f, 0xac, 0xfb, 0x44, 0xdf, 0xc8, 0xe1, 0xa9, 0xec, 0x35, 0x3c, 0xd5, 0x3e, 0xc3, 0xf3,
- 0x29, 0xba, 0x0c, 0x64, 0x65, 0x80, 0x72, 0x2e, 0x24, 0xea, 0x57, 0x68, 0x40, 0xac, 0x00, 0x09,
- 0xc5, 0x9a, 0x2f, 0xb5, 0x01, 0x32, 0x29, 0x88, 0xf5, 0x32, 0xb6, 0x81, 0xbe, 0x95, 0x02, 0xf8,
- 0xdc, 0xef, 0x97, 0xd7, 0x68, 0xff, 0x42, 0x05, 0x9e, 0x1e, 0x40, 0x7a, 0x9b, 0xb3, 0xd8, 0x1a,
- 0x70, 0x16, 0x7f, 0x6f, 0x7f, 0x26, 0xfb, 0x2f, 0x59, 0x70, 0xbe, 0xff, 0xe6, 0x81, 0x5e, 0x80,
- 0x91, 0xd5, 0xd8, 0x09, 0xdc, 0x75, 0x76, 0xc9, 0x9a, 0x1c, 0x14, 0x36, 0xd6, 0xba, 0x19, 0x9b,
- 0x38, 0xd4, 0xbc, 0xe5, 0x85, 0xdd, 0x0d, 0x0c, 0x99, 0x32, 0x46, 0xcd, 0xdb, 0x95, 0x3c, 0x10,
- 0xf7, 0xe2, 0xdb, 0x7f, 0x5a, 0x29, 0xee, 0x16, 0x57, 0x32, 0xf6, 0xf3, 0x9d, 0xc4, 0x57, 0xa8,
- 0x0c, 0x20, 0x4b, 0xaa, 0x0f, 0x5a, 0x96, 0xd4, 0xfa, 0xc9, 0x12, 0x34, 0x0b, 0x27, 0x8d, 0xfb,
- 0x08, 0x78, 0x1a, 0x20, 0x0f, 0xb3, 0x53, 0xb9, 0xf1, 0x4b, 0x39, 0x38, 0xee, 0x79, 0x02, 0x3d,
- 0x07, 0x0d, 0x2f, 0x48, 0x88, 0xdb, 0x8d, 0x79, 0x78, 0xa7, 0x91, 0x7a, 0x31, 0x27, 0xda, 0xb1,
- 0xc2, 0xb0, 0x7f, 0xa5, 0x02, 0xe7, 0xfa, 0xea, 0x59, 0x0f, 0x48, 0x76, 0x99, 0x9f, 0xa3, 0xf6,
- 0x60, 0x3e, 0x87, 0x39, 0x48, 0xf5, 0x3d, 0x07, 0xe9, 0x0f, 0xfa, 0x4f, 0x4c, 0xaa, 0x73, 0x7f,
- 0xdf, 0x8e, 0xd2, 0x2b, 0x70, 0xcc, 0x89, 0x22, 0x8e, 0xc7, 0xa2, 0xb4, 0x72, 0xb5, 0x31, 0xa6,
- 0x4c, 0x20, 0xce, 0xe2, 0x0e, 0xb4, 0x7b, 0xfe, 0x91, 0x05, 0x4d, 0x4c, 0xd6, 0xb8, 0x74, 0x40,
- 0x77, 0xc4, 0x10, 0x59, 0x65, 0x54, 0xd1, 0xa3, 0x03, 0x9b, 0x78, 0xac, 0xba, 0x5c, 0xd1, 0x60,
- 0xf7, 0xde, 0x5b, 0x51, 0xd9, 0xd7, 0xbd, 0x15, 0xea, 0xe6, 0x82, 0x6a, 0xff, 0x9b, 0x0b, 0xec,
- 0x6f, 0x0c, 0xd3, 0xd7, 0x8b, 0xc2, 0x99, 0x98, 0xb4, 0x12, 0xfa, 0x7d, 0xbb, 0xb1, 0x2f, 0x26,
- 0x89, 0xfa, 0xbe, 0x37, 0xf1, 0x3c, 0xa6, 0xed, 0x99, 0xa3, 0x98, 0xca, 0xbe, 0x2a, 0x03, 0x54,
- 0xf7, 0xac, 0x0c, 0xf0, 0x0a, 0x1c, 0x4b, 0x92, 0xf5, 0xa5, 0xd8, 0xdb, 0x74, 0x52, 0x72, 0x9d,
- 0x6c, 0x0b, 0x2d, 0x4b, 0x67, 0xf3, 0x2e, 0x5f, 0xd5, 0x40, 0x9c, 0xc5, 0x45, 0x57, 0xe0, 0x94,
- 0xce, 0xcf, 0x27, 0x71, 0xca, 0x62, 0x7a, 0xf9, 0x4c, 0x50, 0xa9, 0x7b, 0x3a, 0xa3, 0x5f, 0x20,
- 0xe0, 0xde, 0x67, 0xa8, 0x7c, 0xcb, 0x34, 0xd2, 0x8e, 0x0c, 0x65, 0xe5, 0x5b, 0x86, 0x0e, 0xed,
- 0x4b, 0xcf, 0x13, 0x68, 0x01, 0x4e, 0xf3, 0x89, 0x31, 0x15, 0x45, 0xc6, 0x1b, 0x0d, 0x67, 0xab,
- 0x97, 0x5d, 0xe9, 0x45, 0xc1, 0x45, 0xcf, 0xa1, 0x97, 0x60, 0x44, 0x35, 0xcf, 0xcd, 0x8a, 0x53,
- 0x04, 0xe5, 0xc5, 0x50, 0x64, 0xe6, 0x5a, 0xd8, 0xc4, 0x43, 0x1f, 0x84, 0xc7, 0xf5, 0x5f, 0x9e,
- 0xf8, 0xc1, 0x8f, 0xd6, 0x66, 0x45, 0xe9, 0x13, 0x55, 0x27, 0xff, 0x4a, 0x21, 0x5a, 0x0b, 0xf7,
- 0x7b, 0x1e, 0xad, 0xc2, 0x79, 0x05, 0xba, 0x14, 0xa4, 0x2c, 0x8a, 0x3b, 0x21, 0xd3, 0x4e, 0x42,
- 0x6e, 0xc6, 0x3e, 0x2b, 0x96, 0xd2, 0xd4, 0x57, 0x98, 0x5d, 0xf1, 0xd2, 0xab, 0x45, 0x98, 0x78,
- 0x1e, 0xdf, 0x87, 0x0a, 0x9a, 0x84, 0x26, 0x09, 0x9c, 0x55, 0x9f, 0x2c, 0xce, 0xcc, 0xb1, 0x12,
- 0x2a, 0xc6, 0x49, 0xde, 0x25, 0x09, 0xc0, 0x1a, 0x47, 0xc5, 0x95, 0x8d, 0xf6, 0xbd, 0x4e, 0x6f,
- 0x09, 0xce, 0xb4, 0xdd, 0x88, 0xea, 0x1e, 0x9e, 0x4b, 0xa6, 0x5c, 0x16, 0x5b, 0x45, 0x3f, 0x0c,
- 0x2f, 0x2b, 0xa7, 0x82, 0x26, 0xaf, 0xcc, 0x2c, 0xf5, 0xe0, 0xe0, 0xc2, 0x27, 0xe9, 0x1a, 0x8b,
- 0xe2, 0x70, 0x6b, 0x7b, 0xec, 0x74, 0x76, 0x8d, 0x2d, 0xd1, 0x46, 0xcc, 0x61, 0xe8, 0x1a, 0x20,
- 0x16, 0x81, 0x7b, 0x35, 0x4d, 0x23, 0xa5, 0xec, 0x8c, 0x9d, 0x61, 0xaf, 0x74, 0x5e, 0x3c, 0x81,
- 0x2e, 0xf7, 0x60, 0xe0, 0x82, 0xa7, 0xec, 0x7f, 0x67, 0xc1, 0x31, 0xb5, 0x5e, 0x1f, 0x40, 0x0c,
- 0xba, 0x9f, 0x8d, 0x41, 0xbf, 0x72, 0x78, 0x89, 0xc7, 0x7a, 0xde, 0x27, 0x90, 0xf1, 0x67, 0x47,
- 0x00, 0xb4, 0x54, 0x54, 0x1b, 0x92, 0xd5, 0x77, 0x43, 0x7a, 0x64, 0x25, 0x52, 0x51, 0xbd, 0x84,
- 0xfa, 0xc3, 0xad, 0x97, 0xb0, 0x0c, 0x67, 0xa5, 0xba, 0xc0, 0xcf, 0x8a, 0xae, 0x86, 0x89, 0x12,
- 0x70, 0x8d, 0xe9, 0x27, 0x05, 0xa1, 0xb3, 0x73, 0x45, 0x48, 0xb8, 0xf8, 0xd9, 0x8c, 0x96, 0x32,
- 0xbc, 0x97, 0x96, 0xa2, 0xd7, 0xf4, 0xfc, 0x9a, 0x2c, 0x88, 0x9f, 0x5b, 0xd3, 0xf3, 0x97, 0x97,
- 0xb1, 0xc6, 0x29, 0x16, 0xec, 0xcd, 0x92, 0x04, 0x3b, 0xec, 0x5b, 0xb0, 0x4b, 0x11, 0x33, 0xd2,
- 0x57, 0xc4, 0x48, 0x9f, 0xf4, 0x68, 0x5f, 0x9f, 0xf4, 0xfb, 0xe0, 0xb8, 0x17, 0xac, 0x93, 0xd8,
- 0x4b, 0x49, 0x8b, 0xad, 0x05, 0x26, 0x7e, 0x1a, 0x7a, 0x5b, 0x9f, 0xcb, 0x40, 0x71, 0x0e, 0x3b,
- 0x2b, 0x17, 0x8f, 0x0f, 0x20, 0x17, 0xfb, 0xec, 0x46, 0x27, 0xca, 0xd9, 0x8d, 0x4e, 0x1e, 0x7e,
- 0x37, 0x3a, 0x75, 0xa4, 0xbb, 0x11, 0x2a, 0x65, 0x37, 0x1a, 0x48, 0xd0, 0x1b, 0xe6, 0xdf, 0x99,
- 0x3d, 0xcc, 0xbf, 0x7e, 0x5b, 0xd1, 0xd9, 0x03, 0x6f, 0x45, 0xc5, 0xbb, 0xcc, 0x63, 0x07, 0xda,
- 0x65, 0x3e, 0x5d, 0x81, 0xb3, 0x5a, 0x0e, 0xd3, 0xd9, 0xef, 0xad, 0x51, 0x49, 0xc4, 0xee, 0x54,
- 0xe1, 0xe7, 0x36, 0x46, 0x4a, 0x84, 0xce, 0xae, 0x50, 0x10, 0x6c, 0x60, 0xb1, 0xcc, 0x02, 0x12,
- 0xb3, 0xe2, 0x99, 0x79, 0x21, 0x3d, 0x23, 0xda, 0xb1, 0xc2, 0xa0, 0xf3, 0x8b, 0xfe, 0x16, 0xd9,
- 0x5a, 0xf9, 0x12, 0x51, 0x33, 0x1a, 0x84, 0x4d, 0x3c, 0xf4, 0x2c, 0x67, 0xc2, 0x04, 0x04, 0x15,
- 0xd4, 0xa3, 0xe2, 0x92, 0x45, 0x29, 0x13, 0x14, 0x54, 0x76, 0x87, 0xa5, 0x90, 0xd4, 0x7b, 0xbb,
- 0xc3, 0x42, 0xa0, 0x14, 0x86, 0xfd, 0xdf, 0x2d, 0x38, 0x57, 0x38, 0x14, 0x0f, 0x60, 0xf3, 0xdd,
- 0xca, 0x6e, 0xbe, 0xcb, 0x65, 0x99, 0x1b, 0xc6, 0x5b, 0xf4, 0xd9, 0x88, 0xff, 0x8d, 0x05, 0xc7,
- 0x35, 0xfe, 0x03, 0x78, 0x55, 0x2f, 0xfb, 0xaa, 0xe5, 0x59, 0x56, 0xcd, 0x9e, 0x77, 0xfb, 0xdd,
- 0x0a, 0xa8, 0xb2, 0x6d, 0x53, 0xae, 0x2c, 0x8a, 0xb9, 0xc7, 0x49, 0xe2, 0x36, 0x0c, 0xb1, 0x83,
- 0xd0, 0xa4, 0x9c, 0x20, 0x8f, 0x2c, 0x7f, 0x76, 0xa8, 0xaa, 0x0f, 0x99, 0xd9, 0xdf, 0x04, 0x0b,
- 0x86, 0xac, 0xb4, 0xab, 0x97, 0x50, 0x69, 0xde, 0x12, 0xc9, 0x18, 0xba, 0xb4, 0xab, 0x68, 0xc7,
- 0x0a, 0x83, 0x6e, 0x0f, 0x9e, 0x1b, 0x06, 0x33, 0xbe, 0x93, 0xc8, 0x8b, 0xc4, 0xd4, 0xf6, 0x30,
- 0x27, 0x01, 0x58, 0xe3, 0xb0, 0x33, 0x52, 0x2f, 0x89, 0x7c, 0x67, 0xdb, 0xb0, 0x9f, 0x8d, 0xac,
- 0x64, 0x05, 0xc2, 0x26, 0x9e, 0xdd, 0x81, 0xb1, 0xec, 0x4b, 0xcc, 0x92, 0x35, 0x16, 0xa0, 0x38,
- 0xd0, 0x70, 0x4e, 0x42, 0xd3, 0x61, 0x4f, 0xcd, 0x77, 0x9d, 0xfc, 0xfd, 0xbf, 0x53, 0x12, 0x80,
- 0x35, 0x8e, 0xfd, 0x6b, 0x16, 0x9c, 0x2e, 0x18, 0xb4, 0x12, 0x93, 0x5d, 0x52, 0x2d, 0x6d, 0x8a,
- 0x36, 0xf6, 0x77, 0xc1, 0x70, 0x8b, 0xac, 0x39, 0x32, 0x04, 0xce, 0x90, 0xed, 0xb3, 0xbc, 0x19,
- 0x4b, 0xb8, 0xfd, 0x5f, 0x2d, 0x38, 0x91, 0xed, 0x6b, 0x42, 0xa5, 0x33, 0x7f, 0x99, 0x59, 0x2f,
- 0x71, 0xc3, 0x4d, 0x12, 0x6f, 0xd3, 0x37, 0xe7, 0xbd, 0x56, 0xd2, 0x79, 0xaa, 0x07, 0x03, 0x17,
- 0x3c, 0xc5, 0x8a, 0x36, 0xb6, 0xd4, 0x68, 0xcb, 0x19, 0x79, 0xab, 0xcc, 0x19, 0xa9, 0x3f, 0xa6,
- 0x79, 0x5c, 0xae, 0x58, 0x62, 0x93, 0xbf, 0xfd, 0x9d, 0x1a, 0xa8, 0x6c, 0x38, 0x16, 0x7f, 0x54,
- 0x52, 0xf4, 0x56, 0xe6, 0xce, 0xa3, 0xea, 0x00, 0x77, 0x1e, 0xc9, 0xc9, 0x50, 0xbb, 0x5f, 0x40,
- 0x00, 0xf7, 0x92, 0x98, 0xae, 0x4b, 0xf5, 0x86, 0x2b, 0x1a, 0x84, 0x4d, 0x3c, 0xda, 0x13, 0xdf,
- 0xdb, 0x24, 0xfc, 0xa1, 0xa1, 0x6c, 0x4f, 0xe6, 0x25, 0x00, 0x6b, 0x1c, 0xda, 0x93, 0x96, 0xb7,
- 0xb6, 0x26, 0x4c, 0x7e, 0xd5, 0x13, 0x3a, 0x3a, 0x98, 0x41, 0x78, 0x1d, 0xde, 0x70, 0x43, 0x68,
- 0xc1, 0x46, 0x1d, 0xde, 0x70, 0x03, 0x33, 0x08, 0xd5, 0xdb, 0x82, 0x30, 0xee, 0xb0, 0xfb, 0x99,
- 0x5b, 0x8a, 0x8b, 0xd0, 0x7e, 0x95, 0xde, 0x76, 0xa3, 0x17, 0x05, 0x17, 0x3d, 0x47, 0x67, 0x60,
- 0x14, 0x93, 0x96, 0xe7, 0xa6, 0x26, 0x35, 0xc8, 0xce, 0xc0, 0xa5, 0x1e, 0x0c, 0x5c, 0xf0, 0x14,
- 0x9a, 0x82, 0x13, 0x32, 0x9b, 0x51, 0xd6, 0xaa, 0x18, 0xc9, 0xe6, 0xc6, 0xe3, 0x2c, 0x18, 0xe7,
- 0xf1, 0xa9, 0x54, 0xeb, 0x88, 0x32, 0x35, 0x4c, 0x59, 0x36, 0xa4, 0x9a, 0x2c, 0x5f, 0x83, 0x15,
- 0x86, 0xfd, 0xc9, 0x2a, 0xdd, 0x85, 0xfb, 0x94, 0x67, 0x7a, 0x60, 0xd1, 0x82, 0xd9, 0x19, 0x59,
- 0x1b, 0x60, 0x46, 0xbe, 0x08, 0xa3, 0x77, 0x92, 0x30, 0x50, 0x91, 0x78, 0xf5, 0xbe, 0x91, 0x78,
- 0x06, 0x56, 0x71, 0x24, 0xde, 0x50, 0x59, 0x91, 0x78, 0xc3, 0x07, 0x8c, 0xc4, 0xfb, 0x56, 0x1d,
- 0xd4, 0x85, 0x00, 0x37, 0x48, 0x7a, 0x37, 0x8c, 0x37, 0xbc, 0xa0, 0xcd, 0xb2, 0x40, 0xbf, 0x66,
- 0xc1, 0x28, 0x5f, 0x2f, 0xf3, 0x66, 0x26, 0xd5, 0x5a, 0x49, 0x95, 0xe6, 0x33, 0xcc, 0x26, 0x56,
- 0x0c, 0x46, 0xb9, 0x7b, 0xec, 0x4c, 0x10, 0xce, 0xf4, 0x08, 0x7d, 0x0c, 0x40, 0xfa, 0x47, 0xd7,
- 0xa4, 0xc8, 0x9c, 0x2b, 0xa7, 0x7f, 0x98, 0xac, 0x69, 0x1d, 0x78, 0x45, 0x31, 0xc1, 0x06, 0x43,
- 0xf4, 0xe9, 0xfc, 0xfd, 0xf5, 0x1f, 0x39, 0x92, 0xb1, 0x19, 0x24, 0xc7, 0x0c, 0xc3, 0xb0, 0x17,
- 0xb4, 0xe9, 0x3c, 0x11, 0x11, 0x4b, 0x3f, 0x54, 0x94, 0x41, 0x3d, 0x1f, 0x3a, 0xad, 0x69, 0xc7,
- 0x77, 0x02, 0x97, 0xc4, 0x73, 0x1c, 0xdd, 0xbc, 0xbd, 0x95, 0x35, 0x60, 0x49, 0xa8, 0xe7, 0x2a,
- 0x85, 0xfa, 0x20, 0x57, 0x29, 0x9c, 0x7f, 0x3f, 0x9c, 0xea, 0xf9, 0x98, 0xfb, 0x4a, 0x29, 0x3b,
- 0x78, 0x36, 0x9a, 0xfd, 0x4f, 0x87, 0xf4, 0xa6, 0x75, 0x23, 0x6c, 0xf1, 0x82, 0xfe, 0xb1, 0xfe,
- 0xa2, 0x42, 0xc7, 0x2d, 0x71, 0x8a, 0x18, 0x37, 0xc0, 0xaa, 0x46, 0x6c, 0xb2, 0xa4, 0x73, 0x34,
- 0x72, 0x62, 0x12, 0x1c, 0xf5, 0x1c, 0x5d, 0x52, 0x4c, 0xb0, 0xc1, 0x10, 0xad, 0x67, 0x72, 0x4a,
- 0x2e, 0x1f, 0x3e, 0xa7, 0x84, 0xd5, 0x96, 0x29, 0xaa, 0xc1, 0xfd, 0x45, 0x0b, 0x8e, 0x07, 0x99,
- 0x99, 0x5b, 0x4e, 0x18, 0x69, 0xf1, 0xaa, 0xe0, 0xf7, 0xc9, 0x64, 0xdb, 0x70, 0x8e, 0x7f, 0xd1,
- 0x96, 0x56, 0xdf, 0xe7, 0x96, 0xa6, 0x6f, 0x06, 0x19, 0xea, 0x77, 0x33, 0x08, 0x0a, 0xd4, 0xd5,
- 0x48, 0xc3, 0xa5, 0x5f, 0x8d, 0x04, 0x05, 0xd7, 0x22, 0xdd, 0x86, 0xa6, 0x1b, 0x13, 0x27, 0x3d,
- 0xe0, 0x2d, 0x39, 0xec, 0x80, 0x7e, 0x46, 0x12, 0xc0, 0x9a, 0x96, 0xfd, 0xbf, 0x6a, 0x70, 0x52,
- 0x8e, 0x88, 0x0c, 0x41, 0xa7, 0xfb, 0x23, 0xe7, 0xab, 0x95, 0x5b, 0xb5, 0x3f, 0x5e, 0x95, 0x00,
- 0xac, 0x71, 0xa8, 0x3e, 0xd6, 0x4d, 0xc8, 0x62, 0x44, 0x82, 0x79, 0x6f, 0x35, 0x11, 0xe7, 0x9c,
- 0x6a, 0xa1, 0xdc, 0xd4, 0x20, 0x6c, 0xe2, 0x51, 0x65, 0x9c, 0xeb, 0xc5, 0x49, 0x3e, 0x7d, 0x45,
- 0xe8, 0xdb, 0x58, 0xc2, 0xd1, 0x2f, 0x16, 0xd6, 0x8b, 0x2c, 0x27, 0x71, 0xab, 0x27, 0xf2, 0x7e,
- 0x9f, 0x17, 0xab, 0xfd, 0x0d, 0x0b, 0xce, 0xf2, 0x56, 0x39, 0x92, 0x37, 0xa3, 0x96, 0x93, 0x92,
- 0xa4, 0x9c, 0xfa, 0xcd, 0x05, 0xfd, 0xd3, 0x4e, 0xde, 0x22, 0xb6, 0xb8, 0xb8, 0x37, 0xe8, 0x0b,
- 0x16, 0x9c, 0xd8, 0xc8, 0x64, 0xfa, 0xcb, 0xad, 0xe3, 0x90, 0x35, 0x69, 0xb2, 0xe5, 0x03, 0xf4,
- 0x52, 0xcb, 0xb6, 0x27, 0x38, 0xcf, 0xdd, 0xfe, 0x53, 0x0b, 0x4c, 0x31, 0x3a, 0x98, 0x06, 0x68,
- 0x5c, 0x65, 0x5b, 0xd9, 0xe3, 0x2a, 0x5b, 0xa9, 0x2c, 0x56, 0x07, 0x33, 0x4e, 0x6a, 0xfb, 0x30,
- 0x4e, 0xea, 0x7d, 0xb5, 0xcb, 0x27, 0xa1, 0xda, 0xf5, 0x5a, 0xc2, 0xbe, 0xd0, 0xa7, 0xaf, 0x73,
- 0xb3, 0x98, 0xb6, 0xdb, 0xff, 0xa8, 0xae, 0xfd, 0x16, 0x22, 0x2f, 0xea, 0xfb, 0xe2, 0xb5, 0xd7,
- 0x54, 0x89, 0x21, 0xfe, 0xe6, 0x37, 0x7a, 0x4a, 0x0c, 0xfd, 0xe8, 0xfe, 0xd3, 0xde, 0xf8, 0x00,
- 0xf5, 0xab, 0x30, 0x34, 0xbc, 0x47, 0xce, 0xdb, 0x1d, 0x68, 0x50, 0x13, 0x8c, 0x39, 0x20, 0x1b,
- 0x99, 0x4e, 0x35, 0xae, 0x8a, 0xf6, 0x7b, 0x3b, 0xe3, 0x3f, 0xb2, 0xff, 0x6e, 0xc9, 0xa7, 0xb1,
- 0xa2, 0x8f, 0x12, 0x68, 0xd2, 0xdf, 0x2c, 0x3d, 0x4f, 0x18, 0x77, 0x37, 0x95, 0xcc, 0x94, 0x80,
- 0x52, 0x72, 0xff, 0x34, 0x1f, 0x14, 0x40, 0x93, 0xdd, 0x41, 0xc9, 0x98, 0x72, 0x1b, 0x70, 0x49,
- 0x25, 0xc9, 0x49, 0xc0, 0xbd, 0x9d, 0xf1, 0x57, 0xf6, 0xcf, 0x54, 0x3d, 0x8e, 0x35, 0x0b, 0xfb,
- 0x4b, 0x35, 0x3d, 0x77, 0x45, 0x65, 0xa9, 0xef, 0x8b, 0xb9, 0xfb, 0x72, 0x6e, 0xee, 0x5e, 0xe8,
- 0x99, 0xbb, 0xc7, 0xf5, 0x5d, 0x89, 0x99, 0xd9, 0xf8, 0xa0, 0x15, 0x81, 0xbd, 0xfd, 0x0d, 0x4c,
- 0x03, 0x7a, 0xb3, 0xeb, 0xc5, 0x24, 0x59, 0x8a, 0xbb, 0x81, 0x17, 0xb4, 0xc5, 0x1d, 0xf8, 0x86,
- 0x06, 0x94, 0x01, 0xe3, 0x3c, 0x3e, 0xbb, 0x3f, 0x7f, 0x3b, 0x70, 0x6f, 0x3b, 0x9b, 0x7c, 0x56,
- 0x19, 0xc5, 0x76, 0x96, 0x45, 0x3b, 0x56, 0x18, 0xf6, 0x37, 0xd8, 0x59, 0xb6, 0x91, 0x17, 0x4c,
- 0xe7, 0x84, 0xcf, 0x2e, 0xfd, 0xe4, 0x95, 0x7a, 0xd4, 0x9c, 0xe0, 0x37, 0x7d, 0x72, 0x18, 0xba,
- 0x0b, 0xc3, 0xab, 0xfc, 0xd6, 0xab, 0x72, 0xaa, 0x12, 0x8b, 0x2b, 0xb4, 0xd8, 0xdd, 0x06, 0xf2,
- 0x3e, 0xad, 0x7b, 0xfa, 0x27, 0x96, 0xdc, 0xec, 0x6f, 0xd6, 0xe0, 0x44, 0xee, 0x5a, 0xc8, 0x4c,
- 0x8d, 0xc4, 0xca, 0x9e, 0x35, 0x12, 0x3f, 0x0c, 0xd0, 0x22, 0x91, 0x1f, 0x6e, 0x33, 0x75, 0xac,
- 0xb6, 0x6f, 0x75, 0x4c, 0x69, 0xf0, 0xb3, 0x8a, 0x0a, 0x36, 0x28, 0x8a, 0xf2, 0x44, 0xbc, 0xe4,
- 0x62, 0xae, 0x3c, 0x91, 0x51, 0xbb, 0x7c, 0xe8, 0xc1, 0xd6, 0x2e, 0xf7, 0xe0, 0x04, 0xef, 0xa2,
- 0xca, 0xbe, 0x3d, 0x40, 0x92, 0x2d, 0xcb, 0x5f, 0x98, 0xcd, 0x92, 0xc1, 0x79, 0xba, 0x0f, 0xf3,
- 0xd6, 0x57, 0xf4, 0x6e, 0x68, 0xca, 0xef, 0x9c, 0x8c, 0x35, 0x75, 0x05, 0x03, 0x39, 0x0d, 0xd8,
- 0x6d, 0xac, 0xe2, 0xa7, 0xfd, 0xf9, 0x0a, 0xd5, 0x9e, 0xf9, 0x3f, 0x55, 0x89, 0xe6, 0x19, 0x18,
- 0x72, 0xba, 0xe9, 0x7a, 0xd8, 0x73, 0x73, 0xd6, 0x14, 0x6b, 0xc5, 0x02, 0x8a, 0xe6, 0xa1, 0xd6,
- 0xd2, 0xd5, 0x45, 0xf6, 0x33, 0x8a, 0xda, 0x11, 0xe9, 0xa4, 0x04, 0x33, 0x2a, 0xe8, 0x09, 0xa8,
- 0xa5, 0x4e, 0x5b, 0x26, 0x3a, 0xb1, 0xe4, 0xd6, 0x15, 0xa7, 0x9d, 0x60, 0xd6, 0x6a, 0x6e, 0x9a,
- 0xb5, 0x3d, 0x36, 0xcd, 0x57, 0xe0, 0x58, 0xe2, 0xb5, 0x03, 0x27, 0xed, 0xc6, 0xc4, 0x38, 0x5c,
- 0xd3, 0xf1, 0x12, 0x26, 0x10, 0x67, 0x71, 0xed, 0xdf, 0x1a, 0x85, 0x33, 0xcb, 0x33, 0x0b, 0xb2,
- 0x52, 0xee, 0x91, 0xe5, 0x2a, 0x15, 0xf1, 0x78, 0x70, 0xb9, 0x4a, 0x7d, 0xb8, 0xfb, 0x46, 0xae,
- 0x92, 0x6f, 0xe4, 0x2a, 0x65, 0x13, 0x47, 0xaa, 0x65, 0x24, 0x8e, 0x14, 0xf5, 0x60, 0x90, 0xc4,
- 0x91, 0x23, 0x4b, 0x5e, 0xba, 0x6f, 0x87, 0xf6, 0x95, 0xbc, 0xa4, 0x32, 0xbb, 0x4a, 0x09, 0xe9,
- 0xef, 0xf3, 0xa9, 0x0a, 0x33, 0xbb, 0x54, 0x56, 0x0d, 0x4f, 0x57, 0x11, 0x02, 0xf6, 0xf5, 0xf2,
- 0x3b, 0x30, 0x40, 0x56, 0x8d, 0xc8, 0x98, 0x31, 0x33, 0xb9, 0x86, 0xcb, 0xc8, 0xe4, 0x2a, 0xea,
- 0xce, 0x9e, 0x99, 0x5c, 0xaf, 0xc0, 0x31, 0xd7, 0x0f, 0x03, 0xb2, 0x14, 0x87, 0x69, 0xe8, 0x86,
- 0xbe, 0x50, 0xa6, 0x95, 0x48, 0x98, 0x31, 0x81, 0x38, 0x8b, 0xdb, 0x2f, 0x0d, 0xac, 0x79, 0xd8,
- 0x34, 0x30, 0x78, 0x48, 0x69, 0x60, 0x3f, 0xa7, 0x13, 0x96, 0x47, 0xd8, 0x17, 0xf9, 0x70, 0xf9,
- 0x5f, 0x64, 0x90, 0xac, 0x65, 0xf4, 0x15, 0x7e, 0x75, 0x15, 0x55, 0x47, 0x67, 0xc2, 0x0e, 0x55,
- 0xb7, 0x46, 0xd9, 0x90, 0xbc, 0x71, 0x04, 0x13, 0xf6, 0xf6, 0xb2, 0x66, 0xa3, 0xae, 0xb3, 0xd2,
- 0x4d, 0x38, 0xdb, 0x91, 0xc3, 0x24, 0x54, 0x7f, 0xb5, 0x02, 0x3f, 0xb0, 0x67, 0x17, 0xd0, 0x5d,
- 0x80, 0xd4, 0x69, 0x8b, 0x89, 0x2a, 0x8e, 0x29, 0x0e, 0x19, 0xd4, 0xb8, 0x22, 0xe9, 0xf1, 0x4a,
- 0x20, 0xea, 0x2f, 0x3b, 0x00, 0x90, 0xbf, 0x59, 0x2c, 0x63, 0xe8, 0xf7, 0x54, 0x3d, 0xc4, 0xa1,
- 0x4f, 0x30, 0x83, 0xd0, 0xed, 0x3f, 0x26, 0x6d, 0x7d, 0xd7, 0xaa, 0xfa, 0x7c, 0x98, 0xb5, 0x62,
- 0x01, 0x45, 0x2f, 0xc1, 0x88, 0xe3, 0xfb, 0x3c, 0x2b, 0x85, 0x24, 0xe2, 0xee, 0x0a, 0x5d, 0xb9,
- 0x4d, 0x83, 0xb0, 0x89, 0x67, 0xff, 0x49, 0x05, 0xc6, 0xf7, 0x90, 0x29, 0x3d, 0x79, 0x76, 0xf5,
- 0x81, 0xf3, 0xec, 0x44, 0x66, 0xc0, 0x50, 0x9f, 0xcc, 0x80, 0x97, 0x60, 0x24, 0x25, 0x4e, 0x47,
- 0x84, 0x41, 0x09, 0xfb, 0x5b, 0x9f, 0xbb, 0x6a, 0x10, 0x36, 0xf1, 0xa8, 0x14, 0x3b, 0xee, 0xb8,
- 0x2e, 0x49, 0x12, 0x19, 0xfa, 0x2f, 0x7c, 0x98, 0xa5, 0xe5, 0x15, 0x30, 0xd7, 0xf0, 0x54, 0x86,
- 0x05, 0xce, 0xb1, 0xcc, 0x0f, 0x78, 0x73, 0xc0, 0x01, 0xff, 0x7a, 0x05, 0x9e, 0xbc, 0xef, 0xee,
- 0x36, 0x70, 0x56, 0x46, 0x37, 0x21, 0x71, 0x7e, 0xe2, 0xdc, 0x4c, 0x48, 0x8c, 0x19, 0x84, 0x8f,
- 0x52, 0x14, 0x19, 0x77, 0xd9, 0x96, 0x9d, 0x32, 0xc4, 0x47, 0x29, 0xc3, 0x02, 0xe7, 0x58, 0x1e,
- 0x74, 0x5a, 0xfe, 0x9d, 0x0a, 0x3c, 0x3d, 0x80, 0x0e, 0x50, 0x62, 0x6a, 0x55, 0x36, 0xc1, 0xad,
- 0xfa, 0x90, 0xf2, 0x10, 0x0f, 0x38, 0x5c, 0xdf, 0xa8, 0xc0, 0xf9, 0xfe, 0x5b, 0x31, 0xfa, 0x31,
- 0x6a, 0xc3, 0xcb, 0xd8, 0x27, 0x33, 0x37, 0xee, 0x34, 0xb7, 0xdf, 0x33, 0x20, 0x9c, 0xc7, 0x45,
- 0x13, 0x00, 0x91, 0x93, 0xae, 0x27, 0x97, 0xb6, 0xbc, 0x24, 0x15, 0xb5, 0x5f, 0x8e, 0xf3, 0x13,
- 0x23, 0xd9, 0x8a, 0x0d, 0x0c, 0xca, 0x8e, 0xfd, 0x9b, 0x0d, 0x6f, 0x84, 0x29, 0x7f, 0x88, 0x9b,
- 0x11, 0xa7, 0x65, 0x7d, 0x7c, 0x03, 0x84, 0xf3, 0xb8, 0x94, 0x1d, 0x3b, 0x93, 0xe4, 0x1d, 0xe5,
- 0xf6, 0x05, 0x63, 0x37, 0xaf, 0x5a, 0xb1, 0x81, 0x91, 0xcf, 0xfa, 0xab, 0xef, 0x9d, 0xf5, 0x67,
- 0xff, 0xc3, 0x0a, 0x9c, 0xeb, 0xab, 0xca, 0x0d, 0xb6, 0x00, 0x1f, 0xbd, 0x4c, 0xbd, 0x83, 0xcd,
- 0x9d, 0x7d, 0x66, 0x94, 0xfd, 0x51, 0x9f, 0x99, 0x26, 0x32, 0xca, 0x0e, 0x9e, 0x92, 0xfd, 0xe8,
- 0x8d, 0x67, 0x4f, 0x12, 0x59, 0x6d, 0x1f, 0x49, 0x64, 0xb9, 0x8f, 0x51, 0x1f, 0x70, 0x21, 0xff,
- 0x59, 0xb5, 0xef, 0xf0, 0x52, 0xd3, 0x6f, 0x20, 0xef, 0xe8, 0x2c, 0x9c, 0xf4, 0x02, 0x76, 0x57,
- 0xca, 0x72, 0x77, 0x55, 0x94, 0x03, 0xa9, 0x64, 0x6f, 0x2a, 0x9e, 0xcb, 0xc1, 0x71, 0xcf, 0x13,
- 0x8f, 0x60, 0x52, 0xdf, 0xc1, 0x86, 0x74, 0x7f, 0x69, 0xa5, 0x68, 0x11, 0xce, 0xca, 0xa1, 0x58,
- 0x77, 0x62, 0xd2, 0x12, 0xdb, 0x48, 0x22, 0xd2, 0x18, 0xce, 0xf1, 0x54, 0x88, 0x02, 0x04, 0x5c,
- 0xfc, 0x1c, 0xbb, 0x9e, 0x22, 0x8c, 0x3c, 0x57, 0x18, 0x39, 0xfa, 0x7a, 0x0a, 0xda, 0x88, 0x39,
- 0xcc, 0xfe, 0x30, 0x34, 0xd5, 0xfb, 0xf3, 0x60, 0x6a, 0x35, 0xe9, 0x7a, 0x82, 0xa9, 0xd5, 0x8c,
- 0x33, 0xb0, 0xe8, 0xd7, 0xa2, 0x2a, 0x71, 0x6e, 0xf5, 0x5c, 0x27, 0xdb, 0x4c, 0x3f, 0xb6, 0xdf,
- 0x03, 0xa3, 0xca, 0xcf, 0x32, 0xe8, 0xa5, 0x1d, 0xf6, 0x97, 0x86, 0xe0, 0x58, 0xa6, 0x24, 0x5f,
- 0xc6, 0xad, 0x69, 0xed, 0xe9, 0xd6, 0x64, 0xc1, 0xf1, 0xdd, 0x40, 0xde, 0xe8, 0x63, 0x04, 0xc7,
- 0x77, 0x03, 0x82, 0x39, 0x8c, 0xaa, 0xb7, 0xad, 0x78, 0x1b, 0x77, 0x03, 0x11, 0xc4, 0xaa, 0xd4,
- 0xdb, 0x59, 0xd6, 0x8a, 0x05, 0x14, 0x7d, 0xc2, 0x82, 0xd1, 0x84, 0xf9, 0xcc, 0xb9, 0x53, 0x58,
- 0x4c, 0xba, 0x6b, 0x87, 0xaf, 0x38, 0xa8, 0xca, 0x4f, 0xb2, 0xb8, 0x14, 0xb3, 0x05, 0x67, 0x38,
- 0xa2, 0x9f, 0xb1, 0xa0, 0xa9, 0x2e, 0x1e, 0x10, 0xd7, 0x6e, 0x2d, 0x97, 0x5b, 0xf1, 0x90, 0x7b,
- 0x13, 0xd5, 0xf1, 0x83, 0xbe, 0x49, 0x5c, 0x33, 0x46, 0x89, 0xf2, 0xd8, 0x0e, 0x1f, 0x8d, 0xc7,
- 0x16, 0x0a, 0xbc, 0xb5, 0xef, 0x86, 0x66, 0xc7, 0x09, 0xbc, 0x35, 0x92, 0xa4, 0xdc, 0x89, 0x2a,
- 0x0b, 0xb1, 0xca, 0x46, 0xac, 0xe1, 0x74, 0x43, 0x4e, 0xd8, 0x8b, 0xa5, 0x86, 0xd7, 0x93, 0x6d,
- 0xc8, 0xcb, 0xba, 0x19, 0x9b, 0x38, 0xa6, 0x8b, 0x16, 0x1e, 0xaa, 0x8b, 0x76, 0x64, 0x0f, 0x17,
- 0xed, 0xdf, 0xb3, 0xe0, 0x6c, 0xe1, 0x57, 0x7b, 0x74, 0xc3, 0x0d, 0xed, 0x2f, 0xd7, 0xe1, 0x74,
- 0x41, 0x6d, 0x4d, 0xb4, 0x6d, 0xce, 0x67, 0xab, 0x8c, 0x93, 0xfb, 0xec, 0x41, 0xb4, 0x1c, 0xc6,
- 0x82, 0x49, 0xbc, 0xbf, 0x03, 0x12, 0x7d, 0x48, 0x51, 0x7d, 0xb0, 0x87, 0x14, 0xc6, 0xb4, 0xac,
- 0x3d, 0xd4, 0x69, 0x59, 0xbf, 0xff, 0xb4, 0x44, 0xbf, 0x6e, 0xc1, 0x58, 0xa7, 0x4f, 0x41, 0x77,
- 0xe1, 0x78, 0xbc, 0x75, 0x34, 0xe5, 0xe2, 0xa7, 0x9f, 0xd8, 0xdd, 0x19, 0xef, 0x5b, 0x47, 0x1f,
- 0xf7, 0xed, 0x95, 0xfd, 0x9d, 0x2a, 0xb0, 0xc2, 0xae, 0xac, 0x7e, 0xda, 0x36, 0xfa, 0xb8, 0x59,
- 0xa2, 0xd7, 0x2a, 0xab, 0x9c, 0x2c, 0x27, 0xae, 0x4a, 0xfc, 0xf2, 0x11, 0x2c, 0xaa, 0xf8, 0x9b,
- 0x17, 0x5a, 0x95, 0x01, 0x84, 0x96, 0x2f, 0x6b, 0x21, 0x57, 0xcb, 0xaf, 0x85, 0xdc, 0xcc, 0xd7,
- 0x41, 0xbe, 0xff, 0x27, 0xae, 0x3d, 0x92, 0x9f, 0xf8, 0xaf, 0x59, 0x5c, 0xf0, 0xe4, 0xbe, 0x82,
- 0xd6, 0x0c, 0xac, 0xfb, 0x68, 0x06, 0xcf, 0xb1, 0x3b, 0xe1, 0xd7, 0xae, 0x12, 0xc7, 0x17, 0x1a,
- 0x84, 0x79, 0xbd, 0x3b, 0x6b, 0xc7, 0x0a, 0x83, 0x5d, 0x91, 0xe8, 0xfb, 0xe1, 0xdd, 0x4b, 0x9d,
- 0x28, 0xdd, 0x16, 0xba, 0x84, 0xbe, 0x22, 0x51, 0x41, 0xb0, 0x81, 0x65, 0xff, 0xf5, 0x0a, 0x9f,
- 0x81, 0x22, 0xf4, 0xe0, 0xe5, 0xdc, 0xa5, 0x56, 0x83, 0x9f, 0xda, 0x7f, 0x14, 0xc0, 0x55, 0xd7,
- 0x41, 0x8b, 0x33, 0xa1, 0xab, 0x87, 0xbe, 0xab, 0x56, 0xd0, 0xd3, 0xaf, 0xa1, 0xdb, 0xb0, 0xc1,
- 0x2f, 0x23, 0x4b, 0xab, 0x7b, 0xca, 0xd2, 0x8c, 0x58, 0xa9, 0xed, 0xb1, 0xdb, 0xfd, 0x89, 0x05,
- 0x19, 0x8d, 0x08, 0x45, 0x50, 0xa7, 0xdd, 0xdd, 0x2e, 0xe7, 0xa6, 0x6b, 0x93, 0x34, 0x15, 0x8d,
- 0x62, 0xda, 0xb3, 0x9f, 0x98, 0x33, 0x42, 0xbe, 0x88, 0x50, 0xa8, 0x94, 0x71, 0x1b, 0xbb, 0xc9,
- 0xf0, 0x6a, 0x18, 0x6e, 0xf0, 0x83, 0x4d, 0x1d, 0xed, 0x60, 0xbf, 0x0c, 0xa7, 0x7a, 0x3a, 0xc5,
- 0xee, 0xaf, 0x09, 0xe5, 0xf5, 0xde, 0xc6, 0x74, 0x65, 0x69, 0x93, 0x98, 0xc3, 0xec, 0x6f, 0x58,
- 0x70, 0x32, 0x4f, 0x1e, 0x7d, 0xc5, 0x82, 0x53, 0x49, 0x9e, 0xde, 0x51, 0x8d, 0x9d, 0x8a, 0x32,
- 0xec, 0x01, 0xe1, 0xde, 0x4e, 0xd8, 0xff, 0x5b, 0x4c, 0xfe, 0xdb, 0x5e, 0xd0, 0x0a, 0xef, 0x2a,
- 0xc5, 0xc4, 0xea, 0xab, 0x98, 0xd0, 0xf5, 0xe8, 0xae, 0x93, 0x56, 0xd7, 0xef, 0xc9, 0xd7, 0x5c,
- 0x16, 0xed, 0x58, 0x61, 0xb0, 0xf4, 0xb4, 0xae, 0x28, 0x96, 0x9e, 0x9b, 0x94, 0xb3, 0xa2, 0x1d,
- 0x2b, 0x0c, 0xf4, 0x22, 0x8c, 0x9a, 0x57, 0xd8, 0x8b, 0x79, 0xc9, 0x14, 0x72, 0xf3, 0xb6, 0x7b,
- 0x9c, 0xc1, 0x42, 0x13, 0x00, 0x4a, 0xc9, 0x91, 0x5b, 0x24, 0x73, 0x14, 0x29, 0x49, 0x94, 0x60,
- 0x03, 0x83, 0x25, 0x83, 0xf2, 0x7b, 0xe2, 0x65, 0x2c, 0x2e, 0x4f, 0x06, 0x15, 0x6d, 0x58, 0x41,
- 0xa9, 0x34, 0xe9, 0x38, 0x41, 0xd7, 0xf1, 0xe9, 0x08, 0x09, 0xd3, 0x4f, 0x2d, 0xc3, 0x05, 0x05,
- 0xc1, 0x06, 0x16, 0x7d, 0xe3, 0xd4, 0xeb, 0x90, 0xd7, 0xc2, 0x40, 0x46, 0x87, 0xe9, 0x63, 0x1f,
- 0xd1, 0x8e, 0x15, 0x86, 0xfd, 0x9f, 0x2d, 0x38, 0xa1, 0x53, 0xcb, 0xf9, 0x4d, 0xb5, 0xa6, 0xa5,
- 0x6a, 0xed, 0x69, 0xa9, 0x66, 0x73, 0x6e, 0x2b, 0x03, 0xe5, 0xdc, 0x9a, 0xe9, 0xb0, 0xd5, 0xfb,
- 0xa6, 0xc3, 0xfe, 0xa0, 0xbe, 0x05, 0x91, 0xe7, 0xcd, 0x8e, 0x14, 0xdd, 0x80, 0x88, 0x6c, 0x18,
- 0x72, 0x1d, 0x55, 0x57, 0x65, 0x94, 0xdb, 0x0e, 0x33, 0x53, 0x0c, 0x49, 0x40, 0xec, 0x45, 0x68,
- 0xaa, 0xd3, 0x0f, 0x69, 0xa8, 0x5a, 0xc5, 0x86, 0xea, 0x40, 0x69, 0x79, 0xd3, 0xab, 0xdf, 0xfc,
- 0xee, 0x53, 0xef, 0xf8, 0xbd, 0xef, 0x3e, 0xf5, 0x8e, 0x3f, 0xfc, 0xee, 0x53, 0xef, 0xf8, 0xc4,
- 0xee, 0x53, 0xd6, 0x37, 0x77, 0x9f, 0xb2, 0x7e, 0x6f, 0xf7, 0x29, 0xeb, 0x0f, 0x77, 0x9f, 0xb2,
- 0xbe, 0xb3, 0xfb, 0x94, 0xf5, 0xc5, 0xff, 0xf0, 0xd4, 0x3b, 0x5e, 0x2b, 0x0c, 0x0f, 0xa4, 0x3f,
- 0x9e, 0x77, 0x5b, 0x93, 0x9b, 0x17, 0x59, 0x84, 0x1a, 0x5d, 0x5e, 0x93, 0xc6, 0x9c, 0x9a, 0x94,
- 0xcb, 0xeb, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xef, 0x55, 0x4b, 0x4e, 0x1e, 0xda, 0x00, 0x00,
+ // 10945 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6f, 0x70, 0x1c, 0xc9,
+ 0x75, 0x18, 0xae, 0xd9, 0x3f, 0xc0, 0xee, 0x03, 0x08, 0x92, 0x4d, 0xf2, 0x0e, 0xa4, 0xee, 0x0e,
+ 0xf4, 0xdc, 0xcf, 0xa7, 0xf3, 0x4f, 0x77, 0x80, 0x8f, 0xba, 0x53, 0x2e, 0x3a, 0x5b, 0x32, 0xfe,
+ 0x90, 0x20, 0x48, 0x80, 0xc0, 0x35, 0x40, 0x52, 0x3a, 0xf9, 0x74, 0x1a, 0xec, 0x36, 0x16, 0x43,
+ 0xcc, 0xce, 0xcc, 0xcd, 0xcc, 0x82, 0xc0, 0x59, 0x92, 0x25, 0x4b, 0xb6, 0x95, 0xe8, 0xcf, 0x29,
+ 0x52, 0x52, 0x3e, 0x27, 0x91, 0x23, 0x5b, 0x4e, 0x2a, 0xae, 0x44, 0x15, 0x27, 0xf9, 0x10, 0x27,
+ 0x4e, 0xca, 0x65, 0x3b, 0x95, 0x52, 0x4a, 0x49, 0xd9, 0x95, 0x72, 0x59, 0x4e, 0x62, 0x23, 0x12,
+ 0x52, 0xae, 0xa4, 0x52, 0x15, 0x57, 0x39, 0xf1, 0x07, 0x87, 0xc9, 0x87, 0x54, 0xff, 0xef, 0x99,
+ 0x9d, 0x05, 0x16, 0xc0, 0x80, 0xa4, 0x94, 0xfb, 0xb6, 0xdb, 0xef, 0xcd, 0x7b, 0x3d, 0x3d, 0xdd,
+ 0xef, 0xbd, 0x7e, 0xfd, 0xde, 0x6b, 0x98, 0x6f, 0xb9, 0xc9, 0x7a, 0x67, 0x75, 0xbc, 0x11, 0xb4,
+ 0x27, 0x9c, 0xa8, 0x15, 0x84, 0x51, 0x70, 0x87, 0xfd, 0x78, 0xb6, 0xd1, 0x9c, 0xd8, 0xbc, 0x34,
+ 0x11, 0x6e, 0xb4, 0x26, 0x9c, 0xd0, 0x8d, 0x27, 0x9c, 0x30, 0xf4, 0xdc, 0x86, 0x93, 0xb8, 0x81,
+ 0x3f, 0xb1, 0xf9, 0x9c, 0xe3, 0x85, 0xeb, 0xce, 0x73, 0x13, 0x2d, 0xe2, 0x93, 0xc8, 0x49, 0x48,
+ 0x73, 0x3c, 0x8c, 0x82, 0x24, 0x40, 0x3f, 0xa2, 0xa9, 0x8d, 0x4b, 0x6a, 0xec, 0xc7, 0x6b, 0x8d,
+ 0xe6, 0xf8, 0xe6, 0xa5, 0xf1, 0x70, 0xa3, 0x35, 0x4e, 0xa9, 0x8d, 0x1b, 0xd4, 0xc6, 0x25, 0xb5,
+ 0x0b, 0xcf, 0x1a, 0x7d, 0x69, 0x05, 0xad, 0x60, 0x82, 0x11, 0x5d, 0xed, 0xac, 0xb1, 0x7f, 0xec,
+ 0x0f, 0xfb, 0xc5, 0x99, 0x5d, 0xb0, 0x37, 0x5e, 0x8c, 0xc7, 0xdd, 0x80, 0x76, 0x6f, 0xa2, 0x11,
+ 0x44, 0x64, 0x62, 0xb3, 0xab, 0x43, 0x17, 0xae, 0x6a, 0x1c, 0xb2, 0x95, 0x10, 0x3f, 0x76, 0x03,
+ 0x3f, 0x7e, 0x96, 0x76, 0x81, 0x44, 0x9b, 0x24, 0x32, 0x5f, 0xcf, 0x40, 0xc8, 0xa3, 0xf4, 0xbc,
+ 0xa6, 0xd4, 0x76, 0x1a, 0xeb, 0xae, 0x4f, 0xa2, 0x6d, 0xfd, 0x78, 0x9b, 0x24, 0x4e, 0xde, 0x53,
+ 0x13, 0xbd, 0x9e, 0x8a, 0x3a, 0x7e, 0xe2, 0xb6, 0x49, 0xd7, 0x03, 0xef, 0xdd, 0xef, 0x81, 0xb8,
+ 0xb1, 0x4e, 0xda, 0x4e, 0xd7, 0x73, 0xef, 0xe9, 0xf5, 0x5c, 0x27, 0x71, 0xbd, 0x09, 0xd7, 0x4f,
+ 0xe2, 0x24, 0xca, 0x3e, 0x64, 0xbf, 0x0e, 0x27, 0x26, 0x6f, 0x2f, 0x4f, 0x76, 0x92, 0xf5, 0xe9,
+ 0xc0, 0x5f, 0x73, 0x5b, 0xe8, 0x05, 0x18, 0x6a, 0x78, 0x9d, 0x38, 0x21, 0xd1, 0x0d, 0xa7, 0x4d,
+ 0x46, 0xad, 0x8b, 0xd6, 0xd3, 0xf5, 0xa9, 0x33, 0xdf, 0xdc, 0x19, 0x7b, 0xc7, 0xee, 0xce, 0xd8,
+ 0xd0, 0xb4, 0x06, 0x61, 0x13, 0x0f, 0xfd, 0x10, 0x0c, 0x46, 0x81, 0x47, 0x26, 0xf1, 0x8d, 0xd1,
+ 0x12, 0x7b, 0xe4, 0xa4, 0x78, 0x64, 0x10, 0xf3, 0x66, 0x2c, 0xe1, 0xf6, 0xef, 0x97, 0x00, 0x26,
+ 0xc3, 0x70, 0x29, 0x0a, 0xee, 0x90, 0x46, 0x82, 0x3e, 0x0a, 0x35, 0x3a, 0x74, 0x4d, 0x27, 0x71,
+ 0x18, 0xb7, 0xa1, 0x4b, 0x3f, 0x3c, 0xce, 0xdf, 0x64, 0xdc, 0x7c, 0x13, 0x3d, 0x71, 0x28, 0xf6,
+ 0xf8, 0xe6, 0x73, 0xe3, 0x8b, 0xab, 0xf4, 0xf9, 0x05, 0x92, 0x38, 0x53, 0x48, 0x30, 0x03, 0xdd,
+ 0x86, 0x15, 0x55, 0xe4, 0x43, 0x25, 0x0e, 0x49, 0x83, 0x75, 0x6c, 0xe8, 0xd2, 0xfc, 0xf8, 0x51,
+ 0x66, 0xe8, 0xb8, 0xee, 0xf9, 0x72, 0x48, 0x1a, 0x53, 0xc3, 0x82, 0x73, 0x85, 0xfe, 0xc3, 0x8c,
+ 0x0f, 0xda, 0x84, 0x81, 0x38, 0x71, 0x92, 0x4e, 0x3c, 0x5a, 0x66, 0x1c, 0x6f, 0x14, 0xc6, 0x91,
+ 0x51, 0x9d, 0x1a, 0x11, 0x3c, 0x07, 0xf8, 0x7f, 0x2c, 0xb8, 0xd9, 0x7f, 0x64, 0xc1, 0x88, 0x46,
+ 0x9e, 0x77, 0xe3, 0x04, 0xfd, 0x78, 0xd7, 0xe0, 0x8e, 0xf7, 0x37, 0xb8, 0xf4, 0x69, 0x36, 0xb4,
+ 0xa7, 0x04, 0xb3, 0x9a, 0x6c, 0x31, 0x06, 0xb6, 0x0d, 0x55, 0x37, 0x21, 0xed, 0x78, 0xb4, 0x74,
+ 0xb1, 0xfc, 0xf4, 0xd0, 0xa5, 0xab, 0x45, 0xbd, 0xe7, 0xd4, 0x09, 0xc1, 0xb4, 0x3a, 0x47, 0xc9,
+ 0x63, 0xce, 0xc5, 0xfe, 0x95, 0x61, 0xf3, 0xfd, 0xe8, 0x80, 0xa3, 0xe7, 0x60, 0x28, 0x0e, 0x3a,
+ 0x51, 0x83, 0x60, 0x12, 0x06, 0xf1, 0xa8, 0x75, 0xb1, 0x4c, 0xa7, 0x1e, 0x9d, 0xa9, 0xcb, 0xba,
+ 0x19, 0x9b, 0x38, 0xe8, 0x8b, 0x16, 0x0c, 0x37, 0x49, 0x9c, 0xb8, 0x3e, 0xe3, 0x2f, 0x3b, 0xbf,
+ 0x72, 0xe4, 0xce, 0xcb, 0xc6, 0x19, 0x4d, 0x7c, 0xea, 0xac, 0x78, 0x91, 0x61, 0xa3, 0x31, 0xc6,
+ 0x29, 0xfe, 0x74, 0xc5, 0x35, 0x49, 0xdc, 0x88, 0xdc, 0x90, 0xfe, 0x67, 0x73, 0xc6, 0x58, 0x71,
+ 0x33, 0x1a, 0x84, 0x4d, 0x3c, 0xe4, 0x43, 0x95, 0xae, 0xa8, 0x78, 0xb4, 0xc2, 0xfa, 0x3f, 0x77,
+ 0xb4, 0xfe, 0x8b, 0x41, 0xa5, 0x8b, 0x55, 0x8f, 0x3e, 0xfd, 0x17, 0x63, 0xce, 0x06, 0x7d, 0xc1,
+ 0x82, 0x51, 0xb1, 0xe2, 0x31, 0xe1, 0x03, 0x7a, 0x7b, 0xdd, 0x4d, 0x88, 0xe7, 0xc6, 0xc9, 0x68,
+ 0x95, 0xf5, 0x61, 0xa2, 0xbf, 0xb9, 0x35, 0x1b, 0x05, 0x9d, 0xf0, 0xba, 0xeb, 0x37, 0xa7, 0x2e,
+ 0x0a, 0x4e, 0xa3, 0xd3, 0x3d, 0x08, 0xe3, 0x9e, 0x2c, 0xd1, 0x57, 0x2c, 0xb8, 0xe0, 0x3b, 0x6d,
+ 0x12, 0x87, 0x0e, 0xfd, 0xb4, 0x1c, 0x3c, 0xe5, 0x39, 0x8d, 0x0d, 0xd6, 0xa3, 0x81, 0xc3, 0xf5,
+ 0xc8, 0x16, 0x3d, 0xba, 0x70, 0xa3, 0x27, 0x69, 0xbc, 0x07, 0x5b, 0xf4, 0x75, 0x0b, 0x4e, 0x07,
+ 0x51, 0xb8, 0xee, 0xf8, 0xa4, 0x29, 0xa1, 0xf1, 0xe8, 0x20, 0x5b, 0x7a, 0x1f, 0x39, 0xda, 0x27,
+ 0x5a, 0xcc, 0x92, 0x5d, 0x08, 0x7c, 0x37, 0x09, 0xa2, 0x65, 0x92, 0x24, 0xae, 0xdf, 0x8a, 0xa7,
+ 0xce, 0xed, 0xee, 0x8c, 0x9d, 0xee, 0xc2, 0xc2, 0xdd, 0xfd, 0x41, 0x3f, 0x01, 0x43, 0xf1, 0xb6,
+ 0xdf, 0xb8, 0xed, 0xfa, 0xcd, 0xe0, 0x6e, 0x3c, 0x5a, 0x2b, 0x62, 0xf9, 0x2e, 0x2b, 0x82, 0x62,
+ 0x01, 0x6a, 0x06, 0xd8, 0xe4, 0x96, 0xff, 0xe1, 0xf4, 0x54, 0xaa, 0x17, 0xfd, 0xe1, 0xf4, 0x64,
+ 0xda, 0x83, 0x2d, 0xfa, 0x59, 0x0b, 0x4e, 0xc4, 0x6e, 0xcb, 0x77, 0x92, 0x4e, 0x44, 0xae, 0x93,
+ 0xed, 0x78, 0x14, 0x58, 0x47, 0xae, 0x1d, 0x71, 0x54, 0x0c, 0x92, 0x53, 0xe7, 0x44, 0x1f, 0x4f,
+ 0x98, 0xad, 0x31, 0x4e, 0xf3, 0xcd, 0x5b, 0x68, 0x7a, 0x5a, 0x0f, 0x15, 0xbb, 0xd0, 0xf4, 0xa4,
+ 0xee, 0xc9, 0x12, 0xfd, 0x18, 0x9c, 0xe2, 0x4d, 0x6a, 0x64, 0xe3, 0xd1, 0x61, 0x26, 0x68, 0xcf,
+ 0xee, 0xee, 0x8c, 0x9d, 0x5a, 0xce, 0xc0, 0x70, 0x17, 0x36, 0x7a, 0x1d, 0xc6, 0x42, 0x12, 0xb5,
+ 0xdd, 0x64, 0xd1, 0xf7, 0xb6, 0xa5, 0xf8, 0x6e, 0x04, 0x21, 0x69, 0x8a, 0xee, 0xc4, 0xa3, 0x27,
+ 0x2e, 0x5a, 0x4f, 0xd7, 0xa6, 0xde, 0x25, 0xba, 0x39, 0xb6, 0xb4, 0x37, 0x3a, 0xde, 0x8f, 0x9e,
+ 0xfd, 0xaf, 0x4b, 0x70, 0x2a, 0xab, 0x38, 0xd1, 0xdf, 0xb1, 0xe0, 0xe4, 0x9d, 0xbb, 0xc9, 0x4a,
+ 0xb0, 0x41, 0xfc, 0x78, 0x6a, 0x9b, 0x8a, 0x37, 0xa6, 0x32, 0x86, 0x2e, 0x35, 0x8a, 0x55, 0xd1,
+ 0xe3, 0xd7, 0xd2, 0x5c, 0x2e, 0xfb, 0x49, 0xb4, 0x3d, 0xf5, 0xa8, 0x78, 0xbb, 0x93, 0xd7, 0x6e,
+ 0xaf, 0x98, 0x50, 0x9c, 0xed, 0xd4, 0x85, 0xcf, 0x59, 0x70, 0x36, 0x8f, 0x04, 0x3a, 0x05, 0xe5,
+ 0x0d, 0xb2, 0xcd, 0xad, 0x32, 0x4c, 0x7f, 0xa2, 0x57, 0xa1, 0xba, 0xe9, 0x78, 0x1d, 0x22, 0xac,
+ 0x9b, 0xd9, 0xa3, 0xbd, 0x88, 0xea, 0x19, 0xe6, 0x54, 0xdf, 0x57, 0x7a, 0xd1, 0xb2, 0x7f, 0xa7,
+ 0x0c, 0x43, 0x86, 0x7e, 0xbb, 0x0f, 0x16, 0x5b, 0x90, 0xb2, 0xd8, 0x16, 0x0a, 0x53, 0xcd, 0x3d,
+ 0x4d, 0xb6, 0xbb, 0x19, 0x93, 0x6d, 0xb1, 0x38, 0x96, 0x7b, 0xda, 0x6c, 0x28, 0x81, 0x7a, 0x10,
+ 0x52, 0x8b, 0x9c, 0xaa, 0xfe, 0x4a, 0x11, 0x9f, 0x70, 0x51, 0x92, 0x9b, 0x3a, 0xb1, 0xbb, 0x33,
+ 0x56, 0x57, 0x7f, 0xb1, 0x66, 0x64, 0x7f, 0xdb, 0x82, 0xb3, 0x46, 0x1f, 0xa7, 0x03, 0xbf, 0xe9,
+ 0xb2, 0x4f, 0x7b, 0x11, 0x2a, 0xc9, 0x76, 0x28, 0xcd, 0x7e, 0x35, 0x52, 0x2b, 0xdb, 0x21, 0xc1,
+ 0x0c, 0x42, 0x0d, 0xfd, 0x36, 0x89, 0x63, 0xa7, 0x45, 0xb2, 0x86, 0xfe, 0x02, 0x6f, 0xc6, 0x12,
+ 0x8e, 0x22, 0x40, 0x9e, 0x13, 0x27, 0x2b, 0x91, 0xe3, 0xc7, 0x8c, 0xfc, 0x8a, 0xdb, 0x26, 0x62,
+ 0x80, 0xff, 0xff, 0xfe, 0x66, 0x0c, 0x7d, 0x62, 0xea, 0x91, 0xdd, 0x9d, 0x31, 0x34, 0xdf, 0x45,
+ 0x09, 0xe7, 0x50, 0xb7, 0xbf, 0x62, 0xc1, 0x23, 0xf9, 0xb6, 0x18, 0x7a, 0x0a, 0x06, 0xf8, 0x96,
+ 0x4f, 0xbc, 0x9d, 0xfe, 0x24, 0xac, 0x15, 0x0b, 0x28, 0x9a, 0x80, 0xba, 0xd2, 0x13, 0xe2, 0x1d,
+ 0x4f, 0x0b, 0xd4, 0xba, 0x56, 0x2e, 0x1a, 0x87, 0x0e, 0x1a, 0xfd, 0x23, 0x2c, 0x37, 0x35, 0x68,
+ 0x6c, 0x93, 0xc4, 0x20, 0xf6, 0x7f, 0xb2, 0xe0, 0xa4, 0xd1, 0xab, 0xfb, 0x60, 0x9a, 0xfb, 0x69,
+ 0xd3, 0x7c, 0xae, 0xb0, 0xf9, 0xdc, 0xc3, 0x36, 0xff, 0x82, 0x05, 0x17, 0x0c, 0xac, 0x05, 0x27,
+ 0x69, 0xac, 0x5f, 0xde, 0x0a, 0x23, 0x12, 0xd3, 0xed, 0x34, 0x7a, 0xdc, 0x90, 0x5b, 0x53, 0x43,
+ 0x82, 0x42, 0xf9, 0x3a, 0xd9, 0xe6, 0x42, 0xec, 0x19, 0xa8, 0xf1, 0xc9, 0x19, 0x44, 0x62, 0xc4,
+ 0xd5, 0xbb, 0x2d, 0x8a, 0x76, 0xac, 0x30, 0x90, 0x0d, 0x03, 0x4c, 0x38, 0xd1, 0xc5, 0x4a, 0xd5,
+ 0x10, 0xd0, 0x8f, 0x78, 0x8b, 0xb5, 0x60, 0x01, 0xb1, 0xe3, 0x54, 0x77, 0x96, 0x22, 0xc2, 0x3e,
+ 0x6e, 0xf3, 0x8a, 0x4b, 0xbc, 0x66, 0x4c, 0xb7, 0x0d, 0x8e, 0xef, 0x07, 0x89, 0xd8, 0x01, 0x18,
+ 0xdb, 0x86, 0x49, 0xdd, 0x8c, 0x4d, 0x1c, 0xca, 0xd4, 0x73, 0x56, 0x89, 0xc7, 0x47, 0x54, 0x30,
+ 0x9d, 0x67, 0x2d, 0x58, 0x40, 0xec, 0xdd, 0x12, 0xdb, 0xa0, 0xa8, 0xa5, 0x4f, 0xee, 0xc7, 0xee,
+ 0x36, 0x4a, 0xc9, 0xca, 0xa5, 0xe2, 0x04, 0x17, 0xe9, 0xbd, 0xc3, 0x7d, 0x23, 0x23, 0x2e, 0x71,
+ 0xa1, 0x5c, 0xf7, 0xde, 0xe5, 0xfe, 0x66, 0x09, 0xc6, 0xd2, 0x0f, 0x74, 0x49, 0x5b, 0xba, 0xa5,
+ 0x32, 0x18, 0x65, 0x9d, 0x18, 0x06, 0x3e, 0x36, 0xf1, 0x7a, 0x08, 0xac, 0xd2, 0x71, 0x0a, 0x2c,
+ 0x53, 0x9e, 0x96, 0xf7, 0x91, 0xa7, 0x4f, 0xa9, 0x51, 0xaf, 0x64, 0x04, 0x58, 0x5a, 0xa7, 0x5c,
+ 0x84, 0x4a, 0x9c, 0x90, 0x70, 0xb4, 0x9a, 0x96, 0x47, 0xcb, 0x09, 0x09, 0x31, 0x83, 0xd8, 0xff,
+ 0xad, 0x04, 0x8f, 0xa6, 0xc7, 0x50, 0xab, 0x80, 0x0f, 0xa4, 0x54, 0xc0, 0xbb, 0x4d, 0x15, 0x70,
+ 0x6f, 0x67, 0xec, 0x9d, 0x3d, 0x1e, 0xfb, 0x9e, 0xd1, 0x10, 0x68, 0x36, 0x33, 0x8a, 0x13, 0xe9,
+ 0x51, 0xbc, 0xb7, 0x33, 0xf6, 0x78, 0x8f, 0x77, 0xcc, 0x0c, 0xf3, 0x53, 0x30, 0x10, 0x11, 0x27,
+ 0x0e, 0x7c, 0x31, 0xd0, 0xea, 0x73, 0x60, 0xd6, 0x8a, 0x05, 0xd4, 0xfe, 0x77, 0xf5, 0xec, 0x60,
+ 0xcf, 0x72, 0x27, 0x5c, 0x10, 0x21, 0x17, 0x2a, 0xcc, 0xac, 0xe7, 0xa2, 0xe1, 0xfa, 0xd1, 0x96,
+ 0x11, 0x55, 0x03, 0x8a, 0xf4, 0x54, 0x8d, 0x7e, 0x35, 0xda, 0x84, 0x19, 0x0b, 0xb4, 0x05, 0xb5,
+ 0x86, 0xb4, 0xb6, 0x4b, 0x45, 0xf8, 0xa5, 0x84, 0xad, 0xad, 0x39, 0x0e, 0x53, 0x79, 0xad, 0x4c,
+ 0x74, 0xc5, 0x0d, 0x11, 0x28, 0xb7, 0xdc, 0x44, 0x7c, 0xd6, 0x23, 0xee, 0xa7, 0x66, 0x5d, 0xe3,
+ 0x15, 0x07, 0xa9, 0x12, 0x99, 0x75, 0x13, 0x4c, 0xe9, 0xa3, 0x9f, 0xb6, 0x60, 0x28, 0x6e, 0xb4,
+ 0x97, 0xa2, 0x60, 0xd3, 0x6d, 0x92, 0x48, 0x58, 0x53, 0x47, 0x14, 0x4d, 0xcb, 0xd3, 0x0b, 0x92,
+ 0xa0, 0xe6, 0xcb, 0xf7, 0xb7, 0x1a, 0x82, 0x4d, 0xbe, 0x74, 0x97, 0xf1, 0xa8, 0x78, 0xf7, 0x19,
+ 0xd2, 0x70, 0xa9, 0xfe, 0x93, 0x9b, 0x2a, 0x36, 0x53, 0x8e, 0x6c, 0x5d, 0xce, 0x74, 0x1a, 0x1b,
+ 0x74, 0xbd, 0xe9, 0x0e, 0xbd, 0x73, 0x77, 0x67, 0xec, 0xd1, 0xe9, 0x7c, 0x9e, 0xb8, 0x57, 0x67,
+ 0xd8, 0x80, 0x85, 0x1d, 0xcf, 0xc3, 0xe4, 0xf5, 0x0e, 0x61, 0x2e, 0x93, 0x02, 0x06, 0x6c, 0x49,
+ 0x13, 0xcc, 0x0c, 0x98, 0x01, 0xc1, 0x26, 0x5f, 0xf4, 0x3a, 0x0c, 0xb4, 0x9d, 0x24, 0x72, 0xb7,
+ 0x84, 0x9f, 0xe4, 0x88, 0xf6, 0xfe, 0x02, 0xa3, 0xa5, 0x99, 0x33, 0x4d, 0xcd, 0x1b, 0xb1, 0x60,
+ 0x84, 0xda, 0x50, 0x6d, 0x93, 0xa8, 0x45, 0x46, 0x6b, 0x45, 0xf8, 0x84, 0x17, 0x28, 0x29, 0xcd,
+ 0xb0, 0x4e, 0xad, 0x23, 0xd6, 0x86, 0x39, 0x17, 0xf4, 0x2a, 0xd4, 0x62, 0xe2, 0x91, 0x06, 0xb5,
+ 0x6f, 0xea, 0x8c, 0xe3, 0x7b, 0xfa, 0xb4, 0xf5, 0xa8, 0x61, 0xb1, 0x2c, 0x1e, 0xe5, 0x0b, 0x4c,
+ 0xfe, 0xc3, 0x8a, 0x24, 0x1d, 0xc0, 0xd0, 0xeb, 0xb4, 0x5c, 0x7f, 0x14, 0x8a, 0x18, 0xc0, 0x25,
+ 0x46, 0x2b, 0x33, 0x80, 0xbc, 0x11, 0x0b, 0x46, 0xf6, 0x1f, 0x5b, 0x80, 0xd2, 0x42, 0xed, 0x3e,
+ 0x18, 0xb5, 0xaf, 0xa7, 0x8d, 0xda, 0xf9, 0x22, 0xad, 0x8e, 0x1e, 0x76, 0xed, 0xaf, 0xd7, 0x21,
+ 0xa3, 0x0e, 0x6e, 0x90, 0x38, 0x21, 0xcd, 0xb7, 0x45, 0xf8, 0xdb, 0x22, 0xfc, 0x6d, 0x11, 0xae,
+ 0x44, 0xf8, 0x6a, 0x46, 0x84, 0xbf, 0xdf, 0x58, 0xf5, 0xfa, 0x50, 0xf5, 0x35, 0x75, 0xea, 0x6a,
+ 0xf6, 0xc0, 0x40, 0xa0, 0x92, 0xe0, 0xda, 0xf2, 0xe2, 0x8d, 0x5c, 0x99, 0xfd, 0x5a, 0x5a, 0x66,
+ 0x1f, 0x95, 0xc5, 0xff, 0x0b, 0x52, 0xfa, 0x5f, 0x59, 0xf0, 0xae, 0xb4, 0xf4, 0x92, 0x33, 0x67,
+ 0xae, 0xe5, 0x07, 0x11, 0x99, 0x71, 0xd7, 0xd6, 0x48, 0x44, 0xfc, 0x06, 0x89, 0x95, 0x17, 0xc3,
+ 0xea, 0xe5, 0xc5, 0x40, 0xcf, 0xc3, 0xf0, 0x9d, 0x38, 0xf0, 0x97, 0x02, 0xd7, 0x17, 0x22, 0x88,
+ 0x6e, 0x84, 0x4f, 0xed, 0xee, 0x8c, 0x0d, 0xd3, 0x11, 0x95, 0xed, 0x38, 0x85, 0x85, 0xa6, 0xe1,
+ 0xf4, 0x9d, 0xd7, 0x97, 0x9c, 0xc4, 0x70, 0x07, 0xc8, 0x8d, 0x3b, 0x3b, 0xb0, 0xb8, 0xf6, 0x72,
+ 0x06, 0x88, 0xbb, 0xf1, 0xed, 0xbf, 0x51, 0x82, 0xf3, 0x99, 0x17, 0x09, 0x3c, 0x2f, 0xe8, 0x24,
+ 0x74, 0x53, 0x83, 0x7e, 0xc1, 0x82, 0x53, 0xed, 0xb4, 0xc7, 0x21, 0x16, 0x8e, 0xdd, 0x0f, 0x16,
+ 0xa6, 0x23, 0x32, 0x2e, 0x8d, 0xa9, 0x51, 0x31, 0x42, 0xa7, 0x32, 0x80, 0x18, 0x77, 0xf5, 0x05,
+ 0xbd, 0x0a, 0xf5, 0xb6, 0xb3, 0x75, 0x33, 0x6c, 0x3a, 0x89, 0xdc, 0x4f, 0xf6, 0x76, 0x03, 0x74,
+ 0x12, 0xd7, 0x1b, 0xe7, 0xc7, 0xf5, 0xe3, 0x73, 0x7e, 0xb2, 0x18, 0x2d, 0x27, 0x91, 0xeb, 0xb7,
+ 0xb8, 0x3b, 0x6f, 0x41, 0x92, 0xc1, 0x9a, 0xa2, 0xfd, 0x55, 0x2b, 0xab, 0xa4, 0xd4, 0xe8, 0x44,
+ 0x4e, 0x42, 0x5a, 0xdb, 0xe8, 0x63, 0x50, 0xa5, 0x1b, 0x3f, 0x39, 0x2a, 0xb7, 0x8b, 0xd4, 0x9c,
+ 0xc6, 0x97, 0xd0, 0x4a, 0x94, 0xfe, 0x8b, 0x31, 0x67, 0x6a, 0xff, 0x71, 0x2d, 0x6b, 0x2c, 0xb0,
+ 0xc3, 0xdb, 0x4b, 0x00, 0xad, 0x60, 0x85, 0xb4, 0x43, 0x8f, 0x0e, 0x8b, 0xc5, 0x4e, 0x00, 0x94,
+ 0xaf, 0x63, 0x56, 0x41, 0xb0, 0x81, 0x85, 0xfe, 0x92, 0x05, 0xd0, 0x92, 0x73, 0x5e, 0x1a, 0x02,
+ 0x37, 0x8b, 0x7c, 0x1d, 0xbd, 0xa2, 0x74, 0x5f, 0x14, 0x43, 0x6c, 0x30, 0x47, 0x3f, 0x65, 0x41,
+ 0x2d, 0x91, 0xdd, 0xe7, 0xaa, 0x71, 0xa5, 0xc8, 0x9e, 0xc8, 0x97, 0xd6, 0x36, 0x91, 0x1a, 0x12,
+ 0xc5, 0x17, 0xfd, 0x8c, 0x05, 0x10, 0x6f, 0xfb, 0x8d, 0xa5, 0xc0, 0x73, 0x1b, 0xdb, 0x42, 0x63,
+ 0xde, 0x2a, 0xd4, 0x1f, 0xa3, 0xa8, 0x4f, 0x8d, 0xd0, 0xd1, 0xd0, 0xff, 0xb1, 0xc1, 0x19, 0x7d,
+ 0x02, 0x6a, 0xb1, 0x98, 0x6e, 0x42, 0x47, 0xae, 0x14, 0xeb, 0x15, 0xe2, 0xb4, 0x85, 0x78, 0x15,
+ 0xff, 0xb0, 0xe2, 0x89, 0x7e, 0xce, 0x82, 0x93, 0x61, 0xda, 0xcf, 0x27, 0xd4, 0x61, 0x71, 0x32,
+ 0x20, 0xe3, 0x47, 0x9c, 0x3a, 0xb3, 0xbb, 0x33, 0x76, 0x32, 0xd3, 0x88, 0xb3, 0xbd, 0xa0, 0x12,
+ 0x50, 0xcf, 0xe0, 0xc5, 0x90, 0xfb, 0x1c, 0x07, 0xb5, 0x04, 0x9c, 0xcd, 0x02, 0x71, 0x37, 0x3e,
+ 0x5a, 0x82, 0xb3, 0xb4, 0x77, 0xdb, 0xdc, 0xfc, 0x94, 0xea, 0x25, 0x66, 0xca, 0xb0, 0x36, 0xf5,
+ 0x98, 0x98, 0x21, 0xcc, 0xab, 0x9f, 0xc5, 0xc1, 0xb9, 0x4f, 0xa2, 0xdf, 0xb1, 0xe0, 0x31, 0x97,
+ 0xa9, 0x01, 0xd3, 0x61, 0xae, 0x35, 0x82, 0x38, 0x89, 0x25, 0x85, 0xca, 0x8a, 0x5e, 0xea, 0x67,
+ 0xea, 0xff, 0x13, 0x6f, 0xf0, 0xd8, 0xdc, 0x1e, 0x5d, 0xc2, 0x7b, 0x76, 0xd8, 0xfe, 0x56, 0x29,
+ 0x75, 0xac, 0xa1, 0x7c, 0x89, 0x4c, 0x6a, 0x34, 0xa4, 0x1b, 0x47, 0x0a, 0xc1, 0x42, 0xa5, 0x86,
+ 0x72, 0x12, 0x69, 0xa9, 0xa1, 0x9a, 0x62, 0x6c, 0x30, 0xa7, 0xb6, 0xe5, 0x69, 0x27, 0xeb, 0xb1,
+ 0x14, 0x82, 0xec, 0xd5, 0x22, 0xbb, 0xd4, 0x7d, 0x08, 0x75, 0x5e, 0x74, 0xed, 0x74, 0x17, 0x08,
+ 0x77, 0x77, 0xc9, 0xfe, 0x56, 0xfa, 0x28, 0xc5, 0x58, 0x83, 0x7d, 0x1c, 0x13, 0x7d, 0xd1, 0x82,
+ 0xa1, 0x28, 0xf0, 0x3c, 0xd7, 0x6f, 0x51, 0x79, 0x21, 0x94, 0xde, 0x87, 0x8f, 0x45, 0xef, 0x08,
+ 0xc1, 0xc0, 0x2c, 0x54, 0xac, 0x79, 0x62, 0xb3, 0x03, 0xf6, 0x1f, 0x59, 0x30, 0xda, 0x4b, 0xae,
+ 0x21, 0x02, 0xef, 0x94, 0x8b, 0x56, 0x05, 0x49, 0x2c, 0xfa, 0x33, 0xc4, 0x23, 0xca, 0x7f, 0x5c,
+ 0x9b, 0x7a, 0x52, 0xbc, 0xe6, 0x3b, 0x97, 0x7a, 0xa3, 0xe2, 0xbd, 0xe8, 0xa0, 0x57, 0xe0, 0x94,
+ 0xf1, 0x5e, 0xb1, 0x1a, 0x98, 0xfa, 0xd4, 0x38, 0x35, 0x24, 0x26, 0x33, 0xb0, 0x7b, 0x3b, 0x63,
+ 0x8f, 0x64, 0xdb, 0x84, 0xe0, 0xed, 0xa2, 0x63, 0xff, 0x72, 0x29, 0xfb, 0xb5, 0x94, 0xce, 0x7c,
+ 0xcb, 0xea, 0xda, 0x95, 0x7f, 0xf0, 0x38, 0xf4, 0x14, 0xdb, 0xbf, 0xab, 0x38, 0x8c, 0xde, 0x38,
+ 0x0f, 0xf0, 0xa0, 0xd7, 0xfe, 0x37, 0x15, 0xd8, 0xa3, 0x67, 0x7d, 0x18, 0xc1, 0x07, 0x3e, 0x1d,
+ 0xfc, 0xbc, 0xa5, 0x4e, 0x8e, 0xca, 0x6c, 0x91, 0x37, 0x8f, 0x6b, 0xec, 0xf9, 0x3e, 0x24, 0xe6,
+ 0xc1, 0x06, 0xca, 0x1b, 0x9d, 0x3e, 0xa3, 0x42, 0x5f, 0xb3, 0xd2, 0x67, 0x5f, 0x3c, 0x7a, 0xcc,
+ 0x3d, 0xb6, 0x3e, 0x19, 0x07, 0x6a, 0xbc, 0x63, 0xfa, 0x18, 0xa6, 0xd7, 0x51, 0xdb, 0x38, 0xc0,
+ 0x9a, 0xeb, 0x3b, 0x9e, 0xfb, 0x06, 0xdd, 0x65, 0x54, 0x99, 0xa2, 0x64, 0x96, 0xc7, 0x15, 0xd5,
+ 0x8a, 0x0d, 0x8c, 0x0b, 0x7f, 0x11, 0x86, 0x8c, 0x37, 0xcf, 0x89, 0x91, 0x38, 0x6b, 0xc6, 0x48,
+ 0xd4, 0x8d, 0xd0, 0x86, 0x0b, 0xef, 0x87, 0x53, 0xd9, 0x0e, 0x1e, 0xe4, 0x79, 0xfb, 0xcf, 0x07,
+ 0xb3, 0x87, 0x51, 0x2b, 0x24, 0x6a, 0xd3, 0xae, 0xbd, 0xed, 0x20, 0x7a, 0xdb, 0x41, 0xf4, 0xb6,
+ 0x83, 0xc8, 0xf4, 0xf1, 0x0b, 0xe7, 0xc7, 0xe0, 0x7d, 0x72, 0x7e, 0xa4, 0xdc, 0x39, 0xb5, 0xc2,
+ 0xdd, 0x39, 0xf6, 0x6e, 0x15, 0x52, 0x76, 0x14, 0x1f, 0xef, 0x1f, 0x82, 0xc1, 0x88, 0x84, 0xc1,
+ 0x4d, 0x3c, 0x2f, 0x74, 0x88, 0x8e, 0x83, 0xe7, 0xcd, 0x58, 0xc2, 0xa9, 0xae, 0x09, 0x9d, 0x64,
+ 0x5d, 0x28, 0x11, 0xa5, 0x6b, 0x96, 0x9c, 0x64, 0x1d, 0x33, 0x08, 0x7a, 0x3f, 0x8c, 0x24, 0x4e,
+ 0xd4, 0xa2, 0x66, 0xf3, 0x26, 0xfb, 0xac, 0xe2, 0xc8, 0xf2, 0x11, 0x81, 0x3b, 0xb2, 0x92, 0x82,
+ 0xe2, 0x0c, 0x36, 0x7a, 0x1d, 0x2a, 0xeb, 0xc4, 0x6b, 0x8b, 0x21, 0x5f, 0x2e, 0x4e, 0xc6, 0xb3,
+ 0x77, 0xbd, 0x4a, 0xbc, 0x36, 0x97, 0x40, 0xf4, 0x17, 0x66, 0xac, 0xe8, 0x7c, 0xab, 0x6f, 0x74,
+ 0xe2, 0x24, 0x68, 0xbb, 0x6f, 0x48, 0x4f, 0xdd, 0x07, 0x0b, 0x66, 0x7c, 0x5d, 0xd2, 0xe7, 0x2e,
+ 0x11, 0xf5, 0x17, 0x6b, 0xce, 0xac, 0x1f, 0x4d, 0x37, 0x62, 0x9f, 0x6a, 0x5b, 0x38, 0xdc, 0x8a,
+ 0xee, 0xc7, 0x8c, 0xa4, 0xcf, 0xfb, 0xa1, 0xfe, 0x62, 0xcd, 0x19, 0x6d, 0xab, 0x79, 0x3f, 0xc4,
+ 0xfa, 0x70, 0xb3, 0xe0, 0x3e, 0xf0, 0x39, 0x9f, 0x3b, 0xff, 0x9f, 0x84, 0x6a, 0x63, 0xdd, 0x89,
+ 0x92, 0xd1, 0x61, 0x36, 0x69, 0x94, 0x6b, 0x66, 0x9a, 0x36, 0x62, 0x0e, 0x43, 0x8f, 0x43, 0x39,
+ 0x22, 0x6b, 0x2c, 0xfc, 0xd2, 0x08, 0xcc, 0xc1, 0x64, 0x0d, 0xd3, 0x76, 0xfb, 0x17, 0x4b, 0x69,
+ 0x73, 0x29, 0xfd, 0xde, 0x7c, 0xb6, 0x37, 0x3a, 0x51, 0x2c, 0xdd, 0x37, 0xc6, 0x6c, 0x67, 0xcd,
+ 0x58, 0xc2, 0xd1, 0xa7, 0x2c, 0x18, 0xbc, 0x13, 0x07, 0xbe, 0x4f, 0x12, 0xa1, 0x9a, 0x6e, 0x15,
+ 0x3c, 0x14, 0xd7, 0x38, 0x75, 0xdd, 0x07, 0xd1, 0x80, 0x25, 0x5f, 0xda, 0x5d, 0xb2, 0xd5, 0xf0,
+ 0x3a, 0xcd, 0xae, 0x58, 0x8b, 0xcb, 0xbc, 0x19, 0x4b, 0x38, 0x45, 0x75, 0x7d, 0x8e, 0x5a, 0x49,
+ 0xa3, 0xce, 0xf9, 0x02, 0x55, 0xc0, 0xed, 0xbf, 0x36, 0x00, 0xe7, 0x72, 0x17, 0x07, 0x35, 0x64,
+ 0x98, 0xa9, 0x70, 0xc5, 0xf5, 0x88, 0x8c, 0x32, 0x62, 0x86, 0xcc, 0x2d, 0xd5, 0x8a, 0x0d, 0x0c,
+ 0xf4, 0x93, 0x00, 0xa1, 0x13, 0x39, 0x6d, 0xa2, 0xdc, 0xab, 0x47, 0xb6, 0x17, 0x68, 0x3f, 0x96,
+ 0x24, 0x4d, 0xbd, 0x37, 0x55, 0x4d, 0x31, 0x36, 0x58, 0xa2, 0x17, 0x60, 0x28, 0x22, 0x1e, 0x71,
+ 0x62, 0x16, 0xbd, 0x9b, 0x4d, 0x45, 0xc0, 0x1a, 0x84, 0x4d, 0x3c, 0xf4, 0x94, 0x0a, 0xc8, 0xca,
+ 0x04, 0xa6, 0xa4, 0x83, 0xb2, 0xd0, 0x9b, 0x16, 0x8c, 0xac, 0xb9, 0x1e, 0xd1, 0xdc, 0x45, 0xe2,
+ 0xc0, 0xe2, 0xd1, 0x5f, 0xf2, 0x8a, 0x49, 0x57, 0x4b, 0xc8, 0x54, 0x73, 0x8c, 0x33, 0xec, 0xe9,
+ 0x67, 0xde, 0x24, 0x11, 0x13, 0xad, 0x03, 0xe9, 0xcf, 0x7c, 0x8b, 0x37, 0x63, 0x09, 0x47, 0x93,
+ 0x70, 0x32, 0x74, 0xe2, 0x78, 0x3a, 0x22, 0x4d, 0xe2, 0x27, 0xae, 0xe3, 0xf1, 0xb0, 0xfe, 0x9a,
+ 0x0e, 0xeb, 0x5d, 0x4a, 0x83, 0x71, 0x16, 0x1f, 0x7d, 0x08, 0x1e, 0xe5, 0xfe, 0x8b, 0x05, 0x37,
+ 0x8e, 0x5d, 0xbf, 0xa5, 0xa7, 0x81, 0x70, 0xe3, 0x8c, 0x09, 0x52, 0x8f, 0xce, 0xe5, 0xa3, 0xe1,
+ 0x5e, 0xcf, 0xa3, 0x67, 0xa0, 0x16, 0x6f, 0xb8, 0xe1, 0x74, 0xd4, 0x8c, 0xd9, 0xd9, 0x45, 0x4d,
+ 0x3b, 0x0d, 0x97, 0x45, 0x3b, 0x56, 0x18, 0xa8, 0x01, 0xc3, 0xfc, 0x93, 0xf0, 0x88, 0x32, 0x21,
+ 0x1f, 0x9f, 0xed, 0xa9, 0x1e, 0x45, 0xe6, 0xd9, 0x38, 0x76, 0xee, 0x5e, 0x96, 0x27, 0x29, 0xdc,
+ 0xf1, 0x7f, 0xcb, 0x20, 0x83, 0x53, 0x44, 0xed, 0x9f, 0x2f, 0xa5, 0x77, 0xdc, 0xe6, 0x22, 0x45,
+ 0x31, 0x5d, 0x8a, 0xc9, 0x2d, 0x27, 0x92, 0xde, 0x98, 0x23, 0x66, 0x1f, 0x08, 0xba, 0xb7, 0x9c,
+ 0xc8, 0x5c, 0xd4, 0x8c, 0x01, 0x96, 0x9c, 0xd0, 0x1d, 0xa8, 0x24, 0x9e, 0x53, 0x50, 0xba, 0x92,
+ 0xc1, 0x51, 0x3b, 0x40, 0xe6, 0x27, 0x63, 0xcc, 0x78, 0xa0, 0xc7, 0xa8, 0xd5, 0xbf, 0x2a, 0x4f,
+ 0x3a, 0x84, 0xa1, 0xbe, 0x1a, 0x63, 0xd6, 0x6a, 0xff, 0x79, 0x3d, 0x47, 0xae, 0x2a, 0x45, 0x86,
+ 0x2e, 0x01, 0xd0, 0x0d, 0xe4, 0x52, 0x44, 0xd6, 0xdc, 0x2d, 0x61, 0x48, 0xa8, 0xb5, 0x7b, 0x43,
+ 0x41, 0xb0, 0x81, 0x25, 0x9f, 0x59, 0xee, 0xac, 0xd1, 0x67, 0x4a, 0xdd, 0xcf, 0x70, 0x08, 0x36,
+ 0xb0, 0xd0, 0xf3, 0x30, 0xe0, 0xb6, 0x9d, 0x96, 0x8a, 0xa4, 0x7c, 0x8c, 0x2e, 0xda, 0x39, 0xd6,
+ 0x72, 0x6f, 0x67, 0x6c, 0x44, 0x75, 0x88, 0x35, 0x61, 0x81, 0x8b, 0x7e, 0xd9, 0x82, 0xe1, 0x46,
+ 0xd0, 0x6e, 0x07, 0x3e, 0xdf, 0x76, 0x89, 0x3d, 0xe4, 0x9d, 0xe3, 0x52, 0xf3, 0xe3, 0xd3, 0x06,
+ 0x33, 0xbe, 0x89, 0x54, 0x79, 0x55, 0x26, 0x08, 0xa7, 0x7a, 0x65, 0xae, 0xed, 0xea, 0x3e, 0x6b,
+ 0xfb, 0xd7, 0x2c, 0x38, 0xcd, 0x9f, 0x35, 0x76, 0x83, 0x22, 0x85, 0x28, 0x38, 0xe6, 0xd7, 0xea,
+ 0xda, 0x20, 0x2b, 0x2f, 0x5d, 0x17, 0x1c, 0x77, 0x77, 0x12, 0xcd, 0xc2, 0xe9, 0xb5, 0x20, 0x6a,
+ 0x10, 0x73, 0x20, 0x84, 0x60, 0x52, 0x84, 0xae, 0x64, 0x11, 0x70, 0xf7, 0x33, 0xe8, 0x16, 0x3c,
+ 0x62, 0x34, 0x9a, 0xe3, 0xc0, 0x65, 0xd3, 0x13, 0x82, 0xda, 0x23, 0x57, 0x72, 0xb1, 0x70, 0x8f,
+ 0xa7, 0xd3, 0x0e, 0x93, 0x7a, 0x1f, 0x0e, 0x93, 0xd7, 0xe0, 0x7c, 0xa3, 0x7b, 0x64, 0x36, 0xe3,
+ 0xce, 0x6a, 0xcc, 0x25, 0x55, 0x6d, 0xea, 0x07, 0x04, 0x81, 0xf3, 0xd3, 0xbd, 0x10, 0x71, 0x6f,
+ 0x1a, 0xe8, 0x63, 0x50, 0x8b, 0x08, 0xfb, 0x2a, 0xb1, 0xc8, 0xa7, 0x39, 0xe2, 0x2e, 0x59, 0x5b,
+ 0xa0, 0x9c, 0xac, 0x96, 0xbd, 0xa2, 0x21, 0xc6, 0x8a, 0x23, 0xba, 0x0b, 0x83, 0xa1, 0x93, 0x34,
+ 0xd6, 0x45, 0x16, 0xcd, 0x91, 0xc3, 0x58, 0x14, 0xf3, 0x25, 0x4a, 0x55, 0x4f, 0xf2, 0x25, 0xce,
+ 0x04, 0x4b, 0x6e, 0x17, 0x3e, 0x00, 0xa7, 0xbb, 0x16, 0xd2, 0x81, 0x9c, 0x25, 0x33, 0xf0, 0x48,
+ 0xfe, 0x94, 0x3d, 0x90, 0xcb, 0xe4, 0x1f, 0x67, 0x62, 0x4f, 0x0d, 0x33, 0xb6, 0x0f, 0xf7, 0x9b,
+ 0x03, 0x65, 0xe2, 0x6f, 0x0a, 0x09, 0x7e, 0xe5, 0x68, 0x23, 0x77, 0xd9, 0xdf, 0xe4, 0x2b, 0x8e,
+ 0xf9, 0x18, 0x2e, 0xfb, 0x9b, 0x98, 0xd2, 0x46, 0x5f, 0xb6, 0x52, 0x66, 0x18, 0x77, 0xda, 0x7d,
+ 0xe4, 0x58, 0xec, 0xf6, 0xbe, 0x2d, 0x33, 0xfb, 0xdf, 0x96, 0xe0, 0xe2, 0x7e, 0x44, 0xfa, 0x18,
+ 0xbe, 0x27, 0x61, 0x20, 0x66, 0xa7, 0xc9, 0x42, 0x24, 0x0e, 0xd1, 0x99, 0xc2, 0xcf, 0x97, 0x5f,
+ 0xc3, 0x02, 0x84, 0x3c, 0x28, 0xb7, 0x9d, 0x50, 0xf8, 0x72, 0xe6, 0x8e, 0x9a, 0x8d, 0x42, 0xff,
+ 0x3b, 0xde, 0x82, 0x13, 0x72, 0x0f, 0x81, 0xd1, 0x80, 0x29, 0x1b, 0x94, 0x40, 0xd5, 0x89, 0x22,
+ 0x47, 0x1e, 0x5d, 0x5e, 0x2f, 0x86, 0xdf, 0x24, 0x25, 0x39, 0x75, 0x7a, 0x77, 0x67, 0xec, 0x44,
+ 0xaa, 0x09, 0x73, 0x66, 0xf6, 0xe7, 0x07, 0x53, 0x19, 0x19, 0xec, 0x3c, 0x3a, 0x86, 0x01, 0xe1,
+ 0xc2, 0xb1, 0x8a, 0x4e, 0x02, 0xe2, 0x29, 0x75, 0x6c, 0x97, 0x26, 0x12, 0x93, 0x05, 0x2b, 0xf4,
+ 0x39, 0x8b, 0xa5, 0xff, 0xca, 0x2c, 0x15, 0xb1, 0x37, 0x3a, 0x9e, 0x6c, 0x64, 0x33, 0xa9, 0x58,
+ 0x36, 0x62, 0x93, 0x3b, 0xd5, 0x99, 0x21, 0x4f, 0x64, 0xcb, 0xee, 0x90, 0x64, 0x82, 0xb0, 0x84,
+ 0xa3, 0xad, 0x9c, 0x73, 0xe7, 0x02, 0x52, 0x48, 0xfb, 0x38, 0x69, 0xfe, 0x9a, 0x05, 0xa7, 0xdd,
+ 0xec, 0x01, 0xa2, 0xd8, 0x49, 0x1c, 0x31, 0xb2, 0xa1, 0xf7, 0xf9, 0xa4, 0x52, 0xa6, 0x5d, 0x20,
+ 0xdc, 0xdd, 0x19, 0xd4, 0x84, 0x8a, 0xeb, 0xaf, 0x05, 0xc2, 0x84, 0x98, 0x3a, 0x5a, 0xa7, 0xe6,
+ 0xfc, 0xb5, 0x40, 0xaf, 0x66, 0xfa, 0x0f, 0x33, 0xea, 0x68, 0x1e, 0xce, 0x46, 0xc2, 0xd7, 0x73,
+ 0xd5, 0x8d, 0xe9, 0x8e, 0x7c, 0xde, 0x6d, 0xbb, 0x09, 0x53, 0xff, 0xe5, 0xa9, 0xd1, 0xdd, 0x9d,
+ 0xb1, 0xb3, 0x38, 0x07, 0x8e, 0x73, 0x9f, 0x42, 0x6f, 0xc0, 0xa0, 0xcc, 0x57, 0xae, 0x15, 0xb1,
+ 0x2b, 0xeb, 0x9e, 0xff, 0x6a, 0x32, 0x2d, 0x8b, 0xd4, 0x64, 0xc9, 0xd0, 0x7e, 0x73, 0x08, 0xba,
+ 0x0f, 0x25, 0xd1, 0xc7, 0xa1, 0x1e, 0xa9, 0x1c, 0x6a, 0xab, 0x08, 0x65, 0x29, 0xbf, 0xaf, 0x38,
+ 0x10, 0x55, 0x86, 0x88, 0xce, 0x96, 0xd6, 0x1c, 0xe9, 0x76, 0x21, 0xd6, 0x67, 0x97, 0x05, 0xcc,
+ 0x6d, 0xc1, 0x55, 0x9f, 0x4b, 0x6d, 0xfb, 0x0d, 0xcc, 0x78, 0xa0, 0x08, 0x06, 0xd6, 0x89, 0xe3,
+ 0x25, 0xeb, 0xc5, 0xb8, 0xd0, 0xaf, 0x32, 0x5a, 0xd9, 0x4c, 0x1a, 0xde, 0x8a, 0x05, 0x27, 0xb4,
+ 0x05, 0x83, 0xeb, 0x7c, 0x02, 0x08, 0x0b, 0x7e, 0xe1, 0xa8, 0x83, 0x9b, 0x9a, 0x55, 0xfa, 0x73,
+ 0x8b, 0x06, 0x2c, 0xd9, 0xb1, 0xa0, 0x15, 0xe3, 0x3c, 0x9e, 0x2f, 0xdd, 0xe2, 0x92, 0x88, 0xfa,
+ 0x3f, 0x8c, 0xff, 0x28, 0x0c, 0x47, 0xa4, 0x11, 0xf8, 0x0d, 0xd7, 0x23, 0xcd, 0x49, 0xe9, 0x1e,
+ 0x3f, 0x48, 0xea, 0x09, 0xdb, 0x05, 0x63, 0x83, 0x06, 0x4e, 0x51, 0x44, 0x9f, 0xb5, 0x60, 0x44,
+ 0x25, 0x5e, 0xd2, 0x0f, 0x42, 0x84, 0x3b, 0x76, 0xbe, 0xa0, 0x34, 0x4f, 0x46, 0x73, 0x0a, 0xed,
+ 0xee, 0x8c, 0x8d, 0xa4, 0xdb, 0x70, 0x86, 0x2f, 0x7a, 0x05, 0x20, 0x58, 0xe5, 0x91, 0x29, 0x93,
+ 0x89, 0xf0, 0xcd, 0x1e, 0xe4, 0x55, 0x47, 0x78, 0x0e, 0x9a, 0xa4, 0x80, 0x0d, 0x6a, 0xe8, 0x3a,
+ 0x00, 0x5f, 0x36, 0x2b, 0xdb, 0xa1, 0x34, 0xf3, 0x65, 0xee, 0x10, 0x2c, 0x2b, 0xc8, 0xbd, 0x9d,
+ 0xb1, 0x6e, 0x5f, 0x19, 0x0b, 0x1b, 0x30, 0x1e, 0x47, 0x3f, 0x01, 0x83, 0x71, 0xa7, 0xdd, 0x76,
+ 0x94, 0xe7, 0xb6, 0xc0, 0xac, 0x36, 0x4e, 0xd7, 0x10, 0x45, 0xbc, 0x01, 0x4b, 0x8e, 0xe8, 0x0e,
+ 0x15, 0xaa, 0xb1, 0x70, 0xe2, 0xb1, 0x55, 0xc4, 0x6d, 0x82, 0x21, 0xf6, 0x4e, 0xef, 0x95, 0x81,
+ 0x36, 0x38, 0x07, 0xe7, 0xde, 0xce, 0xd8, 0x23, 0xe9, 0xf6, 0xf9, 0x40, 0xe4, 0x99, 0xe5, 0xd2,
+ 0x44, 0xd7, 0x64, 0xf9, 0x12, 0xfa, 0xda, 0x32, 0xab, 0xfe, 0x69, 0x5d, 0xbe, 0x84, 0x35, 0xf7,
+ 0x1e, 0x33, 0xf3, 0x61, 0xb4, 0x00, 0x67, 0x1a, 0x81, 0x9f, 0x44, 0x81, 0xe7, 0xf1, 0x9a, 0x3c,
+ 0x7c, 0xc7, 0xc5, 0x3d, 0xbb, 0xef, 0x14, 0xdd, 0x3e, 0x33, 0xdd, 0x8d, 0x82, 0xf3, 0x9e, 0xb3,
+ 0xfd, 0x74, 0xc8, 0x9e, 0x18, 0x9c, 0xe7, 0x61, 0x98, 0x6c, 0x25, 0x24, 0xf2, 0x1d, 0xef, 0x26,
+ 0x9e, 0x97, 0x3e, 0x4d, 0xb6, 0x06, 0x2e, 0x1b, 0xed, 0x38, 0x85, 0x85, 0x6c, 0xe5, 0x66, 0x30,
+ 0x72, 0x27, 0xb9, 0x9b, 0x41, 0x3a, 0x15, 0xec, 0xff, 0x55, 0x4a, 0x19, 0x64, 0x2b, 0x11, 0x21,
+ 0x28, 0x80, 0xaa, 0x1f, 0x34, 0x95, 0xec, 0xbf, 0x56, 0x8c, 0xec, 0xbf, 0x11, 0x34, 0x8d, 0x1a,
+ 0x27, 0xf4, 0x5f, 0x8c, 0x39, 0x1f, 0x56, 0x04, 0x42, 0x56, 0xcb, 0x60, 0x00, 0xb1, 0xd1, 0x28,
+ 0x92, 0xb3, 0x2a, 0x02, 0xb1, 0x68, 0x32, 0xc2, 0x69, 0xbe, 0x68, 0x03, 0xaa, 0xeb, 0x41, 0x9c,
+ 0xc8, 0xed, 0xc7, 0x11, 0x77, 0x3a, 0x57, 0x83, 0x38, 0x61, 0x56, 0x84, 0x7a, 0x6d, 0xda, 0x12,
+ 0x63, 0xce, 0xc3, 0xfe, 0x2f, 0x56, 0xca, 0x83, 0x7d, 0x9b, 0x85, 0xaf, 0x6e, 0x12, 0x9f, 0x2e,
+ 0x6b, 0x33, 0xd0, 0xe7, 0x2f, 0x64, 0x92, 0x01, 0xdf, 0xd5, 0xab, 0xe2, 0xd4, 0x5d, 0x4a, 0x61,
+ 0x9c, 0x91, 0x30, 0x62, 0x82, 0x3e, 0x69, 0xa5, 0xd3, 0x32, 0x4b, 0x45, 0x6c, 0x30, 0xcc, 0xd4,
+ 0xe4, 0x7d, 0x33, 0x3c, 0xed, 0x2f, 0x5b, 0x30, 0x38, 0xe5, 0x34, 0x36, 0x82, 0xb5, 0x35, 0xf4,
+ 0x0c, 0xd4, 0x9a, 0x9d, 0xc8, 0xcc, 0x10, 0x55, 0xdb, 0xf6, 0x19, 0xd1, 0x8e, 0x15, 0x06, 0x9d,
+ 0xc3, 0x6b, 0x4e, 0x43, 0x26, 0x28, 0x97, 0xf9, 0x1c, 0xbe, 0xc2, 0x5a, 0xb0, 0x80, 0xa0, 0x17,
+ 0x60, 0xa8, 0xed, 0x6c, 0xc9, 0x87, 0xb3, 0xee, 0xf3, 0x05, 0x0d, 0xc2, 0x26, 0x9e, 0xfd, 0x2f,
+ 0x2d, 0x18, 0x9d, 0x72, 0x62, 0xb7, 0x31, 0xd9, 0x49, 0xd6, 0xa7, 0xdc, 0x64, 0xb5, 0xd3, 0xd8,
+ 0x20, 0x09, 0xcf, 0x4a, 0xa7, 0xbd, 0xec, 0xc4, 0x74, 0x29, 0xa9, 0x7d, 0x9d, 0xea, 0xe5, 0x4d,
+ 0xd1, 0x8e, 0x15, 0x06, 0x7a, 0x03, 0x86, 0x42, 0x27, 0x8e, 0xef, 0x06, 0x51, 0x13, 0x93, 0xb5,
+ 0x62, 0x6a, 0x42, 0x2c, 0x93, 0x46, 0x44, 0x12, 0x4c, 0xd6, 0xc4, 0x11, 0xaf, 0xa6, 0x8f, 0x4d,
+ 0x66, 0xf6, 0x17, 0x2d, 0x38, 0x3f, 0x45, 0x9c, 0x88, 0x44, 0xac, 0x84, 0x84, 0x7a, 0x91, 0x69,
+ 0x2f, 0xe8, 0x34, 0xd1, 0xeb, 0x50, 0x4b, 0x68, 0x33, 0xed, 0x96, 0x55, 0x6c, 0xb7, 0xd8, 0x09,
+ 0xed, 0x8a, 0x20, 0x8e, 0x15, 0x1b, 0xfb, 0xaf, 0x5b, 0x30, 0xcc, 0x0e, 0xbb, 0x66, 0x48, 0xe2,
+ 0xb8, 0x5e, 0x57, 0xa5, 0x25, 0xab, 0xcf, 0x4a, 0x4b, 0x17, 0xa1, 0xb2, 0x1e, 0xb4, 0x49, 0xf6,
+ 0xa0, 0xf6, 0x6a, 0x40, 0xb7, 0xd5, 0x14, 0x82, 0x9e, 0xa3, 0x1f, 0xde, 0xf5, 0x13, 0x87, 0x2e,
+ 0x01, 0xe9, 0x4c, 0x3d, 0xc9, 0x3f, 0xba, 0x6a, 0xc6, 0x26, 0x8e, 0xfd, 0x9b, 0x75, 0x18, 0x14,
+ 0xa7, 0xf9, 0x7d, 0x57, 0x26, 0x90, 0xfb, 0xfb, 0x52, 0xcf, 0xfd, 0x7d, 0x0c, 0x03, 0x0d, 0x56,
+ 0xc7, 0x4d, 0x98, 0x91, 0xd7, 0x0b, 0x09, 0xff, 0xe0, 0xa5, 0xe1, 0x74, 0xb7, 0xf8, 0x7f, 0x2c,
+ 0x58, 0xa1, 0x2f, 0x59, 0x70, 0xb2, 0x11, 0xf8, 0x3e, 0x69, 0x68, 0x1b, 0xa7, 0x52, 0xc4, 0x29,
+ 0xff, 0x74, 0x9a, 0xa8, 0x3e, 0x69, 0xc9, 0x00, 0x70, 0x96, 0x3d, 0x7a, 0x09, 0x4e, 0xf0, 0x31,
+ 0xbb, 0x95, 0xf2, 0x00, 0xeb, 0x02, 0x3c, 0x26, 0x10, 0xa7, 0x71, 0xd1, 0x38, 0xf7, 0xa4, 0x8b,
+ 0x52, 0x37, 0x03, 0xfa, 0xd8, 0xce, 0x28, 0x72, 0x63, 0x60, 0xa0, 0x08, 0x50, 0x44, 0xd6, 0x22,
+ 0x12, 0xaf, 0x8b, 0x68, 0x07, 0x66, 0x5f, 0x0d, 0x1e, 0x2e, 0x8b, 0x19, 0x77, 0x51, 0xc2, 0x39,
+ 0xd4, 0xd1, 0x86, 0xd8, 0x60, 0xd6, 0x8a, 0x90, 0xa1, 0xe2, 0x33, 0xf7, 0xdc, 0x67, 0x8e, 0x41,
+ 0x35, 0x5e, 0x77, 0xa2, 0x26, 0xb3, 0xeb, 0xca, 0x3c, 0x73, 0x66, 0x99, 0x36, 0x60, 0xde, 0x8e,
+ 0x66, 0xe0, 0x54, 0xa6, 0x7c, 0x50, 0x2c, 0x3c, 0xb5, 0x2a, 0x4b, 0x22, 0x53, 0x78, 0x28, 0xc6,
+ 0x5d, 0x4f, 0x98, 0xce, 0x87, 0xa1, 0x7d, 0x9c, 0x0f, 0xdb, 0x2a, 0xa6, 0x8e, 0xfb, 0x50, 0x5f,
+ 0x2e, 0x64, 0x00, 0xfa, 0x0a, 0xa0, 0xfb, 0x42, 0x26, 0x80, 0xee, 0x04, 0xeb, 0xc0, 0xad, 0x62,
+ 0x3a, 0x70, 0xf0, 0x68, 0xb9, 0x07, 0x19, 0xfd, 0xf6, 0x67, 0x16, 0xc8, 0xef, 0x3a, 0xed, 0x34,
+ 0xd6, 0x09, 0x9d, 0x32, 0xe8, 0xfd, 0x30, 0xa2, 0xb6, 0xd0, 0xd3, 0x41, 0xc7, 0xe7, 0x81, 0x6f,
+ 0x65, 0x7d, 0x24, 0x8b, 0x53, 0x50, 0x9c, 0xc1, 0x46, 0x13, 0x50, 0xa7, 0xe3, 0xc4, 0x1f, 0xe5,
+ 0xba, 0x56, 0x6d, 0xd3, 0x27, 0x97, 0xe6, 0xc4, 0x53, 0x1a, 0x07, 0x05, 0x70, 0xda, 0x73, 0xe2,
+ 0x84, 0xf5, 0x80, 0xee, 0xa8, 0x0f, 0x59, 0x43, 0x80, 0x85, 0xe2, 0xcf, 0x67, 0x09, 0xe1, 0x6e,
+ 0xda, 0xf6, 0xb7, 0x2b, 0x70, 0x22, 0x25, 0x19, 0x0f, 0xa8, 0xa4, 0x9f, 0x81, 0x9a, 0xd4, 0x9b,
+ 0xd9, 0x6a, 0x27, 0x4a, 0xb9, 0x2a, 0x0c, 0xaa, 0xb4, 0x56, 0xb5, 0x56, 0xcd, 0x1a, 0x15, 0x86,
+ 0xc2, 0xc5, 0x26, 0x1e, 0x13, 0xca, 0x89, 0x17, 0x4f, 0x7b, 0x2e, 0xf1, 0x13, 0xde, 0xcd, 0x62,
+ 0x84, 0xf2, 0xca, 0xfc, 0xb2, 0x49, 0x54, 0x0b, 0xe5, 0x0c, 0x00, 0x67, 0xd9, 0xa3, 0xcf, 0x58,
+ 0x70, 0xc2, 0xb9, 0x1b, 0xeb, 0x62, 0xa3, 0x22, 0x54, 0xee, 0x88, 0x4a, 0x2a, 0x55, 0xbf, 0x94,
+ 0xbb, 0x7c, 0x53, 0x4d, 0x38, 0xcd, 0x14, 0xbd, 0x65, 0x01, 0x22, 0x5b, 0xa4, 0x21, 0x83, 0xf9,
+ 0x44, 0x5f, 0x06, 0x8a, 0xd8, 0x69, 0x5e, 0xee, 0xa2, 0xcb, 0xa5, 0x7a, 0x77, 0x3b, 0xce, 0xe9,
+ 0x83, 0xfd, 0xcf, 0xca, 0x6a, 0x41, 0xe9, 0xf8, 0x51, 0xc7, 0x88, 0x63, 0xb3, 0x0e, 0x1f, 0xc7,
+ 0xa6, 0xe3, 0x01, 0xba, 0x53, 0x13, 0x53, 0x99, 0x4c, 0xa5, 0x07, 0x94, 0xc9, 0xf4, 0x53, 0x56,
+ 0xaa, 0xae, 0xcf, 0xd0, 0xa5, 0x57, 0x8a, 0x8d, 0x5d, 0x1d, 0xe7, 0xb1, 0x0a, 0x19, 0xe9, 0x9e,
+ 0x0e, 0x51, 0xa1, 0xd2, 0xd4, 0x40, 0x3b, 0x90, 0x34, 0xfc, 0x0f, 0x65, 0x18, 0x32, 0x34, 0x69,
+ 0xae, 0x59, 0x64, 0x3d, 0x64, 0x66, 0x51, 0xe9, 0x00, 0x66, 0xd1, 0x4f, 0x42, 0xbd, 0x21, 0xa5,
+ 0x7c, 0x31, 0x95, 0x6d, 0xb3, 0xba, 0x43, 0x0b, 0x7a, 0xd5, 0x84, 0x35, 0x4f, 0x34, 0x9b, 0x4a,
+ 0x9c, 0x11, 0x1a, 0xa2, 0xc2, 0x34, 0x44, 0x5e, 0x66, 0x8b, 0xd0, 0x14, 0xdd, 0xcf, 0xb0, 0xf2,
+ 0x4f, 0xa1, 0x2b, 0xde, 0x4b, 0x46, 0x98, 0xf3, 0xf2, 0x4f, 0x4b, 0x73, 0xb2, 0x19, 0x9b, 0x38,
+ 0xf6, 0xb7, 0x2d, 0xf5, 0x71, 0xef, 0x43, 0xa1, 0x83, 0x3b, 0xe9, 0x42, 0x07, 0x97, 0x0b, 0x19,
+ 0xe6, 0x1e, 0x15, 0x0e, 0x6e, 0xc0, 0xe0, 0x74, 0xd0, 0x6e, 0x3b, 0x7e, 0x13, 0xfd, 0x20, 0x0c,
+ 0x36, 0xf8, 0x4f, 0xe1, 0xd8, 0x61, 0xc7, 0x83, 0x02, 0x8a, 0x25, 0x0c, 0x3d, 0x06, 0x15, 0x27,
+ 0x6a, 0x49, 0x67, 0x0e, 0x0b, 0x6d, 0x99, 0x8c, 0x5a, 0x31, 0x66, 0xad, 0xf6, 0x3f, 0xaa, 0x00,
+ 0x4c, 0x07, 0xed, 0xd0, 0x89, 0x48, 0x73, 0x25, 0x60, 0x95, 0xf5, 0x8e, 0xf5, 0x50, 0x4d, 0x6f,
+ 0x96, 0x1e, 0xe6, 0x83, 0x35, 0xe3, 0x70, 0xa5, 0x7c, 0x9f, 0x0f, 0x57, 0x7a, 0x9c, 0x97, 0x55,
+ 0x1e, 0xa2, 0xf3, 0x32, 0xfb, 0xf3, 0x16, 0x20, 0x3a, 0x69, 0x02, 0x9f, 0xf8, 0x89, 0x3e, 0xd0,
+ 0x9e, 0x80, 0x7a, 0x43, 0xb6, 0x0a, 0xc3, 0x4a, 0x8b, 0x08, 0x09, 0xc0, 0x1a, 0xa7, 0x8f, 0x1d,
+ 0xf2, 0x93, 0x52, 0x7e, 0x97, 0xd3, 0x51, 0xb1, 0x4c, 0xea, 0x0b, 0x71, 0x6e, 0xff, 0x56, 0x09,
+ 0x1e, 0xe1, 0x2a, 0x79, 0xc1, 0xf1, 0x9d, 0x16, 0x69, 0xd3, 0x5e, 0xf5, 0x1b, 0xa2, 0xd0, 0xa0,
+ 0x5b, 0x33, 0x57, 0x46, 0xb9, 0x1e, 0x75, 0xed, 0xf2, 0x35, 0xc7, 0x57, 0xd9, 0x9c, 0xef, 0x26,
+ 0x98, 0x11, 0x47, 0x31, 0xd4, 0x64, 0x29, 0x77, 0x21, 0x8b, 0x0b, 0x62, 0xa4, 0xc4, 0x92, 0xd0,
+ 0x9b, 0x04, 0x2b, 0x46, 0xd4, 0x70, 0xf5, 0x82, 0xc6, 0x06, 0x26, 0x61, 0xc0, 0xe4, 0xae, 0x11,
+ 0x64, 0x38, 0x2f, 0xda, 0xb1, 0xc2, 0xb0, 0x7f, 0xcb, 0x82, 0xac, 0x46, 0x32, 0x4a, 0x98, 0x59,
+ 0x7b, 0x96, 0x30, 0x3b, 0x40, 0x0d, 0xb1, 0x1f, 0x87, 0x21, 0x27, 0xa1, 0x46, 0x04, 0xdf, 0x76,
+ 0x97, 0x0f, 0x77, 0xac, 0xb1, 0x10, 0x34, 0xdd, 0x35, 0x97, 0x6d, 0xb7, 0x4d, 0x72, 0xf6, 0xff,
+ 0xa8, 0xc0, 0xe9, 0xae, 0x5c, 0x0c, 0xf4, 0x22, 0x0c, 0x37, 0xc4, 0xf4, 0x08, 0xa5, 0x43, 0xab,
+ 0x6e, 0x06, 0xa5, 0x69, 0x18, 0x4e, 0x61, 0xf6, 0x31, 0x41, 0xe7, 0xe0, 0x4c, 0x44, 0x37, 0xfa,
+ 0x1d, 0x32, 0xb9, 0x96, 0x90, 0x68, 0x99, 0x34, 0x02, 0xbf, 0xc9, 0x0b, 0xed, 0x95, 0xa7, 0x1e,
+ 0xdd, 0xdd, 0x19, 0x3b, 0x83, 0xbb, 0xc1, 0x38, 0xef, 0x19, 0x14, 0xc2, 0x09, 0xcf, 0xb4, 0x01,
+ 0xc5, 0x06, 0xe0, 0x50, 0xe6, 0xa3, 0xb2, 0x11, 0x52, 0xcd, 0x38, 0xcd, 0x20, 0x6d, 0x48, 0x56,
+ 0x1f, 0x90, 0x21, 0xf9, 0x69, 0x6d, 0x48, 0xf2, 0xf3, 0xf7, 0x0f, 0x17, 0x9c, 0x8b, 0x73, 0xdc,
+ 0x96, 0xe4, 0xcb, 0x50, 0x93, 0xb1, 0x49, 0x7d, 0xc5, 0xf4, 0x98, 0x74, 0x7a, 0x48, 0xb4, 0x7b,
+ 0x25, 0xc8, 0xd9, 0x84, 0xd0, 0x75, 0xa6, 0x35, 0x7e, 0x6a, 0x9d, 0x1d, 0x4c, 0xeb, 0xa3, 0x2d,
+ 0x1e, 0x97, 0xc5, 0x75, 0xdb, 0x87, 0x8a, 0xde, 0x44, 0xe9, 0x50, 0x2d, 0x95, 0xa2, 0xa0, 0xc2,
+ 0xb5, 0x2e, 0x01, 0x68, 0x43, 0x4d, 0x04, 0xa0, 0xab, 0x63, 0x5f, 0x6d, 0xcf, 0x61, 0x03, 0x8b,
+ 0xee, 0xa9, 0x5d, 0x3f, 0x4e, 0x1c, 0xcf, 0xbb, 0xea, 0xfa, 0x89, 0x70, 0x0e, 0x2a, 0x25, 0x3e,
+ 0xa7, 0x41, 0xd8, 0xc4, 0xbb, 0xf0, 0x5e, 0xe3, 0xbb, 0x1c, 0xe4, 0x7b, 0xae, 0xc3, 0xf9, 0x59,
+ 0x37, 0x51, 0x69, 0x13, 0x6a, 0x1e, 0x51, 0x3b, 0x4c, 0xa5, 0x01, 0x59, 0x3d, 0xd3, 0x80, 0x8c,
+ 0xb4, 0x85, 0x52, 0x3a, 0xcb, 0x22, 0x9b, 0xb6, 0x60, 0xbf, 0x08, 0x67, 0x67, 0xdd, 0xe4, 0x8a,
+ 0xeb, 0x91, 0x03, 0x32, 0xb1, 0x7f, 0x63, 0x00, 0x86, 0xcd, 0xc4, 0xbb, 0x83, 0x64, 0x32, 0x7d,
+ 0x91, 0x9a, 0x5a, 0xe2, 0xed, 0x5c, 0x75, 0x68, 0x76, 0xfb, 0xc8, 0x59, 0x80, 0xf9, 0x23, 0x66,
+ 0x58, 0x5b, 0x9a, 0x27, 0x36, 0x3b, 0x80, 0xee, 0x42, 0x75, 0x8d, 0x85, 0xd5, 0x97, 0x8b, 0x88,
+ 0x2c, 0xc8, 0x1b, 0x51, 0xbd, 0xcc, 0x78, 0x60, 0x3e, 0xe7, 0x47, 0x35, 0x64, 0x94, 0xce, 0xd5,
+ 0x32, 0x42, 0x41, 0x45, 0x96, 0x96, 0xc2, 0xe8, 0x25, 0xea, 0xab, 0x87, 0x10, 0xf5, 0x29, 0xc1,
+ 0x3b, 0xf0, 0x80, 0x04, 0x2f, 0x4b, 0x91, 0x48, 0xd6, 0x99, 0xfd, 0x26, 0x62, 0xd7, 0x07, 0xd9,
+ 0x20, 0x18, 0x29, 0x12, 0x29, 0x30, 0xce, 0xe2, 0xa3, 0x4f, 0x28, 0xd1, 0x5d, 0x2b, 0xc2, 0xaf,
+ 0x6a, 0xce, 0xe8, 0xe3, 0x96, 0xda, 0x9f, 0x2f, 0xc1, 0xc8, 0xac, 0xdf, 0x59, 0x9a, 0x5d, 0xea,
+ 0xac, 0x7a, 0x6e, 0xe3, 0x3a, 0xd9, 0xa6, 0xa2, 0x79, 0x83, 0x6c, 0xcf, 0xcd, 0x88, 0x15, 0xa4,
+ 0xe6, 0xcc, 0x75, 0xda, 0x88, 0x39, 0x8c, 0x0a, 0xa3, 0x35, 0xd7, 0x6f, 0x91, 0x28, 0x8c, 0x5c,
+ 0xe1, 0xf2, 0x34, 0x84, 0xd1, 0x15, 0x0d, 0xc2, 0x26, 0x1e, 0xa5, 0x1d, 0xdc, 0xf5, 0x49, 0x94,
+ 0x35, 0x64, 0x17, 0x69, 0x23, 0xe6, 0x30, 0x8a, 0x94, 0x44, 0x9d, 0x38, 0x11, 0x93, 0x51, 0x21,
+ 0xad, 0xd0, 0x46, 0xcc, 0x61, 0x74, 0xa5, 0xc7, 0x9d, 0x55, 0x16, 0xb8, 0x91, 0x09, 0x94, 0x5f,
+ 0xe6, 0xcd, 0x58, 0xc2, 0x29, 0xea, 0x06, 0xd9, 0x9e, 0xa1, 0xbb, 0xde, 0x4c, 0xbe, 0xcc, 0x75,
+ 0xde, 0x8c, 0x25, 0x9c, 0x55, 0x08, 0x4c, 0x0f, 0xc7, 0xf7, 0x5c, 0x85, 0xc0, 0x74, 0xf7, 0x7b,
+ 0xec, 0x9f, 0x7f, 0xc9, 0x82, 0x61, 0x33, 0xdc, 0x0a, 0xb5, 0x32, 0x36, 0xee, 0x62, 0x57, 0x81,
+ 0xd9, 0x1f, 0xcd, 0xbb, 0x71, 0xab, 0xe5, 0x26, 0x41, 0x18, 0x3f, 0x4b, 0xfc, 0x96, 0xeb, 0x13,
+ 0x76, 0x8a, 0xce, 0xc3, 0xb4, 0x52, 0xb1, 0x5c, 0xd3, 0x41, 0x93, 0x1c, 0xc2, 0x48, 0xb6, 0x6f,
+ 0xc3, 0xe9, 0xae, 0x24, 0xa9, 0x3e, 0x4c, 0x8b, 0x7d, 0x53, 0x54, 0x6d, 0x0c, 0x43, 0x94, 0xb0,
+ 0xac, 0x52, 0x33, 0x0d, 0xa7, 0xf9, 0x42, 0xa2, 0x9c, 0x96, 0x1b, 0xeb, 0xa4, 0xad, 0x12, 0xdf,
+ 0x98, 0x7f, 0xfd, 0x56, 0x16, 0x88, 0xbb, 0xf1, 0xed, 0x2f, 0x58, 0x70, 0x22, 0x95, 0xb7, 0x56,
+ 0x90, 0x11, 0xc4, 0x56, 0x5a, 0xc0, 0xa2, 0xff, 0x58, 0x08, 0x74, 0x99, 0x29, 0x53, 0xbd, 0xd2,
+ 0x34, 0x08, 0x9b, 0x78, 0xf6, 0x97, 0x4b, 0x50, 0x93, 0x11, 0x14, 0x7d, 0x74, 0xe5, 0x73, 0x16,
+ 0x9c, 0x50, 0x67, 0x1a, 0xcc, 0x59, 0x56, 0x2a, 0x22, 0xc9, 0x80, 0xf6, 0x40, 0x6d, 0xb7, 0xfd,
+ 0xb5, 0x40, 0x5b, 0xe4, 0xd8, 0x64, 0x86, 0xd3, 0xbc, 0xd1, 0x2d, 0x80, 0x78, 0x3b, 0x4e, 0x48,
+ 0xdb, 0x70, 0xdb, 0xd9, 0xc6, 0x8a, 0x1b, 0x6f, 0x04, 0x11, 0xa1, 0xeb, 0xeb, 0x46, 0xd0, 0x24,
+ 0xcb, 0x0a, 0x53, 0x9b, 0x50, 0xba, 0x0d, 0x1b, 0x94, 0xec, 0x7f, 0x50, 0x82, 0x53, 0xd9, 0x2e,
+ 0xa1, 0x0f, 0xc3, 0xb0, 0xe4, 0x6e, 0xdc, 0x1e, 0x26, 0xc3, 0x46, 0x86, 0xb1, 0x01, 0xbb, 0xb7,
+ 0x33, 0x36, 0xd6, 0x7d, 0x7b, 0xdb, 0xb8, 0x89, 0x82, 0x53, 0xc4, 0xf8, 0xc1, 0x92, 0x38, 0x01,
+ 0x9d, 0xda, 0x9e, 0x0c, 0x43, 0x71, 0x3a, 0x64, 0x1c, 0x2c, 0x99, 0x50, 0x9c, 0xc1, 0x46, 0x4b,
+ 0x70, 0xd6, 0x68, 0xb9, 0x41, 0xdc, 0xd6, 0xfa, 0x6a, 0x10, 0xc9, 0x9d, 0xd5, 0x63, 0x3a, 0xb0,
+ 0xab, 0x1b, 0x07, 0xe7, 0x3e, 0x49, 0xb5, 0x7d, 0xc3, 0x09, 0x9d, 0x86, 0x9b, 0x6c, 0x0b, 0x3f,
+ 0xa4, 0x92, 0x4d, 0xd3, 0xa2, 0x1d, 0x2b, 0x0c, 0x7b, 0x01, 0x2a, 0x7d, 0xce, 0xa0, 0xbe, 0x2c,
+ 0xfa, 0x97, 0xa1, 0x46, 0xc9, 0x49, 0xf3, 0xae, 0x08, 0x92, 0x01, 0xd4, 0xe4, 0x05, 0x20, 0xc8,
+ 0x86, 0xb2, 0xeb, 0xc8, 0xb3, 0x3b, 0xf5, 0x5a, 0x73, 0x71, 0xdc, 0x61, 0x9b, 0x64, 0x0a, 0x44,
+ 0x4f, 0x42, 0x99, 0x6c, 0x85, 0xd9, 0x43, 0xba, 0xcb, 0x5b, 0xa1, 0x1b, 0x91, 0x98, 0x22, 0x91,
+ 0xad, 0x10, 0x5d, 0x80, 0x92, 0xdb, 0x14, 0x4a, 0x0a, 0x04, 0x4e, 0x69, 0x6e, 0x06, 0x97, 0xdc,
+ 0xa6, 0xbd, 0x05, 0x75, 0x75, 0xe3, 0x08, 0xda, 0x90, 0xb2, 0xdb, 0x2a, 0x22, 0xe4, 0x49, 0xd2,
+ 0xed, 0x21, 0xb5, 0x3b, 0x00, 0x3a, 0x81, 0xaf, 0x28, 0xf9, 0x72, 0x11, 0x2a, 0x8d, 0x40, 0x24,
+ 0x17, 0xd7, 0x34, 0x19, 0x26, 0xb4, 0x19, 0xc4, 0xbe, 0x0d, 0x23, 0xd7, 0xfd, 0xe0, 0x2e, 0x2b,
+ 0x97, 0xce, 0xaa, 0x83, 0x51, 0xc2, 0x6b, 0xf4, 0x47, 0xd6, 0x44, 0x60, 0x50, 0xcc, 0x61, 0xaa,
+ 0xde, 0x52, 0xa9, 0x57, 0xbd, 0x25, 0xfb, 0x93, 0x16, 0x0c, 0xab, 0x4c, 0xa0, 0xd9, 0xcd, 0x0d,
+ 0x4a, 0xb7, 0x15, 0x05, 0x9d, 0x30, 0x4b, 0x97, 0xdd, 0x09, 0x84, 0x39, 0xcc, 0x4c, 0x91, 0x2b,
+ 0xed, 0x93, 0x22, 0x77, 0x11, 0x2a, 0x1b, 0xae, 0xdf, 0xcc, 0x5e, 0x72, 0x71, 0xdd, 0xf5, 0x9b,
+ 0x98, 0x41, 0x68, 0x17, 0x4e, 0xa9, 0x2e, 0x48, 0x85, 0xf0, 0x22, 0x0c, 0xaf, 0x76, 0x5c, 0xaf,
+ 0x29, 0xcb, 0x9e, 0x65, 0x3c, 0x25, 0x53, 0x06, 0x0c, 0xa7, 0x30, 0xe9, 0xbe, 0x6e, 0xd5, 0xf5,
+ 0x9d, 0x68, 0x7b, 0x49, 0x6b, 0x20, 0x25, 0x94, 0xa6, 0x14, 0x04, 0x1b, 0x58, 0xf6, 0x9b, 0x65,
+ 0x18, 0x49, 0xe7, 0x43, 0xf5, 0xb1, 0xbd, 0x7a, 0x12, 0xaa, 0x2c, 0x45, 0x2a, 0xfb, 0x69, 0xd9,
+ 0xf3, 0x98, 0xc3, 0x50, 0x0c, 0x03, 0xbc, 0xb8, 0x42, 0x31, 0x17, 0xc4, 0xa8, 0x4e, 0x2a, 0xff,
+ 0x0a, 0x8b, 0x27, 0x13, 0xf5, 0x1c, 0x04, 0x2b, 0xf4, 0x19, 0x0b, 0x06, 0x83, 0xd0, 0xac, 0xd3,
+ 0xf3, 0xa1, 0x22, 0x73, 0xc5, 0x44, 0xb2, 0x8c, 0xb0, 0x88, 0xd5, 0xa7, 0x97, 0x9f, 0x43, 0xb2,
+ 0xbe, 0xf0, 0x3e, 0x18, 0x36, 0x31, 0xf7, 0x33, 0x8a, 0x6b, 0xa6, 0x51, 0xfc, 0x39, 0x73, 0x52,
+ 0x88, 0x6c, 0xb8, 0x3e, 0x96, 0xdb, 0x4d, 0xa8, 0x36, 0x54, 0x00, 0xc0, 0xa1, 0x8a, 0x65, 0xaa,
+ 0x6a, 0x07, 0xec, 0x10, 0x88, 0x53, 0xb3, 0xbf, 0x6d, 0x19, 0xf3, 0x03, 0x93, 0x78, 0xae, 0x89,
+ 0x22, 0x28, 0xb7, 0x36, 0x37, 0x84, 0x29, 0x7a, 0xad, 0xa0, 0xe1, 0x9d, 0xdd, 0xdc, 0xd0, 0x73,
+ 0xdc, 0x6c, 0xc5, 0x94, 0x59, 0x1f, 0x4e, 0xc0, 0x54, 0xd2, 0x64, 0x79, 0xff, 0xa4, 0x49, 0xfb,
+ 0xad, 0x12, 0x9c, 0xee, 0x9a, 0x54, 0xe8, 0x0d, 0xa8, 0x46, 0xf4, 0x2d, 0xc5, 0xeb, 0xcd, 0x17,
+ 0x96, 0xe6, 0x18, 0xcf, 0x35, 0xb5, 0xde, 0x4d, 0xb7, 0x63, 0xce, 0x12, 0x5d, 0x03, 0xa4, 0xc3,
+ 0x54, 0x94, 0x07, 0x92, 0xbf, 0xf2, 0x05, 0xf1, 0x28, 0x9a, 0xec, 0xc2, 0xc0, 0x39, 0x4f, 0xa1,
+ 0x97, 0xb2, 0x8e, 0xcc, 0x72, 0xfa, 0xdc, 0x72, 0x2f, 0x9f, 0xa4, 0xfd, 0xcf, 0x4b, 0x70, 0x22,
+ 0x55, 0x36, 0x09, 0x79, 0x50, 0x23, 0x1e, 0x73, 0xea, 0x4b, 0x65, 0x73, 0xd4, 0x62, 0xc2, 0x4a,
+ 0x41, 0x5e, 0x16, 0x74, 0xb1, 0xe2, 0xf0, 0x70, 0x1c, 0xae, 0xbf, 0x08, 0xc3, 0xb2, 0x43, 0x1f,
+ 0x72, 0xda, 0x9e, 0x18, 0x40, 0x35, 0x47, 0x2f, 0x1b, 0x30, 0x9c, 0xc2, 0xb4, 0x7f, 0xbb, 0x0c,
+ 0xa3, 0xfc, 0x14, 0xa4, 0xa9, 0x66, 0xde, 0x82, 0xdc, 0x6f, 0xfd, 0x65, 0x5d, 0xdc, 0x8c, 0x0f,
+ 0xe4, 0xea, 0x51, 0x6b, 0xf7, 0xe7, 0x33, 0xea, 0x2b, 0x32, 0xeb, 0x17, 0x32, 0x91, 0x59, 0xdc,
+ 0xec, 0x6e, 0x1d, 0x53, 0x8f, 0xbe, 0xb7, 0x42, 0xb5, 0xfe, 0x6e, 0x09, 0x4e, 0x66, 0x2e, 0x46,
+ 0x40, 0x6f, 0xa6, 0x6b, 0xe9, 0x5a, 0x45, 0xf8, 0xca, 0xf7, 0xac, 0x95, 0x7f, 0xb0, 0x8a, 0xba,
+ 0x0f, 0x68, 0xa9, 0xd8, 0xbf, 0x57, 0x82, 0x91, 0xf4, 0x8d, 0x0e, 0x0f, 0xe1, 0x48, 0xbd, 0x1b,
+ 0xea, 0xac, 0x68, 0x39, 0xbb, 0xa9, 0x92, 0xbb, 0xe4, 0x79, 0x7d, 0x68, 0xd9, 0x88, 0x35, 0xfc,
+ 0xa1, 0x28, 0x54, 0x6c, 0xff, 0x3d, 0x0b, 0xce, 0xf1, 0xb7, 0xcc, 0xce, 0xc3, 0xbf, 0x92, 0x37,
+ 0xba, 0xaf, 0x16, 0xdb, 0xc1, 0x4c, 0x51, 0xbe, 0xfd, 0xc6, 0x97, 0xdd, 0x90, 0x27, 0x7a, 0x9b,
+ 0x9e, 0x0a, 0x0f, 0x61, 0x67, 0x0f, 0x34, 0x19, 0xec, 0xdf, 0x2b, 0x83, 0xbe, 0x14, 0x10, 0xb9,
+ 0x22, 0xc7, 0xb1, 0x90, 0xe2, 0x84, 0xcb, 0xdb, 0x7e, 0x43, 0x5f, 0x3f, 0x58, 0xcb, 0xa4, 0x38,
+ 0xfe, 0xac, 0x05, 0x43, 0xae, 0xef, 0x26, 0xae, 0xc3, 0xb6, 0xd1, 0xc5, 0x5c, 0x58, 0xa6, 0xd8,
+ 0xcd, 0x71, 0xca, 0x41, 0x64, 0x9e, 0xe3, 0x28, 0x66, 0xd8, 0xe4, 0x8c, 0x3e, 0x2a, 0x82, 0xa7,
+ 0xcb, 0x85, 0x65, 0xe7, 0xd6, 0x32, 0x11, 0xd3, 0x21, 0x35, 0xbc, 0x92, 0xa8, 0xa0, 0xa4, 0x76,
+ 0x4c, 0x49, 0xa9, 0x3a, 0xb7, 0xfa, 0x7a, 0x66, 0xda, 0x8c, 0x39, 0x23, 0x3b, 0x06, 0xd4, 0x3d,
+ 0x16, 0x07, 0x0c, 0x4c, 0x9d, 0x80, 0xba, 0xd3, 0x49, 0x82, 0x36, 0x1d, 0x26, 0x71, 0xd4, 0xa4,
+ 0x43, 0x6f, 0x25, 0x00, 0x6b, 0x1c, 0xfb, 0xcd, 0x2a, 0x64, 0x92, 0x0e, 0xd1, 0x96, 0x79, 0xa1,
+ 0xa5, 0x55, 0xec, 0x85, 0x96, 0xaa, 0x33, 0x79, 0x97, 0x5a, 0xa2, 0x16, 0x54, 0xc3, 0x75, 0x27,
+ 0x96, 0x66, 0xf5, 0xcb, 0x6a, 0x1f, 0x47, 0x1b, 0xef, 0xed, 0x8c, 0xfd, 0x58, 0x7f, 0x5e, 0x57,
+ 0x3a, 0x57, 0x27, 0x78, 0xf1, 0x10, 0xcd, 0x9a, 0xd1, 0xc0, 0x9c, 0xfe, 0x41, 0xae, 0x6c, 0xfb,
+ 0x94, 0xa8, 0xce, 0x8e, 0x49, 0xdc, 0xf1, 0x12, 0x31, 0x1b, 0x5e, 0x2e, 0x70, 0x95, 0x71, 0xc2,
+ 0x3a, 0x5d, 0x9e, 0xff, 0xc7, 0x06, 0x53, 0xf4, 0x61, 0xa8, 0xc7, 0x89, 0x13, 0x25, 0x87, 0x4c,
+ 0x70, 0x55, 0x83, 0xbe, 0x2c, 0x89, 0x60, 0x4d, 0x0f, 0xbd, 0xc2, 0x6a, 0xb5, 0xba, 0xf1, 0xfa,
+ 0x21, 0x73, 0x1e, 0x64, 0x5d, 0x57, 0x41, 0x01, 0x1b, 0xd4, 0xd0, 0x25, 0x00, 0x36, 0xb7, 0x79,
+ 0xa0, 0x5f, 0x8d, 0x79, 0x99, 0x94, 0x28, 0xc4, 0x0a, 0x82, 0x0d, 0x2c, 0xfb, 0x87, 0x21, 0x5d,
+ 0xef, 0x01, 0x8d, 0xc9, 0xf2, 0x12, 0xdc, 0x0b, 0xcd, 0x72, 0x17, 0x52, 0x95, 0x20, 0x7e, 0xcd,
+ 0x02, 0xb3, 0x28, 0x05, 0x7a, 0x9d, 0x57, 0xbf, 0xb0, 0x8a, 0x38, 0x39, 0x34, 0xe8, 0x8e, 0x2f,
+ 0x38, 0x61, 0xe6, 0x08, 0x5b, 0x96, 0xc0, 0xb8, 0xf0, 0x5e, 0xa8, 0x49, 0xe8, 0x81, 0x8c, 0xba,
+ 0x4f, 0xc0, 0x99, 0xec, 0x75, 0xdf, 0xe2, 0xd4, 0x69, 0x7f, 0xd7, 0x8f, 0xf4, 0xe7, 0x94, 0x7a,
+ 0xf9, 0x73, 0xfa, 0xb8, 0xd6, 0xf4, 0xd7, 0x2d, 0xb8, 0xb8, 0xdf, 0xad, 0xe4, 0xe8, 0x31, 0xa8,
+ 0xdc, 0x75, 0x22, 0x59, 0x44, 0x9b, 0x09, 0xca, 0xdb, 0x4e, 0xe4, 0x63, 0xd6, 0x8a, 0xb6, 0x61,
+ 0x80, 0x47, 0x83, 0x09, 0x6b, 0xfd, 0xe5, 0x62, 0xef, 0x48, 0xbf, 0x4e, 0x8c, 0xed, 0x02, 0x8f,
+ 0x44, 0xc3, 0x82, 0xa1, 0xfd, 0x1d, 0x0b, 0xd0, 0xe2, 0x26, 0x89, 0x22, 0xb7, 0x69, 0xc4, 0xaf,
+ 0xb1, 0x5b, 0x4e, 0x8c, 0xdb, 0x4c, 0xcc, 0x14, 0xd7, 0xcc, 0x2d, 0x27, 0xc6, 0xbf, 0xfc, 0x5b,
+ 0x4e, 0x4a, 0x07, 0xbb, 0xe5, 0x04, 0x2d, 0xc2, 0xb9, 0x36, 0xdf, 0x6e, 0xf0, 0x9b, 0x03, 0xf8,
+ 0xde, 0x43, 0x25, 0x94, 0x9d, 0xdf, 0xdd, 0x19, 0x3b, 0xb7, 0x90, 0x87, 0x80, 0xf3, 0x9f, 0xb3,
+ 0xdf, 0x0b, 0x88, 0x87, 0xad, 0x4d, 0xe7, 0xc5, 0x20, 0xf5, 0x74, 0xbf, 0xd8, 0x5f, 0xad, 0xc2,
+ 0xc9, 0x4c, 0x89, 0x55, 0xba, 0xd5, 0xeb, 0x0e, 0x7a, 0x3a, 0xb2, 0xfe, 0xee, 0xee, 0x5e, 0x5f,
+ 0x61, 0x54, 0x3e, 0x54, 0x5d, 0x3f, 0xec, 0x24, 0xc5, 0xe4, 0x90, 0xf2, 0x4e, 0xcc, 0x51, 0x82,
+ 0x86, 0xbb, 0x98, 0xfe, 0xc5, 0x9c, 0x4d, 0x91, 0x41, 0x59, 0x29, 0x63, 0xbc, 0xf2, 0x80, 0xdc,
+ 0x01, 0x9f, 0xd2, 0x21, 0x52, 0xd5, 0x22, 0x1c, 0x8b, 0x99, 0xc9, 0x72, 0xdc, 0x47, 0xed, 0xbf,
+ 0x5a, 0x82, 0x21, 0xe3, 0xa3, 0xa1, 0x5f, 0x4c, 0x97, 0x6c, 0xb2, 0x8a, 0x7b, 0x25, 0x46, 0x7f,
+ 0x5c, 0x17, 0x65, 0xe2, 0xaf, 0xf4, 0x54, 0x77, 0xb5, 0xa6, 0x7b, 0x3b, 0x63, 0xa7, 0x32, 0xf5,
+ 0x98, 0x52, 0x15, 0x9c, 0x2e, 0x7c, 0x1c, 0x4e, 0x66, 0xc8, 0xe4, 0xbc, 0xf2, 0x4a, 0xfa, 0x36,
+ 0xf7, 0x23, 0xba, 0xa5, 0xcc, 0x21, 0xfb, 0x06, 0x1d, 0x32, 0x91, 0x46, 0x17, 0x78, 0xa4, 0x0f,
+ 0x1f, 0x6c, 0x26, 0x5b, 0xb6, 0xd4, 0x67, 0xb6, 0xec, 0xd3, 0x50, 0x0b, 0x03, 0xcf, 0x6d, 0xb8,
+ 0xaa, 0xaa, 0x20, 0xcb, 0xcf, 0x5d, 0x12, 0x6d, 0x58, 0x41, 0xd1, 0x5d, 0xa8, 0xab, 0x8b, 0xef,
+ 0x85, 0x7f, 0xbb, 0xa8, 0x43, 0x1f, 0x65, 0xb4, 0xe8, 0x0b, 0xed, 0x35, 0x2f, 0x64, 0xc3, 0x00,
+ 0x53, 0x82, 0x32, 0xf4, 0x9f, 0xf9, 0xde, 0x99, 0x76, 0x8c, 0xb1, 0x80, 0xd8, 0x5f, 0xaf, 0xc3,
+ 0xd9, 0xbc, 0x3a, 0xd7, 0xe8, 0x63, 0x30, 0xc0, 0xfb, 0x58, 0xcc, 0x55, 0x0a, 0x79, 0x3c, 0x66,
+ 0x19, 0x41, 0xd1, 0x2d, 0xf6, 0x1b, 0x0b, 0x9e, 0x82, 0xbb, 0xe7, 0xac, 0x8a, 0x19, 0x72, 0x3c,
+ 0xdc, 0xe7, 0x1d, 0xcd, 0x7d, 0xde, 0xe1, 0xdc, 0x3d, 0x67, 0x15, 0x6d, 0x41, 0xb5, 0xe5, 0x26,
+ 0xc4, 0x11, 0x4e, 0x84, 0xdb, 0xc7, 0xc2, 0x9c, 0x38, 0xdc, 0x4a, 0x63, 0x3f, 0x31, 0x67, 0x88,
+ 0xbe, 0x66, 0xc1, 0xc9, 0xd5, 0x74, 0x6a, 0xbc, 0x10, 0x9e, 0xce, 0x31, 0xd4, 0x32, 0x4f, 0x33,
+ 0xe2, 0xd7, 0xfc, 0x64, 0x1a, 0x71, 0xb6, 0x3b, 0xe8, 0xd3, 0x16, 0x0c, 0xae, 0xb9, 0x9e, 0x51,
+ 0xd6, 0xf6, 0x18, 0x3e, 0xce, 0x15, 0xc6, 0x40, 0xef, 0x38, 0xf8, 0xff, 0x18, 0x4b, 0xce, 0xbd,
+ 0x34, 0xd5, 0xc0, 0x51, 0x35, 0xd5, 0xe0, 0x03, 0xd2, 0x54, 0x9f, 0xb5, 0xa0, 0xae, 0x46, 0x5a,
+ 0xa4, 0x3b, 0x7f, 0xf8, 0x18, 0x3f, 0x39, 0xf7, 0x9c, 0xa8, 0xbf, 0x58, 0x33, 0x47, 0x5f, 0xb2,
+ 0x60, 0xc8, 0x79, 0xa3, 0x13, 0x91, 0x26, 0xd9, 0x0c, 0xc2, 0x58, 0xdc, 0x11, 0xf8, 0x6a, 0xf1,
+ 0x9d, 0x99, 0xa4, 0x4c, 0x66, 0xc8, 0xe6, 0x62, 0x18, 0x8b, 0xb4, 0x24, 0xdd, 0x80, 0xcd, 0x2e,
+ 0xd8, 0x3b, 0x25, 0x18, 0xdb, 0x87, 0x02, 0x7a, 0x11, 0x86, 0x83, 0xa8, 0xe5, 0xf8, 0xee, 0x1b,
+ 0x66, 0xad, 0x0b, 0x65, 0x65, 0x2d, 0x1a, 0x30, 0x9c, 0xc2, 0x34, 0x13, 0xb2, 0x4b, 0xfb, 0x24,
+ 0x64, 0x5f, 0x84, 0x4a, 0x44, 0xc2, 0x20, 0xbb, 0x59, 0x60, 0x29, 0x01, 0x0c, 0x82, 0x1e, 0x87,
+ 0xb2, 0x13, 0xba, 0x22, 0x10, 0x4d, 0xed, 0x81, 0x26, 0x97, 0xe6, 0x30, 0x6d, 0x4f, 0xd5, 0x87,
+ 0xa8, 0xde, 0x97, 0xfa, 0x10, 0xc6, 0x95, 0xfe, 0x03, 0x3d, 0xaf, 0xf4, 0x7f, 0xab, 0x0c, 0x8f,
+ 0xef, 0x39, 0x5f, 0x74, 0x1c, 0x9e, 0xb5, 0x47, 0x1c, 0x9e, 0x1c, 0x9e, 0xd2, 0x7e, 0xc3, 0x53,
+ 0xee, 0x31, 0x3c, 0x9f, 0xa6, 0xcb, 0x40, 0xd6, 0x08, 0x29, 0xe6, 0x96, 0xb7, 0x5e, 0x25, 0x47,
+ 0xc4, 0x0a, 0x90, 0x50, 0xac, 0xf9, 0xd2, 0x3d, 0x40, 0x2a, 0x19, 0xb9, 0x5a, 0x84, 0x1a, 0xe8,
+ 0x59, 0x33, 0x84, 0xcf, 0xfd, 0x5e, 0x19, 0xce, 0xf6, 0xcf, 0x95, 0xe0, 0xc9, 0x3e, 0xa4, 0xb7,
+ 0x39, 0x8b, 0xad, 0x3e, 0x67, 0xf1, 0xf7, 0xf6, 0x67, 0xb2, 0xff, 0xaa, 0x05, 0x17, 0x7a, 0x2b,
+ 0x0f, 0xf4, 0x1c, 0x0c, 0xad, 0x46, 0x8e, 0xdf, 0x58, 0x67, 0x37, 0x57, 0xca, 0x41, 0x61, 0x63,
+ 0xad, 0x9b, 0xb1, 0x89, 0x43, 0xb7, 0xb7, 0x3c, 0x26, 0xc1, 0xc0, 0x90, 0xc9, 0xa3, 0x74, 0x7b,
+ 0xbb, 0x92, 0x05, 0xe2, 0x6e, 0x7c, 0xfb, 0x4f, 0x4b, 0xf9, 0xdd, 0xe2, 0x46, 0xc6, 0x41, 0xbe,
+ 0x93, 0xf8, 0x0a, 0xa5, 0x3e, 0x64, 0x49, 0xf9, 0x7e, 0xcb, 0x92, 0x4a, 0x2f, 0x59, 0x82, 0x66,
+ 0xe0, 0x94, 0x71, 0x25, 0x0a, 0x4f, 0x08, 0xe6, 0x01, 0xb7, 0xaa, 0x4a, 0xc6, 0x52, 0x06, 0x8e,
+ 0xbb, 0x9e, 0x40, 0xcf, 0x40, 0xcd, 0xf5, 0x63, 0xd2, 0xe8, 0x44, 0x3c, 0xd0, 0xdb, 0x48, 0xc2,
+ 0x9a, 0x13, 0xed, 0x58, 0x61, 0xd8, 0xbf, 0x54, 0x82, 0xf3, 0x3d, 0xed, 0xac, 0xfb, 0x24, 0xbb,
+ 0xcc, 0xcf, 0x51, 0xb9, 0x3f, 0x9f, 0xc3, 0x1c, 0xa4, 0xea, 0xbe, 0x83, 0xf4, 0xfb, 0xbd, 0x27,
+ 0x26, 0xb5, 0xb9, 0xbf, 0x6f, 0x47, 0xe9, 0x25, 0x38, 0xe1, 0x84, 0x21, 0xc7, 0x63, 0xf1, 0x9a,
+ 0x99, 0x2a, 0x39, 0x93, 0x26, 0x10, 0xa7, 0x71, 0xfb, 0xd2, 0x9e, 0x7f, 0x68, 0x41, 0x1d, 0x93,
+ 0x35, 0x2e, 0x1d, 0xd0, 0x1d, 0x31, 0x44, 0x56, 0x11, 0xf5, 0x34, 0xe9, 0xc0, 0xc6, 0x2e, 0xab,
+ 0x33, 0x99, 0x37, 0xd8, 0xdd, 0x57, 0xe7, 0x94, 0x0e, 0x74, 0x75, 0x8e, 0xba, 0x3c, 0xa5, 0xdc,
+ 0xfb, 0xf2, 0x14, 0xfb, 0x1b, 0x83, 0xf4, 0xf5, 0xc2, 0x60, 0x3a, 0x22, 0xcd, 0x98, 0x7e, 0xdf,
+ 0x4e, 0xe4, 0x89, 0x49, 0xa2, 0xbe, 0xef, 0x4d, 0x3c, 0x8f, 0x69, 0x7b, 0xea, 0x28, 0xa6, 0x74,
+ 0xa0, 0x1a, 0x21, 0xe5, 0x7d, 0x6b, 0x84, 0xbc, 0x04, 0x27, 0xe2, 0x78, 0x7d, 0x29, 0x72, 0x37,
+ 0x9d, 0x84, 0x5c, 0x27, 0xdb, 0xc2, 0xca, 0xd2, 0x79, 0xfd, 0xcb, 0x57, 0x35, 0x10, 0xa7, 0x71,
+ 0xd1, 0x2c, 0x9c, 0xd6, 0x95, 0x3a, 0x48, 0x94, 0xb0, 0xe8, 0x7e, 0x3e, 0x13, 0x54, 0x12, 0xaf,
+ 0xae, 0xed, 0x21, 0x10, 0x70, 0xf7, 0x33, 0x54, 0xbe, 0xa5, 0x1a, 0x69, 0x47, 0x06, 0xd2, 0xf2,
+ 0x2d, 0x45, 0x87, 0xf6, 0xa5, 0xeb, 0x09, 0xb4, 0x00, 0x67, 0xf8, 0xc4, 0x98, 0x0c, 0x43, 0xe3,
+ 0x8d, 0x06, 0xd3, 0x75, 0x0c, 0x67, 0xbb, 0x51, 0x70, 0xde, 0x73, 0xe8, 0x05, 0x18, 0x52, 0xcd,
+ 0x73, 0x33, 0xe2, 0x14, 0x41, 0x79, 0x31, 0x14, 0x99, 0xb9, 0x26, 0x36, 0xf1, 0xd0, 0x87, 0xe0,
+ 0x51, 0xfd, 0x97, 0xa7, 0x80, 0xf1, 0xa3, 0xb5, 0x19, 0x51, 0x04, 0x49, 0x5d, 0xd5, 0x31, 0x9b,
+ 0x8b, 0xd6, 0xc4, 0xbd, 0x9e, 0x47, 0xab, 0x70, 0x41, 0x81, 0x2e, 0xfb, 0x09, 0xcb, 0xe7, 0x88,
+ 0xc9, 0x94, 0x13, 0x93, 0x9b, 0x91, 0xc7, 0xca, 0x26, 0xd5, 0xf5, 0x2d, 0x8a, 0xb3, 0x6e, 0x72,
+ 0x35, 0x0f, 0x13, 0xcf, 0xe3, 0x3d, 0xa8, 0xa0, 0x09, 0xa8, 0x13, 0xdf, 0x59, 0xf5, 0xc8, 0xe2,
+ 0xf4, 0x1c, 0x2b, 0xa6, 0x64, 0x9c, 0xe4, 0x5d, 0x96, 0x00, 0xac, 0x71, 0x54, 0x84, 0xe9, 0x70,
+ 0xcf, 0x1b, 0x3d, 0x97, 0xe0, 0x6c, 0xab, 0x11, 0x52, 0xdb, 0xc3, 0x6d, 0x90, 0xc9, 0x06, 0x0b,
+ 0xa8, 0xa3, 0x1f, 0x86, 0x17, 0x98, 0x54, 0xe1, 0xd3, 0xb3, 0xd3, 0x4b, 0x5d, 0x38, 0x38, 0xf7,
+ 0x49, 0x16, 0x78, 0x19, 0x05, 0x5b, 0xdb, 0xa3, 0x67, 0x32, 0x81, 0x97, 0xb4, 0x11, 0x73, 0x18,
+ 0xba, 0x06, 0x88, 0xc5, 0xe2, 0x5f, 0x4d, 0x92, 0x50, 0x19, 0x3b, 0xa3, 0x67, 0xd9, 0x2b, 0xa9,
+ 0x30, 0xb2, 0x2b, 0x5d, 0x18, 0x38, 0xe7, 0x29, 0xfb, 0x3f, 0x5a, 0x70, 0x42, 0xad, 0xd7, 0xfb,
+ 0x90, 0x8d, 0xe2, 0xa5, 0xb3, 0x51, 0x66, 0x8f, 0x2e, 0xf1, 0x58, 0xcf, 0x7b, 0x84, 0x34, 0xff,
+ 0xf4, 0x10, 0x80, 0x96, 0x8a, 0x4a, 0x21, 0x59, 0x3d, 0x15, 0xd2, 0x43, 0x2b, 0x91, 0xf2, 0x2a,
+ 0xa7, 0x54, 0x1f, 0x6c, 0xe5, 0x94, 0x65, 0x38, 0x27, 0xcd, 0x05, 0x7e, 0x56, 0x74, 0x35, 0x88,
+ 0x95, 0x80, 0xab, 0x4d, 0x3d, 0x2e, 0x08, 0x9d, 0x9b, 0xcb, 0x43, 0xc2, 0xf9, 0xcf, 0xa6, 0xac,
+ 0x94, 0xc1, 0xfd, 0xac, 0x14, 0xbd, 0xa6, 0xe7, 0xd7, 0xe4, 0x9d, 0x1c, 0x99, 0x35, 0x3d, 0x7f,
+ 0x65, 0x19, 0x6b, 0x9c, 0x7c, 0xc1, 0x5e, 0x2f, 0x48, 0xb0, 0xc3, 0x81, 0x05, 0xbb, 0x14, 0x31,
+ 0x43, 0x3d, 0x45, 0x8c, 0xf4, 0x49, 0x0f, 0xf7, 0xf4, 0x49, 0xbf, 0x1f, 0x46, 0x5c, 0x7f, 0x9d,
+ 0x44, 0x6e, 0x42, 0x9a, 0x6c, 0x2d, 0x30, 0xf1, 0x53, 0xd3, 0x6a, 0x7d, 0x2e, 0x05, 0xc5, 0x19,
+ 0xec, 0xb4, 0x5c, 0x1c, 0xe9, 0x43, 0x2e, 0xf6, 0xd0, 0x46, 0x27, 0x8b, 0xd1, 0x46, 0xa7, 0x8e,
+ 0xae, 0x8d, 0x4e, 0x1f, 0xab, 0x36, 0x42, 0x85, 0x68, 0xa3, 0xbe, 0x04, 0xbd, 0xb1, 0xfd, 0x3b,
+ 0xbb, 0xcf, 0xf6, 0xaf, 0x97, 0x2a, 0x3a, 0x77, 0x68, 0x55, 0x94, 0xaf, 0x65, 0x1e, 0x39, 0x94,
+ 0x96, 0xf9, 0x6c, 0x09, 0xce, 0x69, 0x39, 0x4c, 0x67, 0xbf, 0xbb, 0x46, 0x25, 0x11, 0xbb, 0xd6,
+ 0x89, 0x9f, 0xdb, 0x18, 0xc9, 0x51, 0x3a, 0xcf, 0x4a, 0x41, 0xb0, 0x81, 0xc5, 0x72, 0x8c, 0x48,
+ 0xc4, 0xca, 0xe8, 0x66, 0x85, 0xf4, 0xb4, 0x68, 0xc7, 0x0a, 0x83, 0xce, 0x2f, 0xfa, 0x5b, 0xe4,
+ 0x6d, 0x66, 0x8b, 0xc5, 0x4d, 0x6b, 0x10, 0x36, 0xf1, 0xd0, 0xd3, 0x9c, 0x09, 0x13, 0x10, 0x54,
+ 0x50, 0x0f, 0x8b, 0x7b, 0x5e, 0xa5, 0x4c, 0x50, 0x50, 0xd9, 0x1d, 0x96, 0x4c, 0x56, 0xed, 0xee,
+ 0x0e, 0x0b, 0x81, 0x52, 0x18, 0xf6, 0xff, 0xb4, 0xe0, 0x7c, 0xee, 0x50, 0xdc, 0x07, 0xe5, 0xbb,
+ 0x95, 0x56, 0xbe, 0xcb, 0x45, 0x6d, 0x37, 0x8c, 0xb7, 0xe8, 0xa1, 0x88, 0xff, 0xbd, 0x05, 0x23,
+ 0x1a, 0xff, 0x3e, 0xbc, 0xaa, 0x9b, 0x7e, 0xd5, 0xe2, 0x76, 0x56, 0xf5, 0xae, 0x77, 0xfb, 0xed,
+ 0x12, 0xa8, 0x02, 0x8e, 0x93, 0x0d, 0x59, 0x1e, 0x77, 0x9f, 0x93, 0xc4, 0x6d, 0x18, 0x60, 0x07,
+ 0xa1, 0x71, 0x31, 0x41, 0x1e, 0x69, 0xfe, 0xec, 0x50, 0x55, 0x1f, 0x32, 0xb3, 0xbf, 0x31, 0x16,
+ 0x0c, 0x59, 0x91, 0x67, 0x37, 0xa6, 0xd2, 0xbc, 0x29, 0xd2, 0xb2, 0x74, 0x91, 0x67, 0xd1, 0x8e,
+ 0x15, 0x06, 0x55, 0x0f, 0x6e, 0x23, 0xf0, 0xa7, 0x3d, 0x27, 0x96, 0x77, 0x19, 0x2a, 0xf5, 0x30,
+ 0x27, 0x01, 0x58, 0xe3, 0xb0, 0x33, 0x52, 0x37, 0x0e, 0x3d, 0x67, 0xdb, 0xd8, 0x3f, 0x1b, 0xf5,
+ 0x09, 0x14, 0x08, 0x9b, 0x78, 0x76, 0x1b, 0x46, 0xd3, 0x2f, 0x31, 0x43, 0xd6, 0x58, 0x80, 0x62,
+ 0x5f, 0xc3, 0x39, 0x01, 0x75, 0x87, 0x3d, 0x35, 0xdf, 0x71, 0xb2, 0x57, 0x90, 0x4f, 0x4a, 0x00,
+ 0xd6, 0x38, 0xf6, 0xaf, 0x58, 0x70, 0x26, 0x67, 0xd0, 0x0a, 0x4c, 0x7b, 0x4b, 0xb4, 0xb4, 0xc9,
+ 0x53, 0xec, 0x3f, 0x04, 0x83, 0x4d, 0xb2, 0xe6, 0xc8, 0x10, 0x38, 0x43, 0xb6, 0xcf, 0xf0, 0x66,
+ 0x2c, 0xe1, 0xf6, 0x7f, 0xb7, 0xe0, 0x64, 0xba, 0xaf, 0x31, 0x4b, 0x25, 0xe1, 0xc3, 0xe4, 0xc6,
+ 0x8d, 0x60, 0x93, 0x44, 0xdb, 0xf4, 0xcd, 0xad, 0x4c, 0x2a, 0x49, 0x17, 0x06, 0xce, 0x79, 0x8a,
+ 0x95, 0x6f, 0x6d, 0xaa, 0xd1, 0x96, 0x33, 0xf2, 0x56, 0x91, 0x33, 0x52, 0x7f, 0x4c, 0xf3, 0xb8,
+ 0x5c, 0xb1, 0xc4, 0x26, 0x7f, 0xfb, 0x3b, 0x15, 0x50, 0x79, 0xb1, 0x2c, 0xfe, 0xa8, 0xa0, 0xe8,
+ 0xad, 0x83, 0x66, 0x10, 0xa9, 0xc9, 0x50, 0xd9, 0x2b, 0x20, 0x80, 0x7b, 0x49, 0x4c, 0xd7, 0xa5,
+ 0x7a, 0xc3, 0x15, 0x0d, 0xc2, 0x26, 0x1e, 0xed, 0x89, 0xe7, 0x6e, 0x12, 0xfe, 0xd0, 0x40, 0xba,
+ 0x27, 0xf3, 0x12, 0x80, 0x35, 0x0e, 0xed, 0x49, 0xd3, 0x5d, 0x5b, 0x13, 0x5b, 0x7e, 0xd5, 0x13,
+ 0x3a, 0x3a, 0x98, 0x41, 0x78, 0x45, 0xee, 0x60, 0x43, 0x58, 0xc1, 0x46, 0x45, 0xee, 0x60, 0x03,
+ 0x33, 0x08, 0xb5, 0xdb, 0xfc, 0x20, 0x6a, 0xb3, 0x2b, 0xe2, 0x9b, 0x8a, 0x8b, 0xb0, 0x7e, 0x95,
+ 0xdd, 0x76, 0xa3, 0x1b, 0x05, 0xe7, 0x3d, 0x47, 0x67, 0x60, 0x18, 0x91, 0xa6, 0xdb, 0x48, 0x4c,
+ 0x6a, 0x90, 0x9e, 0x81, 0x4b, 0x5d, 0x18, 0x38, 0xe7, 0x29, 0x34, 0x09, 0x27, 0x65, 0x5e, 0xb3,
+ 0xac, 0x5a, 0x33, 0x94, 0xae, 0x92, 0x81, 0xd3, 0x60, 0x9c, 0xc5, 0xa7, 0x52, 0xad, 0x2d, 0x0a,
+ 0x56, 0x31, 0x63, 0xd9, 0x90, 0x6a, 0xb2, 0x90, 0x15, 0x56, 0x18, 0xf6, 0xa7, 0xca, 0x54, 0x0b,
+ 0xf7, 0x28, 0xd4, 0x76, 0xdf, 0xa2, 0x05, 0xd3, 0x33, 0xb2, 0xd2, 0xc7, 0x8c, 0x7c, 0x1e, 0x86,
+ 0xef, 0xc4, 0x81, 0xaf, 0x22, 0xf1, 0xaa, 0x3d, 0x23, 0xf1, 0x0c, 0xac, 0xfc, 0x48, 0xbc, 0x81,
+ 0xa2, 0x22, 0xf1, 0x06, 0x0f, 0x19, 0x89, 0xf7, 0xad, 0x2a, 0xa8, 0xab, 0x41, 0x6e, 0x90, 0xe4,
+ 0x6e, 0x10, 0x6d, 0xb8, 0x7e, 0x8b, 0xe5, 0x83, 0x7f, 0xcd, 0x82, 0x61, 0xbe, 0x5e, 0xe6, 0xcd,
+ 0x4c, 0xaa, 0xb5, 0x82, 0xee, 0x9c, 0x48, 0x31, 0x1b, 0x5f, 0x31, 0x18, 0x65, 0xae, 0xd2, 0x34,
+ 0x41, 0x38, 0xd5, 0x23, 0xf4, 0x71, 0x00, 0xe9, 0x1f, 0x5d, 0x93, 0x22, 0x73, 0xae, 0x98, 0xfe,
+ 0x61, 0xb2, 0xa6, 0x6d, 0xe0, 0x15, 0xc5, 0x04, 0x1b, 0x0c, 0xd1, 0x67, 0x75, 0x96, 0x19, 0x0f,
+ 0xd9, 0xff, 0xe8, 0xb1, 0x8c, 0x4d, 0x3f, 0x39, 0x66, 0x18, 0x06, 0x5d, 0xbf, 0x45, 0xe7, 0x89,
+ 0x88, 0x58, 0x7a, 0x57, 0x5e, 0x2d, 0x85, 0xf9, 0xc0, 0x69, 0x4e, 0x39, 0x9e, 0xe3, 0x37, 0x48,
+ 0x34, 0xc7, 0xd1, 0xcd, 0x0b, 0xa4, 0x59, 0x03, 0x96, 0x84, 0xba, 0x2e, 0x55, 0xa9, 0xf6, 0x73,
+ 0xa9, 0xca, 0x85, 0x0f, 0xc0, 0xe9, 0xae, 0x8f, 0x79, 0xa0, 0x94, 0xb2, 0xc3, 0x67, 0xa3, 0xd9,
+ 0xff, 0x62, 0x40, 0x2b, 0xad, 0x1b, 0x41, 0x93, 0x5f, 0xed, 0x11, 0xe9, 0x2f, 0x2a, 0x6c, 0xdc,
+ 0x02, 0xa7, 0x88, 0x71, 0x09, 0xb5, 0x6a, 0xc4, 0x26, 0x4b, 0x3a, 0x47, 0x43, 0x27, 0x22, 0xfe,
+ 0x71, 0xcf, 0xd1, 0x25, 0xc5, 0x04, 0x1b, 0x0c, 0xd1, 0x7a, 0x2a, 0xa7, 0xe4, 0xca, 0xd1, 0x73,
+ 0x4a, 0x58, 0x95, 0xa9, 0xbc, 0x6a, 0xfc, 0x5f, 0xb2, 0x60, 0xc4, 0x4f, 0xcd, 0xdc, 0x62, 0xc2,
+ 0x48, 0xf3, 0x57, 0x05, 0xbf, 0x59, 0x2a, 0xdd, 0x86, 0x33, 0xfc, 0xf3, 0x54, 0x5a, 0xf5, 0x80,
+ 0x2a, 0x4d, 0xdf, 0x11, 0x34, 0xd0, 0xeb, 0x8e, 0x20, 0xe4, 0xab, 0x4b, 0xd2, 0x06, 0x0b, 0xbf,
+ 0x24, 0x0d, 0x72, 0x2e, 0x48, 0xbb, 0x0d, 0xf5, 0x46, 0x44, 0x9c, 0xe4, 0x90, 0xf7, 0x65, 0xb1,
+ 0x03, 0xfa, 0x69, 0x49, 0x00, 0x6b, 0x5a, 0xf6, 0xff, 0xae, 0xc0, 0x29, 0x39, 0x22, 0x32, 0x04,
+ 0x9d, 0xea, 0x47, 0xce, 0x57, 0x1b, 0xb7, 0x4a, 0x3f, 0x5e, 0x95, 0x00, 0xac, 0x71, 0xa8, 0x3d,
+ 0xd6, 0x89, 0xc9, 0x62, 0x48, 0xfc, 0x79, 0x77, 0x35, 0x16, 0xe7, 0x9c, 0x6a, 0xa1, 0xdc, 0xd4,
+ 0x20, 0x6c, 0xe2, 0x51, 0x63, 0x9c, 0xdb, 0xc5, 0x71, 0x36, 0x7d, 0x45, 0xd8, 0xdb, 0x58, 0xc2,
+ 0xd1, 0xcf, 0xe7, 0x56, 0x8e, 0x2d, 0x26, 0x71, 0xab, 0x2b, 0xf2, 0xfe, 0x80, 0x57, 0x2c, 0xfe,
+ 0x6d, 0x0b, 0xce, 0xf1, 0x56, 0x39, 0x92, 0x37, 0xc3, 0xa6, 0x93, 0x90, 0xb8, 0x98, 0x4a, 0xee,
+ 0x39, 0xfd, 0xd3, 0x4e, 0xde, 0x3c, 0xb6, 0x38, 0xbf, 0x37, 0xe8, 0x4d, 0x0b, 0x4e, 0x6e, 0xa4,
+ 0x6a, 0x7e, 0x48, 0xd5, 0x71, 0xd4, 0x74, 0xfc, 0x14, 0x51, 0xbd, 0xd4, 0xd2, 0xed, 0x31, 0xce,
+ 0x72, 0xb7, 0xff, 0xd4, 0x02, 0x53, 0x8c, 0xde, 0xff, 0x52, 0x21, 0x07, 0x37, 0x05, 0xa5, 0x75,
+ 0x59, 0xed, 0x69, 0x5d, 0x3e, 0x0e, 0xe5, 0x8e, 0xdb, 0x14, 0xfb, 0x0b, 0x7d, 0xfa, 0x3a, 0x37,
+ 0x83, 0x69, 0xbb, 0xfd, 0x4f, 0xab, 0xda, 0x6f, 0x21, 0xf2, 0xa2, 0xbe, 0x2f, 0x5e, 0x7b, 0x4d,
+ 0x15, 0x1b, 0xe3, 0x6f, 0x7e, 0xa3, 0xab, 0xd8, 0xd8, 0x8f, 0x1c, 0x3c, 0xed, 0x8d, 0x0f, 0x50,
+ 0xaf, 0x5a, 0x63, 0x83, 0xfb, 0xe4, 0xbc, 0xdd, 0x81, 0x1a, 0xdd, 0x82, 0x31, 0x07, 0x64, 0x2d,
+ 0xd5, 0xa9, 0xda, 0x55, 0xd1, 0x7e, 0x6f, 0x67, 0xec, 0x7d, 0x07, 0xef, 0x96, 0x7c, 0x1a, 0x2b,
+ 0xfa, 0x28, 0x86, 0x3a, 0xfd, 0xcd, 0xd2, 0xf3, 0xc4, 0xe6, 0xee, 0xa6, 0x92, 0x99, 0x12, 0x50,
+ 0x48, 0xee, 0x9f, 0xe6, 0x83, 0x7c, 0xa8, 0xb3, 0xdb, 0x68, 0x19, 0x53, 0xbe, 0x07, 0x5c, 0x52,
+ 0x49, 0x72, 0x12, 0x70, 0x6f, 0x67, 0xec, 0xa5, 0x83, 0x33, 0x55, 0x8f, 0x63, 0xcd, 0xc2, 0xfe,
+ 0x72, 0x45, 0xcf, 0x5d, 0x51, 0x63, 0xee, 0xfb, 0x62, 0xee, 0xbe, 0x98, 0x99, 0xbb, 0x17, 0xbb,
+ 0xe6, 0xee, 0x88, 0xbe, 0x35, 0x35, 0x35, 0x1b, 0xef, 0xb7, 0x21, 0xb0, 0xbf, 0xbf, 0x81, 0x59,
+ 0x40, 0xaf, 0x77, 0xdc, 0x88, 0xc4, 0x4b, 0x51, 0xc7, 0x77, 0xfd, 0x16, 0x9b, 0x8e, 0x35, 0xd3,
+ 0x02, 0x4a, 0x81, 0x71, 0x16, 0x9f, 0x6e, 0xea, 0xe9, 0x37, 0xbf, 0xed, 0x6c, 0xf2, 0x59, 0x65,
+ 0x94, 0xdd, 0x5a, 0x16, 0xed, 0x58, 0x61, 0xd8, 0xdf, 0x60, 0x67, 0xd9, 0x46, 0x5e, 0x30, 0x9d,
+ 0x13, 0x1e, 0xbb, 0xfe, 0x97, 0xd7, 0xec, 0x52, 0x73, 0x82, 0xdf, 0xf9, 0xcb, 0x61, 0xe8, 0x2e,
+ 0x0c, 0xae, 0xf2, 0xfb, 0xef, 0x8a, 0xa9, 0x4f, 0x2e, 0x2e, 0xd3, 0x63, 0xb7, 0x9c, 0xc8, 0x9b,
+ 0xf5, 0xee, 0xe9, 0x9f, 0x58, 0x72, 0xb3, 0xbf, 0x59, 0x81, 0x93, 0x99, 0x0b, 0x62, 0x53, 0xd5,
+ 0x52, 0x4b, 0xfb, 0x56, 0x4b, 0xfd, 0x08, 0x40, 0x93, 0x84, 0x5e, 0xb0, 0xcd, 0xcc, 0xb1, 0xca,
+ 0x81, 0xcd, 0x31, 0x65, 0xc1, 0xcf, 0x28, 0x2a, 0xd8, 0xa0, 0x28, 0x0a, 0x95, 0xf1, 0xe2, 0xab,
+ 0x99, 0x42, 0x65, 0xc6, 0x2d, 0x06, 0x03, 0xf7, 0xf7, 0x16, 0x03, 0x17, 0x4e, 0xf2, 0x2e, 0xaa,
+ 0xec, 0xdb, 0x43, 0x24, 0xd9, 0xb2, 0xfc, 0x85, 0x99, 0x34, 0x19, 0x9c, 0xa5, 0xfb, 0x20, 0xef,
+ 0x7f, 0x46, 0xef, 0x86, 0xba, 0xfc, 0xce, 0xf1, 0x68, 0x5d, 0x57, 0x30, 0x90, 0xd3, 0x80, 0xdd,
+ 0xcb, 0x2c, 0x7e, 0xda, 0x5f, 0x2c, 0x51, 0xeb, 0x99, 0xff, 0x53, 0x95, 0x68, 0x9e, 0x82, 0x01,
+ 0xa7, 0x93, 0xac, 0x07, 0x5d, 0x77, 0xe8, 0x4d, 0xb2, 0x56, 0x2c, 0xa0, 0x68, 0x1e, 0x2a, 0x4d,
+ 0x5d, 0x5d, 0xe4, 0x20, 0xa3, 0xa8, 0x1d, 0x91, 0x4e, 0x42, 0x30, 0xa3, 0x82, 0x1e, 0x83, 0x4a,
+ 0xe2, 0xb4, 0x64, 0xa2, 0x13, 0x4b, 0x6e, 0x5d, 0x71, 0x5a, 0x31, 0x66, 0xad, 0xa6, 0xd2, 0xac,
+ 0xec, 0xa3, 0x34, 0x5f, 0x82, 0x13, 0xb1, 0xdb, 0xf2, 0x9d, 0xa4, 0x13, 0x11, 0xe3, 0x70, 0x4d,
+ 0xc7, 0x4b, 0x98, 0x40, 0x9c, 0xc6, 0xb5, 0x7f, 0x63, 0x18, 0xce, 0x2e, 0x4f, 0x2f, 0xc8, 0x9a,
+ 0xd9, 0xc7, 0x96, 0xab, 0x94, 0xc7, 0xe3, 0xfe, 0xe5, 0x2a, 0xf5, 0xe0, 0xee, 0x19, 0xb9, 0x4a,
+ 0x9e, 0x91, 0xab, 0x94, 0x4e, 0x1c, 0x29, 0x17, 0x91, 0x38, 0x92, 0xd7, 0x83, 0x7e, 0x12, 0x47,
+ 0x8e, 0x2d, 0x79, 0x69, 0xcf, 0x0e, 0x1d, 0x28, 0x79, 0x49, 0x65, 0x76, 0x15, 0x12, 0xd2, 0xdf,
+ 0xe3, 0x53, 0xe5, 0x66, 0x76, 0xa9, 0xac, 0x1a, 0x9e, 0xae, 0x22, 0x04, 0xec, 0xab, 0xc5, 0x77,
+ 0xa0, 0x8f, 0xac, 0x1a, 0x91, 0x31, 0x63, 0x66, 0x72, 0x0d, 0x16, 0x91, 0xc9, 0x95, 0xd7, 0x9d,
+ 0x7d, 0x33, 0xb9, 0x5e, 0x82, 0x13, 0x0d, 0x2f, 0xf0, 0xc9, 0x52, 0x14, 0x24, 0x41, 0x23, 0xf0,
+ 0x84, 0x31, 0xad, 0x44, 0xc2, 0xb4, 0x09, 0xc4, 0x69, 0xdc, 0x5e, 0x69, 0x60, 0xf5, 0xa3, 0xa6,
+ 0x81, 0xc1, 0x03, 0x4a, 0x03, 0xfb, 0x19, 0x9d, 0xb0, 0x3c, 0xc4, 0xbe, 0xc8, 0x47, 0x8a, 0xff,
+ 0x22, 0xfd, 0x64, 0x2d, 0xa3, 0xb7, 0xf8, 0x25, 0x76, 0xd4, 0x1c, 0x9d, 0x0e, 0xda, 0xd4, 0xdc,
+ 0x1a, 0x66, 0x43, 0xf2, 0xda, 0x31, 0x4c, 0xd8, 0xdb, 0xcb, 0x9a, 0x8d, 0xba, 0xd8, 0x4e, 0x37,
+ 0xe1, 0x74, 0x47, 0x8e, 0x92, 0x50, 0xfd, 0xd5, 0x12, 0xfc, 0xc0, 0xbe, 0x5d, 0x40, 0x77, 0x01,
+ 0x12, 0xa7, 0x25, 0x26, 0xaa, 0x38, 0xa6, 0x38, 0x62, 0x50, 0xe3, 0x8a, 0xa4, 0xc7, 0x2b, 0x81,
+ 0xa8, 0xbf, 0xec, 0x00, 0x40, 0xfe, 0x66, 0xb1, 0x8c, 0x81, 0xd7, 0x55, 0x30, 0x11, 0x07, 0x1e,
+ 0xc1, 0x0c, 0x42, 0xd5, 0x7f, 0x44, 0x5a, 0xfa, 0xd6, 0x65, 0xf5, 0xf9, 0x30, 0x6b, 0xc5, 0x02,
+ 0x8a, 0x5e, 0x80, 0x21, 0xc7, 0xf3, 0x78, 0x56, 0x0a, 0x89, 0xc5, 0x2d, 0x36, 0xba, 0x72, 0x9b,
+ 0x06, 0x61, 0x13, 0xcf, 0xfe, 0x93, 0x12, 0x8c, 0xed, 0x23, 0x53, 0xba, 0xf2, 0xec, 0xaa, 0x7d,
+ 0xe7, 0xd9, 0x89, 0xcc, 0x80, 0x81, 0x1e, 0x99, 0x01, 0x2f, 0xc0, 0x50, 0x42, 0x9c, 0xb6, 0x08,
+ 0x83, 0x12, 0xfb, 0x6f, 0x7d, 0xee, 0xaa, 0x41, 0xd8, 0xc4, 0xa3, 0x52, 0x6c, 0xc4, 0x69, 0x34,
+ 0x48, 0x1c, 0xcb, 0xd0, 0x7f, 0xe1, 0xc3, 0x2c, 0x2c, 0xaf, 0x80, 0xb9, 0x86, 0x27, 0x53, 0x2c,
+ 0x70, 0x86, 0x65, 0x76, 0xc0, 0xeb, 0x7d, 0x0e, 0xf8, 0xd7, 0x4b, 0xf0, 0xf8, 0x9e, 0xda, 0xad,
+ 0xef, 0xac, 0x8c, 0x4e, 0x4c, 0xa2, 0xec, 0xc4, 0xb9, 0x19, 0x93, 0x08, 0x33, 0x08, 0x1f, 0xa5,
+ 0x30, 0x34, 0x6e, 0xb5, 0x2e, 0x3a, 0x65, 0x88, 0x8f, 0x52, 0x8a, 0x05, 0xce, 0xb0, 0x3c, 0xec,
+ 0xb4, 0xfc, 0xfb, 0x25, 0x78, 0xb2, 0x0f, 0x1b, 0xa0, 0xc0, 0xd4, 0xaa, 0x74, 0x82, 0x5b, 0xf9,
+ 0x01, 0xe5, 0x21, 0x1e, 0x72, 0xb8, 0xbe, 0x51, 0x82, 0x0b, 0xbd, 0x55, 0x31, 0xfa, 0x51, 0xba,
+ 0x87, 0x97, 0xb1, 0x4f, 0x66, 0x6e, 0xdc, 0x19, 0xbe, 0x7f, 0x4f, 0x81, 0x70, 0x16, 0x17, 0x8d,
+ 0x03, 0x84, 0x4e, 0xb2, 0x1e, 0x5f, 0xde, 0x72, 0xe3, 0x44, 0xd4, 0x7e, 0x19, 0xe1, 0x27, 0x46,
+ 0xb2, 0x15, 0x1b, 0x18, 0x94, 0x1d, 0xfb, 0x37, 0x13, 0xdc, 0x08, 0x12, 0xfe, 0x10, 0xdf, 0x46,
+ 0x9c, 0x91, 0x37, 0x65, 0x18, 0x20, 0x9c, 0xc5, 0xa5, 0xec, 0xd8, 0x99, 0x24, 0xef, 0x28, 0xdf,
+ 0x5f, 0x30, 0x76, 0xf3, 0xaa, 0x15, 0x1b, 0x18, 0xd9, 0xac, 0xbf, 0xea, 0xfe, 0x59, 0x7f, 0xf6,
+ 0x3f, 0x29, 0xc1, 0xf9, 0x9e, 0xa6, 0x5c, 0x7f, 0x0b, 0xf0, 0xe1, 0xcb, 0xd4, 0x3b, 0xdc, 0xdc,
+ 0x39, 0x60, 0x46, 0xd9, 0x1f, 0xf6, 0x98, 0x69, 0x22, 0xa3, 0xec, 0xf0, 0x29, 0xd9, 0x0f, 0xdf,
+ 0x78, 0x76, 0x25, 0x91, 0x55, 0x0e, 0x90, 0x44, 0x96, 0xf9, 0x18, 0xd5, 0x3e, 0x17, 0xf2, 0x9f,
+ 0x95, 0x7b, 0x0e, 0x2f, 0xdd, 0xfa, 0xf5, 0xe5, 0x1d, 0x9d, 0x81, 0x53, 0xae, 0xcf, 0x6e, 0x4d,
+ 0x5a, 0xee, 0xac, 0x8a, 0x72, 0x20, 0xa5, 0xf4, 0x9d, 0xe5, 0x73, 0x19, 0x38, 0xee, 0x7a, 0xe2,
+ 0x21, 0x4c, 0xea, 0x3b, 0xdc, 0x90, 0x1e, 0x2c, 0xad, 0x14, 0x2d, 0xc2, 0x39, 0x39, 0x14, 0xeb,
+ 0x4e, 0x44, 0x9a, 0x42, 0x8d, 0xc4, 0x22, 0x8d, 0xe1, 0x3c, 0x4f, 0x85, 0xc8, 0x41, 0xc0, 0xf9,
+ 0xcf, 0xb1, 0x8b, 0x6a, 0x82, 0xd0, 0x6d, 0x88, 0x4d, 0x8e, 0xbe, 0xa8, 0x86, 0x36, 0x62, 0x0e,
+ 0xb3, 0x3f, 0x02, 0x75, 0xf5, 0xfe, 0x3c, 0x98, 0x5a, 0x4d, 0xba, 0xae, 0x60, 0x6a, 0x35, 0xe3,
+ 0x0c, 0x2c, 0xfa, 0xb5, 0xa8, 0x49, 0x9c, 0x59, 0x3d, 0xd7, 0xc9, 0x36, 0xb3, 0x8f, 0xed, 0xf7,
+ 0xc0, 0xb0, 0xf2, 0xb3, 0xf4, 0x7b, 0x7d, 0x8f, 0xfd, 0xe5, 0x01, 0x38, 0x91, 0x2a, 0xc9, 0x97,
+ 0x72, 0x6b, 0x5a, 0xfb, 0xba, 0x35, 0x59, 0x70, 0x7c, 0xc7, 0x97, 0x77, 0x7b, 0x19, 0xc1, 0xf1,
+ 0x1d, 0x9f, 0x60, 0x0e, 0xa3, 0xe6, 0x6d, 0x33, 0xda, 0xc6, 0x1d, 0x5f, 0x04, 0xb1, 0x2a, 0xf3,
+ 0x76, 0x86, 0xb5, 0x62, 0x01, 0x45, 0x9f, 0xb4, 0x60, 0x38, 0x66, 0x3e, 0x73, 0xee, 0x14, 0x16,
+ 0x93, 0xee, 0xda, 0xd1, 0x2b, 0x0e, 0xaa, 0xf2, 0x93, 0x2c, 0x2e, 0xc5, 0x6c, 0xc1, 0x29, 0x8e,
+ 0xe8, 0x33, 0x16, 0xd4, 0xd5, 0x15, 0x24, 0xe2, 0x02, 0xbe, 0xe5, 0x62, 0x2b, 0x1e, 0x72, 0x6f,
+ 0xa2, 0x3a, 0x7e, 0x50, 0xa5, 0xe7, 0xb0, 0x66, 0x8c, 0x62, 0xe5, 0xb1, 0x1d, 0x3c, 0x1e, 0x8f,
+ 0x2d, 0xe4, 0x78, 0x6b, 0xdf, 0x0d, 0xf5, 0xb6, 0xe3, 0xbb, 0x6b, 0x24, 0x4e, 0xb8, 0x13, 0x55,
+ 0x16, 0x62, 0x95, 0x8d, 0x58, 0xc3, 0xa9, 0x42, 0x8e, 0xd9, 0x8b, 0x25, 0x86, 0xd7, 0x93, 0x29,
+ 0xe4, 0x65, 0xdd, 0x8c, 0x4d, 0x1c, 0xd3, 0x45, 0x0b, 0x0f, 0xd4, 0x45, 0x3b, 0xb4, 0x8f, 0x8b,
+ 0xf6, 0x1f, 0x5a, 0x70, 0x2e, 0xf7, 0xab, 0x3d, 0xbc, 0xe1, 0x86, 0xf6, 0x57, 0xaa, 0x70, 0x26,
+ 0xa7, 0xb6, 0x26, 0xda, 0x36, 0xe7, 0xb3, 0x55, 0xc4, 0xc9, 0x7d, 0xfa, 0x20, 0x5a, 0x0e, 0x63,
+ 0xce, 0x24, 0x3e, 0xd8, 0x01, 0x89, 0x3e, 0xa4, 0x28, 0xdf, 0xdf, 0x43, 0x0a, 0x63, 0x5a, 0x56,
+ 0x1e, 0xe8, 0xb4, 0xac, 0xee, 0x3d, 0x2d, 0xd1, 0xaf, 0x5a, 0x30, 0xda, 0xee, 0x51, 0xd0, 0x5d,
+ 0x38, 0x1e, 0x6f, 0x1d, 0x4f, 0xb9, 0xf8, 0xa9, 0xc7, 0x76, 0x77, 0xc6, 0x7a, 0xd6, 0xd1, 0xc7,
+ 0x3d, 0x7b, 0x65, 0x7f, 0xa7, 0x0c, 0xac, 0xb0, 0x2b, 0xab, 0x9f, 0xb6, 0x8d, 0x3e, 0x61, 0x96,
+ 0xe8, 0xb5, 0x8a, 0x2a, 0x27, 0xcb, 0x89, 0xab, 0x12, 0xbf, 0x7c, 0x04, 0xf3, 0x2a, 0xfe, 0x66,
+ 0x85, 0x56, 0xa9, 0x0f, 0xa1, 0xe5, 0xc9, 0x5a, 0xc8, 0xe5, 0xe2, 0x6b, 0x21, 0xd7, 0xb3, 0x75,
+ 0x90, 0xf7, 0xfe, 0xc4, 0x95, 0x87, 0xf2, 0x13, 0xff, 0x4d, 0x8b, 0x0b, 0x9e, 0xcc, 0x57, 0xd0,
+ 0x96, 0x81, 0xb5, 0x87, 0x65, 0xf0, 0x0c, 0xd4, 0x62, 0xe2, 0xad, 0x5d, 0x25, 0x8e, 0x27, 0x2c,
+ 0x08, 0x7d, 0x6a, 0x2c, 0xda, 0xb1, 0xc2, 0x60, 0x97, 0xa5, 0x7a, 0x5e, 0x70, 0xf7, 0x72, 0x3b,
+ 0x4c, 0xb6, 0x85, 0x2d, 0xa1, 0x2f, 0x4b, 0x55, 0x10, 0x6c, 0x60, 0xd9, 0x7f, 0xab, 0xc4, 0x67,
+ 0xa0, 0x08, 0x3d, 0x78, 0x31, 0x73, 0xbd, 0x5d, 0xff, 0xa7, 0xf6, 0x1f, 0x03, 0x68, 0xa8, 0x8b,
+ 0xe1, 0xc5, 0x99, 0xd0, 0xd5, 0x23, 0xdf, 0x5a, 0x2d, 0xe8, 0xe9, 0xd7, 0xd0, 0x6d, 0xd8, 0xe0,
+ 0x97, 0x92, 0xa5, 0xe5, 0x7d, 0x65, 0x69, 0x4a, 0xac, 0x54, 0xf6, 0xd1, 0x76, 0x7f, 0x62, 0x41,
+ 0xca, 0x22, 0x42, 0x21, 0x54, 0x69, 0x77, 0xb7, 0x8b, 0xb9, 0xf3, 0xde, 0x24, 0x4d, 0x45, 0xa3,
+ 0x98, 0xf6, 0xec, 0x27, 0xe6, 0x8c, 0x90, 0x27, 0x22, 0x14, 0xf8, 0xa8, 0xde, 0x28, 0x8e, 0xe1,
+ 0xd5, 0x20, 0xd8, 0xe0, 0x07, 0x9b, 0x3a, 0xda, 0xc1, 0x7e, 0x11, 0x4e, 0x77, 0x75, 0x8a, 0xdd,
+ 0x64, 0x15, 0xc8, 0x8b, 0xfe, 0x8d, 0xe9, 0xca, 0xd2, 0x26, 0x31, 0x87, 0xd9, 0xdf, 0xb0, 0xe0,
+ 0x54, 0x96, 0x3c, 0x7a, 0xcb, 0x82, 0xd3, 0x71, 0x96, 0xde, 0x71, 0x8d, 0x9d, 0x8a, 0x32, 0xec,
+ 0x02, 0xe1, 0xee, 0x4e, 0xd8, 0xff, 0x47, 0x4c, 0xfe, 0xdb, 0xae, 0xdf, 0x0c, 0xee, 0x2a, 0xc3,
+ 0xc4, 0xea, 0x69, 0x98, 0xd0, 0xf5, 0xd8, 0x58, 0x27, 0xcd, 0x8e, 0xd7, 0x95, 0xaf, 0xb9, 0x2c,
+ 0xda, 0xb1, 0xc2, 0x60, 0xe9, 0x69, 0x1d, 0x51, 0x2c, 0x3d, 0x33, 0x29, 0x67, 0x44, 0x3b, 0x56,
+ 0x18, 0xe8, 0x79, 0x18, 0x36, 0x5e, 0x52, 0xce, 0x4b, 0x66, 0x90, 0x1b, 0x2a, 0x33, 0xc6, 0x29,
+ 0x2c, 0x34, 0x0e, 0xa0, 0x8c, 0x1c, 0xa9, 0x22, 0x99, 0xa3, 0x48, 0x49, 0xa2, 0x18, 0x1b, 0x18,
+ 0x2c, 0x19, 0xd4, 0xeb, 0xc4, 0xcc, 0xc7, 0x3f, 0xa0, 0x0b, 0x78, 0x4e, 0x8b, 0x36, 0xac, 0xa0,
+ 0x54, 0x9a, 0xb4, 0x1d, 0xbf, 0xe3, 0x78, 0x74, 0x84, 0xc4, 0xd6, 0x4f, 0x2d, 0xc3, 0x05, 0x05,
+ 0xc1, 0x06, 0x16, 0x7d, 0xe3, 0xc4, 0x6d, 0x93, 0x57, 0x02, 0x5f, 0x46, 0x87, 0xe9, 0x63, 0x1f,
+ 0xd1, 0x8e, 0x15, 0x86, 0xfd, 0x5f, 0x2d, 0x38, 0xa9, 0x53, 0xcb, 0xf9, 0x9d, 0xd5, 0xe6, 0x4e,
+ 0xd5, 0xda, 0x77, 0xa7, 0x9a, 0xce, 0xb9, 0x2d, 0xf5, 0x95, 0x73, 0x6b, 0xa6, 0xc3, 0x96, 0xf7,
+ 0x4c, 0x87, 0xfd, 0x41, 0x7d, 0x1f, 0x2a, 0xcf, 0x9b, 0x1d, 0xca, 0xbb, 0x0b, 0x15, 0xd9, 0x30,
+ 0xd0, 0x70, 0x54, 0x5d, 0x95, 0x61, 0xbe, 0x77, 0x98, 0x9e, 0x64, 0x48, 0x02, 0x62, 0x2f, 0x42,
+ 0x5d, 0x9d, 0x7e, 0xc8, 0x8d, 0xaa, 0x95, 0xbf, 0x51, 0xed, 0x2b, 0x2d, 0x6f, 0x6a, 0xf5, 0x9b,
+ 0xdf, 0x7d, 0xe2, 0x1d, 0xbf, 0xfb, 0xdd, 0x27, 0xde, 0xf1, 0x07, 0xdf, 0x7d, 0xe2, 0x1d, 0x9f,
+ 0xdc, 0x7d, 0xc2, 0xfa, 0xe6, 0xee, 0x13, 0xd6, 0xef, 0xee, 0x3e, 0x61, 0xfd, 0xc1, 0xee, 0x13,
+ 0xd6, 0x77, 0x76, 0x9f, 0xb0, 0xbe, 0xf4, 0x9f, 0x9f, 0x78, 0xc7, 0x2b, 0xb9, 0xe1, 0x81, 0xf4,
+ 0xc7, 0xb3, 0x8d, 0xe6, 0xc4, 0xe6, 0x25, 0x16, 0xa1, 0x46, 0x97, 0xd7, 0x84, 0x31, 0xa7, 0x26,
+ 0xe4, 0xf2, 0xfa, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x4f, 0x88, 0x2f, 0x3c, 0xe0, 0x00,
+ 0x00,
}
func (m *AWSAuthConfig) Marshal() (dAtA []byte, err error) {
@@ -6106,6 +6273,52 @@ func (m *ApplicationSetNestedGenerator) MarshalToSizedBuffer(dAtA []byte) (int,
return len(dAtA) - i, nil
}
+func (m *ApplicationSetResourceIgnoreDifferences) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ApplicationSetResourceIgnoreDifferences) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *ApplicationSetResourceIgnoreDifferences) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.JQPathExpressions) > 0 {
+ for iNdEx := len(m.JQPathExpressions) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.JQPathExpressions[iNdEx])
+ copy(dAtA[i:], m.JQPathExpressions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.JQPathExpressions[iNdEx])))
+ i--
+ dAtA[i] = 0x1a
+ }
+ }
+ if len(m.JSONPointers) > 0 {
+ for iNdEx := len(m.JSONPointers) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.JSONPointers[iNdEx])
+ copy(dAtA[i:], m.JSONPointers[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.JSONPointers[iNdEx])))
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *ApplicationSetRolloutStep) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -6212,6 +6425,20 @@ func (m *ApplicationSetSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if len(m.IgnoreApplicationDifferences) > 0 {
+ for iNdEx := len(m.IgnoreApplicationDifferences) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.IgnoreApplicationDifferences[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x4a
+ }
+ }
i--
if m.ApplyNestedSelectors {
dAtA[i] = 1
@@ -7019,6 +7246,20 @@ func (m *ApplicationSourceKustomize) MarshalToSizedBuffer(dAtA []byte) (int, err
_ = i
var l int
_ = l
+ if len(m.Patches) > 0 {
+ for iNdEx := len(m.Patches) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Patches[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x62
+ }
+ }
if len(m.Replicas) > 0 {
for iNdEx := len(m.Replicas) - 1; iNdEx >= 0; iNdEx-- {
{
@@ -9404,6 +9645,44 @@ func (m *KnownTypeField) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *KustomizeGvk) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *KustomizeGvk) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *KustomizeGvk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Kind)
+ copy(dAtA[i:], m.Kind)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind)))
+ i--
+ dAtA[i] = 0x1a
+ i -= len(m.Version)
+ copy(dAtA[i:], m.Version)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Version)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Group)
+ copy(dAtA[i:], m.Group)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Group)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *KustomizeOptions) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -9437,6 +9716,78 @@ func (m *KustomizeOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *KustomizePatch) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *KustomizePatch) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *KustomizePatch) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Options) > 0 {
+ keysForOptions := make([]string, 0, len(m.Options))
+ for k := range m.Options {
+ keysForOptions = append(keysForOptions, string(k))
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForOptions)
+ for iNdEx := len(keysForOptions) - 1; iNdEx >= 0; iNdEx-- {
+ v := m.Options[string(keysForOptions[iNdEx])]
+ baseI := i
+ i--
+ if v {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x10
+ i -= len(keysForOptions[iNdEx])
+ copy(dAtA[i:], keysForOptions[iNdEx])
+ i = encodeVarintGenerated(dAtA, i, uint64(len(keysForOptions[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ i = encodeVarintGenerated(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if m.Target != nil {
+ {
+ size, err := m.Target.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ i -= len(m.Patch)
+ copy(dAtA[i:], m.Patch)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Patch)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(m.Path)
+ copy(dAtA[i:], m.Path)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Path)))
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *KustomizeReplica) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -9475,6 +9826,92 @@ func (m *KustomizeReplica) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
+func (m *KustomizeResId) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *KustomizeResId) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *KustomizeResId) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.Namespace)
+ copy(dAtA[i:], m.Namespace)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace)))
+ i--
+ dAtA[i] = 0x1a
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.KustomizeGvk.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
+func (m *KustomizeSelector) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBuffer(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *KustomizeSelector) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *KustomizeSelector) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ i -= len(m.LabelSelector)
+ copy(dAtA[i:], m.LabelSelector)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.LabelSelector)))
+ i--
+ dAtA[i] = 0x1a
+ i -= len(m.AnnotationSelector)
+ copy(dAtA[i:], m.AnnotationSelector)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.AnnotationSelector)))
+ i--
+ dAtA[i] = 0x12
+ {
+ size, err := m.KustomizeResId.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ return len(dAtA) - i, nil
+}
+
func (m *ListGenerator) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -14301,6 +14738,29 @@ func (m *ApplicationSetNestedGenerator) Size() (n int) {
return n
}
+func (m *ApplicationSetResourceIgnoreDifferences) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ if len(m.JSONPointers) > 0 {
+ for _, s := range m.JSONPointers {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.JQPathExpressions) > 0 {
+ for _, s := range m.JQPathExpressions {
+ l = len(s)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ return n
+}
+
func (m *ApplicationSetRolloutStep) Size() (n int) {
if m == nil {
return 0
@@ -14369,6 +14829,12 @@ func (m *ApplicationSetSpec) Size() (n int) {
}
}
n += 2
+ if len(m.IgnoreApplicationDifferences) > 0 {
+ for _, e := range m.IgnoreApplicationDifferences {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
return n
}
@@ -14674,6 +15140,12 @@ func (m *ApplicationSourceKustomize) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
}
}
+ if len(m.Patches) > 0 {
+ for _, e := range m.Patches {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
return n
}
@@ -15535,6 +16007,21 @@ func (m *KnownTypeField) Size() (n int) {
return n
}
+func (m *KustomizeGvk) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Group)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Version)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Kind)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
func (m *KustomizeOptions) Size() (n int) {
if m == nil {
return 0
@@ -15548,6 +16035,31 @@ func (m *KustomizeOptions) Size() (n int) {
return n
}
+func (m *KustomizePatch) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Path)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Patch)
+ n += 1 + l + sovGenerated(uint64(l))
+ if m.Target != nil {
+ l = m.Target.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ if len(m.Options) > 0 {
+ for k, v := range m.Options {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + 1
+ n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
+ }
+ }
+ return n
+}
+
func (m *KustomizeReplica) Size() (n int) {
if m == nil {
return 0
@@ -15561,6 +16073,36 @@ func (m *KustomizeReplica) Size() (n int) {
return n
}
+func (m *KustomizeResId) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.KustomizeGvk.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Name)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.Namespace)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
+func (m *KustomizeSelector) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = m.KustomizeResId.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.AnnotationSelector)
+ n += 1 + l + sovGenerated(uint64(l))
+ l = len(m.LabelSelector)
+ n += 1 + l + sovGenerated(uint64(l))
+ return n
+}
+
func (m *ListGenerator) Size() (n int) {
if m == nil {
return 0
@@ -17508,6 +18050,18 @@ func (this *ApplicationSetNestedGenerator) String() string {
}, "")
return s
}
+func (this *ApplicationSetResourceIgnoreDifferences) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ApplicationSetResourceIgnoreDifferences{`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `JSONPointers:` + fmt.Sprintf("%v", this.JSONPointers) + `,`,
+ `JQPathExpressions:` + fmt.Sprintf("%v", this.JQPathExpressions) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *ApplicationSetRolloutStep) String() string {
if this == nil {
return "nil"
@@ -17548,6 +18102,11 @@ func (this *ApplicationSetSpec) String() string {
repeatedStringForGenerators += strings.Replace(strings.Replace(f.String(), "ApplicationSetGenerator", "ApplicationSetGenerator", 1), `&`, ``, 1) + ","
}
repeatedStringForGenerators += "}"
+ repeatedStringForIgnoreApplicationDifferences := "[]ApplicationSetResourceIgnoreDifferences{"
+ for _, f := range this.IgnoreApplicationDifferences {
+ repeatedStringForIgnoreApplicationDifferences += strings.Replace(strings.Replace(f.String(), "ApplicationSetResourceIgnoreDifferences", "ApplicationSetResourceIgnoreDifferences", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForIgnoreApplicationDifferences += "}"
s := strings.Join([]string{`&ApplicationSetSpec{`,
`GoTemplate:` + fmt.Sprintf("%v", this.GoTemplate) + `,`,
`Generators:` + repeatedStringForGenerators + `,`,
@@ -17557,6 +18116,7 @@ func (this *ApplicationSetSpec) String() string {
`PreservedFields:` + strings.Replace(this.PreservedFields.String(), "ApplicationPreservedFields", "ApplicationPreservedFields", 1) + `,`,
`GoTemplateOptions:` + fmt.Sprintf("%v", this.GoTemplateOptions) + `,`,
`ApplyNestedSelectors:` + fmt.Sprintf("%v", this.ApplyNestedSelectors) + `,`,
+ `IgnoreApplicationDifferences:` + repeatedStringForIgnoreApplicationDifferences + `,`,
`}`,
}, "")
return s
@@ -17757,6 +18317,11 @@ func (this *ApplicationSourceKustomize) String() string {
repeatedStringForReplicas += strings.Replace(strings.Replace(f.String(), "KustomizeReplica", "KustomizeReplica", 1), `&`, ``, 1) + ","
}
repeatedStringForReplicas += "}"
+ repeatedStringForPatches := "[]KustomizePatch{"
+ for _, f := range this.Patches {
+ repeatedStringForPatches += strings.Replace(strings.Replace(f.String(), "KustomizePatch", "KustomizePatch", 1), `&`, ``, 1) + ","
+ }
+ repeatedStringForPatches += "}"
keysForCommonLabels := make([]string, 0, len(this.CommonLabels))
for k := range this.CommonLabels {
keysForCommonLabels = append(keysForCommonLabels, k)
@@ -17789,6 +18354,7 @@ func (this *ApplicationSourceKustomize) String() string {
`Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
`CommonAnnotationsEnvsubst:` + fmt.Sprintf("%v", this.CommonAnnotationsEnvsubst) + `,`,
`Replicas:` + repeatedStringForReplicas + `,`,
+ `Patches:` + repeatedStringForPatches + `,`,
`}`,
}, "")
return s
@@ -18478,6 +19044,18 @@ func (this *KnownTypeField) String() string {
}, "")
return s
}
+func (this *KustomizeGvk) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&KustomizeGvk{`,
+ `Group:` + fmt.Sprintf("%v", this.Group) + `,`,
+ `Version:` + fmt.Sprintf("%v", this.Version) + `,`,
+ `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *KustomizeOptions) String() string {
if this == nil {
return "nil"
@@ -18489,6 +19067,29 @@ func (this *KustomizeOptions) String() string {
}, "")
return s
}
+func (this *KustomizePatch) String() string {
+ if this == nil {
+ return "nil"
+ }
+ keysForOptions := make([]string, 0, len(this.Options))
+ for k := range this.Options {
+ keysForOptions = append(keysForOptions, k)
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForOptions)
+ mapStringForOptions := "map[string]bool{"
+ for _, k := range keysForOptions {
+ mapStringForOptions += fmt.Sprintf("%v: %v,", k, this.Options[k])
+ }
+ mapStringForOptions += "}"
+ s := strings.Join([]string{`&KustomizePatch{`,
+ `Path:` + fmt.Sprintf("%v", this.Path) + `,`,
+ `Patch:` + fmt.Sprintf("%v", this.Patch) + `,`,
+ `Target:` + strings.Replace(this.Target.String(), "KustomizeSelector", "KustomizeSelector", 1) + `,`,
+ `Options:` + mapStringForOptions + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *KustomizeReplica) String() string {
if this == nil {
return "nil"
@@ -18500,6 +19101,30 @@ func (this *KustomizeReplica) String() string {
}, "")
return s
}
+func (this *KustomizeResId) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&KustomizeResId{`,
+ `KustomizeGvk:` + strings.Replace(strings.Replace(this.KustomizeGvk.String(), "KustomizeGvk", "KustomizeGvk", 1), `&`, ``, 1) + `,`,
+ `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
+ `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *KustomizeSelector) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&KustomizeSelector{`,
+ `KustomizeResId:` + strings.Replace(strings.Replace(this.KustomizeResId.String(), "KustomizeResId", "KustomizeResId", 1), `&`, ``, 1) + `,`,
+ `AnnotationSelector:` + fmt.Sprintf("%v", this.AnnotationSelector) + `,`,
+ `LabelSelector:` + fmt.Sprintf("%v", this.LabelSelector) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *ListGenerator) String() string {
if this == nil {
return "nil"
@@ -23100,7 +23725,7 @@ func (m *ApplicationSetNestedGenerator) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *ApplicationSetRolloutStep) Unmarshal(dAtA []byte) error {
+func (m *ApplicationSetResourceIgnoreDifferences) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -23123,17 +23748,17 @@ func (m *ApplicationSetRolloutStep) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: ApplicationSetRolloutStep: wiretype end group for non-group")
+ return fmt.Errorf("proto: ApplicationSetResourceIgnoreDifferences: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: ApplicationSetRolloutStep: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: ApplicationSetResourceIgnoreDifferences: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MatchExpressions", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -23143,31 +23768,29 @@ func (m *ApplicationSetRolloutStep) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.MatchExpressions = append(m.MatchExpressions, ApplicationMatchExpression{})
- if err := m.MatchExpressions[len(m.MatchExpressions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field MaxUpdate", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field JSONPointers", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -23177,83 +23800,29 @@ func (m *ApplicationSetRolloutStep) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.MaxUpdate == nil {
- m.MaxUpdate = &intstr.IntOrString{}
- }
- if err := m.MaxUpdate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.JSONPointers = append(m.JSONPointers, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipGenerated(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLengthGenerated
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ApplicationSetRolloutStrategy) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= uint64(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ApplicationSetRolloutStrategy: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ApplicationSetRolloutStrategy: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
+ case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Steps", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field JQPathExpressions", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
@@ -23263,25 +23832,23 @@ func (m *ApplicationSetRolloutStrategy) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenerated
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Steps = append(m.Steps, ApplicationSetRolloutStep{})
- if err := m.Steps[len(m.Steps)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.JQPathExpressions = append(m.JQPathExpressions, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -23304,7 +23871,7 @@ func (m *ApplicationSetRolloutStrategy) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *ApplicationSetSpec) Unmarshal(dAtA []byte) error {
+func (m *ApplicationSetRolloutStep) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -23327,35 +23894,239 @@ func (m *ApplicationSetSpec) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: ApplicationSetSpec: wiretype end group for non-group")
+ return fmt.Errorf("proto: ApplicationSetRolloutStep: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: ApplicationSetSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: ApplicationSetRolloutStep: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field GoTemplate", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowGenerated
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.GoTemplate = bool(v != 0)
- case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Generators", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field MatchExpressions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.MatchExpressions = append(m.MatchExpressions, ApplicationMatchExpression{})
+ if err := m.MatchExpressions[len(m.MatchExpressions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MaxUpdate", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.MaxUpdate == nil {
+ m.MaxUpdate = &intstr.IntOrString{}
+ }
+ if err := m.MaxUpdate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ApplicationSetRolloutStrategy) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ApplicationSetRolloutStrategy: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ApplicationSetRolloutStrategy: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Steps", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Steps = append(m.Steps, ApplicationSetRolloutStep{})
+ if err := m.Steps[len(m.Steps)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ApplicationSetSpec) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ApplicationSetSpec: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ApplicationSetSpec: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field GoTemplate", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.GoTemplate = bool(v != 0)
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Generators", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -23580,6 +24351,40 @@ func (m *ApplicationSetSpec) Unmarshal(dAtA []byte) error {
}
}
m.ApplyNestedSelectors = bool(v != 0)
+ case 9:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field IgnoreApplicationDifferences", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.IgnoreApplicationDifferences = append(m.IgnoreApplicationDifferences, ApplicationSetResourceIgnoreDifferences{})
+ if err := m.IgnoreApplicationDifferences[len(m.IgnoreApplicationDifferences)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -26344,6 +27149,40 @@ func (m *ApplicationSourceKustomize) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 12:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Patches", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Patches = append(m.Patches, KustomizePatch{})
+ if err := m.Patches[len(m.Patches)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -33796,6 +34635,152 @@ func (m *KnownTypeField) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *KustomizeGvk) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: KustomizeGvk: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: KustomizeGvk: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Group = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Version = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Kind = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *KustomizeOptions) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -33910,6 +34895,271 @@ func (m *KustomizeOptions) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *KustomizePatch) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: KustomizePatch: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: KustomizePatch: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Path = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Patch", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Patch = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Target == nil {
+ m.Target = &KustomizeSelector{}
+ }
+ if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Options == nil {
+ m.Options = make(map[string]bool)
+ }
+ var mapkey string
+ var mapvalue bool
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var mapvaluetemp int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ mapvaluetemp |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ mapvalue = bool(mapvaluetemp != 0)
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.Options[mapkey] = mapvalue
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *KustomizeReplica) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -34025,6 +35275,300 @@ func (m *KustomizeReplica) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *KustomizeResId) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: KustomizeResId: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: KustomizeResId: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field KustomizeGvk", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.KustomizeGvk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Namespace = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *KustomizeSelector) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: KustomizeSelector: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: KustomizeSelector: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field KustomizeResId", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if err := m.KustomizeResId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AnnotationSelector", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.AnnotationSelector = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field LabelSelector", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.LabelSelector = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipGenerated(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *ListGenerator) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto
index e72170993b19b..a0e6782be69f9 100644
--- a/pkg/apis/application/v1alpha1/generated.proto
+++ b/pkg/apis/application/v1alpha1/generated.proto
@@ -273,6 +273,19 @@ message ApplicationSetNestedGenerator {
optional PluginGenerator plugin = 10;
}
+// ApplicationSetResourceIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live
+// applications when applying changes from generated applications.
+message ApplicationSetResourceIgnoreDifferences {
+ // Name is the name of the application to ignore differences for. If not specified, the rule applies to all applications.
+ optional string name = 1;
+
+ // JSONPointers is a list of JSON pointers to fields to ignore differences for.
+ repeated string jsonPointers = 2;
+
+ // JQPathExpressions is a list of JQ path expressions to fields to ignore differences for.
+ repeated string jqPathExpressions = 3;
+}
+
message ApplicationSetRolloutStep {
repeated ApplicationMatchExpression matchExpressions = 1;
@@ -301,6 +314,8 @@ message ApplicationSetSpec {
// ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators
optional bool applyNestedSelectors = 8;
+
+ repeated ApplicationSetResourceIgnoreDifferences ignoreApplicationDifferences = 9;
}
// ApplicationSetStatus defines the observed state of ApplicationSet
@@ -503,6 +518,9 @@ message ApplicationSourceKustomize {
// Replicas is a list of Kustomize Replicas override specifications
repeated KustomizeReplica replicas = 11;
+
+ // Patches is a list of Kustomize patches
+ repeated KustomizePatch patches = 12;
}
// ApplicationSourcePlugin holds options specific to config management plugins
@@ -1055,6 +1073,14 @@ message KnownTypeField {
optional string type = 2;
}
+message KustomizeGvk {
+ optional string group = 1;
+
+ optional string version = 2;
+
+ optional string kind = 3;
+}
+
// KustomizeOptions are options for kustomize to use when building manifests
message KustomizeOptions {
// BuildOptions is a string of build parameters to use when calling `kustomize build`
@@ -1064,6 +1090,16 @@ message KustomizeOptions {
optional string binaryPath = 2;
}
+message KustomizePatch {
+ optional string path = 1;
+
+ optional string patch = 2;
+
+ optional KustomizeSelector target = 3;
+
+ map options = 4;
+}
+
message KustomizeReplica {
// Name of Deployment or StatefulSet
optional string name = 1;
@@ -1072,6 +1108,22 @@ message KustomizeReplica {
optional k8s.io.apimachinery.pkg.util.intstr.IntOrString count = 2;
}
+message KustomizeResId {
+ optional KustomizeGvk gvk = 1;
+
+ optional string name = 2;
+
+ optional string namespace = 3;
+}
+
+message KustomizeSelector {
+ optional KustomizeResId resId = 1;
+
+ optional string annotationSelector = 2;
+
+ optional string labelSelector = 3;
+}
+
// ListGenerator include items info
message ListGenerator {
repeated k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1.JSON elements = 1;
diff --git a/pkg/apis/application/v1alpha1/openapi_generated.go b/pkg/apis/application/v1alpha1/openapi_generated.go
index 6931ba573e411..561b361d13d43 100644
--- a/pkg/apis/application/v1alpha1/openapi_generated.go
+++ b/pkg/apis/application/v1alpha1/openapi_generated.go
@@ -14,154 +14,159 @@ import (
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
return map[string]common.OpenAPIDefinition{
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AWSAuthConfig": schema_pkg_apis_application_v1alpha1_AWSAuthConfig(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProject": schema_pkg_apis_application_v1alpha1_AppProject(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProjectList": schema_pkg_apis_application_v1alpha1_AppProjectList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProjectSpec": schema_pkg_apis_application_v1alpha1_AppProjectSpec(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProjectStatus": schema_pkg_apis_application_v1alpha1_AppProjectStatus(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Application": schema_pkg_apis_application_v1alpha1_Application(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationCondition": schema_pkg_apis_application_v1alpha1_ApplicationCondition(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationDestination": schema_pkg_apis_application_v1alpha1_ApplicationDestination(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationList": schema_pkg_apis_application_v1alpha1_ApplicationList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationMatchExpression": schema_pkg_apis_application_v1alpha1_ApplicationMatchExpression(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationPreservedFields": schema_pkg_apis_application_v1alpha1_ApplicationPreservedFields(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSet": schema_pkg_apis_application_v1alpha1_ApplicationSet(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetApplicationStatus": schema_pkg_apis_application_v1alpha1_ApplicationSetApplicationStatus(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetCondition": schema_pkg_apis_application_v1alpha1_ApplicationSetCondition(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetGenerator": schema_pkg_apis_application_v1alpha1_ApplicationSetGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetList": schema_pkg_apis_application_v1alpha1_ApplicationSetList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetNestedGenerator": schema_pkg_apis_application_v1alpha1_ApplicationSetNestedGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetRolloutStep": schema_pkg_apis_application_v1alpha1_ApplicationSetRolloutStep(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetRolloutStrategy": schema_pkg_apis_application_v1alpha1_ApplicationSetRolloutStrategy(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetSpec": schema_pkg_apis_application_v1alpha1_ApplicationSetSpec(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetStatus": schema_pkg_apis_application_v1alpha1_ApplicationSetStatus(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetStrategy": schema_pkg_apis_application_v1alpha1_ApplicationSetStrategy(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetSyncPolicy": schema_pkg_apis_application_v1alpha1_ApplicationSetSyncPolicy(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplate": schema_pkg_apis_application_v1alpha1_ApplicationSetTemplate(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplateMeta": schema_pkg_apis_application_v1alpha1_ApplicationSetTemplateMeta(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTerminalGenerator": schema_pkg_apis_application_v1alpha1_ApplicationSetTerminalGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSource": schema_pkg_apis_application_v1alpha1_ApplicationSource(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceDirectory": schema_pkg_apis_application_v1alpha1_ApplicationSourceDirectory(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceHelm": schema_pkg_apis_application_v1alpha1_ApplicationSourceHelm(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceJsonnet": schema_pkg_apis_application_v1alpha1_ApplicationSourceJsonnet(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceKustomize": schema_pkg_apis_application_v1alpha1_ApplicationSourceKustomize(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourcePlugin": schema_pkg_apis_application_v1alpha1_ApplicationSourcePlugin(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourcePluginParameter": schema_pkg_apis_application_v1alpha1_ApplicationSourcePluginParameter(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSpec": schema_pkg_apis_application_v1alpha1_ApplicationSpec(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationStatus": schema_pkg_apis_application_v1alpha1_ApplicationStatus(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSummary": schema_pkg_apis_application_v1alpha1_ApplicationSummary(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationTree": schema_pkg_apis_application_v1alpha1_ApplicationTree(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationWatchEvent": schema_pkg_apis_application_v1alpha1_ApplicationWatchEvent(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Backoff": schema_pkg_apis_application_v1alpha1_Backoff(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BasicAuthBitbucketServer": schema_pkg_apis_application_v1alpha1_BasicAuthBitbucketServer(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BearerTokenBitbucketCloud": schema_pkg_apis_application_v1alpha1_BearerTokenBitbucketCloud(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ChartDetails": schema_pkg_apis_application_v1alpha1_ChartDetails(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Cluster": schema_pkg_apis_application_v1alpha1_Cluster(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterCacheInfo": schema_pkg_apis_application_v1alpha1_ClusterCacheInfo(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterConfig": schema_pkg_apis_application_v1alpha1_ClusterConfig(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterGenerator": schema_pkg_apis_application_v1alpha1_ClusterGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterInfo": schema_pkg_apis_application_v1alpha1_ClusterInfo(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterList": schema_pkg_apis_application_v1alpha1_ClusterList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Command": schema_pkg_apis_application_v1alpha1_Command(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ComparedTo": schema_pkg_apis_application_v1alpha1_ComparedTo(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ComponentParameter": schema_pkg_apis_application_v1alpha1_ComponentParameter(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ConfigManagementPlugin": schema_pkg_apis_application_v1alpha1_ConfigManagementPlugin(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ConnectionState": schema_pkg_apis_application_v1alpha1_ConnectionState(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.DuckTypeGenerator": schema_pkg_apis_application_v1alpha1_DuckTypeGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.EnvEntry": schema_pkg_apis_application_v1alpha1_EnvEntry(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ExecProviderConfig": schema_pkg_apis_application_v1alpha1_ExecProviderConfig(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GitDirectoryGeneratorItem": schema_pkg_apis_application_v1alpha1_GitDirectoryGeneratorItem(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GitFileGeneratorItem": schema_pkg_apis_application_v1alpha1_GitFileGeneratorItem(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GitGenerator": schema_pkg_apis_application_v1alpha1_GitGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GnuPGPublicKey": schema_pkg_apis_application_v1alpha1_GnuPGPublicKey(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GnuPGPublicKeyList": schema_pkg_apis_application_v1alpha1_GnuPGPublicKeyList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HealthStatus": schema_pkg_apis_application_v1alpha1_HealthStatus(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HelmFileParameter": schema_pkg_apis_application_v1alpha1_HelmFileParameter(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HelmOptions": schema_pkg_apis_application_v1alpha1_HelmOptions(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HelmParameter": schema_pkg_apis_application_v1alpha1_HelmParameter(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HostInfo": schema_pkg_apis_application_v1alpha1_HostInfo(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HostResourceInfo": schema_pkg_apis_application_v1alpha1_HostResourceInfo(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Info": schema_pkg_apis_application_v1alpha1_Info(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.InfoItem": schema_pkg_apis_application_v1alpha1_InfoItem(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.JWTToken": schema_pkg_apis_application_v1alpha1_JWTToken(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.JWTTokens": schema_pkg_apis_application_v1alpha1_JWTTokens(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.JsonnetVar": schema_pkg_apis_application_v1alpha1_JsonnetVar(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KnownTypeField": schema_pkg_apis_application_v1alpha1_KnownTypeField(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeOptions": schema_pkg_apis_application_v1alpha1_KustomizeOptions(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeReplica": schema_pkg_apis_application_v1alpha1_KustomizeReplica(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ListGenerator": schema_pkg_apis_application_v1alpha1_ListGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ManagedNamespaceMetadata": schema_pkg_apis_application_v1alpha1_ManagedNamespaceMetadata(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.MatrixGenerator": schema_pkg_apis_application_v1alpha1_MatrixGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.MergeGenerator": schema_pkg_apis_application_v1alpha1_MergeGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.NestedMatrixGenerator": schema_pkg_apis_application_v1alpha1_NestedMatrixGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.NestedMergeGenerator": schema_pkg_apis_application_v1alpha1_NestedMergeGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Operation": schema_pkg_apis_application_v1alpha1_Operation(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OperationInitiator": schema_pkg_apis_application_v1alpha1_OperationInitiator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OperationState": schema_pkg_apis_application_v1alpha1_OperationState(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OptionalArray": schema_pkg_apis_application_v1alpha1_OptionalArray(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OptionalMap": schema_pkg_apis_application_v1alpha1_OptionalMap(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OrphanedResourceKey": schema_pkg_apis_application_v1alpha1_OrphanedResourceKey(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OrphanedResourcesMonitorSettings": schema_pkg_apis_application_v1alpha1_OrphanedResourcesMonitorSettings(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OverrideIgnoreDiff": schema_pkg_apis_application_v1alpha1_OverrideIgnoreDiff(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PluginConfigMapRef": schema_pkg_apis_application_v1alpha1_PluginConfigMapRef(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PluginGenerator": schema_pkg_apis_application_v1alpha1_PluginGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PluginInput": schema_pkg_apis_application_v1alpha1_PluginInput(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ProjectRole": schema_pkg_apis_application_v1alpha1_ProjectRole(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGenerator": schema_pkg_apis_application_v1alpha1_PullRequestGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorAzureDevOps": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorAzureDevOps(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucket": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucket(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucketServer": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucketServer(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorFilter": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorFilter(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitLab": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGitLab(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitea": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGitea(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGithub": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGithub(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RefTarget": schema_pkg_apis_application_v1alpha1_RefTarget(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepoCreds": schema_pkg_apis_application_v1alpha1_RepoCreds(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepoCredsList": schema_pkg_apis_application_v1alpha1_RepoCredsList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Repository": schema_pkg_apis_application_v1alpha1_Repository(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepositoryCertificate": schema_pkg_apis_application_v1alpha1_RepositoryCertificate(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepositoryCertificateList": schema_pkg_apis_application_v1alpha1_RepositoryCertificateList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepositoryList": schema_pkg_apis_application_v1alpha1_RepositoryList(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceAction": schema_pkg_apis_application_v1alpha1_ResourceAction(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceActionDefinition": schema_pkg_apis_application_v1alpha1_ResourceActionDefinition(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceActionParam": schema_pkg_apis_application_v1alpha1_ResourceActionParam(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceActions": schema_pkg_apis_application_v1alpha1_ResourceActions(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceDiff": schema_pkg_apis_application_v1alpha1_ResourceDiff(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceIgnoreDifferences": schema_pkg_apis_application_v1alpha1_ResourceIgnoreDifferences(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceNetworkingInfo": schema_pkg_apis_application_v1alpha1_ResourceNetworkingInfo(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceNode": schema_pkg_apis_application_v1alpha1_ResourceNode(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceOverride": schema_pkg_apis_application_v1alpha1_ResourceOverride(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceRef": schema_pkg_apis_application_v1alpha1_ResourceRef(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceResult": schema_pkg_apis_application_v1alpha1_ResourceResult(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceStatus": schema_pkg_apis_application_v1alpha1_ResourceStatus(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RetryStrategy": schema_pkg_apis_application_v1alpha1_RetryStrategy(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RevisionHistory": schema_pkg_apis_application_v1alpha1_RevisionHistory(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RevisionMetadata": schema_pkg_apis_application_v1alpha1_RevisionMetadata(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGenerator": schema_pkg_apis_application_v1alpha1_SCMProviderGenerator(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorAWSCodeCommit": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorAWSCodeCommit(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorAzureDevOps": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorAzureDevOps(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorBitbucket": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorBitbucket(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorBitbucketServer": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorBitbucketServer(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorFilter": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorFilter(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorGitea": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorGitea(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorGithub": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorGithub(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorGitlab": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorGitlab(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SecretRef": schema_pkg_apis_application_v1alpha1_SecretRef(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SignatureKey": schema_pkg_apis_application_v1alpha1_SignatureKey(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncOperation": schema_pkg_apis_application_v1alpha1_SyncOperation(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncOperationResource": schema_pkg_apis_application_v1alpha1_SyncOperationResource(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncOperationResult": schema_pkg_apis_application_v1alpha1_SyncOperationResult(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncPolicy": schema_pkg_apis_application_v1alpha1_SyncPolicy(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncPolicyAutomated": schema_pkg_apis_application_v1alpha1_SyncPolicyAutomated(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStatus": schema_pkg_apis_application_v1alpha1_SyncStatus(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStrategy": schema_pkg_apis_application_v1alpha1_SyncStrategy(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStrategyApply": schema_pkg_apis_application_v1alpha1_SyncStrategyApply(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStrategyHook": schema_pkg_apis_application_v1alpha1_SyncStrategyHook(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncWindow": schema_pkg_apis_application_v1alpha1_SyncWindow(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.TLSClientConfig": schema_pkg_apis_application_v1alpha1_TLSClientConfig(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.TagFilter": schema_pkg_apis_application_v1alpha1_TagFilter(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.objectMeta": schema_pkg_apis_application_v1alpha1_objectMeta(ref),
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.rawResourceOverride": schema_pkg_apis_application_v1alpha1_rawResourceOverride(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AWSAuthConfig": schema_pkg_apis_application_v1alpha1_AWSAuthConfig(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProject": schema_pkg_apis_application_v1alpha1_AppProject(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProjectList": schema_pkg_apis_application_v1alpha1_AppProjectList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProjectSpec": schema_pkg_apis_application_v1alpha1_AppProjectSpec(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.AppProjectStatus": schema_pkg_apis_application_v1alpha1_AppProjectStatus(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Application": schema_pkg_apis_application_v1alpha1_Application(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationCondition": schema_pkg_apis_application_v1alpha1_ApplicationCondition(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationDestination": schema_pkg_apis_application_v1alpha1_ApplicationDestination(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationList": schema_pkg_apis_application_v1alpha1_ApplicationList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationMatchExpression": schema_pkg_apis_application_v1alpha1_ApplicationMatchExpression(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationPreservedFields": schema_pkg_apis_application_v1alpha1_ApplicationPreservedFields(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSet": schema_pkg_apis_application_v1alpha1_ApplicationSet(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetApplicationStatus": schema_pkg_apis_application_v1alpha1_ApplicationSetApplicationStatus(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetCondition": schema_pkg_apis_application_v1alpha1_ApplicationSetCondition(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetGenerator": schema_pkg_apis_application_v1alpha1_ApplicationSetGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetList": schema_pkg_apis_application_v1alpha1_ApplicationSetList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetNestedGenerator": schema_pkg_apis_application_v1alpha1_ApplicationSetNestedGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetResourceIgnoreDifferences": schema_pkg_apis_application_v1alpha1_ApplicationSetResourceIgnoreDifferences(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetRolloutStep": schema_pkg_apis_application_v1alpha1_ApplicationSetRolloutStep(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetRolloutStrategy": schema_pkg_apis_application_v1alpha1_ApplicationSetRolloutStrategy(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetSpec": schema_pkg_apis_application_v1alpha1_ApplicationSetSpec(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetStatus": schema_pkg_apis_application_v1alpha1_ApplicationSetStatus(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetStrategy": schema_pkg_apis_application_v1alpha1_ApplicationSetStrategy(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetSyncPolicy": schema_pkg_apis_application_v1alpha1_ApplicationSetSyncPolicy(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplate": schema_pkg_apis_application_v1alpha1_ApplicationSetTemplate(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplateMeta": schema_pkg_apis_application_v1alpha1_ApplicationSetTemplateMeta(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTerminalGenerator": schema_pkg_apis_application_v1alpha1_ApplicationSetTerminalGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSource": schema_pkg_apis_application_v1alpha1_ApplicationSource(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceDirectory": schema_pkg_apis_application_v1alpha1_ApplicationSourceDirectory(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceHelm": schema_pkg_apis_application_v1alpha1_ApplicationSourceHelm(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceJsonnet": schema_pkg_apis_application_v1alpha1_ApplicationSourceJsonnet(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourceKustomize": schema_pkg_apis_application_v1alpha1_ApplicationSourceKustomize(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourcePlugin": schema_pkg_apis_application_v1alpha1_ApplicationSourcePlugin(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSourcePluginParameter": schema_pkg_apis_application_v1alpha1_ApplicationSourcePluginParameter(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSpec": schema_pkg_apis_application_v1alpha1_ApplicationSpec(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationStatus": schema_pkg_apis_application_v1alpha1_ApplicationStatus(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSummary": schema_pkg_apis_application_v1alpha1_ApplicationSummary(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationTree": schema_pkg_apis_application_v1alpha1_ApplicationTree(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationWatchEvent": schema_pkg_apis_application_v1alpha1_ApplicationWatchEvent(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Backoff": schema_pkg_apis_application_v1alpha1_Backoff(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BasicAuthBitbucketServer": schema_pkg_apis_application_v1alpha1_BasicAuthBitbucketServer(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.BearerTokenBitbucketCloud": schema_pkg_apis_application_v1alpha1_BearerTokenBitbucketCloud(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ChartDetails": schema_pkg_apis_application_v1alpha1_ChartDetails(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Cluster": schema_pkg_apis_application_v1alpha1_Cluster(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterCacheInfo": schema_pkg_apis_application_v1alpha1_ClusterCacheInfo(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterConfig": schema_pkg_apis_application_v1alpha1_ClusterConfig(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterGenerator": schema_pkg_apis_application_v1alpha1_ClusterGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterInfo": schema_pkg_apis_application_v1alpha1_ClusterInfo(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ClusterList": schema_pkg_apis_application_v1alpha1_ClusterList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Command": schema_pkg_apis_application_v1alpha1_Command(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ComparedTo": schema_pkg_apis_application_v1alpha1_ComparedTo(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ComponentParameter": schema_pkg_apis_application_v1alpha1_ComponentParameter(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ConfigManagementPlugin": schema_pkg_apis_application_v1alpha1_ConfigManagementPlugin(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ConnectionState": schema_pkg_apis_application_v1alpha1_ConnectionState(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.DuckTypeGenerator": schema_pkg_apis_application_v1alpha1_DuckTypeGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.EnvEntry": schema_pkg_apis_application_v1alpha1_EnvEntry(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ExecProviderConfig": schema_pkg_apis_application_v1alpha1_ExecProviderConfig(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GitDirectoryGeneratorItem": schema_pkg_apis_application_v1alpha1_GitDirectoryGeneratorItem(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GitFileGeneratorItem": schema_pkg_apis_application_v1alpha1_GitFileGeneratorItem(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GitGenerator": schema_pkg_apis_application_v1alpha1_GitGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GnuPGPublicKey": schema_pkg_apis_application_v1alpha1_GnuPGPublicKey(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.GnuPGPublicKeyList": schema_pkg_apis_application_v1alpha1_GnuPGPublicKeyList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HealthStatus": schema_pkg_apis_application_v1alpha1_HealthStatus(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HelmFileParameter": schema_pkg_apis_application_v1alpha1_HelmFileParameter(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HelmOptions": schema_pkg_apis_application_v1alpha1_HelmOptions(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HelmParameter": schema_pkg_apis_application_v1alpha1_HelmParameter(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HostInfo": schema_pkg_apis_application_v1alpha1_HostInfo(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.HostResourceInfo": schema_pkg_apis_application_v1alpha1_HostResourceInfo(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Info": schema_pkg_apis_application_v1alpha1_Info(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.InfoItem": schema_pkg_apis_application_v1alpha1_InfoItem(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.JWTToken": schema_pkg_apis_application_v1alpha1_JWTToken(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.JWTTokens": schema_pkg_apis_application_v1alpha1_JWTTokens(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.JsonnetVar": schema_pkg_apis_application_v1alpha1_JsonnetVar(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KnownTypeField": schema_pkg_apis_application_v1alpha1_KnownTypeField(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeGvk": schema_pkg_apis_application_v1alpha1_KustomizeGvk(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeOptions": schema_pkg_apis_application_v1alpha1_KustomizeOptions(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizePatch": schema_pkg_apis_application_v1alpha1_KustomizePatch(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeReplica": schema_pkg_apis_application_v1alpha1_KustomizeReplica(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeResId": schema_pkg_apis_application_v1alpha1_KustomizeResId(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeSelector": schema_pkg_apis_application_v1alpha1_KustomizeSelector(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ListGenerator": schema_pkg_apis_application_v1alpha1_ListGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ManagedNamespaceMetadata": schema_pkg_apis_application_v1alpha1_ManagedNamespaceMetadata(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.MatrixGenerator": schema_pkg_apis_application_v1alpha1_MatrixGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.MergeGenerator": schema_pkg_apis_application_v1alpha1_MergeGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.NestedMatrixGenerator": schema_pkg_apis_application_v1alpha1_NestedMatrixGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.NestedMergeGenerator": schema_pkg_apis_application_v1alpha1_NestedMergeGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Operation": schema_pkg_apis_application_v1alpha1_Operation(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OperationInitiator": schema_pkg_apis_application_v1alpha1_OperationInitiator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OperationState": schema_pkg_apis_application_v1alpha1_OperationState(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OptionalArray": schema_pkg_apis_application_v1alpha1_OptionalArray(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OptionalMap": schema_pkg_apis_application_v1alpha1_OptionalMap(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OrphanedResourceKey": schema_pkg_apis_application_v1alpha1_OrphanedResourceKey(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OrphanedResourcesMonitorSettings": schema_pkg_apis_application_v1alpha1_OrphanedResourcesMonitorSettings(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.OverrideIgnoreDiff": schema_pkg_apis_application_v1alpha1_OverrideIgnoreDiff(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PluginConfigMapRef": schema_pkg_apis_application_v1alpha1_PluginConfigMapRef(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PluginGenerator": schema_pkg_apis_application_v1alpha1_PluginGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PluginInput": schema_pkg_apis_application_v1alpha1_PluginInput(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ProjectRole": schema_pkg_apis_application_v1alpha1_ProjectRole(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGenerator": schema_pkg_apis_application_v1alpha1_PullRequestGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorAzureDevOps": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorAzureDevOps(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucket": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucket(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorBitbucketServer": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorBitbucketServer(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorFilter": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorFilter(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitLab": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGitLab(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGitea": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGitea(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.PullRequestGeneratorGithub": schema_pkg_apis_application_v1alpha1_PullRequestGeneratorGithub(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RefTarget": schema_pkg_apis_application_v1alpha1_RefTarget(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepoCreds": schema_pkg_apis_application_v1alpha1_RepoCreds(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepoCredsList": schema_pkg_apis_application_v1alpha1_RepoCredsList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.Repository": schema_pkg_apis_application_v1alpha1_Repository(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepositoryCertificate": schema_pkg_apis_application_v1alpha1_RepositoryCertificate(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepositoryCertificateList": schema_pkg_apis_application_v1alpha1_RepositoryCertificateList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RepositoryList": schema_pkg_apis_application_v1alpha1_RepositoryList(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceAction": schema_pkg_apis_application_v1alpha1_ResourceAction(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceActionDefinition": schema_pkg_apis_application_v1alpha1_ResourceActionDefinition(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceActionParam": schema_pkg_apis_application_v1alpha1_ResourceActionParam(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceActions": schema_pkg_apis_application_v1alpha1_ResourceActions(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceDiff": schema_pkg_apis_application_v1alpha1_ResourceDiff(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceIgnoreDifferences": schema_pkg_apis_application_v1alpha1_ResourceIgnoreDifferences(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceNetworkingInfo": schema_pkg_apis_application_v1alpha1_ResourceNetworkingInfo(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceNode": schema_pkg_apis_application_v1alpha1_ResourceNode(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceOverride": schema_pkg_apis_application_v1alpha1_ResourceOverride(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceRef": schema_pkg_apis_application_v1alpha1_ResourceRef(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceResult": schema_pkg_apis_application_v1alpha1_ResourceResult(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ResourceStatus": schema_pkg_apis_application_v1alpha1_ResourceStatus(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RetryStrategy": schema_pkg_apis_application_v1alpha1_RetryStrategy(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RevisionHistory": schema_pkg_apis_application_v1alpha1_RevisionHistory(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.RevisionMetadata": schema_pkg_apis_application_v1alpha1_RevisionMetadata(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGenerator": schema_pkg_apis_application_v1alpha1_SCMProviderGenerator(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorAWSCodeCommit": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorAWSCodeCommit(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorAzureDevOps": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorAzureDevOps(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorBitbucket": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorBitbucket(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorBitbucketServer": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorBitbucketServer(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorFilter": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorFilter(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorGitea": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorGitea(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorGithub": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorGithub(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SCMProviderGeneratorGitlab": schema_pkg_apis_application_v1alpha1_SCMProviderGeneratorGitlab(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SecretRef": schema_pkg_apis_application_v1alpha1_SecretRef(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SignatureKey": schema_pkg_apis_application_v1alpha1_SignatureKey(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncOperation": schema_pkg_apis_application_v1alpha1_SyncOperation(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncOperationResource": schema_pkg_apis_application_v1alpha1_SyncOperationResource(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncOperationResult": schema_pkg_apis_application_v1alpha1_SyncOperationResult(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncPolicy": schema_pkg_apis_application_v1alpha1_SyncPolicy(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncPolicyAutomated": schema_pkg_apis_application_v1alpha1_SyncPolicyAutomated(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStatus": schema_pkg_apis_application_v1alpha1_SyncStatus(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStrategy": schema_pkg_apis_application_v1alpha1_SyncStrategy(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStrategyApply": schema_pkg_apis_application_v1alpha1_SyncStrategyApply(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncStrategyHook": schema_pkg_apis_application_v1alpha1_SyncStrategyHook(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.SyncWindow": schema_pkg_apis_application_v1alpha1_SyncWindow(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.TLSClientConfig": schema_pkg_apis_application_v1alpha1_TLSClientConfig(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.TagFilter": schema_pkg_apis_application_v1alpha1_TagFilter(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.objectMeta": schema_pkg_apis_application_v1alpha1_objectMeta(ref),
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.rawResourceOverride": schema_pkg_apis_application_v1alpha1_rawResourceOverride(ref),
}
}
@@ -1086,6 +1091,56 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSetNestedGenerator(ref comm
}
}
+func schema_pkg_apis_application_v1alpha1_ApplicationSetResourceIgnoreDifferences(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "ApplicationSetResourceIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live applications when applying changes from generated applications.",
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "name": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Name is the name of the application to ignore differences for. If not specified, the rule applies to all applications.",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "jsonPointers": {
+ SchemaProps: spec.SchemaProps{
+ Description: "JSONPointers is a list of JSON pointers to fields to ignore differences for.",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: "",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ },
+ },
+ },
+ "jqPathExpressions": {
+ SchemaProps: spec.SchemaProps{
+ Description: "JQPathExpressions is a list of JQ path expressions to fields to ignore differences for.",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: "",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+}
+
func schema_pkg_apis_application_v1alpha1_ApplicationSetRolloutStep(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
@@ -1213,12 +1268,25 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSetSpec(ref common.Referenc
Format: "",
},
},
+ "ignoreApplicationDifferences": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: map[string]interface{}{},
+ Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetResourceIgnoreDifferences"),
+ },
+ },
+ },
+ },
+ },
},
Required: []string{"generators", "template"},
},
},
Dependencies: []string{
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationPreservedFields", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetGenerator", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetStrategy", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetSyncPolicy", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplate"},
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationPreservedFields", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetGenerator", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetResourceIgnoreDifferences", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetStrategy", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetSyncPolicy", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.ApplicationSetTemplate"},
}
}
@@ -1875,11 +1943,25 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSourceKustomize(ref common.
},
},
},
+ "patches": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Patches is a list of Kustomize patches",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: map[string]interface{}{},
+ Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizePatch"),
+ },
+ },
+ },
+ },
+ },
},
},
},
Dependencies: []string{
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeReplica"},
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizePatch", "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeReplica"},
}
}
@@ -3762,6 +3844,36 @@ func schema_pkg_apis_application_v1alpha1_KnownTypeField(ref common.ReferenceCal
}
}
+func schema_pkg_apis_application_v1alpha1_KustomizeGvk(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "group": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "version": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "kind": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ },
+ },
+ },
+ }
+}
+
func schema_pkg_apis_application_v1alpha1_KustomizeOptions(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
@@ -3792,6 +3904,52 @@ func schema_pkg_apis_application_v1alpha1_KustomizeOptions(ref common.ReferenceC
}
}
+func schema_pkg_apis_application_v1alpha1_KustomizePatch(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "path": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "patch": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "target": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeSelector"),
+ },
+ },
+ "options": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"object"},
+ AdditionalProperties: &spec.SchemaOrBool{
+ Allows: true,
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: false,
+ Type: []string{"boolean"},
+ Format: "",
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ Dependencies: []string{
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1.KustomizeSelector"},
+ }
+}
+
func schema_pkg_apis_application_v1alpha1_KustomizeReplica(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
@@ -3822,6 +3980,102 @@ func schema_pkg_apis_application_v1alpha1_KustomizeReplica(ref common.ReferenceC
}
}
+func schema_pkg_apis_application_v1alpha1_KustomizeResId(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "group": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "version": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "kind": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "name": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "namespace": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ },
+ },
+ },
+ }
+}
+
+func schema_pkg_apis_application_v1alpha1_KustomizeSelector(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"object"},
+ Properties: map[string]spec.Schema{
+ "group": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "version": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "kind": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "name": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "namespace": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "annotationSelector": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "labelSelector": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ },
+ },
+ },
+ }
+}
+
func schema_pkg_apis_application_v1alpha1_ListGenerator(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go
index 4bf07fc2317da..8d02fa5bfb624 100644
--- a/pkg/apis/application/v1alpha1/types.go
+++ b/pkg/apis/application/v1alpha1/types.go
@@ -465,6 +465,8 @@ type ApplicationSourceKustomize struct {
CommonAnnotationsEnvsubst bool `json:"commonAnnotationsEnvsubst,omitempty" protobuf:"bytes,10,opt,name=commonAnnotationsEnvsubst"`
// Replicas is a list of Kustomize Replicas override specifications
Replicas KustomizeReplicas `json:"replicas,omitempty" protobuf:"bytes,11,opt,name=replicas"`
+ // Patches is a list of Kustomize patches
+ Patches KustomizePatches `json:"patches,omitempty" protobuf:"bytes,12,opt,name=patches"`
}
type KustomizeReplica struct {
@@ -509,6 +511,43 @@ func NewKustomizeReplica(text string) (*KustomizeReplica, error) {
return kr, nil
}
+type KustomizePatches []KustomizePatch
+
+type KustomizePatch struct {
+ Path string `json:"path,omitempty" yaml:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
+ Patch string `json:"patch,omitempty" yaml:"patch,omitempty" protobuf:"bytes,2,opt,name=patch"`
+ Target *KustomizeSelector `json:"target,omitempty" yaml:"target,omitempty" protobuf:"bytes,3,opt,name=target"`
+ Options map[string]bool `json:"options,omitempty" yaml:"options,omitempty" protobuf:"bytes,4,opt,name=options"`
+}
+
+// Copied from: https://github.com/kubernetes-sigs/kustomize/blob/cd7ba1744eadb793ab7cd056a76ee8a5ca725db9/api/types/patch.go
+func (p *KustomizePatch) Equals(o KustomizePatch) bool {
+ targetEqual := (p.Target == o.Target) ||
+ (p.Target != nil && o.Target != nil && *p.Target == *o.Target)
+ return p.Path == o.Path &&
+ p.Patch == o.Patch &&
+ targetEqual &&
+ reflect.DeepEqual(p.Options, o.Options)
+}
+
+type KustomizeSelector struct {
+ KustomizeResId `json:",inline,omitempty" yaml:",inline,omitempty" protobuf:"bytes,1,opt,name=resId"`
+ AnnotationSelector string `json:"annotationSelector,omitempty" yaml:"annotationSelector,omitempty" protobuf:"bytes,2,opt,name=annotationSelector"`
+ LabelSelector string `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty" protobuf:"bytes,3,opt,name=labelSelector"`
+}
+
+type KustomizeResId struct {
+ KustomizeGvk `json:",inline,omitempty" yaml:",inline,omitempty" protobuf:"bytes,1,opt,name=gvk"`
+ Name string `json:"name,omitempty" yaml:"name,omitempty" protobuf:"bytes,2,opt,name=name"`
+ Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"`
+}
+
+type KustomizeGvk struct {
+ Group string `json:"group,omitempty" yaml:"group,omitempty" protobuf:"bytes,1,opt,name=group"`
+ Version string `json:"version,omitempty" yaml:"version,omitempty" protobuf:"bytes,2,opt,name=version"`
+ Kind string `json:"kind,omitempty" yaml:"kind,omitempty" protobuf:"bytes,3,opt,name=kind"`
+}
+
// AllowsConcurrentProcessing returns true if multiple processes can run Kustomize builds on the same source at the same time
func (k *ApplicationSourceKustomize) AllowsConcurrentProcessing() bool {
return len(k.Images) == 0 &&
@@ -516,7 +555,8 @@ func (k *ApplicationSourceKustomize) AllowsConcurrentProcessing() bool {
len(k.CommonAnnotations) == 0 &&
k.NamePrefix == "" &&
k.Namespace == "" &&
- k.NameSuffix == ""
+ k.NameSuffix == "" &&
+ len(k.Patches) == 0
}
// IsZero returns true when the Kustomize options are considered empty
@@ -529,7 +569,8 @@ func (k *ApplicationSourceKustomize) IsZero() bool {
len(k.Images) == 0 &&
len(k.Replicas) == 0 &&
len(k.CommonLabels) == 0 &&
- len(k.CommonAnnotations) == 0
+ len(k.CommonAnnotations) == 0 &&
+ len(k.Patches) == 0
}
// MergeImage merges a new Kustomize image identifier in to a list of images
diff --git a/pkg/apis/application/v1alpha1/types_test.go b/pkg/apis/application/v1alpha1/types_test.go
index e939f03ddb855..668cf97b07e5a 100644
--- a/pkg/apis/application/v1alpha1/types_test.go
+++ b/pkg/apis/application/v1alpha1/types_test.go
@@ -3002,6 +3002,16 @@ func TestSourceAllowsConcurrentProcessing_KustomizeParams(t *testing.T) {
assert.False(t, src.AllowsConcurrentProcessing())
})
+
+ t.Run("Has Patches", func(t *testing.T) {
+ src := ApplicationSource{Path: ".", Kustomize: &ApplicationSourceKustomize{
+ Patches: KustomizePatches{{
+ Path: "test",
+ }},
+ }}
+
+ assert.False(t, src.AllowsConcurrentProcessing())
+ })
}
func TestUnSetCascadedDeletion(t *testing.T) {
diff --git a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go
index 62ed0db4b23d7..8732d2f484996 100644
--- a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go
@@ -475,6 +475,28 @@ func (in *ApplicationSetGenerator) DeepCopy() *ApplicationSetGenerator {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in ApplicationSetIgnoreDifferences) DeepCopyInto(out *ApplicationSetIgnoreDifferences) {
+ {
+ in := &in
+ *out = make(ApplicationSetIgnoreDifferences, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ return
+ }
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetIgnoreDifferences.
+func (in ApplicationSetIgnoreDifferences) DeepCopy() ApplicationSetIgnoreDifferences {
+ if in == nil {
+ return nil
+ }
+ out := new(ApplicationSetIgnoreDifferences)
+ in.DeepCopyInto(out)
+ return *out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSetList) DeepCopyInto(out *ApplicationSetList) {
*out = *in
@@ -596,6 +618,32 @@ func (in ApplicationSetNestedGenerators) DeepCopy() ApplicationSetNestedGenerato
return *out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ApplicationSetResourceIgnoreDifferences) DeepCopyInto(out *ApplicationSetResourceIgnoreDifferences) {
+ *out = *in
+ if in.JSONPointers != nil {
+ in, out := &in.JSONPointers, &out.JSONPointers
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ if in.JQPathExpressions != nil {
+ in, out := &in.JQPathExpressions, &out.JQPathExpressions
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetResourceIgnoreDifferences.
+func (in *ApplicationSetResourceIgnoreDifferences) DeepCopy() *ApplicationSetResourceIgnoreDifferences {
+ if in == nil {
+ return nil
+ }
+ out := new(ApplicationSetResourceIgnoreDifferences)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSetRolloutStep) DeepCopyInto(out *ApplicationSetRolloutStep) {
*out = *in
@@ -678,6 +726,13 @@ func (in *ApplicationSetSpec) DeepCopyInto(out *ApplicationSetSpec) {
*out = make([]string, len(*in))
copy(*out, *in)
}
+ if in.IgnoreApplicationDifferences != nil {
+ in, out := &in.IgnoreApplicationDifferences, &out.IgnoreApplicationDifferences
+ *out = make(ApplicationSetIgnoreDifferences, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
return
}
@@ -1041,6 +1096,13 @@ func (in *ApplicationSourceKustomize) DeepCopyInto(out *ApplicationSourceKustomi
*out = make(KustomizeReplicas, len(*in))
copy(*out, *in)
}
+ if in.Patches != nil {
+ in, out := &in.Patches, &out.Patches
+ *out = make(KustomizePatches, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
return
}
@@ -2157,6 +2219,22 @@ func (in *KnownTypeField) DeepCopy() *KnownTypeField {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KustomizeGvk) DeepCopyInto(out *KustomizeGvk) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizeGvk.
+func (in *KustomizeGvk) DeepCopy() *KustomizeGvk {
+ if in == nil {
+ return nil
+ }
+ out := new(KustomizeGvk)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in KustomizeImages) DeepCopyInto(out *KustomizeImages) {
{
@@ -2193,6 +2271,56 @@ func (in *KustomizeOptions) DeepCopy() *KustomizeOptions {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KustomizePatch) DeepCopyInto(out *KustomizePatch) {
+ *out = *in
+ if in.Target != nil {
+ in, out := &in.Target, &out.Target
+ *out = new(KustomizeSelector)
+ **out = **in
+ }
+ if in.Options != nil {
+ in, out := &in.Options, &out.Options
+ *out = make(map[string]bool, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizePatch.
+func (in *KustomizePatch) DeepCopy() *KustomizePatch {
+ if in == nil {
+ return nil
+ }
+ out := new(KustomizePatch)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in KustomizePatches) DeepCopyInto(out *KustomizePatches) {
+ {
+ in := &in
+ *out = make(KustomizePatches, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ return
+ }
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizePatches.
+func (in KustomizePatches) DeepCopy() KustomizePatches {
+ if in == nil {
+ return nil
+ }
+ out := new(KustomizePatches)
+ in.DeepCopyInto(out)
+ return *out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KustomizeReplica) DeepCopyInto(out *KustomizeReplica) {
*out = *in
@@ -2230,6 +2358,40 @@ func (in KustomizeReplicas) DeepCopy() KustomizeReplicas {
return *out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KustomizeResId) DeepCopyInto(out *KustomizeResId) {
+ *out = *in
+ out.KustomizeGvk = in.KustomizeGvk
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizeResId.
+func (in *KustomizeResId) DeepCopy() *KustomizeResId {
+ if in == nil {
+ return nil
+ }
+ out := new(KustomizeResId)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KustomizeSelector) DeepCopyInto(out *KustomizeSelector) {
+ *out = *in
+ out.KustomizeResId = in.KustomizeResId
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizeSelector.
+func (in *KustomizeSelector) DeepCopy() *KustomizeSelector {
+ if in == nil {
+ return nil
+ }
+ out := new(KustomizeSelector)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ListGenerator) DeepCopyInto(out *ListGenerator) {
*out = *in
diff --git a/resource_customizations/batch/CronJob/actions/create-job/action.lua b/resource_customizations/batch/CronJob/actions/create-job/action.lua
index 4b1583086991a..8753144d404e7 100644
--- a/resource_customizations/batch/CronJob/actions/create-job/action.lua
+++ b/resource_customizations/batch/CronJob/actions/create-job/action.lua
@@ -47,11 +47,7 @@ ownerRef.uid = obj.metadata.uid
job.metadata.ownerReferences = {}
job.metadata.ownerReferences[1] = ownerRef
-job.spec = {}
-job.spec.suspend = false
-job.spec.template = {}
-job.spec.template.metadata = deepCopy(obj.spec.jobTemplate.spec.template.metadata)
-job.spec.template.spec = deepCopy(obj.spec.jobTemplate.spec.template.spec)
+job.spec = deepCopy(obj.spec.jobTemplate.spec)
local impactedResource = {}
impactedResource.operation = "create"
diff --git a/resource_customizations/batch/CronJob/actions/testdata/cronjob.yaml b/resource_customizations/batch/CronJob/actions/testdata/cronjob.yaml
index d422c82da393a..2c45c5eae1f38 100644
--- a/resource_customizations/batch/CronJob/actions/testdata/cronjob.yaml
+++ b/resource_customizations/batch/CronJob/actions/testdata/cronjob.yaml
@@ -13,6 +13,7 @@ spec:
annotations:
my: annotation
spec:
+ ttlSecondsAfterFinished: 100
template:
metadata:
labels:
diff --git a/resource_customizations/batch/CronJob/actions/testdata/job.yaml b/resource_customizations/batch/CronJob/actions/testdata/job.yaml
index 16d4e4960b0dc..1ef281afdcdb4 100644
--- a/resource_customizations/batch/CronJob/actions/testdata/job.yaml
+++ b/resource_customizations/batch/CronJob/actions/testdata/job.yaml
@@ -10,6 +10,7 @@
annotations:
my: annotation
spec:
+ ttlSecondsAfterFinished: 100
template:
metadata:
labels:
diff --git a/resource_customizations/external-secrets.io/PushSecret/actions/action_test.yaml b/resource_customizations/external-secrets.io/PushSecret/actions/action_test.yaml
new file mode 100644
index 0000000000000..457e5892667a3
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/actions/action_test.yaml
@@ -0,0 +1,4 @@
+actionTests:
+ - action: push
+ inputPath: testdata/push-secret.yaml
+ expectedOutputPath: testdata/push-secret-updated.yaml
diff --git a/resource_customizations/external-secrets.io/PushSecret/actions/discovery.lua b/resource_customizations/external-secrets.io/PushSecret/actions/discovery.lua
new file mode 100644
index 0000000000000..6b095fbd98dbe
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/actions/discovery.lua
@@ -0,0 +1,3 @@
+actions = {}
+actions["push"] = {["disabled"] = false}
+return actions
diff --git a/resource_customizations/external-secrets.io/PushSecret/actions/push/action.lua b/resource_customizations/external-secrets.io/PushSecret/actions/push/action.lua
new file mode 100644
index 0000000000000..fa29c485fa16a
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/actions/push/action.lua
@@ -0,0 +1,6 @@
+local os = require("os")
+if obj.metadata.annotations == nil then
+ obj.metadata.annotations = {}
+end
+obj.metadata.annotations["force-sync"] = os.date("!%Y-%m-%dT%XZ")
+return obj
diff --git a/resource_customizations/external-secrets.io/PushSecret/actions/testdata/push-secret-updated.yaml b/resource_customizations/external-secrets.io/PushSecret/actions/testdata/push-secret-updated.yaml
new file mode 100644
index 0000000000000..952f7e98232c0
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/actions/testdata/push-secret-updated.yaml
@@ -0,0 +1,41 @@
+apiVersion: external-secrets.io/v1alpha1
+kind: PushSecret
+metadata:
+ annotations:
+ force-sync: '0001-01-01T00:00:00Z'
+ creationTimestamp: '2023-07-05T20:49:16Z'
+ generation: 1
+ name: test-healthy
+ namespace: external-secret
+ resourceVersion: '777692391'
+ uid: 88cb613a-07b0-4fb2-8fdb-d5a5a9c2c917
+spec:
+ data:
+ - match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
+ deletionPolicy: None
+ refreshInterval: 5m
+ secretStoreRefs:
+ - kind: ClusterSecretStore
+ name: my-store
+ selector:
+ secret:
+ name: existing-secret
+status:
+ conditions:
+ - lastTransitionTime: '2023-07-05T20:49:16Z'
+ message: PushSecret synced successfully
+ reason: Synced
+ status: 'True'
+ type: Ready
+ syncedPushSecrets:
+ ClusterSecretStore/my-store:
+ remote/path/test:
+ match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
diff --git a/resource_customizations/external-secrets.io/PushSecret/actions/testdata/push-secret.yaml b/resource_customizations/external-secrets.io/PushSecret/actions/testdata/push-secret.yaml
new file mode 100644
index 0000000000000..487233a773e95
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/actions/testdata/push-secret.yaml
@@ -0,0 +1,39 @@
+apiVersion: external-secrets.io/v1alpha1
+kind: PushSecret
+metadata:
+ creationTimestamp: '2023-07-05T20:49:16Z'
+ generation: 1
+ name: test-healthy
+ namespace: external-secret
+ resourceVersion: '777692391'
+ uid: 88cb613a-07b0-4fb2-8fdb-d5a5a9c2c917
+spec:
+ data:
+ - match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
+ deletionPolicy: None
+ refreshInterval: 5m
+ secretStoreRefs:
+ - kind: ClusterSecretStore
+ name: my-store
+ selector:
+ secret:
+ name: existing-secret
+status:
+ conditions:
+ - lastTransitionTime: '2023-07-05T20:49:16Z'
+ message: PushSecret synced successfully
+ reason: Synced
+ status: 'True'
+ type: Ready
+ syncedPushSecrets:
+ ClusterSecretStore/my-store:
+ remote/path/test:
+ match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
diff --git a/resource_customizations/external-secrets.io/PushSecret/health.lua b/resource_customizations/external-secrets.io/PushSecret/health.lua
new file mode 100644
index 0000000000000..d86cb4c47f8b5
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/health.lua
@@ -0,0 +1,20 @@
+hs = {}
+if obj.status ~= nil then
+ if obj.status.conditions ~= nil then
+ for i, condition in ipairs(obj.status.conditions) do
+ if condition.type == "Ready" and condition.status == "False" then
+ hs.status = "Degraded"
+ hs.message = condition.message
+ return hs
+ end
+ if condition.type == "Ready" and condition.status == "True" then
+ hs.status = "Healthy"
+ hs.message = condition.message
+ return hs
+ end
+ end
+ end
+end
+hs.status = "Progressing"
+hs.message = "Waiting for PushSecret"
+return hs
diff --git a/resource_customizations/external-secrets.io/PushSecret/health_test.yaml b/resource_customizations/external-secrets.io/PushSecret/health_test.yaml
new file mode 100644
index 0000000000000..07d6ab3c70136
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/health_test.yaml
@@ -0,0 +1,13 @@
+tests:
+ - healthStatus:
+ status: Progressing
+ message: Waiting for PushSecret
+ inputPath: testdata/progressing.yaml
+ - healthStatus:
+ status: Degraded
+ message: 'set secret failed: could not write remote ref test to target secretstore my-store: Error making API request.'
+ inputPath: testdata/degraded.yaml
+ - healthStatus:
+ status: Healthy
+ message: 'PushSecret synced successfully'
+ inputPath: testdata/healthy.yaml
diff --git a/resource_customizations/external-secrets.io/PushSecret/testdata/degraded.yaml b/resource_customizations/external-secrets.io/PushSecret/testdata/degraded.yaml
new file mode 100644
index 0000000000000..aab422eb3eb30
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/testdata/degraded.yaml
@@ -0,0 +1,33 @@
+apiVersion: external-secrets.io/v1alpha1
+kind: PushSecret
+metadata:
+ creationTimestamp: '2023-07-05T20:49:16Z'
+ generation: 1
+ name: test-degraded
+ namespace: external-secret
+ resourceVersion: '777692391'
+ uid: 88cb613a-07b0-4fb2-8fdb-d5a5a9c2c917
+spec:
+ data:
+ - match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
+ deletionPolicy: None
+ refreshInterval: 5m
+ secretStoreRefs:
+ - kind: ClusterSecretStore
+ name: my-store
+ selector:
+ secret:
+ name: existing-secret
+status:
+ conditions:
+ - lastTransitionTime: '2023-07-05T20:49:16Z'
+ message: 'set secret failed: could not write remote ref test to target secretstore my-store: Error making API request.'
+ reason: Errored
+ status: 'False'
+ type: Ready
+ syncedPushSecrets:
+ ClusterSecretStore/my-store: {}
diff --git a/resource_customizations/external-secrets.io/PushSecret/testdata/healthy.yaml b/resource_customizations/external-secrets.io/PushSecret/testdata/healthy.yaml
new file mode 100644
index 0000000000000..487233a773e95
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/testdata/healthy.yaml
@@ -0,0 +1,39 @@
+apiVersion: external-secrets.io/v1alpha1
+kind: PushSecret
+metadata:
+ creationTimestamp: '2023-07-05T20:49:16Z'
+ generation: 1
+ name: test-healthy
+ namespace: external-secret
+ resourceVersion: '777692391'
+ uid: 88cb613a-07b0-4fb2-8fdb-d5a5a9c2c917
+spec:
+ data:
+ - match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
+ deletionPolicy: None
+ refreshInterval: 5m
+ secretStoreRefs:
+ - kind: ClusterSecretStore
+ name: my-store
+ selector:
+ secret:
+ name: existing-secret
+status:
+ conditions:
+ - lastTransitionTime: '2023-07-05T20:49:16Z'
+ message: PushSecret synced successfully
+ reason: Synced
+ status: 'True'
+ type: Ready
+ syncedPushSecrets:
+ ClusterSecretStore/my-store:
+ remote/path/test:
+ match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
diff --git a/resource_customizations/external-secrets.io/PushSecret/testdata/progressing.yaml b/resource_customizations/external-secrets.io/PushSecret/testdata/progressing.yaml
new file mode 100644
index 0000000000000..e67d679bae123
--- /dev/null
+++ b/resource_customizations/external-secrets.io/PushSecret/testdata/progressing.yaml
@@ -0,0 +1,24 @@
+apiVersion: external-secrets.io/v1alpha1
+kind: PushSecret
+metadata:
+ creationTimestamp: '2023-07-05T20:49:16Z'
+ generation: 1
+ name: test-progressing
+ namespace: external-secret
+ resourceVersion: '777692391'
+ uid: 88cb613a-07b0-4fb2-8fdb-d5a5a9c2c917
+spec:
+ data:
+ - match:
+ remoteRef:
+ property: test
+ remoteKey: remote/path
+ secretKey: test
+ deletionPolicy: None
+ refreshInterval: 5m
+ secretStoreRefs:
+ - kind: ClusterSecretStore
+ name: my-store
+ selector:
+ secret:
+ name: existing-secret
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/health.lua b/resource_customizations/tower.ansible.com/AnsibleJob/health.lua
new file mode 100644
index 0000000000000..1e4a514c500e1
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/health.lua
@@ -0,0 +1,25 @@
+hs = {}
+if obj.status ~= nil then
+ if obj.status.ansibleJobResult ~= nil then
+ jobstatus = obj.status.ansibleJobResult.status
+ if jobstatus == "successful" then
+ hs.status = "Healthy"
+ hs.message = jobstatus .. " job - " .. obj.status.ansibleJobResult.url
+ return hs
+ end
+ if jobstatus == "failed" or jobstatus == "error" or jobstatus == "canceled" then
+ hs.status = "Degraded"
+ hs.message = jobstatus .. " job - " .. obj.status.ansibleJobResult.url
+ return hs
+ end
+ if jobstatus == "new" or jobstatus == "pending" or jobstatus == "waiting" or jobstatus == "running" then
+ hs.status = "Progressing"
+ hs.message = jobstatus .. " job - " .. obj.status.ansibleJobResult.url
+ return hs
+ end
+ end
+end
+
+hs.status = "Progressing"
+hs.message = "Waiting for AnsibleJob"
+return hs
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/health_test.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/health_test.yaml
new file mode 100644
index 0000000000000..bb4143ae5f5a3
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/health_test.yaml
@@ -0,0 +1,37 @@
+tests:
+- healthStatus:
+ status: Progressing
+ message: Waiting for AnsibleJob
+ inputPath: testdata/progressing_noStatus.yaml
+- healthStatus:
+ status: Progressing
+ message: 'new job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/progressing_new.yaml
+- healthStatus:
+ status: Progressing
+ message: 'pending job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/progressing_pending.yaml
+- healthStatus:
+ status: Progressing
+ message: 'running job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/progressing_running.yaml
+- healthStatus:
+ status: Progressing
+ message: 'waiting job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/progressing_waiting.yaml
+- healthStatus:
+ status: Degraded
+ message: 'canceled job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/degraded_canceled.yaml
+- healthStatus:
+ status: Degraded
+ message: 'error job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/degraded_error.yaml
+- healthStatus:
+ status: Degraded
+ message: 'failed job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/degraded_failed.yaml
+- healthStatus:
+ status: Healthy
+ message: 'successful job - https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1'
+ inputPath: testdata/healthy.yaml
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_canceled.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_canceled.yaml
new file mode 100644
index 0000000000000..55fa0cdec7767
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_canceled.yaml
@@ -0,0 +1,27 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ elapsed: "5.21"
+ failed: false
+ finished: "2023-06-27T20:22:40.116381Z"
+ started: "2023-06-27T20:22:34.906399Z"
+ status: canceled
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_error.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_error.yaml
new file mode 100644
index 0000000000000..0ebb059ea8e2f
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_error.yaml
@@ -0,0 +1,27 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ elapsed: "5.21"
+ failed: true
+ finished: "2023-06-27T20:22:40.116381Z"
+ started: "2023-06-27T20:22:34.906399Z"
+ status: error
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_failed.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_failed.yaml
new file mode 100644
index 0000000000000..0400570b15f7f
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/degraded_failed.yaml
@@ -0,0 +1,27 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ elapsed: "5.21"
+ failed: true
+ finished: "2023-06-27T20:22:40.116381Z"
+ started: "2023-06-27T20:22:34.906399Z"
+ status: failed
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/healthy.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/healthy.yaml
new file mode 100644
index 0000000000000..395a1bd09625f
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/healthy.yaml
@@ -0,0 +1,27 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ elapsed: "5.21"
+ failed: false
+ finished: "2023-06-27T20:22:40.116381Z"
+ started: "2023-06-27T20:22:34.906399Z"
+ status: successful
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_new.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_new.yaml
new file mode 100644
index 0000000000000..2e700d3708c58
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_new.yaml
@@ -0,0 +1,25 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ failed: false
+ started: "2023-06-27T20:22:34.906399Z"
+ status: new
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_noStatus.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_noStatus.yaml
new file mode 100644
index 0000000000000..a6e1701bf3268
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_noStatus.yaml
@@ -0,0 +1,17 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_pending.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_pending.yaml
new file mode 100644
index 0000000000000..ffabaf4ee64e6
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_pending.yaml
@@ -0,0 +1,25 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ failed: false
+ started: "2023-06-27T20:22:34.906399Z"
+ status: pending
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_running.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_running.yaml
new file mode 100644
index 0000000000000..6e369f0aaecea
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_running.yaml
@@ -0,0 +1,25 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ failed: false
+ started: "2023-06-27T20:22:34.906399Z"
+ status: running
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_waiting.yaml b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_waiting.yaml
new file mode 100644
index 0000000000000..c6f192cca70b0
--- /dev/null
+++ b/resource_customizations/tower.ansible.com/AnsibleJob/testdata/progressing_waiting.yaml
@@ -0,0 +1,25 @@
+apiVersion: tower.ansible.com/v1alpha1
+kind: AnsibleJob
+metadata:
+ annotations:
+ argocd.argoproj.io/hook: PreSync
+ creationTimestamp: "2023-06-27T20:22:22Z"
+ generateName: prehook-test-
+ generation: 1
+ labels:
+ app.kubernetes.io/instance: ansible-hooks
+ tower_job_id: "1"
+ name: prehook-test-dfcff01-presync-1687897341
+ namespace: argocd
+ resourceVersion: "6536518"
+ uid: 09fa0d39-a170-4c37-a3b0-6e140e029868
+spec:
+ job_template_name: Demo Job Template
+ tower_auth_secret: toweraccess
+status:
+ ansibleJobResult:
+ changed: true
+ failed: false
+ started: "2023-06-27T20:22:34.906399Z"
+ status: waiting
+ url: https://argocd.test.ansiblejob.custom.health.com/#/jobs/playbook/1
diff --git a/test/e2e/applicationset_test.go b/test/e2e/applicationset_test.go
index 415de564566cc..d6efbbcd86117 100644
--- a/test/e2e/applicationset_test.go
+++ b/test/e2e/applicationset_test.go
@@ -19,10 +19,11 @@ import (
argov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v2/test/e2e/fixture"
+ "github.com/stretchr/testify/assert"
+
. "github.com/argoproj/argo-cd/v2/test/e2e/fixture/applicationsets"
"github.com/argoproj/argo-cd/v2/test/e2e/fixture/applicationsets/utils"
. "github.com/argoproj/argo-cd/v2/util/errors"
- "github.com/stretchr/testify/assert"
"github.com/argoproj/argo-cd/v2/pkg/apis/application"
)
diff --git a/test/e2e/fixture/applicationsets/actions.go b/test/e2e/fixture/applicationsets/actions.go
index ee9a857988f99..78878bcc24cbc 100644
--- a/test/e2e/fixture/applicationsets/actions.go
+++ b/test/e2e/fixture/applicationsets/actions.go
@@ -4,10 +4,11 @@ import (
"context"
"encoding/json"
"fmt"
- "github.com/argoproj/argo-cd/v2/test/e2e/fixture"
"strings"
"time"
+ "github.com/argoproj/argo-cd/v2/test/e2e/fixture"
+
log "github.com/sirupsen/logrus"
corev1 "k8s.io/api/core/v1"
v1 "k8s.io/api/rbac/v1"
@@ -493,5 +494,18 @@ func (a *Actions) verifyAction() {
if !a.ignoreErrors {
a.Then().Expect(Success(""))
}
+}
+
+func (a *Actions) AppSet(appName string, flags ...string) *Actions {
+ a.context.t.Helper()
+ args := []string{"app", "set", appName}
+ args = append(args, flags...)
+ a.runCli(args...)
+ return a
+}
+func (a *Actions) runCli(args ...string) {
+ a.context.t.Helper()
+ a.lastOutput, a.lastError = fixture.RunCli(args...)
+ a.verifyAction()
}
diff --git a/test/e2e/fixture/applicationsets/utils/fixture.go b/test/e2e/fixture/applicationsets/utils/fixture.go
index 6cf984f99afc7..b81a8875498a0 100644
--- a/test/e2e/fixture/applicationsets/utils/fixture.go
+++ b/test/e2e/fixture/applicationsets/utils/fixture.go
@@ -13,8 +13,6 @@ import (
log "github.com/sirupsen/logrus"
- "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
-
"k8s.io/apimachinery/pkg/api/equality"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@@ -24,7 +22,9 @@ import (
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
+ "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
appclientset "github.com/argoproj/argo-cd/v2/pkg/client/clientset/versioned"
+ "github.com/argoproj/argo-cd/v2/test/e2e/fixture"
)
const (
@@ -168,6 +168,9 @@ func EnsureCleanState(t *testing.T) {
// create tmp dir
FailOnErr(Run("", "mkdir", "-p", TmpDir))
+ // We can switch user and as result in previous state we will have non-admin user, this case should be reset
+ fixture.LoginAs("admin")
+
log.WithFields(log.Fields{"duration": time.Since(start), "name": t.Name(), "id": id, "username": "admin", "password": "password"}).Info("clean state")
}
diff --git a/ui-test/yarn.lock b/ui-test/yarn.lock
index dbda283031734..b80910028fb7f 100644
--- a/ui-test/yarn.lock
+++ b/ui-test/yarn.lock
@@ -1222,9 +1222,9 @@ selenium-webdriver@^4.0.0-alpha.7:
ws "^7.3.1"
semver@^5.3.0:
- version "5.7.1"
- resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+ version "5.7.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
+ integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
serialize-javascript@5.0.1:
version "5.0.1"
diff --git a/ui/src/app/sidebar/sidebar.scss b/ui/src/app/sidebar/sidebar.scss
index e448bdf4fdbe0..a3ff7a0355c28 100644
--- a/ui/src/app/sidebar/sidebar.scss
+++ b/ui/src/app/sidebar/sidebar.scss
@@ -15,7 +15,7 @@ $deselected-text: #818d94;
color: white;
background-color: #0f2733;
overflow: auto;
- z-index: 0;
+ z-index: 2;
&__container {
padding: 0 5px;
diff --git a/util/db/db.go b/util/db/db.go
index d5361ad148456..f976e84a1c71c 100644
--- a/util/db/db.go
+++ b/util/db/db.go
@@ -152,8 +152,9 @@ func StripCRLFCharacter(input string) string {
func (db *db) GetApplicationControllerReplicas() int {
// get the replicas from application controller deployment, if the application controller deployment does not exist, check for environment variable
applicationControllerName := env.StringFromEnv(common.EnvAppControllerName, common.DefaultApplicationControllerName)
- appControllerDeployment, _ := db.kubeclientset.AppsV1().Deployments(db.settingsMgr.GetNamespace()).Get(context.Background(), applicationControllerName, metav1.GetOptions{})
- if appControllerDeployment != nil {
+ appControllerDeployment, err := db.kubeclientset.AppsV1().Deployments(db.settingsMgr.GetNamespace()).Get(context.Background(), applicationControllerName, metav1.GetOptions{})
+
+ if err == nil && appControllerDeployment.Spec.Replicas != nil {
return int(*appControllerDeployment.Spec.Replicas)
}
return env.ParseNumFromEnv(common.EnvControllerReplicas, 0, 0, math.MaxInt32)
diff --git a/util/kustomize/kustomize.go b/util/kustomize/kustomize.go
index 78765cb2ff35d..b18fcf6c43e93 100644
--- a/util/kustomize/kustomize.go
+++ b/util/kustomize/kustomize.go
@@ -13,6 +13,7 @@ import (
"sync"
"github.com/Masterminds/semver/v3"
+ "sigs.k8s.io/yaml"
"github.com/argoproj/gitops-engine/pkg/utils/kube"
log "github.com/sirupsen/logrus"
@@ -189,6 +190,54 @@ func (k *kustomize) Build(opts *v1alpha1.ApplicationSourceKustomize, kustomizeOp
return nil, nil, err
}
}
+
+ if len(opts.Patches) > 0 {
+ kustomizationPath := filepath.Join(k.path, "kustomization.yaml")
+ b, err := os.ReadFile(kustomizationPath)
+ if err != nil {
+ return nil, nil, fmt.Errorf("failed to load kustomization.yaml: %w", err)
+ }
+ var kustomization interface{}
+ err = yaml.Unmarshal(b, &kustomization)
+ if err != nil {
+ return nil, nil, fmt.Errorf("failed to unmarshal kustomization.yaml: %w", err)
+ }
+ kMap, ok := kustomization.(map[string]interface{})
+ if !ok {
+ return nil, nil, fmt.Errorf("expected kustomization.yaml to be type map[string]interface{}, but got %T", kMap)
+ }
+ patches, ok := kMap["patches"]
+ if ok {
+ // The kustomization.yaml already had a patches field, so we need to append to it.
+ patchesList, ok := patches.([]interface{})
+ if !ok {
+ return nil, nil, fmt.Errorf("expected 'patches' field in kustomization.yaml to be []interface{}, but got %T", patches)
+ }
+ // Since the patches from the Application manifest are typed, we need to convert them to a type which
+ // can be appended to the existing list.
+ untypedPatches := make([]interface{}, len(opts.Patches))
+ for i := range opts.Patches {
+ untypedPatches[i] = opts.Patches[i]
+ }
+ patchesList = append(patchesList, untypedPatches...)
+ // Update the kustomization.yaml with the appended patches list.
+ kMap["patches"] = patchesList
+ } else {
+ kMap["patches"] = opts.Patches
+ }
+ updatedKustomization, err := yaml.Marshal(kMap)
+ if err != nil {
+ return nil, nil, fmt.Errorf("failed to marshal kustomization.yaml after adding patches: %w", err)
+ }
+ kustomizationFileInfo, err := os.Stat(kustomizationPath)
+ if err != nil {
+ return nil, nil, fmt.Errorf("failed to stat kustomization.yaml: %w", err)
+ }
+ err = os.WriteFile(kustomizationPath, updatedKustomization, kustomizationFileInfo.Mode())
+ if err != nil {
+ return nil, nil, fmt.Errorf("failed to write kustomization.yaml with updated 'patches' field: %w", err)
+ }
+ }
}
var cmd *exec.Cmd
diff --git a/util/kustomize/kustomize_test.go b/util/kustomize/kustomize_test.go
index b959a1f9a4680..573cb87fb602c 100644
--- a/util/kustomize/kustomize_test.go
+++ b/util/kustomize/kustomize_test.go
@@ -22,6 +22,7 @@ const kustomization2a = "kustomization_yml"
const kustomization2b = "Kustomization"
const kustomization3 = "force_common"
const kustomization4 = "custom_version"
+const kustomization5 = "kustomization_yaml_patches"
func testDataDir(tb testing.TB, testData string) (string, error) {
res := tb.TempDir()
@@ -350,3 +351,55 @@ func TestKustomizeCustomVersion(t *testing.T) {
assert.Nil(t, err)
assert.Equal(t, "ARGOCD_APP_NAME=argo-cd-tests\n", string(content))
}
+
+func TestKustomizeBuildPatches(t *testing.T) {
+ appPath, err := testDataDir(t, kustomization5)
+ assert.Nil(t, err)
+ kustomize := NewKustomizeApp(appPath, git.NopCreds{}, "", "")
+
+ kustomizeSource := v1alpha1.ApplicationSourceKustomize{
+ Patches: []v1alpha1.KustomizePatch{
+ {
+ Patch: `[ { "op": "replace", "path": "/spec/template/spec/containers/0/ports/0/containerPort", "value": 443 }, { "op": "replace", "path": "/spec/template/spec/containers/0/name", "value": "test" }]`,
+ Target: &v1alpha1.KustomizeSelector{
+ KustomizeResId: v1alpha1.KustomizeResId{
+ KustomizeGvk: v1alpha1.KustomizeGvk{
+ Kind: "Deployment",
+ },
+ Name: "nginx-deployment",
+ },
+ },
+ },
+ },
+ }
+ objs, _, err := kustomize.Build(&kustomizeSource, nil, nil)
+ assert.Nil(t, err)
+ obj := objs[0]
+ containers, found, err := unstructured.NestedSlice(obj.Object, "spec", "template", "spec", "containers")
+ assert.Nil(t, err)
+ assert.Equal(t, found, true)
+
+ ports, found, err := unstructured.NestedSlice(
+ containers[0].(map[string]interface{}),
+ "ports",
+ )
+ assert.Equal(t, found, true)
+ assert.Nil(t, err)
+
+ port, found, err := unstructured.NestedInt64(
+ ports[0].(map[string]interface{}),
+ "containerPort",
+ )
+
+ assert.Equal(t, found, true)
+ assert.Nil(t, err)
+ assert.Equal(t, port, int64(443))
+
+ name, found, err := unstructured.NestedString(
+ containers[0].(map[string]interface{}),
+ "name",
+ )
+ assert.Equal(t, found, true)
+ assert.Nil(t, err)
+ assert.Equal(t, name, "test")
+}
diff --git a/util/kustomize/testdata/kustomization_yaml_patches/deployment.yaml b/util/kustomize/testdata/kustomization_yaml_patches/deployment.yaml
new file mode 100644
index 0000000000000..545961bb6094d
--- /dev/null
+++ b/util/kustomize/testdata/kustomization_yaml_patches/deployment.yaml
@@ -0,0 +1,21 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: nginx-deployment
+ labels:
+ app: nginx
+spec:
+ replicas: 3
+ selector:
+ matchLabels:
+ app: nginx
+ template:
+ metadata:
+ labels:
+ app: nginx
+ spec:
+ containers:
+ - name: nginx
+ image: nginx:1.15.4
+ ports:
+ - containerPort: 80
\ No newline at end of file
diff --git a/util/kustomize/testdata/kustomization_yaml_patches/kustomization.yaml b/util/kustomize/testdata/kustomization_yaml_patches/kustomization.yaml
new file mode 100644
index 0000000000000..5c89a0172d3eb
--- /dev/null
+++ b/util/kustomize/testdata/kustomization_yaml_patches/kustomization.yaml
@@ -0,0 +1,2 @@
+resources:
+ - ./deployment.yaml
diff --git a/util/lua/custom_actions_test.go b/util/lua/custom_actions_test.go
index 8f7d0e7495513..6cf5b0916445a 100644
--- a/util/lua/custom_actions_test.go
+++ b/util/lua/custom_actions_test.go
@@ -58,7 +58,7 @@ func (t testNormalizer) Normalize(un *unstructured.Unstructured) error {
if err != nil {
return fmt.Errorf("failed to normalize %s: %w", un.GetKind(), err)
}
- case "ExternalSecret":
+ case "ExternalSecret", "PushSecret":
err := unstructured.SetNestedStringMap(un.Object, map[string]string{"force-sync": "0001-01-01T00:00:00Z"}, "metadata", "annotations")
if err != nil {
return fmt.Errorf("failed to normalize %s: %w", un.GetKind(), err)