From fbeab4c5828acd379a018e598aa69bf99782e0eb Mon Sep 17 00:00:00 2001 From: Silvan Date: Mon, 6 Apr 2020 06:42:21 +0200 Subject: [PATCH] Eventstore (#22) * feat: eventstore repository * fix: remove gorm * version * feat: pkg * feat: eventstore without eventstore-lib * rename files * gnueg * fix: add object * fix: global model * feat(eventstore): sdk * fix(eventstore): search query * fix(eventstore): rename app to eventstore * delete empty test * remove unused func * merge master * fix(eventstore): tests * fix(models): delete unused struct * feat(eventstore): implemented push events * feat(eventstore): overwrite context data * feat(types): SQL-config * feat(eventstore): options to overwrite editor * Update internal/eventstore/models/field.go Co-Authored-By: livio-a * fix(eventstore): code quality * fix(eventstore): rename modifier* to editor* * fix(eventstore): delete editor_org Co-authored-by: Fabiennne Co-authored-by: livio-a --- .gitignore | 4 +- go.mod | 26 +- go.sum | 182 +- internal/config/types/sql.go | 25 + internal/eventstore/config.go | 23 + internal/eventstore/eventstore.go | 59 + internal/eventstore/gen_mock.go | 3 + internal/eventstore/health.go | 9 + .../internal/repository/gen_mock.go | 3 + .../internal/repository/mock/repository.go | 34 + .../repository/mock/repository.mock.go | 97 + .../internal/repository/repository.go | 17 + .../internal/repository/sql/config.go | 24 + .../internal/repository/sql/db_mock_test.go | 188 + .../internal/repository/sql/filter.go | 156 + .../internal/repository/sql/filter_test.go | 155 + .../internal/repository/sql/push.go | 91 + .../internal/repository/sql/push_test.go | 323 + .../eventstore/internal/repository/sql/sql.go | 17 + internal/eventstore/mock/eventstore.mock.go | 97 + internal/eventstore/models/aggregate.go | 88 + .../eventstore/models/aggregate_creator.go | 56 + .../models/aggregate_creator_test.go | 118 + internal/eventstore/models/aggregate_test.go | 173 + internal/eventstore/models/event.go | 89 + internal/eventstore/models/event_test.go | 198 + internal/eventstore/models/field.go | 12 + internal/eventstore/models/filter.go | 46 + internal/eventstore/models/filter_test.go | 104 + internal/eventstore/models/object.go | 25 + internal/eventstore/models/object_test.go | 81 + internal/eventstore/models/operation.go | 10 + internal/eventstore/models/search_query.go | 74 + .../eventstore/models/search_query_test.go | 59 + internal/eventstore/models/version.go | 22 + internal/eventstore/models/version_test.go | 39 + internal/model/enum.go | 5 + internal/model/search_method.go | 26 + pkg/management/api/grpc/management.pb.go | 986 +-- pkg/management/api/grpc/management.pb.gw.go | 5811 ++++++++++++++++- .../api/grpc/management.swagger.json | 64 +- .../api/grpc/mock/management.proto.mock.go | 2118 ++++++ pkg/management/api/proto/management.proto | 2 +- 43 files changed, 11050 insertions(+), 689 deletions(-) create mode 100644 internal/config/types/sql.go create mode 100644 internal/eventstore/config.go create mode 100644 internal/eventstore/eventstore.go create mode 100644 internal/eventstore/gen_mock.go create mode 100644 internal/eventstore/health.go create mode 100644 internal/eventstore/internal/repository/gen_mock.go create mode 100644 internal/eventstore/internal/repository/mock/repository.go create mode 100644 internal/eventstore/internal/repository/mock/repository.mock.go create mode 100644 internal/eventstore/internal/repository/repository.go create mode 100644 internal/eventstore/internal/repository/sql/config.go create mode 100644 internal/eventstore/internal/repository/sql/db_mock_test.go create mode 100644 internal/eventstore/internal/repository/sql/filter.go create mode 100644 internal/eventstore/internal/repository/sql/filter_test.go create mode 100644 internal/eventstore/internal/repository/sql/push.go create mode 100644 internal/eventstore/internal/repository/sql/push_test.go create mode 100644 internal/eventstore/internal/repository/sql/sql.go create mode 100644 internal/eventstore/mock/eventstore.mock.go create mode 100644 internal/eventstore/models/aggregate.go create mode 100644 internal/eventstore/models/aggregate_creator.go create mode 100644 internal/eventstore/models/aggregate_creator_test.go create mode 100644 internal/eventstore/models/aggregate_test.go create mode 100644 internal/eventstore/models/event.go create mode 100644 internal/eventstore/models/event_test.go create mode 100644 internal/eventstore/models/field.go create mode 100644 internal/eventstore/models/filter.go create mode 100644 internal/eventstore/models/filter_test.go create mode 100644 internal/eventstore/models/object.go create mode 100644 internal/eventstore/models/object_test.go create mode 100644 internal/eventstore/models/operation.go create mode 100644 internal/eventstore/models/search_query.go create mode 100644 internal/eventstore/models/search_query_test.go create mode 100644 internal/eventstore/models/version.go create mode 100644 internal/eventstore/models/version_test.go create mode 100644 internal/model/enum.go create mode 100644 internal/model/search_method.go create mode 100644 pkg/management/api/grpc/mock/management.proto.mock.go diff --git a/.gitignore b/.gitignore index e4f3db01e..053633481 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,6 @@ debug # credential google-credentials -key.json \ No newline at end of file +key.json + +cockroach-data/* \ No newline at end of file diff --git a/go.mod b/go.mod index b4ce9ed1b..6e59d7622 100644 --- a/go.mod +++ b/go.mod @@ -3,15 +3,17 @@ module github.com/caos/zitadel go 1.14 require ( - cloud.google.com/go v0.53.0 // indirect - contrib.go.opencensus.io/exporter/stackdriver v0.13.0 + cloud.google.com/go v0.56.0 // indirect + contrib.go.opencensus.io/exporter/stackdriver v0.13.1 github.com/BurntSushi/toml v0.3.1 + github.com/DATA-DOG/go-sqlmock v1.4.1 github.com/Masterminds/goutils v1.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/sprig v2.22.0+incompatible - github.com/aws/aws-sdk-go v1.29.16 // indirect + github.com/aws/aws-sdk-go v1.30.1 // indirect github.com/caos/logging v0.0.1 - github.com/envoyproxy/protoc-gen-validate v0.1.0 + github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405 + github.com/envoyproxy/protoc-gen-validate v0.3.0 github.com/ghodss/yaml v1.0.0 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b github.com/golang/mock v1.4.3 @@ -22,20 +24,22 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 github.com/grpc-ecosystem/grpc-gateway v1.14.3 github.com/huandu/xstrings v1.3.0 // indirect - github.com/imdario/mergo v0.3.8 // indirect + github.com/imdario/mergo v0.3.9 // indirect + github.com/jackc/pgconn v1.5.0 // indirect + github.com/lib/pq v1.3.0 github.com/mitchellh/copystructure v1.0.0 // indirect + github.com/mitchellh/reflectwalk v1.0.1 // indirect github.com/nicksnyder/go-i18n/v2 v2.0.3 github.com/rs/cors v1.7.0 github.com/sirupsen/logrus v1.5.0 // indirect github.com/stretchr/testify v1.5.1 go.opencensus.io v0.22.3 - golang.org/x/crypto v0.0.0-20200320181102-891825fb96df - golang.org/x/net v0.0.0-20200320220750-118fecf932d8 // indirect - golang.org/x/sys v0.0.0-20200327173247-9dae0f8f5775 // indirect + golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59 + golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e // indirect + golang.org/x/sys v0.0.0-20200331124033-c3d80250170d // indirect golang.org/x/text v0.3.2 - golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56 - google.golang.org/api v0.20.0 // indirect - google.golang.org/genproto v0.0.0-20200319113533-08878b785e9c + golang.org/x/tools v0.0.0-20200331202046-9d5940d49312 + google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940 google.golang.org/grpc v1.28.0 google.golang.org/protobuf v1.20.1 gopkg.in/yaml.v2 v2.2.8 // indirect diff --git a/go.sum b/go.sum index 35f95765e..a969d15e0 100644 --- a/go.sum +++ b/go.sum @@ -6,22 +6,40 @@ cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxK cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0 h1:MZQCQQaRwOrAcuKjiHWHrgKykt4fZyuwF2dtiG3fGW8= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.55.0 h1:eoz/lYxKSL4CNAiaUJ0ZfD1J3bfMYbU5B3rwM1C1EIU= +cloud.google.com/go v0.55.0/go.mod h1:ZHmoY+/lIMNkN2+fBmuTiqZ4inFhvQad8ft7MT8IV5Y= +cloud.google.com/go v0.56.0 h1:WRz29PgAsVEyPSDHyk+0fpEkwEFyfhHn+JbksT6gIL4= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= contrib.go.opencensus.io/exporter/stackdriver v0.13.0 h1:Jaz7WbqjtfoCPa1KbfisCX+P5aM3DizEY9pQMU0oAQo= contrib.go.opencensus.io/exporter/stackdriver v0.13.0/go.mod h1:z2tyTZtPmQ2HvWH4cOmVDgtY+1lomfKdbLnkJvZdc8c= +contrib.go.opencensus.io/exporter/stackdriver v0.13.0/go.mod h1:z2tyTZtPmQ2HvWH4cOmVDgtY+1lomfKdbLnkJvZdc8c= +contrib.go.opencensus.io/exporter/stackdriver v0.13.1 h1:RX9W6FelAqTVnBi/bRXJLXr9n18v4QkQwZYIdnNS51I= +contrib.go.opencensus.io/exporter/stackdriver v0.13.1/go.mod h1:z2tyTZtPmQ2HvWH4cOmVDgtY+1lomfKdbLnkJvZdc8c= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.4.1 h1:ThlnYciV1iM/V0OSF/dtkqWb6xo5qITT1TJBG1MRDJM= +github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= @@ -29,18 +47,31 @@ github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= +github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.29.16 h1:Gbtod7Y4W/Ai7wPtesdvgGVTkFN8JxAaGouRLlcQfQs= -github.com/aws/aws-sdk-go v1.29.16/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg= +github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.30.0 h1:7NDwnnQrI1Ivk0bXLzMmuX5ozzOwteHOsAs4druW7gI= +github.com/aws/aws-sdk-go v1.30.0/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.30.1 h1:cUMxtoFvIHhScZgv17tGxw15r6rVKJHR1hsIFRx9hcA= +github.com/aws/aws-sdk-go v1.30.1/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/caos/logging v0.0.1 h1:YSGtO2/+5OWdwilBCou50akoDHAT/OhkbrolkVlR6U0= github.com/caos/logging v0.0.1 h1:YSGtO2/+5OWdwilBCou50akoDHAT/OhkbrolkVlR6U0= github.com/caos/logging v0.0.1/go.mod h1:9LKiDE2ChuGv6CHYif/kiugrfEXu9AwDiFWSreX7Wp0= +github.com/caos/logging v0.0.1/go.mod h1:9LKiDE2ChuGv6CHYif/kiugrfEXu9AwDiFWSreX7Wp0= github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405 h1:i1XXyBMAGL7NqogtoS6NHQ/IJwCbG0R725hAhEhldOI= +github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -49,14 +80,21 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.3.0 h1:Y2J74o+yAfcD8jpqtkLnUqRo+yshLr4eR1WPYGX0cic= +github.com/envoyproxy/protoc-gen-validate v0.3.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -74,7 +112,6 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5 h1:F768QJ1E9tib+q5Sc8MkdJi1RxLTbRcTf8LJV56aRls= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= @@ -91,11 +128,14 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gorilla/schema v1.1.0 h1:CamqUDOFUBqzrvxuz2vEwo8+SUdwsluFh7IlzJh30LY= @@ -111,10 +151,47 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/huandu/xstrings v1.3.0 h1:gvV6jG9dTgFEncxo+AF7PH6MZXi/vZl25owA/8Dg8Wo= github.com/huandu/xstrings v1.3.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.5.0 h1:oFSOilzIZkyg787M1fEmyMfOUUvwj0daqYMfaWwNL4o= +github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0 h1:FYYE4yRw+AgI8wXIinMlNjBbp/UitDJwfj5LqqewP1A= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.1 h1:Rdjp4NFjwHnEslx2b66FfCI2S0LhO4itac3hXz6WX9M= +github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8 h1:Q3tB+ExeflWUW7AFcAhXqk40s9mnNYLk1nOkKNZ5GnU= +github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= @@ -126,12 +203,23 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU= +github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/nicksnyder/go-i18n/v2 v2.0.3 h1:ks/JkQiOEhhuF6jpNvx+Wih1NIiXzUnZeZVnJuI8R8M= github.com/nicksnyder/go-i18n/v2 v2.0.3/go.mod h1:oDab7q8XCYMRlcrBnaY/7B1eOectbvj6B1UPBT+p5jo= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -144,33 +232,52 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.5.0 h1:1N5EYkVAPEywqZRJd7cwnRtCb6xJx7NH3T3WUTF980Q= github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200320181102-891825fb96df h1:lDWgvUvNnaTnNBc/dwOty86cFeKoKWbwy2wQj0gIxbU= -golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59 h1:3zb4D3T4G8jdExgVU/95+vQXfpEPiMdCaZgmGVxjNHM= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -178,7 +285,9 @@ golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm0 golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -189,12 +298,15 @@ golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367 h1:0IiAsCRByjO2QjX7ZPkw5oU9x+n1YqRL802rjC0c3Aw= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -208,12 +320,17 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200320220750-118fecf932d8 h1:1+zQlQqEEhUeStBTi653GZAnAuivZq/2hz+Iz+OP7rg= -golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -227,9 +344,15 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -237,13 +360,22 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191206220618-eeba5f6aabab h1:FvshnhkKW+LO3HWHodML8kuVX8rnJTxKm9dFPuI68UM= golang.org/x/sys v0.0.0-20191206220618-eeba5f6aabab/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200327173247-9dae0f8f5775 h1:TC0v2RSO1u2kn1ZugjrFXkRZAEaqMN/RW+OTZkBzmLE= -golang.org/x/sys v0.0.0-20200327173247-9dae0f8f5775/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200317113312-5766fd39f98d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d h1:nc5K6ox/4lTFbMVSL9WRR81ixkcwXThoiF6yf+R9scA= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -251,6 +383,7 @@ golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -259,6 +392,7 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 h1:5Beo0mZN8dRzgrMMkDp0jc8YXQKx9DiJ2k1dkvGsn5A= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -266,6 +400,7 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -273,12 +408,24 @@ golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56 h1:DFtSed2q3HtNuVazwVDZ4nSRS/JrZEig0gz2BY4VNrg= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200317043434-63da46f3035e/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4 h1:kDtqNkeBrZb8B+atrj50B5XLHpzXXqcCdZPP/ApQ5NY= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200331202046-9d5940d49312 h1:2PHG+Ia3gK1K2kjxZnSylizb//eyaMG8gDFbOG7wLV8= +golang.org/x/tools v0.0.0-20200331202046-9d5940d49312/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= @@ -292,6 +439,7 @@ google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsb google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.20.0 h1:jz2KixHX7EcCPiQrySzPdnYT7DbINAypCqKZ1Z7GM40= google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -314,9 +462,14 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200319113533-08878b785e9c h1:5aI3/f/3eCZps9xwoEnmgfDJDhMbnJpfqeGpjVNgVEI= -google.golang.org/genproto v0.0.0-20200319113533-08878b785e9c/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200317114155-1f3552e48f24/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940 h1:MRHtG0U6SnaUb+s+LhNE1qt1FQ1wlhqr5E4usBKC0uA= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -339,6 +492,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -350,7 +504,9 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= diff --git a/internal/config/types/sql.go b/internal/config/types/sql.go new file mode 100644 index 000000000..bca09f661 --- /dev/null +++ b/internal/config/types/sql.go @@ -0,0 +1,25 @@ +package types + +import "strings" + +type SQL struct { + Host string + Port string + User string + Password string + Database string + SSLmode string +} + +func (sql *SQL) ConnectionString() string { + fields := []string{ + "host=" + sql.Host, + "port=" + sql.Port, + "user=" + sql.User, + "password=" + sql.Password, + "dbname=" + sql.Database, + "sslmode=" + sql.SSLmode, + } + + return strings.Join(fields, " ") +} diff --git a/internal/eventstore/config.go b/internal/eventstore/config.go new file mode 100644 index 000000000..e8b23e0fd --- /dev/null +++ b/internal/eventstore/config.go @@ -0,0 +1,23 @@ +package eventstore + +import ( + "github.com/caos/zitadel/internal/eventstore/internal/repository/sql" + "github.com/caos/zitadel/internal/eventstore/models" +) + +type Config struct { + Repository sql.Config + ServiceName string +} + +func Start(conf Config) (Eventstore, error) { + repo, err := sql.Start(conf.Repository) + if err != nil { + return nil, err + } + + return &eventstore{ + repo: repo, + aggregateCreator: models.NewAggregateCreator(conf.ServiceName), + }, nil +} diff --git a/internal/eventstore/eventstore.go b/internal/eventstore/eventstore.go new file mode 100644 index 000000000..79589c3ba --- /dev/null +++ b/internal/eventstore/eventstore.go @@ -0,0 +1,59 @@ +package eventstore + +import ( + "context" + + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore/internal/repository" + "github.com/caos/zitadel/internal/eventstore/models" +) + +type Eventstore interface { + AggregateCreator() *models.AggregateCreator + Health(ctx context.Context) error + PushAggregates(ctx context.Context, aggregates ...*models.Aggregate) error + FilterEvents(ctx context.Context, searchQuery *models.SearchQuery) (events []*models.Event, err error) +} + +var _ Eventstore = (*eventstore)(nil) + +type eventstore struct { + repo repository.Repository + aggregateCreator *models.AggregateCreator +} + +func (es *eventstore) AggregateCreator() *models.AggregateCreator { + return es.aggregateCreator +} + +func (es *eventstore) PushAggregates(ctx context.Context, aggregates ...*models.Aggregate) (err error) { + for _, aggregate := range aggregates { + if len(aggregate.Events) == 0 { + return errors.ThrowInvalidArgument(nil, "EVENT-cNhIj", "no events in aggregate") + } + for _, event := range aggregate.Events { + if err = event.Validate(); err != nil { + return err + } + } + } + err = es.repo.PushAggregates(ctx, aggregates...) + if err != nil { + return err + } + + for _, aggregate := range aggregates { + if aggregate.Appender != nil { + aggregate.Appender(aggregate.Events...) + } + } + + return nil +} + +func (es *eventstore) FilterEvents(ctx context.Context, searchQuery *models.SearchQuery) ([]*models.Event, error) { + if err := searchQuery.Validate(); err != nil { + return nil, err + } + return es.repo.Filter(ctx, searchQuery) +} diff --git a/internal/eventstore/gen_mock.go b/internal/eventstore/gen_mock.go new file mode 100644 index 000000000..aa09e2fdc --- /dev/null +++ b/internal/eventstore/gen_mock.go @@ -0,0 +1,3 @@ +package eventstore + +//go:generate mockgen -package mock -destination ./mock/eventstore.mock.go github.com/caos/zitadel/internal/eventstore Eventstore diff --git a/internal/eventstore/health.go b/internal/eventstore/health.go new file mode 100644 index 000000000..d21aa20f7 --- /dev/null +++ b/internal/eventstore/health.go @@ -0,0 +1,9 @@ +package eventstore + +import ( + "context" +) + +func (app *eventstore) Health(ctx context.Context) error { + return app.repo.Health(ctx) +} diff --git a/internal/eventstore/internal/repository/gen_mock.go b/internal/eventstore/internal/repository/gen_mock.go new file mode 100644 index 000000000..e625134d8 --- /dev/null +++ b/internal/eventstore/internal/repository/gen_mock.go @@ -0,0 +1,3 @@ +package repository + +//go:generate mockgen -package mock -destination ./mock/repository.mock.go github.com/caos/zitadel/internal/eventstore/internal/repository Repository diff --git a/internal/eventstore/internal/repository/mock/repository.go b/internal/eventstore/internal/repository/mock/repository.go new file mode 100644 index 000000000..77ecb3479 --- /dev/null +++ b/internal/eventstore/internal/repository/mock/repository.go @@ -0,0 +1,34 @@ +package mock + +import ( + "context" + "testing" + + "github.com/caos/zitadel/internal/eventstore/models" + gomock "github.com/golang/mock/gomock" +) + +func NewMock(t *testing.T) *MockRepository { + return NewMockRepository(gomock.NewController(t)) +} + +func (m *MockRepository) ExpectFilter(query *models.SearchQuery, eventAmount int) *MockRepository { + events := make([]*models.Event, eventAmount) + m.EXPECT().Filter(context.Background(), query).Return(events, nil).MaxTimes(1) + return m +} + +func (m *MockRepository) ExpectFilterFail(query *models.SearchQuery, err error) *MockRepository { + m.EXPECT().Filter(context.Background(), query).Return(nil, err).MaxTimes(1) + return m +} + +func (m *MockRepository) ExpectPush(aggregates ...*models.Aggregate) *MockRepository { + m.EXPECT().PushEvents(context.Background(), aggregates).Return(nil).MaxTimes(1) + return m +} + +func (m *MockRepository) ExpectPushError(err error, aggregates ...*models.Aggregate) *MockRepository { + m.EXPECT().PushEvents(context.Background(), aggregates).Return(err).MaxTimes(1) + return m +} diff --git a/internal/eventstore/internal/repository/mock/repository.mock.go b/internal/eventstore/internal/repository/mock/repository.mock.go new file mode 100644 index 000000000..2dc6a82a4 --- /dev/null +++ b/internal/eventstore/internal/repository/mock/repository.mock.go @@ -0,0 +1,97 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/caos/zitadel/internal/eventstore/internal/repository (interfaces: Repository) + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + models "github.com/caos/zitadel/internal/eventstore/models" + gomock "github.com/golang/mock/gomock" + reflect "reflect" +) + +// MockRepository is a mock of Repository interface +type MockRepository struct { + ctrl *gomock.Controller + recorder *MockRepositoryMockRecorder +} + +// MockRepositoryMockRecorder is the mock recorder for MockRepository +type MockRepositoryMockRecorder struct { + mock *MockRepository +} + +// NewMockRepository creates a new mock instance +func NewMockRepository(ctrl *gomock.Controller) *MockRepository { + mock := &MockRepository{ctrl: ctrl} + mock.recorder = &MockRepositoryMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use +func (m *MockRepository) EXPECT() *MockRepositoryMockRecorder { + return m.recorder +} + +// Filter mocks base method +func (m *MockRepository) Filter(arg0 context.Context, arg1 *models.SearchQuery) ([]*models.Event, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Filter", arg0, arg1) + ret0, _ := ret[0].([]*models.Event) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Filter indicates an expected call of Filter +func (mr *MockRepositoryMockRecorder) Filter(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Filter", reflect.TypeOf((*MockRepository)(nil).Filter), arg0, arg1) +} + +// Health mocks base method +func (m *MockRepository) Health(arg0 context.Context) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Health", arg0) + ret0, _ := ret[0].(error) + return ret0 +} + +// Health indicates an expected call of Health +func (mr *MockRepositoryMockRecorder) Health(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Health", reflect.TypeOf((*MockRepository)(nil).Health), arg0) +} + +// PushAggregates mocks base method +func (m *MockRepository) PushAggregates(arg0 context.Context, arg1 ...*models.Aggregate) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0} + for _, a := range arg1 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PushAggregates", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PushAggregates indicates an expected call of PushAggregates +func (mr *MockRepositoryMockRecorder) PushAggregates(arg0 interface{}, arg1 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0}, arg1...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PushAggregates", reflect.TypeOf((*MockRepository)(nil).PushAggregates), varargs...) +} + +// PushEvents mocks base method +func (m *MockRepository) PushEvents(arg0 context.Context, arg1 [][]*models.Event) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PushEvents", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// PushEvents indicates an expected call of PushEvents +func (mr *MockRepositoryMockRecorder) PushEvents(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PushEvents", reflect.TypeOf((*MockRepository)(nil).PushEvents), arg0, arg1) +} diff --git a/internal/eventstore/internal/repository/repository.go b/internal/eventstore/internal/repository/repository.go new file mode 100644 index 000000000..048c1531f --- /dev/null +++ b/internal/eventstore/internal/repository/repository.go @@ -0,0 +1,17 @@ +package repository + +import ( + "context" + + "github.com/caos/zitadel/internal/eventstore/models" +) + +type Repository interface { + Health(ctx context.Context) error + + // PushEvents adds all events of the given aggregates to the eventstreams of the aggregates. + // This call is transaction save. The transaction will be rolled back if one event fails + PushAggregates(ctx context.Context, aggregates ...*models.Aggregate) error + // Filter returns all events matching the given search query + Filter(ctx context.Context, searchQuery *models.SearchQuery) (events []*models.Event, err error) +} diff --git a/internal/eventstore/internal/repository/sql/config.go b/internal/eventstore/internal/repository/sql/config.go new file mode 100644 index 000000000..b6df7e59e --- /dev/null +++ b/internal/eventstore/internal/repository/sql/config.go @@ -0,0 +1,24 @@ +package sql + +import ( + // postgres dialect + "database/sql" + + "github.com/caos/zitadel/internal/config/types" + "github.com/caos/zitadel/internal/errors" + _ "github.com/lib/pq" +) + +type Config struct { + SQL types.SQL +} + +func Start(conf Config) (*SQL, error) { + client, err := sql.Open("postgres", conf.SQL.ConnectionString()) + if err != nil { + return nil, errors.ThrowPreconditionFailed(err, "SQL-9qBtr", "unable to open database connection") + } + return &SQL{ + client: client, + }, nil +} diff --git a/internal/eventstore/internal/repository/sql/db_mock_test.go b/internal/eventstore/internal/repository/sql/db_mock_test.go new file mode 100644 index 000000000..2cdbd1179 --- /dev/null +++ b/internal/eventstore/internal/repository/sql/db_mock_test.go @@ -0,0 +1,188 @@ +package sql + +import ( + "database/sql" + "fmt" + "regexp" + "testing" + "time" + + "github.com/DATA-DOG/go-sqlmock" + "github.com/caos/zitadel/internal/eventstore/models" + "github.com/lib/pq" +) + +const ( + selectEscaped = `SELECT id, creation_date, event_type, event_sequence, previous_sequence, event_data, editor_service, editor_user, resource_owner, aggregate_type, aggregate_id, aggregate_version FROM eventstore\.events` +) + +var ( + expectedFilterEventsLimitFormat = regexp.MustCompile(selectEscaped + ` ORDER BY event_sequence LIMIT \$1`).String() + expectedFilterEventsDescFormat = regexp.MustCompile(selectEscaped + ` ORDER BY event_sequence DESC`).String() + expectedFilterEventsAggregateIDLimit = regexp.MustCompile(selectEscaped + ` WHERE aggregate_id = \$1 ORDER BY event_sequence LIMIT \$2`).String() + expectedFilterEventsAggregateIDTypeLimit = regexp.MustCompile(selectEscaped + ` WHERE aggregate_id = \$1 AND aggregate_type IN \(\$2\) ORDER BY event_sequence LIMIT \$3`).String() + expectedGetAllEvents = regexp.MustCompile(selectEscaped + ` ORDER BY event_sequence`).String() + + expectedInsertStatement = regexp.MustCompile(`insert into eventstore\.events ` + + `\(event_type, aggregate_type, aggregate_id, aggregate_version, creation_date, event_data, editor_user, editor_service, resource_owner, previous_sequence\) ` + + `select \$1, \$2, \$3, \$4, coalesce\(\$5, now\(\)\), \$6, \$7, \$8, \$9, ` + + `case \(select exists\(select event_sequence from eventstore\.events where aggregate_type = \$10 AND aggregate_id = \$11\)\) ` + + `WHEN true then \(select event_sequence from eventstore\.events where aggregate_type = \$12 AND aggregate_id = \$13 order by event_sequence desc limit 1\) ` + + `ELSE NULL ` + + `end ` + + `where \(` + + `\(select count\(id\) from eventstore\.events where event_sequence >= \$14 AND aggregate_type = \$15 AND aggregate_id = \$16\) = 1 OR ` + + `\(\(select count\(id\) from eventstore\.events where aggregate_type = \$17 and aggregate_id = \$18\) = 0 AND \$19 = 0\)\) RETURNING id, event_sequence, creation_date`).String() +) + +type dbMock struct { + sqlClient *sql.DB + mock sqlmock.Sqlmock +} + +func (db *dbMock) close() { + db.sqlClient.Close() +} + +func mockDB(t *testing.T) *dbMock { + mockDB := dbMock{} + var err error + mockDB.sqlClient, mockDB.mock, err = sqlmock.New() + if err != nil { + t.Fatalf("error occured while creating stub db %v", err) + } + + mockDB.mock.MatchExpectationsInOrder(true) + + return &mockDB +} + +func (db *dbMock) expectBegin(err error) *dbMock { + if err != nil { + db.mock.ExpectBegin().WillReturnError(err) + } else { + db.mock.ExpectBegin() + } + return db +} + +func (db *dbMock) expectSavepoint() *dbMock { + db.mock.ExpectExec("SAVEPOINT").WillReturnResult(sqlmock.NewResult(1, 1)) + + return db +} + +func (db *dbMock) expectReleaseSavepoint(err error) *dbMock { + expectation := db.mock.ExpectExec("RELEASE SAVEPOINT") + if err == nil { + expectation.WillReturnResult(sqlmock.NewResult(1, 1)) + } else { + expectation.WillReturnError(err) + } + + return db +} + +func (db *dbMock) expectCommit(err error) *dbMock { + if err != nil { + db.mock.ExpectCommit().WillReturnError(err) + } else { + db.mock.ExpectCommit() + } + return db +} + +func (db *dbMock) expectRollback(err error) *dbMock { + if err != nil { + db.mock.ExpectRollback().WillReturnError(err) + } else { + db.mock.ExpectRollback() + } + return db +} + +func (db *dbMock) expectInsertEvent(e *models.Event, returnedID string, returnedSequence uint64) *dbMock { + db.mock.ExpectQuery(expectedInsertStatement). + WithArgs( + e.Type, e.AggregateType, e.AggregateID, e.AggregateVersion, sqlmock.AnyArg(), e.Data, e.EditorUser, e.EditorService, e.ResourceOwner, + e.AggregateType, e.AggregateID, + e.AggregateType, e.AggregateID, + e.PreviousSequence, e.AggregateType, e.AggregateID, + e.AggregateType, e.AggregateID, e.PreviousSequence, + ). + WillReturnRows( + sqlmock.NewRows([]string{"id", "event_sequence", "creation_date"}). + AddRow(returnedID, returnedSequence, time.Now().UTC()), + ) + + return db +} + +func (db *dbMock) expectInsertEventError(e *models.Event) *dbMock { + db.mock.ExpectQuery(expectedInsertStatement). + WithArgs( + e.Type, e.AggregateType, e.AggregateID, e.AggregateVersion, sqlmock.AnyArg(), e.Data, e.EditorUser, e.EditorService, e.ResourceOwner, + e.AggregateType, e.AggregateID, + e.AggregateType, e.AggregateID, + e.PreviousSequence, e.AggregateType, e.AggregateID, + e.AggregateType, e.AggregateID, e.PreviousSequence, + ). + WillReturnError(sql.ErrTxDone) + + return db +} + +func (db *dbMock) expectFilterEventsLimit(limit uint64, eventCount int) *dbMock { + rows := sqlmock.NewRows([]string{"id", "creation_date"}) + for i := 0; i < eventCount; i++ { + rows.AddRow(fmt.Sprint("event", i), time.Now()) + } + db.mock.ExpectQuery(expectedFilterEventsLimitFormat). + WithArgs(limit). + WillReturnRows(rows) + return db +} + +func (db *dbMock) expectFilterEventsDesc(eventCount int) *dbMock { + rows := sqlmock.NewRows([]string{"id", "creation_date"}) + for i := eventCount; i > 0; i-- { + rows.AddRow(fmt.Sprint("event", i), time.Now()) + } + db.mock.ExpectQuery(expectedFilterEventsDescFormat). + WillReturnRows(rows) + return db +} + +func (db *dbMock) expectFilterEventsAggregateIDLimit(aggregateID string, limit uint64) *dbMock { + rows := sqlmock.NewRows([]string{"id", "creation_date"}) + for i := limit; i > 0; i-- { + rows.AddRow(fmt.Sprint("event", i), time.Now()) + } + db.mock.ExpectQuery(expectedFilterEventsAggregateIDLimit). + WithArgs(aggregateID, limit). + WillReturnRows(rows) + return db +} + +func (db *dbMock) expectFilterEventsAggregateIDTypeLimit(aggregateID, aggregateType string, limit uint64) *dbMock { + rows := sqlmock.NewRows([]string{"id", "creation_date"}) + for i := limit; i > 0; i-- { + rows.AddRow(fmt.Sprint("event", i), time.Now()) + } + db.mock.ExpectQuery(expectedFilterEventsAggregateIDTypeLimit). + WithArgs(aggregateID, pq.Array([]string{aggregateType}), limit). + WillReturnRows(rows) + return db +} + +func (db *dbMock) expectFilterEventsError(returnedErr error) *dbMock { + db.mock.ExpectQuery(expectedGetAllEvents). + WillReturnError(returnedErr) + return db +} + +func (db *dbMock) expectPrepareInsert() *dbMock { + db.mock.ExpectPrepare(expectedInsertStatement) + + return db +} diff --git a/internal/eventstore/internal/repository/sql/filter.go b/internal/eventstore/internal/repository/sql/filter.go new file mode 100644 index 000000000..f2d25d939 --- /dev/null +++ b/internal/eventstore/internal/repository/sql/filter.go @@ -0,0 +1,156 @@ +package sql + +import ( + "context" + "fmt" + "strconv" + "strings" + + "github.com/caos/logging" + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore/models" + es_models "github.com/caos/zitadel/internal/eventstore/models" + "github.com/lib/pq" +) + +const ( + selectStmt = "SELECT" + + " id" + + ", creation_date" + + ", event_type" + + ", event_sequence" + + ", previous_sequence" + + ", event_data" + + ", editor_service" + + ", editor_user" + + ", resource_owner" + + ", aggregate_type" + + ", aggregate_id" + + ", aggregate_version" + + " FROM eventstore.events" +) + +func (db *SQL) Filter(ctx context.Context, searchQuery *es_models.SearchQuery) (events []*models.Event, err error) { + where, values := prepareWhere(searchQuery) + query := selectStmt + where + + query += " ORDER BY event_sequence" + if searchQuery.Desc { + query += " DESC" + } + + if searchQuery.Limit > 0 { + values = append(values, searchQuery.Limit) + query += " LIMIT ?" + } + + query = numberPlaceholder(query, "?", "$") + + rows, err := db.client.Query(query, values...) + if err != nil { + logging.Log("SQL-HP3Uk").WithError(err).Info("query failed") + return nil, errors.ThrowInternal(err, "SQL-IJuyR", "unable to filter events") + } + defer rows.Close() + + events = make([]*es_models.Event, 0, searchQuery.Limit) + + for rows.Next() { + event := new(models.Event) + events = append(events, event) + + rows.Scan( + &event.ID, + &event.CreationDate, + &event.Type, + &event.Sequence, + &event.PreviousSequence, + &event.Data, + &event.EditorService, + &event.EditorUser, + &event.ResourceOwner, + &event.AggregateType, + &event.AggregateID, + &event.AggregateVersion, + ) + } + + return events, nil +} + +func numberPlaceholder(query, old, new string) string { + for i, hasChanged := 1, true; hasChanged; i++ { + newQuery := strings.Replace(query, old, new+strconv.Itoa(i), 1) + hasChanged = query != newQuery + query = newQuery + } + return query +} + +func prepareWhere(searchQuery *es_models.SearchQuery) (clause string, values []interface{}) { + values = make([]interface{}, len(searchQuery.Filters)) + clauses := make([]string, len(searchQuery.Filters)) + + if len(values) == 0 { + return clause, values + } + + for i, filter := range searchQuery.Filters { + value := filter.GetValue() + switch value.(type) { + case []bool, []float64, []int64, []string, *[]bool, *[]float64, *[]int64, *[]string: + value = pq.Array(value) + } + + clauses[i] = getCondition(filter) + values[i] = value + } + return " WHERE " + strings.Join(clauses, " AND "), values +} + +func getCondition(filter *es_models.Filter) string { + field := getField(filter.GetField()) + operation := getOperation(filter.GetOperation()) + format := prepareConditionFormat(filter.GetOperation()) + + return fmt.Sprintf(format, field, operation) +} + +func prepareConditionFormat(operation es_models.Operation) string { + if operation == es_models.Operation_In { + return "%s %s (?)" + } + return "%s %s ?" +} + +func getField(field es_models.Field) string { + switch field { + case es_models.Field_AggregateID: + return "aggregate_id" + case es_models.Field_AggregateType: + return "aggregate_type" + case es_models.Field_LatestSequence: + return "event_sequence" + case es_models.Field_ResourceOwner: + return "resource_owner" + case es_models.Field_ModifierService: + return "editor_service" + case es_models.Field_ModifierUser: + return "editor_user" + } + return "" +} + +func getOperation(operation es_models.Operation) string { + switch operation { + case es_models.Operation_Equals: + return "=" + case es_models.Operation_Greater: + return ">" + case es_models.Operation_Less: + return "<" + case es_models.Operation_In: + return "IN" + } + return "" +} diff --git a/internal/eventstore/internal/repository/sql/filter_test.go b/internal/eventstore/internal/repository/sql/filter_test.go new file mode 100644 index 000000000..ccaabb474 --- /dev/null +++ b/internal/eventstore/internal/repository/sql/filter_test.go @@ -0,0 +1,155 @@ +package sql + +import ( + "context" + "database/sql" + "testing" + + "github.com/caos/zitadel/internal/errors" + es_models "github.com/caos/zitadel/internal/eventstore/models" +) + +func TestSQL_Filter(t *testing.T) { + type fields struct { + client *dbMock + } + type args struct { + events *mockEvents + searchQuery *es_models.SearchQuery + } + tests := []struct { + name string + fields fields + args args + eventsLen int + wantErr bool + isErrFunc func(error) bool + }{ + { + name: "only limit filter", + fields: fields{ + client: mockDB(t).expectFilterEventsLimit(34, 3), + }, + args: args{ + events: &mockEvents{t: t}, + searchQuery: es_models.NewSearchQuery().SetLimit(34), + }, + eventsLen: 3, + wantErr: false, + }, + { + name: "only desc filter", + fields: fields{ + client: mockDB(t).expectFilterEventsDesc(34), + }, + args: args{ + events: &mockEvents{t: t}, + searchQuery: es_models.NewSearchQuery().OrderDesc(), + }, + eventsLen: 34, + wantErr: false, + }, + { + name: "no events found", + fields: fields{ + client: mockDB(t).expectFilterEventsError(sql.ErrNoRows), + }, + args: args{ + events: &mockEvents{t: t}, + searchQuery: &es_models.SearchQuery{}, + }, + wantErr: true, + isErrFunc: errors.IsInternal, + }, + { + name: "filter fails because sql internal error", + fields: fields{ + client: mockDB(t).expectFilterEventsError(sql.ErrConnDone), + }, + args: args{ + events: &mockEvents{t: t}, + searchQuery: &es_models.SearchQuery{}, + }, + wantErr: true, + isErrFunc: errors.IsInternal, + }, + { + name: "filter by aggregate id", + fields: fields{ + client: mockDB(t).expectFilterEventsAggregateIDLimit("hop", 5), + }, + args: args{ + events: &mockEvents{t: t}, + searchQuery: es_models.NewSearchQuery().SetLimit(5).AggregateIDFilter("hop"), + }, + wantErr: false, + isErrFunc: nil, + }, + { + name: "filter by aggregate id and aggregate type", + fields: fields{ + client: mockDB(t).expectFilterEventsAggregateIDTypeLimit("hop", "user", 5), + }, + args: args{ + events: &mockEvents{t: t}, + searchQuery: es_models.NewSearchQuery().SetLimit(5).AggregateIDFilter("hop").AggregateTypeFilter("user"), + }, + wantErr: false, + isErrFunc: nil, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + sql := &SQL{ + client: tt.fields.client.sqlClient, + } + events, err := sql.Filter(context.Background(), tt.args.searchQuery) + if (err != nil) != tt.wantErr { + t.Errorf("SQL.UnlockAggregates() error = %v, wantErr %v", err, tt.wantErr) + } + if tt.eventsLen != 0 && len(events) != tt.eventsLen { + t.Errorf("events has wrong length got: %d want %d", len(events), tt.eventsLen) + } + if tt.wantErr && !tt.isErrFunc(err) { + t.Errorf("got wrong error %v", err) + } + if err := tt.fields.client.mock.ExpectationsWereMet(); err != nil { + t.Errorf("there were unfulfilled expectations: %s", err) + } + tt.fields.client.close() + }) + } +} + +func Test_getCondition(t *testing.T) { + type args struct { + filter *es_models.Filter + } + tests := []struct { + name string + args args + want string + }{ + { + name: "single value", + args: args{ + filter: es_models.NewFilter(es_models.Field_LatestSequence, 34, es_models.Operation_Greater), + }, + want: "event_sequence > ?", + }, + { + name: "list value", + args: args{ + filter: es_models.NewFilter(es_models.Field_AggregateType, []string{"a", "b"}, es_models.Operation_In), + }, + want: "aggregate_type IN (?)", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := getCondition(tt.args.filter); got != tt.want { + t.Errorf("getCondition() = %v, want %v", got, tt.want) + } + }) + } +} diff --git a/internal/eventstore/internal/repository/sql/push.go b/internal/eventstore/internal/repository/sql/push.go new file mode 100644 index 000000000..a2598e204 --- /dev/null +++ b/internal/eventstore/internal/repository/sql/push.go @@ -0,0 +1,91 @@ +package sql + +import ( + "context" + "database/sql" + + "github.com/caos/logging" + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore/models" + "github.com/cockroachdb/cockroach-go/crdb" +) + +const insertStmt = "insert into eventstore.events " + + "(event_type, aggregate_type, aggregate_id, aggregate_version, creation_date, event_data, editor_user, editor_service, resource_owner, previous_sequence) " + + "select $1, $2, $3, $4, coalesce($5, now()), $6, $7, $8, $9, " + + // case is to set the highest sequence or NULL in previous_sequence + "case (select exists(select event_sequence from eventstore.events where aggregate_type = $10 AND aggregate_id = $11)) " + + "WHEN true then (select event_sequence from eventstore.events where aggregate_type = $12 AND aggregate_id = $13 order by event_sequence desc limit 1) " + + "ELSE NULL " + + "end " + + "where (" + + // exactly one event of requested aggregate must have a >= sequence (last inserted event) + "(select count(id) from eventstore.events where event_sequence >= $14 AND aggregate_type = $15 AND aggregate_id = $16) = 1 OR " + + // previous sequence = 0, no events must exist for the requested aggregate + "((select count(id) from eventstore.events where aggregate_type = $17 and aggregate_id = $18) = 0 AND $19 = 0)) " + + "RETURNING id, event_sequence, creation_date" + +func (db *SQL) PushAggregates(ctx context.Context, aggregates ...*models.Aggregate) (err error) { + err = crdb.ExecuteTx(ctx, db.client, nil, func(tx *sql.Tx) error { + stmt, err := tx.Prepare(insertStmt) + if err != nil { + tx.Rollback() + logging.Log("SQL-9ctx5").WithError(err).Warn("prepare failed") + return errors.ThrowInternal(err, "SQL-juCgA", "prepare failed") + } + + for _, aggregate := range aggregates { + err = insertEvents(stmt, aggregate.Events) + if err != nil { + tx.Rollback() + return err + } + } + return nil + }) + + if _, ok := err.(*errors.CaosError); !ok && err != nil { + err = errors.ThrowInternal(err, "SQL-DjgtG", "unable to store events") + } + + return err +} + +func insertEvents(stmt *sql.Stmt, events []*models.Event) error { + previousSequence := events[0].PreviousSequence + for _, event := range events { + event.PreviousSequence = previousSequence + + if event.Data == nil || len(event.Data) == 0 { + //json decoder failes with EOF if json text is empty + event.Data = []byte("{}") + } + + rows, err := stmt.Query(event.Type, event.AggregateType, event.AggregateID, event.AggregateVersion, event.CreationDate, event.Data, event.EditorUser, event.EditorService, event.ResourceOwner, + event.AggregateType, event.AggregateID, + event.AggregateType, event.AggregateID, + event.PreviousSequence, event.AggregateType, event.AggregateID, + event.AggregateType, event.AggregateID, event.PreviousSequence) + + if err != nil { + logging.Log("SQL-EXA0q").WithError(err).Info("query failed") + return errors.ThrowInternal(err, "SQL-SBP37", "unable to create event") + } + defer rows.Close() + + rowInserted := false + for rows.Next() { + rowInserted = true + err = rows.Scan(&event.ID, &event.Sequence, &event.CreationDate) + logging.Log("SQL-rAvLD").OnError(err).Info("unable to scan result into event") + } + + if !rowInserted { + return errors.ThrowAlreadyExists(nil, "SQL-GKcAa", "wrong sequence") + } + + previousSequence = event.Sequence + } + + return nil +} diff --git a/internal/eventstore/internal/repository/sql/push_test.go b/internal/eventstore/internal/repository/sql/push_test.go new file mode 100644 index 000000000..42135f1c6 --- /dev/null +++ b/internal/eventstore/internal/repository/sql/push_test.go @@ -0,0 +1,323 @@ +package sql + +import ( + "context" + "database/sql" + "reflect" + "runtime" + "testing" + + "github.com/caos/zitadel/internal/errors" + "github.com/caos/zitadel/internal/eventstore/models" +) + +type mockEvents struct { + events []*models.Event + t *testing.T +} + +func TestSQL_PushAggregates(t *testing.T) { + type fields struct { + client *dbMock + } + type args struct { + aggregates []*models.Aggregate + } + tests := []struct { + name string + fields fields + args args + isError func(error) bool + shouldCheckEvents bool + }{ + { + name: "no aggregates", + fields: fields{ + client: mockDB(t). + expectBegin(nil). + expectSavepoint(). + expectPrepareInsert(). + expectReleaseSavepoint(nil). + expectCommit(nil), + }, + args: args{aggregates: []*models.Aggregate{}}, + shouldCheckEvents: false, + isError: noErr, + }, + { + name: "no aggregates release fails", + fields: fields{ + client: mockDB(t). + expectBegin(nil). + expectSavepoint(). + expectPrepareInsert(). + expectReleaseSavepoint(sql.ErrConnDone). + expectCommit(nil), + }, + + args: args{aggregates: []*models.Aggregate{}}, + isError: errors.IsInternal, + shouldCheckEvents: false, + }, + { + name: "one aggregate two events success", + fields: fields{ + client: mockDB(t). + expectBegin(nil). + expectSavepoint(). + expectPrepareInsert(). + expectInsertEvent(&models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + PreviousSequence: 34, + Type: "eventTyp", + Data: []byte("{}"), + AggregateVersion: "v0.0.1", + }, + "asdfölk-234", 45). + expectInsertEvent(&models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + EditorService: "svc2", + EditorUser: "usr2", + ResourceOwner: "ro2", + PreviousSequence: 45, + Type: "eventTyp", + Data: []byte("{}"), + AggregateVersion: "v0.0.1", + }, "asdfölk-233", 46). + expectReleaseSavepoint(nil). + expectCommit(nil), + }, + args: args{ + aggregates: []*models.Aggregate{ + &models.Aggregate{ + Events: []*models.Event{ + &models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + AggregateVersion: "v0.0.1", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + Type: "eventTyp", + PreviousSequence: 34, + }, + &models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + AggregateVersion: "v0.0.1", + EditorService: "svc2", + EditorUser: "usr2", + ResourceOwner: "ro2", + Type: "eventTyp", + PreviousSequence: 0, + }, + }, + }, + }, + }, + shouldCheckEvents: true, + isError: noErr, + }, + { + name: "two aggregates one event per aggregate success", + fields: fields{ + client: mockDB(t). + expectBegin(nil). + expectSavepoint(). + expectPrepareInsert(). + expectInsertEvent(&models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + PreviousSequence: 34, + Data: []byte("{}"), + Type: "eventTyp", + AggregateVersion: "v0.0.1", + }, "asdfölk-233", 47). + expectInsertEvent(&models.Event{ + AggregateID: "aggID2", + AggregateType: "aggType2", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + PreviousSequence: 40, + Data: []byte("{}"), + Type: "eventTyp", + AggregateVersion: "v0.0.1", + }, "asdfölk-233", 48). + expectReleaseSavepoint(nil). + expectCommit(nil), + }, + args: args{ + aggregates: []*models.Aggregate{ + &models.Aggregate{ + Events: []*models.Event{ + &models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + AggregateVersion: "v0.0.1", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + Type: "eventTyp", + PreviousSequence: 34, + }, + }, + }, + &models.Aggregate{ + Events: []*models.Event{ + &models.Event{ + AggregateID: "aggID2", + AggregateType: "aggType2", + AggregateVersion: "v0.0.1", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + Type: "eventTyp", + PreviousSequence: 40, + }, + }, + }, + }, + }, + shouldCheckEvents: true, + isError: noErr, + }, + { + name: "first event fails no action with second event", + fields: fields{ + client: mockDB(t). + expectBegin(nil). + expectSavepoint(). + expectInsertEventError(&models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + PreviousSequence: 34, + Data: []byte("{}"), + Type: "eventTyp", + AggregateVersion: "v0.0.1", + }). + expectReleaseSavepoint(nil). + expectRollback(nil), + }, + args: args{ + aggregates: []*models.Aggregate{ + &models.Aggregate{ + Events: []*models.Event{ + &models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + AggregateVersion: "v0.0.1", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + Type: "eventTyp", + PreviousSequence: 34, + }, + &models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + AggregateVersion: "v0.0.1", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + Type: "eventTyp", + PreviousSequence: 0, + }, + }, + }, + }, + }, + isError: errors.IsInternal, + shouldCheckEvents: false, + }, + { + name: "one event, release savepoint fails", + fields: fields{ + client: mockDB(t). + expectBegin(nil). + expectPrepareInsert(). + expectSavepoint(). + expectInsertEvent(&models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + PreviousSequence: 34, + Type: "eventTyp", + Data: []byte("{}"), + AggregateVersion: "v0.0.1", + }, "asdfölk-233", 47). + expectReleaseSavepoint(sql.ErrConnDone). + expectCommit(nil). + expectRollback(nil), + }, + args: args{ + aggregates: []*models.Aggregate{ + &models.Aggregate{ + Events: []*models.Event{ + &models.Event{ + AggregateID: "aggID", + AggregateType: "aggType", + AggregateVersion: "v0.0.1", + EditorService: "svc", + EditorUser: "usr", + ResourceOwner: "ro", + Type: "eventTyp", + PreviousSequence: 34, + }, + }, + }, + }, + }, + isError: errors.IsInternal, + shouldCheckEvents: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + sql := &SQL{ + client: tt.fields.client.sqlClient, + } + err := sql.PushAggregates(context.Background(), tt.args.aggregates...) + if err != nil && !tt.isError(err) { + t.Errorf("wrong error type = %v, errFunc %s", err, functionName(tt.isError)) + } + if !tt.shouldCheckEvents { + return + } + for _, aggregate := range tt.args.aggregates { + for _, event := range aggregate.Events { + if event.Sequence == 0 { + t.Error("sequence of returned event is not set") + } + if event.AggregateType == "" || event.AggregateID == "" { + t.Error("aggregate of event is not set") + } + } + } + if err := tt.fields.client.mock.ExpectationsWereMet(); err != nil { + t.Errorf("not all database expectaions met: %s", err) + } + }) + } +} + +func noErr(err error) bool { + return err == nil +} + +func functionName(i interface{}) string { + return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name() +} diff --git a/internal/eventstore/internal/repository/sql/sql.go b/internal/eventstore/internal/repository/sql/sql.go new file mode 100644 index 000000000..32016946e --- /dev/null +++ b/internal/eventstore/internal/repository/sql/sql.go @@ -0,0 +1,17 @@ +package sql + +import ( + "context" + "database/sql" + + //sql import + _ "github.com/lib/pq" +) + +type SQL struct { + client *sql.DB +} + +func (db *SQL) Health(ctx context.Context) error { + return db.client.Ping() +} diff --git a/internal/eventstore/mock/eventstore.mock.go b/internal/eventstore/mock/eventstore.mock.go new file mode 100644 index 000000000..fe5c7a384 --- /dev/null +++ b/internal/eventstore/mock/eventstore.mock.go @@ -0,0 +1,97 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/caos/zitadel/internal/eventstore (interfaces: Eventstore) + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + models "github.com/caos/zitadel/internal/eventstore/models" + gomock "github.com/golang/mock/gomock" + reflect "reflect" +) + +// MockEventstore is a mock of Eventstore interface +type MockEventstore struct { + ctrl *gomock.Controller + recorder *MockEventstoreMockRecorder +} + +// MockEventstoreMockRecorder is the mock recorder for MockEventstore +type MockEventstoreMockRecorder struct { + mock *MockEventstore +} + +// NewMockEventstore creates a new mock instance +func NewMockEventstore(ctrl *gomock.Controller) *MockEventstore { + mock := &MockEventstore{ctrl: ctrl} + mock.recorder = &MockEventstoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use +func (m *MockEventstore) EXPECT() *MockEventstoreMockRecorder { + return m.recorder +} + +// AggregateCreator mocks base method +func (m *MockEventstore) AggregateCreator() *models.AggregateCreator { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AggregateCreator") + ret0, _ := ret[0].(*models.AggregateCreator) + return ret0 +} + +// AggregateCreator indicates an expected call of AggregateCreator +func (mr *MockEventstoreMockRecorder) AggregateCreator() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AggregateCreator", reflect.TypeOf((*MockEventstore)(nil).AggregateCreator)) +} + +// FilterEvents mocks base method +func (m *MockEventstore) FilterEvents(arg0 context.Context, arg1 *models.SearchQuery) ([]*models.Event, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FilterEvents", arg0, arg1) + ret0, _ := ret[0].([]*models.Event) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// FilterEvents indicates an expected call of FilterEvents +func (mr *MockEventstoreMockRecorder) FilterEvents(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FilterEvents", reflect.TypeOf((*MockEventstore)(nil).FilterEvents), arg0, arg1) +} + +// Health mocks base method +func (m *MockEventstore) Health(arg0 context.Context) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Health", arg0) + ret0, _ := ret[0].(error) + return ret0 +} + +// Health indicates an expected call of Health +func (mr *MockEventstoreMockRecorder) Health(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Health", reflect.TypeOf((*MockEventstore)(nil).Health), arg0) +} + +// PushAggregates mocks base method +func (m *MockEventstore) PushAggregates(arg0 context.Context, arg1 ...*models.Aggregate) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0} + for _, a := range arg1 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PushAggregates", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PushAggregates indicates an expected call of PushAggregates +func (mr *MockEventstoreMockRecorder) PushAggregates(arg0 interface{}, arg1 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0}, arg1...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PushAggregates", reflect.TypeOf((*MockEventstore)(nil).PushAggregates), varargs...) +} diff --git a/internal/eventstore/models/aggregate.go b/internal/eventstore/models/aggregate.go new file mode 100644 index 000000000..0c8b42de7 --- /dev/null +++ b/internal/eventstore/models/aggregate.go @@ -0,0 +1,88 @@ +package models + +import ( + "time" + + "github.com/caos/zitadel/internal/errors" +) + +type AggregateType string + +func (at AggregateType) String() string { + return string(at) +} + +type Aggregates []*Aggregate + +type Aggregate struct { + id string + typ AggregateType + latestSequence uint64 + version Version + + editorService string + editorUser string + resourceOwner string + Events []*Event + Appender appender +} + +type appender func(...*Event) + +func (a *Aggregate) AppendEvent(typ EventType, payload interface{}) (*Aggregate, error) { + if string(typ) == "" { + return a, errors.ThrowInvalidArgument(nil, "MODEL-TGoCb", "no event type") + } + data, err := eventData(payload) + if err != nil { + return a, err + } + + e := &Event{ + CreationDate: time.Now(), + Data: data, + Type: typ, + PreviousSequence: a.latestSequence, + AggregateID: a.id, + AggregateType: a.typ, + AggregateVersion: a.version, + EditorService: a.editorService, + EditorUser: a.editorUser, + ResourceOwner: a.resourceOwner, + } + + a.Events = append(a.Events, e) + return a, nil +} + +func (a *Aggregate) Validate() error { + if a == nil { + return errors.ThrowPreconditionFailed(nil, "MODEL-yi5AC", "aggregate is nil") + } + if a.id == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-FSjKV", "id not set") + } + if string(a.typ) == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-aj4t2", "type not set") + } + if err := a.version.Validate(); err != nil { + return errors.ThrowPreconditionFailed(err, "MODEL-PupjX", "invalid version") + } + + if a.editorService == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-clYbY", "editor service not set") + } + if a.editorUser == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-Xcssi", "editor user not set") + } + if a.resourceOwner == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-eBYUW", "resource owner not set") + } + + return nil +} + +func (a *Aggregate) SetAppender(appendFn appender) *Aggregate { + a.Appender = appendFn + return a +} diff --git a/internal/eventstore/models/aggregate_creator.go b/internal/eventstore/models/aggregate_creator.go new file mode 100644 index 000000000..1c779b708 --- /dev/null +++ b/internal/eventstore/models/aggregate_creator.go @@ -0,0 +1,56 @@ +package models + +import ( + "context" + + "github.com/caos/zitadel/internal/api/auth" +) + +type AggregateCreator struct { + serviceName string +} + +func NewAggregateCreator(serviceName string) *AggregateCreator { + return &AggregateCreator{serviceName: serviceName} +} + +type option func(*Aggregate) + +func (c *AggregateCreator) NewAggregate(ctx context.Context, id string, typ AggregateType, version Version, latestSequence uint64, opts ...option) (*Aggregate, error) { + ctxData := auth.GetCtxData(ctx) + editorUser := ctxData.UserID + resourceOwner := ctxData.OrgID + + aggregate := &Aggregate{ + id: id, + typ: typ, + latestSequence: latestSequence, + version: version, + Events: make([]*Event, 0, 2), + editorService: c.serviceName, + editorUser: editorUser, + resourceOwner: resourceOwner, + } + + for _, opt := range opts { + opt(aggregate) + } + + if err := aggregate.Validate(); err != nil { + return nil, err + } + + return aggregate, nil +} + +func OverwriteEditorUser(userID string) func(*Aggregate) { + return func(a *Aggregate) { + a.editorUser = userID + } +} + +func OverwriteResourceOwner(resourceOwner string) func(*Aggregate) { + return func(a *Aggregate) { + a.resourceOwner = resourceOwner + } +} diff --git a/internal/eventstore/models/aggregate_creator_test.go b/internal/eventstore/models/aggregate_creator_test.go new file mode 100644 index 000000000..f96c27005 --- /dev/null +++ b/internal/eventstore/models/aggregate_creator_test.go @@ -0,0 +1,118 @@ +package models + +import ( + "context" + "reflect" + "testing" +) + +func TestAggregateCreator_NewAggregate(t *testing.T) { + type args struct { + ctx context.Context + id string + typ AggregateType + version Version + opts []option + } + tests := []struct { + name string + creator *AggregateCreator + args args + want *Aggregate + wantErr bool + }{ + { + name: "no ctxdata and no options", + creator: &AggregateCreator{serviceName: "admin"}, + wantErr: true, + want: nil, + args: args{ + ctx: context.Background(), + id: "hodor", + typ: "user", + version: "v1.0.0", + }, + }, + { + name: "no id error", + creator: &AggregateCreator{serviceName: "admin"}, + wantErr: true, + want: nil, + args: args{ + ctx: context.Background(), + typ: "user", + version: "v1.0.0", + opts: []option{ + OverwriteEditorUser("hodor"), + OverwriteResourceOwner("org"), + }, + }, + }, + { + name: "no type error", + creator: &AggregateCreator{serviceName: "admin"}, + wantErr: true, + want: nil, + args: args{ + ctx: context.Background(), + id: "hodor", + version: "v1.0.0", + opts: []option{ + OverwriteEditorUser("hodor"), + OverwriteResourceOwner("org"), + }, + }, + }, + { + name: "invalid version error", + creator: &AggregateCreator{serviceName: "admin"}, + wantErr: true, + want: nil, + args: args{ + ctx: context.Background(), + id: "hodor", + typ: "user", + opts: []option{ + OverwriteEditorUser("hodor"), + OverwriteResourceOwner("org"), + }, + }, + }, + { + name: "create ok", + creator: &AggregateCreator{serviceName: "admin"}, + wantErr: false, + want: &Aggregate{ + id: "hodor", + Events: make([]*Event, 0, 2), + typ: "user", + version: "v1.0.0", + editorService: "admin", + editorUser: "hodor", + resourceOwner: "org", + }, + args: args{ + ctx: context.Background(), + id: "hodor", + typ: "user", + version: "v1.0.0", + opts: []option{ + OverwriteEditorUser("hodor"), + OverwriteResourceOwner("org"), + }, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := tt.creator.NewAggregate(tt.args.ctx, tt.args.id, tt.args.typ, tt.args.version, 0, tt.args.opts...) + if (err != nil) != tt.wantErr { + t.Errorf("AggregateCreator.NewAggregate() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("AggregateCreator.NewAggregate() = %v, want %v", got, tt.want) + } + }) + } +} diff --git a/internal/eventstore/models/aggregate_test.go b/internal/eventstore/models/aggregate_test.go new file mode 100644 index 000000000..1dd779def --- /dev/null +++ b/internal/eventstore/models/aggregate_test.go @@ -0,0 +1,173 @@ +package models + +import ( + "testing" +) + +func TestAggregate_AppendEvent(t *testing.T) { + type fields struct { + aggregate *Aggregate + } + type args struct { + typ EventType + payload interface{} + } + tests := []struct { + name string + fields fields + args args + want *Aggregate + wantErr bool + }{ + { + name: "no event type error", + fields: fields{aggregate: &Aggregate{}}, + args: args{}, + want: &Aggregate{}, + wantErr: true, + }, + { + name: "invalid payload error", + fields: fields{aggregate: &Aggregate{}}, + args: args{typ: "user", payload: 134}, + want: &Aggregate{}, + wantErr: true, + }, + { + name: "event added", + fields: fields{aggregate: &Aggregate{Events: []*Event{}}}, + args: args{typ: "user.deactivated"}, + want: &Aggregate{Events: []*Event{&Event{Type: "user.deactivated"}}}, + wantErr: false, + }, + { + name: "event added", + fields: fields{aggregate: &Aggregate{Events: []*Event{&Event{}}}}, + args: args{typ: "user.deactivated"}, + want: &Aggregate{Events: []*Event{&Event{}, &Event{Type: "user.deactivated"}}}, + wantErr: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := tt.fields.aggregate.AppendEvent(tt.args.typ, tt.args.payload) + if (err != nil) != tt.wantErr { + t.Errorf("Aggregate.AppendEvent() error = %v, wantErr %v", err, tt.wantErr) + return + } + if len(tt.fields.aggregate.Events) != len(got.Events) { + t.Errorf("events len should be %d but was %d", len(tt.fields.aggregate.Events), len(got.Events)) + } + }) + } +} + +func TestAggregate_Validate(t *testing.T) { + type fields struct { + aggregate *Aggregate + } + tests := []struct { + name string + fields fields + wantErr bool + }{ + { + name: "aggregate nil error", + wantErr: true, + }, + { + name: "aggregate empty error", + wantErr: true, + fields: fields{aggregate: &Aggregate{}}, + }, + { + name: "no id error", + wantErr: true, + fields: fields{aggregate: &Aggregate{ + typ: "user", + version: "v1.0.0", + editorService: "svc", + editorUser: "hodor", + resourceOwner: "org", + latestSequence: 5, + Events: []*Event{&Event{ + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + }}, + }, + { + name: "no type error", + wantErr: true, + fields: fields{aggregate: &Aggregate{ + id: "aggID", + version: "v1.0.0", + editorService: "svc", + editorUser: "hodor", + resourceOwner: "org", + latestSequence: 5, + Events: []*Event{&Event{ + AggregateID: "hodor", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + }}, + }, + { + name: "invalid version error", + wantErr: true, + fields: fields{aggregate: &Aggregate{ + id: "aggID", + typ: "user", + editorService: "svc", + editorUser: "hodor", + resourceOwner: "org", + latestSequence: 5, + Events: []*Event{&Event{ + AggregateID: "hodor", + AggregateType: "user", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + }}, + }, + { + name: "validation ok", + wantErr: false, + fields: fields{aggregate: &Aggregate{ + id: "aggID", + typ: "user", + version: "v1.0.0", + editorService: "svc", + editorUser: "hodor", + resourceOwner: "org", + latestSequence: 5, + Events: []*Event{&Event{ + AggregateID: "hodor", + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + }}, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if err := tt.fields.aggregate.Validate(); (err != nil) != tt.wantErr { + t.Errorf("Aggregate.Validate() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } +} diff --git a/internal/eventstore/models/event.go b/internal/eventstore/models/event.go new file mode 100644 index 000000000..d366836b7 --- /dev/null +++ b/internal/eventstore/models/event.go @@ -0,0 +1,89 @@ +package models + +import ( + "encoding/json" + "reflect" + "time" + + "github.com/caos/zitadel/internal/errors" +) + +type EventType string + +func (et EventType) String() string { + return string(et) +} + +type Event struct { + ID string + Sequence uint64 + CreationDate time.Time + Type EventType + PreviousSequence uint64 + Data []byte + + AggregateID string + AggregateType AggregateType + AggregateVersion Version + EditorService string + EditorUser string + ResourceOwner string +} + +func eventData(i interface{}) ([]byte, error) { + switch v := i.(type) { + case []byte: + return v, nil + case map[string]interface{}: + bytes, err := json.Marshal(v) + if err != nil { + return nil, errors.ThrowInvalidArgument(err, "MODEL-s2fgE", "unable to marshal data") + } + return bytes, nil + case nil: + return nil, nil + default: + t := reflect.TypeOf(i) + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + if t.Kind() != reflect.Struct { + return nil, errors.ThrowInvalidArgument(nil, "MODEL-rjWdN", "data is not valid") + } + bytes, err := json.Marshal(v) + if err != nil { + return nil, errors.ThrowInvalidArgument(err, "MODEL-Y2OpM", "unable to marshal data") + } + return bytes, nil + } +} + +func (e *Event) Validate() error { + if e == nil { + return errors.ThrowPreconditionFailed(nil, "MODEL-oEAG4", "event is nil") + } + if string(e.Type) == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-R2sB0", "type not defined") + } + + if e.AggregateID == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-A6WwL", "aggregate id not set") + } + if e.AggregateType == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-EzdyK", "aggregate type not set") + } + if err := e.AggregateVersion.Validate(); err != nil { + return err + } + + if e.EditorService == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-4Yqik", "editor service not set") + } + if e.EditorUser == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-L3NHO", "editor user not set") + } + if e.ResourceOwner == "" { + return errors.ThrowPreconditionFailed(nil, "MODEL-omFVT", "resource ow") + } + return nil +} diff --git a/internal/eventstore/models/event_test.go b/internal/eventstore/models/event_test.go new file mode 100644 index 000000000..bcc26c88f --- /dev/null +++ b/internal/eventstore/models/event_test.go @@ -0,0 +1,198 @@ +package models + +import ( + "reflect" + "testing" +) + +func Test_eventData(t *testing.T) { + type args struct { + i interface{} + } + tests := []struct { + name string + args args + want []byte + wantErr bool + }{ + { + name: "from bytes", + args: args{[]byte(`{"hodor":"asdf"}`)}, + want: []byte(`{"hodor":"asdf"}`), + wantErr: false, + }, + { + name: "from pointer", + args: args{&struct { + Hodor string `json:"hodor"` + }{Hodor: "asdf"}}, + want: []byte(`{"hodor":"asdf"}`), + wantErr: false, + }, + { + name: "from struct", + args: args{struct { + Hodor string `json:"hodor"` + }{Hodor: "asdf"}}, + want: []byte(`{"hodor":"asdf"}`), + wantErr: false, + }, + { + name: "from map", + args: args{ + map[string]interface{}{"hodor": "asdf"}, + }, + want: []byte(`{"hodor":"asdf"}`), + wantErr: false, + }, + { + name: "from nil", + args: args{}, + want: nil, + wantErr: false, + }, + { + name: "invalid data", + args: args{876}, + want: nil, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := eventData(tt.args.i) + if (err != nil) != tt.wantErr { + t.Errorf("eventData() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("eventData() = %s, want %s", got, tt.want) + } + }) + } +} + +func TestEvent_Validate(t *testing.T) { + type fields struct { + event *Event + } + tests := []struct { + name string + fields fields + wantErr bool + }{ + { + name: "event nil", + wantErr: true, + }, + { + name: "event empty", + fields: fields{event: &Event{}}, + wantErr: true, + }, + { + name: "no aggregate id", + fields: fields{event: &Event{ + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + wantErr: true, + }, + { + name: "no aggregate type", + fields: fields{event: &Event{ + AggregateID: "hodor", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + wantErr: true, + }, + { + name: "no aggregate version", + fields: fields{event: &Event{ + AggregateID: "hodor", + AggregateType: "user", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + wantErr: true, + }, + { + name: "no editor service", + fields: fields{event: &Event{ + AggregateID: "hodor", + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + wantErr: true, + }, + { + name: "no editor user", + fields: fields{event: &Event{ + AggregateID: "hodor", + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorService: "management", + ResourceOwner: "org", + Type: "born", + }}, + wantErr: true, + }, + { + name: "no resource owner", + fields: fields{event: &Event{ + AggregateID: "hodor", + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + Type: "born", + }}, + wantErr: true, + }, + { + name: "no type", + fields: fields{event: &Event{ + AggregateID: "hodor", + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + }}, + wantErr: true, + }, + { + name: "all fields set", + fields: fields{event: &Event{ + AggregateID: "hodor", + AggregateType: "user", + AggregateVersion: "v1.0.0", + EditorService: "management", + EditorUser: "hodor", + ResourceOwner: "org", + Type: "born", + }}, + wantErr: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if err := tt.fields.event.Validate(); (err != nil) != tt.wantErr { + t.Errorf("Event.Validate() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } +} diff --git a/internal/eventstore/models/field.go b/internal/eventstore/models/field.go new file mode 100644 index 000000000..84d9d1935 --- /dev/null +++ b/internal/eventstore/models/field.go @@ -0,0 +1,12 @@ +package models + +type Field int32 + +const ( + Field_AggregateType Field = 1 + iota + Field_AggregateID + Field_LatestSequence + Field_ResourceOwner + Field_ModifierService + Field_ModifierUser +) diff --git a/internal/eventstore/models/filter.go b/internal/eventstore/models/filter.go new file mode 100644 index 000000000..d59adbed5 --- /dev/null +++ b/internal/eventstore/models/filter.go @@ -0,0 +1,46 @@ +package models + +import ( + "github.com/caos/zitadel/internal/errors" +) + +type Filter struct { + field Field + value interface{} + operation Operation +} + +//NewFilter is used in tests. Use searchQuery.*Filter() instead +func NewFilter(field Field, value interface{}, operation Operation) *Filter { + return &Filter{ + field: field, + value: value, + operation: operation, + } +} + +func (f *Filter) GetField() Field { + return f.field +} +func (f *Filter) GetOperation() Operation { + return f.operation +} +func (f *Filter) GetValue() interface{} { + return f.value +} + +func (f *Filter) Validate() error { + if f == nil { + return errors.ThrowPreconditionFailed(nil, "MODEL-z6KcG", "filter is nil") + } + if f.field <= 0 { + return errors.ThrowPreconditionFailed(nil, "MODEL-zw62U", "field not definded") + } + if f.value == nil { + return errors.ThrowPreconditionFailed(nil, "MODEL-GJ9ct", "no value definded") + } + if f.operation <= 0 { + return errors.ThrowPreconditionFailed(nil, "MODEL-RrQTy", "operation not definded") + } + return nil +} diff --git a/internal/eventstore/models/filter_test.go b/internal/eventstore/models/filter_test.go new file mode 100644 index 000000000..5595121c2 --- /dev/null +++ b/internal/eventstore/models/filter_test.go @@ -0,0 +1,104 @@ +package models + +import ( + "reflect" + "testing" +) + +func TestNewFilter(t *testing.T) { + type args struct { + field Field + value interface{} + operation Operation + } + tests := []struct { + name string + args args + want *Filter + }{ + { + name: "aggregateID equals", + args: args{ + field: Field_AggregateID, + value: "hodor", + operation: Operation_Equals, + }, + want: &Filter{field: Field_AggregateID, operation: Operation_Equals, value: "hodor"}, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := NewFilter(tt.args.field, tt.args.value, tt.args.operation); !reflect.DeepEqual(got, tt.want) { + t.Errorf("NewFilter() = %v, want %v", got, tt.want) + } + }) + } +} + +func TestFilter_Validate(t *testing.T) { + type fields struct { + field Field + value interface{} + operation Operation + isNil bool + } + tests := []struct { + name string + fields fields + wantErr bool + }{ + { + name: "correct filter", + fields: fields{ + field: Field_LatestSequence, + operation: Operation_Greater, + value: uint64(235), + }, + wantErr: false, + }, + { + name: "filter is nil", + fields: fields{isNil: true}, + wantErr: true, + }, + { + name: "no field error", + fields: fields{ + operation: Operation_Greater, + value: uint64(235), + }, + wantErr: true, + }, + { + name: "no value error", + fields: fields{ + field: Field_LatestSequence, + operation: Operation_Greater, + }, + wantErr: true, + }, + { + name: "no operation error", + fields: fields{ + field: Field_LatestSequence, + value: uint64(235), + }, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + var f *Filter + if !tt.fields.isNil { + f = &Filter{ + field: tt.fields.field, + value: tt.fields.value, + operation: tt.fields.operation, + } + } + if err := f.Validate(); (err != nil) != tt.wantErr { + t.Errorf("Filter.Validate() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } +} diff --git a/internal/eventstore/models/object.go b/internal/eventstore/models/object.go new file mode 100644 index 000000000..5c8e1a5e6 --- /dev/null +++ b/internal/eventstore/models/object.go @@ -0,0 +1,25 @@ +package models + +import ( + "time" +) + +type ObjectRoot struct { + ID string `json:"-"` + Sequence uint64 `json:"-"` + CreationDate time.Time `json:"-"` + ChangeDate time.Time `json:"-"` +} + +func (o *ObjectRoot) AppendEvent(event *Event) { + if o.ID == "" { + o.ID = event.AggregateID + } + + o.ChangeDate = event.CreationDate + if event.PreviousSequence == 0 { + o.CreationDate = o.ChangeDate + } + + o.Sequence = event.Sequence +} diff --git a/internal/eventstore/models/object_test.go b/internal/eventstore/models/object_test.go new file mode 100644 index 000000000..02dfc0934 --- /dev/null +++ b/internal/eventstore/models/object_test.go @@ -0,0 +1,81 @@ +package models + +import ( + "testing" + "time" +) + +func TestObjectRoot_AppendEvent(t *testing.T) { + type fields struct { + ID string + Sequence uint64 + CreationDate time.Time + ChangeDate time.Time + } + type args struct { + event *Event + isNewRoot bool + } + tests := []struct { + name string + fields fields + args args + }{ + { + "new root", + fields{}, + args{ + &Event{ + AggregateID: "aggID", + Sequence: 34555, + CreationDate: time.Now(), + }, + true, + }, + }, + { + "existing root", + fields{ + "agg", + 234, + time.Now().Add(-24 * time.Hour), + time.Now().Add(-12 * time.Hour), + }, + args{ + &Event{ + AggregateID: "agg", + Sequence: 34555425, + CreationDate: time.Now(), + PreviousSequence: 22, + }, + false, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + o := &ObjectRoot{ + ID: tt.fields.ID, + Sequence: tt.fields.Sequence, + CreationDate: tt.fields.CreationDate, + ChangeDate: tt.fields.ChangeDate, + } + o.AppendEvent(tt.args.event) + if tt.args.isNewRoot { + if !o.CreationDate.Equal(tt.args.event.CreationDate) { + t.Error("creationDate should be equal to event on new root") + } + } else { + if o.CreationDate.Equal(o.ChangeDate) { + t.Error("creationDate and changedate should differ") + } + } + if o.Sequence != tt.args.event.Sequence { + t.Errorf("sequence not equal to event: event: %d root: %d", tt.args.event.Sequence, o.Sequence) + } + if !o.ChangeDate.Equal(tt.args.event.CreationDate) { + t.Errorf("changedate should be equal to event creation date: event: %v root: %v", tt.args.event.CreationDate, o.ChangeDate) + } + }) + } +} diff --git a/internal/eventstore/models/operation.go b/internal/eventstore/models/operation.go new file mode 100644 index 000000000..8f73c2e31 --- /dev/null +++ b/internal/eventstore/models/operation.go @@ -0,0 +1,10 @@ +package models + +type Operation int32 + +const ( + Operation_Equals Operation = 1 + iota + Operation_Greater + Operation_Less + Operation_In +) diff --git a/internal/eventstore/models/search_query.go b/internal/eventstore/models/search_query.go new file mode 100644 index 000000000..8f87fa331 --- /dev/null +++ b/internal/eventstore/models/search_query.go @@ -0,0 +1,74 @@ +package models + +import "github.com/caos/zitadel/internal/errors" + +type SearchQuery struct { + Limit uint64 + Desc bool + Filters []*Filter +} + +func NewSearchQuery() *SearchQuery { + return &SearchQuery{ + Filters: make([]*Filter, 0, 4), + } +} + +func (q *SearchQuery) SetLimit(limit uint64) *SearchQuery { + q.Limit = limit + return q +} + +func (q *SearchQuery) OrderDesc() *SearchQuery { + q.Desc = true + return q +} + +func (q *SearchQuery) OrderAsc() *SearchQuery { + q.Desc = false + return q +} + +func (q *SearchQuery) AggregateIDFilter(id string) *SearchQuery { + return q.setFilter(NewFilter(Field_AggregateID, id, Operation_Equals)) +} + +func (q *SearchQuery) AggregateTypeFilter(types ...string) *SearchQuery { + return q.setFilter(NewFilter(Field_AggregateType, types, Operation_In)) +} + +func (q *SearchQuery) LatestSequenceFilter(sequence uint64) *SearchQuery { + sortOrder := Operation_Greater + if q.Desc { + sortOrder = Operation_Less + } + return q.setFilter(NewFilter(Field_LatestSequence, sequence, sortOrder)) +} + +func (q *SearchQuery) ResourceOwnerFilter(resourceOwner string) *SearchQuery { + return q.setFilter(NewFilter(Field_ResourceOwner, resourceOwner, Operation_Equals)) +} + +func (q *SearchQuery) setFilter(filter *Filter) *SearchQuery { + for i, f := range q.Filters { + if f.field == filter.field { + q.Filters[i] = filter + return q + } + } + q.Filters = append(q.Filters, filter) + return q +} + +func (q *SearchQuery) Validate() error { + if q == nil { + return errors.ThrowPreconditionFailed(nil, "MODEL-J5xQi", "search query is nil") + } + for _, filter := range q.Filters { + if err := filter.Validate(); err != nil { + return err + } + } + + return nil +} diff --git a/internal/eventstore/models/search_query_test.go b/internal/eventstore/models/search_query_test.go new file mode 100644 index 000000000..083e6dbb7 --- /dev/null +++ b/internal/eventstore/models/search_query_test.go @@ -0,0 +1,59 @@ +package models + +import ( + "reflect" + "testing" +) + +func TestSearchQuery_setFilter(t *testing.T) { + type fields struct { + query *SearchQuery + } + type args struct { + filters []*Filter + } + tests := []struct { + name string + fields fields + args args + want *SearchQuery + }{ + { + name: "set idFilter", + fields: fields{query: NewSearchQuery()}, + args: args{filters: []*Filter{&Filter{field: Field_AggregateID, operation: Operation_Equals, value: "hodor"}}}, + want: &SearchQuery{Filters: []*Filter{&Filter{field: Field_AggregateID, operation: Operation_Equals, value: "hodor"}}}, + }, + { + name: "overwrite idFilter", + fields: fields{query: NewSearchQuery()}, + args: args{filters: []*Filter{ + &Filter{field: Field_AggregateID, operation: Operation_Equals, value: "hodor"}, + &Filter{field: Field_AggregateID, operation: Operation_Equals, value: "ursli"}, + }}, + want: &SearchQuery{Filters: []*Filter{&Filter{field: Field_AggregateID, operation: Operation_Equals, value: "ursli"}}}, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := tt.fields.query + for _, filter := range tt.args.filters { + got = got.setFilter(filter) + } + for _, wantFilter := range tt.want.Filters { + found := false + for _, gotFilter := range got.Filters { + if gotFilter.field == wantFilter.field { + found = true + if !reflect.DeepEqual(wantFilter, gotFilter) { + t.Errorf("filter not as expected: want: %v got %v", wantFilter, gotFilter) + } + } + } + if !found { + t.Errorf("filter field %v not found", wantFilter.field) + } + } + }) + } +} diff --git a/internal/eventstore/models/version.go b/internal/eventstore/models/version.go new file mode 100644 index 000000000..164d672d9 --- /dev/null +++ b/internal/eventstore/models/version.go @@ -0,0 +1,22 @@ +package models + +import ( + "regexp" + + "github.com/caos/zitadel/internal/errors" +) + +var versionRegexp = regexp.MustCompile(`^v[0-9]+(\.[0-9]+){0,2}$`) + +type Version string + +func (v Version) Validate() error { + if !versionRegexp.MatchString(string(v)) { + return errors.ThrowPreconditionFailed(nil, "MODEL-luDuS", "version is not semver") + } + return nil +} + +func (v Version) String() string { + return string(v) +} diff --git a/internal/eventstore/models/version_test.go b/internal/eventstore/models/version_test.go new file mode 100644 index 000000000..fe8a2fe4b --- /dev/null +++ b/internal/eventstore/models/version_test.go @@ -0,0 +1,39 @@ +package models + +import "testing" + +func TestVersion_Validate(t *testing.T) { + tests := []struct { + name string + v Version + wantErr bool + }{ + { + "correct version", + "v1.23.23", + false, + }, + { + "no v prefix", + "1.2.2", + true, + }, + { + "letters in version", + "v1.as.3", + true, + }, + { + "no version", + "", + true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if err := tt.v.Validate(); (err != nil) != tt.wantErr { + t.Errorf("Version.Validate() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } +} diff --git a/internal/model/enum.go b/internal/model/enum.go new file mode 100644 index 000000000..d737a2649 --- /dev/null +++ b/internal/model/enum.go @@ -0,0 +1,5 @@ +package model + +type Enum interface { + String() string +} diff --git a/internal/model/search_method.go b/internal/model/search_method.go new file mode 100644 index 000000000..0eaccbdb1 --- /dev/null +++ b/internal/model/search_method.go @@ -0,0 +1,26 @@ +package model + +// code below could be generated +type SearchMethod Enum + +var methods = []string{"Equals", "StartsWith", "Contains"} + +type method int32 + +func (s method) String() string { + return methods[s] +} + +const ( + Equals method = iota + StartsWith + Contains +) + +func SearchMethodToInt(s SearchMethod) int32 { + return int32(s.(method)) +} + +func SearchMethodFromInt(index int32) SearchMethod { + return method(index) +} diff --git a/pkg/management/api/grpc/management.pb.go b/pkg/management/api/grpc/management.pb.go index 2cb6dc961..fea0ec551 100644 --- a/pkg/management/api/grpc/management.pb.go +++ b/pkg/management/api/grpc/management.pb.go @@ -925,7 +925,7 @@ type Change struct { ChangeDate *timestamp.Timestamp `protobuf:"bytes,1,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` EventType string `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` - Modifier string `protobuf:"bytes,4,opt,name=modifier,proto3" json:"modifier,omitempty"` + Editor string `protobuf:"bytes,4,opt,name=editor,proto3" json:"editor,omitempty"` Data *_struct.Struct `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -978,9 +978,9 @@ func (m *Change) GetSequence() uint64 { return 0 } -func (m *Change) GetModifier() string { +func (m *Change) GetEditor() string { if m != nil { - return m.Modifier + return m.Editor } return "" } @@ -8235,506 +8235,506 @@ var fileDescriptor_edc174f991dc0a25 = []byte{ 0x22, 0x24, 0x8e, 0x46, 0x9a, 0x91, 0x76, 0xa4, 0x01, 0x09, 0x88, 0x82, 0x87, 0x04, 0xb8, 0x20, 0x35, 0xca, 0xd8, 0xce, 0xc0, 0x2d, 0xa0, 0x05, 0xc2, 0x03, 0xa2, 0xb1, 0xdd, 0x0d, 0x69, 0xb8, 0x93, 0xa9, 0x4d, 0x71, 0xab, 0x52, 0x2e, 0x27, 0x8e, 0xb3, 0xbb, 0x76, 0x52, 0xd9, 0xaa, 0xcd, - 0x26, 0x9b, 0x87, 0x93, 0x6c, 0x26, 0x8f, 0xf2, 0xb0, 0x6a, 0x6d, 0x27, 0x1b, 0x57, 0x36, 0x95, - 0x8a, 0x1f, 0x3f, 0xe2, 0x6c, 0x2a, 0xae, 0x54, 0xf9, 0x4f, 0x36, 0x89, 0xab, 0xf2, 0x2b, 0xe5, - 0x3c, 0x7e, 0x78, 0x7e, 0x38, 0xae, 0xfb, 0xe8, 0xee, 0xdb, 0x2f, 0xa0, 0x1b, 0x24, 0xb5, 0x5a, - 0xef, 0xfc, 0x12, 0x71, 0x9f, 0xdf, 0x39, 0xf7, 0x9c, 0x73, 0xcf, 0x3d, 0xf7, 0xf6, 0x11, 0xc4, - 0xf7, 0xa4, 0xa6, 0x54, 0x93, 0xf7, 0xe4, 0xa6, 0xbe, 0xdc, 0x52, 0x15, 0x5d, 0x41, 0x8b, 0x15, - 0x49, 0xd1, 0x96, 0xbf, 0x58, 0xd7, 0xa5, 0xaa, 0xdc, 0x58, 0xe6, 0xaa, 0xa5, 0x56, 0x7d, 0xf9, - 0xd9, 0x8d, 0xe4, 0x7c, 0x4d, 0x51, 0x6a, 0x0d, 0x39, 0x2d, 0xb5, 0xea, 0x69, 0xa9, 0xd9, 0x54, - 0x74, 0x49, 0xaf, 0x2b, 0x4d, 0x8d, 0xf6, 0x4e, 0xce, 0xb1, 0x5a, 0xf2, 0xeb, 0x49, 0xfb, 0x69, - 0x5a, 0xde, 0x6b, 0xe9, 0xfb, 0xac, 0x72, 0xde, 0x59, 0xa9, 0xe9, 0x6a, 0xbb, 0xc2, 0x26, 0x4e, - 0x9e, 0x76, 0xd6, 0xea, 0xf5, 0x3d, 0x59, 0xd3, 0xa5, 0xbd, 0x16, 0x6b, 0x70, 0x95, 0xfc, 0x53, - 0xb9, 0x56, 0x93, 0x9b, 0xd7, 0xb4, 0xe7, 0x52, 0xad, 0x26, 0xab, 0x69, 0xa5, 0x45, 0x66, 0xf7, - 0x40, 0x32, 0xfb, 0x4c, 0x6a, 0xd4, 0xab, 0x92, 0x2e, 0xa7, 0x8d, 0x3f, 0x58, 0xc5, 0x92, 0x73, - 0x9e, 0xaa, 0xac, 0x55, 0xd4, 0x7a, 0x4b, 0x57, 0x54, 0xd6, 0x22, 0x21, 0xb5, 0xf5, 0x5d, 0x3a, - 0xb2, 0x31, 0x01, 0xad, 0x11, 0xdf, 0x83, 0xd1, 0xb5, 0x5d, 0xa9, 0x59, 0x93, 0x4b, 0xf2, 0x17, - 0xda, 0xb2, 0xa6, 0xa3, 0x31, 0x88, 0xd4, 0xab, 0x09, 0x61, 0x49, 0xb8, 0x34, 0x54, 0x8a, 0xd4, - 0xab, 0x68, 0x0a, 0xfa, 0x1a, 0xf5, 0xbd, 0xba, 0x9e, 0x88, 0x2c, 0x09, 0x97, 0x62, 0x25, 0xfa, - 0x03, 0x5d, 0x84, 0x71, 0x0d, 0x77, 0x68, 0x56, 0xe4, 0xb2, 0xf2, 0xf4, 0xa9, 0x26, 0xeb, 0x89, - 0x28, 0xa9, 0x1f, 0x33, 0x8a, 0x8b, 0xa4, 0x54, 0xdc, 0x87, 0x01, 0x3a, 0xbe, 0x86, 0xde, 0x82, - 0x81, 0x0a, 0xfd, 0x33, 0x21, 0x2c, 0x45, 0x2f, 0x0d, 0xaf, 0x5c, 0x58, 0xee, 0xbc, 0x32, 0xcb, - 0x0c, 0x99, 0xd1, 0x0d, 0xcd, 0x40, 0x3f, 0x9b, 0x8c, 0x82, 0x61, 0xbf, 0x2c, 0x8c, 0x51, 0x0e, - 0xa3, 0xf8, 0x5b, 0x02, 0xf4, 0xd3, 0x11, 0xd0, 0x5d, 0x18, 0xa6, 0x63, 0x94, 0x31, 0xdb, 0x08, - 0x75, 0xc3, 0x2b, 0xc9, 0x65, 0xca, 0xb7, 0x65, 0x83, 0x6f, 0xcb, 0x3b, 0xc6, 0xfa, 0x94, 0x80, - 0x36, 0xcf, 0x4a, 0xba, 0x8c, 0x16, 0x00, 0xe4, 0x67, 0x72, 0x53, 0x2f, 0xeb, 0xfb, 0x2d, 0x99, - 0xcc, 0x3c, 0x54, 0x1a, 0x22, 0x25, 0x3b, 0xfb, 0x2d, 0x19, 0x25, 0x61, 0xd0, 0xa0, 0x99, 0xcd, - 0x6f, 0xfe, 0xc6, 0x75, 0x7b, 0x4a, 0xb5, 0xfe, 0xb4, 0x2e, 0xab, 0x89, 0x18, 0xe9, 0x68, 0xfe, - 0x46, 0x57, 0x20, 0x56, 0x95, 0x74, 0x29, 0xd1, 0x47, 0xc0, 0xcc, 0xba, 0xc0, 0x6c, 0x13, 0x51, - 0x2a, 0x91, 0x46, 0xe2, 0x3d, 0x18, 0xcd, 0xb4, 0x5a, 0x8d, 0x7a, 0x85, 0x48, 0x44, 0x3e, 0xeb, - 0x5a, 0xa6, 0x05, 0x80, 0x96, 0xaa, 0xfc, 0xac, 0x5c, 0xd1, 0xcb, 0xf5, 0xaa, 0x01, 0x92, 0x95, - 0xe4, 0xab, 0xe2, 0x1c, 0x0c, 0x6d, 0xb1, 0x1f, 0xae, 0xbe, 0x62, 0x02, 0xfa, 0x1f, 0x69, 0xb2, - 0xea, 0x51, 0x73, 0x16, 0x86, 0x71, 0x4d, 0x6e, 0x4f, 0xaa, 0x37, 0xf2, 0x59, 0xcc, 0x67, 0x19, - 0xff, 0xc9, 0x5a, 0xd0, 0x1f, 0xe2, 0x7b, 0x30, 0xf1, 0xa8, 0x59, 0xff, 0x42, 0x5b, 0xc6, 0x4d, - 0x0d, 0x31, 0xba, 0x08, 0x43, 0x6d, 0x4d, 0x56, 0xcb, 0x4d, 0x69, 0x8f, 0xf2, 0x7b, 0x68, 0x15, - 0x3e, 0x5d, 0x1d, 0x50, 0xfb, 0xe2, 0x42, 0xe2, 0xdf, 0x0b, 0xa5, 0x41, 0x5c, 0x59, 0x90, 0xf6, - 0x64, 0xb4, 0x64, 0x8c, 0x19, 0x71, 0x35, 0x62, 0xe3, 0xdf, 0x00, 0xc4, 0x8f, 0xaf, 0xb5, 0x94, - 0xa6, 0x26, 0xa3, 0x39, 0x18, 0xaa, 0x6b, 0xe5, 0x36, 0xa9, 0x20, 0x13, 0x0c, 0x96, 0x06, 0xeb, - 0x1a, 0x6d, 0x28, 0xfe, 0x8f, 0x3e, 0x98, 0x58, 0x53, 0x65, 0x49, 0xef, 0x0d, 0xd3, 0x65, 0x80, - 0xa7, 0x75, 0x55, 0xd3, 0x69, 0x4b, 0x37, 0xb0, 0x21, 0x52, 0x4b, 0x9a, 0x5e, 0x84, 0xa1, 0x86, - 0x64, 0xb4, 0x8c, 0xba, 0xc7, 0xc4, 0x95, 0xa4, 0xe1, 0x79, 0x18, 0x6a, 0xd6, 0x2b, 0xef, 0xd3, - 0x86, 0x44, 0x16, 0x56, 0x07, 0x3f, 0x5d, 0xed, 0x53, 0xa3, 0xa4, 0x19, 0xae, 0x22, 0xcd, 0xae, - 0xc0, 0x48, 0xb5, 0xae, 0xb5, 0x1a, 0xd2, 0x3e, 0x6d, 0xd9, 0xe7, 0x68, 0x39, 0xcc, 0x6a, 0x49, - 0xe3, 0xdb, 0x80, 0x5a, 0xaa, 0xfc, 0x54, 0x56, 0x55, 0xb9, 0x5a, 0x6e, 0x48, 0xcd, 0x5a, 0x5b, - 0xaa, 0xc9, 0x89, 0x7e, 0x47, 0x97, 0x09, 0xb3, 0xcd, 0x06, 0x6b, 0x82, 0xee, 0x41, 0x7f, 0x4d, - 0x6e, 0x56, 0x65, 0x35, 0x31, 0xb0, 0x24, 0x5c, 0x1a, 0xeb, 0xae, 0x89, 0xeb, 0xa4, 0x75, 0x89, - 0xf5, 0x42, 0xa2, 0xb1, 0x68, 0x83, 0x64, 0xae, 0x91, 0x4f, 0x57, 0x87, 0xd4, 0x01, 0x42, 0xf1, - 0xcf, 0x18, 0xcb, 0x86, 0x52, 0x30, 0x51, 0xd7, 0xca, 0xe4, 0xef, 0xf2, 0x33, 0x59, 0xc5, 0x42, - 0x5f, 0x4d, 0x0c, 0x91, 0x85, 0x1a, 0xaf, 0x6b, 0x44, 0xa4, 0xde, 0x61, 0xc5, 0x68, 0x01, 0xfa, - 0x5a, 0xbb, 0x4a, 0x53, 0x4e, 0x0c, 0x93, 0xf1, 0x06, 0x3e, 0x5d, 0x8d, 0xa9, 0x91, 0xc4, 0x54, - 0x89, 0x96, 0xb2, 0xa1, 0xc8, 0xdf, 0xd6, 0x50, 0x23, 0xc6, 0x50, 0x5b, 0xb8, 0xdc, 0x1c, 0x4a, - 0x84, 0x81, 0x8a, 0xd2, 0x6e, 0xea, 0xea, 0x7e, 0x62, 0xd4, 0xc1, 0x08, 0xa3, 0x02, 0x9d, 0x83, - 0xc1, 0x86, 0x52, 0x91, 0x1a, 0x75, 0x7d, 0x3f, 0x31, 0xe6, 0x5c, 0x0a, 0xa3, 0x06, 0x5d, 0x86, - 0xe1, 0x96, 0xa2, 0xe9, 0x52, 0xa3, 0x5c, 0x51, 0xaa, 0x72, 0x62, 0xdc, 0xd1, 0x10, 0x68, 0xe5, - 0x9a, 0x52, 0xc5, 0x42, 0xdc, 0xaf, 0xca, 0xb5, 0xba, 0xd2, 0x4c, 0xc4, 0x1d, 0xad, 0x58, 0x39, - 0x4a, 0xc3, 0x98, 0xa6, 0xab, 0xb2, 0xac, 0x97, 0xa5, 0x6a, 0x55, 0x95, 0x35, 0x2d, 0x31, 0xe1, - 0x68, 0x39, 0x4a, 0xeb, 0x33, 0xb4, 0x1a, 0x9d, 0x85, 0xc1, 0x96, 0xa4, 0x69, 0xcf, 0x15, 0xb5, - 0x9a, 0x40, 0x3c, 0x57, 0x1e, 0x96, 0xcc, 0x0a, 0xf1, 0x8f, 0xfb, 0x21, 0x86, 0x25, 0xdc, 0x65, - 0x0e, 0xee, 0x43, 0x9f, 0xa6, 0x63, 0x53, 0x17, 0x21, 0xeb, 0x7b, 0xb9, 0xdb, 0xfa, 0xe2, 0x41, - 0xb6, 0x71, 0x87, 0x12, 0xed, 0x87, 0xee, 0xc3, 0x68, 0x05, 0x2b, 0x50, 0x5d, 0x69, 0x52, 0x9b, - 0x19, 0xed, 0x6a, 0x33, 0x47, 0x8c, 0x0e, 0xc4, 0x6a, 0x3a, 0x4c, 0x6e, 0x2c, 0x94, 0xc9, 0x7d, - 0x03, 0x80, 0x68, 0x55, 0x43, 0xa9, 0xd5, 0x9b, 0xcc, 0x42, 0x76, 0xea, 0x4b, 0x74, 0x70, 0x03, - 0x37, 0x46, 0x39, 0x88, 0x1b, 0xec, 0x29, 0xd3, 0x11, 0xab, 0x44, 0x23, 0x3a, 0x0f, 0x30, 0x6e, - 0xf4, 0xa1, 0x1b, 0x46, 0x15, 0x9b, 0x17, 0xcb, 0x56, 0x0c, 0x50, 0xd3, 0x6d, 0xda, 0x87, 0x05, - 0x9b, 0x7d, 0x18, 0xa4, 0xc6, 0xd6, 0xb2, 0x09, 0x73, 0xbc, 0x4d, 0x18, 0xa2, 0x7d, 0x4d, 0x3b, - 0x70, 0xc6, 0xa1, 0xe0, 0x40, 0xea, 0x6d, 0x6a, 0x3d, 0xc7, 0x9b, 0x8a, 0x61, 0xda, 0xdf, 0x34, - 0x10, 0xd7, 0x3c, 0x75, 0x7e, 0x84, 0xb4, 0xea, 0xa8, 0xe9, 0xa3, 0x3d, 0x69, 0xba, 0x69, 0xf2, - 0xc7, 0x38, 0x93, 0xef, 0xad, 0xdb, 0xe3, 0xde, 0xba, 0x3d, 0x65, 0xe8, 0x76, 0x9c, 0x8e, 0xd0, - 0x41, 0xa5, 0x27, 0xbc, 0x55, 0x3a, 0x61, 0xa9, 0x34, 0xd1, 0x04, 0x4b, 0x91, 0x93, 0x9c, 0x22, - 0x4f, 0x32, 0x46, 0x1b, 0xea, 0x7b, 0xda, 0xae, 0xbe, 0x53, 0xa4, 0x9a, 0x57, 0xda, 0x19, 0x53, - 0x69, 0xa7, 0x49, 0x9d, 0xa1, 0xaa, 0xe7, 0x5d, 0xaa, 0x3a, 0x43, 0xea, 0xed, 0x0a, 0x2a, 0xfe, - 0x89, 0x00, 0x13, 0x44, 0x6d, 0x64, 0x49, 0xad, 0xec, 0x1a, 0x7b, 0x8c, 0xe5, 0xa2, 0x08, 0xde, - 0x2e, 0x8a, 0xcd, 0x8d, 0x7a, 0x0f, 0xc6, 0x34, 0x45, 0xd5, 0xeb, 0xcd, 0x5a, 0xb9, 0xa2, 0x34, - 0xda, 0x7b, 0x4d, 0xa2, 0x66, 0x63, 0x2b, 0xd7, 0x02, 0xe9, 0x2b, 0x99, 0xf8, 0x6d, 0x79, 0x9f, - 0x18, 0x91, 0x03, 0x21, 0xb2, 0xf4, 0x4a, 0x69, 0x94, 0x0d, 0xb7, 0x46, 0x46, 0x43, 0x71, 0x88, - 0x4a, 0x5a, 0x85, 0x28, 0xdf, 0x60, 0x09, 0xff, 0x89, 0xf2, 0x30, 0xf0, 0x85, 0xb6, 0xac, 0xd6, - 0x65, 0x2d, 0xd1, 0x47, 0x9c, 0xb0, 0x74, 0xf0, 0xa9, 0x3e, 0xdf, 0x96, 0xd5, 0xfd, 0x92, 0xd1, - 0x5f, 0xfc, 0x8e, 0x00, 0xe3, 0x8e, 0x4a, 0x94, 0x87, 0xe8, 0xfb, 0xf2, 0x3e, 0xa1, 0xfd, 0x08, - 0x54, 0xe0, 0x31, 0x50, 0x16, 0xfa, 0xf7, 0x64, 0x7d, 0x57, 0xa9, 0x32, 0x1b, 0x76, 0xb5, 0xdb, - 0x68, 0x74, 0xa4, 0x4d, 0xd2, 0xa7, 0xc4, 0xfa, 0x62, 0xbe, 0x3f, 0x93, 0x1a, 0x6d, 0xb6, 0x37, - 0x97, 0xe8, 0x0f, 0xf1, 0xef, 0x0a, 0x80, 0xf8, 0xb5, 0x63, 0x3e, 0x45, 0xb8, 0xc5, 0x3b, 0x03, - 0x23, 0xba, 0x82, 0xe5, 0x4b, 0x95, 0xb5, 0x76, 0xc3, 0x70, 0x3e, 0x87, 0x49, 0x59, 0x89, 0x14, - 0xa1, 0xcf, 0x61, 0x11, 0x23, 0x95, 0x31, 0xc2, 0xec, 0x73, 0x41, 0x38, 0x52, 0x62, 0x7d, 0xc4, - 0x3f, 0x8c, 0x50, 0xf7, 0x6b, 0x4b, 0x55, 0x9e, 0xd6, 0x1b, 0xf2, 0xf1, 0x1b, 0x79, 0xbb, 0x1d, - 0x8b, 0x76, 0xb4, 0x63, 0x31, 0x87, 0x1d, 0xb3, 0x19, 0xa9, 0x3e, 0x87, 0x91, 0x72, 0x1a, 0xb9, - 0x7e, 0xb7, 0x91, 0xf3, 0xb6, 0x63, 0x03, 0xdd, 0xed, 0xd8, 0x60, 0x4f, 0x76, 0xcc, 0x66, 0xcf, - 0x87, 0xec, 0xf6, 0x5c, 0xfc, 0x9d, 0x08, 0x24, 0x1e, 0xb5, 0xaa, 0xcc, 0x5d, 0x64, 0xec, 0xf6, - 0x3b, 0x10, 0x7d, 0xe6, 0x1c, 0x76, 0x66, 0xb5, 0xf8, 0xe7, 0x61, 0xc8, 0x3c, 0x34, 0x78, 0x1d, - 0x27, 0x39, 0x77, 0xbf, 0xe3, 0x7e, 0x12, 0xf5, 0xdc, 0x4f, 0xc4, 0x67, 0x30, 0x63, 0xad, 0x15, - 0xa9, 0xf2, 0x5b, 0xa9, 0xae, 0x47, 0x8b, 0x50, 0xf3, 0x32, 0xb2, 0xc8, 0xd6, 0xe4, 0x45, 0x16, - 0xdd, 0xe4, 0x22, 0x5d, 0x37, 0xb9, 0xa8, 0xe7, 0x26, 0x27, 0xb6, 0x79, 0xb2, 0x48, 0x95, 0x1f, - 0x59, 0xa7, 0x6d, 0x73, 0xad, 0x0e, 0x7d, 0xba, 0xda, 0xaf, 0xc6, 0xe2, 0x42, 0x17, 0x77, 0xd9, - 0x67, 0xda, 0x5f, 0x15, 0xa8, 0x8d, 0x31, 0xdc, 0x4e, 0xe7, 0x64, 0xdc, 0xde, 0x1b, 0xf1, 0xdf, - 0x7b, 0xa3, 0x9d, 0xf7, 0xde, 0x58, 0x87, 0xbd, 0xb7, 0xaf, 0xcb, 0xde, 0xdb, 0xef, 0xb5, 0xf7, - 0xfe, 0x6f, 0x81, 0x57, 0x58, 0x56, 0xea, 0xc7, 0x2f, 0xd1, 0x41, 0x42, 0xb7, 0x13, 0x41, 0x34, - 0xe8, 0x89, 0x20, 0x16, 0xe8, 0x44, 0xd0, 0x17, 0xf8, 0x44, 0xd0, 0xdf, 0xf1, 0x44, 0x20, 0x16, - 0x61, 0x64, 0xb3, 0xdd, 0xd0, 0xeb, 0x0f, 0xa4, 0x8a, 0xae, 0xa8, 0x1a, 0xba, 0x0f, 0xb1, 0xbd, - 0xa7, 0x92, 0x11, 0x4c, 0xb9, 0xd2, 0x4d, 0x4b, 0xb9, 0xbe, 0x25, 0xd2, 0x51, 0xfc, 0x79, 0x01, - 0x86, 0xb9, 0x52, 0x74, 0x17, 0x62, 0x24, 0xc4, 0x41, 0x77, 0xef, 0x8b, 0x5d, 0x07, 0x7c, 0x2a, - 0xed, 0xec, 0xb7, 0xe4, 0x12, 0xe9, 0x84, 0xee, 0xd9, 0x37, 0xa3, 0x4b, 0x5d, 0x7b, 0x3f, 0xc8, - 0xf0, 0x7b, 0x91, 0x38, 0x0f, 0xb0, 0xc5, 0x7c, 0x70, 0x8f, 0x40, 0xc4, 0x43, 0x18, 0x37, 0x6a, - 0xfd, 0x96, 0xf9, 0x3c, 0x77, 0x60, 0x72, 0x68, 0x06, 0x7f, 0x64, 0xba, 0x00, 0x53, 0x25, 0x59, - 0x93, 0xf5, 0x2e, 0xc3, 0x89, 0xcf, 0x60, 0x71, 0xdb, 0x6a, 0x55, 0x50, 0xf4, 0xfa, 0x53, 0x16, - 0x7d, 0xf1, 0x03, 0x90, 0x65, 0xec, 0xa3, 0x0c, 0xb8, 0xde, 0x8d, 0x01, 0xfc, 0x90, 0x16, 0x1f, - 0xc5, 0xab, 0x90, 0x34, 0x26, 0x5d, 0x53, 0xf6, 0x5a, 0x0d, 0xf9, 0x83, 0xba, 0xbe, 0xbf, 0xa5, - 0x34, 0xea, 0x95, 0x7d, 0x0f, 0xbe, 0x7c, 0x12, 0x85, 0x84, 0x5f, 0x73, 0x0f, 0x7b, 0x38, 0x6c, - 0x44, 0x06, 0xb1, 0x60, 0x46, 0xd8, 0xa6, 0x6c, 0x15, 0xa1, 0x8c, 0xb1, 0x88, 0xd4, 0x0d, 0xed, - 0x2a, 0x53, 0x74, 0xa2, 0xce, 0x07, 0xc7, 0xd8, 0xd1, 0x0e, 0x8e, 0x7d, 0x61, 0x63, 0x75, 0x7b, - 0xf5, 0x66, 0xb9, 0x21, 0x37, 0x6b, 0xfa, 0x2e, 0x51, 0xa8, 0x58, 0x69, 0x68, 0xaf, 0xde, 0xdc, - 0x20, 0x05, 0xe8, 0x2c, 0x8c, 0xee, 0x4a, 0x5a, 0xb9, 0xa1, 0x3c, 0x97, 0xd5, 0x8a, 0xa4, 0x51, - 0x7f, 0x63, 0xb0, 0x34, 0xb2, 0x2b, 0x69, 0x1b, 0x46, 0x99, 0xd1, 0xa8, 0xdd, 0x6a, 0xb1, 0x46, - 0x83, 0x66, 0xa3, 0x47, 0x46, 0x19, 0x9e, 0x08, 0x37, 0x6a, 0xb6, 0xf7, 0x9e, 0xc8, 0x2a, 0x0b, - 0x6b, 0x0c, 0xed, 0x4a, 0x5a, 0x81, 0x14, 0x18, 0xd5, 0xda, 0xfe, 0xde, 0x13, 0xa5, 0x41, 0xce, - 0x78, 0xb4, 0x7a, 0x9b, 0x14, 0x88, 0xff, 0x47, 0x80, 0x45, 0xbf, 0x65, 0xa3, 0x71, 0x2b, 0x94, - 0xb2, 0x2f, 0x96, 0xc0, 0xdb, 0x86, 0xff, 0x1b, 0xb5, 0x2f, 0x9b, 0x9d, 0xea, 0x48, 0x57, 0xaa, - 0xa3, 0x41, 0xa8, 0x8e, 0x75, 0xa5, 0xba, 0xaf, 0x33, 0xd5, 0xfd, 0x4e, 0xaa, 0xbf, 0x1c, 0xf1, - 0xa7, 0x9a, 0x5a, 0x73, 0x97, 0xc8, 0xa6, 0x3c, 0x44, 0x36, 0x18, 0x17, 0xa2, 0x5d, 0xb9, 0x10, - 0x0b, 0xc2, 0x85, 0xbe, 0xae, 0x5c, 0xe8, 0xef, 0xcc, 0x85, 0x01, 0x27, 0x17, 0xce, 0xc3, 0xa4, - 0xc1, 0x84, 0x4c, 0x4d, 0xf6, 0xd5, 0xec, 0xff, 0x18, 0x81, 0x09, 0x57, 0xbb, 0x1f, 0x47, 0x95, - 0x5e, 0x82, 0x91, 0x3d, 0xe9, 0x83, 0xb2, 0x44, 0x7a, 0xef, 0x6b, 0x4c, 0xa9, 0x61, 0x4f, 0xfa, - 0x20, 0x83, 0x5b, 0xec, 0x6b, 0xe8, 0x12, 0xc4, 0xe5, 0x0f, 0x5a, 0x75, 0x55, 0x2e, 0x3f, 0x97, - 0xd4, 0x26, 0x6d, 0x35, 0x40, 0x6f, 0x23, 0x68, 0xf9, 0x63, 0x49, 0x6d, 0xe2, 0x96, 0xe2, 0x57, - 0x04, 0x98, 0x75, 0x31, 0xb5, 0x07, 0x85, 0x73, 0x62, 0x8a, 0x04, 0xc2, 0x14, 0xf5, 0xc4, 0xf4, - 0x77, 0xbc, 0x30, 0x1d, 0x83, 0x3a, 0x38, 0x31, 0x46, 0x03, 0x61, 0x8c, 0x79, 0x62, 0xbc, 0x6c, - 0x41, 0xdc, 0x50, 0x2a, 0xef, 0x2b, 0x6d, 0xdd, 0x57, 0x6e, 0x7f, 0x10, 0x81, 0x69, 0xcf, 0xb6, - 0x3f, 0x8e, 0xb2, 0x7b, 0x86, 0xad, 0x81, 0xae, 0xcb, 0x7b, 0x2d, 0xdd, 0x90, 0xdd, 0x61, 0xbc, - 0x06, 0xac, 0x08, 0xbd, 0x0a, 0x33, 0xda, 0xae, 0xf2, 0xbc, 0xdc, 0x50, 0x2a, 0xef, 0x97, 0x95, - 0xb6, 0x5e, 0x7e, 0x2a, 0xd5, 0x1b, 0x6d, 0x55, 0xd6, 0x98, 0xe5, 0x98, 0xc4, 0xb5, 0x98, 0x91, - 0xc5, 0xb6, 0xfe, 0x80, 0x55, 0x61, 0x99, 0x99, 0xf3, 0x64, 0x72, 0x0f, 0xb2, 0xec, 0xc4, 0x18, - 0x09, 0x83, 0x31, 0xea, 0x8f, 0xf1, 0x5f, 0xf8, 0x61, 0x3c, 0x06, 0xd9, 0x76, 0x62, 0x8e, 0x86, - 0xc1, 0x1c, 0xf3, 0xc7, 0x3c, 0x0b, 0x7d, 0x45, 0xb5, 0xe6, 0x79, 0x11, 0x36, 0x54, 0x54, 0x6b, - 0x59, 0x65, 0x4f, 0xaa, 0x37, 0xf1, 0xe1, 0xa5, 0x4a, 0xfe, 0x62, 0x0d, 0xd8, 0x2f, 0xf1, 0xff, - 0x0b, 0x10, 0x2d, 0xaa, 0x35, 0x17, 0x65, 0x61, 0x5d, 0xe3, 0xa2, 0x5a, 0x7b, 0x89, 0x62, 0xf1, - 0x08, 0x62, 0x5c, 0x8c, 0x87, 0xfc, 0xcd, 0x71, 0xa0, 0xdf, 0xc6, 0x81, 0x0b, 0x30, 0x56, 0x54, - 0x6b, 0x9b, 0x32, 0xde, 0x07, 0x4b, 0x4a, 0x43, 0xd6, 0xf0, 0xc1, 0x58, 0xc5, 0x7f, 0x90, 0x53, - 0xca, 0x50, 0x89, 0xfe, 0x10, 0x7f, 0x25, 0x42, 0xf8, 0x49, 0x1b, 0xa2, 0x59, 0x18, 0x20, 0xb1, - 0x19, 0x93, 0x69, 0xfd, 0xf8, 0x67, 0xde, 0x11, 0x84, 0x8f, 0x38, 0x82, 0xf0, 0x66, 0x24, 0x21, - 0xca, 0x47, 0x12, 0xec, 0x21, 0xad, 0x58, 0xc7, 0x90, 0x56, 0x9f, 0x23, 0xa4, 0x65, 0x62, 0xed, - 0xe7, 0xb0, 0x3a, 0x99, 0x37, 0x10, 0x8a, 0x79, 0xae, 0xa5, 0x1b, 0x0c, 0xb7, 0x74, 0xe2, 0x4f, - 0xc1, 0x64, 0xa6, 0x5a, 0xb5, 0x98, 0xca, 0xce, 0x1e, 0xd3, 0xd0, 0xaf, 0xa8, 0x35, 0x8b, 0x63, - 0x7d, 0x8a, 0x5a, 0xcb, 0x57, 0x79, 0x4e, 0x46, 0x6c, 0x9c, 0x34, 0x49, 0x8b, 0xf2, 0xcb, 0xf0, - 0x1e, 0xcc, 0xd0, 0xfb, 0x8e, 0x13, 0x1a, 0xff, 0x21, 0xcc, 0x94, 0xe4, 0x3d, 0xe5, 0xd9, 0x91, - 0xc7, 0x17, 0x3f, 0x16, 0x60, 0xd6, 0x1c, 0xe4, 0xa4, 0xa3, 0xb6, 0x19, 0x47, 0xd4, 0xf6, 0x72, - 0x00, 0x85, 0x65, 0xe4, 0x19, 0xa1, 0xdb, 0x8f, 0x05, 0x98, 0x71, 0xe1, 0xed, 0x48, 0x7a, 0xa8, - 0xb7, 0x0d, 0xa8, 0x60, 0x85, 0xf1, 0x29, 0xc6, 0x9b, 0x81, 0x31, 0x7a, 0xc6, 0xf2, 0xff, 0x8d, - 0x00, 0x53, 0x5e, 0x2d, 0x50, 0x81, 0x0f, 0xe8, 0xaf, 0x84, 0x9c, 0xe4, 0x05, 0x47, 0xf5, 0x6f, - 0xc1, 0x14, 0x7b, 0xe4, 0x40, 0xb7, 0x41, 0x83, 0xe3, 0x8b, 0xcc, 0x82, 0xb9, 0xaf, 0xfc, 0x49, - 0xb9, 0xf8, 0xc0, 0xec, 0x47, 0xb7, 0x26, 0xbf, 0x03, 0xbe, 0x31, 0x4e, 0xc4, 0x67, 0x9c, 0x22, - 0x0c, 0xb2, 0x71, 0x34, 0xb4, 0x06, 0x83, 0xec, 0xf5, 0x85, 0x11, 0xa0, 0xe9, 0x1a, 0x4f, 0x61, - 0x7d, 0x4b, 0x66, 0x47, 0xf1, 0x7b, 0x51, 0x18, 0x60, 0xa5, 0x2e, 0x30, 0x88, 0x07, 0xc3, 0xcc, - 0xf2, 0xaa, 0xdd, 0x5f, 0xba, 0x1a, 0x70, 0x46, 0xdb, 0x66, 0x73, 0xa4, 0xbd, 0xc2, 0x65, 0xee, - 0xfa, 0x42, 0xee, 0x54, 0xf7, 0x59, 0x0c, 0xa5, 0x3f, 0xa0, 0xc3, 0x47, 0x09, 0xe0, 0xc2, 0x50, - 0xe7, 0x61, 0x4c, 0x95, 0x35, 0xa5, 0xad, 0x56, 0xe4, 0xb2, 0xf2, 0xbc, 0xc9, 0x82, 0xd8, 0x43, - 0xa5, 0x51, 0xa3, 0xb4, 0x88, 0x0b, 0x39, 0x25, 0x1c, 0xe4, 0x95, 0xf0, 0x14, 0x0c, 0xe2, 0x62, - 0xee, 0x92, 0x60, 0x40, 0x51, 0x6b, 0xc6, 0x9d, 0x2f, 0xae, 0x62, 0xdb, 0x1e, 0xbd, 0xb5, 0x1d, - 0x52, 0x4c, 0x9f, 0xe0, 0x14, 0x0c, 0xd6, 0x54, 0xa9, 0x49, 0x5e, 0xdf, 0xd0, 0x2b, 0xdb, 0x01, - 0xf2, 0x3b, 0x5f, 0x15, 0xff, 0x91, 0x00, 0xd3, 0x06, 0xa7, 0x4f, 0xd8, 0x72, 0xdd, 0x77, 0x58, - 0xae, 0xc0, 0x32, 0x67, 0xd8, 0xad, 0xaf, 0x0a, 0xa6, 0x2e, 0x1c, 0xe5, 0x5e, 0x73, 0xc3, 0x32, - 0x4f, 0x51, 0x02, 0x64, 0x25, 0xa8, 0x28, 0x7a, 0x19, 0xa7, 0xef, 0x0a, 0x80, 0xdc, 0xf5, 0x68, - 0x83, 0x37, 0x4d, 0xd7, 0x43, 0x4d, 0xf0, 0x82, 0x0d, 0x53, 0xca, 0xc4, 0xdf, 0xdd, 0x35, 0xfa, - 0x76, 0x04, 0x46, 0x6d, 0x8d, 0x3f, 0x73, 0x8f, 0x3a, 0xb8, 0x47, 0x9f, 0x87, 0xb8, 0x8d, 0x59, - 0x99, 0x6a, 0xd5, 0x65, 0x29, 0x43, 0x3a, 0x2d, 0x3b, 0x30, 0x69, 0x1b, 0x92, 0x3d, 0x21, 0x3c, - 0xe2, 0xa8, 0xf7, 0x1c, 0xa3, 0x52, 0xbf, 0x28, 0xf0, 0xa8, 0xe2, 0x1e, 0x8c, 0x19, 0xba, 0xaa, - 0x34, 0x64, 0x2f, 0x32, 0xbd, 0x36, 0x04, 0xe7, 0x3d, 0x6c, 0xd4, 0x7d, 0x0f, 0x3b, 0x05, 0x7d, - 0x35, 0x55, 0x69, 0xb7, 0x98, 0x30, 0xd0, 0x1f, 0xe2, 0xaf, 0x0b, 0x30, 0xcc, 0xcd, 0xe7, 0x78, - 0x5e, 0x28, 0x38, 0x9e, 0x17, 0xf6, 0x3a, 0xf7, 0x91, 0x0f, 0xe7, 0x26, 0xf8, 0x3e, 0x1e, 0xfc, - 0x6d, 0x98, 0xe0, 0xb0, 0xfb, 0x70, 0xda, 0x03, 0x32, 0x3e, 0xb2, 0x9e, 0xe2, 0x7a, 0x9e, 0xb4, - 0xb5, 0x5e, 0x73, 0x58, 0xeb, 0xa0, 0xdb, 0x1d, 0xa1, 0xca, 0xb0, 0xd8, 0xbf, 0x26, 0x40, 0xc2, - 0x03, 0x33, 0xb5, 0xda, 0x5d, 0x96, 0x2d, 0x9c, 0xcf, 0xb9, 0xe5, 0xf4, 0x39, 0x6f, 0x85, 0xc0, - 0xeb, 0x69, 0xd8, 0xff, 0x9d, 0x00, 0x33, 0xde, 0x6d, 0xd0, 0x16, 0x6f, 0xdc, 0x6f, 0x86, 0x9e, - 0xe8, 0x05, 0x1b, 0xf8, 0x43, 0x01, 0xe6, 0x6c, 0xea, 0x7d, 0xd2, 0xa2, 0x93, 0x73, 0x88, 0xce, - 0xb5, 0x80, 0x1c, 0x72, 0x1c, 0x53, 0xfe, 0x95, 0x00, 0x49, 0x4f, 0xdc, 0x27, 0x20, 0x3e, 0x25, - 0xa7, 0xf8, 0xbc, 0x1e, 0x0a, 0xb3, 0xa7, 0x00, 0xfd, 0xb6, 0x25, 0xfc, 0xee, 0xa3, 0x4b, 0x89, - 0x17, 0xa1, 0x5b, 0x3d, 0x4c, 0xf6, 0x82, 0x85, 0xe8, 0x77, 0x23, 0x30, 0xcc, 0x3d, 0xf2, 0x3e, - 0x72, 0x18, 0x29, 0xd3, 0x6a, 0xbd, 0xe4, 0x61, 0xa4, 0x4d, 0x18, 0x56, 0xea, 0xd5, 0x4a, 0xb9, - 0xa2, 0x34, 0x9f, 0xd6, 0x6b, 0x6c, 0xf3, 0x4f, 0x75, 0x3d, 0x64, 0xe6, 0xb3, 0x6b, 0x6b, 0xa4, - 0xc7, 0xc3, 0x57, 0x4a, 0x80, 0x07, 0xa0, 0xbf, 0x56, 0x47, 0x00, 0xa4, 0x56, 0x8b, 0x8d, 0x26, - 0x3e, 0x81, 0x09, 0x8e, 0x9b, 0x2c, 0xe8, 0xd8, 0x45, 0xa2, 0x29, 0xcb, 0x23, 0xae, 0x13, 0x5f, - 0x9f, 0xcf, 0x89, 0xef, 0x97, 0x63, 0x00, 0x16, 0x1c, 0x74, 0x16, 0x46, 0x55, 0xb9, 0x5a, 0x57, - 0xf1, 0xf0, 0x6d, 0xb5, 0x6e, 0x78, 0x76, 0x23, 0x46, 0xe1, 0x23, 0xb5, 0xae, 0xa1, 0xc7, 0xe4, - 0x84, 0x42, 0xec, 0x02, 0xf9, 0xa2, 0x40, 0x4b, 0x44, 0x96, 0xa2, 0x41, 0x3c, 0x58, 0x3c, 0x91, - 0x61, 0x51, 0xc8, 0x89, 0x67, 0x54, 0xe5, 0x7e, 0x69, 0xa8, 0x00, 0xc3, 0xf4, 0x08, 0x42, 0x47, - 0x8d, 0x92, 0x51, 0xaf, 0x05, 0x19, 0x75, 0x1d, 0x77, 0x23, 0x43, 0x42, 0xcd, 0xf8, 0x53, 0x43, - 0xef, 0x41, 0x5c, 0xb2, 0x18, 0x48, 0xbf, 0x7e, 0x88, 0x11, 0xd1, 0x7b, 0x35, 0xc8, 0xa0, 0x1c, - 0xf3, 0xc9, 0xd0, 0xe3, 0x92, 0xbd, 0x00, 0x3b, 0x9b, 0x95, 0x46, 0x5d, 0xa6, 0x67, 0x26, 0xe6, - 0x6c, 0xd2, 0x82, 0x7c, 0x15, 0xb3, 0x92, 0x55, 0x6a, 0x72, 0x45, 0x95, 0x75, 0x16, 0x68, 0x1c, - 0xa1, 0x85, 0xdb, 0xa4, 0x0c, 0xfd, 0x34, 0xc4, 0xa5, 0xb6, 0xbe, 0x5b, 0xa6, 0x6a, 0x45, 0x11, - 0x0e, 0x04, 0x8c, 0x54, 0x60, 0x84, 0x6d, 0x9d, 0x69, 0x26, 0x01, 0x38, 0x26, 0xd9, 0x7e, 0xa3, - 0x37, 0xe0, 0x54, 0x4b, 0xa1, 0x8f, 0x90, 0x95, 0xb6, 0x5e, 0xb6, 0xaf, 0xec, 0x20, 0x59, 0xd9, - 0x19, 0xdc, 0x60, 0x83, 0xd4, 0x97, 0xb8, 0x35, 0x16, 0xbf, 0x11, 0x83, 0x69, 0x07, 0x0f, 0x58, - 0x64, 0xbe, 0x8b, 0x00, 0x76, 0x09, 0x31, 0xb8, 0x25, 0x2c, 0x1a, 0x48, 0xc2, 0x62, 0x27, 0x22, - 0x61, 0x7d, 0x27, 0x21, 0x61, 0xfd, 0xc7, 0x28, 0x61, 0x2f, 0xad, 0x7c, 0x7c, 0x33, 0x06, 0x71, - 0xcb, 0x6e, 0x04, 0xb3, 0x4d, 0xe7, 0x61, 0x8c, 0x67, 0x96, 0x69, 0xa7, 0x46, 0xb9, 0x52, 0xaa, - 0x38, 0x9f, 0x49, 0xc8, 0x8f, 0xbe, 0x84, 0xbc, 0x0a, 0x23, 0x6b, 0xbc, 0xa9, 0x73, 0xd9, 0x43, - 0xc1, 0x6d, 0x0f, 0xc9, 0xf9, 0x85, 0x23, 0xf9, 0xa5, 0x3b, 0xbf, 0x70, 0xd8, 0x6c, 0xe7, 0x17, - 0x0f, 0xcc, 0x2f, 0xc5, 0xf9, 0xc5, 0x85, 0xcb, 0xe3, 0xfc, 0xe2, 0xdd, 0x26, 0xe4, 0xf9, 0xc5, - 0x35, 0xc8, 0x0b, 0x76, 0x3d, 0xff, 0x6d, 0x14, 0x46, 0x98, 0x03, 0x4c, 0xf4, 0x30, 0xe4, 0xe7, - 0x85, 0xe8, 0x1c, 0x8c, 0x11, 0xa5, 0x95, 0xab, 0x65, 0x16, 0x56, 0xa5, 0xc3, 0x8f, 0xb0, 0xd2, - 0x22, 0x89, 0xae, 0x5e, 0x82, 0x38, 0xdf, 0x8a, 0x0b, 0x41, 0x8d, 0x59, 0xed, 0x48, 0x60, 0xe0, - 0x2a, 0x20, 0xbe, 0x25, 0x0b, 0xba, 0x52, 0x1f, 0x21, 0x6e, 0xb5, 0x65, 0xb1, 0xd7, 0x05, 0x00, - 0x55, 0x69, 0xc8, 0x64, 0x40, 0x23, 0x3a, 0x35, 0x84, 0x4b, 0xf0, 0x58, 0x1a, 0x5a, 0x37, 0xfc, - 0x66, 0xaa, 0xd8, 0x37, 0x02, 0x9e, 0x04, 0x08, 0x23, 0x3a, 0x3b, 0xd0, 0x83, 0x47, 0x73, 0xa0, - 0x87, 0xc2, 0xbe, 0x25, 0x30, 0x96, 0x80, 0xff, 0x70, 0x88, 0x95, 0x91, 0x77, 0xec, 0x1f, 0x98, - 0x71, 0x46, 0x02, 0x3e, 0x98, 0xcb, 0xe1, 0x5e, 0xbb, 0x88, 0xc7, 0xda, 0xd9, 0x79, 0x1c, 0x75, - 0xf0, 0x58, 0x7c, 0x62, 0x9f, 0xb9, 0x37, 0x6f, 0xbb, 0xcb, 0x1c, 0xf7, 0xcd, 0x10, 0x18, 0x99, - 0x23, 0x9f, 0x0d, 0x39, 0xbe, 0xb8, 0x04, 0x63, 0xeb, 0x94, 0x26, 0x63, 0x00, 0xe7, 0x35, 0xff, - 0xaf, 0x5a, 0xe7, 0x61, 0xba, 0xfc, 0x27, 0x6c, 0x41, 0xb3, 0x0e, 0x0b, 0x7a, 0x35, 0x8c, 0x6c, - 0x9a, 0x26, 0x74, 0xd7, 0x8c, 0x5a, 0xd9, 0x40, 0x1f, 0xbf, 0x09, 0x15, 0xd3, 0x30, 0xcb, 0xcf, - 0xd4, 0x3d, 0x9a, 0xfd, 0xcf, 0x23, 0x76, 0xc1, 0xf8, 0x2c, 0xa4, 0xdd, 0x35, 0xa4, 0xfd, 0x17, - 0xad, 0xeb, 0x22, 0x8e, 0x65, 0x99, 0x6a, 0xb5, 0xdb, 0x52, 0xf2, 0x57, 0x50, 0x11, 0xdb, 0x15, - 0x14, 0xcf, 0xef, 0xa8, 0x77, 0xb0, 0x3a, 0xc6, 0xaf, 0xda, 0x97, 0xad, 0xb0, 0x0a, 0x07, 0x81, - 0x05, 0xc2, 0x5f, 0x18, 0x8a, 0x3d, 0x2f, 0x10, 0x2c, 0x9a, 0x7b, 0xfc, 0x20, 0xc4, 0x7f, 0x2d, - 0xc0, 0x92, 0x7b, 0xbe, 0x93, 0xb6, 0x00, 0x3f, 0xe1, 0xb0, 0x00, 0x2b, 0x61, 0x2c, 0x80, 0x23, - 0x9a, 0xf7, 0x03, 0x01, 0x4e, 0xfb, 0x53, 0x10, 0xc8, 0x1c, 0x74, 0x60, 0x9c, 0x45, 0x7a, 0xd4, - 0x9b, 0xf4, 0x18, 0x4f, 0xfa, 0x63, 0xe7, 0x77, 0x86, 0x6f, 0x86, 0x27, 0xcc, 0xd3, 0xe7, 0xfa, - 0x4f, 0x02, 0x2c, 0x74, 0x6c, 0x8a, 0x1e, 0xf3, 0xae, 0xd7, 0xdd, 0x5e, 0xa7, 0x7d, 0xc1, 0x1e, - 0xd8, 0xdf, 0x8c, 0xd1, 0xcf, 0x8b, 0xbc, 0xdd, 0x2f, 0xdf, 0xcb, 0x26, 0xeb, 0x1e, 0x3b, 0xca, - 0xdf, 0x63, 0xdb, 0x57, 0x39, 0xe6, 0x5c, 0x65, 0xfb, 0x46, 0xdb, 0xe7, 0x74, 0x98, 0xb2, 0x86, - 0xc3, 0x44, 0x4f, 0x5a, 0xcb, 0x41, 0xbe, 0x2b, 0x0c, 0xe0, 0x2d, 0x0d, 0x1c, 0xcd, 0x5b, 0x1a, - 0x0c, 0x65, 0x86, 0x3b, 0x7d, 0xef, 0xe7, 0xd8, 0x32, 0xa0, 0xe3, 0x96, 0x31, 0xec, 0xde, 0x32, - 0xe8, 0x26, 0x34, 0xc2, 0x6f, 0x42, 0xfc, 0xc3, 0x81, 0xd1, 0x4e, 0x0f, 0x07, 0xc6, 0x9c, 0x0f, - 0x07, 0x9c, 0x6e, 0xdd, 0xb8, 0xdb, 0xad, 0xfb, 0x12, 0xfd, 0xce, 0x96, 0xf7, 0xe9, 0x7c, 0x37, - 0x50, 0x4b, 0x20, 0x22, 0xfe, 0x02, 0x11, 0xed, 0x2c, 0x10, 0x31, 0xa7, 0xe7, 0xf5, 0x2e, 0x07, - 0x80, 0xb9, 0x76, 0xbe, 0x00, 0x42, 0x3a, 0x75, 0xb7, 0xe8, 0xe7, 0x67, 0x86, 0x43, 0x16, 0x74, - 0x58, 0xf1, 0xa7, 0x4d, 0xbf, 0x82, 0xef, 0xde, 0xc5, 0xba, 0xf9, 0xaa, 0x11, 0x1d, 0x3d, 0x6a, - 0x8e, 0xfe, 0x25, 0xf3, 0x5e, 0xca, 0x49, 0xf7, 0x31, 0xcd, 0xd0, 0x8d, 0xe3, 0x0d, 0xbb, 0xa3, - 0xc5, 0xd3, 0x78, 0x09, 0xe2, 0x06, 0x02, 0xd3, 0x54, 0x53, 0x1c, 0x63, 0x2d, 0xde, 0x3d, 0x0e, - 0x41, 0xee, 0x77, 0xad, 0xeb, 0x2b, 0xfb, 0x74, 0x3d, 0x4a, 0x9b, 0x17, 0xc4, 0xa8, 0x27, 0xc4, - 0x0b, 0x6e, 0x43, 0xc5, 0xf2, 0x5c, 0xc4, 0x85, 0xe0, 0x16, 0x4b, 0xfc, 0x45, 0x3f, 0x02, 0xd8, - 0xaa, 0x1d, 0x3f, 0xcf, 0xba, 0x2d, 0xe0, 0xc7, 0x02, 0xcc, 0x5a, 0x76, 0xf1, 0x65, 0x7b, 0xb0, - 0x68, 0x22, 0x33, 0x7d, 0x87, 0xbf, 0x2e, 0xc0, 0x8c, 0x0b, 0x6f, 0x2f, 0x4f, 0x7f, 0x0a, 0xce, - 0xa7, 0x3f, 0x37, 0x83, 0x6f, 0x1f, 0x5e, 0xfb, 0xfd, 0xef, 0x0a, 0x30, 0xe5, 0xd5, 0x22, 0xe4, - 0xcb, 0x44, 0xc7, 0x10, 0x1e, 0xbb, 0x7b, 0xe1, 0x28, 0xbb, 0xbb, 0x31, 0x58, 0xe2, 0x95, 0x2e, - 0xfb, 0xfc, 0xbf, 0xb4, 0xdc, 0x17, 0x1f, 0x76, 0x1f, 0x6b, 0xcc, 0x2b, 0xfc, 0x3b, 0xd1, 0xae, - 0xab, 0x21, 0x7a, 0x2a, 0x9a, 0x9d, 0x86, 0xe0, 0xfa, 0xf6, 0xc3, 0x25, 0xe7, 0x17, 0x22, 0x30, - 0x93, 0x69, 0xeb, 0xbb, 0x47, 0x96, 0xfa, 0x8a, 0x4f, 0x22, 0x8f, 0xae, 0x72, 0xe9, 0x98, 0x3d, - 0x64, 0x36, 0x8f, 0x82, 0xd3, 0xcb, 0xbe, 0x19, 0x72, 0x3e, 0x0f, 0x65, 0xf3, 0x6a, 0x11, 0x52, - 0xd9, 0x3a, 0x12, 0xf5, 0x02, 0x95, 0x0d, 0x1b, 0x61, 0xd7, 0xf2, 0xbe, 0x34, 0x46, 0xd8, 0x44, - 0x66, 0x1a, 0xe1, 0x3d, 0x18, 0x32, 0x0b, 0x31, 0x10, 0xb2, 0x9b, 0xda, 0x9f, 0x89, 0xcf, 0x83, - 0x65, 0x0b, 0xdc, 0x71, 0xd8, 0x19, 0x60, 0xdb, 0x55, 0x90, 0x03, 0x76, 0xea, 0x9f, 0x09, 0xf4, - 0xcc, 0x41, 0xdc, 0x76, 0x74, 0x0a, 0xa6, 0x1f, 0x6d, 0xe7, 0x4a, 0xdb, 0x3b, 0x99, 0x9d, 0x5c, - 0xf9, 0x51, 0x61, 0x7b, 0x2b, 0xb7, 0x96, 0x7f, 0x90, 0xcf, 0x65, 0xe3, 0xaf, 0xa0, 0x29, 0x88, - 0x5b, 0x55, 0x99, 0xb5, 0x9d, 0xfc, 0x3b, 0xb9, 0xb8, 0x80, 0x66, 0x00, 0x59, 0xa5, 0xf9, 0x02, - 0x2b, 0x8f, 0xa0, 0x69, 0x98, 0xb0, 0xca, 0xb3, 0xb9, 0x8d, 0xdc, 0x4e, 0x2e, 0x1b, 0x8f, 0xda, - 0x07, 0xd9, 0x28, 0xae, 0xbd, 0x9d, 0xcb, 0xc6, 0x63, 0xf6, 0xc6, 0xdb, 0x8f, 0xb6, 0xb7, 0x72, - 0x85, 0x6c, 0xbc, 0xcf, 0x5e, 0x9c, 0x2f, 0xe4, 0x77, 0xf2, 0x99, 0x8d, 0x78, 0x7f, 0xea, 0xcf, - 0x41, 0x3f, 0x4d, 0x36, 0x81, 0x27, 0x5f, 0xcf, 0x15, 0xb2, 0xb9, 0x92, 0x03, 0xea, 0x04, 0x8c, - 0xb2, 0xf2, 0x07, 0xb9, 0xcd, 0xcc, 0x06, 0xc6, 0x39, 0x0e, 0xc3, 0xac, 0x88, 0x14, 0x44, 0x10, - 0x82, 0x31, 0x56, 0x90, 0xcd, 0xbf, 0x93, 0x2b, 0x6d, 0xe7, 0xe2, 0xd1, 0xd4, 0xff, 0x13, 0x60, - 0xd4, 0x96, 0x8e, 0x06, 0x2d, 0xc0, 0x29, 0x02, 0x21, 0x97, 0x29, 0xad, 0x3d, 0x7c, 0x3b, 0xf7, - 0xae, 0x63, 0xa2, 0x39, 0x98, 0x75, 0x54, 0x6f, 0xe7, 0x4a, 0xe5, 0x42, 0x66, 0x13, 0x4f, 0x39, - 0x0f, 0x09, 0x7b, 0xe5, 0x83, 0x7c, 0x69, 0x7b, 0x87, 0xd6, 0x46, 0xdc, 0x5d, 0x37, 0x32, 0x46, - 0x65, 0xd4, 0x5d, 0x59, 0xc8, 0xaf, 0xbd, 0x4d, 0x2b, 0x63, 0x68, 0x11, 0x92, 0xf6, 0xca, 0x6c, - 0x7e, 0x7b, 0x6b, 0x23, 0xf3, 0x2e, 0xad, 0xef, 0x43, 0xb3, 0x30, 0x69, 0xaf, 0xcf, 0x6d, 0x66, - 0xf2, 0x1b, 0xf1, 0x7e, 0x77, 0x05, 0xe1, 0x6c, 0x7c, 0x20, 0xf5, 0x33, 0x30, 0xc2, 0xab, 0x16, - 0x6e, 0x48, 0x1b, 0x6d, 0xe6, 0x76, 0x1e, 0x16, 0xb3, 0xe5, 0xdc, 0xe7, 0x1f, 0x65, 0x36, 0xb6, - 0xe3, 0xaf, 0x60, 0x92, 0x6c, 0x15, 0xdb, 0x3b, 0x99, 0xd2, 0xce, 0x76, 0xf9, 0x71, 0x7e, 0xe7, - 0x61, 0x5c, 0xc0, 0xc2, 0x63, 0xab, 0x5d, 0x2b, 0x16, 0x76, 0x32, 0xf9, 0xc2, 0x76, 0x3c, 0x92, - 0xca, 0xc2, 0x00, 0xcb, 0x14, 0x80, 0x07, 0xdf, 0x7c, 0x90, 0xd9, 0x79, 0x77, 0xcb, 0x29, 0x60, - 0xe3, 0x30, 0x6c, 0x54, 0x6c, 0x6f, 0x6e, 0xd3, 0x35, 0x33, 0x0a, 0x8a, 0x3b, 0x5b, 0xf1, 0x48, - 0xea, 0x29, 0x0c, 0x1a, 0x19, 0x03, 0x50, 0x02, 0xa6, 0xf0, 0xdf, 0x1e, 0x82, 0x3a, 0x03, 0xc8, - 0xac, 0x29, 0x14, 0x77, 0xca, 0xa5, 0x5c, 0x26, 0xfb, 0x6e, 0x5c, 0xc0, 0x2b, 0x6e, 0x96, 0xd3, - 0xb2, 0x08, 0x96, 0x47, 0xae, 0x6c, 0xb3, 0xf8, 0x0e, 0x96, 0xd2, 0xd4, 0x43, 0x88, 0x3b, 0x3f, - 0xcc, 0x47, 0x49, 0x98, 0x29, 0x14, 0x77, 0xf2, 0x0f, 0xf2, 0x6b, 0x99, 0x9d, 0x7c, 0xb1, 0x40, - 0x50, 0x51, 0xc6, 0xbe, 0x82, 0xb1, 0xb8, 0xea, 0x08, 0x09, 0xa9, 0x36, 0x0c, 0x73, 0xdf, 0x23, - 0xe2, 0x75, 0xdd, 0x2a, 0x6e, 0xe4, 0xd7, 0xde, 0xf5, 0xc1, 0xcd, 0x57, 0x9a, 0x2a, 0x96, 0x80, - 0x29, 0xbe, 0x9c, 0x53, 0xb2, 0x59, 0x98, 0xe4, 0x6b, 0x4c, 0x35, 0x4b, 0x6d, 0xc1, 0xa0, 0xf1, - 0xfd, 0x18, 0xee, 0x5e, 0x2c, 0xad, 0x7b, 0x4d, 0x38, 0x09, 0xe3, 0x66, 0x8d, 0x39, 0xdb, 0x34, - 0x4c, 0x98, 0x85, 0xd6, 0x54, 0xa9, 0xdf, 0x10, 0x00, 0xb9, 0x3f, 0xec, 0x40, 0x22, 0x2c, 0x16, - 0x4b, 0xeb, 0x9b, 0xb9, 0xcd, 0x55, 0x7f, 0x25, 0x39, 0x03, 0x0b, 0x1e, 0x6d, 0x38, 0x65, 0x10, - 0xd0, 0x12, 0xcc, 0x7b, 0x34, 0xb1, 0x34, 0x22, 0x82, 0x25, 0xcf, 0xa3, 0x05, 0x5d, 0x80, 0x28, - 0x56, 0x09, 0x2f, 0x18, 0x58, 0x19, 0xf3, 0xd9, 0x78, 0x2c, 0x25, 0x99, 0x37, 0x5b, 0x94, 0x27, - 0xf3, 0x90, 0xd8, 0x2a, 0x15, 0x7f, 0x22, 0xb7, 0xb6, 0xe3, 0xc5, 0x17, 0xcc, 0x56, 0xbe, 0xd6, - 0xe4, 0x4d, 0x12, 0x66, 0x8c, 0x0a, 0x17, 0x83, 0x1e, 0x99, 0x6f, 0x65, 0x0d, 0x29, 0x67, 0x4d, - 0x99, 0xa4, 0xbf, 0x5d, 0x28, 0x3e, 0x2e, 0x50, 0x33, 0xca, 0x57, 0x6c, 0xe7, 0x36, 0x1e, 0xc4, - 0x05, 0x67, 0xf3, 0xf5, 0x52, 0xa6, 0x80, 0x57, 0x32, 0x92, 0x7a, 0x6c, 0xbe, 0x6d, 0xb6, 0x98, - 0xbe, 0x04, 0xf3, 0x06, 0x0c, 0x7f, 0x96, 0xbb, 0x5a, 0xb0, 0x02, 0xc6, 0xf2, 0xd4, 0x81, 0xf5, - 0xc8, 0xdf, 0xf6, 0x62, 0x12, 0x9d, 0x83, 0x25, 0xd6, 0xb4, 0x54, 0xdc, 0xc8, 0xf9, 0xcd, 0xb0, - 0x00, 0xa7, 0x3c, 0x5b, 0xb1, 0x05, 0x3d, 0x0f, 0x67, 0x3c, 0xab, 0x6d, 0xa6, 0x2a, 0x92, 0xfa, - 0xbe, 0xf5, 0xf6, 0xd3, 0x29, 0x59, 0x17, 0x40, 0x64, 0x23, 0x74, 0x96, 0x2e, 0x6b, 0xa6, 0x8e, - 0x12, 0x66, 0x51, 0xd5, 0x49, 0xca, 0x2c, 0xce, 0xfa, 0x49, 0x9a, 0x08, 0x8b, 0x7e, 0xb0, 0x4c, - 0x69, 0xdb, 0x82, 0x41, 0xe3, 0xd9, 0x1d, 0xd6, 0xbe, 0xcc, 0xd6, 0x96, 0x8f, 0xf6, 0x99, 0x35, - 0xbc, 0xf6, 0x99, 0x85, 0x9c, 0x70, 0x7d, 0x81, 0xbe, 0x14, 0xe1, 0x1f, 0x5d, 0x60, 0x6b, 0x4b, - 0xca, 0x72, 0xdb, 0x5b, 0xc5, 0xc2, 0x76, 0x8e, 0xc8, 0xcd, 0x5a, 0x31, 0x9b, 0xa3, 0x8b, 0xe3, - 0xaa, 0xca, 0x67, 0xcb, 0x3b, 0xc5, 0xb7, 0x73, 0x85, 0xb8, 0x80, 0xce, 0xc2, 0x69, 0x57, 0x35, - 0xa9, 0xb3, 0x1a, 0x45, 0x52, 0x2a, 0x8c, 0xda, 0x5e, 0x64, 0x60, 0x0e, 0x92, 0x02, 0x2c, 0x9a, - 0xa4, 0x4b, 0xe6, 0xd1, 0xce, 0xc3, 0x62, 0x29, 0xff, 0x93, 0xc4, 0xe6, 0x19, 0x53, 0x27, 0x61, - 0xc6, 0xde, 0x2a, 0xbf, 0xb9, 0xb5, 0x91, 0x5f, 0xcb, 0xef, 0xc4, 0x05, 0x74, 0x1a, 0xe6, 0xec, - 0x75, 0xa5, 0xdc, 0x83, 0x52, 0x6e, 0xfb, 0xa1, 0x39, 0xe7, 0x33, 0x98, 0xf4, 0x78, 0xb0, 0x81, - 0xad, 0x26, 0x29, 0xde, 0xc2, 0x23, 0x59, 0x16, 0xf6, 0x71, 0x6e, 0x35, 0xfe, 0x0a, 0xb1, 0x40, - 0x1e, 0x95, 0x64, 0x35, 0x32, 0xeb, 0xb9, 0x02, 0x9e, 0x18, 0x9b, 0x07, 0x8f, 0x36, 0x85, 0x0c, - 0x63, 0x6f, 0x03, 0x90, 0xfb, 0x21, 0x07, 0x31, 0x39, 0xb8, 0xf4, 0xd1, 0x0e, 0xdb, 0xd0, 0x48, - 0xa7, 0xd5, 0xcc, 0x76, 0x7e, 0x8d, 0x6e, 0xfd, 0x1e, 0xb5, 0x5b, 0xc5, 0x6d, 0x3c, 0xa1, 0x77, - 0x65, 0xa1, 0x58, 0xc0, 0xb3, 0x95, 0x61, 0xca, 0xeb, 0xaa, 0x1f, 0x33, 0x98, 0x43, 0xb8, 0x9d, - 0x2b, 0x65, 0x7c, 0x54, 0xdb, 0xd6, 0xca, 0x10, 0xbf, 0xcc, 0xd6, 0x96, 0xa1, 0xda, 0xba, 0xf9, - 0xf4, 0xdd, 0x0a, 0xc8, 0x72, 0x26, 0x81, 0xf0, 0xdf, 0x4b, 0x22, 0x2d, 0xab, 0xc8, 0x35, 0x31, - 0x45, 0x73, 0x11, 0x92, 0xee, 0x5a, 0x4e, 0x46, 0xff, 0xc8, 0x11, 0x7e, 0x71, 0x2a, 0xf4, 0x15, - 0xb8, 0xc8, 0xf7, 0xef, 0xac, 0xd5, 0x29, 0xb8, 0xd0, 0xa9, 0xb1, 0x4d, 0xb5, 0x2f, 0xc3, 0xf9, - 0x4e, 0x6d, 0x79, 0xfd, 0xb6, 0x8c, 0x85, 0x67, 0x53, 0x43, 0xc9, 0x2f, 0xc2, 0xd9, 0x8e, 0x50, - 0x4d, 0x4d, 0xdf, 0x85, 0x31, 0x7b, 0xdc, 0xdb, 0x70, 0xce, 0x7c, 0x79, 0xcc, 0x1c, 0x6c, 0x2f, - 0x06, 0x33, 0xa7, 0xcf, 0x9b, 0xbb, 0x5f, 0x67, 0xc9, 0x0a, 0xed, 0x27, 0x2a, 0x2c, 0xfd, 0x56, - 0x1f, 0xff, 0xcd, 0xc0, 0xa3, 0x8d, 0xb1, 0x1d, 0xe4, 0xb3, 0x74, 0x6d, 0xbd, 0x86, 0x61, 0x74, - 0x46, 0x0c, 0x37, 0xd8, 0x51, 0x5f, 0x2c, 0xad, 0xe3, 0xea, 0x28, 0x01, 0xe7, 0x3e, 0xee, 0x61, - 0x70, 0x58, 0x03, 0x3a, 0x82, 0x5b, 0x80, 0x53, 0x1e, 0x6d, 0xd8, 0xc8, 0x02, 0x91, 0x76, 0x77, - 0x35, 0x87, 0x3d, 0x82, 0xb1, 0x7b, 0xcd, 0xc2, 0xb0, 0x47, 0x57, 0xbe, 0xfa, 0x35, 0x01, 0x26, - 0x36, 0xcd, 0x83, 0xd7, 0xb6, 0xac, 0x3e, 0xab, 0x57, 0x64, 0xf4, 0x36, 0x0c, 0x3c, 0x94, 0xa5, - 0x86, 0xbe, 0xfb, 0x45, 0x34, 0xe3, 0xba, 0x4e, 0xc8, 0xed, 0xb5, 0xf4, 0xfd, 0xa4, 0x4f, 0xb9, - 0x18, 0x3f, 0xf8, 0xfe, 0x7f, 0xff, 0x5a, 0x04, 0xd0, 0x60, 0x7a, 0x97, 0x8d, 0xb0, 0x0e, 0x7d, - 0x25, 0x59, 0xaa, 0xee, 0x87, 0x1e, 0x6a, 0x8c, 0x0c, 0x35, 0x88, 0xfa, 0xd3, 0x2a, 0xe9, 0x5f, - 0x80, 0xc1, 0x77, 0x58, 0x5e, 0x77, 0xdf, 0xb1, 0xfc, 0xb2, 0x84, 0x8b, 0x13, 0x64, 0xb0, 0x61, - 0x34, 0x64, 0xe6, 0x86, 0x47, 0x5f, 0x82, 0xe1, 0x75, 0x99, 0x04, 0x68, 0x56, 0xf7, 0xf3, 0x59, - 0x74, 0x21, 0x48, 0xa4, 0x24, 0x9f, 0x4d, 0x06, 0x4a, 0x51, 0x29, 0x8a, 0x07, 0x87, 0x89, 0x61, - 0x7a, 0xc5, 0xb2, 0x8c, 0xe1, 0x93, 0xe9, 0x47, 0xd1, 0x70, 0x1a, 0x97, 0x68, 0xe9, 0x0f, 0xeb, - 0xd5, 0x8f, 0xd0, 0x37, 0x04, 0x98, 0x32, 0x11, 0x90, 0x5c, 0x7a, 0xeb, 0x0d, 0xe5, 0x89, 0xd4, - 0x40, 0x57, 0x82, 0x4c, 0xc1, 0x72, 0x8e, 0x07, 0xc4, 0xb3, 0xe2, 0x85, 0x67, 0x01, 0xcd, 0xa5, - 0x6b, 0x64, 0x4a, 0x06, 0x8b, 0xdc, 0xd5, 0xa4, 0x3f, 0x24, 0xff, 0x7c, 0x84, 0xfe, 0x96, 0x00, - 0xc3, 0x54, 0x62, 0xf1, 0x10, 0x1a, 0xba, 0x11, 0x3c, 0x5d, 0x29, 0x0b, 0x12, 0x25, 0x57, 0xc2, - 0x74, 0xa1, 0x1b, 0xb8, 0x78, 0xc9, 0x0b, 0xea, 0xa4, 0x38, 0xc6, 0x30, 0x96, 0x35, 0xd2, 0xfc, - 0x8e, 0x90, 0xc2, 0x00, 0x47, 0xf2, 0x1a, 0x1e, 0x82, 0xa6, 0x35, 0x0f, 0x80, 0xd0, 0x99, 0x87, - 0x3d, 0x00, 0x42, 0x57, 0x6a, 0x75, 0xf1, 0xa2, 0x17, 0x42, 0x84, 0xe2, 0x06, 0xc2, 0xba, 0x46, - 0xd3, 0xae, 0xa3, 0x9f, 0x13, 0x00, 0xac, 0x34, 0xeb, 0xdd, 0xe1, 0xb9, 0x52, 0xb2, 0x07, 0x5c, - 0xdd, 0x33, 0x07, 0x87, 0x89, 0x11, 0x00, 0x02, 0xe8, 0xb9, 0x5a, 0xd7, 0x65, 0x2a, 0xed, 0x62, - 0x3f, 0x45, 0x84, 0x79, 0xf5, 0x55, 0x01, 0xc6, 0xb2, 0xb2, 0x54, 0xd1, 0xeb, 0xcf, 0x0c, 0x38, - 0xc7, 0x2b, 0xf1, 0x2b, 0x9e, 0x18, 0xe6, 0x93, 0xb3, 0x9c, 0xc8, 0xa7, 0xcb, 0x55, 0x13, 0x82, - 0x01, 0xaa, 0xf4, 0xc3, 0x07, 0xa5, 0xda, 0x40, 0xfd, 0x25, 0x01, 0x06, 0x37, 0x94, 0xca, 0xfb, - 0x27, 0x00, 0xe7, 0xaa, 0x27, 0x9c, 0x99, 0xe4, 0x84, 0x0d, 0x4e, 0x43, 0xa9, 0xbc, 0x8f, 0x81, - 0xfc, 0xbc, 0x00, 0xf0, 0xa8, 0xd9, 0x38, 0x19, 0x28, 0xcb, 0x9e, 0x50, 0x12, 0xc9, 0x49, 0x1b, - 0x94, 0x76, 0xd3, 0x00, 0xa3, 0x02, 0x64, 0xe5, 0x86, 0x1c, 0x72, 0x95, 0xfc, 0x6c, 0xfb, 0xb9, - 0x83, 0xc3, 0xc4, 0x28, 0x0c, 0x93, 0xd9, 0xab, 0x64, 0x58, 0x6a, 0x20, 0x53, 0x36, 0x03, 0xf9, - 0x15, 0x96, 0x7b, 0xd3, 0xf8, 0x0f, 0x32, 0xae, 0x05, 0xfc, 0xff, 0x30, 0x98, 0xee, 0x5c, 0x0c, - 0xd6, 0x5c, 0x13, 0x53, 0x5e, 0xfa, 0x3c, 0x8d, 0x6c, 0xac, 0x30, 0xfe, 0x8b, 0x8d, 0x7f, 0x80, - 0xf7, 0x73, 0xee, 0xab, 0x85, 0x13, 0x86, 0xf6, 0xfa, 0xc1, 0x61, 0x02, 0x99, 0x97, 0x05, 0xcb, - 0x52, 0xab, 0x65, 0x21, 0x9c, 0x47, 0xc9, 0x34, 0xf7, 0x5e, 0xdb, 0x01, 0xf4, 0xaf, 0x0a, 0x00, - 0x45, 0xb5, 0x76, 0xd2, 0x00, 0xb1, 0xb5, 0x06, 0x72, 0xb9, 0x6f, 0x01, 0x9b, 0x42, 0x28, 0xad, - 0xa8, 0x35, 0x07, 0xa0, 0xaf, 0x0b, 0xe6, 0xfb, 0xc4, 0x93, 0x06, 0x75, 0xfd, 0xe0, 0x30, 0x31, - 0x66, 0xbe, 0x1b, 0xb0, 0x80, 0x25, 0xd0, 0x4c, 0xda, 0x48, 0x1e, 0x61, 0x07, 0xf7, 0x15, 0x01, - 0xc6, 0xd8, 0x5e, 0x6c, 0x64, 0x93, 0x0e, 0x2a, 0xe3, 0x81, 0x76, 0x6b, 0x36, 0x68, 0x20, 0x51, - 0x6b, 0x31, 0x00, 0xff, 0x58, 0x80, 0x09, 0x57, 0xd6, 0x65, 0xd4, 0xf5, 0xab, 0x40, 0xbf, 0x44, - 0xcd, 0xe1, 0x80, 0x06, 0xb2, 0x0f, 0x0c, 0x29, 0xb6, 0x0f, 0x7f, 0x59, 0x80, 0x11, 0xc6, 0x40, - 0x9a, 0xd8, 0x38, 0x28, 0xfb, 0x2e, 0x07, 0x76, 0x76, 0x7c, 0x3c, 0x03, 0x64, 0xb3, 0x9e, 0xf4, - 0xb9, 0xc9, 0xb7, 0x04, 0x18, 0xa7, 0xc2, 0x60, 0x01, 0xba, 0x15, 0x9c, 0x71, 0x7c, 0xd6, 0xe4, - 0x30, 0x00, 0x03, 0xd9, 0x77, 0x82, 0x10, 0xb3, 0xec, 0x9b, 0x02, 0xcc, 0x95, 0x64, 0x4d, 0x6e, - 0x56, 0xb9, 0x44, 0xca, 0x54, 0x97, 0x37, 0xc3, 0x70, 0xd0, 0xcf, 0xc8, 0xbe, 0xe5, 0x89, 0x26, - 0x25, 0x9e, 0x77, 0xa1, 0xc1, 0x5b, 0x20, 0xc6, 0xf1, 0x8c, 0x83, 0xe0, 0x58, 0x54, 0x9a, 0xd6, - 0xf9, 0x58, 0x17, 0x95, 0x0c, 0x19, 0x68, 0x51, 0x69, 0xda, 0x66, 0xfb, 0xa2, 0x52, 0x40, 0x21, - 0x16, 0x95, 0xcf, 0x19, 0x1d, 0x06, 0x60, 0xa0, 0x45, 0x25, 0x08, 0xed, 0x8b, 0xca, 0xe5, 0x91, - 0x66, 0x7b, 0x85, 0x52, 0x95, 0x5f, 0xcc, 0xa2, 0x12, 0x34, 0x7e, 0x8b, 0xca, 0x99, 0x3a, 0x23, - 0xa9, 0xf5, 0xb1, 0x9a, 0x3a, 0x23, 0x1d, 0x73, 0x10, 0x53, 0xc7, 0x32, 0x3b, 0x3b, 0x4c, 0x9d, - 0x01, 0x2b, 0x84, 0xa9, 0xb3, 0xa7, 0xb8, 0x0e, 0x07, 0x34, 0x90, 0xa9, 0x63, 0x48, 0x31, 0x03, - 0xff, 0x8a, 0x60, 0x9e, 0x1c, 0x37, 0x9f, 0x4a, 0xc1, 0xb9, 0x77, 0x35, 0x44, 0x06, 0x6a, 0xad, - 0xdb, 0x21, 0x83, 0x80, 0xda, 0xc3, 0xd3, 0xff, 0x53, 0x01, 0xe6, 0xb6, 0xe5, 0x66, 0xd5, 0x27, - 0x1b, 0x33, 0xba, 0xd7, 0xfd, 0xea, 0xb8, 0x53, 0x1a, 0x67, 0x5f, 0x49, 0xbc, 0xed, 0xc9, 0xb6, - 0x33, 0xe2, 0xbc, 0xcd, 0x83, 0xc4, 0x12, 0xa8, 0xc9, 0x7a, 0xeb, 0x79, 0x13, 0x0f, 0xbd, 0x8f, - 0xf9, 0xf7, 0x35, 0x01, 0xd0, 0xb6, 0xac, 0xe7, 0x9b, 0x75, 0xbd, 0x2e, 0x35, 0x8c, 0xa9, 0x51, - 0xd7, 0xff, 0x68, 0xc3, 0x91, 0x91, 0xda, 0x17, 0xd8, 0x4d, 0x4f, 0x60, 0x8b, 0xe2, 0x29, 0x07, - 0x30, 0xbd, 0x4e, 0x11, 0xb4, 0x9e, 0x63, 0x54, 0xff, 0x50, 0x80, 0xb9, 0x75, 0x8b, 0x13, 0xae, - 0x64, 0xd1, 0x7e, 0x21, 0x87, 0xd7, 0x83, 0xc2, 0x76, 0x8e, 0x48, 0x18, 0x38, 0x0a, 0xc3, 0x2d, - 0xf2, 0xcb, 0x5a, 0xe3, 0x25, 0xb4, 0x98, 0x26, 0x65, 0x75, 0x59, 0x4b, 0x1b, 0x69, 0xb9, 0xb5, - 0x74, 0xc5, 0xec, 0x8e, 0x7e, 0x5f, 0x80, 0x45, 0x7a, 0x54, 0xf4, 0x45, 0x7b, 0xaf, 0x57, 0x54, - 0x74, 0xdc, 0x23, 0x50, 0x75, 0x97, 0xf9, 0x5e, 0x94, 0x2a, 0x8b, 0xff, 0x67, 0xc5, 0x2e, 0x64, - 0xe1, 0x45, 0xf8, 0x03, 0x01, 0x16, 0xa9, 0x52, 0x1f, 0x3f, 0x65, 0x74, 0xdc, 0x23, 0x50, 0xf6, - 0x96, 0x0f, 0x65, 0x97, 0x92, 0x67, 0x3b, 0x53, 0x46, 0x24, 0x0e, 0x93, 0xf7, 0x89, 0x00, 0x8b, - 0xf4, 0x14, 0xe5, 0x4b, 0xde, 0x9d, 0x5e, 0xe1, 0x75, 0xd8, 0x33, 0xee, 0x1d, 0x1c, 0x26, 0xc6, - 0x61, 0x94, 0x01, 0xe7, 0xce, 0x5b, 0xe7, 0x53, 0x41, 0x90, 0x63, 0x85, 0x9d, 0xe2, 0x54, 0xc3, - 0xca, 0xb6, 0xec, 0xa7, 0x13, 0x37, 0x82, 0x12, 0x61, 0x0e, 0x45, 0x5c, 0x76, 0x0f, 0x65, 0x38, - 0x85, 0x66, 0xbd, 0x10, 0x4a, 0x35, 0x19, 0xfd, 0x86, 0x00, 0xb3, 0x76, 0x2d, 0xb0, 0x80, 0xdd, - 0x0e, 0x0d, 0x80, 0xc9, 0x7d, 0x0f, 0xc8, 0x6f, 0xfa, 0x88, 0xc5, 0xbc, 0xe8, 0x07, 0x1d, 0x8b, - 0xc2, 0x6f, 0x0a, 0x30, 0x6b, 0x97, 0xf4, 0xa3, 0xa0, 0x67, 0xb2, 0xdd, 0x03, 0xfa, 0x37, 0x7c, - 0xd0, 0x9f, 0x49, 0xce, 0xfb, 0xa0, 0x37, 0xa5, 0xf9, 0x9b, 0x02, 0xcc, 0xda, 0xa5, 0xd9, 0x22, - 0xe1, 0xd5, 0xd0, 0x48, 0x3a, 0xc8, 0xef, 0x6d, 0x3f, 0xf9, 0x5d, 0x4c, 0x75, 0x04, 0x89, 0x11, - 0x26, 0x38, 0xc1, 0xb5, 0xa7, 0x5b, 0xf6, 0x13, 0xde, 0xd7, 0x82, 0x42, 0xb7, 0x0d, 0x47, 0xc4, - 0xc0, 0x43, 0x80, 0x17, 0xd0, 0x9c, 0x17, 0xc4, 0x06, 0xed, 0x8b, 0x7e, 0x47, 0x80, 0x39, 0xbb, - 0x10, 0xdb, 0x41, 0xde, 0xed, 0x09, 0x0c, 0x13, 0xe6, 0x1e, 0x29, 0x79, 0xdd, 0x47, 0x24, 0x96, - 0xc4, 0x4e, 0xa4, 0x60, 0x89, 0xf8, 0x0f, 0x02, 0xcc, 0xd9, 0x85, 0xfa, 0x38, 0xa8, 0x61, 0xc2, - 0xdd, 0x23, 0x35, 0x6f, 0xfa, 0x50, 0x73, 0x3e, 0xb9, 0xd4, 0x81, 0x1a, 0x53, 0xc8, 0xbf, 0x2d, - 0xc0, 0x9c, 0x5d, 0xc8, 0xed, 0x24, 0xdd, 0xee, 0x09, 0x55, 0x07, 0x61, 0xbf, 0xeb, 0x27, 0xec, - 0x62, 0xaa, 0x2b, 0x60, 0xf4, 0x45, 0x80, 0x75, 0x59, 0x2f, 0xaa, 0x35, 0x72, 0xa5, 0x71, 0x3e, - 0x40, 0x3a, 0xd2, 0x7c, 0x36, 0x79, 0x36, 0x40, 0x33, 0x71, 0xc9, 0x23, 0xce, 0x33, 0x82, 0xc0, - 0x8a, 0xf3, 0xa0, 0xaf, 0xd3, 0x5d, 0x82, 0x4c, 0x4e, 0xbf, 0xdd, 0x60, 0xd7, 0x19, 0x41, 0xd2, - 0xc3, 0xd2, 0x0e, 0xc1, 0xa0, 0xac, 0x78, 0x40, 0x59, 0x44, 0xf3, 0xc6, 0x55, 0x06, 0x41, 0x44, - 0xbf, 0x26, 0x49, 0x7f, 0x48, 0xff, 0xfd, 0x08, 0xfd, 0x82, 0x00, 0xa3, 0x56, 0xf8, 0xbb, 0xa8, - 0xd6, 0x8e, 0x95, 0x39, 0xd7, 0xa9, 0xaf, 0x8e, 0x11, 0x59, 0x02, 0x36, 0x97, 0x9c, 0xe1, 0xa2, - 0x60, 0x8e, 0xc8, 0x37, 0xc6, 0x53, 0xfa, 0xa1, 0xe2, 0x51, 0x9d, 0x78, 0x26, 0xe8, 0xe2, 0xf1, - 0xdf, 0xac, 0xfa, 0x99, 0xc8, 0xe5, 0xe0, 0x09, 0x7f, 0xc9, 0x97, 0x8a, 0x18, 0xcf, 0x04, 0x8c, - 0x63, 0x3c, 0x7b, 0xa4, 0xd8, 0x7e, 0x20, 0x24, 0xa8, 0x68, 0x85, 0x96, 0xa6, 0x9f, 0x98, 0xfe, - 0x92, 0x00, 0x23, 0x7c, 0x5e, 0xe7, 0xee, 0x1b, 0x8a, 0x47, 0x16, 0xe8, 0x8e, 0x1b, 0x0a, 0x82, - 0x38, 0x87, 0x87, 0x63, 0x93, 0x68, 0xb0, 0x89, 0x7e, 0xb9, 0xf1, 0x91, 0x81, 0x0c, 0xb3, 0xe9, - 0xef, 0x99, 0x21, 0x08, 0x0b, 0xd9, 0xad, 0x60, 0x51, 0xc9, 0xc0, 0xe0, 0x32, 0x1d, 0xc0, 0x61, - 0xa3, 0xe5, 0x09, 0x2e, 0xfd, 0x21, 0xfb, 0x2a, 0x83, 0x18, 0xad, 0x6f, 0x09, 0x30, 0xee, 0x48, - 0x2c, 0xdd, 0x1d, 0xa6, 0x77, 0x26, 0x6a, 0x5f, 0x98, 0xf7, 0x0f, 0x0e, 0x13, 0x93, 0x30, 0xc1, - 0xc1, 0x74, 0xd8, 0xaa, 0x2e, 0x38, 0xd1, 0xf7, 0x04, 0x88, 0xd3, 0xab, 0x3f, 0x73, 0x4e, 0xad, - 0x3b, 0x4a, 0xef, 0xa4, 0xd1, 0xc9, 0xdb, 0xa1, 0xfb, 0xb1, 0xbb, 0xbc, 0x7b, 0xfe, 0xa2, 0x89, - 0x4f, 0x2c, 0xde, 0x44, 0x70, 0x77, 0x90, 0x1f, 0x0b, 0x30, 0x46, 0x87, 0x34, 0x53, 0x1b, 0xdf, - 0x0c, 0x95, 0x6a, 0xd5, 0xa0, 0xe0, 0xb5, 0x90, 0xbd, 0x18, 0xfe, 0x65, 0x9f, 0x50, 0xf7, 0x8c, - 0x38, 0x61, 0x85, 0xba, 0x39, 0xbc, 0xbf, 0x68, 0x25, 0xae, 0x24, 0x7b, 0xc4, 0xe5, 0x80, 0xd3, - 0xe6, 0xb3, 0xc9, 0xa0, 0xc9, 0x72, 0x49, 0xc4, 0x0c, 0xd9, 0x31, 0xa1, 0x48, 0x9e, 0xe2, 0x8a, - 0xa3, 0x31, 0x7b, 0x08, 0x1e, 0xfd, 0x0d, 0x01, 0x46, 0x99, 0x0b, 0xc4, 0x52, 0x39, 0x07, 0x65, - 0xa0, 0x2d, 0x8b, 0x75, 0x70, 0x78, 0x17, 0xd9, 0x0e, 0xcb, 0xe0, 0x59, 0xda, 0x35, 0x26, 0x0e, - 0x99, 0xd8, 0x30, 0xaf, 0xfe, 0xb6, 0x00, 0xa3, 0xcc, 0x9d, 0x09, 0x89, 0xcc, 0x96, 0x27, 0x3b, - 0x38, 0xb2, 0xeb, 0x44, 0xa7, 0xec, 0xc8, 0x4c, 0xce, 0x4d, 0x26, 0x1d, 0x9c, 0xc3, 0x10, 0xff, - 0xbe, 0x00, 0x13, 0xd6, 0xbe, 0x66, 0xc0, 0x3c, 0x89, 0x45, 0xfd, 0x5c, 0x27, 0x6c, 0xa7, 0x93, - 0x49, 0xc7, 0xc5, 0x8a, 0x63, 0xbf, 0xc3, 0x38, 0x4b, 0x2f, 0x25, 0x4e, 0xfb, 0x3e, 0xf8, 0x2d, - 0x01, 0x92, 0xeb, 0xb2, 0xce, 0xd2, 0x60, 0xf0, 0x6f, 0xb6, 0x88, 0xb6, 0x74, 0xdd, 0xf8, 0xec, - 0xf9, 0x33, 0x92, 0xa1, 0xf2, 0x55, 0x88, 0x17, 0x7c, 0x74, 0x79, 0x0c, 0x8d, 0xa4, 0xc9, 0x67, - 0x42, 0xd6, 0xc3, 0x91, 0x69, 0x7c, 0xac, 0x71, 0xa7, 0x4c, 0xf6, 0xdb, 0xb0, 0x57, 0xc2, 0xa5, - 0xbf, 0x24, 0x9b, 0x36, 0x3e, 0x06, 0x4c, 0xc3, 0xa4, 0x81, 0xc6, 0x69, 0x1d, 0xc9, 0xc9, 0xdc, - 0x60, 0xa5, 0x7d, 0xf3, 0xfe, 0x43, 0x01, 0xa6, 0x6c, 0x36, 0xd1, 0xb0, 0xee, 0x77, 0x7a, 0x48, - 0x32, 0x69, 0x28, 0xd1, 0xdd, 0x9e, 0xfa, 0x32, 0x2b, 0xf9, 0xe8, 0xe0, 0x30, 0xb1, 0xe4, 0x49, - 0x0b, 0x32, 0xff, 0xdf, 0x7f, 0x4a, 0xd6, 0x15, 0xf1, 0x02, 0x27, 0x21, 0xd6, 0x87, 0x66, 0x9e, - 0xc6, 0xff, 0x1b, 0x02, 0xc4, 0x33, 0xd5, 0xaa, 0x3d, 0x1d, 0xf5, 0xf5, 0x50, 0x40, 0x33, 0xd5, - 0x6a, 0xc7, 0x2d, 0x36, 0x09, 0x53, 0x0e, 0xd4, 0x76, 0x89, 0xc6, 0xee, 0x8a, 0x5d, 0xa2, 0x39, - 0x77, 0xe5, 0x63, 0x01, 0x26, 0xa9, 0xf7, 0x61, 0x87, 0xf8, 0x6a, 0x28, 0x88, 0x74, 0x04, 0x5f, - 0x94, 0xf9, 0x00, 0x28, 0xc9, 0x61, 0xcb, 0x0b, 0xa5, 0xdd, 0x6f, 0xf9, 0xb6, 0x00, 0x93, 0xd4, - 0x0d, 0x39, 0x0a, 0x5e, 0x3a, 0x82, 0x2f, 0xde, 0xf5, 0x83, 0xc3, 0xc4, 0x1c, 0x4c, 0x3b, 0xf0, - 0x52, 0xe7, 0xc5, 0x04, 0x4c, 0x0e, 0x5b, 0x9d, 0x01, 0xa3, 0x3f, 0x20, 0x71, 0x6c, 0x4e, 0xcc, - 0xa9, 0x0e, 0xbe, 0x1e, 0x3a, 0x19, 0xaf, 0x21, 0xe2, 0x6f, 0xf4, 0xd0, 0x93, 0x09, 0xf8, 0xe7, - 0x0f, 0x0e, 0x13, 0x8b, 0x30, 0x61, 0x9a, 0x0e, 0xa5, 0x21, 0x7b, 0x8a, 0xf7, 0x65, 0xf1, 0x9c, - 0x8f, 0x78, 0x13, 0xd5, 0xe5, 0x85, 0xfb, 0x97, 0x05, 0x18, 0xb3, 0x84, 0x9b, 0x64, 0xb9, 0x5e, - 0x0e, 0x01, 0xb0, 0x93, 0x60, 0xe3, 0x33, 0x6e, 0x02, 0x90, 0x0d, 0xad, 0x5d, 0x60, 0x4e, 0x89, - 0x53, 0x0e, 0xfe, 0x13, 0x7c, 0x6c, 0x57, 0x9e, 0xb0, 0x09, 0x09, 0x81, 0x76, 0x23, 0x4c, 0x6e, - 0xe8, 0xce, 0x02, 0xf2, 0xd6, 0xc1, 0x61, 0xe2, 0x94, 0x65, 0x2c, 0x08, 0x3a, 0x87, 0x78, 0x2c, - 0xa4, 0xe6, 0xbc, 0xe0, 0xa5, 0x3f, 0x6c, 0x4a, 0x7b, 0xf2, 0x47, 0xe8, 0x07, 0xa6, 0x64, 0x70, - 0x4f, 0x45, 0x02, 0x48, 0x86, 0x5f, 0x9e, 0xb7, 0xee, 0x92, 0xe1, 0x9b, 0xd5, 0x4e, 0x7c, 0x7c, - 0x70, 0x98, 0x58, 0x70, 0xbf, 0x20, 0x71, 0x0a, 0xc6, 0x75, 0xf1, 0x8a, 0x8f, 0x60, 0xd8, 0x9e, - 0x98, 0x70, 0xf2, 0xf1, 0x9b, 0x02, 0x8c, 0x73, 0xd3, 0x92, 0xfd, 0xf1, 0x5a, 0x08, 0x9c, 0x41, - 0xee, 0x13, 0xb9, 0xe6, 0x44, 0xc4, 0x03, 0x10, 0x92, 0x42, 0x97, 0x82, 0x10, 0x42, 0x36, 0xd2, - 0xdf, 0x13, 0x60, 0x9a, 0x3a, 0x91, 0x8e, 0xb7, 0xf5, 0xe8, 0xb5, 0x90, 0xd9, 0x13, 0x59, 0xc4, - 0x2d, 0x14, 0x41, 0x3b, 0x76, 0x9d, 0xc5, 0x04, 0x51, 0x25, 0x70, 0x50, 0x74, 0x55, 0xbc, 0xe8, - 0x43, 0x91, 0x52, 0xaf, 0x56, 0x78, 0xaa, 0xf0, 0xb2, 0xfc, 0xb6, 0x79, 0x95, 0xca, 0xd3, 0x73, - 0x23, 0x04, 0x30, 0x16, 0x6f, 0x0b, 0x45, 0xcb, 0xa3, 0x80, 0xb4, 0x5c, 0x4b, 0x06, 0x5e, 0x1d, - 0x4c, 0xcc, 0x7f, 0x16, 0x60, 0xda, 0x72, 0x6f, 0x79, 0x82, 0x4e, 0x52, 0xd2, 0xa4, 0x80, 0xc4, - 0xbc, 0x91, 0xbc, 0x19, 0x94, 0x18, 0xa7, 0x3f, 0x8c, 0x09, 0x2b, 0xfd, 0xd9, 0x20, 0xcc, 0xee, - 0x40, 0xff, 0x4f, 0x33, 0x04, 0xcc, 0x4d, 0xcc, 0xa5, 0x80, 0xbe, 0x1e, 0x3c, 0x7b, 0x35, 0x93, - 0xc3, 0x10, 0xf9, 0xae, 0xc5, 0x46, 0x40, 0x02, 0xb3, 0xc9, 0xfb, 0x81, 0x08, 0xb4, 0x27, 0x94, - 0xa5, 0x0a, 0x47, 0xd3, 0x67, 0x63, 0x5a, 0xff, 0x97, 0x00, 0xc9, 0x92, 0x5c, 0x93, 0x9b, 0xb2, - 0xca, 0x4c, 0x88, 0x2d, 0x25, 0x69, 0xc8, 0x95, 0xec, 0x7a, 0x56, 0xe0, 0x07, 0x17, 0xf5, 0x80, - 0x94, 0x6e, 0x24, 0xd7, 0x03, 0x2f, 0xa5, 0x45, 0x5d, 0xba, 0x4c, 0x1f, 0xc6, 0xd1, 0xec, 0xa9, - 0x34, 0xa3, 0x2a, 0xa6, 0xf8, 0xbf, 0x0a, 0x30, 0x69, 0x73, 0x79, 0xc8, 0xc1, 0x45, 0x43, 0x6f, - 0x84, 0xca, 0x19, 0x69, 0xdb, 0xda, 0xee, 0xf4, 0xd2, 0x95, 0xed, 0x6d, 0xdb, 0x07, 0x87, 0x89, - 0xd3, 0x96, 0x1f, 0x41, 0xce, 0x48, 0xde, 0x9b, 0x82, 0x78, 0xde, 0x87, 0x0b, 0xec, 0x5c, 0xc5, - 0xed, 0x6b, 0x9f, 0x08, 0xe6, 0x77, 0x85, 0x21, 0x0e, 0x7e, 0xf6, 0xcc, 0x8b, 0x21, 0x0f, 0x7e, - 0xab, 0x07, 0x87, 0x89, 0x29, 0x2f, 0x3a, 0x08, 0xf8, 0x73, 0x48, 0xec, 0x0c, 0x9e, 0xec, 0x65, - 0xbf, 0x26, 0x00, 0xb2, 0x85, 0x51, 0xe8, 0x57, 0xf2, 0xa1, 0xf2, 0xa5, 0xb1, 0x5d, 0x2c, 0x1c, - 0xf8, 0x8c, 0xfd, 0x9c, 0x48, 0xc1, 0x5b, 0x41, 0x15, 0x51, 0x5c, 0xe8, 0x88, 0x1e, 0xb3, 0xfc, - 0xbb, 0x02, 0x20, 0x5b, 0xa0, 0xa5, 0x07, 0xec, 0xcc, 0x5a, 0x84, 0xc3, 0xfe, 0xa0, 0x33, 0xf6, - 0x8b, 0xc9, 0x00, 0x9c, 0x67, 0x9b, 0xee, 0x8c, 0x2b, 0x0c, 0x43, 0x89, 0x38, 0x59, 0xc9, 0x29, - 0x75, 0x26, 0xe0, 0xd5, 0xe4, 0x72, 0x77, 0x02, 0x9c, 0x7b, 0x13, 0x26, 0xa6, 0xf4, 0xa3, 0x4b, - 0x8c, 0x7d, 0x3f, 0xfa, 0x84, 0x06, 0x74, 0xfc, 0xb2, 0x72, 0xfa, 0x05, 0x4c, 0x6e, 0xf7, 0x90, - 0x66, 0x90, 0x44, 0x4d, 0x72, 0xe4, 0x74, 0x79, 0xca, 0x4e, 0x83, 0x33, 0x76, 0x42, 0x9e, 0xf8, - 0x18, 0x94, 0x30, 0xf0, 0xf6, 0x10, 0xca, 0x41, 0x04, 0x4e, 0xb9, 0x0d, 0xad, 0x11, 0x47, 0xb9, - 0xdf, 0x6b, 0xd2, 0x3e, 0xc3, 0xe8, 0xbe, 0xd5, 0xfb, 0x00, 0xcc, 0xf4, 0x3e, 0x09, 0x42, 0xe7, - 0x9b, 0xe2, 0xeb, 0x5d, 0x56, 0xcc, 0xc8, 0x7e, 0xe3, 0x19, 0x5e, 0xf9, 0x9e, 0x00, 0xd3, 0xd6, - 0x09, 0x94, 0xcf, 0x8f, 0xfa, 0x5a, 0x78, 0xfc, 0x9d, 0xce, 0xa3, 0x3f, 0x75, 0x70, 0x98, 0x98, - 0x87, 0xa4, 0x27, 0x31, 0x96, 0xfc, 0xbd, 0x26, 0x5e, 0x0f, 0x4b, 0x0d, 0xa6, 0xe2, 0xfb, 0x02, - 0x24, 0x6c, 0x41, 0x18, 0x9e, 0x90, 0xd7, 0xc3, 0x13, 0xd2, 0x25, 0x1c, 0x23, 0x07, 0xa2, 0xe5, - 0x7e, 0xf2, 0x4e, 0xe8, 0x95, 0xb1, 0x85, 0x6a, 0x7e, 0x4f, 0x80, 0x84, 0xed, 0x14, 0x7e, 0x44, - 0xaa, 0xba, 0x9c, 0xc9, 0x2b, 0xe4, 0xf0, 0x37, 0xe7, 0x49, 0x15, 0x77, 0xef, 0xf4, 0xb9, 0xd4, - 0x11, 0xc8, 0x42, 0xbf, 0x6e, 0xde, 0x48, 0x99, 0x9f, 0x93, 0x06, 0xb8, 0x91, 0xf2, 0x4e, 0xf1, - 0xd4, 0xdd, 0x82, 0xf8, 0x64, 0x3f, 0x13, 0x5f, 0xa3, 0x37, 0x52, 0xe4, 0xf9, 0xa2, 0xc3, 0x13, - 0x48, 0x8a, 0xd3, 0xec, 0x0d, 0xa3, 0xdb, 0x6d, 0xf9, 0x16, 0x4b, 0xd0, 0x62, 0xf9, 0x2c, 0x57, - 0x02, 0x23, 0x08, 0xfa, 0x62, 0x9b, 0x9a, 0xe9, 0x37, 0xfc, 0x01, 0x2e, 0x22, 0xf3, 0xf5, 0xa7, - 0xc1, 0x55, 0x9b, 0x93, 0xf2, 0x2b, 0x02, 0x8c, 0x5b, 0x1f, 0xb9, 0xd1, 0x3d, 0x25, 0x1d, 0x78, - 0x66, 0xe6, 0x9e, 0x84, 0x80, 0xca, 0x3e, 0x9f, 0xe1, 0xa0, 0xda, 0xdf, 0x67, 0x79, 0x63, 0xc5, - 0xec, 0xfc, 0x27, 0x02, 0x8c, 0x5b, 0xcf, 0x8b, 0xc3, 0x22, 0x65, 0xce, 0x48, 0x08, 0xa4, 0x6f, - 0x76, 0x40, 0x7a, 0x26, 0xd9, 0x91, 0xab, 0x18, 0xee, 0x77, 0x04, 0x98, 0xb4, 0x7f, 0xde, 0x47, - 0x21, 0x9f, 0x94, 0x0c, 0xe4, 0x3b, 0xc0, 0xc5, 0x67, 0xfc, 0x0e, 0x70, 0x9d, 0xee, 0xc6, 0x77, - 0x48, 0xd0, 0xf7, 0x47, 0x04, 0xba, 0xdd, 0xb9, 0xf8, 0x23, 0x01, 0x66, 0x6d, 0xbb, 0x34, 0x67, - 0x37, 0x82, 0xe6, 0xf3, 0x3d, 0x6e, 0xf3, 0xf1, 0xde, 0xc1, 0x61, 0xe2, 0x1c, 0xcc, 0x1a, 0x96, - 0xd2, 0xa1, 0xa5, 0xc1, 0xc3, 0x7e, 0x7e, 0x76, 0xe6, 0xbf, 0x58, 0xc9, 0x51, 0xec, 0xe6, 0x66, - 0x25, 0x2c, 0xc1, 0xe1, 0x96, 0xed, 0x49, 0x28, 0xba, 0x6e, 0xa2, 0x95, 0x8e, 0x74, 0x79, 0x9b, - 0xa7, 0xdf, 0x17, 0x60, 0xc6, 0x76, 0x86, 0x7a, 0x31, 0x56, 0x4a, 0x3a, 0x38, 0x4c, 0x9c, 0x87, - 0x84, 0x07, 0x69, 0x9e, 0x47, 0xfa, 0x15, 0xf1, 0x5a, 0x28, 0xda, 0xf0, 0xaa, 0xfd, 0x37, 0x01, - 0x66, 0x6c, 0x27, 0x2c, 0x8b, 0xb2, 0x5b, 0x61, 0xd7, 0x2d, 0xbc, 0x71, 0x7b, 0x1a, 0x8e, 0xc0, - 0xdb, 0xc9, 0x1e, 0x16, 0xcf, 0x08, 0xc8, 0xb8, 0x8e, 0x61, 0x16, 0xa5, 0x27, 0x2c, 0xa1, 0x6a, - 0x38, 0x2a, 0xd7, 0x92, 0xf7, 0xc2, 0x53, 0xe9, 0x34, 0x9e, 0x34, 0x04, 0xf5, 0x67, 0x9b, 0x62, - 0xbb, 0xcd, 0xfd, 0x4a, 0x04, 0xe6, 0xdd, 0x27, 0x23, 0xce, 0xf0, 0xae, 0x86, 0x8a, 0x1a, 0x1c, - 0xb3, 0xf5, 0xd5, 0x0f, 0x0e, 0x13, 0x69, 0x58, 0xb0, 0xfb, 0xa9, 0x4e, 0x5b, 0x65, 0xff, 0x6f, - 0x3a, 0x28, 0x6f, 0xee, 0x8a, 0xb7, 0x0c, 0xde, 0x18, 0xc4, 0x3b, 0x33, 0x84, 0xfa, 0xdb, 0xe4, - 0x3f, 0x16, 0xec, 0xff, 0xc3, 0x85, 0xdd, 0x30, 0xdf, 0xee, 0x89, 0x21, 0xe1, 0x24, 0xe1, 0x83, - 0x5e, 0xe9, 0xbe, 0x8f, 0xde, 0x0c, 0x4a, 0xb7, 0xb7, 0xcd, 0xfe, 0x13, 0xeb, 0x05, 0xb5, 0x17, - 0x19, 0xe8, 0x6e, 0x4f, 0xd4, 0x87, 0x37, 0xe2, 0xcf, 0x0f, 0x0e, 0x13, 0xd7, 0x61, 0xd1, 0x97, - 0x03, 0x54, 0x23, 0xbc, 0x58, 0xc0, 0x9d, 0x92, 0xc3, 0xb2, 0x00, 0x2f, 0xfe, 0x97, 0x23, 0xe6, - 0xa3, 0xeb, 0x63, 0x64, 0x40, 0x78, 0x23, 0xff, 0x17, 0x7a, 0x66, 0xc0, 0x6a, 0xf2, 0x68, 0x32, - 0x80, 0xb9, 0xf0, 0xd7, 0x22, 0x70, 0xda, 0x3b, 0x02, 0x67, 0x71, 0xe2, 0x45, 0x28, 0xc2, 0xcf, - 0x09, 0x3d, 0xb3, 0xa1, 0x90, 0xcc, 0x1f, 0x89, 0x0d, 0xce, 0xbd, 0x01, 0xb3, 0xa4, 0xf4, 0xe3, - 0xce, 0x12, 0xd7, 0xf3, 0xae, 0x71, 0x76, 0x31, 0x6f, 0xe6, 0x91, 0xbd, 0x15, 0x32, 0x5b, 0x6f, - 0xe0, 0x3d, 0xc2, 0x27, 0xb3, 0xae, 0xb8, 0x48, 0xbf, 0x2f, 0x15, 0x27, 0xd3, 0x52, 0x5b, 0xdf, - 0x75, 0x59, 0xf3, 0xd5, 0xdf, 0x12, 0xbe, 0x9a, 0xf9, 0x25, 0x01, 0xad, 0xc3, 0x98, 0x95, 0x9a, + 0x26, 0x9b, 0x87, 0x93, 0x6c, 0x26, 0x8f, 0xf2, 0xb0, 0x6a, 0x6d, 0x27, 0x1b, 0x57, 0x36, 0x49, + 0x25, 0xb6, 0x7f, 0xc4, 0xd9, 0x54, 0x5c, 0xa9, 0xf2, 0x9f, 0x6c, 0x12, 0x57, 0xe5, 0x57, 0xca, + 0x79, 0xfc, 0xf0, 0xfc, 0x70, 0x5c, 0xf7, 0xd1, 0xdd, 0xb7, 0x5f, 0x40, 0x37, 0x48, 0x6a, 0xb5, + 0xde, 0xf9, 0x25, 0xe2, 0x3e, 0xbf, 0x73, 0xee, 0x39, 0xe7, 0x9e, 0x7b, 0xee, 0xed, 0x23, 0x88, + 0xef, 0x49, 0x4d, 0xa9, 0x26, 0xef, 0xc9, 0x4d, 0x7d, 0xb9, 0xa5, 0x2a, 0xba, 0x82, 0x16, 0x2b, + 0x92, 0xa2, 0x2d, 0x7f, 0xb1, 0xae, 0x4b, 0x55, 0xb9, 0xb1, 0xcc, 0x55, 0x4b, 0xad, 0xfa, 0xf2, + 0xb3, 0x1b, 0xc9, 0xf9, 0x9a, 0xa2, 0xd4, 0x1a, 0x72, 0x5a, 0x6a, 0xd5, 0xd3, 0x52, 0xb3, 0xa9, + 0xe8, 0x92, 0x5e, 0x57, 0x9a, 0x1a, 0xed, 0x9d, 0x9c, 0x63, 0xb5, 0xe4, 0xd7, 0x93, 0xf6, 0xd3, + 0xb4, 0xbc, 0xd7, 0xd2, 0xf7, 0x59, 0xe5, 0xbc, 0xb3, 0x52, 0xd3, 0xd5, 0x76, 0x85, 0x4d, 0x9c, + 0x3c, 0xed, 0xac, 0xd5, 0xeb, 0x7b, 0xb2, 0xa6, 0x4b, 0x7b, 0x2d, 0xd6, 0xe0, 0x2a, 0xf9, 0xa7, + 0x72, 0xad, 0x26, 0x37, 0xaf, 0x69, 0xcf, 0xa5, 0x5a, 0x4d, 0x56, 0xd3, 0x4a, 0x8b, 0xcc, 0xee, + 0x81, 0x64, 0xf6, 0x99, 0xd4, 0xa8, 0x57, 0x25, 0x5d, 0x4e, 0x1b, 0x7f, 0xb0, 0x8a, 0x25, 0xe7, + 0x3c, 0x55, 0x59, 0xab, 0xa8, 0xf5, 0x96, 0xae, 0xa8, 0xac, 0x45, 0x42, 0x6a, 0xeb, 0xbb, 0x74, + 0x64, 0x63, 0x02, 0x5a, 0x23, 0xbe, 0x07, 0xa3, 0x6b, 0xbb, 0x52, 0xb3, 0x26, 0x97, 0xe4, 0x2f, + 0xb4, 0x65, 0x4d, 0x47, 0x63, 0x10, 0xa9, 0x57, 0x13, 0xc2, 0x92, 0x70, 0x69, 0xa8, 0x14, 0xa9, + 0x57, 0xd1, 0x14, 0xf4, 0x35, 0xea, 0x7b, 0x75, 0x3d, 0x11, 0x59, 0x12, 0x2e, 0xc5, 0x4a, 0xf4, + 0x07, 0xba, 0x08, 0xe3, 0x1a, 0xee, 0xd0, 0xac, 0xc8, 0x65, 0xe5, 0xe9, 0x53, 0x4d, 0xd6, 0x13, + 0x51, 0x52, 0x3f, 0x66, 0x14, 0x17, 0x49, 0xa9, 0xb8, 0x0f, 0x03, 0x74, 0x7c, 0x0d, 0xbd, 0x05, + 0x03, 0x15, 0xfa, 0x67, 0x42, 0x58, 0x8a, 0x5e, 0x1a, 0x5e, 0xb9, 0xb0, 0xdc, 0x79, 0x65, 0x96, + 0x19, 0x32, 0xa3, 0x1b, 0x9a, 0x81, 0x7e, 0x36, 0x19, 0x05, 0xc3, 0x7e, 0x59, 0x18, 0xa3, 0x1c, + 0x46, 0xf1, 0xdf, 0x08, 0xd0, 0x4f, 0x47, 0x40, 0x77, 0x61, 0x98, 0x8e, 0x51, 0xc6, 0x6c, 0x23, + 0xd4, 0x0d, 0xaf, 0x24, 0x97, 0x29, 0xdf, 0x96, 0x0d, 0xbe, 0x2d, 0xef, 0x18, 0xeb, 0x53, 0x02, + 0xda, 0x3c, 0x2b, 0xe9, 0x32, 0x5a, 0x00, 0x90, 0x9f, 0xc9, 0x4d, 0xbd, 0xac, 0xef, 0xb7, 0x64, + 0x32, 0xf3, 0x50, 0x69, 0x88, 0x94, 0xec, 0xec, 0xb7, 0x64, 0x94, 0x84, 0x41, 0x83, 0x66, 0x36, + 0xbf, 0xf9, 0x1b, 0x03, 0x96, 0xab, 0x75, 0x5d, 0x51, 0x13, 0x31, 0xd2, 0x8d, 0xfd, 0x42, 0x57, + 0x20, 0x56, 0x95, 0x74, 0x29, 0xd1, 0x47, 0x80, 0xcc, 0xba, 0x80, 0x6c, 0x13, 0x31, 0x2a, 0x91, + 0x46, 0xe2, 0x3d, 0x18, 0xcd, 0xb4, 0x5a, 0x8d, 0x7a, 0x85, 0x48, 0x43, 0x3e, 0xeb, 0x5a, 0xa2, + 0x05, 0x80, 0x96, 0xaa, 0xfc, 0xac, 0x5c, 0xd1, 0xcb, 0xf5, 0xaa, 0x01, 0x90, 0x95, 0xe4, 0xab, + 0xe2, 0x1c, 0x0c, 0x6d, 0xb1, 0x1f, 0xae, 0xbe, 0x62, 0x02, 0xfa, 0x1f, 0x69, 0xb2, 0xea, 0x51, + 0x73, 0x16, 0x86, 0x71, 0x4d, 0x6e, 0x4f, 0xaa, 0x37, 0xf2, 0x59, 0xcc, 0x63, 0x19, 0xff, 0xc9, + 0x5a, 0xd0, 0x1f, 0xe2, 0x7b, 0x30, 0xf1, 0xa8, 0x59, 0xff, 0x42, 0x5b, 0xc6, 0x4d, 0x0d, 0x11, + 0xba, 0x08, 0x43, 0x6d, 0x4d, 0x56, 0xcb, 0x4d, 0x69, 0x8f, 0xf2, 0x7a, 0x68, 0x15, 0x3e, 0x5d, + 0x1d, 0x50, 0xfb, 0xe2, 0x42, 0xe2, 0xdf, 0x09, 0xa5, 0x41, 0x5c, 0x59, 0x90, 0xf6, 0x64, 0xb4, + 0x64, 0x8c, 0x19, 0x71, 0x35, 0x62, 0xe3, 0xdf, 0x00, 0xc4, 0x8f, 0xaf, 0xb5, 0x94, 0xa6, 0x26, + 0xa3, 0x39, 0x18, 0xaa, 0x6b, 0xe5, 0x36, 0xa9, 0x20, 0x13, 0x0c, 0x96, 0x06, 0xeb, 0x1a, 0x6d, + 0x28, 0xfe, 0x8f, 0x3e, 0x98, 0x58, 0x53, 0x65, 0x49, 0xef, 0x0d, 0xd3, 0x65, 0x80, 0xa7, 0x75, + 0x55, 0xd3, 0x69, 0x4b, 0x37, 0xb0, 0x21, 0x52, 0x4b, 0x9a, 0x5e, 0x84, 0xa1, 0x86, 0x64, 0xb4, + 0x8c, 0xba, 0xc7, 0xc4, 0x95, 0xa4, 0xe1, 0x79, 0x18, 0x6a, 0xd6, 0x2b, 0xef, 0xd3, 0x86, 0x44, + 0x12, 0x56, 0x07, 0x3f, 0x5d, 0xed, 0x53, 0xa3, 0xa4, 0x19, 0xae, 0x22, 0xcd, 0xae, 0xc0, 0x48, + 0xb5, 0xae, 0xb5, 0x1a, 0xd2, 0x3e, 0x6d, 0xd9, 0xe7, 0x68, 0x39, 0xcc, 0x6a, 0x49, 0xe3, 0xdb, + 0x80, 0x5a, 0xaa, 0xfc, 0x54, 0x56, 0x55, 0xb9, 0x5a, 0x6e, 0x48, 0xcd, 0x5a, 0x5b, 0xaa, 0xc9, + 0x89, 0x7e, 0x47, 0x97, 0x09, 0xb3, 0xcd, 0x06, 0x6b, 0x82, 0xee, 0x41, 0x7f, 0x4d, 0x6e, 0x56, + 0x65, 0x35, 0x31, 0xb0, 0x24, 0x5c, 0x1a, 0xeb, 0xae, 0x85, 0xeb, 0xa4, 0x75, 0x89, 0xf5, 0x42, + 0xa2, 0xb1, 0x68, 0x83, 0x64, 0xae, 0x91, 0x4f, 0x57, 0x87, 0xd4, 0x01, 0x42, 0xf1, 0xcf, 0x18, + 0xcb, 0x86, 0x52, 0x30, 0x51, 0xd7, 0xca, 0xe4, 0xef, 0xf2, 0x33, 0x59, 0xad, 0x3f, 0xad, 0xcb, + 0xd5, 0xc4, 0x10, 0x59, 0xa8, 0xf1, 0xba, 0x46, 0x44, 0xea, 0x1d, 0x56, 0x8c, 0x16, 0xa0, 0xaf, + 0xb5, 0xab, 0x34, 0xe5, 0xc4, 0x30, 0x19, 0x6f, 0xe0, 0xd3, 0xd5, 0x98, 0x1a, 0x49, 0x4c, 0x95, + 0x68, 0x29, 0x1b, 0x8a, 0xfc, 0x6d, 0x0d, 0x35, 0x62, 0x0c, 0xb5, 0x85, 0xcb, 0xcd, 0xa1, 0x44, + 0x18, 0xa8, 0x28, 0xed, 0xa6, 0xae, 0xee, 0x27, 0x46, 0x1d, 0x8c, 0x30, 0x2a, 0xd0, 0x39, 0x18, + 0x6c, 0x28, 0x15, 0xa9, 0x51, 0xd7, 0xf7, 0x13, 0x63, 0xce, 0xa5, 0x30, 0x6a, 0xd0, 0x65, 0x18, + 0x6e, 0x29, 0x9a, 0x2e, 0x35, 0xca, 0x15, 0xa5, 0x2a, 0x27, 0xc6, 0x1d, 0x0d, 0x81, 0x56, 0xae, + 0x29, 0x55, 0x2c, 0xc4, 0xfd, 0xaa, 0x5c, 0xab, 0x2b, 0xcd, 0x44, 0xdc, 0xd1, 0x8a, 0x95, 0xa3, + 0x34, 0x8c, 0x69, 0xba, 0x2a, 0xcb, 0x7a, 0x59, 0xaa, 0x56, 0x55, 0x59, 0xd3, 0x12, 0x13, 0x8e, + 0x96, 0xa3, 0xb4, 0x3e, 0x43, 0xab, 0xd1, 0x59, 0x18, 0x6c, 0x49, 0x9a, 0xf6, 0x5c, 0x51, 0xab, + 0x09, 0xc4, 0x73, 0xe5, 0x61, 0xc9, 0xac, 0x10, 0xff, 0xa8, 0x1f, 0x62, 0x58, 0xc2, 0x5d, 0xe6, + 0xe0, 0x3e, 0xf4, 0x69, 0x3a, 0x36, 0x73, 0x11, 0xb2, 0xbe, 0x97, 0xbb, 0xad, 0x2f, 0x1e, 0x64, + 0x1b, 0x77, 0x28, 0xd1, 0x7e, 0xe8, 0x3e, 0x8c, 0x56, 0xb0, 0x02, 0xd5, 0x95, 0x26, 0xb5, 0x97, + 0xd1, 0xae, 0xf6, 0x72, 0xc4, 0xe8, 0x40, 0x2c, 0xa6, 0xc3, 0xdc, 0xc6, 0x42, 0x99, 0xdb, 0x37, + 0x00, 0x88, 0x56, 0x35, 0x94, 0x5a, 0xbd, 0xc9, 0x2c, 0x64, 0xa7, 0xbe, 0x44, 0x07, 0x37, 0x70, + 0x63, 0x94, 0x83, 0xb8, 0xc1, 0x9e, 0x32, 0x1d, 0xb1, 0x4a, 0x34, 0xa2, 0xf3, 0x00, 0xe3, 0x46, + 0x1f, 0xba, 0x59, 0x54, 0xb1, 0x79, 0xb1, 0x6c, 0xc5, 0x00, 0xe1, 0xab, 0x65, 0x1f, 0x16, 0x6c, + 0xf6, 0x61, 0x90, 0x1a, 0x5b, 0xcb, 0x26, 0xcc, 0xf1, 0x36, 0x61, 0x88, 0xf6, 0x35, 0xed, 0xc0, + 0x19, 0x87, 0x82, 0x03, 0xa9, 0xb7, 0xa9, 0xf5, 0x1c, 0x6f, 0x2a, 0x86, 0x69, 0x7f, 0xd3, 0x40, + 0x5c, 0xf3, 0xd4, 0xf9, 0x11, 0xd2, 0xaa, 0xa3, 0xa6, 0x8f, 0xf6, 0xa4, 0xe9, 0xa6, 0xc9, 0x1f, + 0xe3, 0x4c, 0xbe, 0xb7, 0x6e, 0x8f, 0x7b, 0xeb, 0xf6, 0x94, 0xa1, 0xdb, 0x71, 0x3a, 0x42, 0x07, + 0x95, 0x9e, 0xf0, 0x56, 0xe9, 0x84, 0xa5, 0xd2, 0x44, 0x13, 0x2c, 0x45, 0x4e, 0x72, 0x8a, 0x3c, + 0xc9, 0x18, 0x6d, 0xa8, 0xef, 0x69, 0xbb, 0xfa, 0x4e, 0x91, 0x6a, 0x5e, 0x69, 0x67, 0x4c, 0xa5, + 0x9d, 0xa6, 0x1b, 0x33, 0x53, 0xd5, 0xf3, 0x2e, 0x55, 0x9d, 0x21, 0xf5, 0x76, 0x05, 0x15, 0xff, + 0x58, 0x80, 0x09, 0xa2, 0x36, 0xb2, 0xa4, 0x56, 0x76, 0x8d, 0x3d, 0xc6, 0x72, 0x4f, 0x04, 0x6f, + 0xf7, 0xc4, 0xe6, 0x42, 0xbd, 0x07, 0x63, 0x9a, 0xa2, 0xea, 0xf5, 0x66, 0xad, 0x5c, 0x51, 0x1a, + 0xed, 0xbd, 0x26, 0x51, 0xb3, 0xb1, 0x95, 0x6b, 0x81, 0xf4, 0x95, 0x4c, 0xfc, 0xb6, 0xbc, 0x4f, + 0x8c, 0xc8, 0x81, 0x10, 0x59, 0x7a, 0xa5, 0x34, 0xca, 0x86, 0x5b, 0x23, 0xa3, 0xa1, 0x38, 0x44, + 0x25, 0xad, 0x42, 0x94, 0x6f, 0xb0, 0x84, 0xff, 0x44, 0x79, 0x18, 0xf8, 0x42, 0x5b, 0x56, 0xeb, + 0xb2, 0x96, 0xe8, 0x23, 0x0e, 0x58, 0x3a, 0xf8, 0x54, 0x9f, 0x6f, 0xcb, 0xea, 0x7e, 0xc9, 0xe8, + 0x2f, 0x7e, 0x47, 0x80, 0x71, 0x47, 0x25, 0xca, 0x43, 0xf4, 0x7d, 0x79, 0x9f, 0xd0, 0x7e, 0x04, + 0x2a, 0xf0, 0x18, 0x28, 0x0b, 0xfd, 0x7b, 0xb2, 0xbe, 0xab, 0x54, 0x99, 0x0d, 0xbb, 0xda, 0x6d, + 0x34, 0x3a, 0xd2, 0x26, 0xe9, 0x53, 0x62, 0x7d, 0x31, 0xdf, 0x9f, 0x49, 0x8d, 0x36, 0xdb, 0x9b, + 0x4b, 0xf4, 0x87, 0xf8, 0xb7, 0x05, 0x40, 0xfc, 0xda, 0x31, 0x9f, 0x22, 0xdc, 0xe2, 0x9d, 0x81, + 0x11, 0x5d, 0xc1, 0xf2, 0xa5, 0xca, 0x5a, 0xbb, 0x61, 0x38, 0x9e, 0xc3, 0xa4, 0xac, 0x44, 0x8a, + 0xd0, 0xe7, 0xb0, 0x88, 0x91, 0xca, 0x18, 0x61, 0xf6, 0xb9, 0x20, 0x1c, 0x29, 0xb1, 0x3e, 0xe2, + 0x1f, 0x44, 0xa8, 0xfb, 0xb5, 0xa5, 0x2a, 0x4f, 0xeb, 0x0d, 0xf9, 0xf8, 0x8d, 0xbc, 0xdd, 0x8e, + 0x45, 0x3b, 0xda, 0xb1, 0x98, 0xc3, 0x8e, 0xd9, 0x8c, 0x54, 0x9f, 0xc3, 0x48, 0x39, 0x8d, 0x5c, + 0xbf, 0xdb, 0xc8, 0x79, 0xdb, 0xb1, 0x81, 0xee, 0x76, 0x6c, 0xb0, 0x27, 0x3b, 0x66, 0xb3, 0xe7, + 0x43, 0x76, 0x7b, 0x2e, 0xfe, 0x76, 0x04, 0x12, 0x8f, 0x5a, 0x55, 0xe6, 0x2e, 0x32, 0x76, 0xfb, + 0x1d, 0x86, 0x3e, 0x73, 0x0e, 0x3b, 0xb3, 0x5a, 0xfc, 0xb3, 0x30, 0x64, 0x1e, 0x1a, 0xbc, 0x8e, + 0x92, 0x9c, 0xbb, 0xdf, 0x71, 0x3f, 0x89, 0x7a, 0xee, 0x27, 0xe2, 0x33, 0x98, 0xb1, 0xd6, 0x8a, + 0x54, 0xf9, 0xad, 0x54, 0xd7, 0xa3, 0x45, 0xa8, 0x79, 0x19, 0x59, 0x64, 0x6b, 0xf2, 0x22, 0x8b, + 0x6e, 0x72, 0x91, 0xae, 0x9b, 0x5c, 0xd4, 0x73, 0x93, 0x13, 0xdb, 0x3c, 0x59, 0xa4, 0xca, 0x8f, + 0xac, 0xd3, 0xb6, 0xb9, 0x56, 0x87, 0x3e, 0x5d, 0xed, 0x57, 0x63, 0x71, 0xa1, 0x8b, 0xbb, 0xec, + 0x33, 0xed, 0xaf, 0x0a, 0xd4, 0xc6, 0x18, 0x6e, 0xa7, 0x73, 0x32, 0x6e, 0xef, 0x8d, 0xf8, 0xef, + 0xbd, 0xd1, 0xce, 0x7b, 0x6f, 0xac, 0xc3, 0xde, 0xdb, 0xd7, 0x65, 0xef, 0xed, 0xf7, 0xda, 0x7b, + 0xff, 0xb7, 0xc0, 0x2b, 0x2c, 0x2b, 0xf5, 0xe3, 0x97, 0xe8, 0x20, 0xa1, 0xdb, 0x89, 0x20, 0x1a, + 0xf4, 0x44, 0x10, 0x0b, 0x74, 0x22, 0xe8, 0x0b, 0x7c, 0x22, 0xe8, 0xef, 0x78, 0x22, 0x10, 0x8b, + 0x30, 0xb2, 0xd9, 0x6e, 0xe8, 0xf5, 0x07, 0x52, 0x45, 0x57, 0x54, 0x0d, 0xdd, 0x87, 0xd8, 0xde, + 0x53, 0xc9, 0x08, 0xa4, 0x5c, 0xe9, 0xa6, 0xa5, 0x5c, 0xdf, 0x12, 0xe9, 0x28, 0xfe, 0xbc, 0x00, + 0xc3, 0x5c, 0x29, 0xba, 0x0b, 0x31, 0x12, 0xde, 0xa0, 0xbb, 0xf7, 0xc5, 0xae, 0x03, 0x3e, 0x95, + 0x76, 0xf6, 0x5b, 0x72, 0x89, 0x74, 0x42, 0xf7, 0xec, 0x9b, 0xd1, 0xa5, 0xae, 0xbd, 0x1f, 0x64, + 0xf8, 0xbd, 0x48, 0x9c, 0x07, 0xd8, 0x62, 0x3e, 0xb8, 0x47, 0x20, 0xe2, 0x21, 0x8c, 0x1b, 0xb5, + 0x7e, 0xcb, 0x7c, 0x9e, 0x3b, 0x30, 0x39, 0x34, 0x83, 0x3f, 0x32, 0x5d, 0x80, 0xa9, 0x92, 0xac, + 0xc9, 0x7a, 0x97, 0xe1, 0xc4, 0x67, 0xb0, 0xb8, 0x6d, 0xb5, 0x2a, 0x28, 0x7a, 0xfd, 0x29, 0x8b, + 0xbe, 0xf8, 0x01, 0xc8, 0x32, 0xf6, 0x51, 0x06, 0x5c, 0xef, 0xc6, 0x00, 0x7e, 0x48, 0x8b, 0x8f, + 0xe2, 0x55, 0x48, 0x1a, 0x93, 0xae, 0x29, 0x7b, 0xad, 0x86, 0xfc, 0x41, 0x5d, 0xdf, 0xdf, 0x52, + 0x1a, 0xf5, 0xca, 0xbe, 0x07, 0x5f, 0x3e, 0x89, 0x42, 0xc2, 0xaf, 0xb9, 0x87, 0x3d, 0x1c, 0x36, + 0xa2, 0x82, 0x58, 0x30, 0x23, 0x6c, 0x53, 0xb6, 0x8a, 0x50, 0xc6, 0x58, 0x44, 0xea, 0x86, 0x76, + 0x95, 0x29, 0x3a, 0x51, 0xe7, 0x83, 0x63, 0xec, 0x68, 0x07, 0xc7, 0xbe, 0xb0, 0x71, 0xba, 0xbd, + 0x7a, 0xb3, 0xdc, 0x90, 0x9b, 0x35, 0x7d, 0x97, 0x28, 0x54, 0xac, 0x34, 0xb4, 0x57, 0x6f, 0x6e, + 0x90, 0x02, 0x74, 0x16, 0x46, 0x77, 0x25, 0xad, 0xdc, 0x50, 0x9e, 0xcb, 0x6a, 0x45, 0xd2, 0xa8, + 0xbf, 0x31, 0x58, 0x1a, 0xd9, 0x95, 0xb4, 0x0d, 0xa3, 0xcc, 0x68, 0xd4, 0x6e, 0xb5, 0x58, 0xa3, + 0x41, 0xb3, 0xd1, 0x23, 0xa3, 0x0c, 0x4f, 0x84, 0x1b, 0x35, 0xdb, 0x7b, 0x4f, 0x64, 0x95, 0x85, + 0x35, 0x86, 0x76, 0x25, 0xad, 0x40, 0x0a, 0x8c, 0x6a, 0x6d, 0x7f, 0xef, 0x89, 0xd2, 0x20, 0x67, + 0x3c, 0x5a, 0xbd, 0x4d, 0x0a, 0xc4, 0xff, 0x23, 0xc0, 0xa2, 0xdf, 0xb2, 0xd1, 0xb8, 0x15, 0x4a, + 0xd9, 0x17, 0x4b, 0xe0, 0x6d, 0xc3, 0xff, 0x8d, 0xda, 0x97, 0xcd, 0x4e, 0x75, 0xa4, 0x2b, 0xd5, + 0xd1, 0x20, 0x54, 0xc7, 0xba, 0x52, 0xdd, 0xd7, 0x99, 0xea, 0x7e, 0x27, 0xd5, 0x5f, 0x8e, 0xf8, + 0x53, 0x4d, 0xad, 0xb9, 0x4b, 0x64, 0x53, 0x1e, 0x22, 0x1b, 0x8c, 0x0b, 0xd1, 0xae, 0x5c, 0x88, + 0x05, 0xe1, 0x42, 0x5f, 0x57, 0x2e, 0xf4, 0x77, 0xe6, 0xc2, 0x80, 0x93, 0x0b, 0xe7, 0x61, 0xd2, + 0x60, 0x42, 0xa6, 0x26, 0xfb, 0x6a, 0xf6, 0x7f, 0x8c, 0xc0, 0x84, 0xab, 0xdd, 0x8f, 0xa3, 0x4a, + 0x2f, 0xc1, 0xc8, 0x9e, 0xf4, 0x41, 0x59, 0x22, 0xbd, 0xf7, 0x35, 0xa6, 0xd4, 0xb0, 0x27, 0x7d, + 0x90, 0xc1, 0x2d, 0xf6, 0x35, 0x74, 0x09, 0xe2, 0xf2, 0x07, 0xad, 0xba, 0x2a, 0x97, 0x9f, 0x4b, + 0x6a, 0x93, 0xb6, 0x1a, 0xa0, 0x37, 0x11, 0xb4, 0xfc, 0xb1, 0xa4, 0x36, 0x71, 0x4b, 0xf1, 0x2b, + 0x02, 0xcc, 0xba, 0x98, 0xda, 0x83, 0xc2, 0x39, 0x31, 0x45, 0x02, 0x61, 0x8a, 0x7a, 0x62, 0xfa, + 0x5b, 0x5e, 0x98, 0x8e, 0x41, 0x1d, 0x9c, 0x18, 0xa3, 0x81, 0x30, 0xc6, 0x3c, 0x31, 0x5e, 0xb6, + 0x20, 0x6e, 0x28, 0x95, 0xf7, 0x95, 0xb6, 0xee, 0x2b, 0xb7, 0x3f, 0x88, 0xc0, 0xb4, 0x67, 0xdb, + 0x1f, 0x47, 0xd9, 0x3d, 0xc3, 0xd6, 0x40, 0xd7, 0xe5, 0xbd, 0x96, 0x6e, 0xc8, 0xee, 0x30, 0x5e, + 0x03, 0x56, 0x84, 0x5e, 0x85, 0x19, 0x6d, 0x57, 0x79, 0x5e, 0x6e, 0x28, 0x95, 0xf7, 0xcb, 0x4a, + 0x5b, 0x2f, 0x3f, 0x95, 0xea, 0x8d, 0xb6, 0x2a, 0x6b, 0xcc, 0x72, 0x4c, 0xe2, 0x5a, 0xcc, 0xc8, + 0x62, 0x5b, 0x7f, 0xc0, 0xaa, 0xb0, 0xcc, 0xcc, 0x79, 0x32, 0xb9, 0x07, 0x59, 0x76, 0x62, 0x8c, + 0x84, 0xc1, 0x18, 0xf5, 0xc7, 0xf8, 0xcf, 0xfc, 0x30, 0x1e, 0x83, 0x6c, 0x3b, 0x31, 0x47, 0xc3, + 0x60, 0x8e, 0xf9, 0x63, 0x9e, 0x85, 0xbe, 0xa2, 0x5a, 0xf3, 0xbc, 0x08, 0x1b, 0x2a, 0xaa, 0xb5, + 0xac, 0xb2, 0x27, 0xd5, 0x9b, 0xf8, 0xf0, 0x52, 0x25, 0x7f, 0xb1, 0x06, 0xec, 0x97, 0xf8, 0xff, + 0x05, 0x88, 0x16, 0xd5, 0x9a, 0x8b, 0xb2, 0xb0, 0xae, 0x71, 0x51, 0xad, 0xbd, 0x44, 0xb1, 0x78, + 0x04, 0x31, 0x2e, 0xc6, 0x43, 0xfe, 0xe6, 0x38, 0xd0, 0x6f, 0xe3, 0xc0, 0x05, 0x18, 0x2b, 0xaa, + 0xb5, 0x4d, 0x19, 0xef, 0x83, 0x25, 0xa5, 0x21, 0x6b, 0xf8, 0x60, 0xac, 0xe2, 0x3f, 0xc8, 0x29, + 0x65, 0xa8, 0x44, 0x7f, 0x88, 0xbf, 0x12, 0x21, 0xfc, 0xa4, 0x0d, 0xd1, 0x2c, 0x0c, 0x90, 0xd8, + 0x8c, 0xc9, 0xb4, 0x7e, 0xfc, 0x33, 0xef, 0x08, 0xc2, 0x47, 0x1c, 0x41, 0x78, 0x33, 0x92, 0x10, + 0xe5, 0x23, 0x09, 0xf6, 0x90, 0x56, 0xac, 0x63, 0x48, 0xab, 0xcf, 0x11, 0xd2, 0x32, 0xb1, 0xf6, + 0x73, 0x58, 0x9d, 0xcc, 0x1b, 0x08, 0xc5, 0x3c, 0xd7, 0xd2, 0x0d, 0x86, 0x5b, 0x3a, 0xf1, 0xa7, + 0x60, 0x32, 0x53, 0xad, 0x5a, 0x4c, 0x65, 0x67, 0x8f, 0x69, 0xe8, 0x57, 0xd4, 0x9a, 0xc5, 0xb1, + 0x3e, 0x45, 0xad, 0xe5, 0xab, 0x3c, 0x27, 0x23, 0x36, 0x4e, 0x9a, 0xa4, 0x45, 0xf9, 0x65, 0x78, + 0x0f, 0x66, 0xe8, 0x7d, 0xc7, 0x09, 0x8d, 0xff, 0x10, 0x66, 0x4a, 0xf2, 0x9e, 0xf2, 0xec, 0xc8, + 0xe3, 0x8b, 0x1f, 0x0b, 0x30, 0x6b, 0x0e, 0x72, 0xd2, 0x51, 0xdb, 0x8c, 0x23, 0x6a, 0x7b, 0x39, + 0x80, 0xc2, 0x32, 0xf2, 0x8c, 0xd0, 0xed, 0xc7, 0x02, 0xcc, 0xb8, 0xf0, 0x76, 0x24, 0x3d, 0xd4, + 0xbb, 0x06, 0x54, 0xb0, 0xc2, 0xf8, 0x14, 0xe3, 0xcd, 0xc0, 0x18, 0x3d, 0x63, 0xf9, 0xff, 0x4a, + 0x80, 0x29, 0xaf, 0x16, 0xa8, 0xc0, 0x07, 0xf4, 0x57, 0x42, 0x4e, 0xf2, 0x82, 0xa3, 0xfa, 0xb7, + 0x60, 0x8a, 0x3d, 0x72, 0xa0, 0xdb, 0xa0, 0xc1, 0xf1, 0x45, 0x66, 0xc1, 0xdc, 0x57, 0xfe, 0xa4, + 0x5c, 0x7c, 0x60, 0xf6, 0xa3, 0x5b, 0x93, 0xdf, 0x01, 0xdf, 0x18, 0x27, 0xe2, 0x33, 0x4e, 0x11, + 0x06, 0xd9, 0x38, 0x1a, 0x5a, 0x83, 0x41, 0xf6, 0xfa, 0xc2, 0x08, 0xd0, 0x74, 0x8d, 0xa7, 0xb0, + 0xbe, 0x25, 0xb3, 0xa3, 0xf8, 0xbd, 0x28, 0x0c, 0xb0, 0x52, 0x17, 0x18, 0xc4, 0x83, 0x61, 0x66, + 0x79, 0xd5, 0xee, 0x2f, 0x5d, 0x0d, 0x38, 0xa3, 0x6d, 0xb3, 0x39, 0xd2, 0x5e, 0xe1, 0x32, 0x77, + 0x7d, 0x21, 0x77, 0xaa, 0xfb, 0x2c, 0x86, 0xd2, 0x1f, 0xd0, 0xe1, 0xa3, 0x04, 0x70, 0x61, 0xa8, + 0xf3, 0x30, 0xa6, 0xca, 0x9a, 0xd2, 0x56, 0x2b, 0x72, 0x59, 0x79, 0xde, 0x64, 0x41, 0xec, 0xa1, + 0xd2, 0xa8, 0x51, 0x5a, 0xc4, 0x85, 0x9c, 0x12, 0x0e, 0xf2, 0x4a, 0x78, 0x0a, 0x06, 0x71, 0x31, + 0x77, 0x49, 0x30, 0xa0, 0xa8, 0x35, 0xe3, 0xce, 0x17, 0x57, 0xb1, 0x6d, 0x8f, 0xde, 0xda, 0x0e, + 0x29, 0xa6, 0x4f, 0x70, 0x0a, 0x06, 0x6b, 0xaa, 0xd4, 0x24, 0xaf, 0x6f, 0xe8, 0x95, 0xed, 0x00, + 0xf9, 0x9d, 0xaf, 0x8a, 0xff, 0x40, 0x80, 0x69, 0x83, 0xd3, 0x27, 0x6c, 0xb9, 0xee, 0x3b, 0x2c, + 0x57, 0x60, 0x99, 0x33, 0xec, 0xd6, 0x57, 0x05, 0x53, 0x17, 0x8e, 0x72, 0xaf, 0xb9, 0x61, 0x99, + 0xa7, 0x28, 0x01, 0xb2, 0x12, 0x54, 0x14, 0xbd, 0x8c, 0xd3, 0x77, 0x05, 0x40, 0xee, 0x7a, 0xb4, + 0xc1, 0x9b, 0xa6, 0xeb, 0xa1, 0x26, 0x78, 0xc1, 0x86, 0x29, 0x65, 0xe2, 0xef, 0xee, 0x1a, 0x7d, + 0x3b, 0x02, 0xa3, 0xb6, 0xc6, 0x9f, 0xb9, 0x47, 0x1d, 0xdc, 0xa3, 0xcf, 0x43, 0xdc, 0xc6, 0xac, + 0x4c, 0xb5, 0xea, 0xb2, 0x94, 0x21, 0x9d, 0x96, 0x1d, 0x98, 0xb4, 0x0d, 0xc9, 0x9e, 0x0f, 0x1e, + 0x71, 0xd4, 0x7b, 0x8e, 0x51, 0xa9, 0x5f, 0x14, 0x78, 0x54, 0x71, 0x0f, 0xc6, 0x0c, 0x5d, 0x55, + 0x1a, 0xb2, 0x17, 0x99, 0x5e, 0x1b, 0x82, 0xf3, 0x1e, 0x36, 0xea, 0xbe, 0x87, 0x9d, 0x82, 0xbe, + 0x9a, 0xaa, 0xb4, 0x5b, 0x4c, 0x18, 0xe8, 0x0f, 0xf1, 0xd7, 0x05, 0x18, 0xe6, 0xe6, 0x73, 0x3c, + 0x2f, 0x14, 0x1c, 0xcf, 0x0b, 0x7b, 0x9d, 0xfb, 0xc8, 0x87, 0x73, 0x13, 0x7c, 0x1f, 0x0f, 0xfe, + 0x36, 0x4c, 0x70, 0xd8, 0x7d, 0x38, 0xed, 0x01, 0x19, 0x1f, 0x59, 0x4f, 0x71, 0x3d, 0x4f, 0xda, + 0x5a, 0xaf, 0x39, 0xac, 0x75, 0xd0, 0xed, 0x8e, 0x50, 0x65, 0x58, 0xec, 0x5f, 0x13, 0x20, 0xe1, + 0x81, 0x99, 0x5a, 0xed, 0x2e, 0xcb, 0x16, 0xce, 0xe7, 0xdc, 0x72, 0xfa, 0x9c, 0xb7, 0x42, 0xe0, + 0xf5, 0x34, 0xec, 0xff, 0x56, 0x80, 0x19, 0xef, 0x36, 0x68, 0x8b, 0x37, 0xee, 0x37, 0x43, 0x4f, + 0xf4, 0x82, 0x0d, 0xfc, 0xa1, 0x00, 0x73, 0x36, 0xf5, 0x3e, 0x69, 0xd1, 0xc9, 0x39, 0x44, 0xe7, + 0x5a, 0x40, 0x0e, 0x39, 0x8e, 0x29, 0xff, 0x42, 0x80, 0xa4, 0x27, 0xee, 0x13, 0x10, 0x9f, 0x92, + 0x53, 0x7c, 0x5e, 0x0f, 0x85, 0xd9, 0x53, 0x80, 0x7e, 0xcb, 0x12, 0x7e, 0xf7, 0xd1, 0xa5, 0xc4, + 0x8b, 0xd0, 0xad, 0x1e, 0x26, 0x7b, 0xc1, 0x42, 0xf4, 0x3b, 0x11, 0x18, 0xe6, 0x1e, 0x79, 0x1f, + 0x39, 0x8c, 0x94, 0x69, 0xb5, 0x5e, 0xf2, 0x30, 0xd2, 0x26, 0x0c, 0x2b, 0xf5, 0x6a, 0xa5, 0x5c, + 0x51, 0x9a, 0x4f, 0xeb, 0x35, 0xb6, 0xf9, 0xa7, 0xba, 0x1e, 0x32, 0xf3, 0xd9, 0xb5, 0x35, 0xd2, + 0xe3, 0xe1, 0x2b, 0x25, 0xc0, 0x03, 0xd0, 0x5f, 0xab, 0x23, 0x00, 0x52, 0xab, 0xc5, 0x46, 0x13, + 0x9f, 0xc0, 0x04, 0xc7, 0x4d, 0x16, 0x74, 0xec, 0x22, 0xd1, 0x94, 0xe5, 0x11, 0xd7, 0x89, 0xaf, + 0xcf, 0xe7, 0xc4, 0xf7, 0xcb, 0x31, 0x00, 0x0b, 0x0e, 0x3a, 0x0b, 0xa3, 0xaa, 0x5c, 0xad, 0xab, + 0x78, 0xf8, 0xb6, 0x5a, 0x37, 0x3c, 0xbb, 0x11, 0xa3, 0xf0, 0x91, 0x5a, 0xd7, 0xd0, 0x63, 0x72, + 0x42, 0x21, 0x76, 0x81, 0x7c, 0x4d, 0xa0, 0x25, 0x22, 0x4b, 0xd1, 0x20, 0x1e, 0x2c, 0x9e, 0xc8, + 0xb0, 0x28, 0xe4, 0xc4, 0x33, 0xaa, 0x72, 0xbf, 0x34, 0x54, 0x80, 0x61, 0x7a, 0x04, 0xa1, 0xa3, + 0x46, 0xc9, 0xa8, 0xd7, 0x82, 0x8c, 0xba, 0x8e, 0xbb, 0x91, 0x21, 0xa1, 0x66, 0xfc, 0xa9, 0xa1, + 0xf7, 0x20, 0x2e, 0x59, 0x0c, 0xa4, 0x5f, 0x3e, 0xc4, 0x88, 0xe8, 0xbd, 0x1a, 0x64, 0x50, 0x8e, + 0xf9, 0x64, 0xe8, 0x71, 0xc9, 0x5e, 0x80, 0x9d, 0xcd, 0x4a, 0xa3, 0x2e, 0xd3, 0x33, 0x13, 0x73, + 0x36, 0x69, 0x41, 0xbe, 0x8a, 0x59, 0xc9, 0x2a, 0x35, 0xb9, 0xa2, 0xca, 0x3a, 0x0b, 0x34, 0x8e, + 0xd0, 0xc2, 0x6d, 0x52, 0x86, 0x7e, 0x1a, 0xe2, 0x52, 0x5b, 0xdf, 0x2d, 0x53, 0xb5, 0xa2, 0x08, + 0x07, 0x02, 0x46, 0x2a, 0x30, 0xc2, 0xb6, 0xce, 0x34, 0x93, 0x00, 0x1c, 0x93, 0x6c, 0xbf, 0xd1, + 0x1b, 0x70, 0xaa, 0xa5, 0xd0, 0x47, 0xc8, 0x4a, 0x5b, 0x2f, 0xdb, 0x57, 0x76, 0x90, 0xac, 0xec, + 0x0c, 0x6e, 0xb0, 0x41, 0xea, 0x4b, 0xdc, 0x1a, 0x8b, 0xdf, 0x88, 0xc1, 0xb4, 0x83, 0x07, 0x2c, + 0x32, 0xdf, 0x45, 0x00, 0xbb, 0x84, 0x18, 0xdc, 0x12, 0x16, 0x0d, 0x24, 0x61, 0xb1, 0x13, 0x91, + 0xb0, 0xbe, 0x93, 0x90, 0xb0, 0xfe, 0x63, 0x94, 0xb0, 0x97, 0x56, 0x3e, 0xbe, 0x19, 0x83, 0xb8, + 0x65, 0x37, 0x82, 0xd9, 0xa6, 0xf3, 0x30, 0xc6, 0x33, 0xcb, 0xb4, 0x53, 0xa3, 0x5c, 0x29, 0x55, + 0x9c, 0xcf, 0x24, 0xe4, 0x47, 0x5f, 0x42, 0x5e, 0x85, 0x91, 0x35, 0xde, 0xd4, 0xb9, 0xec, 0xa1, + 0xe0, 0xb6, 0x87, 0xe4, 0xfc, 0xc2, 0x91, 0xfc, 0xd2, 0x9d, 0x5f, 0x38, 0x6c, 0xb6, 0xf3, 0x8b, + 0x07, 0xe6, 0x97, 0xe2, 0xfc, 0xe2, 0xc2, 0xe5, 0x71, 0x7e, 0xf1, 0x6e, 0x13, 0xf2, 0xfc, 0xe2, + 0x1a, 0xe4, 0x05, 0xbb, 0x9e, 0xff, 0x3a, 0x0a, 0x23, 0xcc, 0x01, 0x26, 0x7a, 0x18, 0xf2, 0xf3, + 0x42, 0x74, 0x0e, 0xc6, 0x88, 0xd2, 0xca, 0xd5, 0x32, 0x0b, 0xab, 0xd2, 0xe1, 0x47, 0x58, 0x69, + 0x91, 0x44, 0x57, 0x2f, 0x41, 0x9c, 0x6f, 0xc5, 0x85, 0xa0, 0xc6, 0xac, 0x76, 0x24, 0x30, 0x70, + 0x15, 0x10, 0xdf, 0x92, 0x05, 0x5d, 0xa9, 0x8f, 0x10, 0xb7, 0xda, 0xb2, 0xd8, 0xeb, 0x02, 0x80, + 0xaa, 0x34, 0x64, 0x32, 0xa0, 0x11, 0x9d, 0x1a, 0xc2, 0x25, 0x78, 0x2c, 0x0d, 0xad, 0x1b, 0x7e, + 0x33, 0x55, 0xec, 0x1b, 0x01, 0x4f, 0x02, 0x84, 0x11, 0x9d, 0x1d, 0xe8, 0xc1, 0xa3, 0x39, 0xd0, + 0x43, 0x61, 0xdf, 0x12, 0x18, 0x4b, 0xc0, 0x7f, 0x38, 0xc4, 0xca, 0xc8, 0x3b, 0xf6, 0x0f, 0xcc, + 0x38, 0x23, 0x01, 0x1f, 0xcc, 0xe5, 0x70, 0xaf, 0x5d, 0xc4, 0x63, 0xed, 0xec, 0x3c, 0x8e, 0x3a, + 0x78, 0x2c, 0x3e, 0xb1, 0xcf, 0xdc, 0x9b, 0xb7, 0xdd, 0x65, 0x8e, 0xfb, 0x66, 0x08, 0x8c, 0xcc, + 0x91, 0xcf, 0x86, 0x1c, 0x5f, 0x5c, 0x82, 0xb1, 0x75, 0x4a, 0x93, 0x31, 0x80, 0xf3, 0x9a, 0xff, + 0x57, 0xad, 0xf3, 0x30, 0x5d, 0xfe, 0x13, 0xb6, 0xa0, 0x59, 0x87, 0x05, 0xbd, 0x1a, 0x46, 0x36, + 0x4d, 0x13, 0xba, 0x6b, 0x46, 0xad, 0x6c, 0xa0, 0x8f, 0xdf, 0x84, 0x8a, 0x69, 0x98, 0xe5, 0x67, + 0xea, 0x1e, 0xcd, 0xfe, 0xa7, 0x11, 0xbb, 0x60, 0x7c, 0x16, 0xd2, 0xee, 0x1a, 0xd2, 0xfe, 0xf3, + 0xd6, 0x75, 0x11, 0xc7, 0xb2, 0x4c, 0xb5, 0xda, 0x6d, 0x29, 0xf9, 0x2b, 0xa8, 0x88, 0xed, 0x0a, + 0x8a, 0xe7, 0x77, 0xd4, 0x3b, 0x58, 0x1d, 0xe3, 0x57, 0xed, 0xcb, 0x56, 0x58, 0x85, 0x83, 0xc0, + 0x02, 0xe1, 0x2f, 0x0c, 0xc5, 0x9e, 0x17, 0x08, 0x16, 0xcd, 0x3d, 0x7e, 0x10, 0xe2, 0xbf, 0x14, + 0x60, 0xc9, 0x3d, 0xdf, 0x49, 0x5b, 0x80, 0x9f, 0x70, 0x58, 0x80, 0x95, 0x30, 0x16, 0xc0, 0x11, + 0xcd, 0xfb, 0x81, 0x00, 0xa7, 0xfd, 0x29, 0x08, 0x64, 0x0e, 0x3a, 0x30, 0xce, 0x22, 0x3d, 0xea, + 0x4d, 0x7a, 0x8c, 0x27, 0xfd, 0xb1, 0xf3, 0x3b, 0xc3, 0x37, 0xc3, 0x13, 0xe6, 0xe9, 0x73, 0xfd, + 0x27, 0x01, 0x16, 0x3a, 0x36, 0x45, 0x8f, 0x79, 0xd7, 0xeb, 0x6e, 0xaf, 0xd3, 0xbe, 0x60, 0x0f, + 0xec, 0xaf, 0xc7, 0xe8, 0xe7, 0x45, 0xde, 0xee, 0x97, 0xef, 0x65, 0x93, 0x75, 0x8f, 0x1d, 0xe5, + 0xef, 0xb1, 0xed, 0xab, 0x1c, 0x73, 0xae, 0xb2, 0x7d, 0xa3, 0xed, 0x73, 0x3a, 0x4c, 0x59, 0xc3, + 0x61, 0xa2, 0x27, 0xad, 0xe5, 0x20, 0xdf, 0x15, 0x06, 0xf0, 0x96, 0x06, 0x8e, 0xe6, 0x2d, 0x0d, + 0x86, 0x32, 0xc3, 0x9d, 0xbe, 0xf7, 0x73, 0x6c, 0x19, 0xd0, 0x71, 0xcb, 0x18, 0x76, 0x6f, 0x19, + 0x74, 0x13, 0x1a, 0xe1, 0x37, 0x21, 0xfe, 0xe1, 0xc0, 0x68, 0xa7, 0x87, 0x03, 0x63, 0xce, 0x87, + 0x03, 0x4e, 0xb7, 0x6e, 0xdc, 0xed, 0xd6, 0x7d, 0x89, 0x7e, 0x67, 0xcb, 0xfb, 0x74, 0xbe, 0x1b, + 0xa8, 0x25, 0x10, 0x11, 0x7f, 0x81, 0x88, 0x76, 0x16, 0x88, 0x98, 0xd3, 0xf3, 0x7a, 0x97, 0x03, + 0xc0, 0x5c, 0x3b, 0x5f, 0x00, 0x21, 0x9d, 0xba, 0x5b, 0xf4, 0xf3, 0x33, 0xc3, 0x21, 0x0b, 0x3a, + 0xac, 0xf8, 0xd3, 0xa6, 0x5f, 0xc1, 0x77, 0xef, 0x62, 0xdd, 0x7c, 0xd5, 0x88, 0x8e, 0x1e, 0x35, + 0x47, 0xff, 0x92, 0x79, 0x2f, 0xe5, 0xa4, 0xfb, 0x98, 0x66, 0xe8, 0xc6, 0xf1, 0x86, 0xdd, 0xd1, + 0xe2, 0x69, 0xbc, 0x04, 0x71, 0x03, 0x81, 0x69, 0xaa, 0x29, 0x8e, 0xb1, 0x16, 0xef, 0x1e, 0x87, + 0x20, 0xf7, 0xbb, 0xd6, 0xf5, 0x95, 0x7d, 0xba, 0x1e, 0xa5, 0xcd, 0x0b, 0x62, 0xd4, 0x13, 0xe2, + 0x05, 0xb7, 0xa1, 0x62, 0x79, 0x2e, 0xe2, 0x42, 0x70, 0x8b, 0x25, 0xfe, 0xa2, 0x1f, 0x01, 0x6c, + 0xd5, 0x8e, 0x9f, 0x67, 0xdd, 0x16, 0xf0, 0x63, 0x01, 0x66, 0x2d, 0xbb, 0xf8, 0xb2, 0x3d, 0x58, + 0x34, 0x91, 0x99, 0xbe, 0xc3, 0x5f, 0x15, 0x60, 0xc6, 0x85, 0xb7, 0x97, 0xa7, 0x3f, 0x05, 0xe7, + 0xd3, 0x9f, 0x9b, 0xc1, 0xb7, 0x0f, 0xaf, 0xfd, 0xfe, 0x77, 0x04, 0x98, 0xf2, 0x6a, 0x11, 0xf2, + 0x65, 0xa2, 0x63, 0x08, 0x8f, 0xdd, 0xbd, 0x70, 0x94, 0xdd, 0xdd, 0x18, 0x2c, 0xf1, 0x4a, 0x97, + 0x7d, 0xfe, 0x9f, 0x5b, 0xee, 0x8b, 0x0f, 0xbb, 0x8f, 0x35, 0xe6, 0x15, 0xfe, 0x9d, 0x68, 0xd7, + 0xd5, 0x10, 0x3d, 0x15, 0xcd, 0x4e, 0x43, 0x70, 0x7d, 0xfb, 0xe1, 0x92, 0xf3, 0x0b, 0x11, 0x98, + 0xc9, 0xb4, 0xf5, 0xdd, 0x23, 0x4b, 0x7d, 0xc5, 0x27, 0x91, 0x47, 0x57, 0xb9, 0x74, 0xcc, 0x1e, + 0x32, 0x9b, 0x47, 0xc1, 0xe9, 0x65, 0xdf, 0x0c, 0x39, 0x9f, 0x87, 0xb2, 0x79, 0xb5, 0x08, 0xa9, + 0x6c, 0x1d, 0x89, 0x7a, 0x81, 0xca, 0x86, 0x8d, 0xb0, 0x6b, 0x79, 0x5f, 0x1a, 0x23, 0x6c, 0x22, + 0x33, 0x8d, 0xf0, 0x1e, 0x0c, 0x99, 0x85, 0x18, 0x08, 0xd9, 0x4d, 0xed, 0xcf, 0xc4, 0xe7, 0xc1, + 0xb2, 0x05, 0xee, 0x38, 0xec, 0x0c, 0xb0, 0xed, 0x2a, 0xc8, 0x01, 0x3b, 0xf5, 0x4f, 0x04, 0x7a, + 0xe6, 0x20, 0x6e, 0x3b, 0x3a, 0x05, 0xd3, 0x8f, 0xb6, 0x73, 0xa5, 0xed, 0x9d, 0xcc, 0x4e, 0xae, + 0xfc, 0xa8, 0xb0, 0xbd, 0x95, 0x5b, 0xcb, 0x3f, 0xc8, 0xe7, 0xb2, 0xf1, 0x57, 0xd0, 0x14, 0xc4, + 0xad, 0xaa, 0xcc, 0xda, 0x4e, 0xfe, 0x9d, 0x5c, 0x5c, 0x40, 0x33, 0x80, 0xac, 0xd2, 0x7c, 0x81, + 0x95, 0x47, 0xd0, 0x34, 0x4c, 0x58, 0xe5, 0xd9, 0xdc, 0x46, 0x6e, 0x27, 0x97, 0x8d, 0x47, 0xed, + 0x83, 0x6c, 0x14, 0xd7, 0xde, 0xce, 0x65, 0xe3, 0x31, 0x7b, 0xe3, 0xed, 0x47, 0xdb, 0x5b, 0xb9, + 0x42, 0x36, 0xde, 0x67, 0x2f, 0xce, 0x17, 0xf2, 0x3b, 0xf9, 0xcc, 0x46, 0xbc, 0x3f, 0xf5, 0x67, + 0xa0, 0x9f, 0x26, 0x9b, 0xc0, 0x93, 0xaf, 0xe7, 0x0a, 0xd9, 0x5c, 0xc9, 0x01, 0x75, 0x02, 0x46, + 0x59, 0xf9, 0x83, 0xdc, 0x66, 0x66, 0x03, 0xe3, 0x1c, 0x87, 0x61, 0x56, 0x44, 0x0a, 0x22, 0x08, + 0xc1, 0x18, 0x2b, 0xc8, 0xe6, 0xdf, 0xc9, 0x95, 0xb6, 0x73, 0xf1, 0x68, 0xea, 0xff, 0x09, 0x30, + 0x6a, 0x4b, 0x47, 0x83, 0x16, 0xe0, 0x14, 0x81, 0x90, 0xcb, 0x94, 0xd6, 0x1e, 0xbe, 0x9d, 0x7b, + 0xd7, 0x31, 0xd1, 0x1c, 0xcc, 0x3a, 0xaa, 0xb7, 0x73, 0xa5, 0x72, 0x21, 0xb3, 0x89, 0xa7, 0x9c, + 0x87, 0x84, 0xbd, 0xf2, 0x41, 0xbe, 0xb4, 0xbd, 0x43, 0x6b, 0x23, 0xee, 0xae, 0x1b, 0x19, 0xa3, + 0x32, 0xea, 0xae, 0x2c, 0xe4, 0xd7, 0xde, 0xa6, 0x95, 0x31, 0xb4, 0x08, 0x49, 0x7b, 0x65, 0x36, + 0xbf, 0xbd, 0xb5, 0x91, 0x79, 0x97, 0xd6, 0xf7, 0xa1, 0x59, 0x98, 0xb4, 0xd7, 0xe7, 0x36, 0x33, + 0xf9, 0x8d, 0x78, 0xbf, 0xbb, 0x82, 0x70, 0x36, 0x3e, 0x90, 0xfa, 0x19, 0x18, 0xe1, 0x55, 0x0b, + 0x37, 0xa4, 0x8d, 0x36, 0x73, 0x3b, 0x0f, 0x8b, 0xd9, 0x72, 0xee, 0xf3, 0x8f, 0x32, 0x1b, 0xdb, + 0xf1, 0x57, 0x30, 0x49, 0xb6, 0x8a, 0xed, 0x9d, 0x4c, 0x69, 0x67, 0xbb, 0xfc, 0x38, 0xbf, 0xf3, + 0x30, 0x2e, 0x60, 0xe1, 0xb1, 0xd5, 0xae, 0x15, 0x0b, 0x3b, 0x99, 0x7c, 0x61, 0x3b, 0x1e, 0x49, + 0x65, 0x61, 0x80, 0x65, 0x0a, 0xc0, 0x83, 0x6f, 0x3e, 0xc8, 0xec, 0xbc, 0xbb, 0xe5, 0x14, 0xb0, + 0x71, 0x18, 0x36, 0x2a, 0xb6, 0x37, 0xb7, 0xe9, 0x9a, 0x19, 0x05, 0xc5, 0x9d, 0xad, 0x78, 0x24, + 0xf5, 0x14, 0x06, 0x8d, 0x8c, 0x01, 0x28, 0x01, 0x53, 0xf8, 0x6f, 0x0f, 0x41, 0x9d, 0x01, 0x64, + 0xd6, 0x14, 0x8a, 0x3b, 0xe5, 0x52, 0x2e, 0x93, 0x7d, 0x37, 0x2e, 0xe0, 0x15, 0x37, 0xcb, 0x69, + 0x59, 0x04, 0xcb, 0x23, 0x57, 0xb6, 0x59, 0x7c, 0x07, 0x4b, 0x69, 0xea, 0x21, 0xc4, 0x9d, 0x1f, + 0xe6, 0xa3, 0x24, 0xcc, 0x14, 0x8a, 0x3b, 0xf9, 0x07, 0xf9, 0xb5, 0xcc, 0x4e, 0xbe, 0x58, 0x20, + 0xa8, 0x28, 0x63, 0x5f, 0xc1, 0x58, 0x5c, 0x75, 0x84, 0x84, 0x54, 0x1b, 0x86, 0xb9, 0xef, 0x11, + 0xf1, 0xba, 0x6e, 0x15, 0x37, 0xf2, 0x6b, 0xef, 0xfa, 0xe0, 0xe6, 0x2b, 0x4d, 0x15, 0x4b, 0xc0, + 0x14, 0x5f, 0xce, 0x29, 0xd9, 0x2c, 0x4c, 0xf2, 0x35, 0xa6, 0x9a, 0xa5, 0xb6, 0x60, 0xd0, 0xf8, + 0x7e, 0x0c, 0x77, 0x2f, 0x96, 0xd6, 0xbd, 0x26, 0x9c, 0x84, 0x71, 0xb3, 0xc6, 0x9c, 0x6d, 0x1a, + 0x26, 0xcc, 0x42, 0x6b, 0xaa, 0xd4, 0x6f, 0x08, 0x80, 0xdc, 0x1f, 0x76, 0x20, 0x11, 0x16, 0x8b, + 0xa5, 0xf5, 0xcd, 0xdc, 0xe6, 0xaa, 0xbf, 0x92, 0x9c, 0x81, 0x05, 0x8f, 0x36, 0x9c, 0x32, 0x08, + 0x68, 0x09, 0xe6, 0x3d, 0x9a, 0x58, 0x1a, 0x11, 0xc1, 0x92, 0xe7, 0xd1, 0x82, 0x2e, 0x40, 0x14, + 0xab, 0x84, 0x17, 0x0c, 0xac, 0x8c, 0xf9, 0x6c, 0x3c, 0x96, 0x92, 0xcc, 0x9b, 0x2d, 0xca, 0x93, + 0x79, 0x48, 0x6c, 0x95, 0x8a, 0x3f, 0x91, 0x5b, 0xdb, 0xf1, 0xe2, 0x0b, 0x66, 0x2b, 0x5f, 0x6b, + 0xf2, 0x26, 0x09, 0x33, 0x46, 0x85, 0x8b, 0x41, 0x8f, 0xcc, 0xb7, 0xb2, 0x86, 0x94, 0xb3, 0xa6, + 0x4c, 0xd2, 0xdf, 0x2e, 0x14, 0x1f, 0x17, 0xa8, 0x19, 0xe5, 0x2b, 0xb6, 0x73, 0x1b, 0x0f, 0xe2, + 0x82, 0xb3, 0xf9, 0x7a, 0x29, 0x53, 0xc0, 0x2b, 0x19, 0x49, 0x3d, 0x36, 0xdf, 0x36, 0x5b, 0x4c, + 0x5f, 0x82, 0x79, 0x03, 0x86, 0x3f, 0xcb, 0x5d, 0x2d, 0x58, 0x01, 0x63, 0x79, 0xea, 0xc0, 0x7a, + 0xe4, 0x6f, 0x7b, 0x31, 0x89, 0xce, 0xc1, 0x12, 0x6b, 0x5a, 0x2a, 0x6e, 0xe4, 0xfc, 0x66, 0x58, + 0x80, 0x53, 0x9e, 0xad, 0xd8, 0x82, 0x9e, 0x87, 0x33, 0x9e, 0xd5, 0x36, 0x53, 0x15, 0x49, 0x7d, + 0xdf, 0x7a, 0xfb, 0xe9, 0x94, 0xac, 0x0b, 0x20, 0xb2, 0x11, 0x3a, 0x4b, 0x97, 0x35, 0x53, 0x47, + 0x09, 0xb3, 0xa8, 0xea, 0x24, 0x65, 0x16, 0x67, 0xfd, 0x24, 0x4d, 0x84, 0x45, 0x3f, 0x58, 0xa6, + 0xb4, 0x6d, 0xc1, 0xa0, 0xf1, 0xec, 0x0e, 0x6b, 0x5f, 0x66, 0x6b, 0xcb, 0x47, 0xfb, 0xcc, 0x1a, + 0x5e, 0xfb, 0xcc, 0x42, 0x4e, 0xb8, 0xbe, 0x40, 0x5f, 0x8a, 0xf0, 0x8f, 0x2e, 0xb0, 0xb5, 0x25, + 0x65, 0xb9, 0xed, 0xad, 0x62, 0x61, 0x3b, 0x47, 0xe4, 0x66, 0xad, 0x98, 0xcd, 0xd1, 0xc5, 0x71, + 0x55, 0xe5, 0xb3, 0xe5, 0x9d, 0xe2, 0xdb, 0xb9, 0x42, 0x5c, 0x40, 0x67, 0xe1, 0xb4, 0xab, 0x9a, + 0xd4, 0x59, 0x8d, 0x22, 0x29, 0x15, 0x46, 0x6d, 0x2f, 0x32, 0x30, 0x07, 0x49, 0x01, 0x16, 0x4d, + 0xd2, 0x25, 0xf3, 0x68, 0xe7, 0x61, 0xb1, 0x94, 0xff, 0x49, 0x62, 0xf3, 0x8c, 0xa9, 0x93, 0x30, + 0x63, 0x6f, 0x95, 0xdf, 0xdc, 0xda, 0xc8, 0xaf, 0xe5, 0x77, 0xe2, 0x02, 0x3a, 0x0d, 0x73, 0xf6, + 0xba, 0x52, 0xee, 0x41, 0x29, 0xb7, 0xfd, 0xd0, 0x9c, 0xf3, 0x19, 0x4c, 0x7a, 0x3c, 0xd8, 0xc0, + 0x56, 0x93, 0x14, 0x6f, 0xe1, 0x91, 0x2c, 0x0b, 0xfb, 0x38, 0xb7, 0x1a, 0x7f, 0x85, 0x58, 0x20, + 0x8f, 0x4a, 0xb2, 0x1a, 0x99, 0xf5, 0x5c, 0x01, 0x4f, 0x8c, 0xcd, 0x83, 0x47, 0x9b, 0x42, 0x86, + 0xb1, 0xb7, 0x01, 0xc8, 0xfd, 0x90, 0x83, 0x98, 0x1c, 0x5c, 0xfa, 0x68, 0x87, 0x6d, 0x68, 0xa4, + 0xd3, 0x6a, 0x66, 0x3b, 0xbf, 0x46, 0xb7, 0x7e, 0x8f, 0xda, 0xad, 0xe2, 0x36, 0x9e, 0xd0, 0xbb, + 0xb2, 0x50, 0x2c, 0xe0, 0xd9, 0xca, 0x30, 0xe5, 0x75, 0xd5, 0x8f, 0x19, 0xcc, 0x21, 0xdc, 0xce, + 0x95, 0x32, 0x3e, 0xaa, 0x6d, 0x6b, 0x65, 0x88, 0x5f, 0x66, 0x6b, 0xcb, 0x50, 0x6d, 0xdd, 0x7c, + 0xfa, 0x6e, 0x05, 0x64, 0x39, 0x93, 0x40, 0xf8, 0xef, 0x25, 0x91, 0x96, 0x55, 0xe4, 0x9a, 0x98, + 0xa2, 0xb9, 0x08, 0x49, 0x77, 0x2d, 0x27, 0xa3, 0x7f, 0xe8, 0x08, 0xbf, 0x38, 0x15, 0xfa, 0x0a, + 0x5c, 0xe4, 0xfb, 0x77, 0xd6, 0xea, 0x14, 0x5c, 0xe8, 0xd4, 0xd8, 0xa6, 0xda, 0x97, 0xe1, 0x7c, + 0xa7, 0xb6, 0xbc, 0x7e, 0x5b, 0xc6, 0xc2, 0xb3, 0xa9, 0xa1, 0xe4, 0x17, 0xe1, 0x6c, 0x47, 0xa8, + 0xa6, 0xa6, 0xef, 0xc2, 0x98, 0x3d, 0xee, 0x6d, 0x38, 0x67, 0xbe, 0x3c, 0x66, 0x0e, 0xb6, 0x17, + 0x83, 0x99, 0xd3, 0xe7, 0xcd, 0xdd, 0xaf, 0xb3, 0x64, 0x85, 0xf6, 0x13, 0x15, 0x96, 0x7e, 0xab, + 0x8f, 0xff, 0x66, 0xe0, 0xd1, 0xc6, 0xd8, 0x0e, 0xf2, 0x59, 0xba, 0xb6, 0x5e, 0xc3, 0x30, 0x3a, + 0x23, 0x86, 0x1b, 0xec, 0xa8, 0x2f, 0x96, 0xd6, 0x71, 0x75, 0x94, 0x80, 0x73, 0x1f, 0xf7, 0x30, + 0x38, 0xac, 0x01, 0x1d, 0xc1, 0x2d, 0xc0, 0x29, 0x8f, 0x36, 0x6c, 0x64, 0x81, 0x48, 0xbb, 0xbb, + 0x9a, 0xc3, 0x1e, 0xc1, 0xd8, 0xbd, 0x66, 0x61, 0xd8, 0xa3, 0x2b, 0x5f, 0xfd, 0x9a, 0x00, 0x13, + 0x9b, 0xe6, 0xc1, 0x6b, 0x5b, 0x56, 0x9f, 0xd5, 0x2b, 0x32, 0x7a, 0x1b, 0x06, 0x1e, 0xca, 0x52, + 0x43, 0xdf, 0xfd, 0x22, 0x9a, 0x71, 0x5d, 0x27, 0xe4, 0xf6, 0x5a, 0xfa, 0x7e, 0xd2, 0xa7, 0x5c, + 0x8c, 0x1f, 0x7c, 0xff, 0xbf, 0x7f, 0x2d, 0x02, 0x68, 0x30, 0xbd, 0xcb, 0x46, 0x58, 0x87, 0xbe, + 0x92, 0x2c, 0x55, 0xf7, 0x43, 0x0f, 0x35, 0x46, 0x86, 0x1a, 0x44, 0xfd, 0x69, 0x95, 0xf4, 0x2f, + 0xc0, 0xe0, 0x3b, 0x2c, 0xa7, 0xbb, 0xef, 0x58, 0x7e, 0x59, 0xc2, 0xc5, 0x09, 0x32, 0xd8, 0x30, + 0x1a, 0x32, 0xf3, 0xc2, 0xa3, 0x2f, 0xc1, 0xf0, 0xba, 0x4c, 0x02, 0x34, 0xab, 0xfb, 0xf9, 0x2c, + 0xba, 0x10, 0x24, 0x52, 0x92, 0xcf, 0x26, 0x03, 0xa5, 0xa8, 0x14, 0xc5, 0x83, 0xc3, 0xc4, 0x30, + 0xbd, 0x62, 0x59, 0xc6, 0xf0, 0xc9, 0xf4, 0xa3, 0x68, 0x38, 0x8d, 0x4b, 0xb4, 0xf4, 0x87, 0xf5, + 0xea, 0x47, 0xe8, 0x1b, 0x02, 0x4c, 0x99, 0x08, 0x48, 0x2e, 0xbd, 0xf5, 0x86, 0xf2, 0x44, 0x6a, + 0xa0, 0x2b, 0x41, 0xa6, 0x60, 0x39, 0xc7, 0x03, 0xe2, 0x59, 0xf1, 0xc2, 0xb3, 0x80, 0xe6, 0xd2, + 0x35, 0x32, 0x25, 0x83, 0x45, 0xee, 0x6a, 0xd2, 0x1f, 0x92, 0x7f, 0x3e, 0x42, 0x7f, 0x43, 0x80, + 0x61, 0x2a, 0xb1, 0x78, 0x08, 0x0d, 0xdd, 0x08, 0x9e, 0xae, 0x94, 0x05, 0x89, 0x92, 0x2b, 0x61, + 0xba, 0xd0, 0x0d, 0x5c, 0xbc, 0xe4, 0x05, 0x75, 0x52, 0x1c, 0x63, 0x18, 0xcb, 0x1a, 0x69, 0x7e, + 0x47, 0x48, 0x61, 0x80, 0x23, 0x79, 0x0d, 0x0f, 0x41, 0xd3, 0x9a, 0x07, 0x40, 0xe8, 0xcc, 0xc3, + 0x1e, 0x00, 0xa1, 0x2b, 0xb5, 0xba, 0x78, 0xd1, 0x0b, 0x21, 0x42, 0x71, 0x03, 0x61, 0x5d, 0xa3, + 0x69, 0xd7, 0xd1, 0xcf, 0x09, 0x00, 0x56, 0x9a, 0xf5, 0xee, 0xf0, 0x5c, 0x29, 0xd9, 0x03, 0xae, + 0xee, 0x99, 0x83, 0xc3, 0xc4, 0x08, 0x00, 0x01, 0xf4, 0x5c, 0xad, 0xeb, 0x32, 0x95, 0x76, 0xb1, + 0x9f, 0x22, 0xc2, 0xbc, 0xfa, 0xaa, 0x00, 0x63, 0x59, 0x59, 0xaa, 0xe8, 0xf5, 0x67, 0x06, 0x9c, + 0xe3, 0x95, 0xf8, 0x15, 0x4f, 0x0c, 0xf3, 0xc9, 0x59, 0x4e, 0xe4, 0xd3, 0xe5, 0xaa, 0x09, 0xc1, + 0x00, 0x55, 0xfa, 0xe1, 0x83, 0x52, 0x6d, 0xa0, 0xfe, 0x82, 0x00, 0x83, 0x1b, 0x4a, 0xe5, 0xfd, + 0x13, 0x80, 0x73, 0xd5, 0x13, 0xce, 0x4c, 0x72, 0xc2, 0x06, 0xa7, 0xa1, 0x54, 0xde, 0xc7, 0x40, + 0x7e, 0x5e, 0x00, 0x78, 0xd4, 0x6c, 0x9c, 0x0c, 0x94, 0x65, 0x4f, 0x28, 0x89, 0xe4, 0xa4, 0x0d, + 0x4a, 0xbb, 0x69, 0x80, 0x51, 0x01, 0xb2, 0x72, 0x43, 0x0e, 0xb9, 0x4a, 0x7e, 0xb6, 0xfd, 0xdc, + 0xc1, 0x61, 0x62, 0x14, 0x86, 0xc9, 0xec, 0x55, 0x32, 0x2c, 0x35, 0x90, 0x29, 0x9b, 0x81, 0xfc, + 0x0a, 0xcb, 0xbd, 0x69, 0xfc, 0xe7, 0x18, 0xd7, 0x02, 0xfe, 0x5f, 0x18, 0x4c, 0x77, 0x2e, 0x06, + 0x6b, 0xae, 0x89, 0x29, 0x2f, 0x7d, 0x9e, 0x46, 0x36, 0x56, 0x18, 0xff, 0xbd, 0xc6, 0xdf, 0xc3, + 0xfb, 0x39, 0xf7, 0xd5, 0xc2, 0x09, 0x43, 0x7b, 0xfd, 0xe0, 0x30, 0x81, 0xcc, 0xcb, 0x82, 0x65, + 0xa9, 0xd5, 0xb2, 0x10, 0xce, 0xa3, 0x64, 0x9a, 0x7b, 0xaf, 0xed, 0x00, 0xfa, 0x97, 0x05, 0x80, + 0xa2, 0x5a, 0x3b, 0x69, 0x80, 0xd8, 0x5a, 0x03, 0xb9, 0xdc, 0xb7, 0x80, 0x4d, 0x21, 0x94, 0x56, + 0xd4, 0x9a, 0x03, 0xd0, 0xd7, 0x05, 0xf3, 0x7d, 0xe2, 0x49, 0x83, 0xba, 0x7e, 0x70, 0x98, 0x18, + 0x33, 0xdf, 0x0d, 0x58, 0xc0, 0x12, 0x68, 0x26, 0x6d, 0x24, 0x8f, 0xb0, 0x83, 0xfb, 0x8a, 0x00, + 0x63, 0x6c, 0x2f, 0x36, 0xb2, 0x49, 0x07, 0x95, 0xf1, 0x40, 0xbb, 0x35, 0x1b, 0x34, 0x90, 0xa8, + 0xb5, 0x18, 0x80, 0x7f, 0x28, 0xc0, 0x84, 0x2b, 0xeb, 0x32, 0xea, 0xfa, 0x55, 0xa0, 0x5f, 0xa2, + 0xe6, 0x70, 0x40, 0x03, 0xd9, 0x07, 0x86, 0x14, 0xdb, 0x87, 0xbf, 0x28, 0xc0, 0x08, 0x63, 0x20, + 0x4d, 0x6c, 0x1c, 0x94, 0x7d, 0x97, 0x03, 0x3b, 0x3b, 0x3e, 0x9e, 0x01, 0xb2, 0x59, 0x4f, 0xfa, + 0xdc, 0xe4, 0x5b, 0x02, 0x8c, 0x53, 0x61, 0xb0, 0x00, 0xdd, 0x0a, 0xce, 0x38, 0x3e, 0x6b, 0x72, + 0x18, 0x80, 0x81, 0xec, 0x3b, 0x41, 0x88, 0x59, 0xf6, 0x4d, 0x01, 0xe6, 0x4a, 0xb2, 0x26, 0x37, + 0xab, 0x5c, 0x22, 0x65, 0xaa, 0xcb, 0x9b, 0x61, 0x38, 0xe8, 0x67, 0x64, 0xdf, 0xf2, 0x44, 0x93, + 0x12, 0xcf, 0xbb, 0xd0, 0xe0, 0x2d, 0x10, 0xe3, 0x78, 0xc6, 0x41, 0x70, 0x2c, 0x2a, 0x4d, 0xeb, + 0x7c, 0xac, 0x8b, 0x4a, 0x86, 0x0c, 0xb4, 0xa8, 0x34, 0x6d, 0xb3, 0x7d, 0x51, 0x29, 0xa0, 0x10, + 0x8b, 0xca, 0xe7, 0x8c, 0x0e, 0x03, 0x30, 0xd0, 0xa2, 0x12, 0x84, 0xf6, 0x45, 0xe5, 0xf2, 0x48, + 0xb3, 0xbd, 0x42, 0xa9, 0xca, 0x2f, 0x66, 0x51, 0x09, 0x1a, 0xbf, 0x45, 0xe5, 0x4c, 0x9d, 0x91, + 0xd4, 0xfa, 0x58, 0x4d, 0x9d, 0x91, 0x8e, 0x39, 0x88, 0xa9, 0x63, 0x99, 0x9d, 0x1d, 0xa6, 0xce, + 0x80, 0x15, 0xc2, 0xd4, 0xd9, 0x53, 0x5c, 0x87, 0x03, 0x1a, 0xc8, 0xd4, 0x31, 0xa4, 0x98, 0x81, + 0x7f, 0x49, 0x30, 0x4f, 0x8e, 0x9b, 0x4f, 0xa5, 0xe0, 0xdc, 0xbb, 0x1a, 0x22, 0x03, 0xb5, 0xd6, + 0xed, 0x90, 0x41, 0x40, 0xed, 0xe1, 0xe9, 0xff, 0xb1, 0x00, 0x73, 0xdb, 0x72, 0xb3, 0xea, 0x93, + 0x8d, 0x19, 0xdd, 0xeb, 0x7e, 0x75, 0xdc, 0x29, 0x8d, 0xb3, 0xaf, 0x24, 0xde, 0xf6, 0x64, 0xdb, + 0x19, 0x71, 0xde, 0xe6, 0x41, 0x62, 0x09, 0xd4, 0x64, 0xbd, 0xf5, 0xbc, 0x89, 0x87, 0xde, 0xc7, + 0xfc, 0xfb, 0x9a, 0x00, 0x68, 0x5b, 0xd6, 0xf3, 0xcd, 0xba, 0x5e, 0x97, 0x1a, 0xc6, 0xd4, 0xa8, + 0xeb, 0x7f, 0xb4, 0xe1, 0xc8, 0x48, 0xed, 0x0b, 0xec, 0xa6, 0x27, 0xb0, 0x45, 0xf1, 0x94, 0x03, + 0x98, 0x5e, 0xa7, 0x08, 0x5a, 0xcf, 0x31, 0xaa, 0xbf, 0x2f, 0xc0, 0xdc, 0xba, 0xc5, 0x09, 0x57, + 0xb2, 0x68, 0xbf, 0x90, 0xc3, 0xeb, 0x41, 0x61, 0x3b, 0x47, 0x24, 0x0c, 0x1c, 0x85, 0xe1, 0x16, + 0xf9, 0x65, 0xad, 0xf1, 0x12, 0x5a, 0x4c, 0x93, 0xb2, 0xba, 0xac, 0xa5, 0x8d, 0xb4, 0xdc, 0x5a, + 0xba, 0x62, 0x76, 0x47, 0xbf, 0x27, 0xc0, 0x22, 0x3d, 0x2a, 0xfa, 0xa2, 0xbd, 0xd7, 0x2b, 0x2a, + 0x3a, 0xee, 0x11, 0xa8, 0xba, 0xcb, 0x7c, 0x2f, 0x4a, 0x95, 0xc5, 0xff, 0xb3, 0x62, 0x17, 0xb2, + 0xf0, 0x22, 0xfc, 0xbe, 0x00, 0x8b, 0x54, 0xa9, 0x8f, 0x9f, 0x32, 0x3a, 0xee, 0x11, 0x28, 0x7b, + 0xcb, 0x87, 0xb2, 0x4b, 0xc9, 0xb3, 0x9d, 0x29, 0x23, 0x12, 0x87, 0xc9, 0xfb, 0x44, 0x80, 0x45, + 0x7a, 0x8a, 0xf2, 0x25, 0xef, 0x4e, 0xaf, 0xf0, 0x3a, 0xec, 0x19, 0xf7, 0x0e, 0x0e, 0x13, 0xe3, + 0x30, 0xca, 0x80, 0x73, 0xe7, 0xad, 0xf3, 0xa9, 0x20, 0xc8, 0xb1, 0xc2, 0x4e, 0x71, 0xaa, 0x61, + 0x65, 0x5b, 0xf6, 0xd3, 0x89, 0x1b, 0x41, 0x89, 0x30, 0x87, 0x22, 0x2e, 0xbb, 0x87, 0x32, 0x9c, + 0x42, 0xb3, 0x5e, 0x08, 0xa5, 0x9a, 0x8c, 0x7e, 0x43, 0x80, 0x59, 0xbb, 0x16, 0x58, 0xc0, 0x6e, + 0x87, 0x06, 0xc0, 0xe4, 0xbe, 0x07, 0xe4, 0x37, 0x7d, 0xc4, 0x62, 0x5e, 0xf4, 0x83, 0x8e, 0x45, + 0xe1, 0x37, 0x05, 0x98, 0xb5, 0x4b, 0xfa, 0x51, 0xd0, 0x33, 0xd9, 0xee, 0x01, 0xfd, 0x1b, 0x3e, + 0xe8, 0xcf, 0x24, 0xe7, 0x7d, 0xd0, 0x9b, 0xd2, 0xfc, 0x4d, 0x01, 0x66, 0xed, 0xd2, 0x6c, 0x91, + 0xf0, 0x6a, 0x68, 0x24, 0x1d, 0xe4, 0xf7, 0xb6, 0x9f, 0xfc, 0x2e, 0xa6, 0x3a, 0x82, 0xc4, 0x08, + 0x13, 0x9c, 0xe0, 0xda, 0xd3, 0x2d, 0xfb, 0x09, 0xef, 0x6b, 0x41, 0xa1, 0xdb, 0x86, 0x23, 0x62, + 0xe0, 0x21, 0xc0, 0x0b, 0x68, 0xce, 0x0b, 0x62, 0x83, 0xf6, 0x45, 0xbf, 0x2d, 0xc0, 0x9c, 0x5d, + 0x88, 0xed, 0x20, 0xef, 0xf6, 0x04, 0x86, 0x09, 0x73, 0x8f, 0x94, 0xbc, 0xee, 0x23, 0x12, 0x4b, + 0x62, 0x27, 0x52, 0xb0, 0x44, 0xfc, 0x07, 0x01, 0xe6, 0xec, 0x42, 0x7d, 0x1c, 0xd4, 0x30, 0xe1, + 0xee, 0x91, 0x9a, 0x37, 0x7d, 0xa8, 0x39, 0x9f, 0x5c, 0xea, 0x40, 0x8d, 0x29, 0xe4, 0xdf, 0x16, + 0x60, 0xce, 0x2e, 0xe4, 0x76, 0x92, 0x6e, 0xf7, 0x84, 0xaa, 0x83, 0xb0, 0xdf, 0xf5, 0x13, 0x76, + 0x31, 0xd5, 0x15, 0x30, 0xfa, 0x22, 0xc0, 0xba, 0xac, 0x17, 0xd5, 0x1a, 0xb9, 0xd2, 0x38, 0x1f, + 0x20, 0x1d, 0x69, 0x3e, 0x9b, 0x3c, 0x1b, 0xa0, 0x99, 0xb8, 0xe4, 0x11, 0xe7, 0x19, 0x41, 0x60, + 0xc5, 0x79, 0xd0, 0xd7, 0xe9, 0x2e, 0x41, 0x26, 0xa7, 0xdf, 0x6e, 0xb0, 0xeb, 0x8c, 0x20, 0xe9, + 0x61, 0x69, 0x87, 0x60, 0x50, 0x56, 0x3c, 0xa0, 0x2c, 0xa2, 0x79, 0xe3, 0x2a, 0x83, 0x20, 0xa2, + 0x5f, 0x93, 0xa4, 0x3f, 0xa4, 0xff, 0x7e, 0x84, 0x7e, 0x41, 0x80, 0x51, 0x2b, 0xfc, 0x5d, 0x54, + 0x6b, 0xc7, 0xca, 0x9c, 0xeb, 0xd4, 0x57, 0xc7, 0x88, 0x2c, 0x01, 0x9b, 0x4b, 0xce, 0x70, 0x51, + 0x30, 0x47, 0xe4, 0x1b, 0xe3, 0x29, 0xfd, 0x50, 0xf1, 0xa8, 0x4e, 0x3c, 0x13, 0x74, 0xf1, 0xf8, + 0x6f, 0x56, 0xfd, 0x4c, 0xe4, 0x72, 0xf0, 0x84, 0xbf, 0xe4, 0x4b, 0x45, 0x8c, 0x67, 0x02, 0xc6, + 0x31, 0x9e, 0x3d, 0x52, 0x6c, 0x3f, 0x10, 0x12, 0x54, 0xb4, 0x42, 0x4b, 0xd3, 0x4f, 0x4c, 0x7f, + 0x49, 0x80, 0x11, 0x3e, 0xaf, 0x73, 0xf7, 0x0d, 0xc5, 0x23, 0x0b, 0x74, 0xc7, 0x0d, 0x05, 0x41, + 0x9c, 0xc3, 0xc3, 0xb1, 0x49, 0x34, 0xd8, 0x44, 0xbf, 0xdc, 0xf8, 0xc8, 0x40, 0x86, 0xd9, 0xf4, + 0x77, 0xcc, 0x10, 0x84, 0x85, 0xec, 0x56, 0xb0, 0xa8, 0x64, 0x60, 0x70, 0x99, 0x0e, 0xe0, 0xb0, + 0xd1, 0xf2, 0x04, 0x97, 0xfe, 0x90, 0x7d, 0x95, 0x41, 0x8c, 0xd6, 0xb7, 0x04, 0x18, 0x77, 0x24, + 0x96, 0xee, 0x0e, 0xd3, 0x3b, 0x13, 0xb5, 0x2f, 0xcc, 0xfb, 0x07, 0x87, 0x89, 0x49, 0x98, 0xe0, + 0x60, 0x3a, 0x6c, 0x55, 0x17, 0x9c, 0xe8, 0x7b, 0x02, 0xc4, 0xe9, 0xd5, 0x9f, 0x39, 0xa7, 0xd6, + 0x1d, 0xa5, 0x77, 0xd2, 0xe8, 0xe4, 0xed, 0xd0, 0xfd, 0xd8, 0x5d, 0xde, 0x3d, 0x7f, 0xd1, 0xc4, + 0x27, 0x16, 0x6f, 0x22, 0xb8, 0x3b, 0xc8, 0x8f, 0x05, 0x18, 0xa3, 0x43, 0x9a, 0xa9, 0x8d, 0x6f, + 0x86, 0x4a, 0xb5, 0x6a, 0x50, 0xf0, 0x5a, 0xc8, 0x5e, 0x0c, 0xff, 0xb2, 0x4f, 0xa8, 0x7b, 0x46, + 0x9c, 0xb0, 0x42, 0xdd, 0x1c, 0xde, 0x5f, 0xb4, 0x12, 0x57, 0x92, 0x3d, 0xe2, 0x72, 0xc0, 0x69, + 0xf3, 0xd9, 0x64, 0xd0, 0x64, 0xb9, 0x24, 0x62, 0x86, 0xec, 0x98, 0x50, 0x24, 0x4f, 0x71, 0xc5, + 0xd1, 0x98, 0x3d, 0x04, 0x8f, 0xfe, 0x9a, 0x00, 0xa3, 0xcc, 0x05, 0x62, 0xa9, 0x9c, 0x83, 0x32, + 0xd0, 0x96, 0xc5, 0x3a, 0x38, 0xbc, 0x8b, 0x6c, 0x87, 0x65, 0xf0, 0x2c, 0xed, 0x1a, 0x13, 0x87, + 0x4c, 0x6c, 0x98, 0x57, 0x7f, 0x53, 0x80, 0x51, 0xe6, 0xce, 0x84, 0x44, 0x66, 0xcb, 0x93, 0x1d, + 0x1c, 0xd9, 0x75, 0xa2, 0x53, 0x76, 0x64, 0x26, 0xe7, 0x26, 0x93, 0x0e, 0xce, 0x61, 0x88, 0x7f, + 0x57, 0x80, 0x09, 0x6b, 0x5f, 0x33, 0x60, 0x9e, 0xc4, 0xa2, 0x7e, 0xae, 0x13, 0xb6, 0xd3, 0xc9, + 0xa4, 0xe3, 0x62, 0xc5, 0xb1, 0xdf, 0x61, 0x9c, 0xa5, 0x97, 0x12, 0xa7, 0x7d, 0x1f, 0xfc, 0x96, + 0x00, 0xc9, 0x75, 0x59, 0x67, 0x69, 0x30, 0xf8, 0x37, 0x5b, 0x44, 0x5b, 0xba, 0x6e, 0x7c, 0xf6, + 0xfc, 0x19, 0xc9, 0x50, 0xf9, 0x2a, 0xc4, 0x0b, 0x3e, 0xba, 0x3c, 0x86, 0x46, 0xd2, 0xe4, 0x33, + 0x21, 0xeb, 0xe1, 0xc8, 0x34, 0x3e, 0xd6, 0xb8, 0x53, 0x26, 0xfb, 0x6d, 0xd8, 0x2b, 0xe1, 0xd2, + 0x5f, 0x92, 0x4d, 0x1b, 0x1f, 0x03, 0xa6, 0x61, 0xd2, 0x40, 0xe3, 0xb4, 0x8e, 0xe4, 0x64, 0x6e, + 0xb0, 0xd2, 0xbe, 0x79, 0xff, 0x81, 0x00, 0x53, 0x36, 0x9b, 0x68, 0x58, 0xf7, 0x3b, 0x3d, 0x24, + 0x99, 0x34, 0x94, 0xe8, 0x6e, 0x4f, 0x7d, 0x99, 0x95, 0x7c, 0x74, 0x70, 0x98, 0x58, 0xf2, 0xa4, + 0x05, 0x99, 0xff, 0xef, 0x3f, 0x25, 0xeb, 0x8a, 0x78, 0x81, 0x93, 0x10, 0xeb, 0x43, 0x33, 0x4f, + 0xe3, 0xff, 0x0d, 0x01, 0xe2, 0x99, 0x6a, 0xd5, 0x9e, 0x8e, 0xfa, 0x7a, 0x28, 0xa0, 0x99, 0x6a, + 0xb5, 0xe3, 0x16, 0x9b, 0x84, 0x29, 0x07, 0x6a, 0xbb, 0x44, 0x63, 0x77, 0xc5, 0x2e, 0xd1, 0x9c, + 0xbb, 0xf2, 0xb1, 0x00, 0x93, 0xd4, 0xfb, 0xb0, 0x43, 0x7c, 0x35, 0x14, 0x44, 0x3a, 0x82, 0x2f, + 0xca, 0x7c, 0x00, 0x94, 0xe4, 0xb0, 0xe5, 0x85, 0xd2, 0xee, 0xb7, 0x7c, 0x5b, 0x80, 0x49, 0xea, + 0x86, 0x1c, 0x05, 0x2f, 0x1d, 0xc1, 0x17, 0xef, 0xfa, 0xc1, 0x61, 0x62, 0x0e, 0xa6, 0x1d, 0x78, + 0xa9, 0xf3, 0x62, 0x02, 0x26, 0x87, 0xad, 0xce, 0x80, 0xd1, 0xef, 0x93, 0x38, 0x36, 0x27, 0xe6, + 0x54, 0x07, 0x5f, 0x0f, 0x9d, 0x8c, 0xd7, 0x10, 0xf1, 0x37, 0x7a, 0xe8, 0xc9, 0x04, 0xfc, 0xf3, + 0x07, 0x87, 0x89, 0x45, 0x98, 0x30, 0x4d, 0x87, 0xd2, 0x90, 0x3d, 0xc5, 0xfb, 0xb2, 0x78, 0xce, + 0x47, 0xbc, 0x89, 0xea, 0xf2, 0xc2, 0xfd, 0xcb, 0x02, 0x8c, 0x59, 0xc2, 0x4d, 0xb2, 0x5c, 0x2f, + 0x87, 0x00, 0xd8, 0x49, 0xb0, 0xf1, 0x19, 0x37, 0x01, 0xc8, 0x86, 0xd6, 0x2e, 0x30, 0xa7, 0xc4, + 0x29, 0x07, 0xff, 0x09, 0x3e, 0xb6, 0x2b, 0x4f, 0xd8, 0x84, 0x84, 0x40, 0xbb, 0x11, 0x26, 0x37, + 0x74, 0x67, 0x01, 0x79, 0xeb, 0xe0, 0x30, 0x71, 0xca, 0x32, 0x16, 0x04, 0x9d, 0x43, 0x3c, 0x16, + 0x52, 0x73, 0x5e, 0xf0, 0xd2, 0x1f, 0x36, 0xa5, 0x3d, 0xf9, 0x23, 0xf4, 0x03, 0x53, 0x32, 0xb8, + 0xa7, 0x22, 0x01, 0x24, 0xc3, 0x2f, 0xcf, 0x5b, 0x77, 0xc9, 0xf0, 0xcd, 0x6a, 0x27, 0x3e, 0x3e, + 0x38, 0x4c, 0x2c, 0xb8, 0x5f, 0x90, 0x38, 0x05, 0xe3, 0xba, 0x78, 0xc5, 0x47, 0x30, 0x6c, 0x4f, + 0x4c, 0x38, 0xf9, 0xf8, 0x4d, 0x01, 0xc6, 0xb9, 0x69, 0xc9, 0xfe, 0x78, 0x2d, 0x04, 0xce, 0x20, + 0xf7, 0x89, 0x5c, 0x73, 0x22, 0xe2, 0x01, 0x08, 0x49, 0xa1, 0x4b, 0x41, 0x08, 0x21, 0x1b, 0xe9, + 0xef, 0x0a, 0x30, 0x4d, 0x9d, 0x48, 0xc7, 0xdb, 0x7a, 0xf4, 0x5a, 0xc8, 0xec, 0x89, 0x2c, 0xe2, + 0x16, 0x8a, 0xa0, 0x1d, 0xbb, 0xce, 0x62, 0x82, 0xa8, 0x12, 0x38, 0x28, 0xba, 0x2a, 0x5e, 0xf4, + 0xa1, 0x48, 0xa9, 0x57, 0x2b, 0x3c, 0x55, 0x78, 0x59, 0x7e, 0xcb, 0xbc, 0x4a, 0xe5, 0xe9, 0xb9, + 0x11, 0x02, 0x18, 0x8b, 0xb7, 0x85, 0xa2, 0xe5, 0x51, 0x40, 0x5a, 0xae, 0x25, 0x03, 0xaf, 0x0e, + 0x26, 0xe6, 0x3f, 0x0b, 0x30, 0x6d, 0xb9, 0xb7, 0x3c, 0x41, 0x27, 0x29, 0x69, 0x52, 0x40, 0x62, + 0xde, 0x48, 0xde, 0x0c, 0x4a, 0x8c, 0xd3, 0x1f, 0xc6, 0x84, 0x95, 0xfe, 0x74, 0x10, 0x66, 0x77, + 0xa0, 0xff, 0xa7, 0x19, 0x02, 0xe6, 0x26, 0xe6, 0x52, 0x40, 0x5f, 0x0f, 0x9e, 0xbd, 0x9a, 0xc9, + 0x61, 0x88, 0x7c, 0xd7, 0x62, 0x23, 0x20, 0x81, 0xd9, 0xe4, 0xfd, 0x40, 0x04, 0xda, 0x13, 0xca, + 0x52, 0x85, 0xa3, 0xe9, 0xb3, 0x31, 0xad, 0xff, 0x4b, 0x80, 0x64, 0x49, 0xae, 0xc9, 0x4d, 0x59, + 0x65, 0x26, 0xc4, 0x96, 0x92, 0x34, 0xe4, 0x4a, 0x76, 0x3d, 0x2b, 0xf0, 0x83, 0x8b, 0x7a, 0x40, + 0x4a, 0x37, 0x92, 0xeb, 0x81, 0x97, 0xd2, 0xa2, 0x2e, 0x5d, 0xa6, 0x0f, 0xe3, 0x68, 0xf6, 0x54, + 0x9a, 0x51, 0x15, 0x53, 0xfc, 0x5f, 0x05, 0x98, 0xb4, 0xb9, 0x3c, 0xe4, 0xe0, 0xa2, 0xa1, 0x37, + 0x42, 0xe5, 0x8c, 0xb4, 0x6d, 0x6d, 0x77, 0x7a, 0xe9, 0xca, 0xf6, 0xb6, 0xed, 0x83, 0xc3, 0xc4, + 0x69, 0xcb, 0x8f, 0x20, 0x67, 0x24, 0xef, 0x4d, 0x41, 0x3c, 0xef, 0xc3, 0x05, 0x76, 0xae, 0xe2, + 0xf6, 0xb5, 0x4f, 0x04, 0xf3, 0xbb, 0xc2, 0x10, 0x07, 0x3f, 0x7b, 0xe6, 0xc5, 0x90, 0x07, 0xbf, + 0xd5, 0x83, 0xc3, 0xc4, 0x94, 0x17, 0x1d, 0x04, 0xfc, 0x39, 0x24, 0x76, 0x06, 0x4f, 0xf6, 0xb2, + 0x5f, 0x13, 0x00, 0xd9, 0xc2, 0x28, 0xf4, 0x2b, 0xf9, 0x50, 0xf9, 0xd2, 0xd8, 0x2e, 0x16, 0x0e, + 0x7c, 0xc6, 0x7e, 0x4e, 0xa4, 0xe0, 0xad, 0xa0, 0x8a, 0x28, 0x2e, 0x74, 0x44, 0x8f, 0x59, 0xfe, + 0x5d, 0x01, 0x90, 0x2d, 0xd0, 0xd2, 0x03, 0x76, 0x66, 0x2d, 0xc2, 0x61, 0x7f, 0xd0, 0x19, 0xfb, + 0xc5, 0x64, 0x00, 0xce, 0xb3, 0x4d, 0x77, 0xc6, 0x15, 0x86, 0xa1, 0x44, 0x9c, 0xac, 0xe4, 0x94, + 0x3a, 0x13, 0xf0, 0x6a, 0x72, 0xb9, 0x3b, 0x01, 0xce, 0xbd, 0x09, 0x13, 0x53, 0xfa, 0xd1, 0x25, + 0xc6, 0xbe, 0x1f, 0x7d, 0x42, 0x03, 0x3a, 0x7e, 0x59, 0x39, 0xfd, 0x02, 0x26, 0xb7, 0x7b, 0x48, + 0x33, 0x48, 0xa2, 0x26, 0x39, 0x72, 0xba, 0x3c, 0x65, 0xa7, 0xc1, 0x19, 0x3b, 0x21, 0x4f, 0x7c, + 0x0c, 0x4a, 0x18, 0x78, 0x7b, 0x08, 0xe5, 0x20, 0x02, 0xa7, 0xdc, 0x86, 0xd6, 0x88, 0xa3, 0xdc, + 0xef, 0x35, 0x69, 0x9f, 0x61, 0x74, 0xdf, 0xea, 0x7d, 0x00, 0x66, 0x7a, 0x9f, 0x04, 0xa1, 0xf3, + 0x4d, 0xf1, 0xf5, 0x2e, 0x2b, 0x66, 0x64, 0xbf, 0xf1, 0x0c, 0xaf, 0x7c, 0x4f, 0x80, 0x69, 0xeb, + 0x04, 0xca, 0xe7, 0x47, 0x7d, 0x2d, 0x3c, 0xfe, 0x4e, 0xe7, 0xd1, 0x9f, 0x3a, 0x38, 0x4c, 0xcc, + 0x43, 0xd2, 0x93, 0x18, 0x4b, 0xfe, 0x5e, 0x13, 0xaf, 0x87, 0xa5, 0x06, 0x53, 0xf1, 0x7d, 0x01, + 0x12, 0xb6, 0x20, 0x0c, 0x4f, 0xc8, 0xeb, 0xe1, 0x09, 0xe9, 0x12, 0x8e, 0x91, 0x03, 0xd1, 0x72, + 0x3f, 0x79, 0x27, 0xf4, 0xca, 0xd8, 0x42, 0x35, 0xbf, 0x2b, 0x40, 0xc2, 0x76, 0x0a, 0x3f, 0x22, + 0x55, 0x5d, 0xce, 0xe4, 0x15, 0x72, 0xf8, 0x9b, 0xf3, 0xa4, 0x8a, 0xbb, 0x77, 0xfa, 0x5c, 0xea, + 0x08, 0x64, 0xa1, 0x5f, 0x37, 0x6f, 0xa4, 0xcc, 0xcf, 0x49, 0x03, 0xdc, 0x48, 0x79, 0xa7, 0x78, + 0xea, 0x6e, 0x41, 0x7c, 0xb2, 0x9f, 0x89, 0xaf, 0xd1, 0x1b, 0x29, 0xf2, 0x7c, 0xd1, 0xe1, 0x09, + 0x24, 0xc5, 0x69, 0xf6, 0x86, 0xd1, 0xed, 0xb6, 0x7c, 0x8b, 0x25, 0x68, 0xb1, 0x7c, 0x96, 0x2b, + 0x81, 0x11, 0x04, 0x7d, 0xb1, 0x4d, 0xcd, 0xf4, 0x1b, 0xfe, 0x00, 0x17, 0x91, 0xf9, 0xfa, 0xd3, + 0xe0, 0xaa, 0xcd, 0x49, 0xf9, 0x15, 0x01, 0xc6, 0xad, 0x8f, 0xdc, 0xe8, 0x9e, 0x92, 0x0e, 0x3c, + 0x33, 0x73, 0x4f, 0x42, 0x40, 0x65, 0x9f, 0xcf, 0x70, 0x50, 0xed, 0xef, 0xb3, 0xbc, 0xb1, 0x62, + 0x76, 0xfe, 0x23, 0x01, 0xc6, 0xad, 0xe7, 0xc5, 0x61, 0x91, 0x32, 0x67, 0x24, 0x04, 0xd2, 0x37, + 0x3b, 0x20, 0x3d, 0x93, 0xec, 0xc8, 0x55, 0x0c, 0xf7, 0x3b, 0x02, 0x4c, 0xda, 0x3f, 0xef, 0xa3, + 0x90, 0x4f, 0x4a, 0x06, 0xf2, 0x1d, 0xe0, 0xe2, 0x33, 0x7e, 0x07, 0xb8, 0x4e, 0x77, 0xe3, 0x3b, + 0x24, 0xe8, 0xfb, 0x23, 0x02, 0xdd, 0xee, 0x5c, 0xfc, 0xa1, 0x00, 0xb3, 0xb6, 0x5d, 0x9a, 0xb3, + 0x1b, 0x41, 0xf3, 0xf9, 0x1e, 0xb7, 0xf9, 0x78, 0xef, 0xe0, 0x30, 0x71, 0x0e, 0x66, 0x0d, 0x4b, + 0xe9, 0xd0, 0xd2, 0xe0, 0x61, 0x3f, 0x3f, 0x3b, 0xf3, 0x5f, 0xac, 0xe4, 0x28, 0x76, 0x73, 0xb3, + 0x12, 0x96, 0xe0, 0x70, 0xcb, 0xf6, 0x24, 0x14, 0x5d, 0x37, 0xd1, 0x4a, 0x47, 0xba, 0xbc, 0xcd, + 0xd3, 0xef, 0x09, 0x30, 0x63, 0x3b, 0x43, 0xbd, 0x18, 0x2b, 0x25, 0x1d, 0x1c, 0x26, 0xce, 0x43, + 0xc2, 0x83, 0x34, 0xcf, 0x23, 0xfd, 0x8a, 0x78, 0x2d, 0x14, 0x6d, 0x78, 0xd5, 0xfe, 0x9b, 0x00, + 0x33, 0xb6, 0x13, 0x96, 0x45, 0xd9, 0xad, 0xb0, 0xeb, 0x16, 0xde, 0xb8, 0x3d, 0x0d, 0x47, 0xe0, + 0xed, 0x64, 0x0f, 0x8b, 0x67, 0x04, 0x64, 0x5c, 0xc7, 0x30, 0x8b, 0xd2, 0x13, 0x96, 0x50, 0x35, + 0x1c, 0x95, 0x6b, 0xc9, 0x7b, 0xe1, 0xa9, 0x74, 0x1a, 0x4f, 0x1a, 0x82, 0xfa, 0xd3, 0x4d, 0xb1, + 0xdd, 0xe6, 0x7e, 0x25, 0x02, 0xf3, 0xee, 0x93, 0x11, 0x67, 0x78, 0x57, 0x43, 0x45, 0x0d, 0x8e, + 0xd9, 0xfa, 0xea, 0x07, 0x87, 0x89, 0x34, 0x2c, 0xd8, 0xfd, 0x54, 0xa7, 0xad, 0xb2, 0xff, 0x37, + 0x1d, 0x94, 0x37, 0x77, 0xc5, 0x5b, 0x06, 0x6f, 0x0c, 0xe2, 0x9d, 0x19, 0x42, 0xfd, 0x6d, 0xf2, + 0x1f, 0x09, 0xf6, 0xff, 0xe1, 0xc2, 0x6e, 0x98, 0x6f, 0xf7, 0xc4, 0x90, 0x70, 0x92, 0xf0, 0x41, + 0xaf, 0x74, 0xdf, 0x47, 0x6f, 0x06, 0xa5, 0xdb, 0xdb, 0x66, 0xff, 0xb1, 0xf5, 0x82, 0xda, 0x8b, + 0x0c, 0x74, 0xb7, 0x27, 0xea, 0xc3, 0x1b, 0xf1, 0xe7, 0x07, 0x87, 0x89, 0xeb, 0xb0, 0xe8, 0xcb, + 0x01, 0xaa, 0x11, 0x5e, 0x2c, 0xe0, 0x4e, 0xc9, 0x61, 0x59, 0x80, 0x17, 0xff, 0xcb, 0x11, 0xf3, + 0xd1, 0xf5, 0x31, 0x32, 0x20, 0xbc, 0x91, 0xff, 0x73, 0x3d, 0x33, 0x60, 0x35, 0x79, 0x34, 0x19, + 0xc0, 0x5c, 0xf8, 0x2b, 0x11, 0x38, 0xed, 0x1d, 0x81, 0xb3, 0x38, 0xf1, 0x22, 0x14, 0xe1, 0xe7, + 0x84, 0x9e, 0xd9, 0x50, 0x48, 0xe6, 0x8f, 0xc4, 0x06, 0xe7, 0xde, 0x80, 0x59, 0x52, 0xfa, 0x71, + 0x67, 0x89, 0xeb, 0x79, 0xd7, 0x38, 0xbb, 0x98, 0x37, 0xf3, 0xc8, 0xde, 0x0a, 0x99, 0xad, 0x37, + 0xf0, 0x1e, 0xe1, 0x93, 0x59, 0x57, 0x5c, 0xa4, 0xdf, 0x97, 0x8a, 0x93, 0x69, 0xa9, 0xad, 0xef, + 0xba, 0xac, 0xf9, 0xea, 0xbf, 0x17, 0xbe, 0x9a, 0xf9, 0x25, 0x01, 0xad, 0xc3, 0x98, 0x95, 0x9a, 0x69, 0x29, 0xb3, 0x95, 0x17, 0xaf, 0xa3, 0xe5, 0x5d, 0x5d, 0x6f, 0x69, 0x77, 0xd2, 0xe9, 0x5a, 0x5d, 0xdf, 0x6d, 0x3f, 0x59, 0xae, 0x28, 0x7b, 0x69, 0x8c, 0x22, 0xcd, 0x50, 0xa4, 0x5b, 0xef, 0xd7, 0xd2, 0x16, 0x92, 0x95, 0xe8, 0xf5, 0xe5, 0x1b, 0x29, 0x21, 0xb2, 0xc2, 0xff, 0x27, 0x81, 0xe9, 0x9f, 0xd5, 0x94, 0xa6, 0xbd, 0xa4, 0xa6, 0xb6, 0x2a, 0x77, 0x5c, 0x6d, 0xee, 0xb8, 0xda, 0xfc, 0x64, 0xc0, 0x79, 0xd3, 0x52, 0xab, 0x4e, 0x3a, 0x3c, 0xe9, 0x27, 0x71, 0x9c, 0x57, 0xff, - 0x34, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x20, 0xfd, 0x2d, 0x76, 0xa8, 0x00, 0x00, + 0x24, 0x00, 0x00, 0xff, 0xff, 0xed, 0x3c, 0x91, 0x6e, 0x72, 0xa8, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 // ManagementServiceClient is the client API for ManagementService service. // @@ -8873,10 +8873,10 @@ type ManagementServiceClient interface { } type managementServiceClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewManagementServiceClient(cc grpc.ClientConnInterface) ManagementServiceClient { +func NewManagementServiceClient(cc *grpc.ClientConn) ManagementServiceClient { return &managementServiceClient{cc} } diff --git a/pkg/management/api/grpc/management.pb.gw.go b/pkg/management/api/grpc/management.pb.gw.go index 8ac730cbf..df89a06bf 100644 --- a/pkg/management/api/grpc/management.pb.gw.go +++ b/pkg/management/api/grpc/management.pb.gw.go @@ -13,6 +13,7 @@ import ( "io" "net/http" + "github.com/golang/protobuf/descriptor" "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes/empty" "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -23,11 +24,13 @@ import ( "google.golang.org/grpc/status" ) +// Suppress "imported and not used" errors var _ codes.Code var _ io.Reader var _ status.Status var _ = runtime.String var _ = utilities.NewDoubleArray +var _ = descriptor.ForMessage func request_ManagementService_Healthz_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty @@ -38,6 +41,15 @@ func request_ManagementService_Healthz_0(ctx context.Context, marshaler runtime. } +func local_request_ManagementService_Healthz_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Healthz(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_Ready_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -47,6 +59,15 @@ func request_ManagementService_Ready_0(ctx context.Context, marshaler runtime.Ma } +func local_request_ManagementService_Ready_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Ready(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_Validate_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -56,6 +77,15 @@ func request_ManagementService_Validate_0(ctx context.Context, marshaler runtime } +func local_request_ManagementService_Validate_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.Validate(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -83,6 +113,33 @@ func request_ManagementService_GetUserByID_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_GetUserByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserByEmailGlobal_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserEmailID var metadata runtime.ServerMetadata @@ -110,6 +167,33 @@ func request_ManagementService_GetUserByEmailGlobal_0(ctx context.Context, marsh } +func local_request_ManagementService_GetUserByEmailGlobal_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserEmailID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["email"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "email") + } + + protoReq.Email, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "email", err) + } + + msg, err := server.GetUserByEmailGlobal(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchUsers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserSearchRequest var metadata runtime.ServerMetadata @@ -127,6 +211,23 @@ func request_ManagementService_SearchUsers_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_SearchUsers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchUsers(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_IsUserUnique_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -135,7 +236,10 @@ func request_ManagementService_IsUserUnique_0(ctx context.Context, marshaler run var protoReq UniqueUserRequest var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_IsUserUnique_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_IsUserUnique_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -144,6 +248,19 @@ func request_ManagementService_IsUserUnique_0(ctx context.Context, marshaler run } +func local_request_ManagementService_IsUserUnique_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UniqueUserRequest + var metadata runtime.ServerMetadata + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_IsUserUnique_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.IsUserUnique(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq CreateUserRequest var metadata runtime.ServerMetadata @@ -161,6 +278,23 @@ func request_ManagementService_CreateUser_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_CreateUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -196,6 +330,41 @@ func request_ManagementService_DeactivateUser_0(ctx context.Context, marshaler r } +func local_request_ManagementService_DeactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -231,6 +400,41 @@ func request_ManagementService_ReactivateUser_0(ctx context.Context, marshaler r } +func local_request_ManagementService_ReactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_LockUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -266,6 +470,41 @@ func request_ManagementService_LockUser_0(ctx context.Context, marshaler runtime } +func local_request_ManagementService_LockUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.LockUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UnlockUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -301,6 +540,41 @@ func request_ManagementService_UnlockUser_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_UnlockUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UnlockUser(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeleteUser_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -328,6 +602,33 @@ func request_ManagementService_DeleteUser_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_DeleteUser_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeleteUser(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_UserChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -354,7 +655,10 @@ func request_ManagementService_UserChanges_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_UserChanges_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_UserChanges_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -363,6 +667,37 @@ func request_ManagementService_UserChanges_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_UserChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_UserChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UserChanges(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_ApplicationChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -389,7 +724,10 @@ func request_ManagementService_ApplicationChanges_0(ctx context.Context, marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ApplicationChanges_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_ApplicationChanges_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -398,6 +736,37 @@ func request_ManagementService_ApplicationChanges_0(ctx context.Context, marshal } +func local_request_ManagementService_ApplicationChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ApplicationChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ApplicationChanges(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_OrgChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -424,7 +793,10 @@ func request_ManagementService_OrgChanges_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_OrgChanges_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_OrgChanges_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -433,6 +805,37 @@ func request_ManagementService_OrgChanges_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_OrgChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_OrgChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.OrgChanges(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_ManagementService_ProjectChanges_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) @@ -459,7 +862,10 @@ func request_ManagementService_ProjectChanges_0(ctx context.Context, marshaler r return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ProjectChanges_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ManagementService_ProjectChanges_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -468,6 +874,37 @@ func request_ManagementService_ProjectChanges_0(ctx context.Context, marshaler r } +func local_request_ManagementService_ProjectChanges_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_ManagementService_ProjectChanges_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ProjectChanges(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserProfile_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -495,6 +932,33 @@ func request_ManagementService_GetUserProfile_0(ctx context.Context, marshaler r } +func local_request_ManagementService_GetUserProfile_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserProfile(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateUserProfile_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserProfileRequest var metadata runtime.ServerMetadata @@ -530,6 +994,41 @@ func request_ManagementService_UpdateUserProfile_0(ctx context.Context, marshale } +func local_request_ManagementService_UpdateUserProfile_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserProfileRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateUserProfile(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -557,6 +1056,33 @@ func request_ManagementService_GetUserEmail_0(ctx context.Context, marshaler run } +func local_request_ManagementService_GetUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserEmail(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserEmailRequest var metadata runtime.ServerMetadata @@ -592,6 +1118,41 @@ func request_ManagementService_ChangeUserEmail_0(ctx context.Context, marshaler } +func local_request_ManagementService_ChangeUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserEmailRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ChangeUserEmail(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ResendEmailVerificationMail_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -627,6 +1188,41 @@ func request_ManagementService_ResendEmailVerificationMail_0(ctx context.Context } +func local_request_ManagementService_ResendEmailVerificationMail_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ResendEmailVerificationMail(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -654,6 +1250,33 @@ func request_ManagementService_GetUserPhone_0(ctx context.Context, marshaler run } +func local_request_ManagementService_GetUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserPhone(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserPhoneRequest var metadata runtime.ServerMetadata @@ -689,6 +1312,41 @@ func request_ManagementService_ChangeUserPhone_0(ctx context.Context, marshaler } +func local_request_ManagementService_ChangeUserPhone_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserPhoneRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ChangeUserPhone(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ResendPhoneVerificationCode_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -724,6 +1382,41 @@ func request_ManagementService_ResendPhoneVerificationCode_0(ctx context.Context } +func local_request_ManagementService_ResendPhoneVerificationCode_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ResendPhoneVerificationCode(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -751,6 +1444,33 @@ func request_ManagementService_GetUserAddress_0(ctx context.Context, marshaler r } +func local_request_ManagementService_GetUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserAddress(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpdateUserAddressRequest var metadata runtime.ServerMetadata @@ -786,6 +1506,41 @@ func request_ManagementService_UpdateUserAddress_0(ctx context.Context, marshale } +func local_request_ManagementService_UpdateUserAddress_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserAddressRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateUserAddress(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetUserMfas_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserID var metadata runtime.ServerMetadata @@ -813,6 +1568,33 @@ func request_ManagementService_GetUserMfas_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_GetUserMfas_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetUserMfas(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SendSetPasswordNotification_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq SetPasswordNotificationRequest var metadata runtime.ServerMetadata @@ -848,6 +1630,41 @@ func request_ManagementService_SendSetPasswordNotification_0(ctx context.Context } +func local_request_ManagementService_SendSetPasswordNotification_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetPasswordNotificationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.SendSetPasswordNotification(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SetInitialPassword_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordRequest var metadata runtime.ServerMetadata @@ -883,6 +1700,41 @@ func request_ManagementService_SetInitialPassword_0(ctx context.Context, marshal } +func local_request_ManagementService_SetInitialPassword_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.SetInitialPassword(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetPasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -892,6 +1744,15 @@ func request_ManagementService_GetPasswordComplexityPolicy_0(ctx context.Context } +func local_request_ManagementService_GetPasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetPasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordComplexityPolicyCreate var metadata runtime.ServerMetadata @@ -909,6 +1770,23 @@ func request_ManagementService_CreatePasswordComplexityPolicy_0(ctx context.Cont } +func local_request_ManagementService_CreatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordComplexityPolicyCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordComplexityPolicyUpdate var metadata runtime.ServerMetadata @@ -944,6 +1822,41 @@ func request_ManagementService_UpdatePasswordComplexityPolicy_0(ctx context.Cont } +func local_request_ManagementService_UpdatePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordComplexityPolicyUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdatePasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeletePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordComplexityPolicyID var metadata runtime.ServerMetadata @@ -971,6 +1884,33 @@ func request_ManagementService_DeletePasswordComplexityPolicy_0(ctx context.Cont } +func local_request_ManagementService_DeletePasswordComplexityPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordComplexityPolicyID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeletePasswordComplexityPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetPasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -980,6 +1920,15 @@ func request_ManagementService_GetPasswordAgePolicy_0(ctx context.Context, marsh } +func local_request_ManagementService_GetPasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetPasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordAgePolicyCreate var metadata runtime.ServerMetadata @@ -997,6 +1946,23 @@ func request_ManagementService_CreatePasswordAgePolicy_0(ctx context.Context, ma } +func local_request_ManagementService_CreatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordAgePolicyCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordAgePolicyUpdate var metadata runtime.ServerMetadata @@ -1032,6 +1998,41 @@ func request_ManagementService_UpdatePasswordAgePolicy_0(ctx context.Context, ma } +func local_request_ManagementService_UpdatePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordAgePolicyUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdatePasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeletePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordAgePolicyID var metadata runtime.ServerMetadata @@ -1059,6 +2060,33 @@ func request_ManagementService_DeletePasswordAgePolicy_0(ctx context.Context, ma } +func local_request_ManagementService_DeletePasswordAgePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordAgePolicyID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeletePasswordAgePolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetPasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1068,6 +2096,15 @@ func request_ManagementService_GetPasswordLockoutPolicy_0(ctx context.Context, m } +func local_request_ManagementService_GetPasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetPasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordLockoutPolicyCreate var metadata runtime.ServerMetadata @@ -1085,6 +2122,23 @@ func request_ManagementService_CreatePasswordLockoutPolicy_0(ctx context.Context } +func local_request_ManagementService_CreatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordLockoutPolicyCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordLockoutPolicyUpdate var metadata runtime.ServerMetadata @@ -1120,6 +2174,41 @@ func request_ManagementService_UpdatePasswordLockoutPolicy_0(ctx context.Context } +func local_request_ManagementService_UpdatePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordLockoutPolicyUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdatePasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeletePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq PasswordLockoutPolicyID var metadata runtime.ServerMetadata @@ -1147,6 +2236,33 @@ func request_ManagementService_DeletePasswordLockoutPolicy_0(ctx context.Context } +func local_request_ManagementService_DeletePasswordLockoutPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PasswordLockoutPolicyID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeletePasswordLockoutPolicy(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetOrgByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgID var metadata runtime.ServerMetadata @@ -1174,6 +2290,33 @@ func request_ManagementService_GetOrgByID_0(ctx context.Context, marshaler runti } +func local_request_ManagementService_GetOrgByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetOrgByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetOrgByDomainGlobal_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgDomain var metadata runtime.ServerMetadata @@ -1201,6 +2344,33 @@ func request_ManagementService_GetOrgByDomainGlobal_0(ctx context.Context, marsh } +func local_request_ManagementService_GetOrgByDomainGlobal_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgDomain + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["domain"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "domain") + } + + protoReq.Domain, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "domain", err) + } + + msg, err := server.GetOrgByDomainGlobal(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateOrg_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgID var metadata runtime.ServerMetadata @@ -1236,6 +2406,41 @@ func request_ManagementService_DeactivateOrg_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_DeactivateOrg_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateOrg(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateOrg_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgID var metadata runtime.ServerMetadata @@ -1271,6 +2476,41 @@ func request_ManagementService_ReactivateOrg_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_ReactivateOrg_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateOrg(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetOrgMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1280,6 +2520,15 @@ func request_ManagementService_GetOrgMemberRoles_0(ctx context.Context, marshale } +func local_request_ManagementService_GetOrgMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetOrgMemberRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq AddOrgMemberRequest var metadata runtime.ServerMetadata @@ -1315,6 +2564,41 @@ func request_ManagementService_AddOrgMember_0(ctx context.Context, marshaler run } +func local_request_ManagementService_AddOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddOrgMemberRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + msg, err := server.AddOrgMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ChangeOrgMemberRequest var metadata runtime.ServerMetadata @@ -1361,6 +2645,52 @@ func request_ManagementService_ChangeOrgMember_0(ctx context.Context, marshaler } +func local_request_ManagementService_ChangeOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChangeOrgMemberRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ChangeOrgMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq RemoveOrgMemberRequest var metadata runtime.ServerMetadata @@ -1399,6 +2729,44 @@ func request_ManagementService_RemoveOrgMember_0(ctx context.Context, marshaler } +func local_request_ManagementService_RemoveOrgMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveOrgMemberRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.RemoveOrgMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchOrgMembers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OrgMemberSearchRequest var metadata runtime.ServerMetadata @@ -1434,6 +2802,41 @@ func request_ManagementService_SearchOrgMembers_0(ctx context.Context, marshaler } +func local_request_ManagementService_SearchOrgMembers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrgMemberSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["org_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "org_id") + } + + protoReq.OrgId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "org_id", err) + } + + msg, err := server.SearchOrgMembers(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjects_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectSearchRequest var metadata runtime.ServerMetadata @@ -1451,6 +2854,23 @@ func request_ManagementService_SearchProjects_0(ctx context.Context, marshaler r } +func local_request_ManagementService_SearchProjects_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchProjects(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ProjectByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectID var metadata runtime.ServerMetadata @@ -1478,6 +2898,33 @@ func request_ManagementService_ProjectByID_0(ctx context.Context, marshaler runt } +func local_request_ManagementService_ProjectByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ProjectByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectCreateRequest var metadata runtime.ServerMetadata @@ -1495,6 +2942,23 @@ func request_ManagementService_CreateProject_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectCreateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectUpdateRequest var metadata runtime.ServerMetadata @@ -1530,6 +2994,41 @@ func request_ManagementService_UpdateProject_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_UpdateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectUpdateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectID var metadata runtime.ServerMetadata @@ -1565,6 +3064,41 @@ func request_ManagementService_DeactivateProject_0(ctx context.Context, marshale } +func local_request_ManagementService_DeactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectID var metadata runtime.ServerMetadata @@ -1600,6 +3134,41 @@ func request_ManagementService_ReactivateProject_0(ctx context.Context, marshale } +func local_request_ManagementService_ReactivateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateProject(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetGrantedProjectGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GrantedGrantID var metadata runtime.ServerMetadata @@ -1627,6 +3196,33 @@ func request_ManagementService_GetGrantedProjectGrantByID_0(ctx context.Context, } +func local_request_ManagementService_GetGrantedProjectGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GrantedGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetGrantedProjectGrantByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetProjectMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -1636,6 +3232,15 @@ func request_ManagementService_GetProjectMemberRoles_0(ctx context.Context, mars } +func local_request_ManagementService_GetProjectMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetProjectMemberRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectMembers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberSearchRequest var metadata runtime.ServerMetadata @@ -1671,6 +3276,41 @@ func request_ManagementService_SearchProjectMembers_0(ctx context.Context, marsh } +func local_request_ManagementService_SearchProjectMembers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchProjectMembers(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberAdd var metadata runtime.ServerMetadata @@ -1706,6 +3346,41 @@ func request_ManagementService_AddProjectMember_0(ctx context.Context, marshaler } +func local_request_ManagementService_AddProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.AddProjectMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberChange var metadata runtime.ServerMetadata @@ -1752,6 +3427,52 @@ func request_ManagementService_ChangeProjectMember_0(ctx context.Context, marsha } +func local_request_ManagementService_ChangeProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberChange + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ChangeProjectMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectMemberRemove var metadata runtime.ServerMetadata @@ -1790,6 +3511,44 @@ func request_ManagementService_RemoveProjectMember_0(ctx context.Context, marsha } +func local_request_ManagementService_RemoveProjectMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectMemberRemove + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.RemoveProjectMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleSearchRequest var metadata runtime.ServerMetadata @@ -1825,6 +3584,41 @@ func request_ManagementService_SearchProjectRoles_0(ctx context.Context, marshal } +func local_request_ManagementService_SearchProjectRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchProjectRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleAdd var metadata runtime.ServerMetadata @@ -1860,6 +3654,41 @@ func request_ManagementService_AddProjectRole_0(ctx context.Context, marshaler r } +func local_request_ManagementService_AddProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.AddProjectRole(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectRoleRemove var metadata runtime.ServerMetadata @@ -1898,6 +3727,44 @@ func request_ManagementService_RemoveProjectRole_0(ctx context.Context, marshale } +func local_request_ManagementService_RemoveProjectRole_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectRoleRemove + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.RemoveProjectRole(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchApplications_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationSearchRequest var metadata runtime.ServerMetadata @@ -1933,6 +3800,41 @@ func request_ManagementService_SearchApplications_0(ctx context.Context, marshal } +func local_request_ManagementService_SearchApplications_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchApplications(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ApplicationByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -1971,6 +3873,44 @@ func request_ManagementService_ApplicationByID_0(ctx context.Context, marshaler } +func local_request_ManagementService_ApplicationByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ApplicationByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateOIDCApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OIDCApplicationCreate var metadata runtime.ServerMetadata @@ -2006,6 +3946,41 @@ func request_ManagementService_CreateOIDCApplication_0(ctx context.Context, mars } +func local_request_ManagementService_CreateOIDCApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OIDCApplicationCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.CreateOIDCApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationUpdate var metadata runtime.ServerMetadata @@ -2052,6 +4027,52 @@ func request_ManagementService_UpdateApplication_0(ctx context.Context, marshale } +func local_request_ManagementService_UpdateApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2098,6 +4119,52 @@ func request_ManagementService_DeactivateApplication_0(ctx context.Context, mars } +func local_request_ManagementService_DeactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2144,6 +4211,52 @@ func request_ManagementService_ReactivateApplication_0(ctx context.Context, mars } +func local_request_ManagementService_ReactivateApplication_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateApplication(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateApplicationOIDCConfig_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq OIDCConfigUpdate var metadata runtime.ServerMetadata @@ -2190,6 +4303,52 @@ func request_ManagementService_UpdateApplicationOIDCConfig_0(ctx context.Context } +func local_request_ManagementService_UpdateApplicationOIDCConfig_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OIDCConfigUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["application_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "application_id") + } + + protoReq.ApplicationId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "application_id", err) + } + + msg, err := server.UpdateApplicationOIDCConfig(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RegenerateOIDCClientSecret_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ApplicationID var metadata runtime.ServerMetadata @@ -2236,6 +4395,52 @@ func request_ManagementService_RegenerateOIDCClientSecret_0(ctx context.Context, } +func local_request_ManagementService_RegenerateOIDCClientSecret_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ApplicationID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.RegenerateOIDCClientSecret(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectGrants_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantSearchRequest var metadata runtime.ServerMetadata @@ -2271,6 +4476,41 @@ func request_ManagementService_SearchProjectGrants_0(ctx context.Context, marsha } +func local_request_ManagementService_SearchProjectGrants_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchProjectGrants(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ProjectGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -2309,6 +4549,44 @@ func request_ManagementService_ProjectGrantByID_0(ctx context.Context, marshaler } +func local_request_ManagementService_ProjectGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ProjectGrantByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantCreate var metadata runtime.ServerMetadata @@ -2344,6 +4622,41 @@ func request_ManagementService_CreateProjectGrant_0(ctx context.Context, marshal } +func local_request_ManagementService_CreateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.CreateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUpdate var metadata runtime.ServerMetadata @@ -2390,6 +4703,52 @@ func request_ManagementService_UpdateProjectGrant_0(ctx context.Context, marshal } +func local_request_ManagementService_UpdateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -2436,6 +4795,52 @@ func request_ManagementService_DeactivateProjectGrant_0(ctx context.Context, mar } +func local_request_ManagementService_DeactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantID var metadata runtime.ServerMetadata @@ -2482,6 +4887,52 @@ func request_ManagementService_ReactivateProjectGrant_0(ctx context.Context, mar } +func local_request_ManagementService_ReactivateProjectGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateProjectGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_GetProjectGrantMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq empty.Empty var metadata runtime.ServerMetadata @@ -2491,6 +4942,15 @@ func request_ManagementService_GetProjectGrantMemberRoles_0(ctx context.Context, } +func local_request_ManagementService_GetProjectGrantMemberRoles_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq empty.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetProjectGrantMemberRoles(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectGrantMembers_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberSearchRequest var metadata runtime.ServerMetadata @@ -2537,6 +4997,52 @@ func request_ManagementService_SearchProjectGrantMembers_0(ctx context.Context, } +func local_request_ManagementService_SearchProjectGrantMembers_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + msg, err := server.SearchProjectGrantMembers(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_AddProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberAdd var metadata runtime.ServerMetadata @@ -2583,6 +5089,52 @@ func request_ManagementService_AddProjectGrantMember_0(ctx context.Context, mars } +func local_request_ManagementService_AddProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberAdd + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + msg, err := server.AddProjectGrantMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ChangeProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberChange var metadata runtime.ServerMetadata @@ -2640,6 +5192,63 @@ func request_ManagementService_ChangeProjectGrantMember_0(ctx context.Context, m } +func local_request_ManagementService_ChangeProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberChange + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ChangeProjectGrantMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_RemoveProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantMemberRemove var metadata runtime.ServerMetadata @@ -2689,6 +5298,55 @@ func request_ManagementService_RemoveProjectGrantMember_0(ctx context.Context, m } +func local_request_ManagementService_RemoveProjectGrantMember_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantMemberRemove + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "grant_id") + } + + protoReq.GrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.RemoveProjectGrantMember(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantSearchRequest var metadata runtime.ServerMetadata @@ -2706,6 +5364,23 @@ func request_ManagementService_SearchUserGrants_0(ctx context.Context, marshaler } +func local_request_ManagementService_SearchUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchUserGrants(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantID var metadata runtime.ServerMetadata @@ -2744,6 +5419,44 @@ func request_ManagementService_UserGrantByID_0(ctx context.Context, marshaler ru } +func local_request_ManagementService_UserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UserGrantByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantCreate var metadata runtime.ServerMetadata @@ -2779,6 +5492,41 @@ func request_ManagementService_CreateUserGrant_0(ctx context.Context, marshaler } +func local_request_ManagementService_CreateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.CreateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantUpdate var metadata runtime.ServerMetadata @@ -2825,6 +5573,52 @@ func request_ManagementService_UpdateUserGrant_0(ctx context.Context, marshaler } +func local_request_ManagementService_UpdateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantID var metadata runtime.ServerMetadata @@ -2871,6 +5665,52 @@ func request_ManagementService_DeactivateUserGrant_0(ctx context.Context, marsha } +func local_request_ManagementService_DeactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantID var metadata runtime.ServerMetadata @@ -2917,6 +5757,52 @@ func request_ManagementService_ReactivateUserGrant_0(ctx context.Context, marsha } +func local_request_ManagementService_ReactivateUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectUserGrantSearchRequest var metadata runtime.ServerMetadata @@ -2952,6 +5838,41 @@ func request_ManagementService_SearchProjectUserGrants_0(ctx context.Context, ma } +func local_request_ManagementService_SearchProjectUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectUserGrantSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.SearchProjectUserGrants(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ProjectUserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectUserGrantID var metadata runtime.ServerMetadata @@ -3001,6 +5922,55 @@ func request_ManagementService_ProjectUserGrantByID_0(ctx context.Context, marsh } +func local_request_ManagementService_ProjectUserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectUserGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ProjectUserGrantByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UserGrantCreate var metadata runtime.ServerMetadata @@ -3047,6 +6017,52 @@ func request_ManagementService_CreateProjectUserGrant_0(ctx context.Context, mar } +func local_request_ManagementService_CreateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UserGrantCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.CreateProjectUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectUserGrantUpdate var metadata runtime.ServerMetadata @@ -3104,6 +6120,63 @@ func request_ManagementService_UpdateProjectUserGrant_0(ctx context.Context, mar } +func local_request_ManagementService_UpdateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectUserGrantUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateProjectUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectUserGrantID var metadata runtime.ServerMetadata @@ -3161,6 +6234,63 @@ func request_ManagementService_DeactivateProjectUserGrant_0(ctx context.Context, } +func local_request_ManagementService_DeactivateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectUserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateProjectUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectUserGrantID var metadata runtime.ServerMetadata @@ -3218,6 +6348,63 @@ func request_ManagementService_ReactivateProjectUserGrant_0(ctx context.Context, } +func local_request_ManagementService_ReactivateProjectUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectUserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateProjectUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchProjectGrantUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUserGrantSearchRequest var metadata runtime.ServerMetadata @@ -3253,6 +6440,41 @@ func request_ManagementService_SearchProjectGrantUserGrants_0(ctx context.Contex } +func local_request_ManagementService_SearchProjectGrantUserGrants_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUserGrantSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_grant_id") + } + + protoReq.ProjectGrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_grant_id", err) + } + + msg, err := server.SearchProjectGrantUserGrants(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ProjectGrantUserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUserGrantID var metadata runtime.ServerMetadata @@ -3302,6 +6524,55 @@ func request_ManagementService_ProjectGrantUserGrantByID_0(ctx context.Context, } +func local_request_ManagementService_ProjectGrantUserGrantByID_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUserGrantID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_grant_id") + } + + protoReq.ProjectGrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ProjectGrantUserGrantByID(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_CreateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUserGrantCreate var metadata runtime.ServerMetadata @@ -3348,6 +6619,52 @@ func request_ManagementService_CreateProjectGrantUserGrant_0(ctx context.Context } +func local_request_ManagementService_CreateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUserGrantCreate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_grant_id") + } + + protoReq.ProjectGrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.CreateProjectGrantUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_UpdateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUserGrantUpdate var metadata runtime.ServerMetadata @@ -3405,6 +6722,63 @@ func request_ManagementService_UpdateProjectGrantUserGrant_0(ctx context.Context } +func local_request_ManagementService_UpdateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUserGrantUpdate + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_grant_id") + } + + protoReq.ProjectGrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.UpdateProjectGrantUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_DeactivateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUserGrantID var metadata runtime.ServerMetadata @@ -3462,6 +6836,63 @@ func request_ManagementService_DeactivateProjectGrantUserGrant_0(ctx context.Con } +func local_request_ManagementService_DeactivateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_grant_id") + } + + protoReq.ProjectGrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.DeactivateProjectGrantUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_ReactivateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ProjectGrantUserGrantID var metadata runtime.ServerMetadata @@ -3519,6 +6950,63 @@ func request_ManagementService_ReactivateProjectGrantUserGrant_0(ctx context.Con } +func local_request_ManagementService_ReactivateProjectGrantUserGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ProjectGrantUserGrantID + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_grant_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_grant_id") + } + + protoReq.ProjectGrantId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_grant_id", err) + } + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.ReactivateProjectGrantUserGrant(ctx, &protoReq) + return msg, metadata, err + +} + func request_ManagementService_SearchAuthGrant_0(ctx context.Context, marshaler runtime.Marshaler, client ManagementServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq AuthGrantSearchRequest var metadata runtime.ServerMetadata @@ -3536,6 +7024,2111 @@ func request_ManagementService_SearchAuthGrant_0(ctx context.Context, marshaler } +func local_request_ManagementService_SearchAuthGrant_0(ctx context.Context, marshaler runtime.Marshaler, server ManagementServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AuthGrantSearchRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchAuthGrant(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterManagementServiceHandlerServer registers the http handlers for service ManagementService to "mux". +// UnaryRPC :call ManagementServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +func RegisterManagementServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ManagementServiceServer) error { + + mux.Handle("GET", pattern_ManagementService_Healthz_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_Healthz_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_Healthz_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_Ready_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_Ready_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_Ready_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_Validate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_Validate_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_Validate_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserByEmailGlobal_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserByEmailGlobal_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserByEmailGlobal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchUsers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_IsUserUnique_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_IsUserUnique_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_IsUserUnique_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_LockUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_LockUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_LockUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UnlockUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UnlockUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UnlockUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeleteUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeleteUser_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeleteUser_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_UserChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UserChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UserChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ApplicationChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ApplicationChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ApplicationChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_OrgChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_OrgChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_OrgChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectChanges_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectChanges_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectChanges_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserProfile_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserProfile_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateUserProfile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateUserProfile_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserProfile_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserEmail_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserEmail_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeUserEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeUserEmail_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeUserEmail_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_ResendEmailVerificationMail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ResendEmailVerificationMail_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ResendEmailVerificationMail_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserPhone_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserPhone_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserPhone_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeUserPhone_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeUserPhone_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeUserPhone_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_ResendPhoneVerificationCode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ResendPhoneVerificationCode_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ResendPhoneVerificationCode_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserAddress_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateUserAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateUserAddress_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetUserMfas_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetUserMfas_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetUserMfas_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SendSetPasswordNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SendSetPasswordNotification_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SendSetPasswordNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SetInitialPassword_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SetInitialPassword_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SetInitialPassword_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetPasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetPasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetPasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreatePasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreatePasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreatePasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdatePasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdatePasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdatePasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeletePasswordComplexityPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeletePasswordComplexityPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeletePasswordComplexityPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetPasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetPasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetPasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreatePasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreatePasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreatePasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdatePasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdatePasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdatePasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeletePasswordAgePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeletePasswordAgePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeletePasswordAgePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetPasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetPasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetPasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreatePasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreatePasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreatePasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdatePasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdatePasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdatePasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_DeletePasswordLockoutPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeletePasswordLockoutPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeletePasswordLockoutPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetOrgByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetOrgByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetOrgByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetOrgByDomainGlobal_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetOrgByDomainGlobal_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetOrgByDomainGlobal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateOrg_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateOrg_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateOrg_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateOrg_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateOrg_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetOrgMemberRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetOrgMemberRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetOrgMemberRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddOrgMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddOrgMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddOrgMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeOrgMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeOrgMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeOrgMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveOrgMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveOrgMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveOrgMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchOrgMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchOrgMembers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchOrgMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjects_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjects_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateProject_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateProject_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetGrantedProjectGrantByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetGrantedProjectGrantByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetGrantedProjectGrantByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetProjectMemberRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetProjectMemberRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetProjectMemberRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectMembers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddProjectMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddProjectMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddProjectMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeProjectMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeProjectMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeProjectMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProjectMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProjectMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProjectMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddProjectRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddProjectRole_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddProjectRole_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProjectRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProjectRole_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProjectRole_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchApplications_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchApplications_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchApplications_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ApplicationByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ApplicationByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ApplicationByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateOIDCApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateOIDCApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateOIDCApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateApplication_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateApplication_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateApplication_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateApplicationOIDCConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateApplicationOIDCConfig_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateApplicationOIDCConfig_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_RegenerateOIDCClientSecret_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RegenerateOIDCClientSecret_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RegenerateOIDCClientSecret_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectGrants_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectGrants_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectGrantByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectGrantByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectGrantByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateProjectGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateProjectGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateProjectGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_GetProjectGrantMemberRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_GetProjectGrantMemberRoles_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_GetProjectGrantMemberRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectGrantMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectGrantMembers_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectGrantMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_AddProjectGrantMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_AddProjectGrantMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_AddProjectGrantMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ChangeProjectGrantMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ChangeProjectGrantMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ChangeProjectGrantMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ManagementService_RemoveProjectGrantMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_RemoveProjectGrantMember_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_RemoveProjectGrantMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchUserGrants_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchUserGrants_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchUserGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_UserGrantByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UserGrantByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UserGrantByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectUserGrants_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectUserGrants_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectUserGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectUserGrantByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectUserGrantByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectUserGrantByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateProjectUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateProjectUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateProjectUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateProjectUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateProjectUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateProjectUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateProjectUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateProjectUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateProjectUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateProjectUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateProjectUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateProjectUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchProjectGrantUserGrants_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchProjectGrantUserGrants_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchProjectGrantUserGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ManagementService_ProjectGrantUserGrantByID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ProjectGrantUserGrantByID_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ProjectGrantUserGrantByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_CreateProjectGrantUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_CreateProjectGrantUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_CreateProjectGrantUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_UpdateProjectGrantUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_UpdateProjectGrantUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_UpdateProjectGrantUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_DeactivateProjectGrantUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_DeactivateProjectGrantUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_DeactivateProjectGrantUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ManagementService_ReactivateProjectGrantUserGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_ReactivateProjectGrantUserGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_ReactivateProjectGrantUserGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ManagementService_SearchAuthGrant_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ManagementService_SearchAuthGrant_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ManagementService_SearchAuthGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + // RegisterManagementServiceHandlerFromEndpoint is same as RegisterManagementServiceHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterManagementServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { @@ -5658,213 +11251,213 @@ func RegisterManagementServiceHandlerClient(ctx context.Context, mux *runtime.Se } var ( - pattern_ManagementService_Healthz_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"healthz"}, "")) + pattern_ManagementService_Healthz_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"healthz"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_Ready_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"ready"}, "")) + pattern_ManagementService_Ready_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"ready"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_Validate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"validate"}, "")) + pattern_ManagementService_Validate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"validate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "")) + pattern_ManagementService_GetUserByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserByEmailGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 2}, []string{"global", "users", "email"}, "")) + pattern_ManagementService_GetUserByEmailGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 2}, []string{"global", "users", "email"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_search"}, "")) + pattern_ManagementService_SearchUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_IsUserUnique_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_isunique"}, "")) + pattern_ManagementService_IsUserUnique_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"users", "_isunique"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"users"}, "")) + pattern_ManagementService_CreateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"users"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_LockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_lock"}, "")) + pattern_ManagementService_LockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_lock"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UnlockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_unlock"}, "")) + pattern_ManagementService_UnlockUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_unlock"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeleteUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "")) + pattern_ManagementService_DeleteUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"users", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UserChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "changes"}, "")) + pattern_ManagementService_UserChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ApplicationChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"applications", "id", "changes"}, "")) + pattern_ManagementService_ApplicationChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"applications", "id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_OrgChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "changes"}, "")) + pattern_ManagementService_OrgChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "changes"}, "")) + pattern_ManagementService_ProjectChanges_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "changes"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "")) + pattern_ManagementService_GetUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "")) + pattern_ManagementService_UpdateUserProfile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "profile"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "")) + pattern_ManagementService_GetUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "")) + pattern_ManagementService_ChangeUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "email"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ResendEmailVerificationMail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "email", "_resendverification"}, "")) + pattern_ManagementService_ResendEmailVerificationMail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "email", "_resendverification"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "")) + pattern_ManagementService_GetUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "")) + pattern_ManagementService_ChangeUserPhone_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "phone"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ResendPhoneVerificationCode_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "phone", "_resendverification"}, "")) + pattern_ManagementService_ResendPhoneVerificationCode_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"users", "id", "phone", "_resendverification"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "")) + pattern_ManagementService_GetUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "")) + pattern_ManagementService_UpdateUserAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "address"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetUserMfas_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "mfas"}, "")) + pattern_ManagementService_GetUserMfas_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "mfas"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SendSetPasswordNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_sendsetpwnotify"}, "")) + pattern_ManagementService_SendSetPasswordNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_sendsetpwnotify"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SetInitialPassword_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_setinitialpw"}, "")) + pattern_ManagementService_SetInitialPassword_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "id", "_setinitialpw"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetPasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "")) + pattern_ManagementService_GetPasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "")) + pattern_ManagementService_CreatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "complexity"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "complexity", "id"}, "")) + pattern_ManagementService_UpdatePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "complexity", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeletePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "complexity", "id"}, "")) + pattern_ManagementService_DeletePasswordComplexityPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "complexity", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetPasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "")) + pattern_ManagementService_GetPasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "")) + pattern_ManagementService_CreatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "age"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "age", "id"}, "")) + pattern_ManagementService_UpdatePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "age", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeletePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "age", "id"}, "")) + pattern_ManagementService_DeletePasswordAgePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "age", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetPasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "")) + pattern_ManagementService_GetPasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "")) + pattern_ManagementService_CreatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"policies", "passwords", "lockout"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "lockout", "id"}, "")) + pattern_ManagementService_UpdatePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "lockout", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeletePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "lockout", "id"}, "")) + pattern_ManagementService_DeletePasswordLockoutPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"policies", "passwords", "lockout", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetOrgByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"orgs", "id"}, "")) + pattern_ManagementService_GetOrgByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"orgs", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetOrgByDomainGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 2}, []string{"global", "orgs", "domain"}, "")) + pattern_ManagementService_GetOrgByDomainGlobal_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 2}, []string{"global", "orgs", "domain"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateOrg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetOrgMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "members", "roles"}, "")) + pattern_ManagementService_GetOrgMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"orgs", "members", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "members"}, "")) + pattern_ManagementService_AddOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"orgs", "org_id", "members"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "org_id", "members", "user_id"}, "")) + pattern_ManagementService_ChangeOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "org_id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "org_id", "members", "user_id"}, "")) + pattern_ManagementService_RemoveOrgMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"orgs", "org_id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchOrgMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"orgs", "org_id", "members", "_search"}, "")) + pattern_ManagementService_SearchOrgMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"orgs", "org_id", "members", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"projects", "_search"}, "")) + pattern_ManagementService_SearchProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"projects", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "")) + pattern_ManagementService_ProjectByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"projects"}, "")) + pattern_ManagementService_CreateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"projects"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "")) + pattern_ManagementService_UpdateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"projects", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetGrantedProjectGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"grants", "id"}, "")) + pattern_ManagementService_GetGrantedProjectGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetProjectMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"projects", "members", "roles"}, "")) + pattern_ManagementService_GetProjectMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"projects", "members", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "members", "_search"}, "")) + pattern_ManagementService_SearchProjectMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "members", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "members"}, "")) + pattern_ManagementService_AddProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "members"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "")) + pattern_ManagementService_ChangeProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "")) + pattern_ManagementService_RemoveProjectMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "roles", "_search"}, "")) + pattern_ManagementService_SearchProjectRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "roles", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "roles"}, "")) + pattern_ManagementService_AddProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "id", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "roles", "name"}, "")) + pattern_ManagementService_RemoveProjectRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "id", "roles", "name"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchApplications_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "applications", "_search"}, "")) + pattern_ManagementService_SearchApplications_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "applications", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ApplicationByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "")) + pattern_ManagementService_ApplicationByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateOIDCApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "project_id", "oidcapplications"}, "")) + pattern_ManagementService_CreateOIDCApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "project_id", "oidcapplications"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "")) + pattern_ManagementService_UpdateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "applications", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateApplication_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateApplicationOIDCConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "application_id", "oidcconfig"}, "")) + pattern_ManagementService_UpdateApplicationOIDCConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "applications", "application_id", "oidcconfig"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RegenerateOIDCClientSecret_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "applications", "id", "oidcconfig", "_changeclientsecret"}, "")) + pattern_ManagementService_RegenerateOIDCClientSecret_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "applications", "id", "oidcconfig", "_changeclientsecret"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "grants", "_search"}, "")) + pattern_ManagementService_SearchProjectGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"projects", "project_id", "grants", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "")) + pattern_ManagementService_ProjectGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "project_id", "grants"}, "")) + pattern_ManagementService_CreateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"projects", "project_id", "grants"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "")) + pattern_ManagementService_UpdateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"projects", "project_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateProjectGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_GetProjectGrantMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"projects", "grants", "members", "roles"}, "")) + pattern_ManagementService_GetProjectGrantMemberRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"projects", "grants", "members", "roles"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectGrantMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "_search"}, "")) + pattern_ManagementService_SearchProjectGrantMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_AddProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "grant_id", "members"}, "")) + pattern_ManagementService_AddProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "grants", "grant_id", "members"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ChangeProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "")) + pattern_ManagementService_ChangeProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_RemoveProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "")) + pattern_ManagementService_RemoveProjectGrantMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "grants", "grant_id", "members", "user_id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"users", "grants", "_search"}, "")) + pattern_ManagementService_SearchUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"users", "grants", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_UserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "user_id", "grants"}, "")) + pattern_ManagementService_CreateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"users", "user_id", "grants"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_UpdateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"users", "user_id", "grants", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3, 2, 4}, []string{"projects", "project_id", "users", "grants", "_search"}, "")) + pattern_ManagementService_SearchProjectUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3, 2, 4}, []string{"projects", "project_id", "users", "grants", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectUserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_ProjectUserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "users", "user_id", "grants"}, "")) + pattern_ManagementService_CreateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projects", "project_id", "users", "user_id", "grants"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_UpdateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projects", "project_id", "users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projects", "project_id", "users", "user_id", "grants", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projects", "project_id", "users", "user_id", "grants", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projects", "project_id", "users", "user_id", "grants", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateProjectUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projects", "project_id", "users", "user_id", "grants", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchProjectGrantUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3, 2, 4}, []string{"projectgrants", "project_grant_id", "users", "grants", "_search"}, "")) + pattern_ManagementService_SearchProjectGrantUserGrants_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3, 2, 4}, []string{"projectgrants", "project_grant_id", "users", "grants", "_search"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ProjectGrantUserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_ProjectGrantUserGrantByID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_CreateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants"}, "")) + pattern_ManagementService_CreateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_UpdateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id"}, "")) + pattern_ManagementService_UpdateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_DeactivateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id", "_deactivate"}, "")) + pattern_ManagementService_DeactivateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id", "_deactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_ReactivateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id", "_reactivate"}, "")) + pattern_ManagementService_ReactivateProjectGrantUserGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"projectgrants", "project_grant_id", "users", "user_id", "grants", "id", "_reactivate"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ManagementService_SearchAuthGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"authgrants", "_search"}, "")) + pattern_ManagementService_SearchAuthGrant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"authgrants", "_search"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( diff --git a/pkg/management/api/grpc/management.swagger.json b/pkg/management/api/grpc/management.swagger.json index f3110156c..14773c54a 100644 --- a/pkg/management/api/grpc/management.swagger.json +++ b/pkg/management/api/grpc/management.swagger.json @@ -3213,7 +3213,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/protobufStruct" + "type": "object" } } }, @@ -3224,19 +3224,6 @@ } }, "definitions": { - "protobufListValue": { - "type": "object", - "properties": { - "values": { - "type": "array", - "items": { - "$ref": "#/definitions/protobufValue" - }, - "description": "Repeated field of dynamically typed values." - } - }, - "description": "`ListValue` is a wrapper around a repeated field of values.\n\nThe JSON representation for `ListValue` is JSON array." - }, "protobufNullValue": { "type": "string", "enum": [ @@ -3245,51 +3232,6 @@ "default": "NULL_VALUE", "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." }, - "protobufStruct": { - "type": "object", - "properties": { - "fields": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/protobufValue" - }, - "description": "Unordered map of dynamically typed values." - } - }, - "description": "`Struct` represents a structured data value, consisting of fields\nwhich map to dynamically typed values. In some languages, `Struct`\nmight be supported by a native representation. For example, in\nscripting languages like JS a struct is represented as an\nobject. The details of that representation are described together\nwith the proto support for the language.\n\nThe JSON representation for `Struct` is JSON object." - }, - "protobufValue": { - "type": "object", - "properties": { - "null_value": { - "$ref": "#/definitions/protobufNullValue", - "description": "Represents a null value." - }, - "number_value": { - "type": "number", - "format": "double", - "description": "Represents a double value." - }, - "string_value": { - "type": "string", - "description": "Represents a string value." - }, - "bool_value": { - "type": "boolean", - "format": "boolean", - "description": "Represents a boolean value." - }, - "struct_value": { - "$ref": "#/definitions/protobufStruct", - "description": "Represents a structured value." - }, - "list_value": { - "$ref": "#/definitions/protobufListValue", - "description": "Represents a repeated `Value`." - } - }, - "description": "`Value` represents a dynamically typed value which can be either\nnull, a number, a string, a boolean, a recursive struct value, or a\nlist of values. A producer of value is expected to set one of that\nvariants, absence of any variant indicates an error.\n\nThe JSON representation for `Value` is JSON value." - }, "v1AddOrgMemberRequest": { "type": "object", "properties": { @@ -3540,11 +3482,11 @@ "type": "string", "format": "uint64" }, - "modifier": { + "editor": { "type": "string" }, "data": { - "$ref": "#/definitions/protobufStruct" + "type": "object" } } }, diff --git a/pkg/management/api/grpc/mock/management.proto.mock.go b/pkg/management/api/grpc/mock/management.proto.mock.go new file mode 100644 index 000000000..a8434f86d --- /dev/null +++ b/pkg/management/api/grpc/mock/management.proto.mock.go @@ -0,0 +1,2118 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/caos/zitadel/pkg/management/api/grpc (interfaces: ManagementServiceClient) + +// Package api is a generated GoMock package. +package api + +import ( + context "context" + grpc "github.com/caos/zitadel/pkg/management/api/grpc" + gomock "github.com/golang/mock/gomock" + grpc0 "google.golang.org/grpc" + emptypb "google.golang.org/protobuf/types/known/emptypb" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" +) + +// MockManagementServiceClient is a mock of ManagementServiceClient interface +type MockManagementServiceClient struct { + ctrl *gomock.Controller + recorder *MockManagementServiceClientMockRecorder +} + +// MockManagementServiceClientMockRecorder is the mock recorder for MockManagementServiceClient +type MockManagementServiceClientMockRecorder struct { + mock *MockManagementServiceClient +} + +// NewMockManagementServiceClient creates a new mock instance +func NewMockManagementServiceClient(ctrl *gomock.Controller) *MockManagementServiceClient { + mock := &MockManagementServiceClient{ctrl: ctrl} + mock.recorder = &MockManagementServiceClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use +func (m *MockManagementServiceClient) EXPECT() *MockManagementServiceClientMockRecorder { + return m.recorder +} + +// AddOrgMember mocks base method +func (m *MockManagementServiceClient) AddOrgMember(arg0 context.Context, arg1 *grpc.AddOrgMemberRequest, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddOrgMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddOrgMember indicates an expected call of AddOrgMember +func (mr *MockManagementServiceClientMockRecorder) AddOrgMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddOrgMember", reflect.TypeOf((*MockManagementServiceClient)(nil).AddOrgMember), varargs...) +} + +// AddProjectGrantMember mocks base method +func (m *MockManagementServiceClient) AddProjectGrantMember(arg0 context.Context, arg1 *grpc.ProjectGrantMemberAdd, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddProjectGrantMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddProjectGrantMember indicates an expected call of AddProjectGrantMember +func (mr *MockManagementServiceClientMockRecorder) AddProjectGrantMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddProjectGrantMember", reflect.TypeOf((*MockManagementServiceClient)(nil).AddProjectGrantMember), varargs...) +} + +// AddProjectMember mocks base method +func (m *MockManagementServiceClient) AddProjectMember(arg0 context.Context, arg1 *grpc.ProjectMemberAdd, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddProjectMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddProjectMember indicates an expected call of AddProjectMember +func (mr *MockManagementServiceClientMockRecorder) AddProjectMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddProjectMember", reflect.TypeOf((*MockManagementServiceClient)(nil).AddProjectMember), varargs...) +} + +// AddProjectRole mocks base method +func (m *MockManagementServiceClient) AddProjectRole(arg0 context.Context, arg1 *grpc.ProjectRoleAdd, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddProjectRole", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddProjectRole indicates an expected call of AddProjectRole +func (mr *MockManagementServiceClientMockRecorder) AddProjectRole(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddProjectRole", reflect.TypeOf((*MockManagementServiceClient)(nil).AddProjectRole), varargs...) +} + +// ApplicationByID mocks base method +func (m *MockManagementServiceClient) ApplicationByID(arg0 context.Context, arg1 *grpc.ApplicationID, arg2 ...grpc0.CallOption) (*grpc.Application, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ApplicationByID", varargs...) + ret0, _ := ret[0].(*grpc.Application) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ApplicationByID indicates an expected call of ApplicationByID +func (mr *MockManagementServiceClientMockRecorder) ApplicationByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApplicationByID", reflect.TypeOf((*MockManagementServiceClient)(nil).ApplicationByID), varargs...) +} + +// ApplicationChanges mocks base method +func (m *MockManagementServiceClient) ApplicationChanges(arg0 context.Context, arg1 *grpc.ChangeRequest, arg2 ...grpc0.CallOption) (*grpc.Changes, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ApplicationChanges", varargs...) + ret0, _ := ret[0].(*grpc.Changes) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ApplicationChanges indicates an expected call of ApplicationChanges +func (mr *MockManagementServiceClientMockRecorder) ApplicationChanges(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApplicationChanges", reflect.TypeOf((*MockManagementServiceClient)(nil).ApplicationChanges), varargs...) +} + +// ChangeOrgMember mocks base method +func (m *MockManagementServiceClient) ChangeOrgMember(arg0 context.Context, arg1 *grpc.ChangeOrgMemberRequest, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ChangeOrgMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ChangeOrgMember indicates an expected call of ChangeOrgMember +func (mr *MockManagementServiceClientMockRecorder) ChangeOrgMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeOrgMember", reflect.TypeOf((*MockManagementServiceClient)(nil).ChangeOrgMember), varargs...) +} + +// ChangeProjectGrantMember mocks base method +func (m *MockManagementServiceClient) ChangeProjectGrantMember(arg0 context.Context, arg1 *grpc.ProjectGrantMemberChange, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ChangeProjectGrantMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ChangeProjectGrantMember indicates an expected call of ChangeProjectGrantMember +func (mr *MockManagementServiceClientMockRecorder) ChangeProjectGrantMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeProjectGrantMember", reflect.TypeOf((*MockManagementServiceClient)(nil).ChangeProjectGrantMember), varargs...) +} + +// ChangeProjectMember mocks base method +func (m *MockManagementServiceClient) ChangeProjectMember(arg0 context.Context, arg1 *grpc.ProjectMemberChange, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ChangeProjectMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ChangeProjectMember indicates an expected call of ChangeProjectMember +func (mr *MockManagementServiceClientMockRecorder) ChangeProjectMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeProjectMember", reflect.TypeOf((*MockManagementServiceClient)(nil).ChangeProjectMember), varargs...) +} + +// ChangeUserEmail mocks base method +func (m *MockManagementServiceClient) ChangeUserEmail(arg0 context.Context, arg1 *grpc.UpdateUserEmailRequest, arg2 ...grpc0.CallOption) (*grpc.UserEmail, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ChangeUserEmail", varargs...) + ret0, _ := ret[0].(*grpc.UserEmail) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ChangeUserEmail indicates an expected call of ChangeUserEmail +func (mr *MockManagementServiceClientMockRecorder) ChangeUserEmail(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeUserEmail", reflect.TypeOf((*MockManagementServiceClient)(nil).ChangeUserEmail), varargs...) +} + +// ChangeUserPhone mocks base method +func (m *MockManagementServiceClient) ChangeUserPhone(arg0 context.Context, arg1 *grpc.UpdateUserPhoneRequest, arg2 ...grpc0.CallOption) (*grpc.UserPhone, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ChangeUserPhone", varargs...) + ret0, _ := ret[0].(*grpc.UserPhone) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ChangeUserPhone indicates an expected call of ChangeUserPhone +func (mr *MockManagementServiceClientMockRecorder) ChangeUserPhone(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeUserPhone", reflect.TypeOf((*MockManagementServiceClient)(nil).ChangeUserPhone), varargs...) +} + +// CreateOIDCApplication mocks base method +func (m *MockManagementServiceClient) CreateOIDCApplication(arg0 context.Context, arg1 *grpc.OIDCApplicationCreate, arg2 ...grpc0.CallOption) (*grpc.Application, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateOIDCApplication", varargs...) + ret0, _ := ret[0].(*grpc.Application) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateOIDCApplication indicates an expected call of CreateOIDCApplication +func (mr *MockManagementServiceClientMockRecorder) CreateOIDCApplication(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOIDCApplication", reflect.TypeOf((*MockManagementServiceClient)(nil).CreateOIDCApplication), varargs...) +} + +// CreatePasswordAgePolicy mocks base method +func (m *MockManagementServiceClient) CreatePasswordAgePolicy(arg0 context.Context, arg1 *grpc.PasswordAgePolicyCreate, arg2 ...grpc0.CallOption) (*grpc.PasswordAgePolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePasswordAgePolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordAgePolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreatePasswordAgePolicy indicates an expected call of CreatePasswordAgePolicy +func (mr *MockManagementServiceClientMockRecorder) CreatePasswordAgePolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePasswordAgePolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).CreatePasswordAgePolicy), varargs...) +} + +// CreatePasswordComplexityPolicy mocks base method +func (m *MockManagementServiceClient) CreatePasswordComplexityPolicy(arg0 context.Context, arg1 *grpc.PasswordComplexityPolicyCreate, arg2 ...grpc0.CallOption) (*grpc.PasswordComplexityPolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePasswordComplexityPolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordComplexityPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreatePasswordComplexityPolicy indicates an expected call of CreatePasswordComplexityPolicy +func (mr *MockManagementServiceClientMockRecorder) CreatePasswordComplexityPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePasswordComplexityPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).CreatePasswordComplexityPolicy), varargs...) +} + +// CreatePasswordLockoutPolicy mocks base method +func (m *MockManagementServiceClient) CreatePasswordLockoutPolicy(arg0 context.Context, arg1 *grpc.PasswordLockoutPolicyCreate, arg2 ...grpc0.CallOption) (*grpc.PasswordLockoutPolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePasswordLockoutPolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordLockoutPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreatePasswordLockoutPolicy indicates an expected call of CreatePasswordLockoutPolicy +func (mr *MockManagementServiceClientMockRecorder) CreatePasswordLockoutPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePasswordLockoutPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).CreatePasswordLockoutPolicy), varargs...) +} + +// CreateProject mocks base method +func (m *MockManagementServiceClient) CreateProject(arg0 context.Context, arg1 *grpc.ProjectCreateRequest, arg2 ...grpc0.CallOption) (*grpc.Project, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateProject", varargs...) + ret0, _ := ret[0].(*grpc.Project) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateProject indicates an expected call of CreateProject +func (mr *MockManagementServiceClientMockRecorder) CreateProject(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProject", reflect.TypeOf((*MockManagementServiceClient)(nil).CreateProject), varargs...) +} + +// CreateProjectGrant mocks base method +func (m *MockManagementServiceClient) CreateProjectGrant(arg0 context.Context, arg1 *grpc.ProjectGrantCreate, arg2 ...grpc0.CallOption) (*grpc.ProjectGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateProjectGrant", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateProjectGrant indicates an expected call of CreateProjectGrant +func (mr *MockManagementServiceClientMockRecorder) CreateProjectGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProjectGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).CreateProjectGrant), varargs...) +} + +// CreateProjectGrantUserGrant mocks base method +func (m *MockManagementServiceClient) CreateProjectGrantUserGrant(arg0 context.Context, arg1 *grpc.ProjectGrantUserGrantCreate, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateProjectGrantUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateProjectGrantUserGrant indicates an expected call of CreateProjectGrantUserGrant +func (mr *MockManagementServiceClientMockRecorder) CreateProjectGrantUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProjectGrantUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).CreateProjectGrantUserGrant), varargs...) +} + +// CreateProjectUserGrant mocks base method +func (m *MockManagementServiceClient) CreateProjectUserGrant(arg0 context.Context, arg1 *grpc.UserGrantCreate, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateProjectUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateProjectUserGrant indicates an expected call of CreateProjectUserGrant +func (mr *MockManagementServiceClientMockRecorder) CreateProjectUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProjectUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).CreateProjectUserGrant), varargs...) +} + +// CreateUser mocks base method +func (m *MockManagementServiceClient) CreateUser(arg0 context.Context, arg1 *grpc.CreateUserRequest, arg2 ...grpc0.CallOption) (*grpc.User, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateUser", varargs...) + ret0, _ := ret[0].(*grpc.User) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateUser indicates an expected call of CreateUser +func (mr *MockManagementServiceClientMockRecorder) CreateUser(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateUser", reflect.TypeOf((*MockManagementServiceClient)(nil).CreateUser), varargs...) +} + +// CreateUserGrant mocks base method +func (m *MockManagementServiceClient) CreateUserGrant(arg0 context.Context, arg1 *grpc.UserGrantCreate, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateUserGrant indicates an expected call of CreateUserGrant +func (mr *MockManagementServiceClientMockRecorder) CreateUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).CreateUserGrant), varargs...) +} + +// DeactivateApplication mocks base method +func (m *MockManagementServiceClient) DeactivateApplication(arg0 context.Context, arg1 *grpc.ApplicationID, arg2 ...grpc0.CallOption) (*grpc.Application, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateApplication", varargs...) + ret0, _ := ret[0].(*grpc.Application) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateApplication indicates an expected call of DeactivateApplication +func (mr *MockManagementServiceClientMockRecorder) DeactivateApplication(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateApplication", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateApplication), varargs...) +} + +// DeactivateOrg mocks base method +func (m *MockManagementServiceClient) DeactivateOrg(arg0 context.Context, arg1 *grpc.OrgID, arg2 ...grpc0.CallOption) (*grpc.Org, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateOrg", varargs...) + ret0, _ := ret[0].(*grpc.Org) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateOrg indicates an expected call of DeactivateOrg +func (mr *MockManagementServiceClientMockRecorder) DeactivateOrg(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateOrg", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateOrg), varargs...) +} + +// DeactivateProject mocks base method +func (m *MockManagementServiceClient) DeactivateProject(arg0 context.Context, arg1 *grpc.ProjectID, arg2 ...grpc0.CallOption) (*grpc.Project, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateProject", varargs...) + ret0, _ := ret[0].(*grpc.Project) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateProject indicates an expected call of DeactivateProject +func (mr *MockManagementServiceClientMockRecorder) DeactivateProject(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateProject", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateProject), varargs...) +} + +// DeactivateProjectGrant mocks base method +func (m *MockManagementServiceClient) DeactivateProjectGrant(arg0 context.Context, arg1 *grpc.ProjectGrantID, arg2 ...grpc0.CallOption) (*grpc.ProjectGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateProjectGrant", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateProjectGrant indicates an expected call of DeactivateProjectGrant +func (mr *MockManagementServiceClientMockRecorder) DeactivateProjectGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateProjectGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateProjectGrant), varargs...) +} + +// DeactivateProjectGrantUserGrant mocks base method +func (m *MockManagementServiceClient) DeactivateProjectGrantUserGrant(arg0 context.Context, arg1 *grpc.ProjectGrantUserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateProjectGrantUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateProjectGrantUserGrant indicates an expected call of DeactivateProjectGrantUserGrant +func (mr *MockManagementServiceClientMockRecorder) DeactivateProjectGrantUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateProjectGrantUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateProjectGrantUserGrant), varargs...) +} + +// DeactivateProjectUserGrant mocks base method +func (m *MockManagementServiceClient) DeactivateProjectUserGrant(arg0 context.Context, arg1 *grpc.ProjectUserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateProjectUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateProjectUserGrant indicates an expected call of DeactivateProjectUserGrant +func (mr *MockManagementServiceClientMockRecorder) DeactivateProjectUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateProjectUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateProjectUserGrant), varargs...) +} + +// DeactivateUser mocks base method +func (m *MockManagementServiceClient) DeactivateUser(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.User, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateUser", varargs...) + ret0, _ := ret[0].(*grpc.User) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateUser indicates an expected call of DeactivateUser +func (mr *MockManagementServiceClientMockRecorder) DeactivateUser(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateUser", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateUser), varargs...) +} + +// DeactivateUserGrant mocks base method +func (m *MockManagementServiceClient) DeactivateUserGrant(arg0 context.Context, arg1 *grpc.UserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeactivateUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeactivateUserGrant indicates an expected call of DeactivateUserGrant +func (mr *MockManagementServiceClientMockRecorder) DeactivateUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeactivateUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).DeactivateUserGrant), varargs...) +} + +// DeletePasswordAgePolicy mocks base method +func (m *MockManagementServiceClient) DeletePasswordAgePolicy(arg0 context.Context, arg1 *grpc.PasswordAgePolicyID, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePasswordAgePolicy", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeletePasswordAgePolicy indicates an expected call of DeletePasswordAgePolicy +func (mr *MockManagementServiceClientMockRecorder) DeletePasswordAgePolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePasswordAgePolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).DeletePasswordAgePolicy), varargs...) +} + +// DeletePasswordComplexityPolicy mocks base method +func (m *MockManagementServiceClient) DeletePasswordComplexityPolicy(arg0 context.Context, arg1 *grpc.PasswordComplexityPolicyID, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePasswordComplexityPolicy", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeletePasswordComplexityPolicy indicates an expected call of DeletePasswordComplexityPolicy +func (mr *MockManagementServiceClientMockRecorder) DeletePasswordComplexityPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePasswordComplexityPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).DeletePasswordComplexityPolicy), varargs...) +} + +// DeletePasswordLockoutPolicy mocks base method +func (m *MockManagementServiceClient) DeletePasswordLockoutPolicy(arg0 context.Context, arg1 *grpc.PasswordLockoutPolicyID, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePasswordLockoutPolicy", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeletePasswordLockoutPolicy indicates an expected call of DeletePasswordLockoutPolicy +func (mr *MockManagementServiceClientMockRecorder) DeletePasswordLockoutPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePasswordLockoutPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).DeletePasswordLockoutPolicy), varargs...) +} + +// DeleteUser mocks base method +func (m *MockManagementServiceClient) DeleteUser(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteUser", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteUser indicates an expected call of DeleteUser +func (mr *MockManagementServiceClientMockRecorder) DeleteUser(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUser", reflect.TypeOf((*MockManagementServiceClient)(nil).DeleteUser), varargs...) +} + +// GetGrantedProjectGrantByID mocks base method +func (m *MockManagementServiceClient) GetGrantedProjectGrantByID(arg0 context.Context, arg1 *grpc.GrantedGrantID, arg2 ...grpc0.CallOption) (*grpc.ProjectGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetGrantedProjectGrantByID", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGrantedProjectGrantByID indicates an expected call of GetGrantedProjectGrantByID +func (mr *MockManagementServiceClientMockRecorder) GetGrantedProjectGrantByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGrantedProjectGrantByID", reflect.TypeOf((*MockManagementServiceClient)(nil).GetGrantedProjectGrantByID), varargs...) +} + +// GetOrgByDomainGlobal mocks base method +func (m *MockManagementServiceClient) GetOrgByDomainGlobal(arg0 context.Context, arg1 *grpc.OrgDomain, arg2 ...grpc0.CallOption) (*grpc.Org, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetOrgByDomainGlobal", varargs...) + ret0, _ := ret[0].(*grpc.Org) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetOrgByDomainGlobal indicates an expected call of GetOrgByDomainGlobal +func (mr *MockManagementServiceClientMockRecorder) GetOrgByDomainGlobal(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOrgByDomainGlobal", reflect.TypeOf((*MockManagementServiceClient)(nil).GetOrgByDomainGlobal), varargs...) +} + +// GetOrgByID mocks base method +func (m *MockManagementServiceClient) GetOrgByID(arg0 context.Context, arg1 *grpc.OrgID, arg2 ...grpc0.CallOption) (*grpc.Org, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetOrgByID", varargs...) + ret0, _ := ret[0].(*grpc.Org) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetOrgByID indicates an expected call of GetOrgByID +func (mr *MockManagementServiceClientMockRecorder) GetOrgByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOrgByID", reflect.TypeOf((*MockManagementServiceClient)(nil).GetOrgByID), varargs...) +} + +// GetOrgMemberRoles mocks base method +func (m *MockManagementServiceClient) GetOrgMemberRoles(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*grpc.OrgMemberRoles, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetOrgMemberRoles", varargs...) + ret0, _ := ret[0].(*grpc.OrgMemberRoles) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetOrgMemberRoles indicates an expected call of GetOrgMemberRoles +func (mr *MockManagementServiceClientMockRecorder) GetOrgMemberRoles(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOrgMemberRoles", reflect.TypeOf((*MockManagementServiceClient)(nil).GetOrgMemberRoles), varargs...) +} + +// GetPasswordAgePolicy mocks base method +func (m *MockManagementServiceClient) GetPasswordAgePolicy(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*grpc.PasswordAgePolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetPasswordAgePolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordAgePolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPasswordAgePolicy indicates an expected call of GetPasswordAgePolicy +func (mr *MockManagementServiceClientMockRecorder) GetPasswordAgePolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPasswordAgePolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).GetPasswordAgePolicy), varargs...) +} + +// GetPasswordComplexityPolicy mocks base method +func (m *MockManagementServiceClient) GetPasswordComplexityPolicy(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*grpc.PasswordComplexityPolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetPasswordComplexityPolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordComplexityPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPasswordComplexityPolicy indicates an expected call of GetPasswordComplexityPolicy +func (mr *MockManagementServiceClientMockRecorder) GetPasswordComplexityPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPasswordComplexityPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).GetPasswordComplexityPolicy), varargs...) +} + +// GetPasswordLockoutPolicy mocks base method +func (m *MockManagementServiceClient) GetPasswordLockoutPolicy(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*grpc.PasswordLockoutPolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetPasswordLockoutPolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordLockoutPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPasswordLockoutPolicy indicates an expected call of GetPasswordLockoutPolicy +func (mr *MockManagementServiceClientMockRecorder) GetPasswordLockoutPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPasswordLockoutPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).GetPasswordLockoutPolicy), varargs...) +} + +// GetProjectGrantMemberRoles mocks base method +func (m *MockManagementServiceClient) GetProjectGrantMemberRoles(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*grpc.ProjectGrantMemberRoles, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetProjectGrantMemberRoles", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrantMemberRoles) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetProjectGrantMemberRoles indicates an expected call of GetProjectGrantMemberRoles +func (mr *MockManagementServiceClientMockRecorder) GetProjectGrantMemberRoles(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProjectGrantMemberRoles", reflect.TypeOf((*MockManagementServiceClient)(nil).GetProjectGrantMemberRoles), varargs...) +} + +// GetProjectMemberRoles mocks base method +func (m *MockManagementServiceClient) GetProjectMemberRoles(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*grpc.ProjectMemberRoles, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetProjectMemberRoles", varargs...) + ret0, _ := ret[0].(*grpc.ProjectMemberRoles) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetProjectMemberRoles indicates an expected call of GetProjectMemberRoles +func (mr *MockManagementServiceClientMockRecorder) GetProjectMemberRoles(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProjectMemberRoles", reflect.TypeOf((*MockManagementServiceClient)(nil).GetProjectMemberRoles), varargs...) +} + +// GetUserAddress mocks base method +func (m *MockManagementServiceClient) GetUserAddress(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.UserAddress, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetUserAddress", varargs...) + ret0, _ := ret[0].(*grpc.UserAddress) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetUserAddress indicates an expected call of GetUserAddress +func (mr *MockManagementServiceClientMockRecorder) GetUserAddress(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserAddress", reflect.TypeOf((*MockManagementServiceClient)(nil).GetUserAddress), varargs...) +} + +// GetUserByEmailGlobal mocks base method +func (m *MockManagementServiceClient) GetUserByEmailGlobal(arg0 context.Context, arg1 *grpc.UserEmailID, arg2 ...grpc0.CallOption) (*grpc.User, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetUserByEmailGlobal", varargs...) + ret0, _ := ret[0].(*grpc.User) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetUserByEmailGlobal indicates an expected call of GetUserByEmailGlobal +func (mr *MockManagementServiceClientMockRecorder) GetUserByEmailGlobal(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserByEmailGlobal", reflect.TypeOf((*MockManagementServiceClient)(nil).GetUserByEmailGlobal), varargs...) +} + +// GetUserByID mocks base method +func (m *MockManagementServiceClient) GetUserByID(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.User, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetUserByID", varargs...) + ret0, _ := ret[0].(*grpc.User) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetUserByID indicates an expected call of GetUserByID +func (mr *MockManagementServiceClientMockRecorder) GetUserByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserByID", reflect.TypeOf((*MockManagementServiceClient)(nil).GetUserByID), varargs...) +} + +// GetUserEmail mocks base method +func (m *MockManagementServiceClient) GetUserEmail(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.UserEmail, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetUserEmail", varargs...) + ret0, _ := ret[0].(*grpc.UserEmail) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetUserEmail indicates an expected call of GetUserEmail +func (mr *MockManagementServiceClientMockRecorder) GetUserEmail(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserEmail", reflect.TypeOf((*MockManagementServiceClient)(nil).GetUserEmail), varargs...) +} + +// GetUserMfas mocks base method +func (m *MockManagementServiceClient) GetUserMfas(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.MultiFactors, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetUserMfas", varargs...) + ret0, _ := ret[0].(*grpc.MultiFactors) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetUserMfas indicates an expected call of GetUserMfas +func (mr *MockManagementServiceClientMockRecorder) GetUserMfas(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserMfas", reflect.TypeOf((*MockManagementServiceClient)(nil).GetUserMfas), varargs...) +} + +// GetUserPhone mocks base method +func (m *MockManagementServiceClient) GetUserPhone(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.UserPhone, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetUserPhone", varargs...) + ret0, _ := ret[0].(*grpc.UserPhone) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetUserPhone indicates an expected call of GetUserPhone +func (mr *MockManagementServiceClientMockRecorder) GetUserPhone(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserPhone", reflect.TypeOf((*MockManagementServiceClient)(nil).GetUserPhone), varargs...) +} + +// GetUserProfile mocks base method +func (m *MockManagementServiceClient) GetUserProfile(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.UserProfile, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetUserProfile", varargs...) + ret0, _ := ret[0].(*grpc.UserProfile) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetUserProfile indicates an expected call of GetUserProfile +func (mr *MockManagementServiceClientMockRecorder) GetUserProfile(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserProfile", reflect.TypeOf((*MockManagementServiceClient)(nil).GetUserProfile), varargs...) +} + +// Healthz mocks base method +func (m *MockManagementServiceClient) Healthz(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Healthz", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Healthz indicates an expected call of Healthz +func (mr *MockManagementServiceClientMockRecorder) Healthz(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Healthz", reflect.TypeOf((*MockManagementServiceClient)(nil).Healthz), varargs...) +} + +// IsUserUnique mocks base method +func (m *MockManagementServiceClient) IsUserUnique(arg0 context.Context, arg1 *grpc.UniqueUserRequest, arg2 ...grpc0.CallOption) (*grpc.UniqueUserResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "IsUserUnique", varargs...) + ret0, _ := ret[0].(*grpc.UniqueUserResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// IsUserUnique indicates an expected call of IsUserUnique +func (mr *MockManagementServiceClientMockRecorder) IsUserUnique(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsUserUnique", reflect.TypeOf((*MockManagementServiceClient)(nil).IsUserUnique), varargs...) +} + +// LockUser mocks base method +func (m *MockManagementServiceClient) LockUser(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.User, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "LockUser", varargs...) + ret0, _ := ret[0].(*grpc.User) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// LockUser indicates an expected call of LockUser +func (mr *MockManagementServiceClientMockRecorder) LockUser(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LockUser", reflect.TypeOf((*MockManagementServiceClient)(nil).LockUser), varargs...) +} + +// OrgChanges mocks base method +func (m *MockManagementServiceClient) OrgChanges(arg0 context.Context, arg1 *grpc.ChangeRequest, arg2 ...grpc0.CallOption) (*grpc.Changes, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "OrgChanges", varargs...) + ret0, _ := ret[0].(*grpc.Changes) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// OrgChanges indicates an expected call of OrgChanges +func (mr *MockManagementServiceClientMockRecorder) OrgChanges(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OrgChanges", reflect.TypeOf((*MockManagementServiceClient)(nil).OrgChanges), varargs...) +} + +// ProjectByID mocks base method +func (m *MockManagementServiceClient) ProjectByID(arg0 context.Context, arg1 *grpc.ProjectID, arg2 ...grpc0.CallOption) (*grpc.Project, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ProjectByID", varargs...) + ret0, _ := ret[0].(*grpc.Project) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ProjectByID indicates an expected call of ProjectByID +func (mr *MockManagementServiceClientMockRecorder) ProjectByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProjectByID", reflect.TypeOf((*MockManagementServiceClient)(nil).ProjectByID), varargs...) +} + +// ProjectChanges mocks base method +func (m *MockManagementServiceClient) ProjectChanges(arg0 context.Context, arg1 *grpc.ChangeRequest, arg2 ...grpc0.CallOption) (*grpc.Changes, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ProjectChanges", varargs...) + ret0, _ := ret[0].(*grpc.Changes) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ProjectChanges indicates an expected call of ProjectChanges +func (mr *MockManagementServiceClientMockRecorder) ProjectChanges(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProjectChanges", reflect.TypeOf((*MockManagementServiceClient)(nil).ProjectChanges), varargs...) +} + +// ProjectGrantByID mocks base method +func (m *MockManagementServiceClient) ProjectGrantByID(arg0 context.Context, arg1 *grpc.ProjectGrantID, arg2 ...grpc0.CallOption) (*grpc.ProjectGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ProjectGrantByID", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ProjectGrantByID indicates an expected call of ProjectGrantByID +func (mr *MockManagementServiceClientMockRecorder) ProjectGrantByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProjectGrantByID", reflect.TypeOf((*MockManagementServiceClient)(nil).ProjectGrantByID), varargs...) +} + +// ProjectGrantUserGrantByID mocks base method +func (m *MockManagementServiceClient) ProjectGrantUserGrantByID(arg0 context.Context, arg1 *grpc.ProjectGrantUserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ProjectGrantUserGrantByID", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ProjectGrantUserGrantByID indicates an expected call of ProjectGrantUserGrantByID +func (mr *MockManagementServiceClientMockRecorder) ProjectGrantUserGrantByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProjectGrantUserGrantByID", reflect.TypeOf((*MockManagementServiceClient)(nil).ProjectGrantUserGrantByID), varargs...) +} + +// ProjectUserGrantByID mocks base method +func (m *MockManagementServiceClient) ProjectUserGrantByID(arg0 context.Context, arg1 *grpc.ProjectUserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ProjectUserGrantByID", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ProjectUserGrantByID indicates an expected call of ProjectUserGrantByID +func (mr *MockManagementServiceClientMockRecorder) ProjectUserGrantByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProjectUserGrantByID", reflect.TypeOf((*MockManagementServiceClient)(nil).ProjectUserGrantByID), varargs...) +} + +// ReactivateApplication mocks base method +func (m *MockManagementServiceClient) ReactivateApplication(arg0 context.Context, arg1 *grpc.ApplicationID, arg2 ...grpc0.CallOption) (*grpc.Application, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateApplication", varargs...) + ret0, _ := ret[0].(*grpc.Application) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateApplication indicates an expected call of ReactivateApplication +func (mr *MockManagementServiceClientMockRecorder) ReactivateApplication(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateApplication", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateApplication), varargs...) +} + +// ReactivateOrg mocks base method +func (m *MockManagementServiceClient) ReactivateOrg(arg0 context.Context, arg1 *grpc.OrgID, arg2 ...grpc0.CallOption) (*grpc.Org, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateOrg", varargs...) + ret0, _ := ret[0].(*grpc.Org) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateOrg indicates an expected call of ReactivateOrg +func (mr *MockManagementServiceClientMockRecorder) ReactivateOrg(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateOrg", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateOrg), varargs...) +} + +// ReactivateProject mocks base method +func (m *MockManagementServiceClient) ReactivateProject(arg0 context.Context, arg1 *grpc.ProjectID, arg2 ...grpc0.CallOption) (*grpc.Project, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateProject", varargs...) + ret0, _ := ret[0].(*grpc.Project) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateProject indicates an expected call of ReactivateProject +func (mr *MockManagementServiceClientMockRecorder) ReactivateProject(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateProject", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateProject), varargs...) +} + +// ReactivateProjectGrant mocks base method +func (m *MockManagementServiceClient) ReactivateProjectGrant(arg0 context.Context, arg1 *grpc.ProjectGrantID, arg2 ...grpc0.CallOption) (*grpc.ProjectGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateProjectGrant", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateProjectGrant indicates an expected call of ReactivateProjectGrant +func (mr *MockManagementServiceClientMockRecorder) ReactivateProjectGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateProjectGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateProjectGrant), varargs...) +} + +// ReactivateProjectGrantUserGrant mocks base method +func (m *MockManagementServiceClient) ReactivateProjectGrantUserGrant(arg0 context.Context, arg1 *grpc.ProjectGrantUserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateProjectGrantUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateProjectGrantUserGrant indicates an expected call of ReactivateProjectGrantUserGrant +func (mr *MockManagementServiceClientMockRecorder) ReactivateProjectGrantUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateProjectGrantUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateProjectGrantUserGrant), varargs...) +} + +// ReactivateProjectUserGrant mocks base method +func (m *MockManagementServiceClient) ReactivateProjectUserGrant(arg0 context.Context, arg1 *grpc.ProjectUserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateProjectUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateProjectUserGrant indicates an expected call of ReactivateProjectUserGrant +func (mr *MockManagementServiceClientMockRecorder) ReactivateProjectUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateProjectUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateProjectUserGrant), varargs...) +} + +// ReactivateUser mocks base method +func (m *MockManagementServiceClient) ReactivateUser(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.User, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateUser", varargs...) + ret0, _ := ret[0].(*grpc.User) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateUser indicates an expected call of ReactivateUser +func (mr *MockManagementServiceClientMockRecorder) ReactivateUser(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateUser", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateUser), varargs...) +} + +// ReactivateUserGrant mocks base method +func (m *MockManagementServiceClient) ReactivateUserGrant(arg0 context.Context, arg1 *grpc.UserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ReactivateUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReactivateUserGrant indicates an expected call of ReactivateUserGrant +func (mr *MockManagementServiceClientMockRecorder) ReactivateUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReactivateUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).ReactivateUserGrant), varargs...) +} + +// Ready mocks base method +func (m *MockManagementServiceClient) Ready(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Ready", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Ready indicates an expected call of Ready +func (mr *MockManagementServiceClientMockRecorder) Ready(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Ready", reflect.TypeOf((*MockManagementServiceClient)(nil).Ready), varargs...) +} + +// RegenerateOIDCClientSecret mocks base method +func (m *MockManagementServiceClient) RegenerateOIDCClientSecret(arg0 context.Context, arg1 *grpc.ApplicationID, arg2 ...grpc0.CallOption) (*grpc.ClientSecret, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RegenerateOIDCClientSecret", varargs...) + ret0, _ := ret[0].(*grpc.ClientSecret) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RegenerateOIDCClientSecret indicates an expected call of RegenerateOIDCClientSecret +func (mr *MockManagementServiceClientMockRecorder) RegenerateOIDCClientSecret(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegenerateOIDCClientSecret", reflect.TypeOf((*MockManagementServiceClient)(nil).RegenerateOIDCClientSecret), varargs...) +} + +// RemoveOrgMember mocks base method +func (m *MockManagementServiceClient) RemoveOrgMember(arg0 context.Context, arg1 *grpc.RemoveOrgMemberRequest, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RemoveOrgMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveOrgMember indicates an expected call of RemoveOrgMember +func (mr *MockManagementServiceClientMockRecorder) RemoveOrgMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveOrgMember", reflect.TypeOf((*MockManagementServiceClient)(nil).RemoveOrgMember), varargs...) +} + +// RemoveProjectGrantMember mocks base method +func (m *MockManagementServiceClient) RemoveProjectGrantMember(arg0 context.Context, arg1 *grpc.ProjectGrantMemberRemove, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RemoveProjectGrantMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveProjectGrantMember indicates an expected call of RemoveProjectGrantMember +func (mr *MockManagementServiceClientMockRecorder) RemoveProjectGrantMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveProjectGrantMember", reflect.TypeOf((*MockManagementServiceClient)(nil).RemoveProjectGrantMember), varargs...) +} + +// RemoveProjectMember mocks base method +func (m *MockManagementServiceClient) RemoveProjectMember(arg0 context.Context, arg1 *grpc.ProjectMemberRemove, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RemoveProjectMember", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveProjectMember indicates an expected call of RemoveProjectMember +func (mr *MockManagementServiceClientMockRecorder) RemoveProjectMember(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveProjectMember", reflect.TypeOf((*MockManagementServiceClient)(nil).RemoveProjectMember), varargs...) +} + +// RemoveProjectRole mocks base method +func (m *MockManagementServiceClient) RemoveProjectRole(arg0 context.Context, arg1 *grpc.ProjectRoleRemove, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RemoveProjectRole", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveProjectRole indicates an expected call of RemoveProjectRole +func (mr *MockManagementServiceClientMockRecorder) RemoveProjectRole(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveProjectRole", reflect.TypeOf((*MockManagementServiceClient)(nil).RemoveProjectRole), varargs...) +} + +// ResendEmailVerificationMail mocks base method +func (m *MockManagementServiceClient) ResendEmailVerificationMail(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ResendEmailVerificationMail", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResendEmailVerificationMail indicates an expected call of ResendEmailVerificationMail +func (mr *MockManagementServiceClientMockRecorder) ResendEmailVerificationMail(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResendEmailVerificationMail", reflect.TypeOf((*MockManagementServiceClient)(nil).ResendEmailVerificationMail), varargs...) +} + +// ResendPhoneVerificationCode mocks base method +func (m *MockManagementServiceClient) ResendPhoneVerificationCode(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ResendPhoneVerificationCode", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResendPhoneVerificationCode indicates an expected call of ResendPhoneVerificationCode +func (mr *MockManagementServiceClientMockRecorder) ResendPhoneVerificationCode(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResendPhoneVerificationCode", reflect.TypeOf((*MockManagementServiceClient)(nil).ResendPhoneVerificationCode), varargs...) +} + +// SearchApplications mocks base method +func (m *MockManagementServiceClient) SearchApplications(arg0 context.Context, arg1 *grpc.ApplicationSearchRequest, arg2 ...grpc0.CallOption) (*grpc.ApplicationSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchApplications", varargs...) + ret0, _ := ret[0].(*grpc.ApplicationSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchApplications indicates an expected call of SearchApplications +func (mr *MockManagementServiceClientMockRecorder) SearchApplications(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchApplications", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchApplications), varargs...) +} + +// SearchAuthGrant mocks base method +func (m *MockManagementServiceClient) SearchAuthGrant(arg0 context.Context, arg1 *grpc.AuthGrantSearchRequest, arg2 ...grpc0.CallOption) (*grpc.AuthGrantSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchAuthGrant", varargs...) + ret0, _ := ret[0].(*grpc.AuthGrantSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchAuthGrant indicates an expected call of SearchAuthGrant +func (mr *MockManagementServiceClientMockRecorder) SearchAuthGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchAuthGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchAuthGrant), varargs...) +} + +// SearchOrgMembers mocks base method +func (m *MockManagementServiceClient) SearchOrgMembers(arg0 context.Context, arg1 *grpc.OrgMemberSearchRequest, arg2 ...grpc0.CallOption) (*grpc.OrgMemberSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchOrgMembers", varargs...) + ret0, _ := ret[0].(*grpc.OrgMemberSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchOrgMembers indicates an expected call of SearchOrgMembers +func (mr *MockManagementServiceClientMockRecorder) SearchOrgMembers(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchOrgMembers", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchOrgMembers), varargs...) +} + +// SearchProjectGrantMembers mocks base method +func (m *MockManagementServiceClient) SearchProjectGrantMembers(arg0 context.Context, arg1 *grpc.ProjectGrantMemberSearchRequest, arg2 ...grpc0.CallOption) (*grpc.ProjectGrantMemberSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchProjectGrantMembers", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrantMemberSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchProjectGrantMembers indicates an expected call of SearchProjectGrantMembers +func (mr *MockManagementServiceClientMockRecorder) SearchProjectGrantMembers(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchProjectGrantMembers", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchProjectGrantMembers), varargs...) +} + +// SearchProjectGrantUserGrants mocks base method +func (m *MockManagementServiceClient) SearchProjectGrantUserGrants(arg0 context.Context, arg1 *grpc.ProjectGrantUserGrantSearchRequest, arg2 ...grpc0.CallOption) (*grpc.UserGrantSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchProjectGrantUserGrants", varargs...) + ret0, _ := ret[0].(*grpc.UserGrantSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchProjectGrantUserGrants indicates an expected call of SearchProjectGrantUserGrants +func (mr *MockManagementServiceClientMockRecorder) SearchProjectGrantUserGrants(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchProjectGrantUserGrants", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchProjectGrantUserGrants), varargs...) +} + +// SearchProjectGrants mocks base method +func (m *MockManagementServiceClient) SearchProjectGrants(arg0 context.Context, arg1 *grpc.ProjectGrantSearchRequest, arg2 ...grpc0.CallOption) (*grpc.ProjectGrantSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchProjectGrants", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrantSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchProjectGrants indicates an expected call of SearchProjectGrants +func (mr *MockManagementServiceClientMockRecorder) SearchProjectGrants(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchProjectGrants", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchProjectGrants), varargs...) +} + +// SearchProjectMembers mocks base method +func (m *MockManagementServiceClient) SearchProjectMembers(arg0 context.Context, arg1 *grpc.ProjectMemberSearchRequest, arg2 ...grpc0.CallOption) (*grpc.ProjectMemberSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchProjectMembers", varargs...) + ret0, _ := ret[0].(*grpc.ProjectMemberSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchProjectMembers indicates an expected call of SearchProjectMembers +func (mr *MockManagementServiceClientMockRecorder) SearchProjectMembers(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchProjectMembers", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchProjectMembers), varargs...) +} + +// SearchProjectRoles mocks base method +func (m *MockManagementServiceClient) SearchProjectRoles(arg0 context.Context, arg1 *grpc.ProjectRoleSearchRequest, arg2 ...grpc0.CallOption) (*grpc.ProjectRoleSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchProjectRoles", varargs...) + ret0, _ := ret[0].(*grpc.ProjectRoleSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchProjectRoles indicates an expected call of SearchProjectRoles +func (mr *MockManagementServiceClientMockRecorder) SearchProjectRoles(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchProjectRoles", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchProjectRoles), varargs...) +} + +// SearchProjectUserGrants mocks base method +func (m *MockManagementServiceClient) SearchProjectUserGrants(arg0 context.Context, arg1 *grpc.ProjectUserGrantSearchRequest, arg2 ...grpc0.CallOption) (*grpc.UserGrantSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchProjectUserGrants", varargs...) + ret0, _ := ret[0].(*grpc.UserGrantSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchProjectUserGrants indicates an expected call of SearchProjectUserGrants +func (mr *MockManagementServiceClientMockRecorder) SearchProjectUserGrants(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchProjectUserGrants", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchProjectUserGrants), varargs...) +} + +// SearchProjects mocks base method +func (m *MockManagementServiceClient) SearchProjects(arg0 context.Context, arg1 *grpc.ProjectSearchRequest, arg2 ...grpc0.CallOption) (*grpc.ProjectSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchProjects", varargs...) + ret0, _ := ret[0].(*grpc.ProjectSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchProjects indicates an expected call of SearchProjects +func (mr *MockManagementServiceClientMockRecorder) SearchProjects(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchProjects", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchProjects), varargs...) +} + +// SearchUserGrants mocks base method +func (m *MockManagementServiceClient) SearchUserGrants(arg0 context.Context, arg1 *grpc.UserGrantSearchRequest, arg2 ...grpc0.CallOption) (*grpc.UserGrantSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchUserGrants", varargs...) + ret0, _ := ret[0].(*grpc.UserGrantSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchUserGrants indicates an expected call of SearchUserGrants +func (mr *MockManagementServiceClientMockRecorder) SearchUserGrants(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchUserGrants", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchUserGrants), varargs...) +} + +// SearchUsers mocks base method +func (m *MockManagementServiceClient) SearchUsers(arg0 context.Context, arg1 *grpc.UserSearchRequest, arg2 ...grpc0.CallOption) (*grpc.UserSearchResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SearchUsers", varargs...) + ret0, _ := ret[0].(*grpc.UserSearchResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SearchUsers indicates an expected call of SearchUsers +func (mr *MockManagementServiceClientMockRecorder) SearchUsers(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchUsers", reflect.TypeOf((*MockManagementServiceClient)(nil).SearchUsers), varargs...) +} + +// SendSetPasswordNotification mocks base method +func (m *MockManagementServiceClient) SendSetPasswordNotification(arg0 context.Context, arg1 *grpc.SetPasswordNotificationRequest, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SendSetPasswordNotification", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SendSetPasswordNotification indicates an expected call of SendSetPasswordNotification +func (mr *MockManagementServiceClientMockRecorder) SendSetPasswordNotification(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendSetPasswordNotification", reflect.TypeOf((*MockManagementServiceClient)(nil).SendSetPasswordNotification), varargs...) +} + +// SetInitialPassword mocks base method +func (m *MockManagementServiceClient) SetInitialPassword(arg0 context.Context, arg1 *grpc.PasswordRequest, arg2 ...grpc0.CallOption) (*emptypb.Empty, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SetInitialPassword", varargs...) + ret0, _ := ret[0].(*emptypb.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetInitialPassword indicates an expected call of SetInitialPassword +func (mr *MockManagementServiceClientMockRecorder) SetInitialPassword(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetInitialPassword", reflect.TypeOf((*MockManagementServiceClient)(nil).SetInitialPassword), varargs...) +} + +// UnlockUser mocks base method +func (m *MockManagementServiceClient) UnlockUser(arg0 context.Context, arg1 *grpc.UserID, arg2 ...grpc0.CallOption) (*grpc.User, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnlockUser", varargs...) + ret0, _ := ret[0].(*grpc.User) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnlockUser indicates an expected call of UnlockUser +func (mr *MockManagementServiceClientMockRecorder) UnlockUser(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnlockUser", reflect.TypeOf((*MockManagementServiceClient)(nil).UnlockUser), varargs...) +} + +// UpdateApplication mocks base method +func (m *MockManagementServiceClient) UpdateApplication(arg0 context.Context, arg1 *grpc.ApplicationUpdate, arg2 ...grpc0.CallOption) (*grpc.Application, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApplication", varargs...) + ret0, _ := ret[0].(*grpc.Application) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateApplication indicates an expected call of UpdateApplication +func (mr *MockManagementServiceClientMockRecorder) UpdateApplication(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApplication", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateApplication), varargs...) +} + +// UpdateApplicationOIDCConfig mocks base method +func (m *MockManagementServiceClient) UpdateApplicationOIDCConfig(arg0 context.Context, arg1 *grpc.OIDCConfigUpdate, arg2 ...grpc0.CallOption) (*grpc.OIDCConfig, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApplicationOIDCConfig", varargs...) + ret0, _ := ret[0].(*grpc.OIDCConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateApplicationOIDCConfig indicates an expected call of UpdateApplicationOIDCConfig +func (mr *MockManagementServiceClientMockRecorder) UpdateApplicationOIDCConfig(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApplicationOIDCConfig", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateApplicationOIDCConfig), varargs...) +} + +// UpdatePasswordAgePolicy mocks base method +func (m *MockManagementServiceClient) UpdatePasswordAgePolicy(arg0 context.Context, arg1 *grpc.PasswordAgePolicyUpdate, arg2 ...grpc0.CallOption) (*grpc.PasswordAgePolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePasswordAgePolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordAgePolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdatePasswordAgePolicy indicates an expected call of UpdatePasswordAgePolicy +func (mr *MockManagementServiceClientMockRecorder) UpdatePasswordAgePolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePasswordAgePolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdatePasswordAgePolicy), varargs...) +} + +// UpdatePasswordComplexityPolicy mocks base method +func (m *MockManagementServiceClient) UpdatePasswordComplexityPolicy(arg0 context.Context, arg1 *grpc.PasswordComplexityPolicyUpdate, arg2 ...grpc0.CallOption) (*grpc.PasswordComplexityPolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePasswordComplexityPolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordComplexityPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdatePasswordComplexityPolicy indicates an expected call of UpdatePasswordComplexityPolicy +func (mr *MockManagementServiceClientMockRecorder) UpdatePasswordComplexityPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePasswordComplexityPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdatePasswordComplexityPolicy), varargs...) +} + +// UpdatePasswordLockoutPolicy mocks base method +func (m *MockManagementServiceClient) UpdatePasswordLockoutPolicy(arg0 context.Context, arg1 *grpc.PasswordLockoutPolicyUpdate, arg2 ...grpc0.CallOption) (*grpc.PasswordLockoutPolicy, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePasswordLockoutPolicy", varargs...) + ret0, _ := ret[0].(*grpc.PasswordLockoutPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdatePasswordLockoutPolicy indicates an expected call of UpdatePasswordLockoutPolicy +func (mr *MockManagementServiceClientMockRecorder) UpdatePasswordLockoutPolicy(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePasswordLockoutPolicy", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdatePasswordLockoutPolicy), varargs...) +} + +// UpdateProject mocks base method +func (m *MockManagementServiceClient) UpdateProject(arg0 context.Context, arg1 *grpc.ProjectUpdateRequest, arg2 ...grpc0.CallOption) (*grpc.Project, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProject", varargs...) + ret0, _ := ret[0].(*grpc.Project) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateProject indicates an expected call of UpdateProject +func (mr *MockManagementServiceClientMockRecorder) UpdateProject(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProject", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateProject), varargs...) +} + +// UpdateProjectGrant mocks base method +func (m *MockManagementServiceClient) UpdateProjectGrant(arg0 context.Context, arg1 *grpc.ProjectGrantUpdate, arg2 ...grpc0.CallOption) (*grpc.ProjectGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProjectGrant", varargs...) + ret0, _ := ret[0].(*grpc.ProjectGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateProjectGrant indicates an expected call of UpdateProjectGrant +func (mr *MockManagementServiceClientMockRecorder) UpdateProjectGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProjectGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateProjectGrant), varargs...) +} + +// UpdateProjectGrantUserGrant mocks base method +func (m *MockManagementServiceClient) UpdateProjectGrantUserGrant(arg0 context.Context, arg1 *grpc.ProjectGrantUserGrantUpdate, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProjectGrantUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateProjectGrantUserGrant indicates an expected call of UpdateProjectGrantUserGrant +func (mr *MockManagementServiceClientMockRecorder) UpdateProjectGrantUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProjectGrantUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateProjectGrantUserGrant), varargs...) +} + +// UpdateProjectUserGrant mocks base method +func (m *MockManagementServiceClient) UpdateProjectUserGrant(arg0 context.Context, arg1 *grpc.ProjectUserGrantUpdate, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProjectUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateProjectUserGrant indicates an expected call of UpdateProjectUserGrant +func (mr *MockManagementServiceClientMockRecorder) UpdateProjectUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProjectUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateProjectUserGrant), varargs...) +} + +// UpdateUserAddress mocks base method +func (m *MockManagementServiceClient) UpdateUserAddress(arg0 context.Context, arg1 *grpc.UpdateUserAddressRequest, arg2 ...grpc0.CallOption) (*grpc.UserAddress, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateUserAddress", varargs...) + ret0, _ := ret[0].(*grpc.UserAddress) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateUserAddress indicates an expected call of UpdateUserAddress +func (mr *MockManagementServiceClientMockRecorder) UpdateUserAddress(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUserAddress", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateUserAddress), varargs...) +} + +// UpdateUserGrant mocks base method +func (m *MockManagementServiceClient) UpdateUserGrant(arg0 context.Context, arg1 *grpc.UserGrantUpdate, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateUserGrant", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateUserGrant indicates an expected call of UpdateUserGrant +func (mr *MockManagementServiceClientMockRecorder) UpdateUserGrant(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUserGrant", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateUserGrant), varargs...) +} + +// UpdateUserProfile mocks base method +func (m *MockManagementServiceClient) UpdateUserProfile(arg0 context.Context, arg1 *grpc.UpdateUserProfileRequest, arg2 ...grpc0.CallOption) (*grpc.UserProfile, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateUserProfile", varargs...) + ret0, _ := ret[0].(*grpc.UserProfile) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateUserProfile indicates an expected call of UpdateUserProfile +func (mr *MockManagementServiceClientMockRecorder) UpdateUserProfile(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUserProfile", reflect.TypeOf((*MockManagementServiceClient)(nil).UpdateUserProfile), varargs...) +} + +// UserChanges mocks base method +func (m *MockManagementServiceClient) UserChanges(arg0 context.Context, arg1 *grpc.ChangeRequest, arg2 ...grpc0.CallOption) (*grpc.Changes, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UserChanges", varargs...) + ret0, _ := ret[0].(*grpc.Changes) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UserChanges indicates an expected call of UserChanges +func (mr *MockManagementServiceClientMockRecorder) UserChanges(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UserChanges", reflect.TypeOf((*MockManagementServiceClient)(nil).UserChanges), varargs...) +} + +// UserGrantByID mocks base method +func (m *MockManagementServiceClient) UserGrantByID(arg0 context.Context, arg1 *grpc.UserGrantID, arg2 ...grpc0.CallOption) (*grpc.UserGrant, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UserGrantByID", varargs...) + ret0, _ := ret[0].(*grpc.UserGrant) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UserGrantByID indicates an expected call of UserGrantByID +func (mr *MockManagementServiceClientMockRecorder) UserGrantByID(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UserGrantByID", reflect.TypeOf((*MockManagementServiceClient)(nil).UserGrantByID), varargs...) +} + +// Validate mocks base method +func (m *MockManagementServiceClient) Validate(arg0 context.Context, arg1 *emptypb.Empty, arg2 ...grpc0.CallOption) (*structpb.Struct, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Validate", varargs...) + ret0, _ := ret[0].(*structpb.Struct) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Validate indicates an expected call of Validate +func (mr *MockManagementServiceClientMockRecorder) Validate(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Validate", reflect.TypeOf((*MockManagementServiceClient)(nil).Validate), varargs...) +} diff --git a/pkg/management/api/proto/management.proto b/pkg/management/api/proto/management.proto index 8fe7c857e..12464e0b0 100644 --- a/pkg/management/api/proto/management.proto +++ b/pkg/management/api/proto/management.proto @@ -1196,7 +1196,7 @@ message Change { google.protobuf.Timestamp change_date = 1; string event_type = 2; uint64 sequence = 3; - string modifier = 4; + string editor = 4; google.protobuf.Struct data = 5; }